Skip to content
cloudhostDocs
API reference

Webhooks

Signed POSTs to your endpoint for events of a team or project. Pro feature.

GET/v1/webhooks/events

The event types#

Credential
An API key or a dashboard session
Roles
Any role

Response

200object

  • eventsobject[]
    • typestring
    • descriptionstring

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
500internal: an unexpected failure

Example

curl "https://api.ibel.ai/v1/webhooks/events" \
  -H "Authorization: Bearer $KEY"
GET/v1/webhooks

The team's webhooks#

Credential
An API key or a dashboard session
Roles
owner, admin, developer

Parameters

  • projectstringquery

    only this project's

Response

200object

  • webhooksWebhook[]
  • limitinteger
  • planstring

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
500internal: an unexpected failure

Example

curl "https://api.ibel.ai/v1/webhooks" \
  -H "Authorization: Bearer $KEY"
POST/v1/webhooks

Create a webhook (the secret is shown once)#

Credential
An API key or a dashboard session
Roles
owner, admin

Request bodyapplication/json

  • urlstringrequired

    an https address that resolves to a public address

  • eventsstring[]required

    event types, or ["*"]

  • projectstring

    a project's name; omit for the whole team

  • descriptionstring

Response

200Webhook

  • idstring (uuid)
  • urlstring
  • descriptionstring
  • eventsstring[]
  • projectobject | null
  • enabledboolean
  • disabled_reasonstring | null
  • secret_hintstring
  • consecutive_failuresinteger
  • last_delivery_atstring (date-time) | null
  • last_statusstring | null
  • created_atstring (date-time)
  • updated_atstring (date-time)
  • secretstring

Errors

StatusDescription
400Bad request: bad_url, bad_events, bad_description, bad_json
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden, plan_required (the plan's webhook limit)
404Not found: not_found
500internal: an unexpected failure

Example

curl -X POST "https://api.ibel.ai/v1/webhooks" \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"…","events":["…"]}'
GET/v1/webhooks/{id}

One webhook#

Credential
An API key or a dashboard session
Roles
owner, admin, developer

Parameters

  • idstringpathrequired

    webhook id

Response

200Webhook

  • idstring (uuid)
  • urlstring
  • descriptionstring
  • eventsstring[]
  • projectobject | null
  • enabledboolean
  • disabled_reasonstring | null
  • secret_hintstring
  • consecutive_failuresinteger
  • last_delivery_atstring (date-time) | null
  • last_statusstring | null
  • created_atstring (date-time)
  • updated_atstring (date-time)

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

Example

curl "https://api.ibel.ai/v1/webhooks/88e2fe1d-6d75-4de5-8c8f-27380ec66903" \
  -H "Authorization: Bearer $KEY"
DELETE/v1/webhooks/{id}

Delete a webhook#

Credential
An API key or a dashboard session
Roles
owner, admin

Parameters

  • idstringpathrequired

    webhook id

Response

200object

  • deletedboolean

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

Example

curl -X DELETE "https://api.ibel.ai/v1/webhooks/88e2fe1d-6d75-4de5-8c8f-27380ec66903" \
  -H "Authorization: Bearer $KEY"
PATCH/v1/webhooks/{id}

Change a webhook or re-enable it#

Credential
An API key or a dashboard session
Roles
owner, admin

Parameters

  • idstringpathrequired

    webhook id

Request bodyapplication/json

  • urlstring
  • eventsstring[]
  • descriptionstring
  • enabledboolean

Response

200Webhook

  • idstring (uuid)
  • urlstring
  • descriptionstring
  • eventsstring[]
  • projectobject | null
  • enabledboolean
  • disabled_reasonstring | null
  • secret_hintstring
  • consecutive_failuresinteger
  • last_delivery_atstring (date-time) | null
  • last_statusstring | null
  • created_atstring (date-time)
  • updated_atstring (date-time)

Errors

StatusDescription
400Bad request: bad_url, bad_events, bad_enabled, nothing_to_change
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

Example

curl -X PATCH "https://api.ibel.ai/v1/webhooks/88e2fe1d-6d75-4de5-8c8f-27380ec66903" \
  -H "Authorization: Bearer $KEY" \
  -d '{"url":"…","events":["…"],"description":"…","enabled":true}'
POST/v1/webhooks/{id}/rotate-secret

A new signing secret (shown once)#

Credential
An API key or a dashboard session
Roles
owner, admin

Parameters

  • idstringpathrequired

    webhook id

Response

