---
title: "List payout batches"
method: GET
path: "/v1/creator-campaigns/{campaignId}/payout-batches"
tags: ["Creator Campaigns"]
---

# List payout batches

`GET /v1/creator-campaigns/{campaignId}/payout-batches`

## Request

- Base URL: `https://zernio.com/api`
- URL: `https://zernio.com/api/v1/creator-campaigns/{campaignId}/payout-batches`
- Auth: HTTP bearer

The campaign's payout batches, newest first, with each creator's item.

## Query parameters

- `limit` integer
- `skip` integer

## Response `200`

Payout batches.

- object
  - `batches` PayoutBatch[], required
    - `id` string, required
    - `campaignId` string, nullable, required
    - `status` 'awaiting_payment' | 'paying' | 'paid' | 'partially_failed' | 'failed' | 'expired', required: `awaiting_payment` until the card charge succeeds (3D Secure included); `paying` while transfers go out; then `paid`, `partially_failed` (some items failed or were skipped), `failed` (the card was declined, or none paid) or `expired` (the payment was cancelled unpaid, every amount is payable again).
    - `method` 'card', required
    - `amountCents` integer, required: Total the creators receive.
    - `feeCents` integer, required: Total Zernio fee.
    - `totalCents` integer, required: The card charge: amountCents plus feeCents.
    - `items` PayoutBatchItem[], required
      - `id` string, required
      - `participantId` string, required
      - `creator` object, required
        - `displayName` string, required
      - `amountCents` integer, required: What the creator receives, in full.
      - `feeCents` integer, required: Zernio fee on top: 4% with a 50 cent minimum.
      - `totalCents` integer, required: amountCents plus feeCents.
      - `status` 'pending' | 'paid' | 'failed' | 'skipped', required: `skipped`: not paid because payout setup was not finished, or the card payment never completed; the amount is payable again. `failed`: Stripe refused the transfer; the amount is payable again.
      - `failureReason` string, nullable, required: Why the item was not paid, in plain words.
      - `transferId` string, nullable, required: The treasury transfer that paid this item.
    - `paidAt` string, date-time, nullable, required
    - `finishedAt` string, date-time, nullable, required
    - `createdAt` string, date-time, required
  - `total` integer, required

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid API key. `code` is `missing_credentials` when no Authorization header was sent and `invalid_credentials` when the key is unknown, revoked or expired.
- `404`: The campaign, participant or submission does not exist, belongs to another team, or sits in a profile this key cannot reach (code `resource_not_found`).

## Changes

- **2026-10-28** `8f2c44dd7550`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zernio/apis/zernio-api/changes/v1/creator-campaigns/:campaignId/payout-batches/get.md)

---

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