---
title: "One topic: its path, sub-topics, and articles (30 to a page)"
method: GET
path: "/topics/{id}"
---

# One topic: its path, sub-topics, and articles (30 to a page)

`GET /topics/{id}`

## Request

- Base URL: `https://www.edgechat.ai/api/v1`
- URL: `https://www.edgechat.ai/api/v1/topics/{id}`
- Auth: none declared

## Path parameters

- `id` string, required

## Query parameters

- `page` integer
- `format` 'json' | 'mermaid'
- `fields` string

## Response `200`

The topic

- GetTopicResponse
  - `id` string
  - `label` string: The topic's name. An alphabetical part of a big topic carries that topic's name first: "Countries and territories: A to Ga".
  - `path` Topic[]
    - `id` string, required
    - `label` string, required
    - `articles` integer
    - `api_url` string, uri, required
  - `articles` integer: Articles in this topic and every topic under it.
  - `children` Topic[]
    - `id` string, required
    - `label` string, required
    - `articles` integer
    - `api_url` string, uri, required
  - `page` integer
  - `pages` integer
  - `results` ArticleSummary[]: Articles in this topic and every topic under it, 30 to a page.
    - `id` string, required
    - `slug` string, required
    - `title` string, required
    - `topic` string, nullable: The top-level branch of the topic tree the article is under. Its own topic is the last entry of the article's `topic_path`.
    - `excerpt` string, required: The corpus snippet when available, otherwise the article opening as plain text. Older listing excerpts may end in an ellipsis (…).
    - `url` string, uri, required
    - `markdown_url` string, uri, required
    - `api_url` string, uri, required
    - `snippet` string: Optional corpus-authored summary, separate from the article opening. Present on corpus-v1.5 articles and their preview results.
    - `node` string: Current concept-tree node of the article, when available. May change when the corpus tree is revised.
  - `license` License
    - `name` string, required
    - `url` string, uri, required
    - `summary` string
    - `spdx` string

## Other responses

- `301`: The topic id was renamed or merged in a newer topic tree. `Location` names its new id (`/api/v1/topics/{new id}`, keeping `page`); follow it.
- `400`: `unknown_parameter`: the request carries a query parameter this route does not read (or one given twice). Each route reads only the parameters listed for it.
- `404`: An error
- `405`: `method_not_allowed`: the API is read-only; use GET or HEAD (OPTIONS answers CORS preflights). The `Allow` header lists the methods.
- `429`: An error
- `503`: Briefly unavailable; try again

---

[API](https://skmtc.dev/edgechat/apis/edgepedia-api.md) · [All operations](https://skmtc.dev/edgechat/apis/edgepedia-api/llms.txt) · [OpenAPI document](https://skmtc.dev/edgechat/apis/edgepedia-api/revisions/cd4eb5972d56?raw)
