---
title: "Receives payout reversal notifications from Shinkansen"
method: POST
path: "/reversal-notifications"
tags: ["Payout Reversal Notifications"]
---

# Receives payout reversal notifications from Shinkansen

`POST /reversal-notifications`

Webhook for receiving notifications when a previously completed payout is reversed (returned by the bank).

## Request body

- ParticipantPayoutReversalNotificationMessage — Payout reversal notifications related to payouts, sent by Shinkansen
  - `document` object, required — Envelops the message content
    - `header` ForwardedMessageHeader, required — Header with meta-data of the forwarded message
      - `message_id` string, uuid, required — UUID Unique identifier of the message. Generated by the participant initiating the transactions, sending the responses or sending notifications.
      - `shinkansen_message_id` string, uuid, required — UUID Unique identifier of the message. Generated by Shinkansen.
      - `creation_date` string, date-time, required — Creation date of the message in ISO 8601 format. Generated by the participant initiating the transactions (or sending the responses).
      - `sender` object, required — The identifier for a financial institution
        - `fin_id_schema` string, required — Identification schema for financial institution, namely, any participant in Shinkansen Network. Use `"SHINKANSEN"` for Shinkansen's native network ids and full support on any participant and service of the Shinkansen network. Other schemas might be used when interfacing with other networks but they are *not* recommended unless you *really* know what you are doing or have been explicitly instructed to do so by Shinkansen.
        - `fin_id` string, required — Identification according to schema. When the `"SHINKANSEN"` schema is used (as recommended), this is the ID assigned by Shinkansen to the participant in the network. In the context of the `header`, it refers to the Shinkansen network participant that sends (Sender) or receives (Receiver) the message. In the context of the `transactions`, it refers to the financial institution from which the resources leave or where the resources arrive. The ID assigned by Shinkansen to the financial institution can be found in https://docs.shinkansen.tech/docs/instituciones-financieras. When sending a transaction to Shinkansen, this value must always be SHINKANSEN. When sending a payout order to Shinkansen Treasury, this value must be SHINKANSEN_TREASURY
      - `receiver` object, required — The identifier for a financial institution
        - `fin_id_schema` string, required — Identification schema for financial institution, namely, any participant in Shinkansen Network. Use `"SHINKANSEN"` for Shinkansen's native network ids and full support on any participant and service of the Shinkansen network. Other schemas might be used when interfacing with other networks but they are *not* recommended unless you *really* know what you are doing or have been explicitly instructed to do so by Shinkansen.
        - `fin_id` string, required — Identification according to schema. When the `"SHINKANSEN"` schema is used (as recommended), this is the ID assigned by Shinkansen to the participant in the network. In the context of the `header`, it refers to the Shinkansen network participant that sends (Sender) or receives (Receiver) the message. In the context of the `transactions`, it refers to the financial institution from which the resources leave or where the resources arrive. The ID assigned by Shinkansen to the financial institution can be found in https://docs.shinkansen.tech/docs/instituciones-financieras. When sending a transaction to Shinkansen, this value must always be SHINKANSEN. When sending a payout order to Shinkansen Treasury, this value must be SHINKANSEN_TREASURY
    - `notifications` PayoutReversalNotification[], required — One or more payout reversal notifications.
      - `shinkansen_notification_id` string, uuid, required — The unique identifier of the notification, set by Shinkansen
      - `notification_type` 'payout_reversal', required — The type of the notification. Always "payout_reversal" for this type of notification.
      - `notification_id` string, uuid, required — The unique identifier of the notification, set by the payment operator
      - `notification_date` string, date-time, required — The timestamp when the notification was created
      - `referenced_shinkansen_transaction_id` string, uuid, required — The Shinkansen identifier of the reversed payout transaction
      - `referenced_transaction_id` string, uuid, required — The original transaction_id of the reversed payout transaction
      - `reversal_reason` 'error_creditor_account_not_found' | 'error_creditor_account_closed' | 'error_creditor_account_currency_mismatch' | 'error_creditor_account_detail_mismatch' | 'error_creditor_account_over_limits' | 'invalid' | 'error', required — Why the payout was reversed. This is a dedicated list of reversal reasons, independent from the payout response `response_status` (though several values coincide by name).
      - `reversal_message` string, required — A human-readable detail of the reversal

## Response `200`

Message correctly received. Does NOT mean the transaction was succesful. Further responses might be sent back on another message.

## Other responses

- `400` — Invalid message (e.g: invalid signature)
- `409` — Message ignored, because it was already seen and processed before by the receiver. Typically happens when a message is re-sent because the sender isn't sure if it was correctly received (e.g: network failure when the 2xx response was in flight)'

---

[API](https://skmtc.net/shinkansen/apis/payouts-shinkansen-endpoints.md) · [All operations](https://skmtc.net/shinkansen/apis/payouts-shinkansen-endpoints/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shinkansen/payouts-shinkansen-endpoints/versions/1e4a6760b7e8/schema)
