Skip to content

Create a webhook endpoint

POST/v1/webhook-endpoints

Requires an API client bearer token.

Registers an HTTPS endpoint and its event-type subscriptions. Requires an Idempotency-Key header. Deliveries are HMAC-signed (X-Platform-Signature) and retried on a 1m/5m/30m/2h/24h ladder before dead-lettering. The signing secret is returned once, on this response only.

Parameters

Header parameters

NameRequiredDescription
Idempotency-Keyrequired

Client-chosen. An identical retry with the same key returns the stored response; reusing the key with a different payload returns 409.

Request body

urlstring (uri)required
event_typesarray of one ofrequired
+ show properties

One of

Option 1

{
  "type": "string",
  "enum": [
    "*"
  ]
}

Option 2

{
  "type": "string",
  "enum": [
    "programme.created",
    "programme.updated",
    "card_product.created",
    "cardholder.created",
    "cardholder.updated",
    "kyc.check.started",
    "kyc.check.completed",
    "kyc.check.expired",
    "card.created",
    "card.transition",
    "authorization.decided",
    "transaction.cleared",
    "clearing.exception.raised",
    "settlement.position.created",
    "webhook.delivery.failed",
    "simulator.program.started",
    "simulator.program.step.completed",
    "simulator.program.completed",
    "simulator.program.failed",
    "ledger.entry.posted",
    "ledger.funds.issued",
    "ledger.hold.placed",
    "ledger.hold.released",
    "ledger.hold.captured",
    "screening.snapshot.activated",
    "screening.hit.raised"
  ]
}
programme_idstring (uuid) | null

Example

curl -X POST https://api.rigid.fi/v1/webhook-endpoints \
  -H "Authorization: Bearer $RIGID_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "url": "uri",
  "event_types": [
    "*"
  ]
}'

Responses

201

Created endpoint, including its one-time-visible signing secret.

idstringrequired
urlstringrequired
event_typesarray of stringrequired
activebooleanrequired
created_atstringrequired
programme_idstring (uuid) | nullrequired
secretstringrequired
400

Validation error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
401

Authentication required

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
403

Forbidden

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
409

Idempotency-Key reused with a different payload

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring
500

Internal server error

typestringrequired
titlestringrequired
statusintegerrequired
detailstring
instancestring