---
title: "List publications"
method: GET
path: "/publications"
tags: ["Publications"]
---

# List publications

`GET /publications`

## Request

- Base URL: `https://app.openpo.st/api/v1`
- URL: `https://app.openpo.st/api/v1/publications`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `openpost_session`

## Query parameters

- `workspace_id` string, required: Workspace ID
- `status` string: Optional status filter
- `activity_bucket` 'scheduled' | 'published' | 'failed' | 'draft': Optional Publication activity bucket filter
- `content_profile` string: Optional content profile filter
- `platform` string: Optional destination platform filter
- `search` string: Case-insensitive title or source-text search
- `cursor` string: Opaque cursor for stable newest-first pagination
- `created_from` string: Include publications created at or after this RFC3339 timestamp
- `created_before` string: Include publications created before this RFC3339 timestamp
- `calendar_from` string: Include calendar occurrences at or after this RFC3339 timestamp
- `calendar_before` string: Include calendar occurrences before this RFC3339 timestamp
- `limit` integer: Limit, default 50
- `offset` integer: Offset

## Response `200`

OK

- PublicationResponse[], nullable
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `actual_run_at` string
  - `audience` string
  - `content_profile` string, required
  - `created_at` string, required
  - `created_by` string, required
  - `creation_preset` string, required
  - `creation_source` 'web' | 'api' | 'sdk' | 'mcp' | 'cli' | 'autopost' | 'unknown', required: Low-cardinality channel that created the Publication
  - `failure_dismissed_at` string
  - `goal` string
  - `id` string, required
  - `intent` string, required
  - `media` MediaSummary[], nullable, required
    - `alt_text` string
    - `analysis_error` string
    - `analysis_status` string, required
    - `aspect_ratio` string, required
    - `display_order` integer
    - `dominant_type` string, required
    - `duration_ms` integer, required
    - `frame_rate` number, double, required
    - `height` integer, required
    - `id` string, required
    - `mime_type` string, required
    - `original_filename` string, required
    - `poster_thumbnail_url` string
    - `public_url_checked_at` string
    - `public_url_error` string
    - `public_url_ready` boolean, required
    - `public_url_status` integer, required
    - `role` string
    - `settings` object
    - `size` integer, required
    - `thumbnail_timestamp_ms` integer
    - `url` string, required
    - `width` integer, required
  - `metadata` object, required
  - `random_delay_inherited` boolean, required
  - `random_delay_minutes` integer, required
  - `renditions` RenditionResponse[], nullable, required
    - `body` string, required
    - `delivery` ProviderDeliveryResponse
      - `current_attempt_created_at` string, required
      - `current_attempt_id` string, required
      - `current_attempt_number` integer, required
      - `error_code` string: Safe normalized provider failure code
      - `error_http_status` integer
      - `error_kind` string: Safe normalized provider failure class
      - `external_id` string
      - `external_url` string
      - `last_reconciled_at` string
      - `next_reconciliation_at` string
      - `recovery_action` 'none' | 'retry' | 'reconcile' | 'manual_resolution', required
      - `state` string, required
      - `target_key` string, required
      - `terminal_reason` string
    - `description` string, required
    - `error_action` string
    - `error_code` string
    - `error_http_status` integer
    - `error_kind` string
    - `error_message` string
    - `error_retry_at` string
    - `error_retryable` boolean, required
    - `external_id` string
    - `external_url` string
    - `format_locked` boolean, required
    - `id` string, required
    - `media` MediaSummary[], nullable, required
      - `alt_text` string
      - `analysis_error` string
      - `analysis_status` string, required
      - `aspect_ratio` string, required
      - `display_order` integer
      - `dominant_type` string, required
      - `duration_ms` integer, required
      - `frame_rate` number, double, required
      - `height` integer, required
      - `id` string, required
      - `mime_type` string, required
      - `original_filename` string, required
      - `poster_thumbnail_url` string
      - `public_url_checked_at` string
      - `public_url_error` string
      - `public_url_ready` boolean, required
      - `public_url_status` integer, required
      - `role` string
      - `settings` object
      - `size` integer, required
      - `thumbnail_timestamp_ms` integer
      - `url` string, required
      - `width` integer, required
    - `output_profile` string, required
    - `platform` string, required
    - `profile` string, required
    - `publication_id` string, required
    - `schedule_override` string
    - `segments` RenditionSegmentResponse[], nullable, required
      - `body` string, required
      - `body_override` string
      - `description` string, required
      - `description_override` string
      - `error_action` string
      - `error_code` string
      - `error_http_status` integer
      - `error_kind` string
      - `error_message` string
      - `error_retry_at` string
      - `error_retryable` boolean, required
      - `external_id` string
      - `external_url` string
      - `id` string, required
      - `media` MediaSummary[], nullable, required
        - `alt_text` string
        - `analysis_error` string
        - `analysis_status` string, required
        - `aspect_ratio` string, required
        - `display_order` integer
        - `dominant_type` string, required
        - `duration_ms` integer, required
        - `frame_rate` number, double, required
        - `height` integer, required
        - `id` string, required
        - `mime_type` string, required
        - `original_filename` string, required
        - `poster_thumbnail_url` string
        - `public_url_checked_at` string
        - `public_url_error` string
        - `public_url_ready` boolean, required
        - `public_url_status` integer, required
        - `role` string
        - `settings` object
        - `size` integer, required
        - `thumbnail_timestamp_ms` integer
        - `url` string, required
        - `width` integer, required
      - `media_inherited` boolean, required
      - `output_media` MediaSummary[], nullable: Ordered delivery media, including generated text cards. Use media for editing source attachments.
        - `alt_text` string
        - `analysis_error` string
        - `analysis_status` string, required
        - `aspect_ratio` string, required
        - `display_order` integer
        - `dominant_type` string, required
        - `duration_ms` integer, required
        - `frame_rate` number, double, required
        - `height` integer, required
        - `id` string, required
        - `mime_type` string, required
        - `original_filename` string, required
        - `poster_thumbnail_url` string
        - `public_url_checked_at` string
        - `public_url_error` string
        - `public_url_ready` boolean, required
        - `public_url_status` integer, required
        - `role` string
        - `settings` object
        - `size` integer, required
        - `thumbnail_timestamp_ms` integer
        - `url` string, required
        - `width` integer, required
      - `position` integer, required
      - `publication_segment_id` string, required
      - `settings` object, required
      - `source_overrides` RenditionSourceOverride[], nullable
        - `body_override` string: Explicit source body; omit or null to inherit
        - `media` PublicationMediaInput[], nullable: Independent source media, including an explicit empty list
          - `alt_text` string: Alt text override
          - `media_id` string, required: Media attachment ID
          - `role` string: Media role: attachment, cover, thumbnail
          - `settings` object: Media-item settings
          - `thumbnail_timestamp_ms` integer: Video thumbnail timestamp
        - `media_inherited` boolean, required: Whether this source contributes its canonical media
        - `publication_segment_id` string, required: Canonical source segment ID, or matching client reference in the same request
      - `status` string, required
      - `title` string, required
      - `title_override` string
      - `url` string
      - `url_override` string
    - `settings` object, required
    - `social_account_id` string, required
    - `status` string, required
    - `target_key` string, required
    - `title` string, required
  - `repost_override` Override, required
    - `mode` 'inherit' | 'off' | 'custom', required: Use workspace rules, disable reposts, or use this post's custom rule
    - `rule` Rule
      - `delay_seconds` integer, required: Wait after publishing before the first eligibility check
      - `evaluation_window_seconds` integer, required: How long OpenPost may wait for engagement gates
      - `min_comments` integer, required: Minimum comments; zero disables this gate
      - `min_likes` integer, required: Minimum likes; zero disables this gate
      - `min_reposts` integer, required: Minimum reposts or shares; zero disables this gate
      - `min_views` integer, required: Minimum views; zero disables this gate
      - `plateau_checks` integer, required: Consecutive unchanged analytics checks required
      - `require_plateau` boolean, required: Wait until stored engagement has stopped changing
      - `stages` Stage[], nullable: Ordered repost times measured from the original publish time
        - `delay_seconds` integer, required: Wait from the original publish time before this repost
        - `unrepost_previous` boolean, required: Remove the preceding repost before creating this one
      - `threshold_mode` 'all' | 'any', required: Require all configured thresholds or any one
    - `target_account_ids` string[], nullable: Target accounts for a custom override
  - `review_epoch` integer
  - `review_id` string
  - `review_state` 'pending' | 'approved' | 'changes_requested' | 'needs_review'
  - `revision` integer, required
  - `scheduled_at` string
  - `segments` PublicationSegmentResponse[], nullable, required
    - `body` string, required
    - `description` string, required
    - `id` string, required
    - `media` MediaSummary[], nullable, required
      - `alt_text` string
      - `analysis_error` string
      - `analysis_status` string, required
      - `aspect_ratio` string, required
      - `display_order` integer
      - `dominant_type` string, required
      - `duration_ms` integer, required
      - `frame_rate` number, double, required
      - `height` integer, required
      - `id` string, required
      - `mime_type` string, required
      - `original_filename` string, required
      - `poster_thumbnail_url` string
      - `public_url_checked_at` string
      - `public_url_error` string
      - `public_url_ready` boolean, required
      - `public_url_status` integer, required
      - `role` string
      - `settings` object
      - `size` integer, required
      - `thumbnail_timestamp_ms` integer
      - `url` string, required
      - `width` integer, required
    - `position` integer, required
    - `settings` object, required
    - `title` string, required
    - `url` string
  - `social_set_id` string
  - `source_text` string, required
  - `source_url` string
  - `status` string, required
  - `title` string, required
  - `updated_at` string, required
  - `workspace_id` string, required

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/openpo/apis/openpost-api.md) · [All operations](https://skmtc.dev/openpo/apis/openpost-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openpo/apis/openpost-api/revisions/67d3964458a7?raw)
