---
title: "Payment / settlement history"
method: GET
path: "/campaigns/payments/history"
tags: ["Campaigns"]
---

# Payment / settlement history

`GET /campaigns/payments/history`

## Request

- Base URL: `https://api.reacherapp.com/public/v1`
- URL: `https://api.reacherapp.com/public/v1/campaigns/payments/history`
- Auth: API key in header `x-api-key` and API key in header `x-shop-id`

## Query parameters

- `page` integer
- `page_size` integer
- `search` string, nullable
- `sort_by` string, nullable
- `sort_order` string

## Response `200`

Settled payments, newest first. Every amount — the rows and the overview balance — is denominated in `currency`.

- PaymentHistoryResponse: 200 body of ``GET /campaigns/payments/history``.
  - `overview` object, required: `available_balance` — a bare number in `currency`.
  - `data` PaymentHistoryItem[], required
    - `creator_name` string, nullable: Resolved display name; falls back to the TikTok handle.
    - `campaign_name` string: "" for manual payouts.
    - `paid_amount` string, required: Amount in `currency`, e.g. `"275.0"`.
    - `reward_type` string: `cash` or `custom`.
    - `paid_at` string, nullable: ISO 8601 UTC, e.g. `2026-09-12T17:52:00+00:00`.
    - `note` string: Operator memo; "" for campaign settlements.
    - `tiktok_username` string, nullable
    - `currency` string: ISO 4217 code of the wallet this payment moved through — the settlement currency. Use it to render `paid_amount`; it is NOT inferable from the shop's region (wallets are USD, GBP or EUR). A payout made outside Reacher carries the shop's own market currency instead.
    - `payout_rail` string: `manual` when the brand paid the creator outside Reacher and marked it paid; `reacher` otherwise.
    - `reference` string: Reference the brand recorded for a manual payout.
  - `pagination` PaginationMetaInput, required: Pagination metadata returned in list responses.
    - `page` integer, required
    - `page_size` integer, required
    - `total_count` integer, required
    - `total_pages` integer, required
  - `currency` string: ISO 4217 code every amount in this response is denominated in.

## Other responses

- `422`: Validation Error

## Changes

> 76 revisions in range; 1 not diffed.

- **2026-10-20** `041ff60d5fa7`: 2 info
  - added the optional property `data/items/payout_rail` to the response with the `200` status
  - added the optional property `data/items/reference` to the response with the `200` status
- **2026-09-19** `291230805105`: 1 info
  - api operation id `get_payment_history_campaigns_payments_history_get` removed and replaced with `campaign_payments_history`
- **2026-09-15** `1163780ede1d`: 1 breaking, 4 info
  - the response's body type changed from no type to `object` for status `200`
  - added the optional property `currency` to the response with the `200` status
  - added the required property `data` to the response with the `200` status
  - added the required property `overview` to the response with the `200` status
  - …1 more

[Operation history](https://skmtc.dev/reacherapp/apis/reacher-data-api/changes/campaigns/payments/history/get.md)

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) - [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/reacherapp/apis/reacher-data-api/revisions/63ce74b30b5a?raw)
