---
title: "List raw subcategories"
method: GET
path: "/api/v1/subcategories"
tags: ["Discovery"]
---

# List raw subcategories

`GET /api/v1/subcategories`

## Request

- Base URL: `https://quizbase.runriva.com`
- URL: `https://quizbase.runriva.com/api/v1/subcategories`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Raw subcategories layer. Threshold ≥5 questions.

## Query parameters

- `lang` 'en' | 'pl': Display language for category names + slug labels (subcategories/tags)
- `q` string
- `cursor` string
- `limit` integer

## Response `200`

Raw subcategories.

- SubcategoriesListResponse
  - `data` RawSlugEntry[], required
    - `slug` string, required
    - `label` string, required
    - `count` integer, required
  - `meta` MetaTagsList, required
    - `count` integer, required
    - `total` integer, required
    - `language` string, required: Language of the response content.
    - `requestId` string, uuid, required: Unique request identifier (also in `X-Request-Id` response header).
  - `_links` Links
    - `next` string: URL to the next page.
    - `prev` string: URL to the previous page.

## Other responses

- `401`: Missing, malformed, invalid, or revoked API key.
- `403`: IP not allowed (per-key allowlist).
- `429`: Rate limit exceeded. See `Retry-After` header.
- `500`: Server error.

---

[API](https://skmtc.dev/runriva/apis/quizbase-api.md) · [All operations](https://skmtc.dev/runriva/apis/quizbase-api/llms.txt) · [OpenAPI document](https://skmtc.dev/runriva/apis/quizbase-api/revisions/4c2f9be78ec9?raw)
