---
updatedAt: 2026-05-29T16:44:17.000Z
---

Fetch the complete documentation index at: https://developers.pismo.io/pismo-docs/llms.txt. Use this file to discover all available pages before exploring further.

# Transfer held amount

Transfer a previously held amount from an account. This endpoint generates the [Authorization created](https://developers.pismo.io/events/docs/authorization-authorization-event-1) and [Account balance changed](https://developers.pismo.io/events/docs/availables-change-available-1) events. See the [Hold funds](doc:hold-funds) guide for more details.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Core platform - Payment methods",
    "version": "1.0.0",
    "description": "API to handle payments.",
    "contact": {
      "name": "API Support",
      "url": "https://developers.pismo.io/support/"
    },
    "license": {
      "name": "Copyright Pismo"
    }
  },
  "servers": [
    {
      "url": "https://sandbox.pismolabs.io",
      "description": "Sandbox API server for testing"
    },
    {
      "url": "https://gw-pci.pismolabs.io",
      "description": "Sandbox PCI API server for testing"
    }
  ],
  "tags": [
    {
      "name": "Hold funds",
      "description": "APIs to manage hold funds."
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Account access token. Tokens can expire quickly, which can result in an \"Unauthorized\" error.",
        "bearerFormat": "JWT"
      }
    },
    "schemas": {
      "AcceptedResponse": {
        "properties": {
          "error_code": {
            "type": "string",
            "description": "Error code",
            "example": "EP2P0010",
            "deprecated": true
          },
          "code": {
            "type": "string",
            "description": "Error code",
            "example": "EP2P0010"
          },
          "message": {
            "type": "string",
            "description": "Message that the request is processing and will finish asynchronously.",
            "example": "Request is processing and will finish asynchronously"
          }
        },
        "title": "AcceptedResponse",
        "description": "Object indicating request could not finish synchronously but will be completed later"
      },
      "ErrorModel": {
        "description": "API generic returned error.",
        "type": "object",
        "properties": {
          "error_code": {
            "type": "string",
            "description": "Error code.",
            "deprecated": true
          },
          "code": {
            "type": "string",
            "description": "Error code."
          },
          "message": {
            "type": "string",
            "description": "Error description."
          }
        },
        "title": "ErrorModel"
      },
      "HoldFundsRequest": {
        "title": "FundHoldsRequest",
        "type": "object",
        "description": "Request object for `POST /v1/payments/hold-funds/block`, `POST /v1/payments/hold-funds/unblock` and `POST /v1/payments/hold-funds/transfer`.",
        "properties": {
          "tracking_id": {
            "type": "string",
            "description": "Unique identifier of the operation.",
            "maxLength": 36,
            "minLength": 1,
            "example": "be68db6e-8da0-4761-8632-6a51857bd123"
          },
          "account_id": {
            "type": "integer",
            "description": "Unique identifier of an account in the Pismo platform.",
            "minimum": 1,
            "example": 101
          },
          "amount": {
            "description": "Credit or debit amount",
            "type": "number",
            "format": "float",
            "minimum": 0.01,
            "example": 12.13
          },
          "processing_code": {
            "description": "Unique 6-character processing code that identifies the credit or debit operation.",
            "type": "string",
            "maxLength": 6,
            "example": "004000",
            "pattern": "^[0-9]{6}$"
          },
          "description": {
            "type": "string",
            "description": "Optional text that describes this operation. The platform supports only letters and numbers in this field and removes any special characters or emojis.",
            "example": "Blocked value"
          },
          "skip_balance_validation": {
            "type": "boolean",
            "description": "When set to `true`, the platform skips account balance validation and forces the operation. By default, the value is `false` and the platform performs account balance validation.",
            "example": false
          },
          "skip_status_account_validation": {
            "type": "boolean",
            "description": "When set to `true`, the platform skips account status validation and forces the operation. By default, the value is `false` and the platform performs account status validation.",
            "example": true
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          }
        },
        "required": [
          "tracking_id",
          "account_id",
          "amount",
          "processing_code"
        ]
      },
      "HoldFundsAuthorizationResponse": {
        "properties": {
          "authorization_id": {
            "description": "Generated authorization ID",
            "type": "integer",
            "format": "int64",
            "example": 15301234
          },
          "event_date": {
            "description": "Date and time of the authorization, in the UTC-0 (RFC3339) format.",
            "type": "string",
            "format": "date-time",
            "example": "2020-01-02T15:14:00.218Z"
          },
          "tracking_id": {
            "description": "Unique identifier for the operation.",
            "type": "string",
            "example": "82766158-514c-42f0-87e2-1bb3250c6dee"
          }
        },
        "description": "Successful response object from `POST /v1/payments/hold-funds/block`, `POST /v1/payments/hold-funds/unblock` and `POST /v1/payments/hold-funds/transfer`.",
        "title": "ForceResponse"
      },
      "Metadata": {
        "type": "object",
        "description": "This optional user-defined key-value object field can be used with external operations to provide additional context or supplementary custom information for the operation. \n\nThe Pismo platform does not perform any validation or processing on this field but passes this object to the acquirer in transactions involving calls to the acquirer and sends it in the events related to the stream of data produced at the end of the request.\n\n**Note**: This field must not be used to send Personally Identifiable Information (PII), Payment Card Industry (PCI) data, or any sensitive/regulated information. Metadata fields are intended for operational, non-sensitive data only. For sensitive data, use the specific parameters designed for that purpose. For more information, refer to [Get started with Pismo APIs](https://developers.pismo.io/pismo-docs/reference/get-started-with-pismo-apis#metadata).\n",
        "example": {
          "any-key": "any-value"
        }
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "paths": {
    "/payments/v1/payments/hold-funds/transfer": {
      "post": {
        "operationId": "post-payments-v1-hold-funds-transfer",
        "summary": "Transfer held amount",
        "description": "Transfer a previously held amount from an account. This endpoint generates the [Authorization created](https://developers.pismo.io/events/docs/authorization-authorization-event-1) and [Account balance changed](https://developers.pismo.io/events/docs/availables-change-available-1) events. See the [Hold funds](https://developers.pismo.io/pismo-docs/docs/hold-funds) guide for more details.",
        "tags": [
          "Hold funds"
        ],
        "security": [
          {
            "BearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HoldFundsRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HoldFundsAuthorizationResponse"
                }
              }
            }
          },
          "202": {
            "description": "Accepted",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                },
                "examples": {
                  "Invalid payload": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "Invalid payload"
                    }
                  },
                  "Limit of two decimal places": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "The amount must have a maximum of two decimal places."
                    }
                  },
                  "Exceed amount limit": {
                    "value": {
                      "error_code": "WP2P0000",
                      "code": "WP2P0000",
                      "message": "A maximum of 20 digits, including two decimals, is allowed for the amount field."
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          },
          "500": {
            "description": "Internal server error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorModel"
                }
              }
            }
          }
        }
      }
    }
  }
}
```