---
title: "Hide or unhide a Threads reply"
method: POST
path: "/inbox/messages/{id}/hide"
tags: ["Inbox"]
---

# Hide or unhide a Threads reply

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

Hides (or unhides) a reply someone left on one of your Threads posts, as the post owner. Threads only; only incoming top-level replies can be hidden (Threads does not allow hiding nested replies). The message keeps its place in the conversation and `hidden` flips on the returned message. Requires a Threads connection with the reply permission (401 `reauth_required` otherwise) and the `inbox:write` scope (API keys) or the `access_social_inbox` permission (OAuth/MCP).

## Path parameters

- `id` string, required

## Request body

- object
  - `hide` boolean — true to hide, false to unhide

## Response `200`

Reply hidden or unhidden

- 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 — Threads replies only: true when the reply is hidden on Threads (see POST /inbox/messages/{id}/hide)
    - `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: file` covers attachment types we could fetch but don't otherwise recognize.
      - `url` string
      - `type` 'image' | 'video' | 'audio' | 'file'
    - `sender` InboxParticipant
      - `id` string — Platform-scoped id of the other party
      - `name` string
      - `username` string
      - `profile_picture` string, nullable
    - `post` object, nullable
      - `id` string, nullable
      - `caption` string, nullable
      - `thumbnail` string, nullable

## Other responses

- `400` — `unsupported_platform` (not a Threads reply) or `not_hideable` (nested reply, or Threads refused)
- `401` — `reauth_required`: the Threads connection lacks the reply permission
- `404` — Message not found in this workspace

---

[API](https://skmtc.dev/omnisocials/apis/omnisocials-api.md) · [All operations](https://skmtc.dev/omnisocials/apis/omnisocials-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/omnisocials/omnisocials-api/revisions/e53b89af0b98/schema)