200Webhook

  • idstring (uuid)
  • urlstring
  • descriptionstring
  • eventsstring[]
  • projectobject | null
  • enabledboolean
  • disabled_reasonstring | null
  • secret_hintstring
  • consecutive_failuresinteger
  • last_delivery_atstring (date-time) | null
  • last_statusstring | null
  • created_atstring (date-time)
  • updated_atstring (date-time)
  • secretstring

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

Example

curl -X POST "https://api.ibel.ai/v1/webhooks/88e2fe1d-6d75-4de5-8c8f-27380ec66903/rotate-secret" \
  -H "Authorization: Bearer $KEY"
POST/v1/webhooks/{id}/test

Send a ping now#

Credential
An API key or a dashboard session
Roles
owner, admin

Parameters

  • idstringpathrequired

    webhook id

Response

200WebhookDeliveryFull

  • idinteger
  • event_idstring (uuid)
  • eventstring
  • statusstring

    one of pending, ok, failed

  • attemptsinteger
  • max_attemptsinteger
  • response_statusinteger | null
  • duration_msinteger | null
  • errorstring | null
  • created_atstring (date-time)
  • delivered_atstring (date-time) | null
  • next_attempt_atstring (date-time) | null
  • redelivery_ofinteger | null
  • requestobject
  • responseobject | null
  • historyobject[]

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

Example

curl -X POST "https://api.ibel.ai/v1/webhooks/88e2fe1d-6d75-4de5-8c8f-27380ec66903/test" \
  -H "Authorization: Bearer $KEY"
GET/v1/webhooks/{id}/deliveries

The delivery log#

Credential
An API key or a dashboard session
Roles
owner, admin, developer

Parameters

  • idstringpathrequired

    webhook id

  • statusstringquery

    ok, failed or pending

    one of ok, failed, pending

  • limitintegerquery

    1 to 100

  • beforeintegerquery

    a delivery id, for the next page

Response

200object

  • deliveriesWebhookDelivery[]
    • idinteger
    • event_idstring (uuid)
    • eventstring
    • statusstring

      one of pending, ok, failed

    • attemptsinteger
    • max_attemptsinteger
    • response_statusinteger | null
    • duration_msinteger | null
    • errorstring | null
    • created_atstring (date-time)
    • delivered_atstring (date-time) | null
    • next_attempt_atstring (date-time) | null
    • redelivery_ofinteger | null
  • next_beforeinteger | null

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

Example

curl "https://api.ibel.ai/v1/webhooks/88e2fe1d-6d75-4de5-8c8f-27380ec66903/deliveries" \
  -H "Authorization: Bearer $KEY"
GET/v1/webhooks/{id}/deliveries/{did}

One delivery with its request and response#

Credential
An API key or a dashboard session
Roles
owner, admin, developer

Parameters

  • idstringpathrequired

    webhook id

  • didstringpathrequired

    delivery id

Response

200WebhookDeliveryFull

  • idinteger
  • event_idstring (uuid)
  • eventstring
  • statusstring

    one of pending, ok, failed

  • attemptsinteger
  • max_attemptsinteger
  • response_statusinteger | null
  • duration_msinteger | null
  • errorstring | null
  • created_atstring (date-time)
  • delivered_atstring (date-time) | null
  • next_attempt_atstring (date-time) | null
  • redelivery_ofinteger | null
  • requestobject
  • responseobject | null
  • historyobject[]

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

Example

curl "https://api.ibel.ai/v1/webhooks/88e2fe1d-6d75-4de5-8c8f-27380ec66903/deliveries/did" \
  -H "Authorization: Bearer $KEY"
POST/v1/webhooks/{id}/deliveries/{did}/redeliver

Send the same event again#

Credential
An API key or a dashboard session
Roles
owner, admin

Parameters

  • idstringpathrequired

    webhook id

  • didstringpathrequired

    delivery id

Response

200WebhookDeliveryFull

  • idinteger
  • event_idstring (uuid)
  • eventstring
  • statusstring

    one of pending, ok, failed

  • attemptsinteger
  • max_attemptsinteger
  • response_statusinteger | null
  • duration_msinteger | null
  • errorstring | null
  • created_atstring (date-time)
  • delivered_atstring (date-time) | null
  • next_attempt_atstring (date-time) | null
  • redelivery_ofinteger | null
  • requestobject
  • responseobject | null
  • historyobject[]

Errors

StatusDescription
401unauthorized: missing, invalid, expired or revoked credential
403Not allowed: forbidden
404Not found: not_found
500internal: an unexpected failure

Example

curl -X POST "https://api.ibel.ai/v1/webhooks/88e2fe1d-6d75-4de5-8c8f-27380ec66903/deliveries/did/redeliver" \
  -H "Authorization: Bearer $KEY"