---
title: "Send reversals"
method: POST
path: "/reversals"
tags: ["Reversals & Responses"]
---

# Send reversals

`POST /reversals`

## Request

- Base URL: `https://sandbox-gateway.shinkansen.finance/api`
- URL: `https://sandbox-gateway.shinkansen.finance/api/reversals`
- Auth: API key in header `Shinkansen-JWS-Signature` and API key in header `Shinkansen-Api-Key`

Sends a conditional reversal message, which — if accepted (by the IFR) — will cancel the original transaction You will receive the status of the reversal in your webhook (https://docs.shinkansen.tech/reference/post-response-webook_transfers).

## Request body

- OriginalReversalMessage: Reversal message, as sent originally by the financial institution originating the reversal (IFO)
  - `document` object, required: Envelops the message content
    - `header` TransferMessageHeader, required: Header for sent transfer/reversal/response messages. The same header is used for all three types of messages.
      - `message_id` string, uuid, required: UUID Unique identifier of the message. Generated by the participant initiating the message.
      - `creation_date` string, date-time, required: Creation date of the message in ISO 8601 format. Generated by the participant initiating the message.
      - `sender` string, required: The participant sender of this message. This is your internal identifier for Shinkansen Eco-System.
      - `receiver` string, required: The Gateway receiver of this message. This is always Shinkansen.
    - `reversals` OriginalReversalTransaction[], required: One or more reversals.
      - `reversal_id` string, uuid, required: UUID Unique identifier of the reversal request. Generated by Your Financial Institution. UUID format is required, otherwise the reversal will be rejected.
      - `original_transaction_id` string, uuid, required: UUID Unique identifier of the transaction. Generated by Shinkansen (this is the original shinkansen_transaction_id). UUID format is required, otherwise the reversal request will be rejected.

## Response `200`

Message correctly received and accepted to be processed by Shinkansen Gateway and sent to Switch (CCA -> IFR)

- StatusAcceptedReversal: Status accepted reversal HTTP 200
  - `shinkansen_message_id` string, uuid, required: Message ID generated by Shinkansen receiving the reversal
  - `reversals` object[], required: Array of mappings between original shinkansen_reversal_id and original_transaction_id
    - `original_transaction_id` string, uuid, required: The original_transaction_id - Generated by Shinkansen (the original shinkansen_transaction_id of the transaction that is being reversed)
    - `reversal_id` string, uuid, required: The reversal_id - Generated by the Participant (your internal identifier for the reversal)
    - `shinkansen_reversal_id` string, uuid, required: The original shinkansen_reversal_id - Generated by Shinkansen (identifier of the reversal in Shinkansen)

## Other responses

- `207`: Message correctly received and accepted partially to be processed by Shinkansen Gateway and sent to Switch (CCA -> IFR) (some reversals were rejected)
- `400`: Message received but rejected by Shinkansen Gateway due to validation errors
- `401`: Message received but rejected by Shinkansen Gateway due to an unauthorized access to the API Key or the JWS Signature
- `409`: Message received but rejected by Shinkansen Gateway due to a conflict like a duplicate message ID or a duplicate transaction ID

---

[API](https://skmtc.dev/shinkansen/apis/transfers-shinkansen-endpoints.md) - [All operations](https://skmtc.dev/shinkansen/apis/transfers-shinkansen-endpoints/llms.txt) - [OpenAPI document](https://skmtc.dev/shinkansen/apis/transfers-shinkansen-endpoints/revisions/76363158582b?raw)
