PATCH
/api/public/v1/email-drafts/{draftId}

Update an email draft

Change what a draft says. Fields left out stay as they were.

Required scope

The access token must carry this scope. A token missing it gets 403 Forbidden. Grant them to an API client under Dev Tools → API, to an assistant or CLI sign-in when you approve or edit it under Dev Tools, and to a teammate under Employee → Permissions.

email:messages:write

Path Parameters

NameTypeRequiredDescription
draftIdstringRequiredDraft ID.

Request Body

PropertyTypeDescription
fromstringThe address to send from. Must be one this employee owns by the time it is sent.
toarrayRecipient addresses, up to 20.
ccarrayUp to 20 addresses.
bccarrayUp to 20 addresses.
subjectstringUp to 500 characters.
textstringThe plain-text body.
PATCHExample request
curl
curl -X PATCH "https://www.pxb.app/api/public/v1/email-drafts/{draftId}" \
  -H "Authorization: Bearer your_access_token" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Thanks — confirming Friday works on our side. I’ll send the PO number Monday."
  }'
200Example response
json
{
  "message": "Email draft updated successfully!",
  "content": {
    "draft": {
      "id": "edr_88c1",
      "from": "sam@acme.example",
      "to": [
        "ap@northwind.example"
      ],
      "cc": [],
      "bcc": [],
      "subject": "Re: Invoice 1042",
      "text": "Thanks — confirming Friday works on our side.",
      "scheduledAt": null,
      "createdAt": "2026-08-23T09:30:00.000Z",
      "updatedAt": "2026-08-23T09:31:00.000Z"
    }
  }
}

In the console

The same thing done by hand, for anyone comparing the API against the screen they already use.

Email → Drafts
/email/drafts
  1. Open a draft and edit it.