Skip to content

Send Reply DraftBeta

Send the stored draft to the lead as a real email.

POST/api/v1/inbox/threads/{reply_id}/draft/send

The send goes through the same checks as Send Reply plus the dashboard's: the account must be active and connected, the lead must not have unsubscribed, and the workspace must be under its monthly send limit. Edit the text first with Update Reply Draft.

Calling this again for a draft that was already sent sends nothing and returns the first message ID with alreadySent: true. Two simultaneous calls send once; the other gets a 409 with detail.code of draft_send_in_progress. If the SMTP send fails the draft is released and can be sent again.

Path Parameters#

reply_idstringpathrequired
The thread (reply) ID.

Response#

dataobject
Show Send result
successboolean
Whether the draft was sent.
messageIdstring
SMTP message ID.
alreadySentboolean
true when this call sent nothing because an earlier call already sent the draft.

Errors#

StatusDescription
400Account inactive or disconnected, or the lead unsubscribed
403Key does not have write scope
404Thread not found
409No ready draft, draft dismissed, thread answered by hand, or a send is in progress
429Workspace monthly send limit reached
500SMTP send failed. The draft stays sendable

Rate Limit#

  • 100 requests per minute, shared by every expensive call in your workspace. Fixed 60-second window.
  • Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (unix epoch seconds) and X-RateLimit-Bucket (expensive).
  • A 429 response includes a Retry-After header (seconds until the bucket resets).

For client-side patterns (Retry-After, exponential backoff, monitoring X-RateLimit-Remaining), see Rate Limiting.

Was this page helpful?
View as MarkdownLast updated November 4, 2026