---
title: "Create a bulk payout"
method: POST
path: "/bulk-payouts"
tags: ["Bulk Payouts"]
---

# Create a bulk payout

`POST /bulk-payouts`

## Request

- Base URL: `https://api.enterprise.airtm.com/v2`
- URL: `https://api.enterprise.airtm.com/v2/bulk-payouts`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/airtm/apis/airtm-enterprise-api-v2/docs/bulk-payouts/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new bulk payout. You will receive a response with the id of your bulk payout, and the
processing will start asynchronously after you receive your response.

You can check in with the progress of your ongoing bulk payout by using the `GET /bulk-payouts/{id}` endpoint.

If you want to cancel payouts, use the [Cancel Payout](#tag/payouts/DELETE/payouts/{id}) endpoint.

## Request body

- CreateBulkPayoutRequest
  - `payouts` OmitCreatePayoutRequestCommit[], required: A list of individual payouts to process in bulk
    - `airtmUserEmail` string, required: The recipient's email address that is associated with their Airtm account
    - `amount` number, double, required: The payment amount in USD.
    - `code` string: A unique code used to identify the payout. Populate this value with the identifier on your system. > [!important] > It must be unique across all existing payouts.
    - `enterpriseFee` number, double: The enterprise fee to apply to the payout
    - `notes` string, required: An arbitrary string describing the payment. This information is displayed to the recipient. It's recommended that the string summarizes the purpose of the payment.
    - `internalNote` string: The description of the payout; visible to internal users
    - `requireIdVerified` boolean: Set this to true to require that the recipient is ID-verified

## Response `200`

Ok

- BulkPayout
  - `updatedAt` string, date-time, required: Timestamp of the last update made to the payout.
  - `executionDate` string, date-time: Timestamp of when the payout was executed.
  - `createdAt` string, date-time, required: Timestamp of when the payout was created.
  - `paidAmount` number, double, required: Aggregated amount of all individual payouts in this bulk that were paid
  - `totalAmount` number, double, required: Aggregated amount of all individual payouts in this bulk
  - `total` number, double, required: Number of individual payouts in this bulk
  - `status` 'PENDING' | 'IN_PROGRESS' | 'UNCOMPLETED' | 'COMPLETED' | 'REJECTED', required: The current status of the bulk payout - `PENDING`: The bulk payout was received, but it has yet to be started - `IN_PROGRESS`: Our system is currently processing all the individual payouts contained in this bulk payout. - `COMPLETED`: This doesn't mean all payouts were completed successfully, it may have guest or failed items. It means only that the processing, validations and creation of operations related to that task is completed. - `REJECTED`: The enterprise rejected the bulk payout - `UNCOMPLETED`: Reserved for future use
  - `originalFileName` string: The name of the file if the bulk payout was created uploading a CSV
  - `enterpriseUserId` string, uuid, required: Unique identifier of the enterprise who created this bulk payout
  - `id` string, uuid, required: Unique identifier

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/airtm/apis/airtm-enterprise-api-v2.md) - [All operations](https://skmtc.dev/airtm/apis/airtm-enterprise-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/airtm/apis/airtm-enterprise-api-v2/revisions/c9ed13d4c5c0?raw)
