---
title: "Initiate a load transaction"
method: POST
path: "/payout/load/{user_token}"
tags: ["Load"]
---

# Initiate a load transaction

`POST /payout/load/{user_token}`

This **POST** endpoint is used to initiate a load transaction, allowing you to add funds to a user token's wallet. <br> To use this endpoint, you need to provide the `user_token` as a parameter in the URL Path. You also need to provide the `client_load_id`, `source_token`, and amount as JSON parameters in the Request Body. The `client_load_id` is a unique identifier for the transaction that you can use to track it, while the `source_token` is the token or account from which the funds will be loaded. The amount parameter specifies the amount of funds to be loaded into the user's wallet. <br> The response will contain a JSON object indicating the status of the load transaction and any relevant details.

## Path parameters

- `user_token` string, required

## Headers

- `Idempotency-Key` string

## Request body

- LoadTxn
  - `client_load_id` string, required — A client defined load identifier. This is the unique ID assigned to the load on your system. Max 50 characters.
  - `source_token` string, uuid, required — Token that represents the funding source i.e. bank account, wallet. 36 characters long
  - `amount` number, required — The amount to credit the user's wallet in source currency
  - `source_currency_code` string — The currency originating balance is stored in. Using [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format. In most cases this value will be USD, and therefore the defaut value if none is provided. There is a special currency case for PNTS - learn more [here] (#Points)
  - `notes` string — A description for the load. Will be visible to the user receiving the load
  - `notify_user` boolean — Should we notify the user via email that they've received a load? If the user has no existing account, they will receive instructions to establish such account.
  - `time_to_process` string, YYYY-MM-DDThh:mm:ss — Future date/time to process the load on. If none is provided, it is processed right away. Time to be provided in UTC [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
  - `metadata` object — Optional JSON object with attributes that can later be searched to locate this load. Do not include PII as this object is not encrypted. There are two special attributes that can be provided in the metadata field: `batch_identifier` and `batch_name`. Either of those values, would group transactions in the ledger under the same description.

## Response `201`

Successfully created.

- LoadTxnResp
  - `load_token` string, required — Token that represents the load that was just created.
  - `status` 'COMPLETED' | 'CANCELLED' | 'SCHEDULED', required — Status that indicates whether the transaction was successfully processed. If `COMPLETED`, the load was successfully processed. `CANCELLED` indicates a generic error. and `SCHEDULED` means the load was successfully scheduled
  - `wallet_token` string, required — The wallet token the load was deposited into
  - `metadata` object — Optional JSON object with attributes that can later be searched to locate this load. Do not include PII as this object is not encrypted.

## Other responses

- `400` — Bad request.
- `401` — Unauthorized.
- `403` — Forbidden.
- `404` — Not found.
- `405` — Method Not Allowed.
- `500` — Internal server error.
- `504` — Gateway Time-out.

---

[API](https://skmtc.net/masspay/apis/masspay-api.md) · [All operations](https://skmtc.net/masspay/apis/masspay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/masspay/masspay-api/revisions/c03b61a6a551/schema)
