List mailboxes
GET
/v1/email/mailboxes
for await (const mailbox of bird.email.mailboxes.list()) {
console.log(mailbox.address);
}for mailbox in client.email.mailboxes.list():
print(mailbox.id, mailbox.address)for mailbox, err := range client.Email.Mailboxes.List(context.Background(), bird.EmailMailboxesListParams{}) {
if err != nil {
log.Fatal(err)
}
fmt.Println(mailbox.Id)
}foreach ($bird->email->mailboxes->list() as $mailbox) {
echo $mailbox->getId(), ' ', $mailbox->getAddress(), "\n";
}bird email mailboxes listcurl -X GET "https://us1.platform.bird.com/v1/email/mailboxes" \
-H "Authorization: Bearer $TOKEN" \
--url-query "address=concierge@inbox.ai" \
--url-query "q=concierge" \
--url-query "domain=inbox.ai" \
--url-query "include_deleted=false" \
--url-query "limit=25"Respons200
{
"data": [
{
"id": "mbx_01krdgeqcxet5s7t44vh8rt9mg",
"address": "concierge@inbox.ai",
"display_name": "Acme Concierge",
"receive_policy": "open",
"state": "active",
"channel": "email",
"owner": {
"type": "workspace",
"id": "ws_01krdgeqcxet5s7t44vh8rt9mg"
},
"inbound_address_id": "ina_01krdgeqcxet5s7t44vh8rt9mg",
"retention_tier": "30d"
}
],
"next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
"prev_cursor": null,
"refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}
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.
Parameter Kueri
address
string
Filter to the mailbox with exactly this address.
q
string
Case-insensitive search matching the mailbox's address or display name (substring).
state
string
Return only active or suspended mailboxes. Use include_deleted for restorable deleted mailboxes.
Possible values: active, suspended
domain
string
Filter to mailboxes whose address is on this domain.
include_deleted
boolean
Include mailboxes deleted within their 30-day restore window. Defaults to false, so only active and suspended mailboxes are returned. A deleted mailbox has deleted_at set.
limit
integer
Maximum number of items to return per page.
starting_after
string
Cursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.
ending_before
string
Cursor from the prev_cursor or refresh_cursor field of a previous list response. Returns items immediately before the cursor position in the current sort order. prev_cursor returns the preceding page. refresh_cursor anchors at the first row of that response, which on a newest-first sort is how to fetch the items that have appeared since.
Payload Respons
data
array of object
wajib
Tampilkan atribut turunan
data.id
string
wajib
Mailbox ID.
data.address
string
wajib
The mailbox's email address. Immutable once created.
data.display_name
nullable string
wajib
Display name used as the sender name on mail from this mailbox. null when unset.
data.default_reply_to
nullable string
wajib
Default Reply-To address stamped on mail sent from this mailbox. null when unset.
data.receive_policy
string
wajib
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. Landing in an existing thread by itself does not count.
- allowlist: Accepts only senders matching an allow rule. Replies to prior outbound mail are always admitted unless blocked.
- drop: Stores nothing.
Possible values: open, replies_only, allowlist, drop
data.state
string
wajib
Lifecycle state. active means the mailbox can send, receive, and expose conversations. suspended pauses sending, conversation reads, and events; inbound mail is retained with the blocked label until you resume it.
Possible values: active, suspended
data.channel
string
wajib
The channel this mailbox receives on. Always email.
Possible values: email
data.owner
object
wajib
The principal that owns the mailbox. Always the workspace.
Tampilkan atribut turunan
data.owner.type
string
wajib
Owner principal type.
Possible values: workspace
data.owner.id
string
wajib
Owner principal ID.
data.inbound_address_id
string
wajib
The underlying inbound address that receives this mailbox's mail.
data.retention_tier
string
wajib
How long message metadata, extracted text, and attachments are kept. Original bodies and inbound raw MIME are limited to 30 days on every tier.
Possible values: 30d, 90d, 1y
data.message_count
integer
wajib
Number of retained messages across all threads.
data.thread_count
integer
wajib
Number of retained threads.
data.size_bytes
integer
wajib
Stored bytes across the mailbox's retained messages: subject, preview, extracted text, and attachment bytes. Message bodies and raw MIME expire after 30 days and do not count. Maintained with each message written or deleted, so the value is current; messages stored before the counter existed are not counted.
data.unread_thread_count
nullable integer
Number of threads with unread messages in this mailbox, excluding trash. null on create/update responses.
data.metadata
object
wajib
Your own key/value data attached to the mailbox. Up to 2 KB. Keys starting with __bird are reserved.
data.local_part_generated
boolean
wajib
Whether we 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.
data.created_at
string
wajib
When the mailbox was created.
data.updated_at
string
wajib
When the mailbox was last updated.
data.deleted_at
nullable string
When the mailbox was deleted, or null if active. Deletion stops receiving; restore is available for 30 days unless permanent erasure has started.
next_cursor
nullable string
wajib
Cursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.
prev_cursor
nullable string
wajib
Cursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.
refresh_cursor
nullable string
wajib
Refresh anchor, the first row of this response. Pass back as ending_before to fetch what precedes it in the current sort order. On a newest-first sort those are the items that have appeared since; on any other sort they are the items that sort earlier, so refreshing such a list means re-fetching it instead. Non-null whenever data is non-empty; null only on an empty page. Distinct from prev_cursor.
Related resources
Continue with the documentation, guides and examples for this topic. Resources are in English.
Watch the guideSetting up your coding agentUnderstand the conceptWhat is an MCP server, and how does an agent use one to send messages?Explore the capabilityCoding agentsFollow the learning pathBuild with AI agents
Get an implementation brief