# Create On-Us Transfer

Initiates an On-Us Transfer between two Pockets.

On-Us Transfers can be made in four directions (defined by type):

1. PARTNER_CUSTOMER_FUNDING: From a Partner’s Pocket to a Customer’s Pocket
2. PARTNER_CUSTOMER_DEFUNDING: From a Customer’s Pocket to a Partner’s Pocket
3. INTERNAL_REALLOCATION: Between two Pockets belonging to the same Customer
4. PEER_TO_PEER: From a Customer’s Pockets to Customer’s On-Us Counterparty

On-Us Transfer amounts can be specified two ways (defined by amount.type):

1. REQUESTED_AMOUNT: Transfer a specified dollar amount
2. FULL_WITHDRAWAL: Transfer the Pocket's total available balance (net of fees). amount.type cannot be FULL_WITHDRAWAL when type is PARTNER_CUSTOMER_FUNDING.

On-Us Transfers can be processed asynchronously or synchronously. We strongly recommend processing On-Us Transfers asynchronously (setting async_mode to true). Asynchronous transfers will be created in a PENDING state and status updates will be delivered via Webhooks.

Endpoint: POST /api/v1/transfers/on-us/
Version: Version: b6359d9a
Security: HTTPBearer

## Header parameters:

  - `x-jiko-idempotency` (string, required)

  - `x-jiko-signature` (string, required)

## Response 201 fields (application/json):

  - `id` (string, required)

  - `status` (string, required)
    Enum: "PENDING", "COMPLETED", "REJECTED"

  - `reason` (any, required)

  - `transfer` (any, required)

  - `fees` (array, required)

  - `fees.type` (any, required)

  - `fees.amount` (object, required)

  - `fees.amount.value` (integer, required)
    USD values are always in cents.

  - `fees.amount.currency` (string, required)

  - `fees.amount.formatted` (string)

  - `object_type` (string, required)

## Response 422 fields (application/json):

  - `detail` (array)

  - `detail.loc` (array, required)

  - `detail.msg` (string, required)

  - `detail.type` (string, required)


