Skip to content
AI Inbx
Esc
navigateopen⌘Jpreview

Update a webhook endpoint

Updates an endpoint’s URL, subscriptions, routing rules, or enabled state. At least one field is required. A disabled endpoint receives nothing, and events that occur while it is off are not queued for later.

PATCH/webhook-endpoints/{endpoint_id}
Authorization
AuthorizationBearer token (API key) · headerrequired
Pass an AI Inbx API key as a Bearer token.
Path parameters
endpoint_idstringrequired
The prefixed webhook endpoint ID.
matches ^[a-z]+_[0-9a-f]{32}$
Request body
requiredapplication/json
urlstring<uri>
enabledboolean
subscriptionsstring[]
min items 1 · max items 100
routingobject[]
max items 100
Show properties
Array of object
effectstringrequired
Allowed:allowblock
fieldstringrequired
Allowed:fromtoeither
patternstringrequired
min length 1 · max length 320
max_concurrencyinteger
Deliveries in flight to this endpoint at once.
min 1 · max 128
Responses
200Success.
idstringrequired
matches ^[a-z]+_[0-9a-f]{32}$
urlstring<uri>required
enabledbooleanrequired
formatstringrequired
Read-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:v2v1
subscriptionsstring[]required
routingobject[]required
Show properties
Array of object
effectstringrequired
Allowed:allowblock
fieldstringrequired
Allowed:fromtoeither
patternstringrequired
min length 1 · max length 320
max_concurrencyintegerrequired
min -9007199254740991 · max 9007199254740991
previous_secret_expires_atstring<date-time> | anyrequired
Show properties
Any of:
string<date-time>
string<date-time>
any
any
created_atstring<date-time>required
matches ^(?:(?:\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>required
matches ^(?:(?:\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))$
secretstring
400The request is invalid.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
401The API key is missing or invalid.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
403The API key does not have the required scope.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
404The requested resource does not exist.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
409The request conflicts with the resource's current state.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
413The request body or attachments are too large.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
415The request body is not JSON.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
422The request body failed validation.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
429The organisation's request budget is spent (`too_many_requests`), or an upstream mail provider is throttling (`rate_limited`).
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
500An internal error occurred.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
502An upstream mail provider failed.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
503The service is temporarily unavailable.
typestringrequired
titlestringrequired
statusintegerrequired
min -9007199254740991 · max 9007199254740991
detailstringrequired
codestringrequired
request_idstringrequired
issuesobject[]
Show properties
Array of object
pathstringrequired
messagestringrequired
Request
curl -X PATCH "https://api.aiinbx.com/api/v2/webhook-endpoints/string" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "http://example.com",
  "enabled": true,
  "subscriptions": [
    "email.received"
  ],
  "routing": [
    {
      "effect": "allow",
      "field": "from",
      "pattern": "string"
    }
  ],
  "max_concurrency": 1
}'
Response
{
  "id": "string",
  "url": "http://example.com",
  "enabled": true,
  "subscriptions": [
    "email.received"
  ],
  "routing": [
    {
      "effect": "allow",
      "field": "from",
      "pattern": "string"
    }
  ],
  "max_concurrency": -9007199254740991,
  "previous_secret_expires_at": "2019-08-24T14:15:22Z",
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z",
  "secret": "string"
}