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

# List posts

`GET /api/posts`

## Request

- Base URL: `https://api-app.postnext.io`
- URL: `https://api-app.postnext.io/api/posts`
- Auth: API key in header `x-api-key`

Lists the caller's posts, scoped to their team. Any PostGroup field passed
as a query parameter is applied as an equality filter (for example
`status`, `assigneeId`, `contentPlanId`). Pagination activates when `page`
or `limit` is present.

## Query parameters

- `page` integer
- `limit` integer
- `status` 'DRAFT' | 'SCHEDULED' | 'PUBLISHING' | 'PUBLISHED' | 'FAILED' | 'APPROVAL'
- `view` 'calendar'
- `excludeContentPlanDrafts` boolean

## Response `200`

Paginated list of posts

- object
  - `success` boolean
  - `data` PostGroup[]
    - `id` string: Post group uuid.
    - `_id` string: Mongo ObjectId.
    - `userId` string
    - `teamId` string
    - `title` string
    - `description` string
    - `imageUrl` string, uri
    - `providers` object
    - `tags` string[]
    - `scheduledTime` string, date-time
    - `status` 'DRAFT' | 'SCHEDULED' | 'PUBLISHING' | 'PUBLISHED' | 'FAILED' | 'APPROVAL'
    - `assigneeId` string
    - `watchers` string[]
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `meta` PaginationMeta
    - `page` integer
    - `limit` integer
    - `total` integer
    - `totalPages` integer
    - `hasNextPage` boolean
    - `hasPrevPage` boolean

## Other responses

- `401`: Missing or invalid API key

---

[API](https://skmtc.dev/postnext/apis/postnext-public-api.md) · [All operations](https://skmtc.dev/postnext/apis/postnext-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/postnext/apis/postnext-public-api/revisions/c0bf3aa03271?raw)
