Skip to content
Extrovert Docs
Search
Ctrl
K
Cancel
Website
Console
Select theme
Dark
Light
Auto
Introduction
Quickstart
Choose your agent setup
Create an account with your agent
Plain HTTPS recipes
Set up your agent
Zero to first email
Create an inbox
Wait for email and OTPs
Authentication & keys
Email assistant connection
Coming from Agent Mail
Migration guide
Concepts
Connections & access
Team members
Ownership transfers
Agents
Enrollment keys & permissions
Inboxes
Messages, threads & search
Attachments
Webhooks & HMAC
Domains & onboarding
Purchase approvals for agents
Deliverability & limits
Unsubscribes & suppression
TypeScript SDK
SDK guide
Review Loop
The agent contract
MCP
Overview & tools
Wait and resume
Connect an agent host
wait_for_email
Client configuration
API reference
Overview
Enrollment & identity
Inboxes
Messages & threads
wait_for_email
Webhooks
Errors
Endpoints
Overview
ops
Overview
Liveness probe
GET
Readiness probe (checks the store)
GET
This OpenAPI description (YAML)
GET
This OpenAPI description (JSON)
GET
enrollment
Overview
Redeem an enrollment token for an agent key
POST
Read current free-signup availability
GET
Self-signup for a free account + first inbox
POST
Complete verified ownership and exchange the temporary signup key
POST
Introspect the principal behind the agent key
GET
inboxes
Overview
List the agent's inboxes
GET
Create an inbox
POST
List inboxes in a project (or the org subtree with `-`)
GET
Create an inbox in a project
POST
Get an inbox in a project
GET
Delete an inbox in a project
DELETE
Update an inbox in a project
PATCH
Get IMAP/SMTP settings for an inbox in a project
GET
x402 paid purchase of one or more inboxes
POST
Get an inbox
GET
Delete an inbox (tears down the mailbox + authenticated sender)
DELETE
Update an inbox (rename the sender identity / metadata in place)
PATCH
Get IMAP/SMTP connection settings + login for an owned mailbox
GET
messaging
Overview
Read durable outbound status and recipient outcomes
GET
List durably accepted outbound work for a project
GET
List durably accepted outbound work
GET
List durably accepted outbound work in a project inbox
GET
Read an accepted submission's transport and Sent-copy status
GET
Read an accepted submission within its owning project and inbox
GET
Resume a queued durable submission with an optimistic version check
POST
Cancel a queued durable submission with an optimistic version check
POST
Resume a durable submission within its project and inbox
POST
Cancel a durable submission within its project and inbox
POST
Send a message from the inbox (authenticated sender)
POST
Reply in-thread (recipients + threading derived)
POST
Reply in-thread (recipients + threading derived)
POST
List messages in an inbox
GET
Full-text search messages in an inbox
GET
Batch update messages (mark read/unread and/or move folder)
PATCH
Delete a message (move to Trash, or expunge)
DELETE
Mark a message read or unread
PATCH
Download the raw RFC822 (.eml) bytes of a message
GET
Forward a message to new recipients
POST
Get one message by id (owning inbox resolved from the id)
GET
List conversation threads (newest-first)
GET
List conversation threads (newest-first)
GET
Full-text search conversation threads
GET
Full-text search conversation threads
GET
Get one thread with its messages
GET
Get one thread with its messages
GET
Delete a thread (every message; move to Trash or expunge)
DELETE
Block until a matching message arrives (wait_for_email)
POST
wait_for_email (legacy body-addressed form)
POST
Stream events for one inbox (Server-Sent Events)
GET
Stream events across all of the agent's inboxes (Server-Sent Events)
GET
List the contact-list entries governing an inbox
GET
Add an allow/block entry to an inbox's contact lists
POST
Delete a contact-list entry by id
DELETE
attachments
Overview
List a message's attachment metadata
GET
Download one attachment's bytes
GET
webhooks
Overview
List webhooks within the caller's resource boundary (secrets redacted)
GET
Register an inbound HMAC-signed webhook
POST
Get one webhook (secret redacted)
GET
Delete a webhook
DELETE
Update a webhook (url, events, inbox filter, active)
PATCH
domains
Overview
Check which domains are ready to use
GET
Add a delegated or purchased domain
POST
Get one domain's detail, status, and nameserver records
GET
Offboard (remove) a domain from the customer
DELETE
Resume domain setup and health updates after a disconnect
GET
Trigger or refresh verification for a domain
POST
commerce
Overview
Quote a new domain without purchasing it
POST
Request a domain purchase without granting approval or spending
POST
Request a plan change for human approval
POST
List this agent's commerce requests
GET
Get one commerce request and its exact blocker or progress
GET
Cancel an uncommitted commerce request
POST
List commerce approvals for an org
GET
Create an exact-price domain request without charging or registering
POST
Create a reviewable upgrade or downgrade without charging
POST
Get a commerce approval request
GET
Approve once and optionally create bounded future authority
POST
Deny a pending commerce request
POST
Cancel a commerce request before irreversible work
POST
Resume the same idempotent request after a recoverable blocker
POST
Get Stripe's hosted payment-authentication link for a human
GET
List bounded future domain-purchase authority
GET
Create bounded future domain-purchase authority
POST
Update a spend control with version fencing
PUT
Disable a spend control
DELETE
admin
Overview
Preview an organization ownership transfer
POST
Offer an organization to another person
POST
List sent and received ownership offers
GET
Read an ownership offer and its progress
GET
Accept an ownership offer
POST
Decline an ownership offer
POST
Cancel an ownership offer
POST
Set up the recipient's future billing
POST
List your retained billing periods
GET
Open your own billing history
POST
Preview a project transfer
POST
Move reviewed resources to another project
POST
Claim optional console coaching after a new successful manual send
POST
Permanently stop optional internal-email-review coaching
PATCH
Claim optional console coaching after a new successful manual send
POST
Permanently stop optional human-email-review coaching
PATCH
Read personal notification preferences
GET
Change one category or grouping interval with optimistic version checking
PATCH
List current authorized notifications across organizations
GET
View a grouped notification after rechecking current access
GET
List up to 20 personal devices
GET
Enroll or refresh this user’s browser subscription without duplicates
POST
Remove an owned device
DELETE
Rename or pause an owned device
PATCH
Read the deployment’s shared VAPID public key and availability
GET
Send an explicit test to selected owned devices, once per minute
POST
The identity's reachable orgs + projects (landing scope)
GET
List the identity's reachable orgs
GET
Create a child org (admin+ on the parent)
POST
Archive (soft-delete) an org (owner)
DELETE
Update an org's display fields (admin)
PATCH
List the org's projects (viewer)
GET
Create a project in the org (admin)
POST
Archive (soft-delete) a project (admin)
DELETE
Update a project's display fields (admin)
PATCH
List the org's members (viewer)
GET
Remove a member from the org (admin; last-owner guarded)
DELETE
Change a member's role (admin; role-capped, last-owner guarded)
PATCH
List organization invitations (admin)
GET
Invite a member to the org (admin; role-capped)
POST
Queue an invitation email again (admin)
POST
List pending invitations for the verified signed-in email
GET
Read an invitation bound to the verified signed-in email
GET
Accept an invitation using the verified signed-in email
POST
Accept an invitation (identity-only; email-bound)
POST
Claim an agent-created account (identity-only; email-bound)
POST
Revoke a pending invitation (admin)
POST
List enrollment tokens
GET
Issue an enrollment token (secret shown once)
POST
Revoke an enrollment token
DELETE
List issued agent API keys
GET
Issue an agent API key (secret shown once)
POST
Revoke an agent API key
DELETE
List agents
GET
Create an agent identity without issuing credentials
POST
Disable an agent (instantly invalidates its keys)
POST
Re-enable a disabled agent
POST
List onboarded domains
GET
Add a delegated or purchased domain
POST
Get one domain's detail and nameserver records
GET
Recheck delegated domain DNS now
POST
List onboarded domains
GET
Add a delegated or purchased domain
POST
Get one domain's detail and nameserver records
GET
Recheck delegated domain DNS now
POST
The org's deliverability rollup (console)
GET
List the org's deliverability findings (console)
GET
List / search the org's suppression rows
GET
Export the org's suppression rows as CSV
GET
Revoke (un-suppress) one org-scope suppression row
POST
List commerce approvals for an org
GET
Create an exact-price domain request without charging or registering
POST
Create a reviewable upgrade or downgrade without charging
POST
Get a commerce approval request
GET
Approve once and optionally create bounded future authority
POST
Deny a pending commerce request
POST
Cancel a commerce request before irreversible work
POST
Resume the same idempotent request after a recoverable blocker
POST
Get Stripe's hosted payment-authentication link for a human
GET
List bounded future domain-purchase authority
GET
Create bounded future domain-purchase authority
POST
Update a spend control with version fencing
PUT
Disable a spend control
DELETE
List the org's console audit log
GET
List project webhooks
GET
Register a project webhook
POST
Get one project webhook
GET
Delete a project webhook
DELETE
Update a project webhook
PATCH
Get the org's console settings
GET
Update a subset of the org's console settings
PATCH
Get inbox counts and daily message volume
GET
List every inbox in the org
GET
Create an inbox from the console
POST
Permanently delete an inbox and its authenticated sender
DELETE
Update an inbox's enforced daily recipient limit
PATCH
Shared-inbox feed; recent threads across every org inbox
GET
List recent messages for an org inbox
GET
Get a single message (with attachment metadata) for an org inbox
GET
List a message's attachment metadata for an org inbox
GET
Download one attachment's bytes for an org inbox
GET
List persistent threads for an org inbox
GET
Get one persistent thread and its messages
GET
Read transport and Sent-copy status for an org inbox submission
GET
Send a message from an org inbox
POST
Thread-aware console reply from an org inbox
POST
Create a single-use ticket for the console realtime stream
POST
Live Approvals queue stream (console plane, Server-Sent Events)
GET
Approvals queue (Review Loop, console plane)
GET
Get one review (intent + current draft + turns + diff)
GET
Resolve a review's available source conversation
GET
Approve a draft and send it (human authority)
POST
Edit a draft, capture the diff, and send (human authority)
POST
Reject a draft (human authority)
POST
Post a human comment on a review's chat thread (console side-panel)
POST
Browse the category registry (console plane)
GET
Create a category from the console
POST
Get one category (console plane)
GET
Soft-delete a category (console plane, human authority)
DELETE
Rename / re-describe a category (console plane, human authority)
PATCH
Merge a category into another (console plane, human authority)
POST
Graduate a category one rung up (console plane, human authority)
POST
Demote a category one rung down (console plane, human authority)
POST
Read a category's graduation gate status (console plane)
GET
Read a category's backlog reconciliation status (console plane)
GET
Read a category's demand-driven pacing state (console plane)
GET
Run the D19 backlog reconciliation sweep on demand (console plane)
POST
Set a category's risk-dial overrides (console plane, human authority)
PATCH
Read the effective risk dial (console plane)
GET
Set the account-default risk dial (console plane, human authority)
PATCH
Set/clear the never-graduate lock on a category (console plane, human authority)
POST
Read the account-default review policy (console plane)
GET
Set the account-default review policy (console plane, human authority)
PATCH
Set/clear the per-inbox review-policy override (console plane, human authority)
PATCH
Read the effective rule stack (console plane)
GET
Create or edit a shared project rule (console only)
PUT
Promote a shared project rule (console only)
POST
Retire a shared project rule (console only)
POST
Read the rule/category change audit log (console plane)
GET
Undo a rule change (console plane, human authority)
POST
Undo a rule change (console plane, human authority)
POST
List BYO review-agent links (console plane)
GET
Link a BYO review-agent to an inbox (console plane)
POST
Delete a BYO review-agent link (console plane)
DELETE
Inspect the application and requested resource before consent
GET
Authorize a new connection grant
POST
Deny an authorization request
POST
List your connections and independently surviving created credentials
GET
Revoke a connection, optionally including its workers
POST
List activity attributed to this connection
GET
List independently surviving agent keys and enrollment tokens created by a connection
GET
Revoke one created agent key or enrollment token separately from its parent
POST
getSupportSettings
GET
listFeedback
GET
submitFeedback
POST
getFeedback
GET
listSupportCases
GET
createSupportCase
POST
getSupportCase
GET
listSupportCaseEvents
GET
replyToSupportCase
POST
resolveSupportCase
POST
reopenSupportCase
POST
Change automatic feedback policy
POST
Delete standalone feedback
POST
Delete a resolved support case
POST
List case participants
GET
Add or remove a case participant
POST
Read saved and effective signature settings
GET
Update signature preferences with optimistic concurrency
PATCH
Record an authenticated attempt to remove the Extrovert signature
POST
Read signature removal activation state
GET
Confirm scope and remove now or continue to billing
POST
billing
Overview
redeemGift
POST
continueGift
POST
stopGiftRenewal
POST
Receive Stripe billing webhooks
POST
Get org billing state and plan entitlements
GET
Create a Stripe Checkout Session for an Extrovert paid plan
POST
Create a Stripe Checkout Session for an annual managed-domain registration
POST
Create a Stripe Billing Portal Session for payment recovery and subscription management
POST
unsubscribe
Overview
Render the unsubscribe confirmation page
GET
Record an unsubscribe (RFC 8058 one-click or preferences form)
POST
suppressions
Overview
Pre-check a recipient or list the org's suppression rows
GET
Revoke (un-suppress) one org-scope suppression row
POST
gifts
Save unverified gift contact and code availability
POST
Resolve only the intent identified by an opaque resume token
POST
agentTasks
Create a durable activation or review observer
POST
Reconcile and read a durable observer
GET
Cancel observation without cancelling its underlying workflow
POST
auth
Check pending inbox activation
GET
Correct the expected human email
PATCH
reviews
Learn a writing rule from authenticated human feedback
POST
List review requests (Review Loop, agent plane)
GET
Drain review events (non-blocking)
GET
Long-poll for a review event
GET
Ack review events (advance cursor)
POST
Get one review request (current draft + intent + state)
GET
Get a review's append-only thread turns
GET
Get the human's assembled feedback for a review (diff + comments + decision + new rules)
GET
Post a chat turn on a review's thread (agent question)
POST
Post a new agent draft (redraft) under a parent_revision CAS
POST
Withdraw a pending review (composing agent)
POST
Re-stamp a draft's rules-version without redrafting ($0 escape valve)
POST
Get the reviewer's decision context for a review (BYO review-agent plane)
GET
Submit a reviewer decision (approve/edit/reject/escalate)
POST
categories
Browse the category registry (Review Loop, agent plane)
GET
Propose a new category (agent plane)
POST
Get one category (agent plane)
GET
Rename / re-describe a category (agent plane, metadata only)
PUT
Consolidate duplicate new categories
POST
Read the effective risk dial (Review Loop, agent plane)
GET
Read a category's graduation gate status (agent plane)
GET
Propose graduating a category (agent plane; cannot flip the bit)
POST
Read the D19 backlog-reconciliation status (agent plane)
GET
Read the demand-driven pacing state for a category (agent plane)
GET
reputation
The caller's org deliverability rollup
GET
List the org's deliverability findings
GET
rules
Get the ordered writing-rule set (precedence ladder applied)
GET
Save a writing rule (append-only by supersession)
PUT
Read the rule/category change audit log (agent plane, read-only)
GET
Undo a rule change (restore the prior version)
POST
Promote a rule between the category and general/house-style layers
POST
Retire a rule (soft delete)
POST
jobs
Poll an async job's status
GET
Connections
Create a project manager key from direct human consent
POST
Create an independently surviving credential
POST
support
getSupportSettings
GET
listFeedback
GET
submitFeedback
POST
getFeedback
GET
listSupportCases
GET
createSupportCase
POST
getSupportCase
GET
listSupportCaseEvents
GET
replyToSupportCase
POST
resolveSupportCase
POST
reopenSupportCase
POST
getSupportSettings
GET
listFeedback
GET
submitFeedback
POST
getFeedback
GET
listSupportCases
GET
createSupportCase
POST
getSupportCase
GET
listSupportCaseEvents
GET
replyToSupportCase
POST
resolveSupportCase
POST
reopenSupportCase
POST
Discover support capabilities and authorized project choices
GET
Payments
x402 test mode
Operating Extrovert
Support cases and feedback
Signatures
Keep your agent current
Package and MCP availability
Rate limits & quotas
Self-host
Website
Console
Select theme
Dark
Light
Auto
Overview
Copy Markdown
Open
Open in ChatGPT
Open in Claude
View in Markdown
inboxes
Section titled “inboxes”
Create, list, get, update, and delete inboxes. Paid plans can also fetch mail-client credentials.