Create a webhook endpoint
Changed onCreates a new webhook endpoint. If a deactivated endpoint with the same URL and domain exists, it is reactivated instead. Subject to plan limits on the number of active endpoints.
Signing is account-scoped, not per-endpoint. This call does not return any signing material; every endpoint on the account uses the same webhook secret, fetched via GET /account/webhook-secret. See the API-level "Webhook signing" section for the full wire format (header name, signed string, hash algo, secret format, tolerance) and a language-agnostic verification recipe.
After creating the endpoint, fire a test delivery against it via POST /endpoints/{id}/test to confirm your verifier accepts the signature.
For local receiving, use kind=pull and a stable name, without url, function_id or domain_id. Named creation resumes the same active destination; omitted filters preserve its selection, while conflicting supplied configuration returns 409. New unfiltered destinations receive all subsequently ready eligible event types within their credential scope. Connected-agent credentials automatically create private subscriptions restricted to inbound email for their assigned address. Names are isolated per credential; revocation or replacement deletes its subscriptions. Address-scoped events contain parsed mail without raw MIME, signed download links, routing metadata, or sibling envelope recipients. Pull destinations do not occupy HTTP routing slots. Signing-secret setup and a test HTTP delivery are not required for pull receiving.
For local receiving, use kind=pull and a stable name, without url, function_id or domain_id. Named creation resumes the same active destination; omitted filters preserve its selection, while conflicting supplied configuration returns 409. Creating a pull destination requires a connected-agent credential; it creates a private subscription restricted to inbound email for the assigned address of that credential. Account API keys receive 403 pull_subscription_requires_agent_connection and can instead receive mail with GET /emails?since=<cursor>&wait=30 or an HTTP endpoint. Pulling or completing an account destination created earlier returns the same 403. Names are isolated per credential; revocation or replacement deletes its subscriptions. Address-scoped events contain parsed mail without raw MIME, signed download links, routing metadata, or sibling envelope recipients. Pull destinations do not occupy HTTP routing slots. Signing-secret setup and a test HTTP delivery are not required for pull receiving.
Agent connection keys (pconn_) may use endpoints.pull:manage instead of endpoints:manage here, for their own pull subscriptions only.
Request
- Base URLhttps://api.primitive.dev/v1
- URLhttps://api.primitive.dev/v1/endpoints
- AuthHTTP bearer
Headers
Optional client-supplied idempotency key. Retrying a request with the same key returns the original result instead of performing the action a second time; if omitted the server derives one from the canonical payload hash. Safe to retry network failures without duplicating side effects.
Request body
Response
Existing named pull destination resumed
Changes
- warning
added the new
access_mode_unavailableenum value to the/response property for the response status - warning
added the new
access_mode_unavailableenum value to the/response property for the response status - warning
added the new
access_mode_unavailableenum value to the/response property for the response status - warning
added the new
access_mode_unavailableenum value to the/response property for the response status - warning
added the new
access_mode_unavailableenum value to the/response property for the response status - warning
added the new
builtin_roleenum value to the/response property for the response status - warning
added the new
builtin_roleenum value to the/response property for the response status - warning
added the new
builtin_roleenum value to the/response property for the response status - warning
added the new
builtin_roleenum value to the/response property for the response status - warning
added the new
builtin_roleenum value to the/response property for the response status - warning
added the new
cleanup_incompleteenum value to the/response property for the response status - warning
added the new
cleanup_incompleteenum value to the/response property for the response status - warning
added the new
cleanup_incompleteenum value to the/response property for the response status - warning
added the new
cleanup_incompleteenum value to the/response property for the response status - warning
added the new
cleanup_incompleteenum value to the/response property for the response status - warning
added the new
cli_access_refusedenum value to the/response property for the response status - warning
added the new
cli_access_refusedenum value to the/response property for the response status - warning
added the new
cli_access_refusedenum value to the/response property for the response status - warning
added the new
cli_access_refusedenum value to the/response property for the response status - warning
added the new
cli_access_refusedenum value to the/response property for the response status - warning
added the new
confirmation_requiredenum value to the/response property for the response status - warning
added the new
confirmation_requiredenum value to the/response property for the response status - warning
added the new
confirmation_requiredenum value to the/response property for the response status - warning
added the new
confirmation_requiredenum value to the/response property for the response status - warning
added the new
confirmation_requiredenum value to the/response property for the response status - warning
added the new
connection_owner_address_requiredenum value to the/response property for the response status - warning
added the new
connection_owner_address_requiredenum value to the/response property for the response status - warning
added the new
connection_owner_address_requiredenum value to the/response property for the response status - warning
added the new
connection_owner_address_requiredenum value to the/response property for the response status - warning
added the new
connection_owner_address_requiredenum value to the/response property for the response status - warning
added the new
email_rule_author_onlyenum value to the/response property for the response status - warning
added the new
email_rule_author_onlyenum value to the/response property for the response status - warning
added the new
email_rule_author_onlyenum value to the/response property for the response status - warning
added the new
email_rule_author_onlyenum value to the/response property for the response status - warning
added the new
email_rule_author_onlyenum value to the/response property for the response status - warning
added the new
email_rule_compiler_unavailableenum value to the/response property for the response status - warning
added the new
email_rule_compiler_unavailableenum value to the/response property for the response status - warning
added the new
email_rule_compiler_unavailableenum value to the/response property for the response status - warning
added the new
email_rule_compiler_unavailableenum value to the/response property for the response status - warning
added the new
email_rule_compiler_unavailableenum value to the/response property for the response status - warning
added the new
email_rule_conflictenum value to the/response property for the response status - warning
added the new
email_rule_conflictenum value to the/response property for the response status - warning
added the new
email_rule_conflictenum value to the/response property for the response status - warning
added the new
email_rule_conflictenum value to the/response property for the response status - warning
added the new
email_rule_conflictenum value to the/response property for the response status - warning
added the new
email_rule_not_compiledenum value to the/response property for the response status - warning
added the new
email_rule_not_compiledenum value to the/response property for the response status - warning
added the new
email_rule_not_compiledenum value to the/response property for the response status - warning
added the new
email_rule_not_compiledenum value to the/response property for the response status - warning
added the new
email_rule_not_compiledenum value to the/response property for the response status - warning
added the new
grant_forbiddenenum value to the/response property for the response status - warning
added the new
grant_forbiddenenum value to the/response property for the response status - warning
added the new
grant_forbiddenenum value to the/response property for the response status - warning
added the new
grant_forbiddenenum value to the/response property for the response status - warning
added the new
grant_forbiddenenum value to the/response property for the response status - warning
added the new
keep_refusedenum value to the/response property for the response status - warning
added the new
keep_refusedenum value to the/response property for the response status - warning
added the new
keep_refusedenum value to the/response property for the response status - warning
added the new
keep_refusedenum value to the/response property for the response status - warning
added the new
keep_refusedenum value to the/response property for the response status - warning
added the new
last_ownerenum value to the/response property for the response status - warning
added the new
last_ownerenum value to the/response property for the response status - warning
added the new
last_ownerenum value to the/response property for the response status - warning
added the new
last_ownerenum value to the/response property for the response status - warning
added the new
last_ownerenum value to the/response property for the response status - warning
added the new
mailbox_not_claimableenum value to the/response property for the response status - warning
added the new
mailbox_not_claimableenum value to the/response property for the response status - warning
added the new
mailbox_not_claimableenum value to the/response property for the response status - warning
added the new
mailbox_not_claimableenum value to the/response property for the response status - warning
added the new
mailbox_not_claimableenum value to the/response property for the response status - warning
added the new
mailbox_shared_with_othersenum value to the/response property for the response status - warning
added the new
mailbox_shared_with_othersenum value to the/response property for the response status - warning
added the new
mailbox_shared_with_othersenum value to the/response property for the response status - warning
added the new
mailbox_shared_with_othersenum value to the/response property for the response status - warning
added the new
mailbox_shared_with_othersenum value to the/response property for the response status - warning
added the new
member_address_reservedenum value to the/response property for the response status - warning
added the new
member_address_reservedenum value to the/response property for the response status - warning
added the new
member_address_reservedenum value to the/response property for the response status - warning
added the new
member_address_reservedenum value to the/response property for the response status - warning
added the new
member_address_reservedenum value to the/response property for the response status - warning
added the new
plan_requiredenum value to the/response property for the response status - warning
added the new
plan_requiredenum value to the/response property for the response status - warning
added the new
plan_requiredenum value to the/response property for the response status - warning
added the new
plan_requiredenum value to the/response property for the response status - warning
added the new
plan_requiredenum value to the/response property for the response status - warning
added the new
redeploy_failedenum value to the/response property for the response status - warning
added the new
redeploy_failedenum value to the/response property for the response status - warning
added the new
redeploy_failedenum value to the/response property for the response status - warning
added the new
redeploy_failedenum value to the/response property for the response status - warning
added the new
redeploy_failedenum value to the/response property for the response status - warning
added the new
removal_failedenum value to the/response property for the response status - warning
added the new
removal_failedenum value to the/response property for the response status - warning
added the new
removal_failedenum value to the/response property for the response status - warning
added the new
removal_failedenum value to the/response property for the response status - warning
added the new
removal_failedenum value to the/response property for the response status - warning
added the new
removal_timeoutenum value to the/response property for the response status - warning
added the new
removal_timeoutenum value to the/response property for the response status - warning
added the new
removal_timeoutenum value to the/response property for the response status - warning
added the new
removal_timeoutenum value to the/response property for the response status - warning
added the new
removal_timeoutenum value to the/response property for the response status - warning
added the new
role_assignedenum value to the/response property for the response status - warning
added the new
role_assignedenum value to the/response property for the response status - warning
added the new
role_assignedenum value to the/response property for the response status - warning
added the new
role_assignedenum value to the/response property for the response status - warning
added the new
role_assignedenum value to the/response property for the response status - warning
added the new
role_assignment_unavailableenum value to the/response property for the response status - warning
added the new
role_assignment_unavailableenum value to the/response property for the response status - warning
added the new
role_assignment_unavailableenum value to the/response property for the response status - warning
added the new
role_assignment_unavailableenum value to the/response property for the response status - warning
added the new
role_assignment_unavailableenum value to the/response property for the response status - warning
added the new
role_key_takenenum value to the/response property for the response status - warning
added the new
role_key_takenenum value to the/response property for the response status - warning
added the new
role_key_takenenum value to the/response property for the response status - warning
added the new
role_key_takenenum value to the/response property for the response status - warning
added the new
role_key_takenenum value to the/response property for the response status - warning
added the new
rotation_in_progressenum value to the/response property for the response status - warning
added the new
rotation_in_progressenum value to the/response property for the response status - warning
added the new
rotation_in_progressenum value to the/response property for the response status - warning
added the new
rotation_in_progressenum value to the/response property for the response status - warning
added the new
rotation_in_progressenum value to the/response property for the response status - warning
added the new
rotation_incompleteenum value to the/response property for the response status - warning
added the new
rotation_incompleteenum value to the/response property for the response status - warning
added the new
rotation_incompleteenum value to the/response property for the response status - warning
added the new
rotation_incompleteenum value to the/response property for the response status - warning
added the new
rotation_incompleteenum value to the/response property for the response status - warning
added the new
step_up_invalidenum value to the/response property for the response status - warning
added the new
step_up_invalidenum value to the/response property for the response status - warning
added the new
step_up_invalidenum value to the/response property for the response status - warning
added the new
step_up_invalidenum value to the/response property for the response status - warning
added the new
step_up_invalidenum value to the/response property for the response status - warning
added the new
step_up_not_acceptedenum value to the/response property for the response status - warning
added the new
step_up_not_acceptedenum value to the/response property for the response status - warning
added the new
step_up_not_acceptedenum value to the/response property for the response status - warning
added the new
step_up_not_acceptedenum value to the/response property for the response status - warning
added the new
step_up_not_acceptedenum value to the/response property for the response status - warning
added the new
step_up_refusedenum value to the/response property for the response status - warning
added the new
step_up_refusedenum value to the/response property for the response status - warning
added the new
step_up_refusedenum value to the/response property for the response status - warning
added the new
step_up_refusedenum value to the/response property for the response status - warning
added the new
step_up_refusedenum value to the/response property for the response status - warning
added the new
step_up_requiredenum value to the/response property for the response status - warning
added the new
step_up_requiredenum value to the/response property for the response status - warning
added the new
step_up_requiredenum value to the/response property for the response status - warning
added the new
step_up_requiredenum value to the/response property for the response status - warning
added the new
step_up_requiredenum value to the/response property for the response status - warning
added the new
template_roleenum value to the/response property for the response status - warning
added the new
template_roleenum value to the/response property for the response status - warning
added the new
template_roleenum value to the/response property for the response status - warning
added the new
template_roleenum value to the/response property for the response status - warning
added the new
template_roleenum value to the/response property for the response status - warning
added the new
upstream_unavailableenum value to the/response property for the response status - warning
added the new
upstream_unavailableenum value to the/response property for the response status - warning
added the new
upstream_unavailableenum value to the/response property for the response status - warning
added the new
upstream_unavailableenum value to the/response property for the response status - warning
added the new
upstream_unavailableenum value to the/response property for the response status
This list may be incomplete.
- warning
- warning
added the new
agent_changedenum value to the/response property for the response status - warning
added the new
agent_changedenum value to the/response property for the response status - warning
added the new
agent_changedenum value to the/response property for the response status - warning
added the new
agent_changedenum value to the/response property for the response status - 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
agent_limitenum 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
agent_limitenum 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
already_memberenum 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
already_memberenum 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
directory_limitenum 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
directory_limitenum 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_acceptedenum 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_acceptedenum 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_changedenum 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_changedenum 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_pendingenum 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_pendingenum 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_sendingenum 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_sendingenum 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
invitation_unconfirmedenum 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
invitation_unconfirmedenum 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
invitations_pendingenum 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
invitations_pendingenum 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
member_changedenum 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
member_changedenum 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
project_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
project_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
added the new
recipient_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
added the new
recipient_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