POST/social-inbox/items/{id}/private-reply
Instagram only: sends one private reply to a comment. It arrives as a direct message to the commenter.
pf-api-keyRate limit: 300 requests per day, 100 per minuteInstagram only, and only where the comment allows it
Check canPrivateReply on the inbound comment item before offering this action. It is true only on eligible Instagram comments and null on every other platform.
The reply arrives as a direct message to the person who left the comment, and may land in their Message Requests folder rather than their main inbox.
One private reply per comment, within 7 days
Instagram allows exactly one private reply per comment. A second attempt returns inbox.privateReplyAlreadySent.
The window closes 7 days after the comment was left. After that the request returns inbox.privateReplyWindowExpired.
A comment that was never eligible returns inbox.privateReplyNotSupported.
Path parameters
idstring (UUID)requiredThe Instagram comment item id, from /social-inbox/conversations/{id}/items. The item must have canPrivateReply: true.
Request body
textstringrequiredThe private reply body, maximum 1,000 bytes. Emoji and non-Latin characters cost several bytes each, so the character count you can send is lower than 1,000. The conversation's maxPrivateReplyLengthBytes carries the same limit.
idempotencyKeystringoptionalOptional client-supplied key. A retry that carries the same key will not send a second time, so it is safe to retry after a network timeout.
Response
201 Created The created OUTBOUND item recording the private reply.
idstring (UUID)requiredItem id. This is the value the reply, private-reply, and state routes take as their path parameter.
conversationIdstring (UUID)requiredConversation the item belongs to.
kindstringrequiredItem type. Always COMMENT today.
directionstringrequiredINBOUND for a comment you received, OUTBOUND for a reply you sent.
INBOUNDOUTBOUNDexternalItemIdstring | nulloptionalThe platform's comment id. null on an outbound reply that is still sending.
parentExternalItemIdstring | nulloptionalPlatform id of the parent comment, for threading.
authorUsernamestring | nulloptionalAuthor's username, when the platform exposes it.
textstring | nulloptionalComment or reply body.
statestringrequiredModeration state on the platform, changed via the state route.
VISIBLEHIDDENDELETEDdeliveryStatusstring | nulloptionalOutbound items only: how far the send got. null on inbound comments.
PENDINGSENTFAILEDauthoredByUserIdstring (UUID) | nulloptionalWorkspace member who sent an outbound item. null for replies sent with an API key, because keys are workspace-scoped rather than user-scoped.
platformCreatedAtISO 8601requiredWhen the platform recorded the comment.
createdAtISO 8601requiredWhen PostFast stored the item.
canPrivateReplyboolean | nulloptionalInstagram inbound comments: whether this comment is still eligible for /social-inbox/items/{id}/private-reply. null elsewhere.