---
title: "Comments"
method: GET
path: "/api/comments"
tags: ["comments"]
---

# Comments

`GET /api/comments`

This endpoint allows the client to retrieve all comments belonging to an article or podcast episode as threaded conversations.

### Threaded Structure & Pagination Tips:
- **Threaded Format**: Comments are returned as a tree structure (nested arrays of replies). Each top-level comment contains its nested child comments recursively.
- **Query Constraints**: You must provide either `a_id` (Article ID) OR `p_id` (Podcast Episode ID) to fetch comments. Specifying both is not supported.
- **Pagination**: When paginating, the `page` parameter filters the *top-level* comments only. All replies to those top-level comments are returned nested inline, regardless of page index.
- If the `page` parameter is omitted, the response returns the full comment tree in a single payload.

## Query parameters

- `page` integer
- `per_page` integer
- `a_id` string
- `p_id` string
- `page` string

## Response `200`

A List of Comments

- Comment[]
  - `type_of` string
  - `id_code` string
  - `created_at` string, date-time
  - `image_url` string, url — Podcast image url
  - `ai_disclosure_level` 'not_disclosed' | 'no_ai' | 'some_ai' | 'fully_autonomous' — Level of AI tooling usage disclosure
  - `ai_disclosure_label` string — Human-readable label of AI disclosure

## Other responses

- `404` — Resource Not Found

## Changes

> 59 revisions in range; 8 could not be searched.

- **2026-07-21** (v1) `bcdd2cdd127c` — 1 warning, 1 info
  - deleted the `query` request parameter `page`
  - added the new optional `query` request parameter `page`
- **2026-07-21** (v1) `ffddb865fa73` — 1 warning, 1 info
  - deleted the `query` request parameter `page`
  - added the new optional `query` request parameter `page`
- **2026-07-13** (v1) `dd53c51ab201` — 1 warning, 1 info
  - deleted the `query` request parameter `page`
  - added the new optional `query` request parameter `page`
- **2026-07-13** (v1) `189b62b952ea` — 1 breaking, 1 warning, 1 info
  - removed the media type `application/json` for the response with the status `404`
  - deleted the `query` request parameter `page`
  - added the new optional `query` request parameter `page`
- **2026-07-13** (v1) `189b62b952ea` — 1 warning, 1 info
  - deleted the `query` request parameter `page`
  - added the new optional `query` request parameter `page`

[Full history](https://skmtc.dev/forem/apis/forem-api-v1/changes/api/comments/get.md)

---

[API](https://skmtc.dev/forem/apis/forem-api-v1.md) · [All operations](https://skmtc.dev/forem/apis/forem-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/forem/forem-api-v1/revisions/1f64f71fc2a7/schema)
