Skip to main content

Webhooks

Requidex webhooks provide push-based notifications for near real-time integration workflows.

Supported Domain

For now, webhooks are available for requisitions only.

Event Types

  • requisition_created
  • requisition_approved

Detailed event reference pages (payload fields and examples) are generated from the OpenAPI x-webhooks contract and appear under this section in the sidebar.

Delivery Model

  • POST request is sent to your configured webhook URL for each event.
  • Payload is JSON.
  • Events are delivered at-least-once; consumers must handle duplicates safely.

Headers

HeaderDescription
Content-TypeAlways application/json.
X-Requidex-EventEvent type (for example requisition_created).
X-Requidex-Event-IdUnique event delivery id.
X-Requidex-SignatureHMAC SHA-256 signature of raw request body.
X-Requidex-TimestampUTC timestamp when event was signed.

Signature Verification

Use the webhook signing secret provided during onboarding.

  1. Read the raw request body bytes.
  2. Build signed payload as: timestamp + '.' + rawBody.
  3. Compute HMAC SHA-256 using the signing secret.
  4. Compare the computed digest with X-Requidex-Signature.
  5. Reject if timestamp is too old (recommended: 5 minutes).

Event Envelope

{
"id": "evt_01HYZ4KQJ4A9H2J7QZ8A4R7X9M",
"type": "requisition_created",
"createdAt": "2026-02-24T15:05:43.455Z",
"data": {
"requisition": {
"id": "req_01HYZ4JX2N2Q5F18J3Y41H8A2C"
}
}
}

Event Payloads

requisition_created

Triggered when a new requisition is created.

The payload includes only requisition id. Fetch full details from:

  • GET /api/open/v1/requisitions/{id}
{
"id": "evt_01HYZ4KQJ4A9H2J7QZ8A4R7X9M",
"type": "requisition_created",
"createdAt": "2026-02-24T15:05:43.455Z",
"data": {
"requisition": {
"id": "req_01HYZ4JX2N2Q5F18J3Y41H8A2C"
}
}
}

requisition_approved

Triggered whenever an approval stage is completed.

The payload includes only requisition id. Fetch full details from:

  • GET /api/open/v1/requisitions/{id}
{
"id": "evt_01HYZ4KXQ45Y8RD6MKJJ6RRA5S",
"type": "requisition_approved",
"createdAt": "2026-02-24T16:11:02.003Z",
"data": {
"requisition": {
"id": "req_01HYZ4JX2N2Q5F18J3Y41H8A2C"
}
}
}

Retry and Failure Behavior

  • 2xx response: delivery is marked successful.
  • Non-2xx or timeout: delivery is retried with exponential backoff.
  • Recommended consumer timeout: respond within 10 seconds.
  • Deduplicate events using X-Requidex-Event-Id.

Idempotency Guidance

Your webhook handler should be idempotent by event id:

  • Store processed event ids.
  • Ignore already-processed ids.
  • Treat out-of-order arrival as expected.