Skip to main content
POST
Create a transfer batch

Authorizations

Authorization
string
header
required

Headers

Fintoc-JWS-Signature
string
required

JSON Web Signature (JWS) of the request body. See Generate JWS keys to set up request signing.

Body

application/json
description
string
required

Human-readable label shown in the Dashboard when you approve the batch. Up to 40 characters.

Example:

"Supplier payouts March"

currency
enum<string>
required

Currency of every transfer in the batch. One of CLP, MXN.

Available options:
CLP,
MXN
Example:

"MXN"

transfers
object[]
required

Transfers to send in the batch. From 1 to 5000 transfers.

Response

The created transfer batch, in pending_authorization.

A group of outbound transfers that you create in one request and approve once from the Dashboard. Fintoc sends the transfers in the batch after you approve the batch. List them with GET /v2/transfers and the transfer_batch_id query parameter.

id
string
required

Unique identifier of the transfer batch.

Example:

"trbatch_2daFu0zqqDtZGJaSi2TGI2Mm1nN"

object
any
required

Type of the object. Always transfer_batch.

amount
integer
required

Sum of the amounts of the transfers in the batch, in the smallest currency unit. For MXN this is centavos; CLP has no minor unit.

Example:

150000

authorized_at
string<date-time> | null
required

Time the batch was approved from the Dashboard, as an ISO 8601 datetime in UTC, or null.

Example:

"2026-03-01T12:05:00Z"

created_at
string<date-time>
required

Time the batch was created, as an ISO 8601 datetime in UTC.

Example:

"2026-03-01T12:00:00Z"

currency
enum<string>
required

Currency of the transfers in the batch. One of CLP, MXN.

Available options:
CLP,
MXN
Example:

"MXN"

description
string
required

Human-readable label for the batch. Up to 40 characters.

Example:

"Supplier payouts March"

expired_at
string<date-time> | null
required

Time the batch expired without approval, as an ISO 8601 datetime in UTC, or null.

Example:

null

mode
enum<string>
required

Whether the batch is live or test data.

Available options:
live,
test
Example:

"test"

partially_succeeded_at
string<date-time> | null
required

Time the batch finished after only some transfers succeeded, as an ISO 8601 datetime in UTC, or null.

Example:

null

rejected_at
string<date-time> | null
required

Time the batch was rejected from the Dashboard, as an ISO 8601 datetime in UTC, or null.

Example:

null

settled_amount
integer
required

Sum of the settled_amount of the transfers in the batch, in the smallest currency unit. For MXN this is centavos; CLP has no minor unit.

Example:

0

status
enum<string>
required

Lifecycle status of the batch. One of pending_authorization (waiting for approval in the Dashboard), rejected (rejected in the Dashboard), expired (not approved in time), in_progress (approved, with transfers being sent), succeeded (every transfer succeeded), partially_succeeded (some transfers succeeded), or failed (no transfer succeeded).

Available options:
pending_authorization,
rejected,
expired,
in_progress,
succeeded,
partially_succeeded,
failed
Example:

"in_progress"

succeeded_at
string<date-time> | null
required

Time every transfer of the batch succeeded, as an ISO 8601 datetime in UTC, or null.

Example:

null

succeeded_count
integer
required

Number of transfers in the batch that succeeded.

Example:

0

transfer_count
integer
required

Number of transfers in the batch.

Example:

3