post
https://api.somossimpay.com.br/v2/finance/create-cashout
Creates a new PIX cashout transaction using a PIX key. This endpoint initiates a transfer from the source account to a recipient identified by their PIX key. The transaction is created with NEW status and requires approval before being processed.
Recent Requests
Log in to see full request history
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Loading…
Endpoint
POST /v2/finance/create-cashout
Headers
| Parameter | Type | Description | Required or Optional | Example |
|---|---|---|---|---|
| Authorization | String | Bearer + Access_token | required | Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0b2tlbl90eXBlIjoiYWNjZXNzIiwiZXhwIjoxNzEzMzAwOTMxLCJpYXQiOjE3MTMyOTczMzEsImp0aSI6Ijc2ZWI4ZTE5ZjM4YjQ4NmZiODdmNzNjNTdkMWVmNDJhIiwidXNlcl9pZCI6MjQ2fQ.5zekMa7CUj9p-MvNHns5ke4ZPhYV3Y1CLOsYL7hDUUo |
| hmac | String | HMAC (Hash-based Message Authentication Code) is an authentication algorithm that combines a private key with a message to create a Message Authentication Code (MAC). | required | hmac: 57373705c83bc5efe41001790c54642e670088c0c87d56bc8f990f2260c7740b99f4081ff231b87f82118c1e77a959e1f40eacf690a8fa61a827a9ba01d546f6 |
| idempotency-key | String | Optional UUID to prevent duplicate transactions. When provided, ensures that retrying the same request will not create multiple transactions. See Idempotency section below. | optional | 550e8400-e29b-41d4-a716-446655440000 |
Body Details
{
"source_account_branch_identifier": "0001",
"source_account_number": "123456",
"amount": 100.50,
"key": "[email protected]",
"tag": "payment-reference-123"
}| Field | Type | Description | Required or Optional |
|---|---|---|---|
| source_account_branch_identifier | String | Branch identifier of the source account from which the transfer will be made. | required |
| source_account_number | String | Account number of the source account from which the transfer will be made. | required |
| amount | Decimal | Amount to be transferred. Must be greater than 0 and have up to 2 decimal places. | required |
| key | String | PIX key of the recipient (email, phone, CPF/CNPJ, or EVP random key). | required |
| tag | String | Optional reference tag for tracking purposes. Free text field for client use. | optional |
Request Examples
Basic transfer:
POST /v2/finance/create-cashout
Authorization: Bearer <access_token>
hmac: <computed_hmac>
Content-Type: application/json
{
"source_account_branch_identifier": "0001",
"source_account_number": "123456",
"amount": 100.50,
"key": "[email protected]"
}Transfer with tag:
POST /v2/finance/create-cashout
Authorization: Bearer <access_token>
hmac: <computed_hmac>
Content-Type: application/json
{
"source_account_branch_identifier": "0001",
"source_account_number": "123456",
"amount": 250.00,
"key": "+5511999999999",
"tag": "invoice-payment-456"
}Transfer with idempotency key:
POST /v2/finance/create-cashout
Authorization: Bearer <access_token>
hmac: <computed_hmac>
idempotency-key: 550e8400-e29b-41d4-a716-446655440000
Content-Type: application/json
{
"source_account_branch_identifier": "0001",
"source_account_number": "900002",
"amount": 1500.00,
"key": "12345678901",
"tag": "contract-payment"
}Response Details
{
"worked": true,
"id": 789461,
"transaction_id": 789461,
"code_transaction": null,
"status": "NEW",
"amount": 100.5,
"fee": 0.0,
"key": "recip***@example.com",
"tag": "payment-reference-123",
"from_accout": "123456",
"recipient_instution": null,
"recipient_instution_name": null,
"recipient_account_id": null,
"recipient_branch_id": null,
"recipient_legal_id": null,
"recipient_name": null,
"recipient_account_type": null,
"operationUuid": null,
"idempotency_key": "550e8400-e29b-41d4-a716-446655440000",
"erro_descriptor": "",
"new_erro_descriptor": ""
}| Field | Type | Description |
|---|---|---|
| worked | Boolean | Always true for successful requests. |
| id | Integer | Unique identifier of the transaction. |
| transaction_id | Integer | Transaction identifier (same as id). |
| code_transaction | String | Human-readable transaction code. Will be null for transactions with status NEW. |
| status | String | Current status of the transaction. Will be NEW for newly created cashouts. |
| amount | Float | Amount transferred. |
| fee | Float | Transaction fee charged. Currently 0.0 for PIX transactions. |
| key | String | PIX key used for the transfer (may be masked for security). |
| tag | String | Reference tag provided in the request, or empty string if not provided. |
| from_accout | String | Source account number from which the transfer was made. |
| recipient_instution | String | ISPB code of the recipient's financial institution. Will be null for status NEW when using PIX keys. |
| recipient_instution_name | String | Name of the recipient's financial institution. Will be null for status NEW. |
| recipient_account_id | String | Recipient's account number. Will be null for status NEW. |
| recipient_branch_id | String | Recipient's branch identifier. Will be null for status NEW. |
| recipient_legal_id | String | Recipient's CPF or CNPJ. Will be null for status NEW. |
| recipient_name | String | Recipient's name. Will be null for status NEW. |
| recipient_account_type | String | Type of recipient's account. Will be null for status NEW. |
| operationUuid | String | Operation UUID from the payment system, or null if not yet assigned. |
| idempotency_key | String | The idempotency key provided in the request, or null if not provided. |
| erro_descriptor | String | Error description if the transaction failed, or empty string if successful. |
| new_erro_descriptor | String | Additional error information, or empty string if not applicable. |
Error Responses
| HTTP Code | Error Message | Description |
|---|---|---|
| 400 | Account not found | The specified source account does not exist. |
| 400 | Invalid Pix Key | The provided PIX key is invalid or in an incorrect format. |
| 401 | Unauthorized | Invalid or missing authentication token. Ensure you are sending a valid Bearer token and HMAC signature. |
| 422 | Validation error | Request validation failed. Check that all required fields are present and in the correct format. |
Business Rules
Authentication:
- This endpoint requires API authentication with Bearer token and HMAC signature.
- The request body must be validated using the provided HMAC signature.
Validations:
- Amount must be greater than zero and have at most 2 decimal places.
- PIX key must be valid according to PIX standards (email, phone, CPF/CNPJ, or EVP).
- Source account must be identified by branch identifier and account number.
Transaction Status:
- Newly created transactions have status
NEWand require approval before being processed. - Use the approve endpoint to transition the transaction to
PROCESSINGstatus.
Idempotency:
- The optional
idempotency-keyheader prevents duplicate transactions when provided. - Use UUID v4 format (RFC 4122) for the idempotency key.
- Retrying a request with the same idempotency key will:
- Return HTTP 200 with the existing transaction if the request body is identical
- Return HTTP 409 if the request body differs from the original request
- Idempotency keys are unique per company and have no expiration.
Important Notes:
- Recipient information (name, CPF/CNPJ, bank details) is resolved by the PIX system after approval.
- For transfers using complete recipient account details instead of PIX keys, use the manual cashout endpoint.
Use Cases
- API Integration: Third-party systems integrate with the API to initiate transfers automatically.
- PIX Key Transfers: Quick transfers using just the recipient's PIX key (email, phone, CPF/CNPJ, or EVP).
- Transaction Tracking: Use the optional
tagfield to associate transfers with internal references. - Two-Step Workflow: Transactions are created with
NEWstatus and require explicit approval before processing. - Secure Transfers: HMAC validation ensures request integrity and prevents tampering.
400Bad request - Invalid parameters
401Unauthorized - Invalid or missing authentication
500Internal server error
