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" \
-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"
}
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"
},
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")
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.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
}
}
/v1/dnc/import
Target server for requests. Edit to use your own host.
Platform API key (sk_user_...) or Workspace API key (sk_...)
The media type of the request body
List of DNC entries to import (max 10,000)
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
List of DNC entries to import (max 10,000)