List comments
Paginated list of active comments for a single feedback post, in chronological order.
Returns a paginated list of comments attached to a single feedback post, in chronological (oldest-first) order. Replies and top-level comments are returned in the same flat array — reconstruct the tree client-side using parent_comment_id.
Endpoint
POST https://api.productbridge.io/api/external/v1/comments/list
Arguments
Your organization's public API key. See Authentication.
UUID of the feedback post whose comments you want.
Number of items per page. Min 1, max 100. Defaults to 25.
Opaque pagination cursor returned by the previous page. Omit for the first page.
Returns
The standard cursor-paginated envelope. See Pagination.
{
"items": [ /* comment objects */ ],
"has_next_page": false,
"cursor": null
}
If the post belongs to another organization, the response is 200 OK with an empty items array — never another org's comments.
Example request
curl -X POST https://api.productbridge.io/api/external/v1/comments/list \
-H 'Content-Type: application/json' \
-d '{
"api_key": "pb_YOUR_PUBLIC_API_KEY",
"feedback_post_id": "aa3c3ef8-b8cd-cd15-01ba-postpost0001",
"limit": 25
}'
const res = await fetch(
"https://api.productbridge.io/api/external/v1/comments/list",
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
api_key: process.env.PRODUCTBRIDGE_API_KEY,
feedback_post_id: "aa3c3ef8-b8cd-cd15-01ba-postpost0001",
limit: 25,
}),
}
);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const { items, has_next_page, cursor } = await res.json();
import os, httpx
resp = httpx.post(
"https://api.productbridge.io/api/external/v1/comments/list",
json={
"api_key": os.environ["PRODUCTBRIDGE_API_KEY"],
"feedback_post_id": "aa3c3ef8-b8cd-cd15-01ba-postpost0001",
"limit": 25,
},
)
resp.raise_for_status()
payload = resp.json()
Example response
{
"items": [
{
"id": "ee3c3ef8-b8cd-cd15-01ba-comment000001",
"content": "+1 from the entire data team. We'd use this daily.",
"author_id": "bb3c3ef8-b8cd-cd15-01ba-useruser0001",
"parent_comment_id": null,
"feedback_post_id": "aa3c3ef8-b8cd-cd15-01ba-postpost0001",
"visibility_code": "public",
"moderation_status_code": "accepted",
"created_at": "2026-04-16T10:00:00.000Z",
"updated_at": "2026-04-16T10:00:00.000Z"
}
],
"has_next_page": false,
"cursor": null
}
Errors
| Status | Body | Cause |
|---|---|---|
401 | {"detail":{"error":"invalid api_key"}} | Missing / unknown / inactive api_key. |
422 | Validation error envelope | Missing feedback_post_id, or it's not a UUID. |
See Errors and Pagination.
Last updated 1 week ago
Built with Documentation.AI