---
title: "Create a payment batch"
method: POST
path: "/payments"
tags: ["Payments"]
---

# Create a payment batch

`POST /payments`

Creates one or more payouts in a single batch. Each payout targets a recipient by either `payeeEmail` or `recipientId` (exactly one). Pass an `idempotencyKey` to safely retry the request.

## Request body

- CreatePaymentBatchRequest
  - `payouts` PayoutInput[], required
    - `payeeEmail` string, email — Email of an existing recipient.
    - `recipientId` string, uuid — ID of an existing recipient.
    - `amount` integer, required — Amount in cents. Must be positive.
    - `description` string
    - `referenceId` string — Your own reference for this payout.
  - `idempotencyKey` string — Optional key to make the request idempotent. Defaults to a server-generated request ID.

## Response `201`

The batch was created.

- object
  - `data` PaymentBatch
    - `batchId` string, uuid
    - `payouts` object[]
      - `id` string, uuid
      - `payeeEmail` string, email
      - `amount` integer — Amount in cents.
      - `description` string
      - `referenceId` string

## Other responses

- `400` — The request was invalid.
- `401` — Missing or invalid API key.

---

[API](https://skmtc.net/trykarat/apis/karat-payout-api.md) · [All operations](https://skmtc.net/trykarat/apis/karat-payout-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/trykarat/karat-payout-api/versions/8941916e3707/schema)
