Create a webhook endpoint
Registers an organization-wide endpoint and returns its signing secret exactly once, in the secret field. subscriptions must name at least one event type. Optional routing rules narrow delivery by sender or recipient: a matching block rule always wins, and an empty allow list means no opinion. The endpoint receives every space’s events, each stamped with its space_id.
POST
/webhook-endpointsAuthorization
AuthorizationBearer token (API key) · headerrequiredPass an AI Inbx API key as a Bearer token.
Request body
requiredapplication/jsonurlstring<uri>requiredenabledbooleandefault: true
subscriptionsstring[]requiredmin items 1 · max items 100
routingobject[]max items 100
Show propertiesHide properties
Array of
objecteffectstringrequiredAllowed:
allowblockfieldstringrequiredAllowed:
fromtoeitherpatternstringrequiredmin length 1 · max length 320
max_concurrencyintegerDeliveries in flight to this endpoint at once.
min 1 · max 128 · default: 16
Responses
201The endpoint was created; save its secret now.
idstringrequiredmatches ^[a-z]+_[0-9a-f]{32}$
urlstring<uri>requiredenabledbooleanrequiredformatstringrequiredRead-only. `v1` marks an endpoint carried over from the previous aiinbx.com: it receives that system's bodies and can subscribe only to the events it had — `email.received`, `email.delivered`, `email.bounced`, `email.complained`, `email.failed`, `email.opened`, `email.clicked`. Endpoints created here are `v2`.
Allowed:
v2v1subscriptionsstring[]requiredroutingobject[]requiredShow propertiesHide properties
Array of
objecteffectstringrequiredAllowed:
allowblockfieldstringrequiredAllowed:
fromtoeitherpatternstringrequiredmin length 1 · max length 320
max_concurrencyintegerrequiredmin -9007199254740991 · max 9007199254740991
previous_secret_expires_atstring<date-time> | anyrequiredShow propertiesHide properties
Any of:
string<date-time>
string<date-time>any
anycreated_atstring<date-time>requiredmatches ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
updated_atstring<date-time>requiredmatches ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
secretstringrequired400The request is invalid.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired401The API key is missing or invalid.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired403The API key does not have the required scope.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired404The requested resource does not exist.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired409The request conflicts with the resource's current state.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired413The request body or attachments are too large.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired415The request body is not JSON.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired422The request body failed validation.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired429The organisation's request budget is spent (`too_many_requests`), or an upstream mail provider is throttling (`rate_limited`).
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired500An internal error occurred.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired502An upstream mail provider failed.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired503The service is temporarily unavailable.
typestringrequiredtitlestringrequiredstatusintegerrequiredmin -9007199254740991 · max 9007199254740991
detailstringrequiredcodestringrequiredrequest_idstringrequiredissuesobject[]Show propertiesHide properties
Array of
objectpathstringrequiredmessagestringrequired