Get Forward Context
Request, response and authentication details for your Mailat instance.
/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 GET "$MAILAT_BASE_URL/api/v1/compose/forward/{id}" \
--header "Authorization: Bearer $MAILAT_TOKEN"Parameters
idstringrequiredResponses
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-RemainingintegerRemaining requests in this API key's current minute window (present for API-key authentication).
minimum: 0
application/json
responseobjectFields
codeintegerrequireddataall of · nullableVariant 1objectFields · service.ComposeEmail
attachmentsarrayEach itemobjectFields · service.AttachmentRef
blobIdstringcidstringContent-ID for inline
contentstringBase64 for a newly attached file
dispositionstringattachment or inline
namestringsizeinteger (int64)typestringbccarrayEach itemobjectFields · service.EmailAddress
emailstringnamestringccarrayEach itemobjectFields · service.EmailAddress
emailstringnamestringdraftIdstringdraftVersioninteger (int64)fromobjectFields · service.EmailAddress
emailstringnamestringhtmlBodystringidstringidentityIdinteger (int64)inReplyTostringisDraftbooleanreferencesarrayEach itemstringreplyToarrayEach itemobjectFields · service.EmailAddress
emailstringnamestringsubjectstringtextBodystringtoarrayEach itemobjectFields · service.EmailAddress
emailstringnamestringmessagestringrequired400 · Invalid input
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired401 · Missing, expired or revoked authentication
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired403 · Insufficient permission
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired404 · Resource not found
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired409 · Conflict or changed idempotency payload
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired410 · Recovery cursor expired; resynchronize
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired429 · Rate limit exceeded; respect Retry-After
Header: Retry-AfterintegerSeconds until the next fixed-minute request window.
minimum: 1
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired500 · Internal failure; retain the idempotency key
application/json
responseobjectFields
codeintegerrequiredmessagestringrequired