Campaigns

Send a test email

Send yourself a rendered preview of one step variant before launching. It goes from a real mailbox and counts toward that mailbox's daily limit, but not your monthly quota. Capped at 12 per day per workspace.

Requires one of the following scopes: campaigns:lifecycle, campaigns:all, all:all.

post/v1/campaigns/{id}/test-email

Request

  • Base URL: https://api.mailbeast.ai
  • URL: https://api.mailbeast.ai/v1/campaigns/{id}/test-email
  • Auth: HTTP bearer

Path parameters

idstring uuid required
Example:a7d4e2f1-08b3-4c65-9e7a-1b2c3d4e5f60

Headers

Idempotency-Keystring
Example:a1b2c3d4-e5f6-7890-abcd-ef1234567890

Optional. A unique key you generate (max 255 chars, such as a UUID) that makes this request safe to retry. Retrying with the same key replays the original response instead of repeating the operation. Reusing a key with a different body returns 422.

Request body

variantIdstring uuid required

The step variant to render: sequence[].variants[].id from GET /v1/campaigns/{id}.

accountIdstring uuid required

The mailbox to send from. It must be one of yours and within its daily limit.

recipientstring required

Where to send the test. A single address. It is refused if the address, or its domain, is on your blacklist.

personalization'dummy' | 'lead' required

Where merge variables come from. lead uses a real lead, named by leadId. dummy uses no lead data: lead tags such as {{first_name}} render EMPTY (only sender tags resolve). There is no fallback: lead without leadId is rejected.

leadIdstring uuid

The lead whose data fills the merge variables. Required when personalization is lead, and must be omitted otherwise.

Example request

{
  "variantId": "550e8400-e29b-41d4-a716-446655440000",
  "accountId": "3f1c2b7e-9a4d-4e18-b2c1-6d8f5a0e7c93",
  "recipient": "you@acme.com",
  "personalization": "dummy",
  "leadId": "c9e5b1a3-7f24-4d80-a6b9-2e4f8c0d1a37"
}

Response

sentboolean required

The test email was handed to the mail server.

messageIdstring nullable required

RFC 5322 Message-ID assigned by the sending server. null if the server did not return one.

Example response

{
  "sent": true,
  "messageId": "<test-1750000000000-a1b2c3@mailbeast.ai>"
}

Changes

No recorded changes to this operation across all 1 revision of this API.