Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.decisionly.com/llms.txt

Use this file to discover all available pages before exploring further.

With webhooks, your app can know when something happens in Decisionly, such as a chargeback being filed for a case.

Registering Webhooks

To register a new webhook, you need to have a URL that Decisionly can call. You can configure a new webhook from your dashboard settings. Add your URL and pick the events you want to listen for.

Consuming Webhooks

When you receive a webhook request from Decisionly, check the type attribute to see what event caused it.

Case Lifecycle Events

  • case.created - Triggered when a case is created
  • case.chargeback_filed - Triggered when a chargeback is filed with the card network
  • case.chargeback_represented - Triggered when merchant responds with evidence
  • case.prearb_filed - Triggered when a pre-arbitration case is filed with the card network
  • case.won - Triggered when a cardholder wins a case
  • case.lost - Triggered when a merchant wins a case
  • case.accepted - Triggered when issuer accepts liability
  • case.rejected - Triggered when a case is rejected
  • case.expired - Triggered when a case expires
  • case.withdrawn - Triggered when a case is withdrawn by the cardholder
  • case.merchant_credited - Triggered when a case is closed due to merchant credit
You likely want to listen for case lifecycle events to trigger processes in your system such as cardholder communication and money movement.

Case Needs Review Events

  • case.chargeback_needs_review - Triggered when a chargeback requires manual review
  • case.representment_needs_review - Triggered when a representment requires manual review
You may want to listen for case needs review events to trigger manual review processes in your system or additional communication with the cardholder.

Case Deadline Events

  • case.resolution_deadline_approaching - Triggered 12 hours before the Reg E or Reg Z resolution deadline if one applies to the case
You may want to listen for case deadline events to ensure you resolve the case before the deadline.

Webhook Payload

Webhooks do not contain any sensitive information. They only contain the IDs of the objects that were affected by the event. So for case events, the data attribute will contain the case_id. You should then call the API to fetch the case and verify the event.

Example Webhook Payload

{
  "event_id": "event_2d7448cda095419bbecf066446104e37",
  "created": "2026-04-01T17:36:24.494Z",
  "type": "case.chargeback_filed",
  "data": {
    "case_id": "case_db7fc63f5b6842c1bfb5ffd74b71a66d"
  }
}

Responding to Webhooks

You should return a 200 status code to acknowledge the webhook. If you return a different status code, Decisionly will retry the webhook in 30 minutes, up to 24 times (12 hours of retries).