---
title: "Post Transfer"
method: POST
path: "/api/billing/credits/transfer"
tags: ["billing"]
---

# Post Transfer

`POST /api/billing/credits/transfer`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/billing/credits/transfer`
- Auth: none declared

Move credit between two identities' wallets (TOS-2640 Phase 1).

Authority over BOTH sides is enforced in the service (TOS-6959 R1), and an
independent validator re-checks it at settlement, so a crafted request
cannot bypass the owned-wallet selector and send money to an arbitrary UUID.

Returns the transfer plus BOTH wallets' balances - the whole point is that
one went down by exactly what the other went up by, and a caller should not
have to make two more round trips to see it.

## Headers

- `x-impersonate-identity-id` string, nullable

## Request body

- TransferRequest: Move existing credit from one identity's wallet to another's (TOS-2640 P1).
  - `source_identity_id` string, uuid, required: Wallet the credit leaves. Must be you, an identity you actively control, or any identity if you are a platform admin.
  - `dest_identity_id` string, uuid, required: Wallet the credit lands in.
  - `amount_usd` union, required: Amount to move, in USD.
    - number
    - string
  - `idempotency_key` string, required: Client-generated key; replaying it returns the original transfer.
  - `note` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thinqos/apis/thinqos-api.md) · [All operations](https://skmtc.dev/thinqos/apis/thinqos-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thinqos/apis/thinqos-api/revisions/ce2c2ce318b1?raw)
