Skip to main content

Inboxes

An inbox is a receiving address plus the rules applied to the mail that arrives on it. Eight tools, including the two that manage the allowed-recipients list.

See the Inbox model for the shape of the returned object.


inboxes_list​

Read · scope inbox/inboxes · permission inboxes.list · GET /inboxes

List inboxes in the selected workspace. Cursor-paginated.

ParameterTypeDescription
cursorstringOpaque cursor from a previous page.
limitintegerPage size, default 25, max 100.
sortstringSort keys, - prefix for descending.
statusactive | inactiveFilter by status.
agent_idstring (uuid)Only inboxes bound to this agent.
slugstringFilter by slug.
emailstringFilter by receiving address.
external_idstringFilter by the id in your system.
created_at_gtestringcreated_at on or after this ISO 8601 timestamp.
created_at_ltestringcreated_at on or before this ISO 8601 timestamp.

inboxes_get​

Read · scope inbox/inboxes · permission inboxes.show · GET /inboxes/{id}

Fetch one inbox by internal id or external_id.

ParameterTypeDescription
id requiredstringInternal id or external_id.

inboxes_create​

Write · scope inbox/inboxes + write · permission inboxes.create · POST /inboxes

Create an inbox. The receiving address is composed server-side as {organization}.{workspace}.{inbox}@<domain> and is live immediately — no AWS call is involved. 409 on a slug collision in the same workspace, 422 when the composed local part exceeds 64 characters.

ParameterTypeDescription
label requiredstringDisplay name, 1–120 chars.
slugstringLowercase, dasherized, max 20 chars. Last segment of the receiving address; derived from the label when omitted.
external_idstringId of the record in your system.
agent_idstring (uuid) | nullAgent that processes mail for this inbox.
allowed_recipientsstring[]When set, only mail whose envelope sender is in this list is accepted.
filtersobject[]Acceptance rules applied to incoming mail.
attachments_allowbooleanWhether attachments are accepted.
attachments_max_file_numberintegerMaximum number of attachments.
attachments_max_file_sizeintegerMaximum size per attachment, in bytes.
attachments_max_total_sizeintegerMaximum total attachment size, in bytes.
attachments_allow_rulesarray|nullAllow list of attachments; each rule needs extensions, filename_pattern or both — see attachment allow rules. null clears it.
custom_metadataobjectFree-form JSON owned by the caller.
idempotency_keystringReplay guard, 8–255 chars.

inboxes_upsert​

Write · scope inbox/inboxes + write · permission inboxes.create · PUT /inboxes

Create or update an inbox, matched by id, then external_id, then email. Omitted fields keep their stored value.

ParameterTypeDescription
idstring (uuid)Match by internal id first.
emailstringMatch by receiving address, after id and external_id.
labelstringDisplay name, 1–120 chars.
slugstringLowercase, dasherized, max 20 chars.
external_idstringMatch key in your system.
agent_idstring (uuid) | nullAgent that processes mail for this inbox.
allowed_recipientsstring[]Accepted envelope senders.
filtersobject[]Acceptance rules.
attachments_allowbooleanWhether attachments are accepted.
attachments_max_file_numberintegerMaximum number of attachments.
attachments_max_file_sizeintegerMaximum size per attachment, in bytes.
attachments_max_total_sizeintegerMaximum total attachment size, in bytes.
attachments_allow_rulesarray|nullAllow list of attachments; each rule needs extensions, filename_pattern or both — see attachment allow rules. null clears it.
custom_metadataobjectFree-form JSON.
idempotency_keystringReplay guard.

inboxes_update​

Write · scope inbox/inboxes + write · permission inboxes.update · PATCH /inboxes/{id}

Update an inbox. Changing slug repoints the receiving address — mail sent to the previous one stops arriving. Filter changes apply to future mail only.

ParameterTypeDescription
id requiredstringInternal id or external_id.
labelstringDisplay name, 1–120 chars.
slugstringLowercase, dasherized, max 20 chars.
external_idstringId in your system.
agent_idstring (uuid) | nullAgent that processes mail for this inbox.
allowed_recipientsstring[]Accepted envelope senders.
filtersobject[]Acceptance rules.
attachments_allowbooleanWhether attachments are accepted.
attachments_max_file_numberintegerMaximum number of attachments.
attachments_max_file_sizeintegerMaximum size per attachment, in bytes.
attachments_max_total_sizeintegerMaximum total attachment size, in bytes.
attachments_allow_rulesarray|nullAllow list of attachments; each rule needs extensions, filename_pattern or both — see attachment allow rules. null clears it.
custom_metadataobjectFree-form JSON.

inboxes_delete​

Destructive · scope inbox/inboxes + write · permission inboxes.delete · DELETE /inboxes/{id}

Soft-delete an inbox. Incoming mail for that address becomes recipient_unknown; the slug is released and can be reused.

ParameterTypeDescription
id requiredstringInternal id or external_id.

inboxes_add_recipient​

Destructive · scope inbox/inboxes + write · permission inboxes.update · POST /inboxes/{id}/recipients

Add one address to allowed_recipients. Idempotent — 200 if already present, 201 if new.

ParameterTypeDescription
id requiredstringInternal id or external_id.
email requiredstringAddress to allow.

inboxes_remove_recipient​

Destructive · scope inbox/inboxes + write · permission inboxes.update · DELETE /inboxes/{id}/recipients

Remove one address from allowed_recipients. 404 when the address is not in the list.

ParameterTypeDescription
id requiredstringInternal id or external_id.
email requiredstringAddress to remove.