DNC
Bulk import DNC list
Bulk import up to 10,000 DNC entries at once. Existing entries (by email) are
automatically skipped. Emails are lowercased. Uses insertMany for efficient bulk insert.
Default reason is import.
curl -X POST "https://api.sendkit.ai/v1/dnc/import" \
-H "Content-Type: application/json" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"entries": [
{
"email": "bounce1@example.com",
"type": "email",
"reason": "bounce"
},
{
"email": "bounce2@example.com",
"type": "email",
"reason": "bounce"
},
{
"email": "badcompany.com",
"type": "domain",
"reason": "manual"
}
]
}'
import requests
import json
url = "https://api.sendkit.ai/v1/dnc/import"
headers = {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"entries": [
{
"email": "bounce1@example.com",
"type": "email",
"reason": "bounce"
},
{
"email": "bounce2@example.com",
"type": "email",
"reason": "bounce"
},
{
"email": "badcompany.com",
"type": "domain",
"reason": "manual"
}
]
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://api.sendkit.ai/v1/dnc/import", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": "YOUR_API_KEY",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"entries": [
{
"email": "bounce1@example.com",
"type": "email",
"reason": "bounce"
},
{
"email": "bounce2@example.com",
"type": "email",
"reason": "bounce"
},
{
"email": "badcompany.com",
"type": "domain",
"reason": "manual"
}
]
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"entries": [
{
"email": "bounce1@example.com",
"type": "email",
"reason": "bounce"
},
{
"email": "bounce2@example.com",
"type": "email",
"reason": "bounce"
},
{
"email": "badcompany.com",
"type": "domain",
"reason": "manual"
}
]
}`)
req, err := http.NewRequest("POST", "https://api.sendkit.ai/v1/dnc/import", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("X-Api-Key", "YOUR_API_KEY")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
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/dnc/import')
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['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"entries": [
{
"email": "bounce1@example.com",
"type": "email",
"reason": "bounce"
},
{
"email": "bounce2@example.com",
"type": "email",
"reason": "bounce"
},
{
"email": "badcompany.com",
"type": "domain",
"reason": "manual"
}
]
}'
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"imported": 245,
"skipped": 12
}
}
POST
/v1/dnc/import
POST
API Key (header: X-Api-Key)
X-Api-Keystring
RequiredPlatform API key (sk_user_...) or Workspace API key (sk_...)
Platform API key (sk_user_...) or Workspace API key (sk_...)
Content-Typestring
RequiredThe media type of the request body
Options: application/json
entriesarray
RequiredList of DNC entries to import (max 10,000)
Request Preview
Response
Response will appear here after sending the request
Authentication
header
X-Api-Keystring
RequiredAPI Key for authentication. Platform API key (sk_user_...) or Workspace API key (sk_...)
header
Authorizationstring
RequiredBearer token. API key as Bearer token
Body
application/json
entriesarray
RequiredList of DNC entries to import (max 10,000)
Responses
Was this page helpful?
Last updated today
Built with Documentation.AI