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

# List your posts

`GET /v1/posts`

Retrieve a paginated list of posts from your publication. The publication is identified by the API key provided in the Authorization header.

Use the `status` parameter to filter by post status (published, draft, scheduled, or archived). Defaults to published.

## Query parameters

- `cursor` string
- `limit` integer
- `includeContent` union
  - boolean
  - string
- `status` 'published' | 'draft' | 'scheduled' | 'archived'

## Response `200`

Posts retrieved successfully

- object
  - `items` object[], required — Array of items in this page
    - `id` string, required — Unique identifier for the post
    - `title` string, required — Title of the post
    - `imageUrl` string, uri — Optional URL to the post's main image
    - `publishedAt` string — Epoch timestamp when the post was published
    - `updatedAt` string — Epoch timestamp when the post was last updated
    - `subtitle` string — Optional subtitle or brief summary
    - `slug` string, required — URL-friendly identifier for the post; accessible at paragraph.com/@[publicationSlug]/[slug]
    - `staticHtml` string — Rendered HTML content of the post
    - `json` string — TipTap JSON representation of the post content structure. This is the source of truth that the staticHtml and markdown is generated from
    - `markdown` string — Markdown source of the post content
    - `coinId` string — ID of the associated coin, if the post is coined
    - `categories` string[] — Categories/tags associated with this post
    - `authors` object[] — Authors of this post
      - `id` string, required — Unique identifier for the user
      - `walletAddress` string — Wallet address of the user
      - `avatarUrl` string, uri — URL to the user's avatar image
      - `publicationId` string, required — ID of the publication this user belongs to
      - `name` string — Display name of the user
      - `bio` string — Brief biography of the user (max 500 characters)
      - `farcaster` object — Farcaster profile information, if linked
        - `username` string, required — Farcaster username
        - `displayName` string, required — Farcaster display name
        - `fid` number, required — Farcaster fid
    - `authorIds` string[] — IDs of the authors of this post
    - `views` number — Total views. Only included when fetching your own posts via GET /v1/posts
    - `status` 'published' | 'draft' | 'scheduled' | 'archived' — Current publish status. Only set on authenticated endpoints (listOwn, getById for your own post). Use this instead of publishedAt to determine publish state — publishedAt is preserved across unpublishing.
  - `pagination` object, required
    - `cursor` string — Cursor for fetching the next page of results
    - `hasMore` boolean, required — Whether more results are available
    - `total` number — Total number of items available

## Other responses

- `401` — Invalid or missing API key
- `500` — Internal server error

---

[API](https://skmtc.net/paragraph-xyz/apis/paragraph-api.md) · [All operations](https://skmtc.net/paragraph-xyz/apis/paragraph-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/paragraph-xyz/paragraph-api/versions/7bbf1b62c1a0/schema)
