mailbox_idstring required
thread_idstring nullable required
Deprecated and not stable: a legacy thread ID that changes when the mail server re-threads its IDs or a relayed send's placeholder key is replaced. It remains supported in thread paths; store conversation_id instead.
conversation_idstring nullable required
Stable Shipmail conversation identifier (thd_...). Store this: it survives thread merges and mail-server re-threading, which thread_id does not.
source_rfc_message_idstring nullable required
Source RFC Message-ID supplied by the caller or observed before relay.
delivered_rfc_message_idstring nullable required
Exact provider-assigned delivered RFC Message-ID after Shipmail observes it in a recipient reply. Null before an observation and never reconstructed from the SES provider ID.
client_referencestring nullable required
Caller-defined organization-scoped reference.
metadataMessageMetadata required
Up to 20 scalar values and 8 KB of JSON. Nested objects and arrays are rejected.
subjectstring nullable required
from_addressstring nullable required
source'api' | 'dashboard' | 'newsletter' | 'inbound' | 'smtp' | 'assistant' required
mode'live' | 'test' required
The API-key data plane that owns this resource. Test resources are isolated from live delivery, quota, suppression, and reputation.
status'scheduled' | 'queued' | 'sent' | 'delivered' | 'bounced' | 'complained' | 'failed' | 'suppressed' | 'cancelled' required
scheduled_atstring date-time nullable required
UTC ISO 8601 time when a scheduled message should be sent. Null for immediate messages.
created_atstring date-time required
updated_atstring date-time required