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

# List posts

`GET /posts`

List all posts in the workspace with pagination and filtering. Archived posts are excluded from results.

## Query parameters

- `limit` integer
- `cursor` string, uuid
- `ids` union
  - string, uuid
  - string[]
- `status` 'Tentative' | 'ToDo' | 'InProgress' | 'ForReview' | 'Blocked' | 'Finalized' | 'Scheduled' | 'Posted'
- `channel` 'LinkedIn' | 'Twitter' | 'Instagram' | 'TikTok' | 'YouTubeShorts'
- `linkedInProfileId` string, uuid
- `xProfileId` string, uuid
- `instagramProfileId` string, uuid
- `tikTokProfileId` string, uuid
- `youTubeProfileId` string, uuid
- `labelIds` union
  - string, uuid
  - string[]
- `publishDateMin` string, date-time
- `publishDateMax` string, date-time
- `createdAtMin` string, date-time
- `createdAtMax` string, date-time
- `sortBy` 'createdAt' | 'publishAt'
- `sortOrder` 'asc' | 'desc'

## Response `200`

List of posts

- object
  - `posts` Post[]
    - `id` string, uuid
    - `url` string, uri
    - `title` string
    - `channels` string[]
    - `status` 'Tentative' | 'ToDo' | 'InProgress' | 'ForReview' | 'Blocked' | 'Finalized' | 'Scheduled' | 'Posted'
    - `publishDate` string — Scheduled publish date (YYYY-MM-DD) in workspace timezone
    - `publishAt` string, date-time, nullable — Scheduled publish datetime UTC. Only set when a specific time is specified.
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `archivedAt` string, date-time, nullable — When the post was archived. Null if the post is not archived.
    - `labels` object[] — Labels assigned to this post
      - `id` string, uuid — Label ID
      - `name` string — Label name
      - `color` string — Label text color (hex)
      - `backgroundColor` string — Label background color (hex)
    - `linkedIn` object, nullable
      - `profile` ChannelProfile — Profile information for a channel (LinkedIn, X, or Instagram)
        - `id` string, uuid — Profile ID
        - `name` string, nullable — Profile name
        - `detail` string, nullable — Profile detail (vanity name for LinkedIn, @username for X)
      - `copy` string
      - `assets` Asset[] — Assets attached to the LinkedIn post
        - `id` string, uuid — Asset ID
        - `name` string — Original filename
        - `url` string, uri — URL to access the asset
        - `mimetype` string — MIME type of the file (e.g., image/jpeg, video/mp4)
        - `size` integer — File size in bytes
        - `width` integer, nullable — Width in pixels for images and videos
        - `height` integer, nullable — Height in pixels for images and videos
        - `duration` number, nullable — Duration in seconds for videos
    - `x` object, nullable — X (Twitter) content. Present when the post targets the Twitter channel.
      - `profile` ChannelProfile — Profile information for a channel (LinkedIn, X, or Instagram)
        - `id` string, uuid — Profile ID
        - `name` string, nullable — Profile name
        - `detail` string, nullable — Profile detail (vanity name for LinkedIn, @username for X)
      - `tweets` object[]
        - `copy` string
        - `assets` Asset[] — Assets attached to this tweet
          - `id` string, uuid — Asset ID
          - `name` string — Original filename
          - `url` string, uri — URL to access the asset
          - `mimetype` string — MIME type of the file (e.g., image/jpeg, video/mp4)
          - `size` integer — File size in bytes
          - `width` integer, nullable — Width in pixels for images and videos
          - `height` integer, nullable — Height in pixels for images and videos
          - `duration` number, nullable — Duration in seconds for videos
    - `instagram` union — Instagram content. Present when the post targets the Instagram channel. The shape depends on the `type` field.
      - InstagramFeedContent — Instagram Feed content in responses
        - `profile` ChannelProfile — Profile information for a channel (LinkedIn, X, or Instagram)
          - `id` string, uuid — Profile ID
          - `name` string, nullable — Profile name
          - `detail` string, nullable — Profile detail (vanity name for LinkedIn, @username for X)
        - `type` 'Feed' — Instagram content type
        - `copy` string — Caption text
        - `assets` InstagramAsset[]
          - `id` string, uuid
          - `name` string
          - `url` string, uri
          - `mimetype` string
          - `size` integer
          - `width` integer, nullable
          - `height` integer, nullable
          - `duration` number, nullable
          - `tags` InstagramAssetTag[]
            - `username` string — Instagram username
            - `x` number, nullable — X coordinate (0-1) for images, null for videos
            - `y` number, nullable — Y coordinate (0-1) for images, null for videos
        - `collaborators` string[] — Instagram usernames invited as collaborators
        - `location` InstagramLocation — A location tagged on an Instagram post
          - `pageId` string — Facebook Page ID
          - `name` string — Display name of the location
      - InstagramReelContent — Instagram Reel content in responses
        - `profile` ChannelProfile — Profile information for a channel (LinkedIn, X, or Instagram)
          - `id` string, uuid — Profile ID
          - `name` string, nullable — Profile name
          - `detail` string, nullable — Profile detail (vanity name for LinkedIn, @username for X)
        - `type` 'Reel' — Instagram content type
        - `copy` string — Caption text
        - `assets` InstagramAsset[]
          - `id` string, uuid
          - `name` string
          - `url` string, uri
          - `mimetype` string
          - `size` integer
          - `width` integer, nullable
          - `height` integer, nullable
          - `duration` number, nullable
          - `tags` InstagramAssetTag[]
            - `username` string — Instagram username
            - `x` number, nullable — X coordinate (0-1) for images, null for videos
            - `y` number, nullable — Y coordinate (0-1) for images, null for videos
        - `coverPhoto` Asset — Asset metadata for files attached to posts
          - `id` string, uuid — Asset ID
          - `name` string — Original filename
          - `url` string, uri — URL to access the asset
          - `mimetype` string — MIME type of the file (e.g., image/jpeg, video/mp4)
          - `size` integer — File size in bytes
          - `width` integer, nullable — Width in pixels for images and videos
          - `height` integer, nullable — Height in pixels for images and videos
          - `duration` number, nullable — Duration in seconds for videos
        - `shareToFeed` boolean — Whether the Reel is also shared to the Feed
        - `trialReelGraduationStrategy` 'MANUAL' | 'SS_PERFORMANCE', nullable — Trial reel graduation strategy, or `null` if the Reel is not a trial reel. `MANUAL` requires you to graduate the reel from the Instagram app; `SS_PERFORMANCE` lets Instagram auto-graduate based on early performance.
        - `collaborators` string[] — Instagram usernames invited as collaborators
        - `location` InstagramLocation — A location tagged on an Instagram post
          - `pageId` string — Facebook Page ID
          - `name` string — Display name of the location
      - InstagramStoryContent — Instagram Story content in responses
        - `profile` ChannelProfile — Profile information for a channel (LinkedIn, X, or Instagram)
          - `id` string, uuid — Profile ID
          - `name` string, nullable — Profile name
          - `detail` string, nullable — Profile detail (vanity name for LinkedIn, @username for X)
        - `type` 'Story' — Instagram content type
        - `assets` InstagramAsset[]
          - `id` string, uuid
          - `name` string
          - `url` string, uri
          - `mimetype` string
          - `size` integer
          - `width` integer, nullable
          - `height` integer, nullable
          - `duration` number, nullable
          - `tags` InstagramAssetTag[]
            - `username` string — Instagram username
            - `x` number, nullable — X coordinate (0-1) for images, null for videos
            - `y` number, nullable — Y coordinate (0-1) for images, null for videos
    - `tikTok` TikTokContent, nullable — TikTok content. Present when the post targets the TikTok channel.
      - `profile` ChannelProfile — Profile information for a channel (LinkedIn, X, or Instagram)
        - `id` string, uuid — Profile ID
        - `name` string, nullable — Profile name
        - `detail` string, nullable — Profile detail (vanity name for LinkedIn, @username for X)
      - `copy` string — Caption text
      - `assets` Asset[] — Assets attached to the TikTok post (one video).
        - `id` string, uuid — Asset ID
        - `name` string — Original filename
        - `url` string, uri — URL to access the asset
        - `mimetype` string — MIME type of the file (e.g., image/jpeg, video/mp4)
        - `size` integer — File size in bytes
        - `width` integer, nullable — Width in pixels for images and videos
        - `height` integer, nullable — Height in pixels for images and videos
        - `duration` number, nullable — Duration in seconds for videos
      - `privacyLevel` 'PUBLIC_TO_EVERYONE' | 'FOLLOWER_OF_CREATOR' | 'MUTUAL_FOLLOW_FRIENDS' | 'SELF_ONLY' — Audience visibility for the TikTok video.
      - `isCommentDisabled` boolean
      - `isDuetDisabled` boolean
      - `isStitchDisabled` boolean
      - `isPromotingBusiness` boolean
      - `isPaidPartnership` boolean
      - `videoCoverTimestampMs` integer, nullable — Timestamp (in milliseconds) of the video frame used as the cover thumbnail. Null when not set.
    - `youTubeShorts` YouTubeShortsContent, nullable — YouTube Shorts content. Present when the post targets the YouTube Shorts channel.
      - `profile` ChannelProfile — Profile information for a channel (LinkedIn, X, or Instagram)
        - `id` string, uuid — Profile ID
        - `name` string, nullable — Profile name
        - `detail` string, nullable — Profile detail (vanity name for LinkedIn, @username for X)
      - `title` string, nullable — Video title
      - `description` string, nullable — Video description
      - `assets` Asset[] — Assets attached to the YouTube Shorts post (one video).
        - `id` string, uuid — Asset ID
        - `name` string — Original filename
        - `url` string, uri — URL to access the asset
        - `mimetype` string — MIME type of the file (e.g., image/jpeg, video/mp4)
        - `size` integer — File size in bytes
        - `width` integer, nullable — Width in pixels for images and videos
        - `height` integer, nullable — Height in pixels for images and videos
        - `duration` number, nullable — Duration in seconds for videos
      - `privacyStatus` 'public' | 'private' | 'unlisted' — Audience visibility for the YouTube Shorts video.
      - `categoryId` string, nullable
      - `notifySubscribers` boolean
      - `isEmbeddable` boolean
      - `isSelfDeclaredMadeForKids` boolean
  - `nextCursor` string, nullable — Cursor for the next page of results
  - `hasMore` boolean — Whether there are more results

## Other responses

- `401` — Unauthorized - Missing or invalid API key
- `429` — Too Many Requests - Rate limit exceeded

---

[API](https://skmtc.net/tryordinal/apis/ordinal-api.md) · [All operations](https://skmtc.net/tryordinal/apis/ordinal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryordinal/ordinal-api/versions/1d0792ff454f/schema)
