Create inbox placement test
Creates a new inbox placement test. Sends emails from your sender mailboxes to seed accounts and monitors where they land (inbox, spam, promotions, etc.). Optionally specify mailboxTypes to control which seed account categories are used (defaults to all 4 types, 5 receivers per type). Optionally provide customSubject and customBody together for custom email copy, otherwise a random template is used. Max 500 sender mailboxes per test. Subject to monthly FUP limits based on subscription.
curl -X POST "https://api.sendkit.ai/v1/inbox-placement" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY" \
-d '{
"name": "Weekly Deliverability Check",
"mailboxIds": [
"664a1b2c3d4e5f6a7b8c9d03",
"664a1b2c3d4e5f6a7b8c9d04"
],
"mailboxTypes": [
"personal_gmail",
"business_outlook"
],
"customSubject": "Quick question about your team",
"customBody": "Hi there, I wanted to reach out about..."
}'
import requests
import json
url = "https://api.sendkit.ai/v1/inbox-placement"
headers = {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY"
}
data = {
"name": "Weekly Deliverability Check",
"mailboxIds": [
"664a1b2c3d4e5f6a7b8c9d03",
"664a1b2c3d4e5f6a7b8c9d04"
],
"mailboxTypes": [
"personal_gmail",
"business_outlook"
],
"customSubject": "Quick question about your team",
"customBody": "Hi there, I wanted to reach out about..."
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.sendkit.ai/v1/inbox-placement", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY"
},
body: JSON.stringify({
"name": "Weekly Deliverability Check",
"mailboxIds": [
"664a1b2c3d4e5f6a7b8c9d03",
"664a1b2c3d4e5f6a7b8c9d04"
],
"mailboxTypes": [
"personal_gmail",
"business_outlook"
],
"customSubject": "Quick question about your team",
"customBody": "Hi there, I wanted to reach out about..."
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"name": "Weekly Deliverability Check",
"mailboxIds": [
"664a1b2c3d4e5f6a7b8c9d03",
"664a1b2c3d4e5f6a7b8c9d04"
],
"mailboxTypes": [
"personal_gmail",
"business_outlook"
],
"customSubject": "Quick question about your team",
"customBody": "Hi there, I wanted to reach out about..."
}`)
req, err := http.NewRequest("POST", "https://api.sendkit.ai/v1/inbox-placement", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-Api-Key", "YOUR_API_KEY")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://api.sendkit.ai/v1/inbox-placement')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request['X-Api-Key'] = 'YOUR_API_KEY'
request.body = '{
"name": "Weekly Deliverability Check",
"mailboxIds": [
"664a1b2c3d4e5f6a7b8c9d03",
"664a1b2c3d4e5f6a7b8c9d04"
],
"mailboxTypes": [
"personal_gmail",
"business_outlook"
],
"customSubject": "Quick question about your team",
"customBody": "Hi there, I wanted to reach out about..."
}'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"id": "664a1b2c3d4e5f6a7b8c9d42",
"testCode": "IPT-1717200000000-A1B2C3D",
"status": "pending",
"testName": "Weekly Deliverability Check",
"receiverMailboxes": [
{
"email": "seed1@gmail.com",
"mailboxType": "personal_gmail"
},
{
"email": "seed2@outlook.com",
"mailboxType": "personal_outlook"
}
]
}
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Forbidden",
"message": "You don't have permission to access this resource",
"code": 403
}
/v1/inbox-placement
Platform API key (sk_user_...) or Workspace API key (sk_...)
The media type of the request body
Test name (optional, defaults to "Test date")
Sender mailbox IDs to test
Receiver mailbox types to test against (defaults to all 4 types). Allowed values:
- personal_gmail — Personal Gmail accounts
- personal_outlook — Personal Outlook/Hotmail accounts
- business_gmail — Google Workspace (business) accounts
- business_outlook — Microsoft 365 (business) accounts
Custom email subject (must provide customBody too)
Custom email body (must provide customSubject too)
Request Preview
Response
Response will appear here after sending the request
Authentication
API Key for authentication. Platform API key (sk_user_...) or Workspace API key (sk_...)
Body
Test name (optional, defaults to "Test date")
Sender mailbox IDs to test
Receiver mailbox types to test against (defaults to all 4 types). Allowed values:
personal_gmail— Personal Gmail accountspersonal_outlook— Personal Outlook/Hotmail accountsbusiness_gmail— Google Workspace (business) accountsbusiness_outlook— Microsoft 365 (business) accounts
Custom email subject (must provide customBody too)
Custom email body (must provide customSubject too)
Responses
Test ID
Unique test code (e.g. IPT-1717200000000-A1B2C3D)
pendingSeed accounts selected for this test
personal_gmailpersonal_outlookbusiness_gmailbusiness_outlookfalseLast updated 4 days ago
Built with Documentation.AI