<Intro>

<EndpointHeader />

<Description>

Returns a paginated list of the workspace's mailboxes, newest first. Search across addresses and display names with `q`, look a mailbox up by its exact address, or filter by lifecycle state or domain.

</Description>

</Intro>

<Parameters in="query">

<Parameter name="address" type="string">

<Description>

Filter to the mailbox with exactly this address.

</Description>

</Parameter>

<Parameter name="q" type="string">

<Description>

Case-insensitive search matching the mailbox's address or display name (substring).

</Description>

</Parameter>

<Parameter name="state" type="string">

<Description>

Filter by lifecycle state.

</Description>

<Description>

Possible values: `active`, `suspended`

</Description>

</Parameter>

<Parameter name="domain" type="string">

<Description>

Filter to mailboxes whose address is on this domain.

</Description>

</Parameter>

<Parameter name="include_deleted" type="boolean">

<Description>

Include mailboxes deleted within their 30-day restore window. Defaults to false, so only active and suspended mailboxes are returned. Deleted mailboxes carry a non-null `deleted_at`.

</Description>

</Parameter>

<Parameter name="limit" type="integer">

<Description>

Maximum number of items to return per page.

</Description>

</Parameter>

<Parameter name="starting_after" type="string">

<Description>

Cursor from the `next_cursor` field of a previous list response. Returns items immediately after the cursor position in the current sort order.

</Description>

</Parameter>

<Parameter name="ending_before" type="string">

<Description>

Cursor from the `prev_cursor` field of a previous list response. Returns items immediately before the cursor position in the current sort order.

</Description>

</Parameter>

</Parameters>

<Payload kind="response">

<Field name="data" type="array of object" required>

<FieldChildren kind="response">

<Field name="id" type="string" prefix="data." required>

<Description>

Mailbox ID.

</Description>

</Field>

<Field name="address" type="string" prefix="data." required>

<Description>

The mailbox's email address. Immutable once created.

</Description>

</Field>

<Field name="display_name" type="nullable string" prefix="data." required>

<Description>

Display name used as the sender name on mail from this mailbox. Null when unset.

</Description>

</Field>

<Field name="default_reply_to" type="nullable string" prefix="data." required>

<Description>

Default Reply-To address stamped on mail sent from this mailbox. Null when unset.

</Description>

</Field>

<Field name="receive_policy" type="string" prefix="data." required>

<Description>

Which inbound mail the mailbox accepts. `open` accepts everything not blocked by a rule; `replies_only` accepts only replies to messages this mailbox has sent (a reply must match a message the mailbox sent, not merely land in an existing thread); `allowlist` accepts only senders matching an allow rule (replies to prior outbound are always admitted unless blocked); `drop` stores nothing.

</Description>

<Description>

Possible values: `open`, `replies_only`, `allowlist`, `drop`

</Description>

</Field>

<Field name="state" type="string" prefix="data." required>

<Description>

Lifecycle state. Suspended mailboxes stop emitting events; inbound mail is retained as blocked.

</Description>

<Description>

Possible values: `active`, `suspended`

</Description>

</Field>

<Field name="channel" type="string" prefix="data." required>

<Description>

The channel this mailbox receives on. Always `email`.

</Description>

<Description>

Possible values: `email`

</Description>

</Field>

<Field name="owner" type="object" prefix="data." required>

<Description>

The principal that owns the mailbox. Always the workspace.

</Description>

<FieldChildren kind="response">

<Field name="type" type="string" prefix="data.owner." required>

<Description>

Owner principal type.

</Description>

<Description>

Possible values: `workspace`

</Description>

</Field>

<Field name="id" type="string" prefix="data.owner." required>

<Description>

Owner principal ID.

</Description>

</Field>

</FieldChildren>

</Field>

<Field name="inbound_address_id" type="string" prefix="data." required>

<Description>

The underlying inbound address that receives this mailbox's mail.

</Description>

</Field>

<Field name="retention_tier" type="string" prefix="data." required>

<Description>

How long the mailbox remembers message metadata and extracted text. Original rendered source (HTML, raw message, attachments) is always available for 30 days regardless of tier. `3y` and `10y` are reserved future tiers.

</Description>

<Description>

Possible values: `30d`, `90d`, `1y`

</Description>

</Field>

<Field name="message_count" type="integer" prefix="data." required>

<Description>

Number of retained messages across all threads.

</Description>

</Field>

<Field name="thread_count" type="integer" prefix="data." required>

<Description>

Number of retained threads.

</Description>

</Field>

<Field name="unread_thread_count" type="nullable integer" prefix="data.">

<Description>

Number of threads with unread messages in this mailbox, excluding trash. Null on create/update responses.

</Description>

</Field>

<Field name="metadata" type="object" prefix="data." required>

<Description>

Your own key/value data attached to the mailbox. Up to 2 KB; keys starting with `__bird` are reserved.

</Description>

</Field>

<Field name="local_part_generated" type="boolean" prefix="data.">

<Description>

Whether Bird generated the local part of the address. `false` means a custom handle was chosen at creation; on the shared `inbox.ai` domain a custom handle counts against your plan's custom-handle allowance.

</Description>

</Field>

<Field name="created_at" type="string" prefix="data." required>

<Description>

When the mailbox was created.

</Description>

</Field>

<Field name="updated_at" type="string" prefix="data." required>

<Description>

When the mailbox was last updated.

</Description>

</Field>

<Field name="deleted_at" type="nullable string" prefix="data.">

<Description>

When the mailbox was deleted, or null if it is active. A deleted mailbox stops receiving mail immediately but can be restored for 30 days, after which it and its remembered messages are permanently removed.

</Description>

</Field>

</FieldChildren>

</Field>

<Field name="next_cursor" type="nullable string" required>

<Description>

Cursor for the next page. Pass back as `starting_after` to advance forward. Null when no next page exists.

</Description>

</Field>

<Field name="prev_cursor" type="nullable string" required>

<Description>

Cursor for the previous page. Pass back as `ending_before` to step backward. Null when no previous page exists.

</Description>

</Field>

<Field name="refresh_cursor" type="nullable string" required>

<Description>

Refresh anchor. Pass back as `ending_before` later to fetch items that have appeared since this response. Non-null whenever `data` is non-empty; null only on an empty page. Distinct from `prev_cursor`.

</Description>

</Field>

</Payload>