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

const api = new ParagraphAPI({ apiKey: "your-api-key" })
await api.posts.update({
  slug: "my-first-post",
  title: "Updated Title",
  markdown: "## New content"
})
{
  "success": true
}

Authorizations

Authorization
string
header
required

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

Path Parameters

slug
string
required

URL-friendly identifier of the post to update

Required string length: 1 - 256

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