Your AWS SES. Your dedicated Mailat. See how it works
Documentation

Get Forward Context

Request, response and authentication details for your Mailat instance.

← All API operations
GET/api/v1/compose/forward/{id}

Get a context using the public SES mailbox message UUID as id. Map returned from.email to compose/send's fromEmail, and retain identityId, recipients, subject, bodies, inReplyTo, references and authorized attachments; do not post the context unchanged. Forward context includes authenticated attachment blob references. replyAll=true is supported on reply.

Authentication & compatibility

Use a scoped bearer API key with email:read. The key is bound to its user and organization.

Primary SES compose workflow. Reply/forward contexts use public SES mailbox UUIDs; draft and attachment operations use owned records. In legacy non-SES configurations, sending can fall back to JMAP.

Contract 2026-10-04. Your running instance's /api/v1/openapi.json is authoritative for its deployed release.

Request

Set MAILAT_BASE_URL to your instance origin (without /api/v1) and MAILAT_TOKEN to an appropriate credential. Replace path placeholders and example data before running. These examples do not execute in this page.

cURL request
curl --request GET "$MAILAT_BASE_URL/api/v1/compose/forward/{id}" \
  --header "Authorization: Bearer $MAILAT_TOKEN"

Parameters

path
idstringrequired

Responses

HTTP statuses and body shapes below come from the pinned contract. Not every shared error applies to every request. Retain the original idempotency key when retrying a send.

200 · Success
Header: X-RateLimit-Remaininginteger

Remaining requests in this API key's current minute window (present for API-key authentication).

minimum: 0

application/json

responseobject
Fields
codeintegerrequired
dataall of · nullable
Variant 1object
Fields · service.ComposeEmail
attachmentsarray
Each itemobject
Fields · service.AttachmentRef
blobIdstring
cidstring

Content-ID for inline

contentstring

Base64 for a newly attached file

dispositionstring

attachment or inline

namestring
sizeinteger (int64)
typestring
bccarray
Each itemobject
Fields · service.EmailAddress
emailstring
namestring
ccarray
Each itemobject
Fields · service.EmailAddress
emailstring
namestring
draftIdstring
draftVersioninteger (int64)
fromobject
Fields · service.EmailAddress
emailstring
namestring
htmlBodystring
idstring
identityIdinteger (int64)
inReplyTostring
isDraftboolean
referencesarray
Each itemstring
replyToarray
Each itemobject
Fields · service.EmailAddress
emailstring
namestring
subjectstring
textBodystring
toarray
Each itemobject
Fields · service.EmailAddress
emailstring
namestring
messagestringrequired
400 · Invalid input

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
401 · Missing, expired or revoked authentication

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
403 · Insufficient permission

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
404 · Resource not found

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
409 · Conflict or changed idempotency payload

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
410 · Recovery cursor expired; resynchronize

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
429 · Rate limit exceeded; respect Retry-After
Header: Retry-Afterinteger

Seconds until the next fixed-minute request window.

minimum: 1

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
500 · Internal failure; retain the idempotency key

application/json

responseobject
Fields
codeintegerrequired
messagestringrequired
Download the full OpenAPI contract