> ## Documentation Index
> Fetch the complete documentation index at: https://paragraph.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get post by ID

> Retrieve detailed information about a specific post



## OpenAPI

````yaml /paragraph-api/openapi.json get /v1/posts/{postId}
openapi: 3.1.0
info:
  title: Paragraph API
  version: 1.0.0
  description: >-
    Public API for interacting with Paragraph publications, posts, users, and
    coined writing.


    ## Rate Limiting

    API requests are rate-limited to ensure fair usage. Contact
    support@paragraph.com for higher limits.


    ## Pagination

    List endpoints support cursor-based pagination using `cursor` and `limit`
    parameters.
  contact:
    name: Paragraph Support
    email: support@paragraph.com
    url: https://paragraph.com/support
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://public.api.paragraph.com/api
    description: Production server
security:
  - {}
tags:
  - name: publications
    description: Operations related to publications
  - name: posts
    description: Operations related to posts and content
  - name: users
    description: Operations related to users and authors
  - name: coins
    description: Operations related to tokenized content
  - name: subscribers
    description: Operations related to subscriber management (requires API key)
paths:
  /v1/posts/{postId}:
    get:
      tags:
        - posts
      summary: Get post by ID
      description: Retrieve detailed information about a specific post
      operationId: getPostById
      parameters:
        - name: postId
          in: path
          required: true
          schema:
            type: string
          description: Unique identifier of the post
        - name: includeContent
          in: query
          description: >-
            Include full content fields (markdown, json, staticHtml). Default:
            false
          schema:
            oneOf:
              - type: boolean
              - type: string
      responses:
        '200':
          description: Post details retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Unique identifier for the post
                  title:
                    type: string
                    maxLength: 200
                    description: Title of the post
                  imageUrl:
                    type: string
                    format: uri
                    description: Optional URL to the post's main image
                  publishedAt:
                    type: string
                    description: Epoch timestamp when the post was published
                  updatedAt:
                    type: string
                    description: Epoch timestamp when the post was last updated
                  subtitle:
                    type: string
                    maxLength: 300
                    description: Optional subtitle or brief summary
                  slug:
                    type: string
                    minLength: 1
                    maxLength: 256
                    description: >-
                      URL-friendly identifier for the post; accessible at
                      paragraph.com/@[publicationSlug]/[slug]
                  staticHtml:
                    type: string
                    description: Rendered HTML content of the post
                  json:
                    type: string
                    description: >-
                      TipTap JSON representation of the post content structure.
                      This is the source of truth that the staticHtml and
                      markdown is generated from
                  markdown:
                    type: string
                    description: Markdown source of the post content
                  coinId:
                    type: string
                    description: ID of the associated coin, if the post is coined
                  categories:
                    type: array
                    items:
                      type: string
                    description: Categories/tags associated with this post
                  authors:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Unique identifier for the user
                        walletAddress:
                          type: string
                          pattern: ^0x[a-fA-F0-9]{40}$
                          description: Wallet address of the user
                        avatarUrl:
                          type: string
                          format: uri
                          description: URL to the user's avatar image
                        publicationId:
                          type: string
                          description: ID of the publication this user belongs to
                        name:
                          type: string
                          description: Display name of the user
                        bio:
                          type: string
                          maxLength: 500
                          description: Brief biography of the user (max 500 characters)
                        farcaster:
                          type: object
                          properties:
                            username:
                              type: string
                              description: Farcaster username
                            displayName:
                              type: string
                              description: Farcaster display name
                            fid:
                              type: number
                              description: Farcaster fid
                          required:
                            - username
                            - displayName
                            - fid
                          description: Farcaster profile information, if linked
                      required:
                        - id
                        - publicationId
                    description: Authors of this post
                  authorIds:
                    type: array
                    items:
                      type: string
                    description: IDs of the authors of this post
                  views:
                    type: number
                    description: >-
                      Total views. Only included when fetching your own posts
                      via GET /v1/posts
                  status:
                    type: string
                    enum:
                      - published
                      - draft
                      - scheduled
                      - archived
                    description: >-
                      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.
                required:
                  - id
                  - title
                  - slug
        '404':
          description: Post not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    description: Always false for error responses
                  msg:
                    type: string
                    description: Human-readable error message
                required:
                  - success
                  - msg
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    description: Always false for error responses
                  msg:
                    type: string
                    description: Human-readable error message
                required:
                  - success
                  - msg
      x-codeSamples:
        - lang: typescript
          label: Get post by ID
          source: >-
            import { ParagraphAPI } from "@paragraph-com/sdk"


            const api = new ParagraphAPI()

            const post = await api.posts.get({ id: "3T2PQZlsdQtigUp4fhlb"
            }).single()

````