curl --request POST \
--url https://api.salessequencer.com/api/v1/testing/send \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"body": "<string>",
"mailbox_id": 123,
"subject": "<string>",
"to_address": "<string>"
}
'import requests
url = "https://api.salessequencer.com/api/v1/testing/send"
payload = {
"body": "<string>",
"mailbox_id": 123,
"subject": "<string>",
"to_address": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
body: JSON.stringify('<string>'),
mailbox_id: 123,
subject: '<string>',
to_address: '<string>'
})
};
fetch('https://api.salessequencer.com/api/v1/testing/send', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Send test emails
Saves the workspace test template (sender name, subject, body, recipients, mailbox), then sends REAL emails from the chosen active mailbox via Gmail. Spintax is applied per recipient and is replaced with the From name. Recipients are split on comma, semicolon, whitespace, de-duplicated, capped at 100. One recipient is sent synchronously and the result returned; several are queued in a background thread and results show under ‘recent’ in GET /testing. Refusals (400 JSON, ok false): no valid recipient, blank subject, blank body, mailbox missing, not in the workspace or not active. Note the template is saved before validation, even if the send is refused.
Minimum role: edit (x-min-role). Destructive: true (x-destructive).
curl --request POST \
--url https://api.salessequencer.com/api/v1/testing/send \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"body": "<string>",
"mailbox_id": 123,
"subject": "<string>",
"to_address": "<string>"
}
'import requests
url = "https://api.salessequencer.com/api/v1/testing/send"
payload = {
"body": "<string>",
"mailbox_id": 123,
"subject": "<string>",
"to_address": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
body: JSON.stringify('<string>'),
mailbox_id: 123,
subject: '<string>',
to_address: '<string>'
})
};
fetch('https://api.salessequencer.com/api/v1/testing/send', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));Authorizations
Body
Body (spintax allowed).
Active mailbox to send from.
Subject (spintax allowed).
Recipient(s), comma, space or newline separated (max 100).
From first name. Defaults to the mailbox's.
From last name. Defaults to the mailbox's.
Egress box: contabo, ovh or hetzner. Anything else uses the default relay.
Response
JSON {ok, queued, messages:[{category, message}]}. queued is 0 for a single synchronous send, otherwise the recipient count.