agentlyleads docs
Emails API

POST /api/v1/emails/:id/send

Send one DRAFT. Requires the send:emails scope (or *). A key with only write:emails can compose drafts but cannot release them, which is the point: give an automation write access and keep the send decision with a person or a separately scoped key.

One draft per call

There is no bulk send. Each call releases exactly the draft named in the path.

Request

POST /api/v1/emails/cmtsv6ts404hzii01dnmu4k5t/send HTTP/1.1
Host: agentlyleads.com
Authorization: Bearer alk_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

{ "asUserEmail": "kevin@example.com" }

The body is optional. asUserEmail chooses whose connected mailbox transmits when the draft has no explicit From.

Response

200 when the mail went out:

{ "email": { "id": "cmtsv6ts404hzii01dnmu4k5t", "status": "SENT", "sentAt": "2026-09-08T16:20:11.000Z", "...": "..." }, "sent": true }

502 with "sent": false and the provider's message in email.error when the mailbox rejected it. The draft keeps status FAILED; fix the mailbox connection and it can be sent again from the app.

StatusMeaning
404No email with that id in this workspace
409The email is not a DRAFT, or the draft has no recipient address yet

On this page