# 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: aec57205
Security: HTTPBearer

## Header parameters:

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

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

## Request fields (application/json):

  - `body` (any, required) — one of (discriminator: type):
    - INTERNAL_REALLOCATION:
      - `transfer_id` (any)
        The ID for this transfer, auto-generated if not provided.
        Example: "cbb6cfce-f207-45e7-a6b3-1055ab43db51"
      - `description` (any)
        A description of the transfer, visible on statements.
        Example: "Moving funds between accounts belonging to the same customer"
      - `end_to_end_identification` (any)
        Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
      - `from_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `from_account.id` (string, required)
        Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      - `from_account.type` (string, required)
        Example: "JIKO_ACCOUNT"
      - `to_account` (object, required)
        Example: {"id":"991dd8b5-f103-4158-8c6b-84480cb43652","type":"JIKO_ACCOUNT"}
      - `type` (string, required)
        Move funds between accounts belonging to the same customer.
        Example: "INTERNAL_REALLOCATION"
      - `transfer_type` (any)
        Type of internal reallocation transfer. BANK_TRANSFER (default): sells the CUSIP from the origin pocket and buys new CSIP for the destination pocket. Settlement is T+1. SECURITY_TRANSFER: no bank transaction occurs; CUSIPs are moved directly between pockets. This is instant but currently only allowed for jiko_net pockets.
      - `amount` (any)
        Example: {"amount_usdc":10000,"type":"REQUESTED_AMOUNT"}
      - `async_mode` (boolean)
        Using asynchronous processing is strongly recommended. Status updates will be delivered via Webhooks.
      - `amount_usdc` (any)
        The amount, in USD cents. Deprecated, use amount instead.
    - PARTNER_CUSTOMER_DEFUNDING:
      - `transfer_id` (any)
        The ID for this transfer, auto-generated if not provided.
        Example: "d64e7b7e-7fd2-44a4-8bfd-68a31252afaa"
      - `description` (any)
        A description of the transfer, visible on statements.
        Example: "Withdrawing funds from customer to partner"
      - `end_to_end_identification` (any)
        Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
      - `from_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `from_account.id` (string, required)
        Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      - `from_account.type` (string, required)
        Example: "JIKO_ACCOUNT"
      - `to_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `type` (string, required)
        Withdraw funds from customer to partner.
        Example: "PARTNER_CUSTOMER_DEFUNDING"
      - `target` (string, required)
        The funds destination belonging to the customer at the Partner institution.
        Example: "123456789"
      - `amount` (any)
        Example: {"type":"FULL_WITHDRAWAL"}
      - `async_mode` (boolean)
        Using asynchronous processing is strongly recommended. Status updates will be delivered via Webhooks.
      - `amount_usdc` (any)
        The amount, in USD cents. Deprecated, use amount instead.
    - PARTNER_CUSTOMER_FUNDING:
      - `transfer_id` (any)
        The ID for this transfer, auto-generated if not provided.
        Example: "d4a2d8dd-7def-4545-a062-761683b9aa05"
      - `description` (any)
        A description of the transfer, visible on statements.
        Example: "Disbursing funds from partner to customer"
      - `end_to_end_identification` (any)
        Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
      - `from_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `from_account.id` (string, required)
        Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      - `from_account.type` (string, required)
        Example: "JIKO_ACCOUNT"
      - `to_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `type` (string, required)
        Disburse funds from partner to customer.
        Example: "PARTNER_CUSTOMER_FUNDING"
      - `source` (string, required)
        The source of customer funds at the Partner institution.
        Example: "123456789"
      - `amount` (any)
        Example: {"amount_usdc":100000,"type":"REQUESTED_AMOUNT"}
        - `amount_usdc` (integer, required)
          Example: 100000
        - `type` (string, required)
          Example: "REQUESTED_AMOUNT"
      - `async_mode` (boolean)
        Using asynchronous processing is strongly recommended. Status updates will be delivered via Webhooks.
      - `amount_usdc` (any)
        The amount, in USD cents. Deprecated, use amount instead.
    - PEER_TO_PEER:
      - `transfer_id` (any)
        The ID for this transfer, auto-generated if not provided.
        Example: "cbb6cfce-f207-45e7-a6b3-1055ab43db51"
      - `description` (any)
        A description of the transfer, visible on statements.
        Example: "Moving funds between accounts belonging to different customers"
      - `end_to_end_identification` (any)
        Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
      - `from_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `from_account.id` (string, required)
        Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      - `from_account.type` (string, required)
        Example: "JIKO_ACCOUNT"
      - `to_account` (object, required)
        Example: {"id":"991dd8b5-f103-4158-8c6b-84480cb43652","type":"COUNTERPARTY"}
      - `to_account.id` (string, required)
        Example: "991dd8b5-f103-4158-8c6b-84480cb43652"
      - `to_account.type` (string, required)
        Example: "COUNTERPARTY"
      - `type` (string, required)
        Example: "PEER_TO_PEER"
      - `amount` (any)
        Example: {"amount_usdc":10000,"type":"REQUESTED_AMOUNT"}
      - `async_mode` (boolean)
        Using asynchronous processing is strongly recommended. Status updates will be delivered via Webhooks.
      - `amount_usdc` (any)
        The amount, in USD cents. Deprecated, use amount instead.

