---
title: "Transfer Between Card Accounts"
method: POST
path: "/card-accounts/transfer"
tags: ["Card Accounts"]
---

# Transfer Between Card Accounts

`POST /card-accounts/transfer`

## Request

- Base URL: `https://partner-api.getpliant.com/api`
- URL: `https://partner-api.getpliant.com/api/card-accounts/transfer`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/getpliant/apis/pliant-customer-api/docs/card-accounts/transfer/post.ts> (a function with typed inputs; its response is checked against the schema)

Transfers money between two card accounts of the same organization, in the same currency. The transfer is processed asynchronously. The request is accepted with `202` and the returned `internalTransferId` identifies the transfer. Subscribe to the `CARD_ACCOUNT_TRANSFER_COMPLETED` and `CARD_ACCOUNT_TRANSFER_FAILED` [card account callbacks](/reference/create-card-account-subscription) to learn its outcome.

## Request body

- object
  - `organizationId` string, uuid, required: The unique identifier of the organization both card accounts belong to.
  - `sourceCardAccountId` string, uuid, required: The unique identifier of the card account the money is debited from.
  - `moneyToSend` object, required: The amount debited from the source card account. Must be greater than 0.
    - `value` number, required: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`.
    - `currency` string, required: The currency of the monetary amount in ISO 4217 format, for example `EUR`.
  - `targetCardAccountId` string, uuid, required: The unique identifier of the card account the money is credited to.
  - `moneyToReceive` object, required: The amount credited to the target card account. Must equal `moneyToSend`.
    - `value` number, required: The value of the monetary amount, converted to minor units of the currency. For instance 1.00 EUR is 100 cents, thus the value here is `100`.
    - `currency` string, required: The currency of the monetary amount in ISO 4217 format, for example `EUR`.
  - `fxQuoteId` string, uuid: Reserved for cross-currency transfers. Support for cross-currency transfers is coming soon; until then, omit this field.

## Response `202`

Accepted. The transfer will be processed asynchronously.

- object
  - `internalTransferId` string, uuid, required: The unique identifier of the transfer. Use it to match the transfer callbacks.

## Other responses

- `400` (unresolved $ref)
- `401` (unresolved $ref)
- `403` (unresolved $ref)
- `429` (unresolved $ref)
- `500` (unresolved $ref)

## Changes

- **2026-11-03** `a4fbf7d068b4`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getpliant/apis/pliant-customer-api/changes/card-accounts/transfer/post.md)

---

[API](https://skmtc.dev/getpliant/apis/pliant-customer-api.md) - [All operations](https://skmtc.dev/getpliant/apis/pliant-customer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/getpliant/apis/pliant-customer-api/revisions/a4fbf7d068b4?raw)
