Add Contacts to a Sequence
curl --request POST \
--url https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true
}Emailer Campaigns
Add Contacts to a Sequence
Add contacts to an email sequence.
POST
https://api.aisa.one
/
apis
/
v1
/
apollo
/
emailer_campaigns
/
{sequence_id}
/
add_contact_ids
Add Contacts to a Sequence
curl --request POST \
--url https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aisa.one/apis/v1/apollo/emailer_campaigns/{sequence_id}/add_contact_ids")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true
}Add contacts to an email sequence. ⚠️ This is the endpoint that causes real email to be sent: once added to an active sequence, contacts start receiving its steps from the workspace’s connected mailboxes. Get the sequence id from
Set this endpoint up in your agent →
post_apollo_emailer_campaigns_search and confirm its state before adding anyone. Writes land in the AIsa workspace, which every caller shares: the record becomes visible and editable by others, and there is no per-caller isolation. Sending cannot be recalled once a step goes out.
First time? Point any MCP client at
https://mcp.aisa.one/mcp — Claude
Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client
opens a browser, you click Allow once, and there is no key to paste. The
commands per client, and what each call costs, are on
aisa.one/mcp.Cost and request rules
Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.- Default request reference estimate (USD): 0.012
- Cost contract: fixed_success
- Settlement evidence source: request_snapshot
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Sequence (emailer campaign) ID.
Query Parameters
Contact IDs to add. Provide either contact_ids[] or label_names[] (or both).
Sequence ID (same as sequence_id).
Label names for contacts to add. Provide either label_names[] or contact_ids[] (or both).
Email account ID (or IDs) to send from.
Optional from-address alias.
Allow contacts active in other sequences.
Allow contacts finished in other sequences.
Allow contacts with job change.
Allow contacts without email.
Allow contacts with unverified email.
Response
Successful response
Whether the add succeeded (when returned).