---
title: "An article's neighbors in one call"
method: GET
path: "/related/{slug}"
---

# An article's neighbors in one call

`GET /related/{slug}`

## Request

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

`siblings`: up to 10 articles nearest it in its own topic, in title order. `cousins`: up to 8 other topics under its parent topic, 3 articles each. `geo`: up to 10 articles nearest it in each geography node it sits in. Also `/related?id={id}`.

## Path parameters

- `slug` string, required

## Query parameters

- `by` 'links'
- `format` 'json' | 'mermaid'
- `fields` string

## Response `200`

The groups

- GetRelatedResponse
  - `id` string
  - `slug` string
  - `title` string
  - `siblings` object, nullable
    - `topic` Topic
      - `id` string, required
      - `label` string, required
      - `articles` integer
      - `api_url` string, uri, required
    - `total` integer
    - `results` ArticleSummary[]
      - `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.
  - `cousins` object[]
    - `topic` Topic
      - `id` string, required
      - `label` string, required
      - `articles` integer
      - `api_url` string, uri, required
    - `articles` integer
    - `results` ArticleSummary[]
      - `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.
  - `geo` object[]
    - `topic` Topic
      - `id` string, required
      - `label` string, required
      - `articles` integer
      - `api_url` string, uri, required
    - `total` integer
    - `results` ArticleSummary[]
      - `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

- `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`: Not found, or the switch for this route is off
- `405`: `method_not_allowed`: the API is read-only; use GET or HEAD (OPTIONS answers CORS preflights). The `Allow` header lists the methods.
- `410`: An error
- `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)
