List send-permission rules
Changed onReturns a flat list of rules describing every recipient the caller may send to. Each rule has a type, a kind-specific payload, and a human-readable description. If any rule matches the recipient, /send-mail will accept the send under the recipient-scope check.
The endpoint is the answer to "where can I send" without exposing internal entitlement names. Agents that don't recognize a type can still read the description prose and act on it.
Rule kinds, ordered broadest-first so an agent can stop scanning at the first match:
- any_recipient (one entry, only when the org can send anywhere): every other rule below it is redundant.
- managed_zone (always emitted, one per Primitive-managed zone): sends to any address at *.primitive.email or *.email.works always succeed; no entitlement required.
- your_domain (one per active verified outbound domain owned by the org): sends to that domain are approved.
- address (one per address that has authenticated inbound mail to the org, capped at meta.address_cap): sends to that exact address are approved.
The list is informational, not an authorization check. /send-mail remains the source of truth on whether an individual send will succeed (it also enforces the from-address and the send_mail entitlement, which are not recipient-scope concerns and are not represented here).
Request
- Base URLhttps://api.primitive.dev/v1
- URLhttps://api.primitive.dev/v1/send-permissions
- AuthHTTP bearer
Response
Send-permission rules for the caller's org
Changes
- warning
added the new
agent_changedenum value to the/response property for the response status - warning
added the new
agent_limitenum value to the/response property for the response status - warning
added the new
already_memberenum value to the/response property for the response status - warning
added the new
directory_limitenum value to the/response property for the response status - warning
added the new
invitation_acceptedenum value to the/response property for the response status - warning
added the new
invitation_changedenum value to the/response property for the response status - warning
added the new
invitation_pendingenum value to the/response property for the response status - warning
added the new
invitation_sendingenum value to the/response property for the response status - warning
added the new
invitation_unconfirmedenum value to the/response property for the response status - warning
added the new
invitations_pendingenum value to the/response property for the response status - warning
added the new
member_changedenum value to the/response property for the response status - warning
added the new
project_changedenum value to the/response property for the response status - warning
added the new
recipient_changedenum value to the/response property for the response status
- warning
- warning
added the new
archive_busyenum value to the/response property for the response status - warning
added the new
archive_invalidenum value to the/response property for the response status - warning
added the new
archive_limit_exceededenum value to the/response property for the response status - warning
added the new
archive_unsafe_pathenum value to the/response property for the response status - warning
added the new
archive_unsupportedenum value to the/response property for the response status - warning
added the new
attachment_name_ambiguousenum value to the/response property for the response status - warning
added the new
attachment_not_archiveenum value to the/response property for the response status - warning
added the new
latest_message_mismatchenum value to the/response property for the response status - warning
added the new
latest_message_thread_unresolvedenum value to the/response property for the response status - warning
added the new
sent_mail_search_unavailableenum value to the/response property for the response status - warning
added the new
thread_busyenum value to the/response property for the response status
- warning