## Response 201 fields (application/json):

  - `id` (string, required)

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

  - `reason` (any, required)

  - `transfer` (any, required) — one of (discriminator: type):
    - INTERNAL_REALLOCATION:
      - `transfer_id` (any)
        The ID for this transfer, auto-generated if not provided.
        Example: "cbb6cfce-f207-45e7-a6b3-1055ab43db51"
      - `description` (any)
        A description of the transfer, visible on statements.
        Example: "Moving funds between accounts belonging to the same customer"
      - `end_to_end_identification` (any)
        Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
      - `from_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `from_account.id` (string, required)
        Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      - `from_account.type` (string, required)
        Example: "JIKO_ACCOUNT"
      - `to_account` (object, required)
        Example: {"id":"991dd8b5-f103-4158-8c6b-84480cb43652","type":"JIKO_ACCOUNT"}
      - `type` (string, required)
        Example: "INTERNAL_REALLOCATION"
      - `transfer_type` (string, required)
        Enum: "BANK_TRANSFER", "SECURITY_TRANSFER"
      - `amount` (object, required)
        Example: {"amount_usdc":10000,"type":"REQUESTED_AMOUNT"}
      - `amount.value` (integer, required)
        USD values are always in cents.
      - `amount.currency` (string, required)
      - `amount.formatted` (string)
    - PARTNER_CUSTOMER_DEFUNDING:
      - `transfer_id` (any)
        The ID for this transfer, auto-generated if not provided.
        Example: "d64e7b7e-7fd2-44a4-8bfd-68a31252afaa"
      - `description` (any)
        A description of the transfer, visible on statements.
        Example: "Withdrawing funds from customer to partner"
      - `end_to_end_identification` (any)
        Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
      - `from_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `from_account.id` (string, required)
        Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      - `from_account.type` (string, required)
        Example: "JIKO_ACCOUNT"
      - `to_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `type` (string, required)
        Example: "PARTNER_CUSTOMER_DEFUNDING"
      - `target` (string, required)
        The funds destination belonging to the customer at the Partner institution.
        Example: "123456789"
      - `amount` (object, required)
        Example: {"type":"FULL_WITHDRAWAL"}
      - `amount.value` (integer, required)
        USD values are always in cents.
      - `amount.currency` (string, required)
      - `amount.formatted` (string)
    - PARTNER_CUSTOMER_FUNDING:
      - `transfer_id` (any)
        The ID for this transfer, auto-generated if not provided.
        Example: "d4a2d8dd-7def-4545-a062-761683b9aa05"
      - `description` (any)
        A description of the transfer, visible on statements.
        Example: "Disbursing funds from partner to customer"
      - `end_to_end_identification` (any)
        Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
      - `from_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `from_account.id` (string, required)
        Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      - `from_account.type` (string, required)
        Example: "JIKO_ACCOUNT"
      - `to_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `type` (string, required)
        Example: "PARTNER_CUSTOMER_FUNDING"
      - `source` (string, required)
        The source of customer funds at the Partner institution.
        Example: "123456789"
      - `amount` (object, required)
        Example: {"amount_usdc":100000,"type":"REQUESTED_AMOUNT"}
      - `amount.value` (integer, required)
        USD values are always in cents.
      - `amount.currency` (string, required)
      - `amount.formatted` (string)
    - PEER_TO_PEER:
      - `transfer_id` (any)
        The ID for this transfer, auto-generated if not provided.
        Example: "cbb6cfce-f207-45e7-a6b3-1055ab43db51"
      - `description` (any)
        A description of the transfer, visible on statements.
        Example: "Moving funds between accounts belonging to different customers"
      - `end_to_end_identification` (any)
        Unique identification assigned by the initiating party to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain.
      - `from_account` (object, required)
        Example: {"id":"497f6eca-6276-4993-bfeb-53cbbbba6f08","type":"JIKO_ACCOUNT"}
      - `from_account.id` (string, required)
        Example: "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      - `from_account.type` (string, required)
        Example: "JIKO_ACCOUNT"
      - `to_account` (object, required)
        Example: {"id":"991dd8b5-f103-4158-8c6b-84480cb43652","type":"COUNTERPARTY"}
      - `to_account.id` (string, required)
        Example: "991dd8b5-f103-4158-8c6b-84480cb43652"
      - `to_account.type` (string, required)
        Example: "COUNTERPARTY"
      - `type` (string, required)
        Example: "PEER_TO_PEER"
      - `amount` (object, required)
        Example: {"amount_usdc":10000,"type":"REQUESTED_AMOUNT"}
      - `amount.value` (integer, required)
        USD values are always in cents.
      - `amount.currency` (string, required)
      - `amount.formatted` (string)

  - `fees` (array, required)

  - `fees.type` (string, 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)

  - `detail.input` (any)

  - `detail.ctx` (object)


