Skip to main content

kobana inbox inboxes

Commands of kobana inbox inboxes. Every global option (Global options) applies here.

CommandHTTPDescription
inboxes recipients removePOST /v1/inboxes/{id}/recipients/removeRemove allowed recipient
inboxes recipients createPOST /v1/inboxes/{id}/recipientsAdd allowed recipient
inboxes listGET /v1/inboxesList inboxes
inboxes createPOST /v1/inboxesCreate inbox
inboxes updatePUT /v1/inboxesCreate or update inbox
inboxes getGET /v1/inboxes/{id}Get inbox
inboxes deleteDELETE /v1/inboxes/{id}Delete inbox

inboxes recipients remove​

Remove allowed recipient

kobana inbox inboxes recipients remove [ID] [OPTIONS]

POST /v1/inboxes/{id}/recipients/remove

Accepts either the internal UUID or the resource external_id. Removes an email from allowed_recipients. 404 when the address is not in the list. Replaces DELETE /v1/inboxes/{id}/recipients: removing an address is an update of the inbox (write), not a deletion.

Path arguments: id

Headers

NameTypeRequiredDescription
x-origin-shared-secretstringnoShared secret between CloudFront and the origin. Required in production; ignored in development unless CF_ORIGIN_SHARED_SECRET is set.

Request body

NameTypeRequiredDescription
emailstring (email)yes

More fields and nested objects: kobana schema inbox.inboxes.recipients.remove.

Responses

HTTPDescription
200Recipient removed.
400email missing or not a valid address.
404Resource not found or filtered out by soft-delete.

inboxes recipients create​

Add allowed recipient

kobana inbox inboxes recipients create [ID] [OPTIONS]

POST /v1/inboxes/{id}/recipients

Accepts either the internal UUID or the resource external_id. Adds an email to allowed_recipients. Idempotent — returns 200 with the current list when already present.

Path arguments: id

Headers

NameTypeRequiredDescription
x-origin-shared-secretstringnoShared secret between CloudFront and the origin. Required in production; ignored in development unless CF_ORIGIN_SHARED_SECRET is set.

Request body

NameTypeRequiredDescription
emailstring (email)yes

More fields and nested objects: kobana schema inbox.inboxes.recipients.create.

Responses

HTTPDescription
200Recipient already present (no-op).
201Recipient added.
404Resource not found or filtered out by soft-delete.

inboxes list​

List inboxes

kobana inbox inboxes list [OPTIONS]

GET /v1/inboxes

Keyset-paginated. Filters are typed query params (field=value, field[op]=value); unknown filters, unsortable fields and malformed values are rejected with 400 VALIDATION_ERROR.

Query parameters

NameTypeRequiredDescription
limitintegerno
cursorstringnoOpaque cursor returned in meta.next_cursor of the previous page.
sort_bystringnoField to order by. Allowed: created_at, updated_at, label, slug. Without it the order is created_at descending. Values: created_at, updated_at, label, slug.
sort_orderstringnoasc (default) or desc. Needs sort_by. Values: asc, desc.
statusstringnoEquality. Also status[in]=a,b. Values: active, inactive.
agent_idstringnoEquality. Also agent_id[in]=a,b.
slugstringnoEquality. Also slug[in]=a,b.
emailstringnoEquality. Also email[in]=a,b.
external_idstringnoEquality. Also external_id[in]=a,b.
created_atstringnoEquality. Also created_at[in]=a,b and created_at[gt|gte|lt|lte].
created_at[gte]stringno
created_at[lte]stringno
updated_atstringnoEquality. Also updated_at[in]=a,b and updated_at[gt|gte|lt|lte].
updated_at[gte]stringno
updated_at[lte]stringno

Headers

NameTypeRequiredDescription
x-origin-shared-secretstringnoShared secret between CloudFront and the origin. Required in production; ignored in development unless CF_ORIGIN_SHARED_SECRET is set.

Responses

HTTPDescription
200Page of results.
400Body failed Zod validation. error.details carries formErrors/fieldErrors.
404Resource not found or filtered out by soft-delete.

inboxes create​

Create inbox

kobana inbox inboxes create [OPTIONS]

POST /v1/inboxes

Headers

NameTypeRequiredDescription
x-origin-shared-secretstringnoShared secret between CloudFront and the origin. Required in production; ignored in development unless CF_ORIGIN_SHARED_SECRET is set.

Request body

