POST /api/v1/comment with fetchedParentCommentId). Want either to happen on its own? That’s Automations.
Endpoint: POST /api/v1/conversations/private-reply
fetchedCommentId is the id of a comment you got from the Comments API (GET /api/v1/comment/import/comments). Works for Facebook and Instagram comments.
Meta has strict rules here, and we follow them:
- One private reply per comment. If the first reply went out, sending again returns it with
conflict: trueinstead of messaging the person twice. If the first attempt is still in progress or its outcome is unknown, you get429(see Errors). If the platform rejected it, sending again really tries again. - Text only. No attachments, buttons, quick replies, or carousels in a private reply.
- The comment must be recent. Meta accepts private replies up to 7 days after the comment was posted. We check this before sending on Facebook; on Instagram, Meta rejects late replies itself.
- Facebook: top-level comments only. On Facebook you can’t send a private reply to a reply inside a comment thread.
- Follow-ups wait for the person. If the reply starts a new conversation, it has
platformData.canReply: false: you can send more messages only after they answer, and then the usual 24-hour rule applies. If you already had an open conversation with that person, it keeps its reply window.
source: "PRIVATE_REPLY" and a privateReplyContext telling you which comment and post it was about, so your inbox can show “replied to your comment on…” like Instagram does.