> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mesadepagos.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ACH Payout

> Creates a payout transaction to a destination bank account.



## OpenAPI

````yaml /openapi-v2.en.yaml post /v2/transactions/payouts/bank
openapi: 3.0.0
info:
  title: YP API Partner
  description: Integration documentation for YP API partners.
  version: v2
  contact: {}
servers:
  - url: https://sandbox-rampa.mesadepagos.com/api
    description: Sandbox
security: []
tags:
  - name: Auth
    description: ''
  - name: Quotes
    description: ''
  - name: Payin
    description: ''
  - name: Payout
    description: ''
  - name: Wallet
    description: ''
  - name: Queries
    description: ''
  - name: Webhooks
    description: ''
  - name: Fees
    description: ''
  - name: Clients
    description: ''
paths:
  /v2/transactions/payouts/bank:
    post:
      tags:
        - Payout
      summary: ACH Payout
      description: Creates a payout transaction to a destination bank account.
      operationId: createPayoutAchV2
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBankPayoutRequestDoc'
      responses:
        '201':
          description: Bank payout created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepositAddressTransactionResponseDoc'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponseDoc'
        '401':
          description: Missing, invalid, or expired token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedResponseDoc'
      security:
        - bearer: []
components:
  schemas:
    CreateBankPayoutRequestDoc:
      type: object
      properties:
        funding_source:
          type: string
          enum:
            - balance
            - conversion
          example: conversion
          description: Source of funds for the operation.
        external_reference:
          type: string
          example: 550e8400-e29b-41d4-a716-446655440000
          description: Unique external reference sent by the partner.
          format: uuid
        asset_deposit:
          type: string
          enum:
            - USDC
            - USDT
          default: USDC
          example: USDC
          description: Crypto asset required to fund the operation.
        refund_address:
          type: string
          example: '0x0000000000000000000000000000000000000000'
          description: Crypto refund address, if applicable.
        blockchain:
          type: string
          enum:
            - Polygon
            - Ethereum
            - TRON
          default: Polygon
          example: Polygon
          description: Blockchain of the deposit asset.
        transaction:
          description: Bank details and payout amount.
          allOf:
            - $ref: '#/components/schemas/BankTransactionDoc'
      required:
        - funding_source
        - external_reference
        - transaction
    DepositAddressTransactionResponseDoc:
      type: object
      properties:
        transaction_id:
          type: string
          example: 550e8400-e29b-41d4-a716-446655440001
          description: Primary transaction identifier.
        external_reference:
          type: string
          example: 550e8400-e29b-41d4-a716-446655440000
          description: External reference sent in the request.
        deposit_address:
          type: object
          example: '0x0000000000000000000000000000000000000000'
          nullable: true
          description: Crypto address to fund, if applicable.
        amount_deposit:
          type: object
          example: '14.44'
          nullable: true
          description: Crypto amount required to fund the operation, if applicable.
        transactions:
          description: Transactions associated with the flow.
          type: array
          items:
            $ref: '#/components/schemas/TransactionItemResponseDoc'
      required:
        - transaction_id
        - external_reference
        - transactions
    ValidationErrorResponseDoc:
      type: object
      properties:
        statusCode:
          type: number
          example: 400
        message:
          type: string
          example: Validation failed
        error:
          type: string
          example: Bad Request
      required:
        - statusCode
        - message
        - error
    UnauthorizedResponseDoc:
      type: object
      properties:
        statusCode:
          type: number
          example: 401
        message:
          type: string
          example: Unauthorized
      required:
        - statusCode
        - message
    BankTransactionDoc:
      type: object
      properties:
        country:
          type: string
          enum:
            - BO
            - BR
            - CO
            - CL
            - PE
            - CN
            - CR
            - PY
            - UY
            - PA
            - GT
          default: BO
          example: BO
          description: ISO alpha-2 code of the destination bank country.
        entity_type:
          type: string
          enum:
            - individual
            - company
          example: individual
          description: Destination holder type.
        amount:
          type: number
          example: 100.5
          description: Fiat amount to send.
          minimum: 0
          multipleOf: 0.01
        bank_code:
          type: string
          example: '101'
          description: Destination bank code.
        description:
          type: string
          example: Supplier payment
          description: Transaction description.
          maxLength: 200
        destination_account:
          type: string
          example: '1234567890'
          description: Destination account number.
        first_name:
          type: string
          example: Juan
          description: Destination account holder name.
        last_name:
          type: string
          example: Perez
          description: Last name of the destination account holder.
        document_type:
          type: string
          enum:
            - national_id
            - tax_id
            - passport
            - foreign_id
          example: national_id
          description: Account holder document type.
        destination_id_number:
          type: string
          example: '1234567'
          description: Account holder document number. Digits only.
          minLength: 5
          maxLength: 20
          pattern: ^\d+$
        currency_type:
          type: string
          enum:
            - BOB
            - USD
          example: BOB
          description: Transaction fiat currency.
      required:
        - country
        - entity_type
        - amount
        - bank_code
        - description
        - destination_account
        - first_name
        - last_name
        - document_type
        - destination_id_number
        - currency_type
    TransactionItemResponseDoc:
      type: object
      properties:
        transaction_id:
          type: string
          example: 550e8400-e29b-41d4-a716-446655440002
          description: Related transaction identifier.
        status:
          type: string
          example: pending_transaction
          description: Transaction status.
        message:
          type: string
          example: Transaction created
          description: Status description.
      required:
        - transaction_id
        - status
        - message
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: JWT obtained from /v2/auth/login

````