---
updatedAt: 2026-05-04T19:18:29.000Z
agentTools:
  siteIndex: https://developers.pismo.io/llms.txt
  projectIndex: https://developers.pismo.io/pismo-docs/llms.txt
---

# Pix-out transfer

Perform a Pix-out transfer.

If you are using a key or QR Code, you need to call  <a href="https://developers.pismo.io/pismo-docs/reference/post-v2-pix-keys-validate">Validate DICT key</a> or <a href="https://developers.pismo.io/pismo-docs/reference/post-qr-code">Get and validate QR Code</a> before calling this endpoint. You need to enter the `end_to_end_id` returned from those calls here. Validation and transaction need to occur within 10 seconds. If you are not using a key or QR Code, this endpoint generates and returns an `end_to_end_id` value you can use in other endpoints.

The `end_to_end_id` field is a Brazil Central Bank (BCB) requirement to track Pix transactions.  Basically, there are two steps to a Pix transaction: 1. Initialize a transaction and 2. Confirm a transaction. The `end_to_end_id` is sent to the BCB in both steps in order to identify all transaction information. 

This endpoint generates a <a href="https://developers.pismo.io/events/docs/pix-pix-out-1">Pix-out notification received</a> event and a <a href="https://developers.pismo.io/events/docs/pix-financial-reconciliation-1">Pix reconciliation notification received</a> event.

This endpoint also generates a <a href="https://developers.pismo.io/events/docs/pix-pix-in-1">Pix-in notification received</a> event when the funds are deposited in the payee's account, which can be a Pismo account or an external account.

For all events, the `status` or `result` field indicates operation success or failure.

If the request times out and the `end_to_end_id` was not returned, use the [Get Pix transaction by client request ID](ref:post-transactions-search) endpoint passing the same `Idempotency-Key` sent in this request as the `client_request_id` to recover the transaction status.

For more information, see the [Pix instant payments](doc:pix-instant-payments) guide.


# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Instant payments - Pix payments",
    "description": "API to handle Pix transactions",
    "contact": {
      "name": "API Support",
      "url": "https://developers.pismo.io/support/"
    },
    "license": {
      "name": "Copyright Pismo"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://sandbox-cdn.pismolabs.io",
      "description": "Sandbox API server for testing"
    },
    {
      "url": "https://sandbox-cdn.pismolabs.io/inst-pull-pay",
      "description": "Sandbox API server for testing instant pull pay."
    }
  ],
  "tags": [
    {
      "name": "Pix"
    }
  ],
  "components": {
    "parameters": {
      "AuthHeader": {
        "in": "header",
        "name": "Authorization",
        "required": true,
        "description": "Account token - an access token encoded with a Pismo account ID. Tokens can expire quickly, which can result in a <b>401 Unauthorized</b> message.",
        "schema": {
          "type": "string",
          "example": "Bearer eyJhbGci...IUzUx"
        }
      },
      "IdempotencyKeyHeader": {
        "name": "Idempotency-Key",
        "in": "header",
        "description": "A unique ID to ensure the operation remains idempotent, allowing for operation repitition without causing unintended effects or duplication. An idempotent operation is one that can be applied multiple times, yet the outcome remains the same. it ensures that network errors, retries, or failures can occur without introducing inconsistencies.\n",
        "required": true,
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "AccountID": {
        "type": "integer",
        "description": "Pismo account ID.",
        "example": 5869300
      },
      "AccountNumber": {
        "type": "string",
        "description": "Account number.",
        "maxLength": 20,
        "example": "98765432"
      },
      "AccountNumber2": {
        "type": "string",
        "description": "Payer's account number.",
        "maxLength": 20,
        "example": "98765432"
      },
      "AccountType": {
        "type": "string",
        "enum": [
          "CACC",
          "SLRY",
          "SVGS",
          "TRAN"
        ],
        "maxLength": 4,
        "description": "Account type:  <br />\n  `CACC` - Checking/current account.  Known as \"conta corrente\" in Portuguese, this is a bank account type designed for everyday financial transactions and is the most common type individuals and businesses use for day-to-day banking.<br />\n  `SVGS` - Savings account<br />\n  `TRAN` - Payment account. Payment institutions offer payment accounts to move funds and make payments, while banks offer checking accounts that include full financial services such as credit and investments.<br />\n  `SLRY` - Salary account. Employer deposits a fixed amount every month.<br />\n",
        "example": "TRAN"
      },
      "AgentModality": {
        "type": "string",
        "description": "Withdrawal service agent. **REQUIRED** for `CHANGE` and `WITHDRAWAL` transactions.<br />\n  * `AGTEC` - Agente estabelecimento comercial. For commercial establishment.<br />\n  * `AGFSS` - Agente Facilitador de Serviço de Saque. For cash machine.<br />\n  * `AGTOT` - Agente Outra Espécie de Pessoa Jurídicas ou correspondente no País. Withdrawal service facilitator.<br />\n",
        "enum": [
          "AGTEC",
          "AGTOT",
          "AGPSS"
        ],
        "example": "AGTEC"
      },
      "Amount": {
        "type": "number",
        "description": "Amount to be transferred.",
        "example": 1050.44
      },
      "Bank": {
        "type": "string",
        "description": "<a href=\"https://bank.codes/numero-do-banco/bank/banco-central-do-brasil/\" target=\"_blank\">ISPB (Identifcador do Sistema de Pagamento Brazil)</a> - the Brazilian Payment System ID for the receiving bank, an 8-digit value.",
        "maxLength": 8,
        "example": "237"
      },
      "BeneficiaryID": {
        "type": "string",
        "maxLength": 36,
        "description": "Beneficiary ID. This ID created when the [Register beneficiary](https://developers.pismo.io/pismo-docs/reference/post-intl-bank-accounts-v1-bank-accounts-beneficiaries) endpoint is called.\n",
        "example": "97c96d96-9b87-404b-88e5-287f2b0e6e0a"
      },
      "Branch": {
        "type": "string",
        "description": "This could be a bank-assigned branch ID or the branch's ISPB number.",
        "maxLength": 4,
        "example": "011"
      },
      "customer.DetailMessage": {
        "type": "object",
        "properties": {
          "external": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/customer.ExternalMessage"
            }
          },
          "parameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/customer.ParameterMessage"
            }
          },
          "payload": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/customer.PayloadMessage"
            }
          }
        }
      },
      "customer.Error": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error's code.",
            "example": "EPT0001"
          },
          "details": {
            "$ref": "#/components/schemas/customer.DetailMessage"
          },
          "message": {
            "type": "string",
            "description": "Error's message.",
            "example": "User not found"
          }
        }
      },
      "customer.ExternalMessage": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code.",
            "example": "PBE315"
          },
          "message": {
            "type": "string",
            "description": "Error message.",
            "example": "Generic error"
          }
        }
      },
      "customer.ParameterMessage": {
        "type": "object",
        "required": [
          "field",
          "message"
        ],
        "properties": {
          "field": {
            "type": "string",
            "description": "Parameter field",
            "example": "Query parameter"
          },
          "message": {
            "type": "string",
            "description": "Message about parameter",
            "example": "Generic error"
          }
        }
      },
      "customer.PayloadMessage": {
        "type": "object",
        "required": [
          "field",
          "message"
        ],
        "properties": {
          "field": {
            "type": "string",
            "description": "Payload parameter",
            "example": "Entity.field"
          },
          "message": {
            "type": "string",
            "description": "Message about error",
            "example": "Generic error"
          }
        }
      },
      "DiscountValue": {
        "type": "number",
        "description": "Discount value.",
        "example": 0.15
      },
      "DocumentNumber": {
        "type": "string",
        "description": "A government document number, such as a Social Security number (US) or Cadastro de Pessoas Físicas number (Brazil). Must be numeric with 11-14 digits.\n",
        "minLength": 1,
        "maxLength": 14,
        "example": "123412341234"
      },
      "EndToEndID": {
        "type": "string",
        "description": "This field is a Brazil Central Bank (BCB) requirement to track all steps of Pix transactions. \nBasically, there are two steps to a Pix transaction:\n    1. Initialize a transaction \n    2. Confirm a transaction\nThe `end_to_end_id` is sent to the BCB in both steps in order to identify all transaction information. \n",
        "example": "E3030629420200808195101608910248"
      },
      "FineValue": {
        "type": "number",
        "description": "Fine value.",
        "example": 5.15
      },
      "InitialAmount": {
        "type": "string",
        "description": "The initial purchase price amount before charges or withdrawal changes.",
        "example": "10.02"
      },
      "InitiationType": {
        "type": "string",
        "enum": [
          "MANUAL",
          "DICT",
          "STATIC_QRCODE",
          "DYNAMIC_QRCODE",
          "PAYMENT_INITIATOR",
          "AUTOMATIC_PIX",
          "DYNAMIC_PROXIMITY_PIX",
          "STATIC_PROXIMITY_PIX"
        ],
        "maxLength": 20,
        "description": "Initiation type:  \n\n  `MANUAL` - Manually initiated. Key is not used - bank account, bank code, document number, and branch are used for identification.\n\n  `DICT` - Diretorio de Identificadores de Contas de Transacapo (Transaction accounts ID directory). Pix/DICT key is used for identification.\n\n  `STATIC_QRCODE` - Reusable code that contains only the data necessary to complete a transaction. When using static QR Code, the transaction amount must be provided manually.\n\n  `DYNAMIC_QRCODE` - The amount and other details for a dynamic code are included automatically. \n  \n  `PAYMENT_INITIATOR` - Payment provider initiated. A payment initiator is a 3rd party that has obtained authorization from the Central Bank and has an <a href=\"https://www.bcb.gov.br/en/financialstability/open_finance\" target=\"_blank\">Open Finance</a> certification.\n\n  `AUTOMATIC_PIX` - Payment order initiated via automatic PIX.\n  \n  `DYNAMIC_PROXIMITY_PIX` - Dynamic Near Field Communications (NFC) based initiation.\n\n  `STATIC_PROXIMITY_PIX` - Static NFC-based initiation.\n",
        "example": "DICT"
      },
      "InterestValue": {
        "type": "number",
        "description": "Interest value.",
        "example": 20.15
      },
      "IsDeviceRegistered": {
        "type": "boolean",
        "description": "Is device registered to do a Pix-out transfer? Default is `true`.",
        "example": true
      },
      "ISPB": {
        "type": "string",
        "description": "<a href=\"https://bank.codes/numero-do-banco/bank/banco-central-do-brasil/\" target=\"_blank\">ISPB (Identifcador do Sistema de Pagamento Brazil)</a> - the Brazilian Payment System ID, an 8-digit value.",
        "maxLength": 8,
        "example": "60701190"
      },
      "Key": {
        "maxLength": 77,
        "type": "string",
        "description": "Pix key value.",
        "example": "email@email.com"
      },
      "Metadata": {
        "type": "object",
        "description": "Key-value fields for adding custom information to request. Total maximum object size = 3000 bytes.\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"
      },
      "Name": {
        "type": "string",
        "description": "Name",
        "maxLength": 200,
        "example": "Walter Melon"
      },
      "PaymentType": {
        "type": "string",
        "description": "Payment type.\n* `IMMEDIATE` - Immediate payment. \n* `FRAUD` - Payment due to suspected fraud. **NOT ALLOWED** when `transaction_type` is `REFUND`.\n* `SCHEDULED` - Scheduled payment.\n",
        "enum": [
          "IMMEDIATE",
          "FRAUD",
          "SCHEDULED"
        ],
        "example": "IMMEDIATE"
      },
      "PersonType": {
        "type": "string",
        "description": "Person type:  \n* `LEGAL_PERSON` - An actual person with legal rights.\n* `NATURAL_PERSON` - An entity, such as an organization or company.\n",
        "enum": [
          "LEGAL_PERSON",
          "NATURAL_PERSON"
        ],
        "example": "NATURAL_PERSON"
      },
      "pix.OutTransferRequest": {
        "type": "object",
        "required": [
          "account_id",
          "amount",
          "bank_account",
          "initiation_type",
          "ispb",
          "payee",
          "transaction_type"
        ],
        "properties": {
          "account_id": {
            "$ref": "#/components/schemas/AccountID"
          },
          "amount": {
            "$ref": "#/components/schemas/Amount"
          },
          "bank_account": {
            "type": "object",
            "description": "Payer's bank account details.",
            "required": [
              "account_number",
              "account_type",
              "branch"
            ],
            "properties": {
              "account_number": {
                "$ref": "#/components/schemas/AccountNumber2"
              },
              "account_type": {
                "$ref": "#/components/schemas/AccountType"
              },
              "branch": {
                "$ref": "#/components/schemas/Branch"
              }
            }
          },
          "initiation_type": {
            "$ref": "#/components/schemas/InitiationType"
          },
          "ispb": {
            "$ref": "#/components/schemas/ISPB"
          },
          "payee": {
            "type": "object",
            "description": "Payee's information. The payee is the transfer receipient.",
            "required": [
              "account_number",
              "account_type",
              "bank",
              "branch",
              "document_number",
              "name"
            ],
            "properties": {
              "account_number": {
                "$ref": "#/components/schemas/AccountNumber"
              },
              "account_type": {
                "$ref": "#/components/schemas/AccountType"
              },
              "bank": {
                "$ref": "#/components/schemas/Bank"
              },
              "branch": {
                "$ref": "#/components/schemas/Branch"
              },
              "document_number": {
                "$ref": "#/components/schemas/DocumentNumber"
              },
              "name": {
                "$ref": "#/components/schemas/Name"
              },
              "beneficiary_id": {
                "$ref": "#/components/schemas/BeneficiaryID"
              },
              "key": {
                "$ref": "#/components/schemas/Key"
              },
              "type": {
                "$ref": "#/components/schemas/PersonType"
              }
            }
          },
          "transaction_type": {
            "$ref": "#/components/schemas/TransactionType"
          },
          "charges": {
            "type": "object",
            "description": "Charges details. **REQUIRED** if returned from QR Code validation.",
            "properties": {
              "discount_value": {
                "$ref": "#/components/schemas/DiscountValue"
              },
              "interest_value": {
                "$ref": "#/components/schemas/InterestValue"
              },
              "fine_value": {
                "$ref": "#/components/schemas/FineValue"
              },
              "settled_value": {
                "type": "number",
                "description": "Settlement value. Amount to be transferred after all charges have been applied.",
                "example": 10.15
              }
            }
          },
          "debtor": {
            "type": "object",
            "description": "Debtor information. The debtor could be the payer, or someone who made a purchase on the payer's behalf.",
            "properties": {
              "document_number": {
                "$ref": "#/components/schemas/DocumentNumber"
              },
              "name": {
                "$ref": "#/components/schemas/Name"
              }
            }
          },
          "end_to_end_id": {
            "type": "string",
            "description": "This field is a Brazil Central Bank (BCB) requirement to track all steps of Pix transactions. \nBasically, there are two steps to a Pix transaction:\n  1. Initialize a transaction \n  2. Confirm a transaction\n\nThe `end_to_end_id` is sent to the BCB in both steps in order to identify all transaction information.\n**REQUIRED** if you are using a Pix key or QR Code. \n",
            "example": "E3030629420200808195101608910248"
          },
          "is_device_registered": {
            "$ref": "#/components/schemas/IsDeviceRegistered"
          },
          "initial_amount": {
            "$ref": "#/components/schemas/InitialAmount"
          },
          "initiator_document_number": {
            "type": "string",
            "description": "Payment initiator CNPJ, validated as a CNPJ.\n\nCadastro Nacional da Pessoa Jurídica (CNPJ) is Brazil's 14-character federal taxpayer registration number for companies and legal entities.\n\n**REQUIRED** when `initiation_type` = `PAYMENT_INITIATOR`.\n\nAlso accepted when `initiation_type` = `AUTOMATIC_PIX`, for a payment initiator Pix out originated in <a href=\"https://www.bcb.gov.br/en/financialstability/open_finance\" target=\"_blank\">Open Finance</a>. \n\nIt is this field's presence, not the `initiation_type` that identifies an Open Finance origin: when it is passed, `transaction_identification` **MUST NOT** be passed.\n",
            "maxLength": 14,
            "example": "12345678912345"
          },
          "payment_type": {
            "$ref": "#/components/schemas/PaymentType"
          },
          "psp_account": {
            "$ref": "#/components/schemas/pix.OutTransferPSPaccount"
          },
          "transaction_identification": {
            "type": "string",
            "description": "This field is returned from the [Validate QR Code](https://developers.pismo.io/pismo-docs/reference/post-qr-code) endpoint.\n\nTransaction ID is **REQUIRED** in the following circumstances:\n\n*  If `initiation_type` = `DYNAMIC_QRCODE`. \n\n* `STATIC_QRCODE` contains the transaction ID\n\n* If `initiation_type` = `PAYMENT_INITIATOR` (must be less than 26 characters).\n\n* When `initiation_type` = `AUTOMATIC_PIX` and `initiator_document_number` is **NOT** passed. It must have the originating `pain.013` instruction's value (26 to 35 characters). Do **NOT* pass this if `initiator_document_number` is passed.\n",
            "example": "1a84daf6-a61b-4aba-919a-a9943db7102e"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata"
          },
          "qr_code_additional_information": {
            "$ref": "#/components/schemas/QRcodeAddInfo"
          },
          "remittance_information": {
            "maxLength": 140,
            "type": "string",
            "description": "Text payer wents to send to payment receiver.\n"
          },
          "urgency": {
            "$ref": "#/components/schemas/Urgency"
          },
          "withdrawal": {
            "type": "object",
            "description": "Withdrawal details. For QR codes and `CHANGE` and `WITHDRAWAL` transactions. For example:  a customer goes to a shop, makes a purchase, and also asks for cash back.\n",
            "properties": {
              "agent_modality": {
                "$ref": "#/components/schemas/AgentModality"
              },
              "amount": {
                "description": "Amount's value made available. **REQUIRED** for `CHANGE` or `WITHDRAWAL`, cannot be sent for `TRANSFER`.",
                "example": 101.11,
                "type": "number"
              },
              "ispb_service_provider": {
                "type": "string",
                "description": "<a href=\"https://bank.codes/numero-do-banco/bank/banco-central-do-brasil/\" target=\"_blank\">ISPB (Identifcador do Sistema de Pagamento Brazil)</a> - the Brazilian Payment System ID, an 8-digit value. **REQUIRED** for `CHANGE` or `WITHDRAWAL`.\n\nThis is the ISPB for the withdrawal service provider.\n",
                "maxLength": 8,
                "example": "60701190"
              },
              "purchase_amount": {
                "description": "Purchase amount. **REQUIRED** for `CHANGE`.",
                "example": 101.11,
                "type": "number"
              }
            }
          },
          "psp_transaction_created_at": {
            "$ref": "#/components/schemas/PSPtransactionCreatedAt"
          },
          "signature_info": {
            "$ref": "#/components/schemas/pix.SignatureInfo"
          },
          "processing_code": {
            "type": "string",
            "description": "A 6-digit code that identifies the financial processing category for the transaction, used for accounting and routing purposes.\n\nThis field is optional. When not provided, Pismo automatically assigns a value managed internally. If you provide a custom value, you take full responsibility for its correctness — an invalid or mismatched code may cause processing or reconciliation failures.\n\nFor more information, refer to the [Processing code](https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types) guide.\n",
            "maxLength": 6,
            "example": "123456"
          }
        }
      },
      "pix.OutTransferPSPaccount": {
        "type": "object",
        "description": "Payment service provider (PSP) information. This object is **REQUIRED** if `transaction_type` = `REFUND`.",
        "required": [
          "account_number",
          "account_type",
          "bank",
          "branch",
          "document_number",
          "name"
        ],
        "properties": {
          "account_number": {
            "$ref": "#/components/schemas/AccountNumber"
          },
          "account_type": {
            "$ref": "#/components/schemas/AccountType"
          },
          "bank": {
            "$ref": "#/components/schemas/Bank"
          },
          "branch": {
            "$ref": "#/components/schemas/Branch"
          },
          "document_number": {
            "$ref": "#/components/schemas/DocumentNumber"
          },
          "name": {
            "$ref": "#/components/schemas/Name"
          },
          "taxes": {
            "$ref": "#/components/schemas/Taxes"
          }
        }
      },
      "pix.OutTransferResponse": {
        "type": "object",
        "required": [
          "amount",
          "end_to_end_id",
          "payee_name",
          "payer_name",
          "status"
        ],
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Amount"
          },
          "end_to_end_id": {
            "$ref": "#/components/schemas/EndToEndID"
          },
          "payee_name": {
            "$ref": "#/components/schemas/Name"
          },
          "payer_name": {
            "$ref": "#/components/schemas/Name"
          },
          "status": {
            "$ref": "#/components/schemas/TransactionStatus"
          }
        }
      },
      "pix.SignatureInfo": {
        "type": "object",
        "description": "Signature information, including the digital signature over the request data that a PSTI validates. A Prestadores de Serviços de Tecnologia da Informação (PSTI) - Information and Technology Service Provider in English — is a technology service provider that connects to the banking/financial infrastructure (specifically the Rede do Sistema Financeiro Nacional - RSFN) on participants' behalf.\n\nThe signature here is the digital signature standard using a private asymmetric key (<a href=\"https://www.geeksforgeeks.org/computer-networks/rsa-algorithm-cryptography/\" target=\"_blank\">RSA</a> or <a href=\"https://en.wikipedia.org/wiki/Elliptic-curve_cryptography\" target=\"_blank\">Elliptic Curve</a>) over an input buffer extracted from the request and provider-defined. \n\nThis field guarantees the request's integrity and authenticity and the transaction messaging non-repudiation (assurance that a party involved in a transaction cannot later deny their involvement) from customer to PSTI.\n\nFor more information, refer to the  [Scheduled Pix-out transfer encryption](https://developers.pismo.io/pismo-docs/docs/pix-out-transfer-encryption) guide.\n\n**Note:** Customers should contact the PSTI to get more information about the encryption process and how to store the certificate related to the certificate thumbprint. Pismo acts as a pass-through entity in this process.\n",
        "required": [
          "algorithm",
          "certificate_thumbprint",
          "signature"
        ],
        "properties": {
          "algorithm": {
            "type": "string",
            "description": "The <a href=\"https://en.wikipedia.org/wiki/Digital_Signature_Algorithm\" target=\"_blank\">digital signature algorithm</a> (DSA). \n",
            "enum": [
              "ECDSA_P256_SHA256",
              "ECDSA_P384_SHA384",
              "Ed25519",
              "RSA_PKCS1_SHA256",
              "RSA_PSS_SHA256"
            ],
            "example": "RSA_PKCS1_SHA256"
          },
          "certificate_thumbprint": {
            "type": "string",
            "description": "The certificate thumbprint calculated using a <a href=\"https://en.wikipedia.org/wiki/SHA-2\" target=\"_blank\">SHA-256 algorithm</a> and encoded in hexadecimal.",
            "maxLength": 512,
            "example": "3a2b4c1b..."
          },
          "signature": {
            "type": "string",
            "description": "The digital signature calculated over the payload (see the input buffer data and provider-defined format) according to the DSA standard and Base64 encoded.\n",
            "maxLength": 1024,
            "example": "MIIb2132b=="
          }
        }
      },
      "PSPtransactionCreatedAt": {
        "type": "string",
        "description": "Datetime since the transaction was created on client-side.\n\nFormat = RFC 3339 Nano.  For example - `2014-03-19T00:08.179780629-04:00`.\n\n **REQUIRED** when passing `signature_info`\n",
        "example": "2014-03-19T00:08.179780629-04:00"
      },
      "QRcodeAddInfo": {
        "type": "array",
        "description": "Additional QR Code information.",
        "items": {
          "type": "object",
          "properties": {
            "name": {
              "type": "string",
              "description": "QR Code name",
              "example": "Discount"
            },
            "value": {
              "type": "string",
              "description": "QR Code value",
              "example": "Paying until the 5th, there will be a 10% discount"
            }
          }
        }
      },
      "Records": {
        "type": "object",
        "properties": {
          "tax_type": {
            "$ref": "#/components/schemas/TaxType"
          },
          "amount": {
            "$ref": "#/components/schemas/TaxAmount"
          }
        }
      },
      "TaxAmount": {
        "type": "number",
        "description": "Tax amount. Must be greater than zero.",
        "example": 1050.44
      },
      "Taxes": {
        "type": "object",
        "description": "Only available in the test environment for direct participants. Tax information related to the transaction.\n",
        "properties": {
          "tax_identifier": {
            "$ref": "#/components/schemas/TaxIdentifier"
          },
          "records": {
            "type": "array",
            "description": "Tax record types information. You must pass, at a minimum, 2 objects - at least one with `CBS` tax type and at least one with `IBS` tax type.\n",
            "items": {
              "$ref": "#/components/schemas/Records"
            }
          }
        }
      },
      "TaxIdentifier": {
        "type": "string",
        "description": "Tax identifier, referring to the NFe, NFSe or aggregating tax document. \n\nIn Brazil, NF-e and NFS-e are the two primary types of mandatory electronic invoices (Notas Fiscais) used for tax compliance.\n\n * NF-e (Nota Fiscal Eletrônica): Used for the sale and movement of physical goods or products. It is regulated at the state level by SEFAZ (SEFAZ (Secretaria da Fazenda) is the State Department of Finance in Brazil.) and travels with the goods.\n\n * NFS-e (Nota Fiscal de Serviços Eletrônica): Used for the provision of services (e.g., consulting, repairs, digital subscriptions). It is regulated by individual city governments.\n\nThe value entered must correspond to the tax document used for calculating the IBS and CBS taxes associated with the transaction.\n",
        "example": "IS0435879820240605bcdb1fhn43a",
        "maxLength": 50
      },
      "TaxType": {
        "type": "string",
        "description": "Tax type:\n\n `IBS` = Goods and services tax. A state and municipal tax that unifies and replaces the main subnational consumption taxes (state ICMS and municipal ISS).\n\n`CBS` = Contribution on goods and services. A federal tax that consolidates and replaces previous federal social contributions and taxes (PIS, Cofins, and IPI).\n",
        "example": "IBS",
        "enum": [
          "CBS",
          "IBS"
        ]
      },
      "TransactionStatus": {
        "type": "string",
        "description": "Current transaction status:\n\n  * `VALIDATED` - Payload was validated and sent to provider\n    \n  * `PROCESSING` - Waiting response from the provider\n    \n  * `SETTLED` - Transaction confirmed\n    \n  * `CANCELLED` - Transaction cancelled\n    \n  * `ERROR` - Transaction error during processing\n",
        "enum": [
          "PROCESSING",
          "VALIDATED",
          "SETTLED",
          "CANCELLED",
          "ERROR"
        ],
        "example": "PROCESSING"
      },
      "TransactionType": {
        "type": "string",
        "description": "Type of transaction the QR Code validation generates.\n* `TRANSFER` - Standard immediate transfer payment. \n* `CHANGE` - Occurs when the QR Code validation returns `CHANGE`. For example, the customer buys something and pays more than the product value to receive the difference in cash. \n* `WITHDRAWAL` - Occurs when the QR Code validation returns `WITHDRAWAL` with `withdrawal` object values.\n* `REFUND_AUTOMATIC_PIX` - Total or partial to the PSP payer user within the Automatic Pix MED (Pix return mechanism) scope (only when initiated by a `MANUAL`).\n* `REFUND` = Total or partial refund to the paying user within the scope of MED 2.0, when this refund occurs from the PI Account of the user's PSP who participated in the distribution chain of the resources of the original transaction (only when initiated by a `MANUAL`)\n",
        "enum": [
          "TRANSFER",
          "CHANGE",
          "WITHDRAWAL",
          "REFUND_AUTOMATIC_PIX",
          "REFUND"
        ],
        "example": "TRANSFER"
      },
      "Urgency": {
        "type": "string",
        "description": "Urgency. Default is `HIGH`.",
        "enum": [
          "NORMAL",
          "HIGH"
        ],
        "example": "HIGH"
      }
    }
  },
  "paths": {
    "/pix/v1/pix/out/transfer": {
      "post": {
        "tags": [
          "Pix"
        ],
        "summary": "Pix-out transfer",
        "operationId": "post-pix-out-transfer",
        "description": "Perform a Pix-out transfer.\n\nIf you are using a key or QR Code, you need to call  <a href=\"https://developers.pismo.io/pismo-docs/reference/post-v2-pix-keys-validate\">Validate DICT key</a> or <a href=\"https://developers.pismo.io/pismo-docs/reference/post-qr-code\">Get and validate QR Code</a> before calling this endpoint. You need to enter the `end_to_end_id` returned from those calls here. Validation and transaction need to occur within 10 seconds. If you are not using a key or QR Code, this endpoint generates and returns an `end_to_end_id` value you can use in other endpoints.\n\nThe `end_to_end_id` field is a Brazil Central Bank (BCB) requirement to track Pix transactions.  Basically, there are two steps to a Pix transaction: 1. Initialize a transaction and 2. Confirm a transaction. The `end_to_end_id` is sent to the BCB in both steps in order to identify all transaction information. \n\nThis endpoint generates a <a href=\"https://developers.pismo.io/events/docs/pix-pix-out-1\">Pix-out notification received</a> event and a <a href=\"https://developers.pismo.io/events/docs/pix-financial-reconciliation-1\">Pix reconciliation notification received</a> event.\n\nThis endpoint also generates a <a href=\"https://developers.pismo.io/events/docs/pix-pix-in-1\">Pix-in notification received</a> event when the funds are deposited in the payee's account, which can be a Pismo account or an external account.\n\nFor all events, the `status` or `result` field indicates operation success or failure.\n\nIf the request times out and the `end_to_end_id` was not returned, use the [Get Pix transaction by client request ID](https://developers.pismo.io/pismo-docs/reference/post-transactions-search) endpoint passing the same `Idempotency-Key` sent in this request as the `client_request_id` to recover the transaction status.\n\nFor more information, see the [Pix instant payments](https://developers.pismo.io/pismo-docs/docs/pix-instant-payments) guide.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/AuthHeader"
          },
          {
            "$ref": "#/components/parameters/IdempotencyKeyHeader"
          }
        ],
        "requestBody": {
          "description": "Request Body",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/pix.OutTransferRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Response Body",
            "headers": {
              "x-cid": {
                "description": "Request tracking ID.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pix.OutTransferResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "headers": {
              "x-cid": {
                "description": "Request tracking ID.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer.Error"
                },
                "examples": {
                  "EPIX0020": {
                    "summary": "SPI Gateway - API returned 4xx error",
                    "value": {
                      "code": "EPIX0020",
                      "message": "SPI Gateway - API returned 4xx error",
                      "details": {
                        "external": [
                          {
                            "code": "PROVIDER_ERROR_CODE",
                            "message": "Provider error message"
                          }
                        ]
                      }
                    }
                  },
                  "EPIX0032": {
                    "summary": "Error unmarshalling request body",
                    "value": {
                      "code": "EPIX0032",
                      "message": "Error unmarshalling request body"
                    }
                  },
                  "EPIX0139": {
                    "summary": "Invalid field size for Cid",
                    "value": {
                      "code": "EPIX0139",
                      "message": "Invalid field size for Cid"
                    }
                  },
                  "EPIX0132": {
                    "summary": "Invalid field size for Idempotency-Key",
                    "value": {
                      "code": "EPIX0132",
                      "message": "Invalid field size for Idempotency-Key"
                    }
                  },
                  "EPIX0067": {
                    "summary": "Requester account id does not match with body account_id",
                    "value": {
                      "code": "EPIX0067",
                      "message": "Requester account id does not match with body account_id"
                    }
                  },
                  "EPIX0126": {
                    "summary": "Required Key",
                    "value": {
                      "code": "EPIX0126",
                      "message": "Required Key"
                    }
                  },
                  "EPIX0115": {
                    "summary": "Missing required transaction identification",
                    "value": {
                      "code": "EPIX0115",
                      "message": "Missing required transaction identification"
                    }
                  },
                  "EPIX0226": {
                    "summary": "Transaction identification not allowed with initiator document number",
                    "value": {
                      "code": "EPIX0226",
                      "message": "Transaction identification not allowed with initiator document number"
                    }
                  },
                  "EPIX0227": {
                    "summary": "Invalid transaction identification length for payment initiator",
                    "value": {
                      "code": "EPIX0227",
                      "message": "Invalid transaction identification length for payment initiator"
                    }
                  },
                  "EPIX0228": {
                    "summary": "Invalid transaction identification length for automatic pix",
                    "value": {
                      "code": "EPIX0228",
                      "message": "Invalid transaction identification length for automatic pix"
                    }
                  },
                  "EPIX0136": {
                    "summary": "Missing required initiator document number",
                    "value": {
                      "code": "EPIX0136",
                      "message": "Missing required initiator document number"
                    }
                  },
                  "EPIX0022": {
                    "summary": "Invalid CNPJ",
                    "value": {
                      "code": "EPIX0022",
                      "message": "Invalid CNPJ"
                    }
                  },
                  "EPIX0137": {
                    "summary": "Invalid value for urgency field. Value must be 'HIGH'",
                    "value": {
                      "code": "EPIX0137",
                      "message": "Invalid value for urgency field. Value must be 'HIGH'"
                    }
                  },
                  "EPIX0138": {
                    "summary": "Invalid value for transaction type. Value must be 'TRANSFER'",
                    "value": {
                      "code": "EPIX0138",
                      "message": "Invalid value for transaction type. Value must be 'TRANSFER'"
                    }
                  },
                  "EPIX0113": {
                    "summary": "Invalid initiation type",
                    "value": {
                      "code": "EPIX0113",
                      "message": "Invalid initiation type"
                    }
                  },
                  "EPIX0123": {
                    "summary": "Required withdrawal",
                    "value": {
                      "code": "EPIX0123",
                      "message": "Required withdrawal"
                    }
                  },
                  "EPIX0120": {
                    "summary": "Missing required purchase amount",
                    "value": {
                      "code": "EPIX0120",
                      "message": "Missing required purchase amount"
                    }
                  },
                  "EPIX0124": {
                    "summary": "Invalid amount",
                    "value": {
                      "code": "EPIX0124",
                      "message": "Invalid amount"
                    }
                  },
                  "EPIX0122": {
                    "summary": "Invalid withdraw amount",
                    "value": {
                      "code": "EPIX0122",
                      "message": "Invalid withdraw amount"
                    }
                  },
                  "EPIX0141": {
                    "summary": "It's not allow transaction to the same AccountID",
                    "value": {
                      "code": "EPIX0141",
                      "message": "It's not allow transaction to the same AccountID"
                    }
                  },
                  "EPIX0019": {
                    "summary": "Accounts - API returned 4xx error",
                    "value": {
                      "code": "EPIX0019",
                      "message": "Accounts - API returned 4xx error"
                    }
                  },
                  "EPIX0008": {
                    "summary": "Account blocked or cancelled",
                    "value": {
                      "code": "EPIX0008",
                      "message": "Account blocked or cancelled"
                    }
                  },
                  "EPIX0053": {
                    "summary": "IntlBankAccounts - API returned 4xx error",
                    "value": {
                      "code": "EPIX0053",
                      "message": "IntlBankAccounts - API returned 4xx error"
                    }
                  },
                  "EPIX0003": {
                    "summary": "Account not found",
                    "value": {
                      "code": "EPIX0003",
                      "message": "Account not found"
                    }
                  },
                  "EPIX0149": {
                    "summary": "Beneficiary is not enabled",
                    "value": {
                      "code": "EPIX0113",
                      "message": "Beneficiary is not enabled"
                    }
                  },
                  "EPIX0114": {
                    "summary": "Beneficiary information does not match Payee's information",
                    "value": {
                      "code": "EPIX0114",
                      "message": "Beneficiary information does not match Payee's information"
                    }
                  },
                  "EPIX0061": {
                    "summary": "PixDict - API returned 4xx error",
                    "value": {
                      "code": "EPIX0061",
                      "message": "PixDict - API returned 4xx error"
                    }
                  },
                  "EPIX0068": {
                    "summary": "Invalid EndToEndID",
                    "value": {
                      "code": "EPIX0068",
                      "message": "Invalid EndToEndID"
                    }
                  },
                  "EPIX0130": {
                    "summary": "Transaction type not found",
                    "value": {
                      "code": "EPIX0130",
                      "message": "Transaction type not found"
                    }
                  },
                  "EPIX0045": {
                    "summary": "P2P API returned 4xx error",
                    "value": {
                      "code": "EPIX0045",
                      "message": "P2P API returned 4xx error"
                    }
                  },
                  "EPIX0110": {
                    "summary": "The amount passed is greater than the current balance",
                    "value": {
                      "code": "EPIX0110",
                      "message": "The amount passed is greater than the current balance"
                    }
                  },
                  "EPIX0146": {
                    "summary": "No Orgs operation found",
                    "value": {
                      "code": "EPIX0146",
                      "message": "No Orgs operation found"
                    }
                  },
                  "EPIX0160": {
                    "summary": "Field transaction_identification can not be filled when initiation_type is MANUAL or DICT",
                    "value": {
                      "code": "EPIX0160",
                      "message": "Field transaction_identification can not be filled when initiation_type is MANUAL or DICT"
                    }
                  },
                  "EPIX0049": {
                    "summary": "Payload validation",
                    "value": {
                      "code": "EPIX0049",
                      "message": "Validation error",
                      "details": {
                        "payload": [
                          {
                            "field": "account_id",
                            "message": "Field \"account_id\" is required"
                          },
                          {
                            "field": "ispb",
                            "message": "Field \"ispb\" is required"
                          },
                          {
                            "field": "branch",
                            "message": "Field \"branch\" is required"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "x-cid": {
                "description": "Request tracking ID.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer.Error"
                },
                "examples": {
                  "EPIX0009": {
                    "summary": "Missing required header: \"x-tenant\"",
                    "value": {
                      "code": "EPIX0009",
                      "message": "Missing required header: \"x-tenant\""
                    }
                  },
                  "EPIX0069": {
                    "summary": "Missing required header: \"Idempotency-Key\"",
                    "value": {
                      "code": "EPIX0069",
                      "message": "Missing required header: \"Idempotency-Key\""
                    }
                  },
                  "EPIX0010": {
                    "summary": "Invalid account id header: \"x-account-id\"",
                    "value": {
                      "code": "EPIX0010",
                      "message": "Invalid account id header: \"x-account-id\""
                    }
                  },
                  "EPIX0111": {
                    "summary": "Anti fraud API error",
                    "value": {
                      "code": "EPIX0111",
                      "message": "Anti fraud API error"
                    }
                  },
                  "EPIX0112": {
                    "summary": "Rejected by Anti fraud API",
                    "value": {
                      "code": "EPIX0112",
                      "message": "Rejected by Anti fraud API"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "headers": {
              "x-cid": {
                "description": "Request tracking ID.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer.Error"
                },
                "examples": {
                  "EPIX0051": {
                    "summary": "IntlBankAccounts - Not found",
                    "value": {
                      "code": "EPIX0051",
                      "message": "IntlBankAccounts - Not found"
                    }
                  },
                  "EPIX0041": {
                    "summary": "SPI Gateway - Not found error. Check details",
                    "value": {
                      "code": "EPIX0041",
                      "message": "SPI Gateway - Not found error. Check details"
                    }
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "headers": {
              "x-cid": {
                "description": "Request tracking ID.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer.Error"
                },
                "examples": {
                  "EPIX0071": {
                    "summary": "Pix transaction already exists",
                    "value": {
                      "code": "EPIX0071",
                      "message": "Pix transaction already exists"
                    }
                  },
                  "EPIX0142": {
                    "summary": "Already exist a transaction with this EndToEnd",
                    "value": {
                      "code": "EPIX0142",
                      "message": "Already exist a transaction with this EndToEnd"
                    }
                  },
                  "EPIX0144": {
                    "summary": "Error recording the idempotency",
                    "value": {
                      "code": "EPIX0144",
                      "message": "Error recording the idempotency"
                    }
                  },
                  "EPIX0085": {
                    "summary": "Duplicated CorrelationId",
                    "value": {
                      "code": "EPIX0085",
                      "message": "Duplicated CorrelationId"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Too Many Requests",
            "headers": {
              "x-cid": {
                "description": "Request tracking ID.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer.Error"
                },
                "examples": {
                  "EPIX0031": {
                    "summary": "SPI Gateway - API returned a rate limit error",
                    "value": {
                      "code": "EPIX0031",
                      "message": "SPI Gateway - API returned a rate limit error"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {
              "x-cid": {
                "description": "Request tracking ID.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer.Error"
                },
                "examples": {
                  "EPIX0004": {
                    "summary": "Internal error",
                    "value": {
                      "code": "EPIX0004",
                      "message": "Internal error"
                    }
                  },
                  "EPIX0005": {
                    "summary": "Error unmarshalling object",
                    "value": {
                      "code": "EPIX0005",
                      "message": "Error unmarshalling object"
                    }
                  },
                  "EPIX0007": {
                    "summary": "HTTP error",
                    "value": {
                      "code": "EPIX0007",
                      "message": "HTTP error"
                    }
                  },
                  "EPIX0042": {
                    "summary": "Accounts API timeout error",
                    "value": {
                      "code": "EPIX0042",
                      "message": "Accounts API timeout error"
                    }
                  },
                  "EPIX0017": {
                    "summary": "Accounts - API returned 5xx error",
                    "value": {
                      "code": "EPIX0017",
                      "message": "Accounts - API returned 5xx error"
                    }
                  },
                  "EPIX0108": {
                    "summary": "Fail to find banking configs",
                    "value": {
                      "code": "EPIX0108",
                      "message": "Fail to find banking configs"
                    }
                  },
                  "EPIX0109": {
                    "summary": "Invalid type for banking config parameter value",
                    "value": {
                      "code": "EPIX0109",
                      "message": "Invalid type for banking config parameter value"
                    }
                  },
                  "EPIX0014": {
                    "summary": "Database internal Error",
                    "value": {
                      "code": "EPIX0014",
                      "message": "Database internal Error"
                    }
                  },
                  "EPIX0043": {
                    "summary": "P2P API timeout error",
                    "value": {
                      "code": "EPIX0043",
                      "message": "P2P API timeout error"
                    }
                  },
                  "EPIX0089": {
                    "summary": "P2P returned invalid event date",
                    "value": {
                      "code": "EPIX0089",
                      "message": "P2P returned invalid event date"
                    }
                  },
                  "EPIX0046": {
                    "summary": "P2P API returned 5xx error",
                    "value": {
                      "code": "EPIX0046",
                      "message": "P2P API returned 5xx error"
                    }
                  },
                  "EPIX0070": {
                    "summary": "Provider returned transaction with error status",
                    "value": {
                      "code": "EPIX0070",
                      "message": "Provider returned transaction with error status"
                    }
                  }
                }
              }
            }
          },
          "502": {
            "description": "Bad Gateway",
            "headers": {
              "x-cid": {
                "description": "Request tracking ID.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer.Error"
                },
                "examples": {
                  "EPIX0018": {
                    "summary": "SPI Gateway - API returned error",
                    "value": {
                      "code": "EPIX0018",
                      "message": "SPI Gateway - API returned error"
                    }
                  },
                  "EPIX0051": {
                    "summary": "IntlBankAccounts - API returned 5xx error",
                    "value": {
                      "code": "EPIX0051",
                      "message": "IntlBankAccounts - API returned 5xx error"
                    }
                  },
                  "EPIX0060": {
                    "summary": "PixDict - API returned 5xx error",
                    "value": {
                      "code": "EPIX0060",
                      "message": "PixDict - API returned 5xx error"
                    }
                  }
                }
              }
            }
          },
          "504": {
            "description": "Gateway Timeout",
            "headers": {
              "x-cid": {
                "description": "Request tracking ID.",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/customer.Error"
                },
                "examples": {
                  "EPIX0030": {
                    "summary": "SPI Gateway - API returned a timeout error",
                    "value": {
                      "code": "EPIX0030",
                      "message": "SPI Gateway - API returned a timeout error"
                    }
                  },
                  "EPIX0050": {
                    "summary": "IntlBankAccounts - API timeout",
                    "value": {
                      "code": "EPIX0050",
                      "message": "IntlBankAccounts - API timeout"
                    }
                  },
                  "EPIX0058": {
                    "summary": "PixDict - API timeout",
                    "value": {
                      "code": "EPIX0058",
                      "message": "PixDict - API timeout"
                    }
                  }
                }
              }
            }
          }
        },
        "x-codegen-request-body-name": "RequestBody"
      }
    }
  }
}
```