REST API

Replies and insights

Read the thread under a post, answer it, hide what you do not want, and read the numbers.

Replies live under a publish, not under a workspace. Every call here takes the publish id you got from POST /v1/posts.

GET/v1/posts/{id}/replies

The reply thread under a published post.

POST/v1/posts/{id}/replies

Reply to the post, or to a reply under it.

NameTypeDescription
contentRequiredstringReply text.
replyTostringA reply id from the thread. Omit to answer the post itself.
waitbooleanHold the response until the reply is out, up to 10 seconds. Answers 200 with the post when it settles, otherwise 202 with next.

Nested replies

Leave replyTo out and you answer the post. Pass a reply id and you answer that reply, one level deeper. There is no separate endpoint for it. The same call does both.

# answer the post
curl -X POST https://api.uplika.com/v1/posts/post_01H.../replies \
  -H "authorization: Bearer $UPLIKA_KEY" \
  -H "content-type: application/json" \
  -d '{"content":"Thanks for reading"}'

# answer a reply — one level deeper
curl -X POST https://api.uplika.com/v1/posts/post_01H.../replies \
  -H "authorization: Bearer $UPLIKA_KEY" \
  -H "content-type: application/json" \
  -d '{"content":"Good question","replyTo":"17901234567890123"}'

Acting on other people's posts

Replies, likes and following are how a blog grows, and most of that happens on other people's posts. These three calls take the target as ownerHandle plus externalId (for Naver, the blog id and the logNo from the link), or postId for your own post. You always act as the connected account; ownerHandle is who you act on. Naver Blog is the only channel that supports them today, and the extension does the work in your browser like it does for publishing. Liking is a toggle on Naver, so we read the state first and never turn a like off. Naver silently ignores liking your own post, which comes back as naver_not_allowed.

POST/v1/engagement/like

Like a post, or a reply under it. Idempotent; there is no unlike.

NameTypeDescription
postIdstringYour own publish. Or pass ownerHandle and externalId instead.
ownerHandlestringWho owns the post. Naver Blog: the blog id.
externalIdstringThe post's id on the channel. Naver Blog: the logNo from the link.
replyIdstringA reply id from the thread to like that reply instead of the post.
accountIdstringWhich connected account acts. Only needed with more than one account on that channel.

POST/v1/engagement/reply

Reply to a post that is not yours (Naver Blog). No publish record is created.

NameTypeDescription
ownerHandleRequiredstringWho owns the post.
externalIdRequiredstringThe post's id on the channel.
contentRequiredstringReply text.
replyIdstringReply under this reply instead of under the post.
secretbooleanNaver Blog: a secret comment only the blog owner can read.

POST/v1/engagement/follow

Follow an account (Naver Blog: add as neighbor). mutual sends a request the other side accepts.

NameTypeDescription
ownerHandleRequiredstringThe account to follow. Naver Blog: the blog id.
mutualbooleanNaver Blog: send a mutual-neighbor request instead. Comes back pending until accepted.
messagestringSent with a mutual request. Up to 500 characters.
accountIdstringWhich connected account acts.

POST/v1/replies/{replyId}/hide

Hide a reply on the channel, or show it again.

NameTypeDescription
postIdRequiredstringThe publish the reply sits under.
hidebooleantrue hides it, false shows it again. Default true.

DELETE/v1/replies/{replyId}

Delete a comment for good. Unlike hide, this cannot be undone, and which channels have it at all is in features on GET /v1/platforms.

NameTypeDescription
postIdRequiredstringThe publish the reply sits under.

GET/v1/posts/{id}/insights

Views, likes, replies, reposts, quotes and shares.

{
  "views": 1240,
  "likes": 38,
  "replies": 6,
  "reposts": 2,
  "quotes": 1,
  "shares": null
}

Common questions

How do I reply to my own post?

Call reply with the publish id and leave replyTo out. That answers the post itself, which is how a thread starts.

How do I nest a reply under another reply?

Pass the reply's id as replyTo on the same call. There is no separate endpoint; one call does both depths.

Which numbers can I read?

Views, likes, replies, reposts, quotes and shares. Some come back null while the platform is still counting, and null means unknown, not zero.