Delivery response model
Nullable fields represent unknown values; they do not imply zero cost or a completed action.
| Field | Type | Required | Details |
|---|---|---|---|
id |
string | No | |
actionId |
string | No | |
owner |
string | No | The tenant that holds this delivery: key: |
mode |
string | No | sandbox or live. A delivery is only ever visible to a key of its own mode. |
channel |
string | No | email or wechat |
factoryId |
string or null | No | |
toName |
string or null | No | |
toAddress |
string or null | No | |
cc |
string[] | No | |
subject |
string or null | No | |
bodyEn |
string or null | No | |
bodyZh |
string or null | No | |
status |
string | No | draft, approved, queued, sending, delivery_unknown, delivery_failed, sent, rejected or needs_contact |
transport |
string or null | No | |
approvedByKey |
string or null | No | |
approvedAt |
string or null | No | |
rejectedReason |
string or null | No | |
sentAt |
string or null | No | |
sentBy |
string or null | No | |
sentReference |
string or null | No | |
createdAt |
string | No | |
updatedAt |
string | No |
Full JSON schema
{ "type": "object", "properties": { "id": { "type": "string" }, "actionId": { "type": "string" }, "owner": { "type": "string", "description": "The tenant that holds this delivery: key:<id> for a sandbox key, org:<id> for a live one." }, "mode": { "type": "string", "description": "sandbox or live. A delivery is only ever visible to a key of its own mode." }, "channel": { "type": "string", "description": "email or wechat" }, "factoryId": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "toName": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "toAddress": { "anyOf": [ { "type": "string", "description": "Resolved from the factory at approval time, never supplied by the caller in live mode" }, { "type": "null" } ] }, "cc": { "type": "array", "items": { "type": "string", "description": "Both Maglev founders, always" } }, "subject": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bodyEn": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "bodyZh": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "status": { "type": "string", "description": "draft, approved, queued, sending, delivery_unknown, delivery_failed, sent, rejected or needs_contact" }, "transport": { "anyOf": [ { "type": "string", "description": "resend, resend_pending, outbox or manual" }, { "type": "null" } ] }, "approvedByKey": { "anyOf": [ { "type": "string", "description": "The api key that approved this delivery. Null until it is approved." }, { "type": "null" } ] }, "approvedAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "rejectedReason": { "anyOf": [ { "type": "string", "description": "Why the delivery was rejected. Null unless status is rejected." }, { "type": "null" } ] }, "sentAt": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "sentBy": { "anyOf": [ { "type": "string", "description": "Who the send is recorded against: the Maglev sending address for a provider send, or the name the caller supplied to POST /deliveries/{id}/sent for a manual one. Null until sent." }, { "type": "null" } ] }, "sentReference": { "anyOf": [ { "type": "string", "description": "The provider's own id for the accepted message, or the reference a manual send supplied. This is the value to quote when reconciling with the provider after a lost response, so read it rather than sending again." }, { "type": "null" } ] }, "createdAt": { "type": "string" }, "updatedAt": { "type": "string" } }}