MCP tools
Every tool the AI Inbx MCP server offers, with its arguments and what a client is told about it before it runs.
The MCP server offers 24 tools for the daily work, and reaches the other 44 operations of the API through four generic tools. Each is an API operation under another name, taking the same fields and answering with the same JSON.
Every tool also takes workspace_id. When a sign-in reaches more than one workspace, the assistant finds the ids with aiinbx_workspaces_list and names one on every call.
Labels
Each tool tells the client what it does before it runs. Clients use this to decide what to ask you before calling it.
| Label | Meaning |
|---|---|
| Read-only | Changes nothing. |
| Writes | Changes something in the workspace. |
| Destructive | Takes away something a later call cannot put back. Clients ask before running it. |
| Reaches outside | Acts beyond the workspace: mail leaves, or a URL someone else runs is called. |
| Outside content | Answers with what somebody outside wrote: mail, subjects, attachment text. The answer says so, and the model reads instructions inside it as data. |
Emails
aiinbx_emails_send
Writes
Reaches outside
Sends an email. Requires a from address on a verified domain or a connected mailbox, and at least one of html or text. thread_id continues a conversation; to answer a message AI Inbx has not seen — mail from before a migration, or from another provider — name it in in_reply_to and references instead. Recipients on a matching suppression list are dropped and reported in suppressed; a pacing rule that holds the message is reported in pacing. Pass Idempotency-Key so a retry after a timeout replays the original send instead of sending twice. A workspace with no plan fails with 402 plan_required, and one that has used its plan’s emails for the month with 402 allowance_reached.
idempotency_key?string
Makes a send safe to retry. Reuse only for the same request body.
stringfromstring | object
The sender, `you@yourdomain.com` or `Name <you@yourdomain.com>`, on a verified domain or a connected mailbox.
string | objecttostring | string[]
Recipients: one address or a list, at most 100.
string | string[]subjectstring
The subject line.
stringthread_id?string
Continue this thread: the email answers its latest message, and `In-Reply-To` and `References` are written from it.
stringin_reply_to?string
The Message-ID this email answers, with or without angle brackets — for a reply to a message AI Inbx may never have seen. When it names an email of yours the send joins that thread; otherwise it opens one. Not with `thread_id`.
stringreferences?string[]
The Message-IDs of the conversation so far, oldest first, written as `References`. `in_reply_to` is added at the end when it is not already there, and stands alone when this is left out. Not with `thread_id`.
string[]cc?string | string[]
Cc recipients: one address or a list, at most 100.
string | string[]bcc?string | string[]
Bcc recipients, hidden from the others: one address or a list, at most 100.
string | string[]reply_to?string | string[]
Where replies go (Reply-To), when not to the sender: one address or a list, at most 100.
string | string[]attachments?object[]
Files to attach, at most 20: `filename`, `content_type` and `content` in base64, and a `cid` to make one an inline image.
object[]headers?object
Extra headers to write on the message. `Message-ID`, `In-Reply-To` and `References` are the API's to write and are refused.
objectsuppression_key?string
The suppression list the send is checked against, besides the workspace-wide `*` list.
stringpacing?object
The send's say over pacing: `skip: true` goes past every rule, `count: false` uses up none of their limits.
objecttracking?object
Overrides the sending domain's tracking settings for this email. Only mail sent from a domain is tracked: `true` on a send from a connected mailbox is refused with `tracking_unavailable`.
objectscheduled_at?string
When to send, as an ISO 8601 time, at most 30 days out.
stringhtml?string
The HTML body.
stringtext?string
The plain-text body.
stringunsubscribe?boolean
Marks the email non-essential: it carries one-click unsubscribe headers, and `optional` suppressions apply to it. One recipient only.
booleanPOST /emails · API reference
aiinbx_emails_list
Read-only
Outside content
Lists emails in the workspace, newest first. Filter by direction, delivery status, a single thread_id, or a literal query: every word in it must appear in the subject, the sender, a recipient or the Message-ID, in any order and case. The query is a literal filter; the API does not provide semantic email search. To sync, walk forward instead: order=asc with after set to the created_at of the last email you have lists only what is new, oldest first.
limit?integer
Maximum number of resources to return.
integercursor?string
Opaque cursor from the previous page.
stringspace?string
Only resources in this space. Pass `none` for resources that belong to the workspace itself (`space_id: null`), or omit for the workspace and all its spaces.
stringafter?string
Only what was created after this instant — `created_at` later than it, the instant itself left out. ISO 8601 with an offset.
stringbefore?string
Only what was created before this instant — `created_at` earlier than it, the instant itself left out. ISO 8601 with an offset.
stringorder?"asc" | "desc"
Which way the list is walked by `created_at`: `desc` is newest first, `asc` oldest first — the order a sync reads in. A cursor is a position, not a direction: send the same `order` with it.
"asc" | "desc"direction?"inbound" | "outbound"
Filter by message direction.
"inbound" | "outbound"status?"scheduled" | "canceled" | "queued" | "sending" | "sent" | "delivered" | "bounced" | "complained" | "failed" | "received"
Filter by delivery status.
"scheduled" | "canceled" | "queued" | "sending" | "sent" | "delivered" | "bounced" | "complained" | "failed" | "received"thread_id?string
Filter to one thread.
stringquery?string
Words to find in the subject, sender, recipients or Message-ID. Every word must match.
stringGET /emails · API reference
aiinbx_emails_retrieve
Read-only
Outside content
Returns one email in full: both bodies, every header, attachments, the delivery event history, and tracked engagements. Pass include=attachment_content to inline each attachment’s prepared text, which saves a request per attachment before handing a message to a model.
email_idstring
The prefixed email ID.
stringinclude?"attachment_content"[]
Expand optional content. Pass attachment_content to include prepared attachment text.
"attachment_content"[]GET /emails/{email_id} · API reference
aiinbx_emails_reschedule
Writes
Reaches outside
Moves a scheduled email to a new time, at most 30 days out. Only a message still in scheduled status can move; one that has begun sending returns 409 not_scheduled.
email_idstring
The prefixed email ID.
stringscheduled_atstring
The new send time, as an ISO 8601 time, at most 30 days out.
stringPATCH /emails/{email_id} · API reference
aiinbx_emails_cancel
Destructive
Cancels a scheduled email before it is composed and sent. Cancellation is terminal — a canceled message cannot be rescheduled back into flight.
email_idstring
The prefixed email ID.
stringPOST /emails/{email_id}/cancel · API reference
Threads
aiinbx_threads_list
Read-only
Outside content
Lists conversations, most recently active first. Every word of query must appear in the subject, the mailbox or a participant’s address, literally and in any order; mailbox narrows to one address.
limit?integer
Maximum number of resources to return.
integercursor?string
Opaque cursor from the previous page.
stringspace?string
Only resources in this space. Pass `none` for resources that belong to the workspace itself (`space_id: null`), or omit for the workspace and all its spaces.
stringquery?string
Words to find in the subject, mailbox or participants. Every word must match.
stringmailbox?string
Filter by mailbox address.
stringGET /threads · API reference
aiinbx_threads_retrieve
Read-only
Outside content
Returns a thread with its messages inline, oldest first. Messages paginate independently of the thread list via message_limit and message_cursor, so a long conversation can be walked without loading it whole.
thread_idstring
The prefixed thread ID.
stringmessage_limit?integer
Maximum messages to return.
integermessage_cursor?string
Continue after this email from the previous page.
stringGET /threads/{thread_id} · API reference
aiinbx_threads_reply
Writes
Reaches outside
Replies within a thread. The sender, recipients, subject, and the In-Reply-To and References headers are inferred from the conversation, so only the content is required — set reply_all or the individual fields to override what is inferred. Suppression, pacing, and idempotency behave exactly as on a send. So does the plan: 402 plan_required without one, 402 allowance_reached once its emails are used up.
idempotency_key?string
Makes a send safe to retry. Reuse only for the same request body.
stringthread_idstring
The prefixed thread ID.
stringfrom?string | object
The sender, `you@yourdomain.com` or `Name <you@yourdomain.com>`. Defaults to the thread's own.
string | objectto?string | string[]
Recipients in place of the ones the thread implies: one address or a list, at most 100.
string | string[]reply_all?boolean
Answer everyone on the thread's latest message, not only its sender.
booleansubject?string
The subject, in place of `Re:` and the thread's.
stringcc?string | string[]
Cc recipients: one address or a list, at most 100.
string | string[]bcc?string | string[]
Bcc recipients, hidden from the others: one address or a list, at most 100.
string | string[]reply_to?string | string[]
Where replies go (Reply-To), when not to the sender: one address or a list, at most 100.
string | string[]attachments?object[]
Files to attach, at most 20: `filename`, `content_type` and `content` in base64, and a `cid` to make one an inline image.
object[]headers?object
Extra headers to write on the message. `Message-ID`, `In-Reply-To` and `References` are the API's to write and are refused.
objectsuppression_key?string
The suppression list the send is checked against, besides the workspace-wide `*` list.
stringpacing?object
The send's say over pacing: `skip: true` goes past every rule, `count: false` uses up none of their limits.
objecttracking?object
Overrides the sending domain's tracking settings for this email. Only mail sent from a domain is tracked: `true` on a send from a connected mailbox is refused with `tracking_unavailable`.
objectscheduled_at?string
When to send, as an ISO 8601 time, at most 30 days out.
stringhtml?string
The HTML body.
stringtext?string
The plain-text body.
stringunsubscribe?boolean
Marks the email non-essential: it carries one-click unsubscribe headers, and `optional` suppressions apply to it. One recipient only.
booleanPOST /threads/{thread_id}/reply · API reference
aiinbx_threads_forward
Writes
Reaches outside
Sends the whole thread as one email to recipients who were not on it. Every message is rendered into one transcript, oldest first, each turn as what its author wrote with quoted tails and repeated signatures removed; the thread’s attachments ride along unless include_attachments is false, and note is placed above the transcript. Only to is required: the sender defaults to the thread’s mailbox and the subject to Fwd: and the thread’s. The forward opens a thread of its own, linked back through forward_of, so a later reply on the original still goes to its participants and replies to the forward land on the forward. Suppression, pacing, scheduling, and idempotency behave exactly as on a send. So does the plan: 402 plan_required without one, 402 allowance_reached once its emails are used up.
idempotency_key?string
Makes a send safe to retry. Reuse only for the same request body.
stringthread_idstring
The prefixed thread ID.
stringfrom?string | object
The sender, `you@yourdomain.com` or `Name <you@yourdomain.com>`. Defaults to the thread's mailbox.
string | objecttostring | string[]
Recipients: one address or a list, at most 100.
string | string[]subject?string
The subject. Defaults to `Fwd:` and the thread's.
stringnote?string
Text placed above the forwarded conversation.
stringinclude_attachments?boolean
Whether the thread's attachments go along.
booleancc?string | string[]
Cc recipients: one address or a list, at most 100.
string | string[]bcc?string | string[]
Bcc recipients, hidden from the others: one address or a list, at most 100.
string | string[]reply_to?string | string[]
Where replies go (Reply-To), when not to the sender: one address or a list, at most 100.
string | string[]attachments?object[]
Files to attach, at most 20: `filename`, `content_type` and `content` in base64, and a `cid` to make one an inline image.
object[]headers?object
Extra headers to write on the message. `Message-ID`, `In-Reply-To` and `References` are the API's to write and are refused.
objectsuppression_key?string
The suppression list the send is checked against, besides the workspace-wide `*` list.
stringpacing?object
The send's say over pacing: `skip: true` goes past every rule, `count: false` uses up none of their limits.
objecttracking?object
Overrides the sending domain's tracking settings for this email. Only mail sent from a domain is tracked: `true` on a send from a connected mailbox is refused with `tracking_unavailable`.
objectscheduled_at?string
When to send, as an ISO 8601 time, at most 30 days out.
stringPOST /threads/{thread_id}/forward · API reference
Domains
aiinbx_domains_list
Read-only
Lists the workspace’s sending domains with their verification state and tracking settings.
limit?integer
Maximum number of resources to return.
integercursor?string
Opaque cursor from the previous page.
stringspace?string
Only resources in this space. Pass `none` for resources that belong to the workspace itself (`space_id: null`), or omit for the workspace and all its spaces.
stringGET /domains · API reference
aiinbx_domains_create
Writes
Registers a sending domain and returns the DNS records to publish: SPF, DKIM, DMARC, a return path, and an MX record for receiving. region selects the regional mail infrastructure for this domain and cannot be changed afterwards.
A wildcard — *.acme.dev — is verified once and covers every subdomain: the MX record goes at *.acme.dev, the rest at acme.dev, and the apex keeps whatever mail setup it has. A name one label under a wildcard of yours — hi.acme.dev under *.acme.dev — is created as a subdomain of it: no records, verified as soon as the wildcard is, in whatever space_id you give it. That is how a platform hands each customer an address of their own without touching DNS again.
A domain name can be connected in multiple workspaces, but sending is enabled for the workspace whose DKIM key is published. To move sending, add the domain in the destination workspace and publish its DNS records. The next verification check updates sending readiness; existing mail remains in its original workspace. Duplicate apex or wildcard identities within one workspace fail with domain_taken.
Every workspace already has one domain it did not add: <slug>.aiinbx.app, listed with provided: true. It is verified through our zone, has no records and cannot be deleted; a name under aiinbx.app cannot be added by hand and fails with reserved_domain.
A domain of its own counts against the plan’s custom domains — a subdomain under a wildcard and the provided domain do not. With none left the request fails with 402 allowance_reached, and a workspace with no plan with 402 plan_required.
track_opens and track_clicks set the domain’s tracking; what they leave out starts as the workspace’s tracking defaults in the console say — off unless they are set there — or, on a subdomain, as its wildcard’s. Change either afterwards with PATCH /domains/{domain_id}.
namestring
A domain, a wildcard (`*.acme.dev`), or one label under a wildcard you own (`hi.acme.dev`) — the last is created as a subdomain with no records.
stringregion?"eu-central-1" | "us-east-1"
The region the domain's mail is handled in.
"eu-central-1" | "us-east-1"space_id?string
Which space a created resource goes in. Omitted, the workspace itself.
stringtrack_opens?boolean
Whether opens are tracked on mail sent from the domain.
booleantrack_clicks?boolean
Whether links are rewritten to track clicks on mail sent from the domain.
booleanPOST /domains · API reference
aiinbx_domains_retrieve
Read-only
Returns one domain with its DNS records and the state of each — pending, verified, or missing — along with when each was last checked.
domain_idstring
The prefixed domain ID.
stringGET /domains/{domain_id} · API reference
aiinbx_domains_update
Writes
Updates whether opens and clicks are tracked on mail sent from the domain. Applies to every send from it that does not say otherwise in tracking, from the next one to leave. At least one field is required.
domain_idstring
The prefixed domain ID.
stringtrack_opens?boolean
Whether opens are tracked on mail sent from the domain.
booleantrack_clicks?boolean
Whether links are rewritten to track clicks on mail sent from the domain.
booleanregion?"eu-central-1" | "us-east-1"
Move a domain that has not verified yet to another region. Its MX and return-path records change with it and start over as pending; DKIM does not. `409 region_fixed` once it is verified, or on a subdomain.
"eu-central-1" | "us-east-1"PATCH /domains/{domain_id} · API reference
aiinbx_domains_delete
Destructive
Deletes a domain and stops future sends from it. Remove the published DNS records afterwards. A wildcard’s subdomains are deleted with it, in whatever space they sit; a subdomain is removed on its own, with nothing to unpublish. The provided domain cannot be deleted and fails with domain_provided.
domain_idstring
The prefixed domain ID.
stringDELETE /domains/{domain_id} · API reference
aiinbx_domains_verify
Writes
Checks the domain’s DNS records against live DNS now. verified_at stays null until the sending identity’s DKIM verification succeeds; inbound MX, SPF, and DMARC readiness are separate. DNS propagation usually takes minutes and occasionally hours, so poll at a sane interval or subscribe to the domain.verified webhook instead. Domains are also rechecked in the background: a domain whose DKIM record stops resolving loses verified_at again and domain.lost is sent.
domain_idstring
The prefixed domain ID.
stringPOST /domains/{domain_id}/verify · API reference
aiinbx_domains_diagnostics
Read-only
Reads the domain’s live DNS zone and reports what is wrong with it — a duplicate SPF record, a permissive policy, a missing return path. Each finding carries a severity, an explanation, the fix, and the records it was drawn from. Nothing is stored; the result always reflects DNS as it is right now.
domain_idstring
The prefixed domain ID.
stringGET /domains/{domain_id}/diagnostics · API reference
Suppressions
aiinbx_suppressions_list
Read-only
Lists suppression entries, filterable by list key, reason, or a substring of the address. blocks and last_blocked_at show how often each entry has actually stopped a send.
limit?integer
Maximum number of resources to return.
integercursor?string
Opaque cursor from the previous page.
stringspace?string
Only resources in this space. Pass `none` for resources that belong to the workspace itself (`space_id: null`), or omit for the workspace and all its spaces.
stringkey?string
Filter by suppression list key.
stringaddress?string
Search recipient addresses.
stringreason?"complaint" | "bounce" | "unsubscribe" | "manual"
Filter by suppression reason.
"complaint" | "bounce" | "unsubscribe" | "manual"GET /suppressions · API reference
aiinbx_suppressions_add
Writes
Adds up to 1000 addresses to a suppression list. key defaults to the workspace-wide * list and scope to all; a scope of optional blocks only sends marked as unsubscribable, so a marketing opt-out does not stop a password reset. Adding an address that is already listed updates the existing entry rather than duplicating it, and never narrows a wider scope. space_id puts the entries on a space’s list, which stops that space’s sends alone; without it they stop every space’s.
addressesstring[]
The addresses to suppress, at most 1,000.
string[]key?string
The list: a `suppression_key` your sends name, or `*` for the workspace-wide one.
stringspace_id?string
Which space a created resource goes in. Omitted, the workspace itself.
stringscope?"all" | "optional"
`all` stops every send; `optional` only sends marked `unsubscribe`.
"all" | "optional"note?string
Why the addresses are listed, for your records.
stringPOST /suppressions · API reference
aiinbx_suppressions_retrieve
Read-only
Returns one suppression entry, including how it was created and how many sends it has stopped.
suppression_idstring
The prefixed suppression ID.
stringGET /suppressions/{suppression_id} · API reference
aiinbx_suppressions_remove
Destructive
Removes a suppression entry, allowing sends to that address again. Removing a bounce or complaint entry means mailing an address that already rejected you or reported you as spam — do it only with specific evidence the address was fixed.
suppression_idstring
The prefixed suppression ID.
stringDELETE /suppressions/{suppression_id} · API reference
Workspace
aiinbx_workspaces_list
Read-only
Lists the workspaces the caller can act in, with its role in each. An API key reaches its own workspace alone. An OAuth token reaches every workspace it was granted, and a request with one that reaches several names the workspace it acts in with the AIInbx-Workspace header, set to an id from here; this list is the one call that needs no header.
It takes no arguments beyond workspace_id.
GET /workspaces · API reference
aiinbx_workspaces_retrieve
Read-only
Returns the workspace the request acts in: its name, its slug, and the tracking defaults a domain added from now on starts with.
It takes no arguments beyond workspace_id.
GET /workspace · API reference
aiinbx_workspaces_update
Writes
Renames the workspace or changes its tracking defaults; only the fields given change. A new name brings a new slug, which moves the console URLs and the provided domain’s name with it, so a workspace can be renamed once a month — sooner fails with 409 rename_cooldown. Tracking defaults apply to domains added from now on; each existing domain keeps its own. Admin only.
name?string
The workspace's name.
stringtracking?object
What a domain added from now on starts with. Only the fields given change; existing domains keep theirs.
objectPATCH /workspace · API reference
Attachments
aiinbx_attachments_content
Read-only
Outside content
Redirects to a short-lived signed URL for the attachment’s prepared text — Markdown where the document has structure, plain text otherwise. Returns 404 not_prepared when the file type has no text to extract or preparation failed.
attachment_idstring
The prefixed attachment ID.
stringGET /attachments/{attachment_id}/content · API reference
Everything else
The rest of the API — spaces, API keys, mailboxes, OAuth apps, webhooks, events, pacing and members — goes through four tools, so a client does not load 44 more definitions into every turn:
| Tool | What it does | Labels |
|---|---|---|
aiinbx_api_list |
Lists every AI Inbx API operation, with its method, path and summary. Pass query to narrow it by words. | Read-only |
aiinbx_api_describe |
What one operation does and the arguments it takes, as a JSON Schema — call it with aiinbx_api_read (GET) or aiinbx_api_write. | Read-only |
aiinbx_api_read |
Calls a GET operation from aiinbx_api_list with its arguments. | Read-only |
aiinbx_api_write |
Calls a POST, PATCH or DELETE operation from aiinbx_api_list with its arguments. Some delete or reach outside the workspace; aiinbx_api_describe says which. | Destructive Reaches outside |
aiinbx_api_read and aiinbx_api_write take the operation’s name, for example pacing_rules_create, as operation, and its fields, workspace_id among them, as arguments. Only the arguments say which write it is, so aiinbx_api_write carries the labels of the worst one. A client that asks before destructive tools asks before every call of it.
Spaces
| Operation | What it does | Labels | API |
|---|---|---|---|
spaces_list |
Lists the workspace’s spaces, oldest first. | Read-only | GET |
spaces_create |
Creates a space — one per customer, typically. | Writes | POST |
spaces_retrieve |
Returns one space by id, with its name and the external_id you gave it. |
Read-only | GET |
spaces_update |
Changes the space’s name or external_id; only the fields given change, and external_id: null clears it. |
Writes | PATCH |
spaces_delete |
Marks the space for deletion and starts its teardown in the background. | Destructive | DELETE |
API Keys
| Operation | What it does | Labels | API |
|---|---|---|---|
api_keys_list |
Lists the workspace’s API keys, newest first. | Read-only | GET |
api_keys_create |
Creates an organization-wide API key and returns its secret exactly once, in the key field. |
Writes | POST |
api_keys_delete |
Deletes a key immediately. | Destructive | DELETE |
Mailboxes
| Operation | What it does | Labels | API |
|---|---|---|---|
mailboxes_list |
Lists connected Gmail and Outlook mailboxes with their sync state. | Read-only | GET |
mailboxes_connect |
Creates a single-use, short-lived URL that walks a customer through authorizing their Gmail or Outlook mailbox. | Writes | POST |
mailboxes_retrieve |
Returns one mailbox, including its state and the provider’s state_reason when there is one. |
Read-only | GET |
mailboxes_disconnect |
Disconnects a mailbox, stopping sync and dropping its stored credentials. | Destructive | DELETE |
mailboxes_sync |
Queues a catch-up sync for a mailbox. | Writes Reaches outside | POST |
OAuth Apps
| Operation | What it does | Labels | API |
|---|---|---|---|
oauth_apps_list |
Lists the workspace’s own Google and Microsoft OAuth apps. | Read-only | GET |
oauth_apps_create |
Registers your own OAuth app so the mailbox consent screen carries your product’s name rather than AI Inbx. | Writes | POST |
oauth_apps_retrieve |
Returns one OAuth app. | Read-only | GET |
oauth_apps_update |
Updates an OAuth app’s credentials, branding or return URLs. | Writes | PATCH |
oauth_apps_delete |
Deletes an OAuth app. | Destructive | DELETE |
Webhooks
| Operation | What it does | Labels | API |
|---|---|---|---|
webhook_endpoints_list |
Lists the workspace’s webhook endpoints with their subscriptions and routing rules. | Read-only | GET |
webhook_endpoints_create |
Registers an organization-wide endpoint and returns its signing secret exactly once, in the secret field: no later read shows it again. |
Writes | POST |
webhook_endpoints_retrieve |
Returns one endpoint, including when a rotated previous secret stops being accepted. | Read-only | GET |
webhook_endpoints_update |
Updates an endpoint’s URL, subscriptions, routing rules, payload, or enabled state. | Writes | PATCH |
webhook_endpoints_delete |
Deletes an endpoint. | Destructive | DELETE |
webhook_endpoints_rotate_secret |
Issues a new signing secret and returns it, once — the only way to get a secret after the endpoint was created. | Destructive | POST |
webhook_endpoints_test |
Delivers a synthetic event to the endpoint and reports what it actually did — status code, duration, error, and the first 2 KB of its response. | Writes Reaches outside | POST |
webhook_endpoints_list_deliveries |
Lists deliveries to an endpoint, filterable by state. | Read-only | GET |
webhook_endpoints_retry_deliveries |
Replays up to 100 deliveries. | Writes Reaches outside | POST |
Events
| Operation | What it does | Labels | API |
|---|---|---|---|
events_list |
Lists the workspace’s events, newest first — every event, recorded when it happens, whether or not a webhook endpoint subscribes to its type. | Read-only Outside content | GET |
events_retrieve |
Returns one event by id — the id of the envelope a webhook delivered, which is also the AIInbx-Event-ID header and a delivery’s event_id. |
Read-only Outside content | GET |
Pacing
| Operation | What it does | Labels | API |
|---|---|---|---|
pacing_rules_list |
Lists the workspace’s pacing rules, both sending-hours and rate-limit kinds. | Read-only | GET |
pacing_rules_create |
Creates a pacing rule. | Writes | POST |
pacing_rules_retrieve |
Returns one pacing rule with its match patterns and its schedule or limit. | Read-only | GET |
pacing_rules_update |
Updates a pacing rule. | Writes | PATCH |
pacing_rules_delete |
Deletes a pacing rule. | Destructive | DELETE |
pacing_rules_retrieve_spread |
Returns the workspace’s send-timing spread, a value from 0 to 100. | Read-only | GET |
pacing_rules_update_spread |
Sets how much randomness is added to send timing. | Writes | PATCH |
pacing_retrieve |
Returns a snapshot of everything pacing is currently holding: a sample of queued messages, the rules in effect, and per-rule counts of how many messages each matched and how many it is holding. | Read-only | GET |
pacing_release |
Releases up to 500 held emails immediately. | Writes Reaches outside | POST |
Members
| Operation | What it does | Labels | API |
|---|---|---|---|
members_list |
Lists everyone in the workspace, earliest to join first, with their role and when they were last active. | Read-only | GET |
members_update |
Changes what a member may do: admin manages the workspace, its members and its keys; member works with mail. |
Destructive | PATCH |
members_remove |
Takes a member’s access away at once. | Destructive | DELETE |
invitations_list |
Lists the invitations nobody has answered, newest first — lapsed ones too, past their expires_at: those can no longer be accepted, and inviting the address again sends a fresh one. |
Read-only | GET |
invitations_create |
Mails an invitation to join the workspace, with a link that is good for seven days. | Writes Reaches outside | POST |
invitations_cancel |
Cancels an invitation that is waiting to be accepted; the link in the mail stops working. | Destructive | DELETE |