---
title: "Like or unlike a comment"
method: POST
path: "/inbox/messages/{id}/like"
tags: ["Inbox"]
---

# Like or unlike a comment

`POST /inbox/messages/{id}/like`

## Request

- Base URL: `https://api.omnisocials.com/v1`
- URL: `https://api.omnisocials.com/v1/inbox/messages/{id}/like`
- Auth: HTTP bearer

Likes (or removes the like from) a comment someone left on one of your posts, as the connected account: the Facebook Page, the LinkedIn Page or the TikTok account. Incoming Facebook, LinkedIn Page and TikTok comments. Facebook allows a Like only: no app can add Love or another reaction. Liking a comment that is already liked (or unliking one that is not) succeeds and changes nothing. `liked` on the returned message shows the new state. A like does not mark the comment as read or answered. The account must have been connected with the comment permission (Facebook `pages_manage_engagement`); 403 `reconnect_required` otherwise. Requires the `inbox:write` scope (API keys) or the `access_social_inbox` permission (OAuth/MCP).

## Path parameters

- `id` string, required

## Request body

- object
  - `like` boolean: true to like, false to remove the like

## Response `200`

Comment liked or unliked

- object
  - `data` InboxMessage
    - `id` string
    - `conversation_id` string
    - `platform` string
    - `type` 'dm' | 'comment' | 'mention'
    - `direction` 'incoming' | 'outgoing'
    - `text` string
    - `timestamp` string, date-time
    - `is_read` boolean
    - `is_replied` boolean
    - `reaction` string, nullable
    - `parent_comment_id` string, nullable
    - `hidden` boolean, nullable: Comments only: true when the comment is hidden on the platform (see POST /inbox/messages/{id}/hide). Null for DMs.
    - `liked` boolean, nullable: Incoming Facebook, LinkedIn Page and TikTok comments: true when the connected account liked the comment (see POST /inbox/messages/{id}/like). Facebook and LinkedIn report likes made through OmniSocials; TikTok also reports likes made in the TikTok app. Null for DMs, outgoing messages and the other platforms.
    - `permalink` string, nullable: Link to the reply or mentioning post on the platform, when known
    - `attachment` object, nullable: Media sent with this message, when present. Incoming Instagram/Facebook DM images, videos, voice messages, and story mentions are re-hosted on our CDN so the URL stays valid indefinitely (the platform's own URL is short-lived). `type` reflects the fetched bytes, not the platform's label: a photo the platform sent under an unlabelled attachment type is `image`, a story mention that is really an MP4 is `video`. `type: file` covers media we could fetch but could not classify. `type: link` means the platform's URL did not point at media (for example a shared post that resolves to an instagram.com page); `url` is then the platform's own link, not re-hosted, and may require login or expire.
      - `url` string
      - `type` 'image' | 'video' | 'audio' | 'file' | 'link'
    - `sender` InboxParticipant
      - `id` string: Platform-scoped id of the other party
      - `name` string
      - `username` string
      - `profile_picture` string, nullable
    - `post` InboxPostContext, nullable: The post a comment/mention conversation belongs to, so a reply can be drafted with the post in view ("what size is this?" needs the caption and the picture). Null for DMs. `url` is the public link to the post when the platform provides one (Instagram, Facebook, YouTube, TikTok, LinkedIn, Threads); `media_type` is the platform's label (e.g. IMAGE, VIDEO, CAROUSEL_ALBUM on Instagram) when known.
      - `id` string, nullable
      - `caption` string, nullable
      - `thumbnail` string, nullable: Image URL of the post (or the video's cover)
      - `url` string, nullable
      - `media_type` string, nullable

## Other responses

- `400`: `unsupported_platform`: not an incoming Facebook, LinkedIn Page or TikTok comment
- `401`: `reauth_required`: the LinkedIn Page connection or the TikTok comments authorization expired; reconnect it in the dashboard
- `403`: `reconnect_required`: the account was connected without the comment permission; reconnect it in the dashboard
- `404`: `not_found` (message not in this workspace, or Facebook cannot find the comment any more) or `account_not_connected`
- `502`: `platform_error`: the platform rejected the call

## Changes

- **2026-10-27** `79cdeec29f82`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/omnisocials/apis/omnisocials-api/changes/inbox/messages/:id/like/post.md)

---

[API](https://skmtc.dev/omnisocials/apis/omnisocials-api.md) - [All operations](https://skmtc.dev/omnisocials/apis/omnisocials-api/llms.txt) - [OpenAPI document](https://skmtc.dev/omnisocials/apis/omnisocials-api/revisions/46e479c09474?raw)
