Dynamo Developer DocsDynamo Developer Docs
External APICommunityPosts

List live comments for a post

Live comments for a published post, normalized across Facebook and Instagram. `mediumId` is **required**. By default returns every top-level comment (oldest-first on Facebook); set `filter=comments_and_replies` for everything including replies — on both channel types. Set `includeCuid=true` to resolve commenters against your identified users and add `cuid` to their comments. Paged via `paging.after` — echo it back as `after` for the next page, and check `paging.hasMore`.

get/posts/{postId}/comments

Beta

The External API is in beta. Endpoints, parameters, and response shapes may change — including breaking changes — in future releases. Pin to documented behavior before relying on it in production.

Authorization

x-api-key x-date x-signature x-api-version
x-api-key<token>

Your API key (the ApiKeys document id).

In: header

x-date<token>

Current timestamp as an IMF-fixdate string (GMT, US locale) "EEE, dd MMM yyyy HH:mm:ss z", e.g. "Sun, 06 Dec 2020 12:59:11 GMT". 30-second TTL.

In: header

x-signature<token>

HMAC-SHA256 of the x-date string keyed by your secret, lowercase hex.

In: header

x-api-version<token>

API version you're coding against — currently 1. Required; a missing or unsupported value returns 400 with Missing or unsupported x-api-version header. Supported versions: 1.

In: header

Path Parameters

postId*string

The published post id.

Query Parameters

mediumId*string

The channel id (from GET /channels).

filter?string

Coverage mode. toplevel_comments (default) returns every top-level comment on the post (oldest-first on Facebook) — no replies. comments_and_replies returns everything including replies (each reply carries parentId); it also includes the channel's own auto-replies — compare from.id to the page / account id to identify them. On Instagram, replies are expanded inline per top-level comment and flattened to the same shape — there limit counts top-level comments (replies ride on top, so a page can carry more than limit records), and a comment whose reply list Meta truncated is flagged hasMoreReplies: true (Instagram threads are one level deep, so parent + replies is otherwise full coverage).

includeCuid?boolean

Opt-in identity enrichment. When true, each commenter is resolved against the organization's identified users, and comments whose author is identified gain a cuid — your own user id for them. Unidentified commenters simply have no cuid field. Works on both Facebook and Instagram channels. Off by default — it adds identity lookups per page.

limit?integer

Max comments per page (passed natively to Meta).

after?string

Opaque page cursor — the paging.after of a previous response. Cursors are only valid with the same filter value that produced them — don't mix.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

Try it

read-only

Kept in this tab only and signed in your browser — your secret never leaves your device.

Path

Query

Enter your key and secret to send.

curl -X GET "https://example.com/posts/AbC123XyZ/comments?mediumId=FB_PAGE_123456789012345"
{  "comments": [    {      "id": "string",      "message": "string",      "createdTime": "string",      "from": {        "id": "string",        "name": "string"      },      "permalink": "string",      "parentId": "string",      "hasMoreReplies": true,      "cuid": "string"    }  ],  "paging": {    "after": "string",    "hasMore": true  }}
{  "message": "string"}
{  "message": "string"}
{  "message": "string"}
{  "message": "string"}
{  "message": "string"}
{  "error": [    {      "message": "string",      "path": [        "string"      ],      "type": "string",      "context": {}    }  ]}
{  "message": "string"}