---
title: "Get comment"
method: GET
path: "/v1/social/posts/{post_id}/comments/{id}"
tags: ["Comments"]
---

# Get comment

`GET /v1/social/posts/{post_id}/comments/{id}`

## Request

- Base URL: `https://apihub.co.il`
- URL: `https://apihub.co.il/v1/social/posts/{post_id}/comments/{id}`
- Auth: HTTP bearer

Retrieves a single comment with its direct replies.

**Billing:** Read request · **Rate limit:** 120/min

## Path parameters

- `id` string, required: Comment ID — accepts either the Postproxy hashid or the platform's native (external) comment ID
- `post_id` string, required: Post ID

## Query parameters

- `profile_id` string, required: Profile ID

## Headers

- `Idempotency-Key` string
- `X-Tag` string

## Response `200`

Completed

- object
  - `id` string: Execution id — stable across internal retries; use it with GET /v1/executions/{id}
  - `status` 'pending' | 'processing' | 'completed' | 'partial' | 'failed' | 'cancelled' | 'timeout'
  - `operation` string
  - `tag` string, nullable: Your X-Tag, if sent
  - `created_at` string, date-time
  - `completed_at` string, date-time, nullable
  - `output` object: A comment on a published post.
    - `id` string: Unique comment identifier (ID)
    - `body` string: Comment text content
    - `error` string, nullable: Error summary if the comment failed to publish (null otherwise)
    - `status` 'synced' | 'pending' | 'published' | 'failed' | 'failed_waiting_for_retry' | 'delivery_unconfirmed': Comment status. Only published and failed are terminal — treat every other value as still in progress.
    - `replies` object[]: All replies (regardless of nesting depth) flattened under the root top-level comment, sorted by created_at ascending. Present on per-post list and get responses.
    - `metadata` object, nullable: Additional author signals fetched asynchronously from the platform after the comment is ingested. Null until the lookup completes; individual keys may be absent depending on platform support.
      - `follower_count` integer: Author's follower count (instagram)
      - `is_verified_user` boolean: Author has a verified account (instagram)
      - `author_fetched_at` string: ISO 8601 timestamp of the last author-info refresh
      - `is_business_follow_user` boolean: The business profile follows the author (instagram)
      - `is_user_follow_business` boolean: Author follows the business profile (instagram)
    - `is_hidden` boolean: Whether the comment is hidden
    - `permalink` string, nullable: Direct URL to the comment on the platform (when available)
    - `posted_at` string, nullable: ISO 8601 timestamp when the comment was posted on the platform
    - `created_at` string: ISO 8601 timestamp of record creation
    - `like_count` integer: Number of likes on the comment
    - `attachments` object[]: Media attached to the comment. Empty array when there are none. Always empty on a freshly created (pending) comment.
      - `id` string: Attachment hashid
      - `url` string, nullable: Stable storage URL to the asset. While status is pending, this temporarily falls back to the source URL on the platform until the file is mirrored to Postproxy storage.
      - `type` 'image' | 'video' | 'audio' | 'gif' | 'external' | 'file'
      - `status` 'pending' | 'processed' | 'failed': pending (still being mirrored), processed (stored and ready), failed (could not be downloaded)
      - `external_id` string, nullable: Platform-side identifier for the attachment (e.g. Facebook attachment target ID). Omitted when the platform did not provide one.
    - `external_id` string, nullable: Platform's native comment ID (null for pending comments)
    - `error_details` object, nullable: Structured platform error (omitted when no platform error info is available).
      - `postproxy_note` string, nullable: Additional context from Postproxy about the error
      - `platform_error_code` string, nullable: Error code returned by the platform API
      - `platform_error_message` string, nullable: Error message returned by the platform API
      - `platform_error_subcode` string, nullable: Error subcode returned by the platform API
    - `platform_data` object, nullable: Platform-specific metadata
    - `author_username` string, nullable: Author's display name or username
    - `author_avatar_url` string, nullable: Author's profile image URL
    - `author_external_id` string, nullable: Author's platform-specific ID
    - `parent_external_id` string, nullable: Parent comment's external ID (null for top-level comments)
  - `error` string, nullable
  - `usage` object
    - `credits_charged` number, nullable
    - `credits_reserved` number
    - `estimated_credits` number
    - `cost_source` 'provider_reported' | 'calculated' | 'estimated' | 'null', nullable
    - `provider_usage` object, nullable: Normalised consumption, e.g. { VIDEO_SECOND: 22.4 }
  - `balance` object
    - `available` number
    - `reserved` number

## Other responses

- `400`: Invalid input
- `402`: Insufficient credits / project budget
- `404`: Resource not found (or not yours)
- `429`: Rate limited
- `503`: Service temporarily paused

---

[API](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai.md) · [All operations](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/llms.txt) · [OpenAPI document](https://skmtc.dev/apihub/apis/apihub-one-api-for-chat-image-video-ai/revisions/a8caa42835ce?raw)
