---
title: "Get Categories"
method: GET
path: "/api/v1/categories"
tags: ["Chat"]
---

# Get Categories

`GET /api/v1/categories`

## Request

- Base URL: `https://backend.caspr.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://backend.caspr.ai/api/v1/categories`
- Auth: OAuth 2
  - Password
  - Token URL: `token`

Return the static catalog of all report categories.

Returns the full set of categories regardless of whether the user has
any reports in them. The internal ``default`` domain is surfaced as
``standard``; pass that slug back as-is on subsequent calls (the API
will translate it internally where needed).

Authentication Required: Yes (JWT token)

## Response `200`

Successful Response

- CategoriesResponse: Response for GET /categories.
  - `success` boolean
  - `categories` CategoryItem[]: All available report categories, in fixed display order
    - `slug` string, required: Stable slug used in API params and DB writes. Note: the internal domain ``default`` is surfaced as ``standard`` in API responses.
    - `display_name` string, required: Human-readable label (e.g. 'Due Diligence')

## Other responses

- `401`: Unauthorized
- `500`: Internal Server Error

---

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