AgentiSend
Server Details
AgentiSend is a transactional email API: send through verified domains with a message log, budgets, a preflight and refusals that name the fix; built so AI agents can send on your behalf. The hosted MCP server at https://api.agentisend.com/mcp exposes 82 tools (44 on tools/list; the rest via list_more_tools). A send is one message or a batch of up to 500 items with per-item results. preflight_email runs every gate a real send runs, sends nothing, and costs nothing. Every 4xx returns code, message, and fix. There is no tool for unsolicited mail. Auth is a bearer API key or OAuth 2.1 with dynamic client registration. Starter prompts: "Send this receipt to the customer." "Preflight this send and tell me what would stop it." "What can I spend today?"
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 35.1% over 22 days
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- fortuneflick/agentisend-claude-plugin
- GitHub Stars
- 0
TDQS
Scored across 44 tools
Most tools target a distinct resource and action, and the 'NOT for' guidance is unusually clear. However, several diagnostic/status tools overlap: whoami duplicates budget, trust, and kill-switch state; explain_email and why_was_this_not_sent both diagnose non-delivery; get_email and get_email_events both return event timelines. These are mostly resolvable from descriptions, but they leave a few boundary cases.
The set is overwhelmingly snake_case verb_noun (send_email, list_domains, create_webhook, verify_domain). A few outliers—whoami, why_was_this_not_sent, preflight_email, setup_domain—break the pattern slightly but remain readable and intentional. Overall very consistent with minor deviations.
44 tools is far above the 25-tool threshold that indicates an oversized surface for an agent to navigate. Although the domain is broad and many tools are distinct, the selection burden is high and several tools could be consolidated (e.g., whoami vs. individual status reads, get_email vs. get_email_events).
Core sending workflows are well covered: single/batch sends, scheduling, cancellation, preflight, suppression management, domain setup, and received mail. However, notable CRUD gaps exist—no create/update/delete for templates, no delete for domains, no update for webhooks, and no get_metrics despite being referenced. These gaps would block agents needing full lifecycle management.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
10 tool updates
- Changed
add_suppression1 field changed- added
Input schema / properties / originAdded value: +{ + "description": "Why the address is blocked. Defaults to manual.", + "enum": [ + "bounce", + "complaint", + "manual" + ], + "type": "string" +}
- Changed
create_domain9 fields changed- added
Input schema / properties / click_trackingAdded value: +{ + "description": "Rewrite links and record clicks. Default false. Same field as POST /domains.", + "type": "boolean" +} - added
Input schema / properties / open_trackingAdded value: +{ + "description": "Record opens. Default false. Same field as POST /domains.", + "type": "boolean" +} - changed
Input schema / properties / return_path_subdomain / descriptionPrevious value: -"Label for the return-path host. send is the default. bounce when send already has an MX pointing elsewhere."New value: +"Label for the return-path host, up to 63 characters, starting with a letter. send is the default. Pick another label, such as bounce, when send already has an MX pointing elsewhere." - removed
Input schema / properties / return_path_subdomain / enumRemoved value: -[ - "send", - "bounce" -] - added
Input schema / properties / return_path_subdomain / maxLengthAdded value: +63 - added
Input schema / properties / return_path_subdomain / minLengthAdded value: +1 - added
Input schema / properties / return_path_subdomain / patternAdded value: +"^[a-z](?:[a-z0-9-]{0,61}[a-z0-9])?$" - added
Input schema / properties / trackingAdded value: +{ + "description": "Include the tracking records. Default true. false omits them. Tracking is never required to verify.", + "type": "boolean" +} - added
Input schema / properties / tracking_subdomainAdded value: +{ + "description": "Relative host for click and open links. Default links, which becomes links.yourdomain.com.", + "maxLength": 253, + "minLength": 1, + "type": "string" +}
- Changed
list_emails2 fields changed- added
Input schema / properties / tagAdded value: +{ + "description": "name:value, for example campaign:welcome. Only mail carrying that tag.", + "minLength": 1, + "type": "string" +} - changed
Input schema / properties / to / descriptionPrevious value: -"Only mail whose recipients include this address."New value: +"Only mail whose to, cc or bcc contains this address."
- Changed
list_suppressions2 fields changed- changed
Input schema / properties / email / descriptionPrevious value: -"Check one address instead of listing."New value: +"Read one address instead of listing." - added
Input schema / properties / originAdded value: +{ + "description": "Only rows from bounce, complaint or manual.", + "enum": [ + "bounce", + "complaint", + "manual" + ], + "type": "string" +}
- Changed
preflight_email15 fields changed- added
Input schema / properties / attachmentsAdded value: +{ + "description": "Files to attach (max 100). One with content_id is an inline image.", + "items": { + "properties": { + "content": { + "description": "File bytes, base64-encoded.", + "minLength": 1, + "type": "string" + }, + "content_id": { + "description": "Inline image id. HTML refers to it as cid: followed by this value.", + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "content_type": { + "description": "MIME type; guessed from the name if omitted.", + "type": "string" + }, + "filename": { + "description": "Name the recipient sees.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "filename", + "content" + ], + "type": "object" + }, + "maxItems": 100, + "type": "array" +} - added
Input schema / properties / bccAdded value: +{ + "anyOf": [ + { + "minLength": 3, + "type": "string" + }, + { + "items": { + "minLength": 3, + "type": "string" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" + } + ], + "description": "Blind carbon-copy addresses — one string or a list." +} - added
Input schema / properties / ccAdded value: +{ + "anyOf": [ + { + "minLength": 3, + "type": "string" + }, + { + "items": { + "minLength": 3, + "type": "string" + }, + "maxItems": 50, + "minItems": 1, + "type": "array" + } + ], + "description": "Carbon-copy addresses — one string or a list." +} - added
Input schema / properties / headersAdded value: +{ + "additionalProperties": { + "type": "string" + }, + "description": "Extra RFC 5322 headers.", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - changed
Input schema / properties / html / descriptionPrevious value: -"HTML body. Provide html or text."New value: +"HTML body. Provide html, text or template_id." - added
Input schema / properties / reply_toAdded value: +{ + "anyOf": [ + { + "minLength": 3, + "type": "string" + }, + { + "items": { + "minLength": 3, + "type": "string" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + } + ], + "description": "Where replies should go, if not the from address." +} - added
Input schema / properties / scheduled_atAdded value: +{ + "description": "ISO 8601 time, or a short phrase (\"in 1 hour\", \"tomorrow 9am\").", + "type": "string" +} - changed
Input schema / properties / subject / descriptionPrevious value: -"Subject line."New value: +"Subject line. Optional when template_id names a template that has one." - added
Input schema / properties / tagsAdded value: +{ + "additionalProperties": { + "type": "string" + }, + "description": "Your own labels, returned on every event for this message.", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Input schema / properties / template_idAdded value: +{ + "description": "Send a published template instead of an inline body.", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" +} - added
Input schema / properties / template_valuesAdded value: +{ + "additionalProperties": {}, + "description": "Values for the template variables.", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - changed
Input schema / properties / text / descriptionPrevious value: -"Plain-text body. Provide html or text."New value: +"Plain-text body. Provide html, text or template_id." - added
Input schema / properties / timezoneAdded value: +{ + "description": "Time zone for a scheduled_at phrase such as \"tomorrow 9am\". An ISO time ignores this. Example: America/Los_Angeles. Omitted phrases are read in UTC.", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / topic_idAdded value: +{ + "description": "Subscription topic. Naming one screens every recipient against what they said about that topic.", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" +} - changed
Input schema / requiredPrevious value: -[ - "from", - "to", - "subject" -]New value: +[ + "from", + "to" +]
- Changed
remove_suppression2 fields changed- added
Input schema / properties / emailAdded value: +{ + "description": "The address, when you do not have the id.", + "minLength": 3, + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "suppression_id" -]
- Changed
reschedule_email1 field changed- added
Input schema / properties / timezoneAdded value: +{ + "description": "Time zone for a scheduled_at phrase such as \"tomorrow 9am\". An ISO time ignores this. Example: America/Los_Angeles. Omitted phrases are read in UTC.", + "minLength": 1, + "type": "string" +}
- Changed
send_batch7 fields changed- changed
Input schema / properties / emails / descriptionPrevious value: -"The emails to send (max 100 per call)."New value: +"The emails to send (max 500 per call, the same ceiling as POST /emails/batch)." - added
Input schema / properties / emails / items / properties / attachmentsAdded value: +{ + "description": "Files to attach (max 100). One with content_id is an inline image.", + "items": { + "properties": { + "content": { + "description": "File bytes, base64-encoded.", + "minLength": 1, + "type": "string" + }, + "content_id": { + "description": "Inline image id. HTML refers to it as cid: followed by this value.", + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "content_type": { + "description": "MIME type; guessed from the name if omitted.", + "type": "string" + }, + "filename": { + "description": "Name the recipient sees.", + "minLength": 1, + "type": "string" + } + }, + "required": [ + "filename", + "content" + ], + "type": "object" + }, + "maxItems": 100, + "type": "array" +} - added
Input schema / properties / emails / items / properties / headersAdded value: +{ + "additionalProperties": { + "type": "string" + }, + "description": "Extra RFC 5322 headers.", + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Input schema / properties / emails / items / properties / timezoneAdded value: +{ + "description": "Time zone for a scheduled_at phrase such as \"tomorrow 9am\". An ISO time ignores this. Example: America/Los_Angeles. Omitted phrases are read in UTC.", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / emails / items / properties / topic_idAdded value: +{ + "description": "Subscription topic. Naming one screens every recipient against what they said about that topic. A message to one recipient adds the one-click unsubscribe headers. A message to more than one does not: that header would unsubscribe the wrong person.", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$", + "type": "string" +} - changed
Input schema / properties / emails / items / requiredPrevious value: -[ - "from", - "to", - "subject" -]New value: +[ + "from", + "to" +] - changed
Input schema / properties / emails / maxItemsPrevious value: -100New value: +500
- Changed
send_email4 fields changed- changed
Input schema / properties / attachments / descriptionPrevious value: -"Files to attach (max 100)."New value: +"Files to attach (max 100). One with content_id is an inline image." - added
Input schema / properties / attachments / items / properties / content_idAdded value: +{ + "description": "Inline image id. HTML refers to it as cid: followed by this value.", + "maxLength": 255, + "minLength": 1, + "type": "string" +} - changed
Input schema / properties / scheduled_at / descriptionPrevious value: -"ISO 8601 time to send at. Future times wait; cancel or reschedule until then."New value: +"ISO 8601 time to send at, or a phrase such as \"tomorrow 9am\". Future times wait; cancel or reschedule until then." - added
Input schema / properties / timezoneAdded value: +{ + "description": "Time zone for a scheduled_at phrase such as \"tomorrow 9am\". An ISO time ignores this. Example: America/Los_Angeles. Omitted phrases are read in UTC.", + "minLength": 1, + "type": "string" +}
- Changed
whoami1 field changed- added
Output schema / properties / loop_guardAdded value: +{ + "description": "How this key watches sends. repetition-only (the default) holds near-identical repeats. full also holds a send to an inbox the last hour collapsed onto. off holds nothing. A marketing send on a key with no setting still uses full.", + "enum": [ + "off", + "repetition-only", + "full" + ], + "type": "string" +}
44 tool updates
- Changed
add_suppression1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "email": { + "type": "string" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "level": { + "type": "string" + }, + "origin": { + "type": "string" + } + }, + "type": "object" +}
- Changed
cancel_email4 fields changed- added
Input schema / properties / email_id / formatAdded value: +"uuid" - removed
Input schema / properties / email_id / minLengthRemoved value: -1 - added
Input schema / properties / email_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "status": { + "description": "The message status.", + "type": "string" + } + }, + "type": "object" +}
- Changed
create_domain2 fields changed- changed
Input schema / properties / region / descriptionPrevious value: -"us (Oregon) or eu (Helsinki). Default us. Legacy names us-east-1, sa-east-1 and ap-northeast-1 map to us; eu-west-1 maps to eu."New value: +"us or eu. Default us. Recorded on the domain; today all mail is sent from our US nodes, and eu domains move to EU sending automatically when it ships. Legacy names us-east-1, sa-east-1 and ap-northeast-1 map to us; eu-west-1 maps to eu." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "name": { + "type": "string" + }, + "records": { + "description": "Each DNS record with its status.", + "items": {}, + "type": "array" + }, + "region": { + "type": "string" + }, + "status": { + "description": "pending, verified, failed or temporary_failure.", + "type": "string" + }, + "tls_mode": { + "description": "opportunistic or enforced.", + "type": "string" + } + }, + "type": "object" +}
- Changed
create_webhook8 fields changed- changed
Input schema / properties / events / descriptionPrevious value: -"Event types to subscribe to. Defaults to [\"*\"] — everything."New value: +"Event types to subscribe to, spelled as in the event catalogue. Defaults to [\"*\"] — everything. A name that is not a real event type is refused." - added
Input schema / properties / events / items / anyOfAdded value: +[ + { + "const": "*", + "type": "string" + }, + { + "enum": [ + "email.queued", + "email.sent", + "email.delivered", + "email.delivery_delayed", + "email.bounced", + "email.complained", + "email.opened", + "email.clicked", + "email.failed", + "email.scheduled", + "email.canceled", + "email.suppressed", + "domain.created", + "domain.verified", + "domain.failed", + "domain.updated", + "domain.deleted", + "suppression.added", + "suppression.removed", + "limit.warning", + "limit.exceeded", + "agent.approval_requested", + "agent.approved", + "agent.rejected", + "agent.killed", + "contact.created", + "contact.updated", + "contact.deleted", + "segment.joined", + "segment.left", + "segment.created", + "segment.updated", + "segment.deleted", + "broadcast.scheduled", + "broadcast.sent", + "broadcast.updated", + "automation.triggered", + "email.received", + "topic.created", + "topic.updated", + "topic.deleted", + "contact.subscribed", + "contact.unsubscribed", + "trust.warning", + "trust.throttled", + "trust.paused", + "trust.appealed", + "trust.restored" + ], + "type": "string" + } +] - removed
Input schema / properties / events / items / minLengthRemoved value: -1 - removed
Input schema / properties / events / items / typeRemoved value: -"string" - added
Input schema / properties / payload_formatAdded value: +{ + "description": "native is the default envelope. resend is {type, created_at, data} with data.email_id, data.to and data.bounce.type, subType and diagnosticCode.", + "enum": [ + "native", + "resend" + ], + "type": "string" +} - added
Input schema / properties / svix_compatAdded value: +{ + "description": "Also sign each delivery with svix-id, svix-timestamp and svix-signature, so a verifier written for those headers keeps working.", + "type": "boolean" +} - changed
Input schema / properties / url / descriptionPrevious value: -"An http or https URL to deliver to."New value: +"An https URL on a public host to deliver to." - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "disabled": { + "type": "boolean" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "events": {}, + "id": { + "description": "Identifier.", + "type": "string" + }, + "secret": { + "description": "The signing secret, shown once." + }, + "url": { + "type": "string" + } + }, + "type": "object" +}
- Changed
delete_contact4 fields changed- added
Input schema / properties / contact_id / formatAdded value: +"uuid" - removed
Input schema / properties / contact_id / minLengthRemoved value: -1 - added
Input schema / properties / contact_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "deleted": { + "type": "boolean" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" +}
- Changed
delete_webhook4 fields changed- added
Input schema / properties / webhook_id / formatAdded value: +"uuid" - removed
Input schema / properties / webhook_id / minLengthRemoved value: -1 - added
Input schema / properties / webhook_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "deleted": { + "type": "boolean" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" +}
- Changed
explain_email4 fields changed- added
Input schema / properties / email_id / formatAdded value: +"uuid" - removed
Input schema / properties / email_id / minLengthRemoved value: -1 - added
Input schema / properties / email_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "actions": { + "items": { + "additionalProperties": {}, + "properties": { + "call": { + "description": "Method, path and body, when a call fixes it." + }, + "do": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "evidence": {}, + "id": { + "description": "Identifier.", + "type": "string" + }, + "retryable": { + "type": "boolean" + }, + "status": { + "type": "string" + }, + "verdict": { + "type": "string" + }, + "what_happened": { + "type": "string" + } + }, + "type": "object" +}
- Changed
get_agent_budget1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "api_key_id": { + "description": "Identifier.", + "type": "string" + }, + "api_key_name": { + "type": "string" + }, + "budget_per_period": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Null: metered but unlimited." + }, + "consumed_in_period": { + "type": "number" + }, + "consumed_in_window": { + "type": "number" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "period": { + "type": "string" + }, + "period_resets_at": { + "description": "ISO 8601 time.", + "type": "string" + }, + "period_started_at": { + "description": "ISO 8601 time.", + "type": "string" + }, + "rate_ceiling_per_minute": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "remaining": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" +}
- Changed
get_domain1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "name": { + "type": "string" + }, + "records": { + "description": "Each DNS record with its status.", + "items": {}, + "type": "array" + }, + "region": { + "type": "string" + }, + "status": { + "description": "pending, verified, failed or temporary_failure.", + "type": "string" + }, + "tls_mode": { + "description": "opportunistic or enforced.", + "type": "string" + } + }, + "type": "object" +}
- Changed
get_email4 fields changed- added
Input schema / properties / email_id / formatAdded value: +"uuid" - removed
Input schema / properties / email_id / minLengthRemoved value: -1 - added
Input schema / properties / email_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "created_at": { + "description": "ISO 8601 time.", + "type": "string" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "from": { + "type": "string" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "status": { + "type": "string" + }, + "subject": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "to": { + "description": "The recipients." + } + }, + "type": "object" +}
- Changed
get_email_events1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
get_kill_switch_state1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "paused": { + "type": "boolean" + }, + "paused_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ISO 8601 time, or null." + }, + "paused_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "resume_with": { + "description": "What a person does to lift it.", + "type": "string" + } + }, + "type": "object" +}
- Changed
get_received_email4 fields changed- added
Input schema / properties / received_id / formatAdded value: +"uuid" - removed
Input schema / properties / received_id / minLengthRemoved value: -1 - added
Input schema / properties / received_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" +}
- Changed
get_trust_standing1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "next_review_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ISO 8601 time, or null." + }, + "reasons": { + "description": "Why the standing moved. Each reason carries metric, value and threshold. Empty while the state is ok.", + "items": { + "additionalProperties": {}, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metric": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "bounce or complaint, or null when a person moved the standing." + }, + "samples": { + "description": "Up to five of the messages behind this reason.", + "items": {}, + "type": "array" + }, + "since": { + "type": "string" + }, + "stream": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "threshold": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "The line the rate crossed, same units as value." + }, + "value": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "The measured rate, as a fraction." + }, + "window": { + "description": "The window both numbers were measured over, in days.", + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "state": { + "description": "ok, warning, throttled or paused.", + "type": "string" + }, + "streams": { + "description": "Each stream’s own standing: transactional and marketing." + } + }, + "type": "object" +}
- Changed
list_agent_actions1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "created_at": { + "description": "ISO 8601 time.", + "type": "string" + }, + "decided_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ISO 8601 time, or null." + }, + "decision_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "kind": { + "type": "string" + }, + "request_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "requested_by_agent": { + "type": "boolean" + }, + "state": { + "description": "pending, approved, rejected or killed.", + "type": "string" + }, + "summary": { + "description": "Shapes of the held message, never its contents." + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_contacts1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_domains1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_emails7 fields changed- added
Input schema / properties / domainAdded value: +{ + "description": "Only mail sent from this domain.", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / fromAdded value: +{ + "description": "Only mail from this address. The display name is ignored.", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / qAdded value: +{ + "description": "Search the subject, a recipient, or the start of the message id.", + "maxLength": 200, + "minLength": 1, + "type": "string" +} - added
Input schema / properties / sinceAdded value: +{ + "description": "Only mail created at or after this instant (ISO-8601).", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / toAdded value: +{ + "description": "Only mail whose recipients include this address.", + "minLength": 1, + "type": "string" +} - added
Input schema / properties / untilAdded value: +{ + "description": "Only mail created at or before this instant (ISO-8601).", + "minLength": 1, + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_more_tools2 fields changed- added
Input schema / properties / idempotency_keyAdded value: +{ + "description": "Your own key for this action. Retrying with the same key returns the first result instead of doing it twice — send one whenever a retry could double the effect.", + "maxLength": 255, + "minLength": 1, + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "category": { + "type": "string" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "required_scopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "title": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_oauth_grants1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_pending_approvals1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "created_at": { + "description": "ISO 8601 time.", + "type": "string" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "kind": { + "type": "string" + }, + "summary": {} + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_received_emails1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_segments1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_suppressions1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_templates1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_threads1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
list_webhooks1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "data": { + "description": "This page of rows.", + "items": { + "additionalProperties": {}, + "properties": { + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "has_more": { + "description": "True when another page follows.", + "type": "boolean" + }, + "next_cursor": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "Pass back as cursor for the next page; null on the last page." + } + }, + "type": "object" +}
- Changed
preflight_email2 fields changed- added
Input schema / properties / idempotency_keyAdded value: +{ + "description": "Your own key for this action. Retrying with the same key returns the first result instead of doing it twice — send one whenever a retry could double the effect.", + "maxLength": 255, + "minLength": 1, + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "checks": { + "description": "Each gate by name, with what it found." + }, + "error": { + "description": "The refusal the real send would return, or null." + }, + "ok": { + "description": "What the real send would answer.", + "type": "boolean" + }, + "simulated": { + "description": "True when every recipient is a simulator address.", + "type": "boolean" + } + }, + "type": "object" +}
- Changed
publish_template4 fields changed- added
Input schema / properties / template_id / formatAdded value: +"uuid" - removed
Input schema / properties / template_id / minLengthRemoved value: -1 - added
Input schema / properties / template_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "template_id": { + "description": "Identifier.", + "type": "string" + }, + "version_number": { + "type": "number" + } + }, + "type": "object" +}
- Changed
remove_suppression4 fields changed- added
Input schema / properties / suppression_id / formatAdded value: +"uuid" - removed
Input schema / properties / suppression_id / minLengthRemoved value: -1 - added
Input schema / properties / suppression_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "removed": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
render_template4 fields changed- added
Input schema / properties / template_id / formatAdded value: +"uuid" - removed
Input schema / properties / template_id / minLengthRemoved value: -1 - added
Input schema / properties / template_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "rendered": { + "description": "The rendered subject and body." + } + }, + "type": "object" +}
- Changed
reply_to_email4 fields changed- added
Input schema / properties / received_id / formatAdded value: +"uuid" - removed
Input schema / properties / received_id / minLengthRemoved value: -1 - added
Input schema / properties / received_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "status": { + "description": "The message status.", + "type": "string" + } + }, + "type": "object" +}
- Changed
request_approval1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "action_id": { + "description": "Identifier.", + "type": "string" + }, + "check_with": { + "description": "How to hear the decision.", + "type": "string" + }, + "created_at": { + "description": "ISO 8601 time.", + "type": "string" + }, + "decided_by_human_at": { + "description": "Where a person decides it.", + "type": "string" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "sent": { + "description": "Always false: asking sends nothing.", + "type": "boolean" + }, + "state": { + "type": "string" + } + }, + "type": "object" +}
- Changed
reschedule_email4 fields changed- added
Input schema / properties / email_id / formatAdded value: +"uuid" - removed
Input schema / properties / email_id / minLengthRemoved value: -1 - added
Input schema / properties / email_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "scheduled_at": { + "description": "ISO 8601 time.", + "type": "string" + }, + "status": { + "type": "string" + } + }, + "type": "object" +}
- Changed
revoke_oauth_grant1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "deleted": { + "type": "boolean" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" +}
- Changed
send_batch1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "failed": { + "type": "number" + }, + "results": { + "description": "One result per item, in the order sent.", + "items": {}, + "type": "array" + }, + "sent": { + "type": "number" + } + }, + "type": "object" +}
- Changed
send_email1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "status": { + "description": "The message status.", + "type": "string" + } + }, + "type": "object" +}
- Changed
set_limit4 fields changed- added
Input schema / properties / api_key_id / formatAdded value: +"uuid" - removed
Input schema / properties / api_key_id / minLengthRemoved value: -1 - added
Input schema / properties / api_key_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "api_key_id": { + "description": "Identifier.", + "type": "string" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "updated": { + "type": "boolean" + } + }, + "type": "object" +}
- Changed
setup_domain2 fields changed- added
Input schema / properties / idempotency_keyAdded value: +{ + "description": "Your own key for this action. Retrying with the same key returns the first result instead of doing it twice — send one whenever a retry could double the effect.", + "maxLength": 255, + "minLength": 1, + "type": "string" +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "commands": { + "description": "Copy-paste commands for common DNS providers." + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "provider_hints": {}, + "records": { + "items": {}, + "type": "array" + }, + "zone_file": { + "description": "The records as a zone file, required ones first." + } + }, + "type": "object" +}
- Changed
upsert_contact1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "email": { + "type": "string" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + } + }, + "type": "object" +}
- Changed
verify_domain1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "id": { + "description": "Identifier.", + "type": "string" + }, + "name": { + "type": "string" + }, + "records": { + "description": "Each DNS record with its status.", + "items": {}, + "type": "array" + }, + "region": { + "type": "string" + }, + "status": { + "description": "pending, verified, failed or temporary_failure.", + "type": "string" + }, + "tls_mode": { + "description": "opportunistic or enforced.", + "type": "string" + } + }, + "type": "object" +}
- Changed
wait_for_domain1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "deadline": { + "description": "When the 72-hour window closes." + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "next_poll_seconds": { + "description": "When the server checks again." + }, + "progress": { + "description": "required_verified of required_total." + }, + "reason": {}, + "status": { + "type": "string" + } + }, + "type": "object" +}
- Changed
whoami1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "account_id": { + "description": "Identifier.", + "type": "string" + }, + "api_key_id": { + "description": "Identifier.", + "type": "string" + }, + "api_key_name": { + "type": "string" + }, + "budget": { + "additionalProperties": {}, + "properties": { + "api_key_id": { + "description": "Identifier.", + "type": "string" + }, + "api_key_name": { + "type": "string" + }, + "budget_per_period": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Null: metered but unlimited." + }, + "consumed_in_period": { + "type": "number" + }, + "consumed_in_window": { + "type": "number" + }, + "period": { + "type": "string" + }, + "period_resets_at": { + "description": "ISO 8601 time.", + "type": "string" + }, + "period_started_at": { + "description": "ISO 8601 time.", + "type": "string" + }, + "rate_ceiling_per_minute": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + }, + "remaining": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" + }, + "callable_tools": { + "items": { + "type": "string" + }, + "type": "array" + }, + "can_send_now": { + "description": "True when a real recipient would be accepted.", + "type": "boolean" + }, + "can_send_to_simulator": { + "description": "True when an address ending in @simulator.agentisend.com would be accepted.", + "type": "boolean" + }, + "capacity": { + "additionalProperties": {}, + "description": "How fast mail can leave today.", + "properties": { + "per_mail_system_per_hour": { + "description": "Messages an hour this account can hand one receiving mail system. 10 until the account is 7 days old; after that, its share of the pool. Mail over it waits.", + "type": "number" + }, + "shared_pool_per_mail_system_per_hour": { + "description": "Messages an hour all customers together can hand one receiving mail system.", + "type": "number" + } + }, + "type": "object" + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "kill_switch": { + "additionalProperties": {}, + "properties": { + "paused": { + "type": "boolean" + }, + "paused_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ISO 8601 time, or null." + }, + "paused_reason": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "resume_with": { + "description": "What a person does to lift it.", + "type": "string" + } + }, + "type": "object" + }, + "pending_approvals": { + "type": "number" + }, + "quota_resets_at": { + "description": "ISO 8601 time.", + "type": "string" + }, + "rate_limits_per_minute": { + "additionalProperties": { + "type": "number" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "scopes": { + "items": { + "type": "string" + }, + "type": "array" + }, + "sending_domains": { + "additionalProperties": {}, + "description": "The domain cap create_domain enforces for this account.", + "properties": { + "limit": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "Verified sending domains this plan may hold. Null when the plan has no domain cap." + } + }, + "type": "object" + }, + "test_send": { + "description": "Where a first test can go before a domain verifies, or null." + }, + "trust": { + "additionalProperties": {}, + "properties": { + "next_review_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ISO 8601 time, or null." + }, + "reasons": { + "description": "Why the standing moved. Each reason carries metric, value and threshold. Empty while the state is ok.", + "items": { + "additionalProperties": {}, + "properties": { + "code": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metric": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "bounce or complaint, or null when a person moved the standing." + }, + "samples": { + "description": "Up to five of the messages behind this reason.", + "items": {}, + "type": "array" + }, + "since": { + "type": "string" + }, + "stream": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "threshold": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "The line the rate crossed, same units as value." + }, + "value": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "null" + } + ], + "description": "The measured rate, as a fraction." + }, + "window": { + "description": "The window both numbers were measured over, in days.", + "type": "number" + } + }, + "type": "object" + }, + "type": "array" + }, + "state": { + "description": "ok, warning, throttled or paused.", + "type": "string" + }, + "streams": { + "description": "Each stream’s own standing: transactional and marketing." + } + }, + "type": "object" + } + }, + "type": "object" +}
- Changed
why_was_this_not_sent4 fields changed- added
Input schema / properties / email_id / formatAdded value: +"uuid" - removed
Input schema / properties / email_id / minLengthRemoved value: -1 - added
Input schema / properties / email_id / patternAdded value: +"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": {}, + "properties": { + "blocked": { + "type": "boolean" + }, + "blockers": { + "items": { + "additionalProperties": {}, + "properties": { + "fix": { + "type": "string" + }, + "is_normal_wait": { + "type": "boolean" + }, + "label": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "resumes_at": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "description": "ISO 8601 time, or null." + }, + "why": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "email_id": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "error": { + "additionalProperties": {}, + "description": "Present instead of the fields above when the call was refused: code, message, fix, docs_url, retryable and, when waiting helps, retry_after_seconds.", + "properties": { + "code": { + "type": "string" + }, + "docs_url": { + "type": "string" + }, + "fix": { + "type": "string" + }, + "message": { + "type": "string" + }, + "request_id": { + "type": "string" + }, + "retry_after_seconds": { + "type": "number" + }, + "retryable": { + "type": "boolean" + } + }, + "type": "object" + }, + "scope": { + "description": "one_message or this_key.", + "type": "string" + }, + "status": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "type": "object" +}
1 tool update
- Changed
reschedule_email1 field changed- changed
Input schema / properties / scheduled_at / descriptionPrevious value: -"ISO 8601 time with an offset, e.g. \"2026-09-05T09:00:00Z\"."New value: +"The same field PATCH /emails/:id takes: ISO 8601 (\"2026-09-05T09:00:00Z\") or a short phrase (\"in 1 hour\", \"tomorrow 9am\", \"friday 14:00\"), within the next 30 days. \"now\" sends it straight away; a time in the past is refused."
1 tool update
- Changed
create_domain1 field changed- changed
Input schema / properties / tls_mode / descriptionPrevious value: -"opportunistic (default) or enforced. Stored on the domain and sent with each message. Delivery requires TLS only after the mail-server policy that reads it is in place."New value: +"Opportunistic — try TLS, fall back to plain when the receiver has none (the default). Enforced — refuse to deliver to a receiver that cannot do TLS; mail to such receivers bounces."
44 tool updates
- First observed
add_suppression - First observed
cancel_email - First observed
create_domain - First observed
create_webhook - First observed
delete_contact - First observed
delete_webhook - First observed
explain_email - First observed
get_agent_budget - First observed
get_domain - First observed
get_email - First observed
get_email_events - First observed
get_kill_switch_state - First observed
get_received_email - First observed
get_trust_standing - First observed
list_agent_actions - First observed
list_contacts - First observed
list_domains - First observed
list_emails - First observed
list_more_tools - First observed
list_oauth_grants - First observed
list_pending_approvals - First observed
list_received_emails - First observed
list_segments - First observed
list_suppressions - First observed
list_templates - First observed
list_threads - First observed
list_webhooks - First observed
preflight_email - First observed
publish_template - First observed
remove_suppression - First observed
render_template - First observed
reply_to_email - First observed
request_approval - First observed
reschedule_email - First observed
revoke_oauth_grant - First observed
send_batch - First observed
send_email - First observed
set_limit - First observed
setup_domain - First observed
upsert_contact - First observed
verify_domain - First observed
wait_for_domain - First observed
whoami - First observed
why_was_this_not_sent
Related MCP Connectors
Your agent needs a mailbox of its own — to receive, thread, draft and send, with attachments, without borrowing your personal inbox or your company's SMTP. **What you can ask for** • "Create an inbox for this agent and tell me its address." • "Read the new messages in this thread and draft a reply." • "Send this message with the attachment and wait for the response." • "Search this inbox for everything from that domain." • "Show delivery metrics and the events on this inbox." **How to use it** Point any MCP client at https://mcp.aisa.one/mail/mcp and sign in with OAuth — there is no key to create or paste. 49 tools: create and delete inboxes, list and read messages, raw message bodies, attachments, threads, drafts and draft attachments, send and reply, message search, inbox events, metrics, and list entries — reads and writes. **Why this rather than the source** A real inbox an agent owns, rather than an SMTP credential it borrows from a human. **It is also a door to the rest** The same login reaches 26 sources and 580+ operations. Find the contact elsewhere in the catalogue, then write to them from here — without adding a second server. **What it costs** Finding and inspecting an operation is free. Running one is billed per call at API prices, with no seat and no monthly minimum, and every call takes max_price_usd so an agent cannot overspend by accident. **Where else it reaches** https://mcp.aisa.one/sales/mcp finds the person to write to.
Transactional email for AI agents: templates, domain verify, and sends.
Hosted email for AI agents: create inboxes, send, receive, and reply over MCP with scoped API keys
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to send transactional emails and manage email infrastructure through the AgentiSend API, including domain verification, budgeted keys, and message logs.224 npmMIT
- AlicenseAqualityAmaintenanceMCP server for SentVia that provides email infrastructure for AI agents, enabling them to create inboxes, send, reply, forward, search messages, manage drafts, domains, webhooks, and allow/block rules through 21 tools.21237 npmMIT
- AlicenseBqualityBmaintenanceThe email API your AI agent can actually use. A Model Context Protocol server for Send16 that gives Claude, Cursor, and any MCP client 79 tools to send transactional & marketing email, manage contacts, audiences, segments, automations, templates, the inbox, suppressions, and webhooks.7941 npmMIT
- AlicenseAqualityCmaintenanceAn MCP server for the PostStack email API that enables AI assistants to send transactional emails, manage contacts, handle inbound email threads, and perform deliverability checks through 84 curated tools.84546 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.