Zernio
Zernio
API Reference

Comments

List commented postsGETGet post commentsGETSet comment moderation statusPOSTDelete commentDELETEEdit commentPATCHHide commentPOSTLike commentPOSTLike postPOSTPin commentPOSTReply to commentPOSTSend private replyPOSTUnhide commentDELETEUnlike commentDELETEUnlike postDELETEUnpin commentDELETE
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Comments

Send private reply

Send a direct message to the author of a comment. Supported on Instagram and Facebook only. One reply per comment, must be sent within 7 days. Optionally attach interactive elements: quickReplies (chips above the keyboard, max 13) or buttons (1-3 inline postback/url buttons rendered in the same bubble via Meta's button_template). Chips do not render in the Instagram Message Requests folder. Since late August 2026 Instagram refuses buttons, cards and attachments to commenters who do not follow the account (Meta code 2, subcode 1545133, returned here as a non-retryable 400 that says so), and the failed call still consumes the comment's single private reply. To reach non-followers send plain text and add buttons once they reply. quickReplies and buttons are mutually exclusive. When the comment's single private reply is spent (by this call or an earlier one) the 400 carries details.privateReplyConsumed: true; never retry it.


POST
/v1/inbox/comments/{postId}/{commentId}/private-reply

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.

In: header

Path Parameters

postId*string

The media/post ID (Instagram media ID or Facebook post ID)

commentId*string

The comment ID to send a private reply to

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

{  "status": "string",  "messageId": "string",  "commentId": "string",  "platform": "instagram"}
Was this page helpful?

Reply to comment

Post a reply to a post or specific comment. Requires accountId in request body. **Idempotency:** send an `Idempotency-Key` header to make retries safe (e.g. after a client-side timeout where delivery is unknown): same key + same body replays the original response (with `Idempotent-Replayed: true`) instead of posting the comment a second time; same key + different body returns 422; a key still in flight returns 409. Keys are retained for 24 hours and are scoped to the credential and to this exact path, so reusing a key against a different postId returns 422 rather than replaying the other post's response. Only successful (2xx) responses are stored for replay. If the request throws or returns a non-2xx status the key is released, so the header protects the "request succeeded but the response was lost" case. After an ambiguous failure (a 5xx or a network timeout) list the post's comments before retrying with the same key, and treat an empty result as inconclusive rather than as proof nothing was posted.

Unhide comment

Unhide a previously hidden comment. Supported by Facebook, Instagram, Threads, X, and TikTok (accounts connected through the TikTok for Business app).

accountId*string

The account ID (Instagram or Facebook)

message*string

The message text to send as a private DM

quickReplies?array<>

Optional quick-reply chips appended to the message. Visible only in the Instagram and Messenger apps (not on web). Maximum 13 entries. Mutually exclusive with buttons. Note: chips do NOT render in the Instagram Message Requests folder where DMs from non-followers land. Use buttons instead for cold reach.

Itemsitems <= 13
buttons?array<||>

Optional 1-3 inline buttons rendered as part of the same message bubble via Meta's button_template. Visible in the Instagram Message Requests folder (unlike quick replies). Mutually exclusive with quickReplies.

Items1 <= items <= 3