# Retrieve a transfer reversal

> Retrieve a single reversal. Returns `404` if the reversal does not belong to the transfer in the path.

Source: https://help.boltapp.com/api-reference/transfers/transfer-reversals/gettransferreversal

`GET /v3/transfers/{id}/reversals/{reversal_id}`

## OpenAPI definition

This endpoint as it appears in the OpenAPI document, with every schema it references included.

```json
{
  "openapi": "3.2.0",
  "info": {
    "title": "Transfers API",
    "version": "v3",
    "description": "Move funds between your marketplace account and a seller's, independently of any order or\npayment.\n\nUse Transfers to pay sellers on your own schedule: after fulfilment, after a returns window, or\non a weekly payout run. Each transfer draws on your Bolt balance and reaches the seller on\ntheir next payout.\n\nSellers are identified by the seller ID you registered with Bolt when you onboarded them, the\nsame value you pass as `X-Bolt-Connect-Seller-Id` and in `seller_splits`.\n\nTransfers must be enabled for a seller before you can use them. See the Transfers tag\ndescription for the full prerequisites.\n"
  },
  "servers": [
    {
      "url": "https://api.boltapp.com",
      "description": "The Production URL (Live Data)."
    },
    {
      "url": "https://api-sandbox.boltapp.com",
      "description": "The Sandbox URL (Test Data)."
    }
  ],
  "security": [
    {
      "X-API-Key": [],
      "X-Publishable-Key": []
    }
  ],
  "paths": {
    "/v3/transfers/{id}/reversals/{reversal_id}": {
      "get": {
        "operationId": "getTransferReversal",
        "summary": "Retrieve a transfer reversal",
        "description": "Retrieve a single reversal. Returns `404` if the reversal does not belong to the transfer\nin the path.\n",
        "tags": [
          "Transfer Reversals"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/TransferId"
          },
          {
            "$ref": "#/components/parameters/ReversalId"
          }
        ],
        "responses": {
          "200": {
            "description": "The reversal was retrieved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TransferReversal"
                }
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "TransferId": {
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "The ID of the transfer to operate on.",
        "examples": {
          "default": {
            "value": "trf_9f8e7d6c5b"
          }
        }
      },
      "ReversalId": {
        "in": "path",
        "name": "reversal_id",
        "required": true,
        "schema": {
          "type": "string"
        },
        "description": "The ID of the reversal to operate on.",
        "examples": {
          "default": {
            "value": "trr_4a3b2c1d0e"
          }
        }
      }
    },
    "schemas": {
      "TransferReversal": {
        "type": "object",
        "description": "A movement of funds back the way the transfer sent them, in whole or in part. It is\nincluded in a payout and sent to the bank like any transfer, so it carries its own status\nand is not instantaneous. A reversal is never `cancelled`.\n",
        "required": [
          "id",
          "created_at",
          "transfer_id",
          "status",
          "amount",
          "metadata"
        ],
        "properties": {
          "id": {
            "type": "string",
            "readOnly": true,
            "description": "The reversal's ID. Treat it as an opaque string.",
            "examples": [
              "trr_4a3b2c1d0e"
            ]
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "readOnly": true,
            "description": "When the reversal was created.",
            "examples": [
              "2026-10-20T11:02:44Z"
            ]
          },
          "transfer_id": {
            "type": "string",
            "readOnly": true,
            "description": "The transfer being reversed.",
            "examples": [
              "trf_9f8e7d6c5b"
            ]
          },
          "status": {
            "type": "string",
            "description": "How far the reversal has progressed, using the same meanings as a transfer's status. A\nreversal is never `cancelled`.\n",
            "enum": [
              "pending",
              "in_transit",
              "paid",
              "failed"
            ],
            "examples": [
              "pending"
            ]
          },
          "amount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Amount"
              }
            ],
            "description": "The amount reversed. Always greater than zero, and never more than the transfer's\nunreversed remainder.\n"
          },
          "reference": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 255,
            "description": "The reference you supplied when creating the reversal, if you supplied one.",
            "examples": [
              "reversal-return-8831"
            ]
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 500,
            "description": "Your own note on the reversal. Can be changed later.",
            "examples": [
              "Partial return, 1 of 3 items"
            ]
          },
          "payout_reference": {
            "type": [
              "string",
              "null"
            ],
            "readOnly": true,
            "description": "The Bolt payout that carried this reversal, for reconciling against your statement.",
            "examples": [
              "po_20261021_0044"
            ]
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          }
        }
      },
      "Amount": {
        "type": "object",
        "description": "A monetary amount: a base unit amount and a supported currency.",
        "required": [
          "currency",
          "units"
        ],
        "properties": {
          "currency": {
            "type": "string",
            "description": "The currency of the transfer. Both sides must settle in it: there is no currency\nconversion.\n",
            "enum": [
              "AUD",
              "CAD",
              "EUR",
              "GBP",
              "USD"
            ],
            "examples": [
              "USD"
            ]
          },
          "units": {
            "type": "integer",
            "format": "int64",
            "description": "The amount in the currency's base units, for example cents for USD and EUR.",
            "examples": [
              4000
            ]
          }
        }
      },
      "Metadata": {
        "type": "object",
        "description": "Your own key-value pairs, for storing your references against the object. Up to 20 keys,\nwith keys up to 40 characters and values up to 500 characters. An object with no metadata\nreturns `{}` rather than null.\n",
        "additionalProperties": {
          "type": "string"
        },
        "examples": [
          {
            "invoice": "INV-2026-0114"
          }
        ]
      },
      "Error": {
        "type": "object",
        "required": [
          ".tag",
          "message"
        ],
        "properties": {
          ".tag": {
            "type": "string",
            "description": "The type of error returned. Branch on this value rather than on the message.",
            "enum": [
              "unauthorized",
              "forbidden",
              "not_found",
              "idempotency_conflict",
              "rate_limited",
              "unprocessable_request"
            ],
            "examples": [
              "not_found"
            ]
          },
          "message": {
            "type": "string",
            "description": "A human readable description of the error, which may include details of the request\nthat was made. It is written for developers, is not localized, and should not be shown\nto shoppers.\n",
            "examples": [
              "We were unable to process your request."
            ]
          }
        }
      }
    },
    "responses": {
      "Unauthorized": {
        "description": "The API key or publishable key is missing, invalid, or used against the wrong environment.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "examples": {
              "default": {
                "value": {
                  ".tag": "unauthorized",
                  "message": "The request could not be authenticated."
                }
              }
            }
          }
        }
      },
      "NotFound": {
        "description": "No such transfer or reversal, or it belongs to another marketplace.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            },
            "examples": {
              "default": {
                "value": {
                  ".tag": "not_found",
                  "message": "No transfer was found with ID trf_9f8e7d6c5b."
                }
              }
            }
          }
        }
      }
    },
    "securitySchemes": {
      "X-API-Key": {
        "type": "apiKey",
        "in": "header",
        "name": "X-API-Key",
        "description": "Your Bolt API key, from Developer > API in the Bolt Merchant Dashboard. Server-side only.\nSandbox keys work only against `api-sandbox.boltapp.com`. Using a sandbox key against\nproduction, or the reverse, returns `401`.\n"
      },
      "X-Publishable-Key": {
        "type": "apiKey",
        "in": "header",
        "name": "X-Publishable-Key",
        "description": "The publicly shareable identifier for your merchant division. Your authenticated account is\nalways one side of a transfer, and seller IDs are resolved against it.\n"
      }
    }
  }
}
```
