Sales Engine
API documentation
CampaignsOperation campaigns.testSend

Send a test email

Send one rendered email to an address you own.

POST/api/v1/campaigns/{id}/test-send
Scope send: Anything that sends email or changes what sends: launch, pause, resume, test sends, replies, draft approval, mailbox pause.

This call sends email or changes what sends. A key needs the send scope, and the Try it panel asks you to confirm before it runs.

Parameters

Path

NameInDescription
idrequiredpathThe record's id.

Body

A JSON object. Fields not listed are ignored.

NameInDescription
lead_idrequiredbodyLead to render.
step_numberrequiredbody, integerStep.
variantbodya, b or c for a template step; the lead's own otherwise.
tobodyRecipient; defaults to the signed-in user. Your own address, a member's or a workspace mailbox.
mailbox_idbodyMailbox to send from.

Example

curl
curl -X POST "https://crm.ashwanth.dev/api/v1/campaigns/{id}/test-send" \
  -H "Authorization: Bearer $SALES_ENGINE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "lead_id": "",
  "step_number": 0,
  "variant": "",
  "to": "",
  "mailbox_id": ""
}'
CLI
sales-engine campaigns test-send <id> --lead-id "..." --step-number 1

The JSON above lists every documented field with a typed placeholder; send only the ones you mean.

Response

A 200 with the result under data, on creation too. Errors come back as an error object with a stable code; see Errors.

Shape
{
  "data": { ... }
}

Run it below to see the live shape for your workspace.

Try it

Runs against this server, as the workspace behind the key.
Kept in this page while you browse the docs, gone on reload, never stored. Signed in to the app? Leave it blank and the call runs as you.
Path
required
The record's id.
Every documented field is listed above; leave out the ones you do not need.
Request
POST /api/v1/campaigns/%7Bid%7D/test-send
Fill the path first.

Also in Campaigns