---
title: "Create a transfer"
method: POST
path: "/transfers"
tags: ["Transfers"]
---

# Create a transfer

`POST /transfers`

Creates an outbound transfer from one of your accounts, in the `live` or `test` mode of the API key used. Requirements differ by country. In Chile, the currency is `CLP` and the counterparty needs a `holder_id`, which is the Chilean tax ID (RUT), and an `institution_id`. In Mexico, the currency is `MXN` and the counterparty's `account_number` is a standardized Mexican bank account number (CLABE). Requires a JSON Web Signature (JWS) in the `Fintoc-JWS-Signature` header.

## Headers

- `Fintoc-JWS-Signature` string, required

## Request body

- object
  - `account_id` string, required — Identifier of the account the transfer is sent from.
  - `amount` integer, required — Amount to transfer, in the smallest currency unit. For MXN this is centavos; CLP has no minor unit. The minimum is `1`.
  - `currency` 'CLP' | 'MXN', required — Currency of the transfer. One of `CLP`, `MXN`.
  - `counterparty` object, required — Recipient of the transfer.
    - `account_number` string, required — Counterparty account number. In Mexico, the 18-digit CLABE; in Chile, the bank account number.
    - `holder_id` string — Tax ID of the counterparty. Required in Chile, where it is the RUT.
    - `holder_name` string — Name of the counterparty.
    - `institution_id` string — Identifier of the counterparty bank. Required in Chile. In Mexico, required when the `account_number` is a debit card or phone number, since only a CLABE encodes the bank.
    - `account_type` string — Type of the counterparty account, used in Chile. One of `checking_account`, `sight_account`, `savings_account`.
    - `email` string — Email of the counterparty.
  - `comment` string — Comment shown to the counterparty.
  - `reference_id` string — Numeric reference shown in the counterparty statement in Mexico. Up to 7 digits, with no leading zeros.
  - `metadata` object — Set of key-value pairs you can attach to the transfer for storing additional structured information.

## Response `201`

The created transfer.

- Transfer — A movement of money between one of your accounts and a counterparty. A transfer is `outbound` when you send money to a counterparty, or `inbound` when money arrives in one of your account numbers. Fintoc settles transfers over local payment rails in Chile and Mexico.
  - `id` string, required — Unique identifier of the transfer.
  - `object` 'transfer', required — Type of the object. Always `transfer`.
  - `account_number` AccountNumber, required
    - `id` string, required — Unique identifier of the account number.
    - `object` 'account_number', required — Type of the object. Always `account_number`.
    - `account_id` string, required — Identifier of the account this number belongs to.
    - `created_at` string, date-time, required — Time the account number was created, as an ISO 8601 datetime in UTC.
    - `deleted_at` string, nullable, required — Time the account number was deleted, as an ISO 8601 datetime in UTC, or `null` when not deleted.
    - `description` string, nullable, required — Free-text description of the account number, or `null` when none is set.
    - `is_root` boolean, required — Whether this account number is the account's default.
    - `last_transfer_at` string, nullable, required — Time of the last transfer received, as an ISO 8601 datetime in UTC, or `null` when no transfer has been received.
    - `metadata` object, required — Set of key-value pairs attached to the account number.
    - `mode` 'live' | 'test', required — Whether the account number holds `live` or `test` data.
    - `number` string, required — Account number that receives inbound transfers. In Mexico, the 18-digit standardized Mexican bank account number (CLABE); in Chile, the bank account number.
    - `options` object, required — Inbound transfer constraints for this account number.
      - `min_amount` integer, nullable, required — Minimum inbound amount, in the smallest currency unit.
      - `max_amount` integer, nullable, required — Maximum inbound amount, in the smallest currency unit.
    - `status` 'enabled' | 'disabled' | 'blocked' | 'deleted', required — Current state of the account number. One of `enabled` (can receive inbound transfers), `disabled` (you turned off inbound transfers), `blocked` (Fintoc blocked inbound transfers), or `deleted` (removed; see `deleted_at`).
    - `updated_at` string, date-time, required — Time the account number was last updated, as an ISO 8601 datetime in UTC.
  - `amount` integer, required — Amount of the transfer, in the smallest currency unit. For MXN this is centavos; CLP has no minor unit.
  - `comment` string, nullable, required — Comment shown to the counterparty, or `null`.
  - `counterparty` object, required — Details of the counterparty of the transfer.
    - `account_number` string, nullable, required — Counterparty account number, or `null`. In Mexico, the 18-digit standardized bank account number (CLABE); in Chile, the bank account number.
    - `account_type` string, nullable, required — Type of the counterparty account, in lowercase, or `null`.
    - `email` string, nullable, required — Counterparty email, or `null`.
    - `holder_id` string, nullable, required — Tax identifier of the counterparty, or `null`. The Chilean tax ID (RUT) in Chile, or the Mexican tax ID (RFC) in Mexico.
    - `holder_name` string, nullable, required — Name of the counterparty account holder, or `null`.
    - `institution` object, required — Counterparty financial institution.
      - `id` string, nullable, required — Institution identifier.
      - `name` string, nullable, required — Institution name.
      - `country` 'cl' | 'mx', required — ISO 3166-1 alpha-2 country code of the institution, in lowercase. One of `cl`, `mx`.
  - `currency` 'CLP' | 'MXN', required — Currency of the transfer. One of `CLP`, `MXN`.
  - `direction` 'inbound' | 'outbound', required — Whether the transfer is `inbound` or `outbound`.
  - `entity` object, required — Entity that owns the account involved in the transfer. For an `inbound` transfer this is the entity that received the money; for an `outbound` transfer, the entity that sent it.
    - `id` string, required — Identifier of the entity.
    - `holder_id` string, required — Tax identifier of the owner. A Chilean tax ID (RUT) or a Mexican tax ID (RFC).
    - `holder_name` string, required — Legal name of the owner.
    - `is_root` boolean, required — Whether this entity is the root entity.
  - `metadata` object, required — Set of key-value pairs attached to the transfer.
  - `mode` 'live' | 'test', required — Whether the transfer is `live` or `test` data.
  - `post_date` string, date-time, nullable, required — Time the transfer was posted, as an ISO 8601 datetime in UTC, or `null`.
  - `receipt_url` string, nullable, required — URL of the transfer receipt, or `null`.
  - `reference_id` string, nullable, required — Numeric reference shown in the counterparty statement in Mexico, or `null`.
  - `return_reason` string, nullable, required — Reason code when the transfer was returned, or `null`.
  - `status` 'succeeded' | 'rejected' | 'failed' | 'pending' | 'returned' | 'return_pending' | 'reject_failed', required — Lifecycle status of the transfer. One of `pending` (being processed), `succeeded` (settled), `rejected` (rejected before settling), `failed` (could not be processed), `returned` (settled, then returned to the sender), `return_pending` (a return is in progress), or `reject_failed` (the rejection could not be completed).
  - `tracking_key` string, nullable, required — Interbank tracking key (clave de rastreo) of the transfer, or `null`.
  - `transaction_date` string, date-time, nullable, required — Time the transfer occurred, as an ISO 8601 datetime in UTC, or `null`.

## Other responses

- `400` — Invalid request: a body parameter is missing or invalid.
- `401` — Invalid or missing API key.
- `409` — Your account has insufficient balance.

---

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