---
title: "Create Transaction Request (Cash Out)"
method: POST
path: "/transactions"
tags: ["Transactions"]
---

# Create Transaction Request (Cash Out)

`POST /transactions`

Create a new transaction request from one of your accounts. This does not perform an on-chain/bank transfer. You may provide a `webhookUrl` to receive status updates.

## 📝 Required Fields

- `accountId`: Your account ID to debit from
- `toCBU` or `toCVU`: Recipient bank CBU/CVU (22 digits)
- `amount`: Positive decimal number
- Optional `webhookUrl`: URL to receive status updates

## 🔍 Validation Rules

- Account must belong to the authenticated user
- CBU must be a valid 22-digit number
- Optional `externalID` must be unique per account if provided

## Request body

- Transaction — Outbound transaction creation request by a user
  - `accountId` string, uuid, required — ID of the user's account to send funds from
  - `fromName` string — Name of the transaction sender
  - `toName` string — Name of the transaction recipient
  - `fromCBU` number — CBU (bank account number) of the sender
  - `toCBU` string — Recipient CBU (22 digits). Provide either toCBU or toCVU.
  - `toCVU` string — Recipient CVU (22 digits). Provide either toCBU or toCVU.
  - `amount` number, required — Transaction amount (must be positive)
  - `fromCUIT` number — CUIT/CUIL of the sender
  - `toCUIT` number — CUIT/CUIL of the recipient
  - `concept` string — Transaction concept or description
  - `externalDate` string, date-time — Transaction date in your system (ISO 8601 format)
  - `coelsaCode` string — Coelsa transaction code
  - `data` object — Additional JSON data for the transaction
  - `webhookUrl` string, uri — Optional webhook URL to receive status updates for this request

## Response `201`

Transaction request created successfully

- TransactionRequestResponse
  - `id` string, uuid — Internal transaction request ID
  - `externalID` string
  - `createdAt` string, date-time
  - `status` 'PENDING' | 'AWAITING_REVIEW' | 'PROCESSING' | 'DONE' | 'ERROR' | 'CANCELLED'

## Other responses

- `400` — Bad Request - Invalid data provided
- `401` — Unauthorized - Invalid or missing token
- `403` — Forbidden - Account does not belong to the authenticated user
- `404` — Not Found
- `409` — Conflict - Request cannot be created
- `500` — Internal Server Error

---

[API](https://skmtc.net/hg/apis/hg-cash-api.md) · [All operations](https://skmtc.net/hg/apis/hg-cash-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hg/hg-cash-api/revisions/0d337f48a0b9/schema)
