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 URL: https://api.primitive.dev/v1
- URL: https://api.primitive.dev/v1/send-permissions
- Auth: HTTP bearer
Response
Send-permission rules for the caller's org
Changes
- info
removed the
invalid_signup_codeenum value from the/response property for the response status
- info
- warning
added the new
not_a_repeating_sendenum value to the/response property for the response status - warning
added the new
repeat_idle_requires_internal_recipientenum value to the/response property for the response status - warning
added the new
repeat_recipient_externalenum value to the/response property for the response status - warning
added the new
repeat_stop_not_allowedenum value to the/response property for the response status - warning
added the new
repeat_unsupportedenum value to the/response property for the response status
- warning