posts

Get post by ID

Retrieve detailed information about a specific post

get/v1/posts/{postId}

Path parameters

postIdstring required

Unique identifier of the post

Query parameters

boolean
OR
string

Include full content fields (markdown, json, staticHtml). Default: false

Response

Post details retrieved successfully

idstring required

Unique identifier for the post

titlestring required

Title of the post

imageUrlstring uri

Optional URL to the post's main image

imageAltstring

Alternative text describing the cover image, shown to screen readers and when the image fails to load

publishedAtstring

Epoch timestamp when the post was published

updatedAtstring

Epoch timestamp when the post was last updated

subtitlestring

Optional subtitle or brief summary

slugstring required

URL-friendly identifier for the post; accessible at paragraph.com/@[publicationSlug]/[slug]

staticHtmlstring

Rendered HTML content of the post

jsonstring

TipTap JSON representation of the post content structure. This is the source of truth that the staticHtml and markdown is generated from

markdownstring

Markdown source of the post content

coinIdstring

ID of the associated coin, if the post is coined

categoriesstring[]

Categories/tags associated with this post

canonicalUrlstring uri

Canonical URL used in rendered metadata. This does not change the Paragraph permalink.

publishOnlineboolean

Whether the published post is visible on the public website

communityIdstring

Subscriber segment id selected for newsletter delivery

authorIdsstring[]

IDs of the authors of this post

viewsnumber

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.

Changes

Changed in 11 of the 61 revisions of this API.6313

    • added the optional property canonicalUrl to the response with the 200 status

      response-optional-property-added

    • added the optional property communityId to the response with the 200 status

      response-optional-property-added

    • added the optional property publishOnline to the response with the 200 status

      response-optional-property-added

    • added the optional property imageAlt to the response with the 200 status

      response-optional-property-added

    • removed the optional property authors/items/farcaster from the response with the 200 status

      response-optional-property-removed

    • removed the optional property error from the response with the 404 status

      response-optional-property-removed

    • removed the optional property error from the response with the 500 status

      response-optional-property-removed

    • added the optional property status to the response with the 200 status

      response-optional-property-added

    • query request parameter includeContent list-of-types was widened by adding types string

      request-parameter-list-of-types-widened

    • for the query request parameter includeContent, the type/format was generalized from boolean null/ to /

      request-parameter-type-generalized

    • added the optional property views to the response with the 200 status

      response-optional-property-added

    • added the optional property authorIds to the response with the 200 status

      response-optional-property-added

    • added the optional property authors to the response with the 200 status

      response-optional-property-added

    • added the optional property categories to the response with the 200 status

      response-optional-property-added

    • the publishedAt response's property type/format changed from string/date-time to string/ for status 200

      response-property-type-changed

    • the updatedAt response's property type/format changed from string/date-time to string/ for status 200

      response-property-type-changed

  • 698c541b5b6e11See the full diff
    • for the query request parameter includeContent, the type/format was changed from string/ to boolean/

      request-parameter-type-changed

    • api operation id getPost removed and replaced with getPostById

      api-operation-id-removed