outbound

Send Manual Email

post/api/outbound/email/send

Request

  • Base URL
    https://platform.verbiflow.com/api/bridge
  • URL
    https://platform.verbiflow.com/api/bridge/api/outbound/email/send
  • Auth
    • HTTP bearer and API key in header x-flage-org-id
    • or HTTP bearer and API key in header x-flage-org-slug

Request body

body_htmlstring nullable

Exact HTML body. Mutually exclusive with body_text.

body_textstring nullable

Exact plain-text body. Mutually exclusive with body_html.

idempotency_keystring required

Stable identity for this exact sender, recipient, content, tracking, schedule, and runtime effect. Exact retries adopt; changed inputs conflict.

link_trackingboolean

Whether to rewrite eligible links through workspace click tracking.

open_trackingboolean

Whether to include the workspace email-open tracking pixel.

respect_sender_windowboolean

Whether to defer eligibility into the selected sender's configured sending window.

scheduled_atstring date-time nullable

Optional timezone-aware ISO 8601 timestamp. Omit to queue immediately.

sender_account_idstring nullable

Connected email sender account. Omit only when workspace sender selection is unambiguous.

sequence_effect'manual_hold' | 'none' nullable

Defaults to 'manual_hold': the recipient is resolved to a person and their live sequence instances are held (real manual outreach). Pass 'none' for sends that must not touch runtime state — e.g. builder test emails: no person row is created, no sequences are held, and no conversation is projected.

sequence_idstring nullable

Optional campaign context recorded with a deliberate manual hold.

subjectstring required

Exact recipient-visible subject line.

to_emailstring email required

Exact recipient email address.

Response

Successful Response

accepted_atstring date-time nullable required

Recipient acceptance time when the channel exposes that engagement event; normally null for email. It is not queue admission.

action'send_email' required

One-new-email action discriminator; this route never returns another action.

channel'email' required

Email channel discriminator; this route never returns another channel.

detailstring nullable required

Sanitized blocking or terminal failure detail, or null when the intent has no diagnostic detail. Read this with status; it is not provider raw data.

idstring required

Durable outbound intent id. Pass this exact value to email.status; it is not a provider message id.

next_eligible_atstring date-time nullable required

Next time schedule, pacing, and sender-window policy permits the queued intent to run; null when no deferred queued eligibility remains.

replied_atstring date-time nullable required

First matched recipient reply time after conversation state observes one; null until then.

request_digeststring nullable required

Lowercase SHA-256 of the payload-bound sender, recipient, content, tracking, schedule, and runtime-effect contract; null only for a legacy intent.

requested_atstring date-time required

ISO 8601 time when the durable intent was admitted.

scheduled_atstring date-time nullable required

Exact caller-requested future send time, or null when no future time was requested. This is distinct from policy-adjusted next_eligible_at.

sender_account_idstring required

Exact connected mailbox selected for this intent.

sent_atstring date-time nullable required

Provider-confirmed submission time when status is sent; null before send or after failure.

status'queued' | 'sent' | 'failed' required

Current durable intent state: queued proves admission but not delivery, sent proves provider-confirmed submission, and failed is terminal without successful submission.

Changes

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