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

Moderates a comment on the platform: hide, unhide, or delete.

https://api.postfa.st/Auth: pf-api-keyRate limit: 12,000 requests per day, 1,200 per hour

DELETE cannot be undone

DELETE removes the comment on the platform itself, not just from the Social Inbox. There is no way to restore it afterwards, so confirm the action in your own UI before calling this route.

If you only want the comment out of public view, use HIDE: it is reversible with UNHIDE.

Platform support

HIDE and UNHIDE work on TikTok, Instagram, Facebook Pages, and Threads.

DELETE is unavailable on Threads and returns inbox.deleteNotSupported there.

Moderation performed directly on the platform syncs back into the item's state, so the two views stay in step.

The platform can refuse a hide or delete

When the platform refuses the hide, unhide, or delete, the request fails with inbox.moderationFailed and description carries the platform's reason. Most often the comment is already gone from the platform. Since 28 October 2026 these refusals are a 400; before that they came back as HTTP 500.

{
  "statusCode": 400,
  "message": "inbox.moderationFailed",
  "error": "BAD_REQUEST",
  "description": "Unsupported post request. Object with ID '17912345678901234' does not exist"
}

Deleted comments and your own replies

DELETE on a comment that is already deleted returns 201 with the item (state: DELETED) and makes no platform call, so repeating a delete is safe.

HIDE and UNHIDE on a deleted comment, or on a reply of yours that never reached the platform, return inbox.itemNotFound.

DELETE on one of your own replies that failed to send removes it from PostFast only, since it never reached the platform. DELETE on a reply that is still sending returns inbox.replyInProgress; wait for the send to finish first.

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

actionstringrequired

What to do with the comment. An unrecognized value returns inbox.unsupportedAction.

HIDEUNHIDEDELETE

Response

201 Created The updated item, with state reflecting the new moderation state.

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.