# Refund a transaction

Creates a refund for a transaction. Partial refunds are not allowed. The amount must equal the original transaction amount received.

Endpoint: POST /v1/clients/{clientId}/transactions/{transactionId}/refund
Version: 1.0.0
Security: bearerAuth

## Path parameters:

  - `clientId` (string, required)
    Client UUID (must match the client_id embedded in the Authorization token).

  - `transactionId` (string, required)
    Transaction UUID to be refunded.

## Request fields (application/json):

  - `amount` (string)
    Refund amount (full refund only) — must be exactly equal to the original transaction amount received. Use two decimal places.
    Example: "10.00"

  - `description` (string)
    Text with the refund reason
    Example: "Invalid amount"

## Response 200 fields (application/json):

  - `id` (string)
    Example: "957459ce-d4e3-40b5-b759-373e844ba1e8"

  - `bankId` (string)
    Example: "9d84b03a-28d1-4898-a69c-38824239e2b1"

  - `clientId` (string)
    Example: "c2d1d1e3-3340-4170-980e-e9269bbbc551"

  - `externalReference` (string)
    Example: "2505091"

  - `trackingId` (string)
    Example: "20250510FINCHFL2SFGP9KT"

  - `description` (string)
    Example: "lorem ipsum dolor sit amet"

  - `amount` (string)
    Example: "100.00"

  - `currency` (string)
    Example: "MXN"

  - `category` (string)
    Example: "DEBIT_TRANS"

  - `subCategory` (string)
    Example: "SPEI_DEBIT"

  - `transactionStatus` (string)
    Example: "INITIALIZED"

  - `audit` (object)

  - `audit.createdAt` (string)
    Example: "2025-05-09 18:02:31.979746-06:00"

  - `audit.updatedAt` (string)
    Example: "2025-05-09 18:02:31.979746-06:00"

  - `audit.deletedAt` (null,string)

  - `audit.blockedAt` (null,string)


