---
title: "List posts"
method: GET
path: "/v1/social/posts"
tags: ["Posts"]
---

# List posts

`GET /v1/social/posts`

## Request

- Base URL: `https://apihub.co.il`
- URL: `https://apihub.co.il/v1/social/posts`
- Auth: HTTP bearer

Retrieves a paginated list of all posts in the current profile group. Thread children are not returned as top-level items — only parent posts appear.

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

## Query parameters

- `page` integer: Page number (1-based). Passing 0 returns page 1.
- `source` 'postproxy' | 'imported': Filter by source: postproxy (created via app or API) or imported (imported from a connected platform)
- `status` 'draft' | 'scheduled' | 'published' | 'failed': Filter by status
- `per_page` integer: Number of items per page.
- `platforms` string[]: Array of platforms (e.g., platforms[]=instagram&platforms[]=tiktok)
- `scheduled_after` string, date-time: ISO 8601 date to filter posts scheduled after that date

## 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: Operation result (see each operation). While a Studio render is processing: `stage` (queued · transcribing · downloading · preparing · cleaning_voice · mixing_audio · rendering · finishing), `phase` (the engine's: download · prepare · voice · audio · encode · qa · upload, or null), `progress` (a percent, 0–100) and `progress_fraction` (0–1), `eta_seconds` (seconds left, never below 0) and `estimate_seconds`
    - `data` object[]: Array of post objects
      - `id` string: Unique post identifier (id)
      - `body` string: Post body/text content
      - `draft` boolean: Whether the post is a draft
      - `media` object[]: Array of media attachment objects
        - `id` string: Unique attachment identifier (id)
        - `url` string, nullable: Hosted URL of the processed file (null if not yet processed)
        - `status` 'pending' | 'processed' | 'failed': Processing status
        - `platforms` object[]: Per-platform formatting/upload errors for this attachment. Only included when at least one platform had an error processing this specific media file; omitted when there are no platform-level errors
          - `error` string: Error summary for this attachment on this platform
          - `status` string: Per-platform attachment status
          - `platform` string: Network identifier (instagram, twitter, etc.)
          - `error_details` object, nullable: Structured platform error details.
            - `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
        - `source_url` string, nullable: Original source URL if media was provided as a URL
        - `content_type` string: MIME type (e.g. image/jpeg, video/mp4)
        - `error_message` string, nullable: Error details if processing failed
      - `source` 'postproxy' | 'imported': Origin of the post: postproxy (created via app or API) or imported (imported from a connected platform)
      - `status` 'draft' | 'processing' | 'processed' | 'scheduled' | 'media_processing_failed': Post-level status
      - `thread` object[]: Array of thread child posts (only present for thread posts). Each item carries its own platforms array.
        - `id` string: Unique identifier (id) of the child post
        - `body` string: Text content of the child post
        - `media` object[]: Array of media attachment objects
          - `id` string: Unique attachment identifier (id)
          - `url` string, nullable: Hosted URL of the processed file (null if not yet processed)
          - `status` 'pending' | 'processed' | 'failed': Processing status
          - `platforms` object[]: Per-platform formatting/upload errors for this attachment. Only included when at least one platform had an error processing this specific media file; omitted when there are no platform-level errors
            - `error` string: Error summary for this attachment on this platform
            - `status` string: Per-platform attachment status
            - `platform` string: Network identifier (instagram, twitter, etc.)
            - `error_details` object, nullable: Structured platform error details.
              - …
          - `source_url` string, nullable: Original source URL if media was provided as a URL
          - `content_type` string: MIME type (e.g. image/jpeg, video/mp4)
          - `error_message` string, nullable: Error details if processing failed
        - `platforms` object[]: Per-platform delivery results for this thread item (status, permalink, error, error_details)
          - `error` string, nullable: Error summary (null on success)
          - `params` object, nullable: Platform-specific parameters used for this post
          - `status` string: Platform posting status: processing, published, failed, pending_deletion, deleted
          - `insights` object: Engagement metrics (when available)
            - `on` string, date-time: ISO 8601 timestamp when insights were captured
            - `impressions` integer: Number of impressions/views
          - `platform` 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'youtube' | 'twitter' | 'threads' | 'pinterest': Platform identifier
          - `permalink` string, nullable: Direct URL to the published post on the platform. Null if not published or permalink is unavailable
          - `profile_id` string: ID of the connected profile this platform entry was posted to
          - `attempted_at` string, date-time, nullable: ISO 8601 timestamp of posting attempt
          - `profile_name` string: Display name of the connected profile
          - `error_details` object, nullable: Structured platform error details.
            - `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
      - `queue_id` string, nullable: Queue ID if the post belongs to a queue
      - `platforms` object[]: Array of platform-specific posting results. For thread posts, this only describes the parent — each thread item carries its own platforms array.
        - `error` string, nullable: Error summary (null on success)
        - `params` object, nullable: Platform-specific parameters used for this post
        - `status` string: Platform posting status: processing, published, failed, pending_deletion, deleted
        - `insights` object: Engagement metrics (when available)
          - `on` string, date-time: ISO 8601 timestamp when insights were captured
          - `impressions` integer: Number of impressions/views
        - `platform` 'facebook' | 'instagram' | 'tiktok' | 'linkedin' | 'youtube' | 'twitter' | 'threads' | 'pinterest': Platform identifier
        - `permalink` string, nullable: Direct URL to the published post on the platform. Null if not published or permalink is unavailable
        - `profile_id` string: ID of the connected profile this platform entry was posted to
        - `attempted_at` string, date-time, nullable: ISO 8601 timestamp of posting attempt
        - `profile_name` string: Display name of the connected profile
        - `error_details` object, nullable: Structured platform error details.
          - `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
      - `created_at` string, date-time: ISO 8601 timestamp of creation
      - `scheduled_at` string, date-time, nullable: ISO 8601 timestamp if scheduled, null otherwise
      - `queue_priority` 'high' | 'medium' | 'low' | 'null', nullable: Priority level if in a queue
    - `page` integer: Current page number
    - `total` integer: Total number of posts
    - `per_page` integer: Items per page
  - `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)
