---
title: "List all categories"
method: GET
path: "/categories"
tags: ["Categories"]
---

# List all categories

`GET /categories`

Retrieve a paginated list of all available custom expense categories for the organization. Supports cursor-based pagination with limit, order, start_after, and end_before query parameters.

## Query parameters

- `limit` integer — Maximum number of results to return. Allowed range: 1 to 1000. Defaults to 1000
- `order` 'asc' | 'desc' — Sort order. Can be 'asc' or 'desc'. Defaults to 'asc'
- `start_after` string, uuid — The ID of the category to start the page after (exclusive). When provided, results will begin with the category immediately following this ID. Use this for standard forward pagination to get the next page of results. Cannot be combined with end_before.
- `end_before` string, uuid — The ID of the category to end the page before (exclusive). When provided, results will end just before this ID and work backwards. Use this for reverse pagination or to retrieve previous pages. Cannot be combined with start_after.

## Response `200`

- CategoriesPaginatedResponse — Paginated response containing a list of categories. | Use the page cursor information to fetch additional pages of categories.
  - `categories` CategoryData[], required — List of categories in the current page
    - `id` string, uuid, required — The ID of the category
    - `name` string, required — The name of the category
    - `visibleForCardSpend` boolean, required — Whether this category is applicable to card transactions
    - `visibleForOther` boolean, required — Whether this category is applicable to all other transaction kinds
    - `visibleForReimbursements` boolean, required — Whether this category is applicable to expense reimbursement transactions
  - `page` object, required — Pagination information including cursors for navigating to next/previous pages
    - `nextPage` string, uuid — ID for the category
    - `previousPage` string, uuid — ID for the category

## Other responses

- `400` — Invalid `end_before` or `start_after` or `order` or `limit`

---

[API](https://skmtc.net/mercurytechnologies/apis/mercury-api.md) · [All operations](https://skmtc.net/mercurytechnologies/apis/mercury-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mercurytechnologies/mercury-api/revisions/0bdf4a496e03/schema)
