Contact Lists
Bulk Add Contacts to List
Add multiple contacts to a contact list in a single request using the AutoSend API.
POST
/
contact-lists
/
contacts
/
bulk-add
curl --request POST \
--url https://api.autosend.com/v1/contact-lists/contacts/bulk-add \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"contactListId": "60d5ec49f1b2c72d9c8b4567",
"emails": [
"[email protected]",
"[email protected]",
"[email protected]"
]
}'
import requests
url = "https://api.autosend.com/v1/contact-lists/contacts/bulk-add"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"contactListId": "60d5ec49f1b2c72d9c8b4567",
"emails": [
"[email protected]",
"[email protected]",
"[email protected]"
]
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
fetch('https://api.autosend.com/v1/contact-lists/contacts/bulk-add', {
method: 'POST',
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
contactListId: '60d5ec49f1b2c72d9c8b4567',
emails: [
'[email protected]',
'[email protected]',
'[email protected]'
]
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
<?php
$url = 'https://api.autosend.com/v1/contact-lists/contacts/bulk-add';
$data = [
'contactListId' => '60d5ec49f1b2c72d9c8b4567',
'emails' => [
'[email protected]',
'[email protected]',
'[email protected]'
]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer <token>',
'Content-Type: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.autosend.com/v1/contact-lists/contacts/bulk-add"
payload := map[string]interface{}{
"contactListId": "60d5ec49f1b2c72d9c8b4567",
"emails": []string{
"[email protected]",
"[email protected]",
"[email protected]",
},
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
public class BulkAddContacts {
public static void main(String[] args) {
try {
URL url = new URL("https://api.autosend.com/v1/contact-lists/contacts/bulk-add");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Authorization", "Bearer <token>");
con.setRequestProperty("Content-Type", "application/json");
con.setDoOutput(true);
String jsonInputString = "{\n" +
" \"contactListId\": \"60d5ec49f1b2c72d9c8b4567\",\n" +
" \"emails\": [\n" +
" \"[email protected]\",\n" +
" \"[email protected]\",\n" +
" \"[email protected]\"\n" +
" ]\n" +
"}";
try (OutputStream os = con.getOutputStream()) {
byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8);
os.write(input, 0, input.length);
}
int status = con.getResponseCode();
System.out.println("Response Status: " + status);
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://api.autosend.com/v1/contact-lists/contacts/bulk-add')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = {
contactListId: '60d5ec49f1b2c72d9c8b4567',
emails: [
'[email protected]',
'[email protected]',
'[email protected]'
]
}.to_json
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"added": 2,
"created": 1,
"alreadyInList": 0,
"errors": [],
"validation": {
"valid": [
{ "email": "[email protected]", "status": "valid" },
{ "email": "[email protected]", "status": "valid" },
{ "email": "[email protected]", "status": "valid" }
],
"invalid": [],
"suppressed": []
},
"totalContactsInList": 343,
"contacts": [
{
"id": "6a27dd38aa5fe8d43df734d4",
"email": "[email protected]",
"updatedAt": "2026-06-09T09:30:32.172Z",
"createdAt": "2026-06-09T09:30:32.172Z",
"projectId": "6a045963cbaa3dd6f0f7da61",
"listIds": ["60d5ec49f1b2c72d9c8b4567"],
"segmentIds": []
},
{
"id": "6a27dd38aa5fe8d43df734d5",
"email": "[email protected]",
"updatedAt": "2026-06-09T09:30:32.172Z",
"createdAt": "2026-06-09T09:30:32.172Z",
"projectId": "6a045963cbaa3dd6f0f7da61",
"listIds": ["60d5ec49f1b2c72d9c8b4567"],
"segmentIds": []
},
{
"id": "6a27dd38aa5fe8d43df734d6",
"email": "[email protected]",
"updatedAt": "2026-06-09T09:30:32.172Z",
"createdAt": "2026-06-09T09:30:32.172Z",
"projectId": "6a045963cbaa3dd6f0f7da61",
"listIds": ["60d5ec49f1b2c72d9c8b4567"],
"segmentIds": []
}
]
}
}
curl --request POST \
--url https://api.autosend.com/v1/contact-lists/contacts/bulk-add \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"contactListId": "60d5ec49f1b2c72d9c8b4567",
"emails": [
"[email protected]",
"[email protected]",
"[email protected]"
]
}'
import requests
url = "https://api.autosend.com/v1/contact-lists/contacts/bulk-add"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"contactListId": "60d5ec49f1b2c72d9c8b4567",
"emails": [
"[email protected]",
"[email protected]",
"[email protected]"
]
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
fetch('https://api.autosend.com/v1/contact-lists/contacts/bulk-add', {
method: 'POST',
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
contactListId: '60d5ec49f1b2c72d9c8b4567',
emails: [
'[email protected]',
'[email protected]',
'[email protected]'
]
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
<?php
$url = 'https://api.autosend.com/v1/contact-lists/contacts/bulk-add';
$data = [
'contactListId' => '60d5ec49f1b2c72d9c8b4567',
'emails' => [
'[email protected]',
'[email protected]',
'[email protected]'
]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer <token>',
'Content-Type: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.autosend.com/v1/contact-lists/contacts/bulk-add"
payload := map[string]interface{}{
"contactListId": "60d5ec49f1b2c72d9c8b4567",
"emails": []string{
"[email protected]",
"[email protected]",
"[email protected]",
},
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
public class BulkAddContacts {
public static void main(String[] args) {
try {
URL url = new URL("https://api.autosend.com/v1/contact-lists/contacts/bulk-add");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Authorization", "Bearer <token>");
con.setRequestProperty("Content-Type", "application/json");
con.setDoOutput(true);
String jsonInputString = "{\n" +
" \"contactListId\": \"60d5ec49f1b2c72d9c8b4567\",\n" +
" \"emails\": [\n" +
" \"[email protected]\",\n" +
" \"[email protected]\",\n" +
" \"[email protected]\"\n" +
" ]\n" +
"}";
try (OutputStream os = con.getOutputStream()) {
byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8);
os.write(input, 0, input.length);
}
int status = con.getResponseCode();
System.out.println("Response Status: " + status);
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://api.autosend.com/v1/contact-lists/contacts/bulk-add')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = {
contactListId: '60d5ec49f1b2c72d9c8b4567',
emails: [
'[email protected]',
'[email protected]',
'[email protected]'
]
}.to_json
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"added": 2,
"created": 1,
"alreadyInList": 0,
"errors": [],
"validation": {
"valid": [
{ "email": "[email protected]", "status": "valid" },
{ "email": "[email protected]", "status": "valid" },
{ "email": "[email protected]", "status": "valid" }
],
"invalid": [],
"suppressed": []
},
"totalContactsInList": 343,
"contacts": [
{
"id": "6a27dd38aa5fe8d43df734d4",
"email": "[email protected]",
"updatedAt": "2026-06-09T09:30:32.172Z",
"createdAt": "2026-06-09T09:30:32.172Z",
"projectId": "6a045963cbaa3dd6f0f7da61",
"listIds": ["60d5ec49f1b2c72d9c8b4567"],
"segmentIds": []
},
{
"id": "6a27dd38aa5fe8d43df734d5",
"email": "[email protected]",
"updatedAt": "2026-06-09T09:30:32.172Z",
"createdAt": "2026-06-09T09:30:32.172Z",
"projectId": "6a045963cbaa3dd6f0f7da61",
"listIds": ["60d5ec49f1b2c72d9c8b4567"],
"segmentIds": []
},
{
"id": "6a27dd38aa5fe8d43df734d6",
"email": "[email protected]",
"updatedAt": "2026-06-09T09:30:32.172Z",
"createdAt": "2026-06-09T09:30:32.172Z",
"projectId": "6a045963cbaa3dd6f0f7da61",
"listIds": ["60d5ec49f1b2c72d9c8b4567"],
"segmentIds": []
}
]
}
}
Authorizations
Bearer authentication header of the form Bearer
<token>, where <token> is your auth token.Body
Add contacts to a list by email addresses or contact IDs. Provide eitheremails or contactIds, not both.
The ID of the contact list to add contacts to.Example:
"60d5ec49f1b2c72d9c8b4567"Array of email addresses to add to the list. New contacts will be created for emails that don’t already exist.Example:
Maximum 500 emails per request. Provide either
emails or contactIds, not both.Array of existing contact IDs to add to the list.Example:
Maximum 500 contact IDs per request. Provide either
emails or contactIds, not both.["60d5ec49f1b2c72d9c8b1111", "60d5ec49f1b2c72d9c8b2222"]
Response
Contacts added to listIndicates if the request was successfulExample:
trueShow child attributes
Show child attributes
Number of existing contacts added to the listExample:
2Number of new contacts created and added to the listExample:
1Number of contacts that were already in the listExample:
0Email validation results
Show child attributes
Show child attributes
Emails that were suppressed
Total number of contacts now in the listExample:
343Array of contact objects that were added or created
Show child attributes
Show child attributes
Unique identifier for the contact
Email address of the contact
ISO 8601 timestamp when the contact was created
ISO 8601 timestamp when the contact was last updated
ID of the project the contact belongs to
IDs of contact lists the contact belongs to
IDs of segments the contact belongs to
Was this page helpful?
⌘I
curl --request POST \
--url https://api.autosend.com/v1/contact-lists/contacts/bulk-add \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"contactListId": "60d5ec49f1b2c72d9c8b4567",
"emails": [
"[email protected]",
"[email protected]",
"[email protected]"
]
}'
import requests
url = "https://api.autosend.com/v1/contact-lists/contacts/bulk-add"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"contactListId": "60d5ec49f1b2c72d9c8b4567",
"emails": [
"[email protected]",
"[email protected]",
"[email protected]"
]
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
fetch('https://api.autosend.com/v1/contact-lists/contacts/bulk-add', {
method: 'POST',
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
contactListId: '60d5ec49f1b2c72d9c8b4567',
emails: [
'[email protected]',
'[email protected]',
'[email protected]'
]
})
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
<?php
$url = 'https://api.autosend.com/v1/contact-lists/contacts/bulk-add';
$data = [
'contactListId' => '60d5ec49f1b2c72d9c8b4567',
'emails' => [
'[email protected]',
'[email protected]',
'[email protected]'
]
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer <token>',
'Content-Type: application/json'
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
package main
import (
"bytes"
"encoding/json"
"fmt"
"net/http"
)
func main() {
url := "https://api.autosend.com/v1/contact-lists/contacts/bulk-add"
payload := map[string]interface{}{
"contactListId": "60d5ec49f1b2c72d9c8b4567",
"emails": []string{
"[email protected]",
"[email protected]",
"[email protected]",
},
}
jsonData, _ := json.Marshal(payload)
req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
req.Header.Set("Authorization", "Bearer <token>")
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error:", err)
return
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
public class BulkAddContacts {
public static void main(String[] args) {
try {
URL url = new URL("https://api.autosend.com/v1/contact-lists/contacts/bulk-add");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Authorization", "Bearer <token>");
con.setRequestProperty("Content-Type", "application/json");
con.setDoOutput(true);
String jsonInputString = "{\n" +
" \"contactListId\": \"60d5ec49f1b2c72d9c8b4567\",\n" +
" \"emails\": [\n" +
" \"[email protected]\",\n" +
" \"[email protected]\",\n" +
" \"[email protected]\"\n" +
" ]\n" +
"}";
try (OutputStream os = con.getOutputStream()) {
byte[] input = jsonInputString.getBytes(StandardCharsets.UTF_8);
os.write(input, 0, input.length);
}
int status = con.getResponseCode();
System.out.println("Response Status: " + status);
} catch (Exception e) {
e.printStackTrace();
}
}
}
require 'net/http'
require 'json'
require 'uri'
uri = URI('https://api.autosend.com/v1/contact-lists/contacts/bulk-add')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.path)
request['Authorization'] = 'Bearer <token>'
request['Content-Type'] = 'application/json'
request.body = {
contactListId: '60d5ec49f1b2c72d9c8b4567',
emails: [
'[email protected]',
'[email protected]',
'[email protected]'
]
}.to_json
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"added": 2,
"created": 1,
"alreadyInList": 0,
"errors": [],
"validation": {
"valid": [
{ "email": "[email protected]", "status": "valid" },
{ "email": "[email protected]", "status": "valid" },
{ "email": "[email protected]", "status": "valid" }
],
"invalid": [],
"suppressed": []
},
"totalContactsInList": 343,
"contacts": [
{
"id": "6a27dd38aa5fe8d43df734d4",
"email": "[email protected]",
"updatedAt": "2026-06-09T09:30:32.172Z",
"createdAt": "2026-06-09T09:30:32.172Z",
"projectId": "6a045963cbaa3dd6f0f7da61",
"listIds": ["60d5ec49f1b2c72d9c8b4567"],
"segmentIds": []
},
{
"id": "6a27dd38aa5fe8d43df734d5",
"email": "[email protected]",
"updatedAt": "2026-06-09T09:30:32.172Z",
"createdAt": "2026-06-09T09:30:32.172Z",
"projectId": "6a045963cbaa3dd6f0f7da61",
"listIds": ["60d5ec49f1b2c72d9c8b4567"],
"segmentIds": []
},
{
"id": "6a27dd38aa5fe8d43df734d6",
"email": "[email protected]",
"updatedAt": "2026-06-09T09:30:32.172Z",
"createdAt": "2026-06-09T09:30:32.172Z",
"projectId": "6a045963cbaa3dd6f0f7da61",
"listIds": ["60d5ec49f1b2c72d9c8b4567"],
"segmentIds": []
}
]
}
}