---
title: "List cashback cycles"
method: GET
path: "/v2/cashback/cycles"
---

# List cashback cycles

`GET /v2/cashback/cycles`

## Request

- Base URL: `https://api.slash.com`
- URL: `https://api.slash.com/v2/cashback/cycles`
- Auth: API key in header `X-API-Key`

Each account's cashback month by month, newest first.

## Query parameters

- `cursor` string
- `limit` integer
- `accountId` string

## Response `200`

A page of cashback cycles.

- object
  - `items` CashbackCycle[], required
    - `accountId` string, required: Account id with the `sa_group_` prefix.
    - `month` string, required
    - `status` 'open' | 'pending' | 'available', required: `open` while the month is under way, `pending` until its cashback becomes available, then `available`.
    - `cashback` Money, required: A signed monetary amount expressed in minor units.
      - `amount` integer, required: Amount in the currency's minor units.
      - `currency` string, required: Uppercase ISO 4217 currency code.
    - `spend` Money, required: A signed monetary amount expressed in minor units.
      - `amount` integer, required: Amount in the currency's minor units.
      - `currency` string, required: Uppercase ISO 4217 currency code.
    - `refunds` Money, required: A signed monetary amount expressed in minor units.
      - `amount` integer, required: Amount in the currency's minor units.
      - `currency` string, required: Uppercase ISO 4217 currency code.
    - `rate` object: The lowest and highest rate earned in the month. Absent when nothing earned cashback.
      - `min` number, required
      - `max` number, required
    - `availableOn` string, date, required: When the month's cashback becomes, or became, available.
  - `metadata` PaginationMetadata, required
    - `nextCursor` string: Opaque cursor for the next page. Omitted on the final page.
    - `count` integer, required: Number of items in this page.

## Other responses

- `400`: - `invalid_request (request shape)` — The body, query, or headers failed validation, or a required header is missing. `details` has one entry per failing location, keyed by JSON pointer or header name.
- `401`: - `unauthorized` — API key authentication is missing or invalid.
- `403`: - `forbidden` — The credential is not permitted to perform this action on the resource. When the resource is a field of the request, `details` names that `field` and the `id` it received. - `forbidden (legal entity)` — The credential is not permitted to act for the selected legal entity. - `not_available` — Public API v2 is not yet available. Use [Public API v1](https://docs.slash.com/introduction) in the meantime. - `user_api_key_required` — The API key is scoped to a legal entity rather than a user. Every v2 request needs a user API key, created under Settings → API keys in the Slash dashboard, together with the `x-legal-entity` header.
- `404`: - `not_found` — No resource matches the identifier. When the identifier is a field of the request, `details` names that `field` and the `id` it received.
- `429`: The request exceeded the applicable rate limit. The response body is plain text, not the error object; clients must not depend on its wording.
- `500`: - `internal` — Slash could not complete the request. Quote `referenceId` when contacting Slash support.

## Changes

- **2026-10-30** `8e477e90229c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/slashfi/apis/slash-public-api/changes/v2/cashback/cycles/get.md)

---

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