Skip to main content
PUT
/
v1
/
posts
/
{postId}
Update a post
import { ParagraphAPI } from "@paragraph-com/sdk"

const api = new ParagraphAPI({ apiKey: "your-api-key" })
await api.posts.update({
  id: "3T2PQZlsdQtigUp4fhlb",
  title: "Updated Title",
  markdown: "## New content\n\nUpdated post body.",
  status: "published"
})
{
  "success": true
}

Authorizations

Authorization
string
header
required

API key for authenticating protected endpoints. Pass as Bearer token in Authorization header.

Path Parameters

postId
string
required

Unique identifier of the post to update

Body

application/json

Body

markdown
string

Post content in Markdown format. Replaces full content — rich blocks created in the editor will be lost

title
string

Title of the post

Maximum string length: 200
subtitle
string

Optional subtitle or brief summary

Maximum string length: 300
slug
string

URL-friendly identifier for the post

Required string length: 1 - 256
postPreview
string

Preview text for the post

Maximum string length: 500
categories

Category tags for the post. Can also be a comma-separated string.

status
enum<string>

Set to 'published' to publish, 'draft' to unpublish, or 'archived' to archive

Available options:
draft,
published,
archived

Response

Post updated successfully

success
enum<boolean>
required

Whether the update succeeded

Available options:
true