Mailboxes
Manage SMTP mailboxes, credentials, and mailbox domains. The examples use A2A code mode. MCP exposes the same code mode through itsexecute tool.
Functions
mailboxes.add
| Property | Value | Property | Value |
|---|---|---|---|
| Requires permission | mailbox.create | Auth required | yes |
| Execution mode | sync | Capability | mailbox.create |
| Resource type | account | Resource ID field | account_id |
| Public API route | POST /v1/public/accounts/{account_id}/mailboxes |
Arguments
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
account_id | str | yes | Account UUID from the route path |
domain | str | yes | Domain UUID or domain name for the mailbox |
first_name | str | yes | |
last_name | str | yes | |
local_part | str | yes |
Returns
Returns
| Field | Type | Required | Description |
|---|---|---|---|
created_at | str | yes | Mailbox creation timestamp |
domain_id | str | yes | Domain UUID for the mailbox |
domain_name | str | yes | Domain name for the mailbox |
first_name | str | yes | Mailbox user first name |
id | str | yes | Mailbox UUID |
last_name | str | yes | Mailbox user last name |
local_part | str | yes | Mailbox local part before the at sign |
primary_email | str | yes | Primary mailbox email address |
quota | {"allowed": int, "used": int} | yes | Mailbox quota usage |
status | str | yes | Mailbox lifecycle status |
updated_at | str | yes | Mailbox last update timestamp |
aliases | [{"alias": str, "is_catch_all"?: bool}] | no | Aliases for the mailbox |
workspace_id | str | null | no | Workspace UUID for the mailbox |
workspace_name | str | null | no | Workspace display name |
A2A example
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
mailboxes.aliases.create
| Property | Value | Property | Value |
|---|---|---|---|
| Requires permission | mailbox.alias.manage | Auth required | yes |
| Execution mode | sync | Capability | mailbox.alias.manage |
| Resource type | account | Resource ID field | account_id |
| Public API route | POST /v1/public/accounts/{account_id}/mailboxes/{mailbox}/aliases |
Arguments
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
account_id | str | yes | Account UUID from the route path |
mailbox | str | yes | Mailbox UUID or email address from the route path |
alias | str | yes | |
is_catch_all | bool | no |
Returns
Returns
| Field | Type | Required | Description |
|---|---|---|---|
alias | str | yes | Mailbox alias email address |
is_catch_all | bool | no | Whether this alias catches all unmatched local parts |
A2A example
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
mailboxes.aliases.delete
| Property | Value | Property | Value |
|---|---|---|---|
| Requires permission | mailbox.alias.manage | Auth required | yes |
| Execution mode | sync | Capability | mailbox.alias.manage |
| Resource type | account | Resource ID field | account_id |
| Public API route | DELETE /v1/public/accounts/{account_id}/mailboxes/{mailbox}/aliases/{alias} |
Arguments
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
account_id | str | yes | Account UUID from the route path |
alias | str | yes | Mailbox alias address from the route path |
mailbox | str | yes | Mailbox UUID or email address from the route path |
Returns
Returns
| Field | Type | Required | Description |
|---|---|---|---|
result | {} | yes |
A2A example
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
mailboxes.bulk_add
| Property | Value | Property | Value |
|---|---|---|---|
| Requires permission | mailbox.create | Auth required | yes |
| Execution mode | sync | Capability | mailbox.create |
| Resource type | account | Resource ID field | account_id |
| Public API route | POST /v1/public/accounts/{account_id}/mailboxes/bulk |
Arguments
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
account_id | str | yes | Account UUID from the route path |
domain | str | yes | Domain UUID or domain name for the mailboxes |
items | [{"first_name": str, "last_name": str, "local_part": str}] | yes |
Returns
Returns
| Field | Type | Required | Description |
|---|---|---|---|
created | [{"index": int, "mailbox": {"created_at": str, "domain_id": str, "domain_name": str, "first_name": str, "id": str, "last_name": str, "local_part": str, "primary_email": str, "quota": {"allowed": int, "used": int}, "status": str, "updated_at": str, "aliases"?: [{"alias": str, "is_catch_all"?: bool}], "workspace_id"?: str | null, "workspace_name"?: str | null}}] | yes | |
failed | [{"code": str, "index": int, "message": str}] | yes |
A2A example
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
mailboxes.get
| Property | Value | Property | Value |
|---|---|---|---|
| Requires permission | mailbox.view | Auth required | yes |
| Execution mode | sync | Capability | mailbox.view |
| Resource type | account | Resource ID field | account_id |
| Public API route | GET /v1/public/accounts/{account_id}/mailboxes/{mailbox} |
Arguments
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
account_id | str | yes | Account UUID from the route path |
mailbox | str | yes | Mailbox UUID or email address from the route path |
Returns
Returns
| Field | Type | Required | Description |
|---|---|---|---|
created_at | str | yes | Mailbox creation timestamp |
domain_id | str | yes | Domain UUID for the mailbox |
domain_name | str | yes | Domain name for the mailbox |
first_name | str | yes | Mailbox user first name |
id | str | yes | Mailbox UUID |
last_name | str | yes | Mailbox user last name |
local_part | str | yes | Mailbox local part before the at sign |
primary_email | str | yes | Primary mailbox email address |
quota | {"allowed": int, "used": int} | yes | Mailbox quota usage |
status | str | yes | Mailbox lifecycle status |
updated_at | str | yes | Mailbox last update timestamp |
aliases | [{"alias": str, "is_catch_all"?: bool}] | no | Aliases for the mailbox |
workspace_id | str | null | no | Workspace UUID for the mailbox |
workspace_name | str | null | no | Workspace display name |
A2A example
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
mailboxes.list
| Property | Value | Property | Value |
|---|---|---|---|
| Requires permission | mailbox.view | Auth required | yes |
| Execution mode | sync | Capability | mailbox.view |
| Resource type | account | Resource ID field | account_id |
| Public API route | GET /v1/public/accounts/{account_id}/mailboxes |
Arguments
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
account_id | str | yes | Account UUID from the route path |
domain | str | null | no | Filter mailboxes by domain UUID or domain name |
page | int | no | One-based mailbox page number |
page_size | int | no | Maximum mailboxes per page |
search | str | null | no | Search by mailbox address or display name |
workspace_id | str | null | no | Filter mailboxes by workspace UUID |
Returns
Returns
| Field | Type | Required | Description |
|---|---|---|---|
items | [{"created_at": str, "domain_id": str, "domain_name": str, "first_name": str, "id": str, "last_name": str, "local_part": str, "primary_email": str, "quota": {"allowed": int, "used": int}, "status": str, "updated_at": str, "aliases"?: [{"alias": str, "is_catch_all"?: bool}], "workspace_id"?: str | null, "workspace_name"?: str | null}] | yes | Mailboxes on this page |
page | int | yes | Current one-based page number |
page_size | int | yes | Maximum items per page |
total | int | yes | Total matching mailboxes |
A2A example
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
mailboxes.reveal_credentials
| Property | Value | Property | Value |
|---|---|---|---|
| Requires permission | mailbox.credential.reveal | Auth required | yes |
| Execution mode | sync | Capability | mailbox.credential.reveal |
| Resource type | account | Resource ID field | account_id |
| Public API route | POST /v1/public/accounts/{account_id}/mailboxes/{mailbox}/reveal-credentials |
Arguments
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
account_id | str | yes | Account UUID from the route path |
mailbox | str | yes | Mailbox UUID or email address from the route path |
Returns
Returns
| Field | Type | Required | Description |
|---|---|---|---|
password | str | yes | |
username | str | yes |
A2A example
A2A example
Request:Response:
MCP example
MCP example
Request:Response:
mailboxes.update
| Property | Value | Property | Value |
|---|---|---|---|
| Requires permission | mailbox.update | Auth required | yes |
| Execution mode | sync | Capability | mailbox.update |
| Resource type | account | Resource ID field | account_id |
| Public API route | PATCH /v1/public/accounts/{account_id}/mailboxes/{mailbox} |
Arguments
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
account_id | str | yes | Account UUID from the route path |
mailbox | str | yes | Mailbox UUID or email address from the route path |
first_name | str | null | no | |
last_name | str | null | no |
Returns
Returns
| Field | Type | Required | Description |
|---|---|---|---|
created_at | str | yes | Mailbox creation timestamp |
domain_id | str | yes | Domain UUID for the mailbox |
domain_name | str | yes | Domain name for the mailbox |
first_name | str | yes | Mailbox user first name |
id | str | yes | Mailbox UUID |
last_name | str | yes | Mailbox user last name |
local_part | str | yes | Mailbox local part before the at sign |
primary_email | str | yes | Primary mailbox email address |
quota | {"allowed": int, "used": int} | yes | Mailbox quota usage |
status | str | yes | Mailbox lifecycle status |
updated_at | str | yes | Mailbox last update timestamp |
aliases | [{"alias": str, "is_catch_all"?: bool}] | no | Aliases for the mailbox |
workspace_id | str | null | no | Workspace UUID for the mailbox |
workspace_name | str | null | no | Workspace display name |
A2A example
A2A example
Request:Response:
MCP example
MCP example
Request:Response: