curl --request POST \
--url https://api.finsync.ar/api/operations \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"operation_type_id": 1,
"internal_account_id": 123,
"external_client_id": 456,
"internal_amount": 1000,
"external_amount": 1000,
"external_currency": "USD"
}
'{
"operation_id": 123,
"message": "<string>",
"transactions": [
123
]
}{
"error": "<string>",
"external_transaction_id": "<string>",
"operation_id": 123,
"status": "pending"
}Create a new operation (up/down/other/exchange/budget)
Creates a new operation. Supports UP/DOWN, OTHER, EXCHANGE, and BUDGET (centros de resultados) operations. Optional date (ISO timestamp or YYYY-MM-DD) sets Operation.date and each created Transaction.created_at/updated_at the same way as the dashboard with-transactions path; omit it to use NOW(). Exchange operations have dedicated internal/external payloads: internal exchanges require explicit account IDs, while external exchanges require an external client and currencies so accounts can be resolved or created automatically. OTHER already accepts two internal (type=0) legs for same-currency internal transfers. Budget operations require cost_center_id + amount; direction defaults to expense. payment_source / payment_source_mode defaults to internal (caja) and then also requires internal_account_id. Expense+external credits payer_client_id (type=1, not the center client) and does not require or debit caja. Income stays caja + optional payer_client_id. Optional counterparty_client_id is a soft Client link (customer or supplier) that does not create transactions or change that party’s balances. Optionally pass external_transaction_id (your own reference) to detect duplicate creates after network retries.
curl --request POST \
--url https://api.finsync.ar/api/operations \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"operation_type_id": 1,
"internal_account_id": 123,
"external_client_id": 456,
"internal_amount": 1000,
"external_amount": 1000,
"external_currency": "USD"
}
'{
"operation_id": 123,
"message": "<string>",
"transactions": [
123
]
}{
"error": "<string>",
"external_transaction_id": "<string>",
"operation_id": 123,
"status": "pending"
}Authorizations
API Key for authentication
Body
- UP/DOWN Operation
- OTHER Operation
- Internal EXCHANGE Operation
- External EXCHANGE Operation
- BUDGET Operation
ID of the operation type (must be UP or DOWN type)
ID of the internal account
ID of the external client
Currency for the external client account
Amount for the internal transaction
x >= 0.01Amount for the external transaction
x >= 0.01Optional operation description
Optional soft Client link (customer or supplier). Associates the operation with that party without creating transactions, ledger rows, or balance changes on their accounts. Omit for backward compatibility.
x >= 1Optional operation date (ISO timestamp or YYYY-MM-DD). Sets Operation.date and each created Transaction.created_at/updated_at. Omitted → NOW().
Optional description for internal transaction
Optional description for external transaction
Optional client reference for idempotent creates. Stored on the external transaction. Retries with the same value return 409 when a pending or completed operation already exists.
200Optional array of commission transactions
Show child attributes
Show child attributes