> ## Documentation Index
> Fetch the complete documentation index at: https://docs.genviral.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Post

> Retrieve details for a specific post

Return the canonical status for a single post, including every account’s state (`pending`, `posted`, `failed`, retry metadata, published URLs, etc.) plus normalized media metadata. Media mirrors the create payload (`type` + `url`/`urls`) or returns `null` for text-only posts, and surfaces `music_url` alongside it.

## Path Parameters

<ParamField path="id" type="string" required>
  The UUID of the post to retrieve (e.g., `11111111-1111-1111-1111-111111111111`).
</ParamField>

## Response

<ResponseField name="id" type="string">
  Post ID.
</ResponseField>

<ResponseField name="caption" type="string">
  Post caption.
</ResponseField>

<ResponseField name="status" type="string">
  Overall status of the post.
</ResponseField>

<ResponseField name="media" type="object | null">
  Returned in the same shape as create/update payloads, or `null` for text-only posts.

  <Expandable title="Media object">
    <ResponseField name="type" type="string">
      `video` or `slideshow`.
    </ResponseField>

    <ResponseField name="url" type="string">
      Present for `video`.
    </ResponseField>

    <ResponseField name="urls" type="string[]">
      Present for `slideshow`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="music_url" type="string | null">
  TikTok post URL when music is applied; `null` otherwise.
</ResponseField>

<ResponseField name="tiktok" type="object | null">
  Optional TikTok settings when present on the post; otherwise `null`.
</ResponseField>

<ResponseField name="pinterest" type="object | null">
  Optional Pinterest settings (`board_id`, `link`, `title`, `tags`) when present on the post;
  otherwise `null`.
</ResponseField>

<ResponseField name="accounts" type="object">
  <Expandable title="Accounts Detail">
    <ResponseField name="total" type="number" />

    <ResponseField name="states" type="array">
      List of per-account status objects including `status`, `error_message`, `published_at`,
      `last_attempted_at`, and `published_url`.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url https://www.genviral.io/api/partner/v1/posts/11111111-1111-1111-1111-111111111111 \
    --header 'Authorization: Bearer <token>'
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "ok": true,
    "code": 200,
    "message": "Post retrieved",
    "data": {
      "id": "11111111-1111-1111-1111-111111111111",
      "caption": "Holiday drops start Monday!",
      "status": "scheduled",
      "scheduled_at": "2025-02-01T15:00:00Z",
      "created_at": "2025-01-20T12:05:11.205Z",
      "media": null,
      "music_url": null,
      "tiktok": null,
      "pinterest": {
        "board_id": "123456789012345678",
        "title": "Dinner board",
        "link": "https://example.com/recipes",
        "tags": ["Italian recipes", "easy dinner"]
      },
      "accounts": {
        "total": 2,
        "states": [
          {
            "account_id": "0f4f54d4-8cce-4fb7-8c7b-befbcb8af812",
            "status": "scheduled",
            "published_at": null,
            "error_message": null,
            "last_attempted_at": null,
            "published_url": null
          },
          {
            "account_id": "6b0c8c9c-55ac-4fcb-85ec-70b5a8b0d089",
            "status": "scheduled",
            "published_at": null,
            "error_message": null,
            "last_attempted_at": null,
            "published_url": null
          }
        ]
      }
    }
  }
  ```
</ResponseExample>

## Error Responses

* `401` - authentication failed (missing/invalid/revoked token)
* `402 subscription_required` - active Creator/Professional/Business plan required
* `403 tier_not_allowed` - Scheduler tier cannot use Partner API
* `404 not_found` - post does not exist in the authenticated key scope
* `500 get_failed` - unexpected database/serialization error
