---
title: "Crear una transferencia de fondos"
method: POST
path: "/api/v1/funds-transfers"
tags: ["API"]
---

# Crear una transferencia de fondos

`POST /api/v1/funds-transfers`

Mueve un importe entero en centavos entre dos saldos PES visibles y devuelve el hecho confirmado con sus dos efectos contables. La operación es atómica, permite saldo negativo y exige Idempotency-Key.

## Headers

- `Idempotency-Key` string, required

## Request body

- ApiFundsTransferCreateRequest
  - `source` ApiSharedObject16a22cc706, required
    - `balance_type` 'bank_account' | 'register' | 'safe', required
    - `balance_id` string, uuid, required
  - `destination` ApiSharedObject16a22cc706, required
    - `balance_type` 'bank_account' | 'register' | 'safe', required
    - `balance_id` string, uuid, required
  - `amount` integer, required
  - `occurred_on` string, date, required
  - `reference` string, nullable
  - `description` string, nullable

## Response `201`

Transferencia creada o reproducida idempotentemente

- ApiFundsTransferDetailResponse
  - `request_id` string, required
  - `data` object, required
    - `object` 'funds_transfer', required
    - `id` string, uuid, required
    - `source` ApiSharedObject16a22cc706, required
      - `balance_type` 'bank_account' | 'register' | 'safe', required
      - `balance_id` string, uuid, required
    - `destination` ApiSharedObject16a22cc706, required
      - `balance_type` 'bank_account' | 'register' | 'safe', required
      - `balance_id` string, uuid, required
    - `amount` integer, required
    - `currency` 'PES', required
    - `occurred_on` string, date, required
    - `reference` string, nullable, required
    - `description` string, nullable, required
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `accounting_effects` unknown[], required
      - unknown

## Other responses

- `400` — Solicitud o Idempotency-Key inválidos
- `401` — API key faltante o inválida
- `403` — Scope treasury:write faltante
- `404` — Saldo inexistente, oculto o de otra organización
- `409` — Conflicto de idempotencia o estado del saldo o cuenta vinculada
- `422` — Moneda no soportada, fecha futura o configuración contable faltante
- `429` — Límite de solicitudes excedido para la organización
- `500` — Error interno del servidor
- `503` — Falla transitoria; el cliente puede reintentar

---

[API](https://skmtc.net/lapyme/apis/la-pyme-api.md) · [All operations](https://skmtc.net/lapyme/apis/la-pyme-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lapyme/la-pyme-api/versions/414f57f28498/schema)
