---
title: "List posts with pagination and filters"
method: GET
path: "/list-posts"
tags: ["Posts"]
---

# List posts with pagination and filters

`GET /list-posts`

Retrieve a paginated list of all your scheduled, draft, published, and failed posts.

**Pagination behavior:** The `page` and `limit` parameters are silently clamped to valid ranges
rather than returning errors. `page` is clamped to a minimum of 1, and `limit` is clamped to 1-100.

**Platform filtering:** The `platform` filter uses case-insensitive prefix matching.

## Query parameters

- `page` integer
- `limit` integer
- `status` 'draft' | 'scheduled' | 'published' | 'failed' | 'partially_published'
- `platform` 'twitter' | 'linkedin' | 'instagram' | 'threads' | 'tiktok' | 'youtube' | 'facebook' | 'bluesky' | 'mastodon' | 'telegram' | 'pinterest'
- `sortBy` 'createdAt' | 'updatedAt' | 'scheduledTime'
- `sortOrder` 'asc' | 'desc'
- `fromDate` string, date-time
- `toDate` string, date-time

## Headers

- `x-publora-user-id` string

## Response `200`

Paginated list of posts

- object
  - `success` boolean
  - `posts` object[]
    - `postGroupId` string
    - `content` string
    - `status` 'draft' | 'scheduled' | 'published' | 'failed' | 'partially_published'
    - `scheduledTime` string, date-time
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `platforms` object[]
      - `platformId` string
      - `platform` string
      - `status` string
    - `mediaUrls` string[]
  - `pagination` object
    - `page` integer
    - `limit` integer
    - `totalItems` integer
    - `totalPages` integer
    - `hasNextPage` boolean
    - `hasPrevPage` boolean

## Other responses

- `400` — Validation error
- `401` — Invalid API key

---

[API](https://skmtc.dev/publora/apis/publora-api.md) · [All operations](https://skmtc.dev/publora/apis/publora-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/publora/publora-api/revisions/a1534a88d80a/schema)
