---
title: "Get spending reversal data for a creator"
method: GET
path: "/creators/{creatorUserUuid}/insights/spending"
---

# Get spending reversal data for a creator

`GET /creators/{creatorUserUuid}/insights/spending`

## Request

- Base URL: `https://api.fanvue.com`
- URL: `https://api.fanvue.com/creators/{creatorUserUuid}/insights/spending`
- Auth: OAuth 2
  - Authorization code: `https://auth.fanvue.com/oauth2/auth`
  - Token URL: `https://auth.fanvue.com/oauth2/token` scopes: `read:creator`, `read:insights`

Returns cursor-paginated reversal invoice data for the specified creator over a specified time period. Includes refund and chargeback transactions. A refund Fanvue issued to stop a chargeback is reported as `chargeback`, as the creator sees it in their earnings.

## Path parameters

- `creatorUserUuid` string, uuid, required

## Query parameters

- `startDate` string, date-time: Start date as ISO 8601 datetime string with optional timezone offset (e.g., 2024-10-20T00:00:00+01:00 or 2024-10-20T00:00:00Z).
- `endDate` string, date-time: End date as ISO 8601 datetime string with optional timezone offset (e.g., 2024-10-25T00:00:00+01:00 or 2024-10-25T00:00:00Z). Non-inclusive - data before this date is included.
- `source` SpendingType[]: Comma-separated list of spending sources
- `cursor` string: Cursor for pagination - If given, pass `nextCursor` to get the next page.
- `size` number: Number of items to return per page (1-50, default: 20). When omitted on a cursor request, the size from the previous page (carried in the cursor) is reused.
- `fanUuid` string, uuid: Restrict results to reversals belonging to a single fan on this creator

## Headers

- `X-Fanvue-API-Version` string, required

## Response `200`

Spending reversal data with cursor pagination

- object
  - `data` object[], required
    - `date` string, required: Payment date as UTC ISO 8601 datetime string
    - `gross` number, required: The reversed payment's amount, converted to USD cents. Every row here is a refund or chargeback, so this is negative and carries the full pre-fee amount of the earning it reverses. That is not always money a fan paid: a referral or affiliate earning can be clawed back too, and `user` is null on those rows.
    - `net` number, required: Creator's reversal (refund/chargeback) impact after Fanvue fees, in USD cents. Negative for the same reason as `gross`.
    - `total` number, required: What the fan was actually charged for the reversed payment, in USD cents: `gross` plus the fan's tax and plus the fan-side transaction fee. Negative like `gross`, and the same basis as `total` on /insights/earnings, so the two endpoints can be summed on one basis.
    - `currency` string, nullable, required: Informational only — the local currency the fan originally paid in (e.g. 'BRL'). The gross and net amounts are already converted to USD cents regardless of this value.
    - `source` 'refund' | 'chargeback', required: A reversal reports the source the creator sees on it in their own earnings: `chargeback` for a bank dispute and for a refund Fanvue issued to stop one (the fan's bank flagged the payment as fraud or raised a dispute alert), `refund` for every other refund and for a payment cancelled before it was collected. Filtering by `source` follows the same split.
    - `messageUuid` string, uuid: Message UUID when the reversed payment was a message transaction
    - `postUuid` string, uuid: Post UUID when the reversed payment was a post
    - `user` object, nullable, required: Fan's user information (null for transactions without a fan like referrals, affiliates)
      - `uuid` string, uuid, required
      - `handle` string, required
      - `displayName` string, required
      - `nickname` string, nullable, required
      - `isTopSpender` boolean, required
  - `nextCursor` string, nullable, required: Cursor for next page, null if no more data

## Other responses

- `400`: Bad Request - API version not supported OR validation failed (dates, sources, cursor, pagination) OR invalid UUID
- `401`: Unauthorized Response
- `403`: Unauthorized Response
- `404`: Not Found Response
- `410`: API version no longer supported (sunset)
- `429`: Too many requests - rate limit exceeded

## Changes

- **2026-09-25** `431868e8a264`: 1 info
  - added the required property `data/items/total` to the response with the `200` status

[Operation history](https://skmtc.dev/fanvue/apis/fanvue-api/changes/creators/:creatorUserUuid/insights/spending/get.md)

---

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