# Transaction disputes update

Triggered every time a transaction dispute is submitted or updated.

You may receive update events even when there are no apparent changes in the dispute status or subStatus, as certain underlying modifications might not directly impact these visible indicators.

* Event type: transaction-disputes#update
* Profile level subscriptions: Not Supported
* Application level subscriptions: Supported

Events may not be delivered in the order they occurred. Use data.occurred_at to reconcile the order.
See the Event ordering guide for details.

See the Webhooks guide for setup instructions, signature verification, and best practices.

Endpoint: POST transaction-disputes#update

## Header parameters:

  - `X-Signature-SHA256` (string)
    RSA-SHA256 signature of the request body, Base64 encoded. Verify this against the Wise public key to ensure the request is authentic and has not been tampered with.
    Example: "t7FMhk3OARMgwqz0LJXO..."

  - `X-Delivery-Id` (string)
    Unique identifier for this webhook delivery attempt.
    Example: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

  - `X-Test-Notification` (boolean)
    Present with the value true if this is a test notification sent to verify your callback URL during subscription setup.
    Example: true

## Request fields (application/json):

  - `body` (any) — one of (discriminator: schema_version):
    - 4.0.0:
      - `schema_version` (string)
        Version of the event schema. Determined by the schema_version on your [webhook subscription](/api-reference/webhook).
        Enum: "4.0.0"
      - `subscription_id` (string)
        ID of the webhook subscription that triggered this event.
        Example: "7bb32a11-74ad-43b6-9505-3f5facbc87ed"
      - `event_type` (string)
        Event type identifier
        Example: "transaction-disputes#update"
      - `sent_at` (string)
        Timestamp when the event was sent.
        Example: "2024-04-18T06:36:17.123Z"
      - `data` (object)
      - `data.resource` (object)
      - `data.resource.id` (string)
        Unique ID of the dispute.
        Example: "39f893e3-4b0c-4850-9c5c-8cb8f4798a43"
      - `data.resource.profile_id` (integer)
        ID of the profile that owns the card.
        Example: 16605997
      - `data.resource.transaction_id` (integer)
        ID of the card transaction.
        Example: 4337
      - `data.resource.type` (string)
        Resource type (always transaction-dispute).
        Example: "transaction-dispute"
      - `data.reason` (string)
        Dispute reason. See [dispute reason](/api-reference/disputes/disputereasonsget) for all possible values.
        Example: "WRONG_AMOUNT"
      - `data.status` (string)
        Dispute overall status
        Enum: "ACTIVE", "CLOSED"
      - `data.sub_status` (string)
        Dispute detailed status. See [dispute sub-status](/api-reference/disputes#dispute-sub-status) for all possible values.
        Example: "WITHDRAWN"
      - `data.status_message` (string)
        Explanation for subStatus.
        Example: "Withdrawn"
      - `data.created_at` (string)
        Time when the dispute was created.
        Example: "2024-04-18T06:17:12.456Z"
      - `data.created_by` (string)
        Creator of the dispute. Currently set to the user id.
        Example: "6097861"
      - `data.can_withdraw` (boolean)
        Whether the dispute can be withdrawn.
      - `data.occurred_at` (string)
        When the dispute updates occurred.
        Example: "2024-04-18T06:36:15.789Z"
    - 2.0.0:
      - `schema_version` (string)
        Version of the event schema. Determined by the schema_version on your [webhook subscription](/api-reference/webhook).
        Enum: "2.0.0"
      - `subscription_id` (string)
        ID of the webhook subscription that triggered this event
        Example: "7bb32a11-74ad-43b6-9505-3f5facbc87ed"
      - `event_type` (string)
        Event type identifier
        Example: "transaction-disputes#update"
      - `sent_at` (string)
        Timestamp when the event was sent
        Example: "2024-04-18T06:36:17Z"
      - `data` (object)
      - `data.resource` (object)
      - `data.resource.id` (string)
        Unique ID of the dispute
        Example: "39f893e3-4b0c-4850-9c5c-8cb8f4798a43"
      - `data.resource.profile_id` (integer)
        ID of the profile that owns the card
        Example: 16605997
      - `data.resource.transaction_id` (integer)
        ID of the card transaction
        Example: 4337
      - `data.resource.type` (string)
        Resource type (always transaction-dispute)
        Example: "transaction-dispute"
      - `data.reason` (string)
        Dispute reason, you can find all the possible values [here](/api-reference/disputes/disputereasonsget)
        Example: "WRONG_AMOUNT"
      - `data.status` (string)
        Dispute overall status
        Enum: same as `data.status` in "4.0.0" (2 values)
      - `data.sub_status` (string)
        Dispute detailed status, you can find all the possible values [here](/api-reference/disputes#dispute-sub-status)
        Example: "WITHDRAWN"
      - `data.status_message` (string)
        Explanation for subStatus
        Example: "Withdrawn"
      - `data.created_at` (string)
        Time when the dispute was created
        Example: "2024-04-18T06:17:12Z"
      - `data.created_by` (string)
        Creator of the dispute, it is currently set to the user id
        Example: "6097861"
      - `data.can_withdraw` (boolean)
        Whether the dispute can be withdrawn
      - `data.occurred_at` (string)
        When the dispute updates occurred
        Example: "2024-04-18T06:36:15Z"

## Response 200 fields (application/json):

  - `status` (string)
    Example: "ok"


