POST/social-inbox/items/{id}/reply

Replies publicly under a comment. Pass the comment item id, not the conversation id.

https://api.postfa.st/Auth: pf-api-keyRate limit: 350 requests per day, 150 per minute

Check the capability first

Read canReply and maxReplyLength from the conversation before you send. They are computed per conversation and are authoritative; validating against a hardcoded platform limit will eventually be wrong.

When canReply is false, disabledReason explains why as a stable code such as inbox.replyNotSupportedOnPlatform.

One reply in flight at a time

Sending a second reply to the same comment while the first is still being delivered returns inbox.replyInProgress. Wait for the first response instead of retrying immediately.

If you do need to retry after a network timeout, pass the same idempotencyKey so the reply cannot be posted twice.

Path parameters

idstring (UUID)required

The comment item id, from /social-inbox/conversations/{id}/items. This is the item id, not the conversation id.

Request body

textstringrequired

The reply body. Must fit the conversation's maxReplyLength, or the request fails with inbox.replyTooLong.

idempotencyKeystringoptional

Optional 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.

Public reply character limits

PlatformCharacters
TikTok150
Instagram2,200
Facebook8,000
Threads500

Shown for context only. Always validate against the conversation's maxReplyLength, which is the value the API enforces.

Response

201 Created The created OUTBOUND item. deliveryStatus is SENT once the platform accepted it.

idstring (UUID)required

Item id. This is the value the reply, private-reply, and state routes take as their path parameter.

conversationIdstring (UUID)required

Conversation the item belongs to.

kindstringrequired

Item type. Always COMMENT today.

directionstringrequired

INBOUND for a comment you received, OUTBOUND for a reply you sent.

INBOUNDOUTBOUND
externalItemIdstring | nulloptional

The platform's comment id. null on an outbound reply that is still sending.

parentExternalItemIdstring | nulloptional

Platform id of the parent comment, for threading.

authorUsernamestring | nulloptional

Author's username, when the platform exposes it.

textstring | nulloptional

Comment or reply body.

statestringrequired

Moderation state on the platform, changed via the state route.

VISIBLEHIDDENDELETED
deliveryStatusstring | nulloptional

Outbound items only: how far the send got. null on inbound comments.

PENDINGSENTFAILED
authoredByUserIdstring (UUID) | nulloptional

Workspace member who sent an outbound item. null for replies sent with an API key, because keys are workspace-scoped rather than user-scoped.

platformCreatedAtISO 8601required

When the platform recorded the comment.

createdAtISO 8601required

When PostFast stored the item.

canPrivateReplyboolean | nulloptional

Instagram inbound comments: whether this comment is still eligible for /social-inbox/items/{id}/private-reply. null elsewhere.