NameTypeRequiredDescription
labelstringyes
external_idstringnoOptional. Defaults to the generated internal id.
emailstring (email)noOptional. Must use the configured inbox domain (SES_DOMAIN) and a local part that starts with "{organization-slug}.{workspace-slug}." of the caller; otherwise returns 422. Duplicate addresses return 409. When omitted the server composes it as "{organization-slug}.{workspace-slug}.{inbox-slug}@<domain>".
slugstringnoOptional. Lowercase dasherized slug, unique within the workspace, used as the last segment of the address. Returns 409 when it collides with another inbox in the same workspace, and 422 when the composed local part exceeds 64 characters. When omitted, the server derives it from the dasherized label.
agent_idstring (uuid)no
allowed_recipientsarray<string (email)>no
filtersarray<object>no
attachments_allowbooleanno
attachments_max_file_numberintegerno
attachments_max_file_sizeintegerno
attachments_max_total_sizeintegerno
attachments_allow_rulesarray<object>noAllow list of attachments. An attachment is processed when it matches at least one rule; inside a rule every condition given must match. null or [] processes every attachment. An attachment outside the list is ignored, never a reason to reject the e-mail: the agent does not see it, the attachment limits do not count it, and a workflow step cannot reference it. On update, omit to keep, send null to clear.
custom_metadataobjectnoUser metadata, free-form. Send null to clear it. Max 64 KB serialized, 16 levels deep.

More fields and nested objects: kobana schema inbox.inboxes.create.

Responses

HTTPDescription
201Success.
400Body failed Zod validation. error.details carries formErrors/fieldErrors.
404Resource not found or filtered out by soft-delete.
409Unique constraint violated (e.g. external_id or inbox email already in use).
422Body validation that requires server-side context (e.g. inbox domain mismatch).

inboxes update​

Create or update inbox

kobana inbox inboxes update [OPTIONS]

PUT /v1/inboxes

Upsert. Takes the same body as POST plus the lookup keys id and external_id, matched in that order, then by email. A match is updated in place and returns 200 — fields absent from the body keep their stored value. No key, or no match, creates the inbox exactly as POST would and returns 201.

Headers

NameTypeRequiredDescription
x-origin-shared-secretstringnoShared secret between CloudFront and the origin. Required in production; ignored in development unless CF_ORIGIN_SHARED_SECRET is set.

Request body

NameTypeRequiredDescription
labelstringyes
external_idstringnoMatch on the source-system id. Also stored on the record when it is created.
emailstring (email)noOptional. Must use the configured inbox domain (SES_DOMAIN) and a local part that starts with "{organization-slug}.{workspace-slug}." of the caller; otherwise returns 422. Duplicate addresses return 409. When omitted the server composes it as "{organization-slug}.{workspace-slug}.{inbox-slug}@<domain>".
slugstringnoOptional. Lowercase dasherized slug, unique within the workspace, used as the last segment of the address. Returns 409 when it collides with another inbox in the same workspace, and 422 when the composed local part exceeds 64 characters. When omitted, the server derives it from the dasherized label.
agent_idstring (uuid)no
allowed_recipientsarray<string (email)>no
filtersarray<object>no
attachments_allowbooleanno
attachments_max_file_numberintegerno
attachments_max_file_sizeintegerno
attachments_max_total_sizeintegerno
attachments_allow_rulesarray<object>noAllow list of attachments. An attachment is processed when it matches at least one rule; inside a rule every condition given must match. null or [] processes every attachment. An attachment outside the list is ignored, never a reason to reject the e-mail: the agent does not see it, the attachment limits do not count it, and a workflow step cannot reference it. On update, omit to keep, send null to clear.
custom_metadataobjectnoUser metadata, free-form. Send null to clear it. Max 64 KB serialized, 16 levels deep.
idstring (uuid)noMatch on the internal id. Checked before external_id.

More fields and nested objects: kobana schema inbox.inboxes.update.

Responses

HTTPDescription
200Success.
201Success.
400Body failed Zod validation. error.details carries formErrors/fieldErrors.
404Resource not found or filtered out by soft-delete.
409Unique constraint violated (e.g. external_id or inbox email already in use).
422Body validation that requires server-side context (e.g. inbox domain mismatch).

inboxes get​

Get inbox

kobana inbox inboxes get [ID] [OPTIONS]

GET /v1/inboxes/{id}

Accepts either the internal UUID or the resource external_id.

Path arguments: id

Headers

NameTypeRequiredDescription
x-origin-shared-secretstringnoShared secret between CloudFront and the origin. Required in production; ignored in development unless CF_ORIGIN_SHARED_SECRET is set.

Responses

HTTPDescription
200Success.
404Resource not found or filtered out by soft-delete.

inboxes delete​

Delete inbox

kobana inbox inboxes delete [ID] [OPTIONS]

DELETE /v1/inboxes/{id}

Accepts either the internal UUID or the resource external_id.

Path arguments: id

Headers

NameTypeRequiredDescription
x-origin-shared-secretstringnoShared secret between CloudFront and the origin. Required in production; ignored in development unless CF_ORIGIN_SHARED_SECRET is set.

Responses

HTTPDescription
200Deleted (soft delete).
404Resource not found or filtered out by soft-delete.