ZV-2026-1982 · 2026-10-08 · primitive.dev
primitive.dev: Tool addDomain was removed.
breaking
What changed
Tool addDomain was removed. Tool cancelScheduledSend was removed. Tool createEndpoint was removed. Tool createFilter was removed. Tool deleteEndpoint was removed. Tool deleteFilter was removed. Tool downloadDomainZoneFile was removed. Tool downloadEmailAttachments was removed. Tool getThread was removed. Tool listDomains was removed. Tool listEndpoints was removed. Tool listFilters was removed. Tool listWebhookDeliveries was removed. Tool replayWebhookDelivery was removed. Tool sendEmailDemo was removed. Tool testEndpoint was removed. Tool verifyDomain was removed. Field requestBody was removed from createEmailAddress input; consumers still sending it may be rejected or silently ignored. New required field terms_accepted on createEmailAddress; requests without it will fail. Type of wait on listEmails changed number → integer. Type of limit on listEmails changed number → integer. Type of limit on listSentEmails changed number → integer. Field requestBody was removed from replyToEmail input; consumers still sending it may be rejected or silently ignored. Type of limit on searchEmails changed number → integer. Type of snippet on searchEmails changed string → boolean. Enum value true removed from snippet on searchEmails. Enum value false removed from snippet on searchEmails. Type of has_attachment on searchEmails changed string → boolean. Enum value true removed from has_attachment on searchEmails. Enum value false removed from has_attachment on searchEmails. Type of include_facets on searchEmails changed string → boolean. Enum value true removed from include_facets on searchEmails. Enum value false removed from include_facets on searchEmails. Field requestBody was removed from sendEmail input; consumers still sending it may be rejected or silently ignored. Field Idempotency-Key was renamed to idempotency_key on sendEmail. New required field subject on sendEmail; requests without it will fail. New required field to on sendEmail; requests without it will fail.
What to do
If your agents call primitive.dev, pin the new snapshot, patch the affected call sites, and let a green contract check confirm the fix. If you don't use the changed tools, nothing is required, but the rest of the ecosystem just learned about it at the same moment you did.
The redline
− addDomain Tool addDomain was removed. − cancelScheduledSend Tool cancelScheduledSend was removed. − createEndpoint Tool createEndpoint was removed. − createFilter Tool createFilter was removed. − deleteEndpoint Tool deleteEndpoint was removed. − deleteFilter Tool deleteFilter was removed. − downloadDomainZoneFile Tool downloadDomainZoneFile was removed. − downloadEmailAttachments Tool downloadEmailAttachments was removed. − getThread Tool getThread was removed. − listDomains Tool listDomains was removed. − listEndpoints Tool listEndpoints was removed. − listFilters Tool listFilters was removed. − listWebhookDeliveries Tool listWebhookDeliveries was removed. − replayWebhookDelivery Tool replayWebhookDelivery was removed. − sendEmailDemo Tool sendEmailDemo was removed. − testEndpoint Tool testEndpoint was removed. − verifyDomain Tool verifyDomain was removed. − requestBody Field requestBody was removed from createEmailAddress input; consumers still sending it may be rejected or silently ignored. − terms_accepted New required field terms_accepted on createEmailAddress; requests without it will fail. − number + integer listEmails − number + integer listEmails − number + integer listSentEmails − requestBody Field requestBody was removed from replyToEmail input; consumers still sending it may be rejected or silently ignored. − number + integer searchEmails − string + boolean searchEmails − snippet Enum value true removed from snippet on searchEmails. − snippet Enum value false removed from snippet on searchEmails. − string + boolean searchEmails − has_attachment Enum value true removed from has_attachment on searchEmails. − has_attachment Enum value false removed from has_attachment on searchEmails. − string + boolean searchEmails − include_facets Enum value true removed from include_facets on searchEmails. − include_facets Enum value false removed from include_facets on searchEmails. − requestBody Field requestBody was removed from sendEmail input; consumers still sending it may be rejected or silently ignored. − Idempotency-Key + idempotency_key sendEmail − subject New required field subject on sendEmail; requests without it will fail. − to New required field to on sendEmail; requests without it will fail. + device_name Optional field device_name was added to createEmailAddress; may shift model behaviour. − Get the full conversation an inbound email belongs to as ordered, chat-model-ready turns w… + Read a whole conversation, with message bodies. Pass the id of any inbound email and get e… getConversation + full Optional field full was added to getConversation; may shift model behaviour. − Use this when you need full details for one inbound email ID, including parsed bodies, thr… + Use this when you need to read one inbound email. Returns id, thread_id, received_at, from… getEmail + full Optional field full was added to getEmail; may shift model behaviour. + links Optional field links was added to getEmail; may shift model behaviour. + max_chars Optional field max_chars was added to getEmail; may shift model behaviour. + offset Optional field offset was added to getEmail; may shift model behaviour. − Use this when the user asks whether inbound email is ready or needs setup. Returns domains… + Use this when the user asks whether inbound email is ready or needs setup. Returns domains… getInboxStatus − What can I send FROM? Lists this account's verified outbound (sendable) domains plus any d… + What can I send FROM? Lists this account's verified outbound (sendable) domains plus any d… getOutboundStatus + api_key Optional field api_key was added to getOutboundStatus; may shift model behaviour. − Get the full record for a single sent email by id, including body_text and body_html. Use … + Read a single sent email by id: status, from, to, subject, body_text and its attachments, … getSentEmail + full Optional field full was added to getSentEmail; may shift model behaviour. − Use this when you need to browse inbound emails received at verified domains with cursor p… + Browse the inbox in arrival order. Use this for "what arrived most recently" (newest first… listEmails + full Optional field full was added to listEmails; may shift model behaviour. − List outbound emails sent by this org, with cursor pagination and filters. Bodies are omit… + List outbound emails sent by this org, with cursor pagination and filters. Each row is id,… listSentEmails + full Optional field full was added to listSentEmails; may shift model behaviour. − Use this when the user has selected a specific inbound email and confirmed a reply. Sends … + Use this when the user has selected a specific inbound email and confirmed a reply. Sends … replyToEmail + attachments Optional field attachments was added to replyToEmail; may shift model behaviour. + await_reply Optional field await_reply was added to replyToEmail; may shift model behaviour. + body_html Optional field body_html was added to replyToEmail; may shift model behaviour. + body_text Optional field body_text was added to replyToEmail; may shift model behaviour. + from Optional field from was added to replyToEmail; may shift model behaviour. + wait Optional field wait was added to replyToEmail; may shift model behaviour. − Use this when you need to find inbound emails with structured filters or full-text matchin… + Find particular inbound emails. Use this when you are looking for specific messages: a ful… searchEmails + full Optional field full was added to searchEmails; may shift model behaviour. + snippet Default of snippet on searchEmails changed "true" → true. + include_facets Default of include_facets on searchEmails changed "true" → false. − Use this when the user has confirmed a new outbound email. Sends real email through Primit… + Use this when the user has confirmed a new outbound email. Sends real email through Primit… sendEmail + attachments Optional field attachments was added to sendEmail; may shift model behaviour. + await_reply Optional field await_reply was added to sendEmail; may shift model behaviour. + bcc Optional field bcc was added to sendEmail; may shift model behaviour. + body_html Optional field body_html was added to sendEmail; may shift model behaviour. + body_text Optional field body_text was added to sendEmail; may shift model behaviour. + cc Optional field cc was added to sendEmail; may shift model behaviour. + from Optional field from was added to sendEmail; may shift model behaviour. + in_reply_to Optional field in_reply_to was added to sendEmail; may shift model behaviour. + references Optional field references was added to sendEmail; may shift model behaviour. + reply_to Optional field reply_to was added to sendEmail; may shift model behaviour. + scheduled_at Optional field scheduled_at was added to sendEmail; may shift model behaviour. + tags Optional field tags was added to sendEmail; may shift model behaviour. + wait Optional field wait was added to sendEmail; may shift model behaviour. + wait_timeout_ms Optional field wait_timeout_ms was added to sendEmail; may shift model behaviour. + getEmailAttachment Tool getEmailAttachment was added. − Wait for the threaded reply to a sent email. Call this immediately after sendEmail or repl… + Wait for the threaded reply to a sent email. Use it when a send was made without await_rep… awaitReply − Get this user's Primitive managed inbox domain, creating the account on first use: no sign… + Get this user's Primitive managed inbox domain, creating the account on first use: no sign… createEmailAddress − Use this when you need the authenticated Primitive account summary, including plan, onboar… + Use this when you need the authenticated Primitive account summary, including plan, onboar… getAccount