## Documentation Index

Fetch the complete documentation index at: [/llms.txt](https://help.trykarat.com/llms.txt)

Use this file to discover all available pages before exploring further.

The Karat Payout API lets you programmatically send money to creators,
contractors, and partners, manage recipients and their tax information, and
react to payment activity in real time with webhooks.

## What you can do

- Create and onboard recipients
- Send payouts individually or in batches
- Track payment status from creation to settlement
- Collect and retrieve recipient tax forms (W-9)
- Record payments made outside of Karat for reporting
- Subscribe to webhooks for asynchronous updates

## How it works

1. **Generate an API key**  
   Create an API key from your Karat dashboard and store it securely. See  
   [Authentication](https://help.trykarat.com/developers/authentication).

2. **Add recipients**  
   Create recipients with [`POST /recipients`](https://help.trykarat.com/api-reference/recipients/add-recipients).  
   Each recipient receives an onboarding link to complete their profile.

3. **Send payouts**  
   Send one or more payouts with [`POST /payments`](https://help.trykarat.com/api-reference/payments/create-a-payment-batch),  
   using an `idempotencyKey` so retries are safe.

4. **Listen for updates**  
   Subscribe a callback URL to events like `payout.updated` to receive  
   status changes as they happen. See [Webhooks](https://help.trykarat.com/developers/webhooks).

## Explore the API

[**Authentication** \  
Generate, use, and rotate your API keys.](https://help.trykarat.com/developers/authentication)

[**Environments** \  
Base URL and how to get sandbox access.](https://help.trykarat.com/developers/environments)

[**Payments** \  
Create, list, retrieve, and cancel payouts.](https://help.trykarat.com/api-reference/payments/create-a-payment-batch)

[**Recipients** \  
Add and manage the payees you send to.](https://help.trykarat.com/api-reference/recipients/add-recipients)

[**Webhooks** \  
Subscribe to asynchronous event notifications.](https://help.trykarat.com/developers/webhooks)

[**Sandbox testing** \  
Simulate payout outcomes before going live.](https://help.trykarat.com/developers/sandbox-testing)

All amounts in the Payout API are integers in the smallest currency unit
(cents). For example, `$250.00` is `25000`.
