Horbit Developers
Comments

Approved comments, threaded

GET
/v1/public/blog/posts/{post}/comments

Top-level comments are paged (page/limit, max 100); each carries its whole reply tree in replies. Pinned comments come first. bodyHtml is the comment escaped and split into <p class="hb-comment__paragraph">. Emails are never returned; avatarUrl is a Gravatar.

Authorization

x-api-key
headerx-api-key<token>

A tenant API key — secret (htk_…) or, where allowed, publishable (hpk_…).

Path Parameters

post*string

The post's slug (recommended) or id.

Query Parameters

page?number
limit?number
order?string

Order of top-level comments. Replies are always oldest first. Pinned comments come first either way.

Value in"oldest""newest"

Response Body

Approved comments, threaded.

response?unknownapplication/json
curl -X GET 'https://api.horbit.ng/v1/public/blog/posts/five-lessons-open-data-hackathon/comments'
{  "status": true,  "message": "Comments retrieved successfully",  "data": [    {      "id": "c0ffee00c0ffee00c0ffee00c0ffee00",      "parentId": null,      "authorName": "Chidi Okafor",      "authorUrl": null,      "avatarUrl": "https://www.gravatar.com/avatar/4f…?s=96&d=identicon",      "isTeam": false,      "isPinned": false,      "body": "Licences first — exactly what our lab needed to hear.",      "bodyHtml": "<p class=\"hb-comment__paragraph\">Licences first — exactly what our lab needed to hear.</p>",      "createdAt": "2026-10-25T11:02:00.000Z",      "editedAt": null,      "replies": [        {          "id": "beef0000beef0000beef0000beef0000",          "parentId": "c0ffee00c0ffee00c0ffee00c0ffee00",          "authorName": "Ada Obi",          "authorUrl": null,          "avatarUrl": "https://www.gravatar.com/avatar/9a…?s=96&d=identicon",          "isTeam": true,          "isPinned": false,          "body": "Thanks Chidi!",          "bodyHtml": "<p class=\"hb-comment__paragraph\">Thanks Chidi!</p>",          "createdAt": "2026-10-25T11:20:00.000Z",          "editedAt": null,          "replies": []        }      ]    }  ],  "meta": {    "totalItems": 1,    "itemsCount": 1,    "itemsPerPage": 20,    "totalPages": 1,    "currentPage": 1,    "totalComments": 2,    "commentsOpen": true  }}