Skip to main content
POST
/
comments
/
{commentId}
/
reply
Reply to a comment
curl --request POST \
  --url http://localhost:4100/api/v1/comments/{commentId}/reply \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "text": "Thanks for watching! 🙏"
}
'
{
  "id": "<string>",
  "socialAccountId": "<string>",
  "externalCommentId": "<string>",
  "externalParentId": "<string>",
  "externalPostId": "<string>",
  "externalUrl": "<string>",
  "author": {
    "handle": "<string>",
    "displayName": "<string>",
    "avatarUrl": "<string>"
  },
  "body": "<string>",
  "createdAt": "2023-11-07T05:31:56Z",
  "readAt": "2023-11-07T05:31:56Z",
  "reply": {
    "body": "<string>",
    "externalId": "<string>",
    "createdAt": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

Your Postbreeze API key

Path Parameters

commentId
string
required

Prefixed cuid of the inbox comment to reply to. Must belong to a workspace the caller has access to.

Example:

"cmt_01HZY8N3M2K9R5T8V4P6Q1J0BC"

Body

application/json
text
string
required

Plain-text reply to post on the platform. Trimmed before send. Each platform strips formatting on submission, so Markdown / HTML is silently dropped.

Example:

"Thanks for watching! 🙏"

Response

The updated comment row, now carrying the reply sub-object with the platform-side identifier of the reply Postbreeze posted.

id
string

Prefixed cuid identifier of the comment row.

platform
enum<string>

Which platform this comment was pulled from.

Available options:
INSTAGRAM,
FACEBOOK_PAGE,
X,
LINKEDIN_PERSON,
LINKEDIN_COMPANY,
TIKTOK_BUSINESS,
TIKTOK_PERSONAL,
YOUTUBE,
PINTEREST,
THREADS,
BLUESKY
socialAccountId
string

Prefixed cuid of the connected channel that owns the post. Matches an id from GET /social-accounts, so consumers can group inbox rows by channel without a second call.

externalCommentId
string

Platform-side identifier of the comment itself. Unique per (socialAccountId, externalCommentId) — re-running refresh upserts in place rather than creating duplicates.

externalParentId
string | null

Platform-side parent id when this comment is itself a reply nested inside a thread. Null for top-level comments on the post.

externalPostId
string

Platform-side identifier of the post the comment belongs to. Stored even for posts that weren't scheduled through Postbreeze, so the inbox can deep-link "View on platform".

externalUrl
string | null

Server-built deep link to the comment in the platform's native UI. Null when the platform doesn't expose a stable per-comment URL (some Instagram comments fall in this bucket).

author
object

Author snapshot captured at fetch time. Frozen — platform-side renames after fetch won't be reflected here.

body
string

Plain-text body of the comment.

createdAt
string<date-time>

When the platform says the comment was posted.

readAt
string<date-time> | null

When a user marked the comment read in the Postbreeze inbox. Null while the row is still unread. Filter on unread=true to see only rows where this is null.

reply
object

The reply Postbreeze posted on this comment, if any. Null when the comment hasn't been replied to through Postbreeze. Replies posted natively on the platform are not surfaced here.