/
Create, update, and manage project updates and posts programmatically.
List posts in your workspace
projectIdstringFilter by project (query param)statusstringFilter by status: draft or published (default: published)limitnumberNumber of posts (max 100, default 50)cursorstringCursor for pagination (from nextCursor in previous response){
"posts": [
{
"id": "pst_abc123",
"title": "Weekly Update",
"status": "published",
"author": {
"id": "usr_def456",
"name": "Jane Smith",
"email": "jane@example.com"
},
"createdAt": "2024-02-01T12:00:00Z",
"updatedAt": "2024-02-01T14:30:00Z",
"publishedAt": "2024-02-01T14:30:00Z"
}
],
"hasMore": true,
"nextCursor": "abc123..."
}Create a new post
titlestringrequiredPost title (max 200 chars)contentstring|objectrequiredPost content (plain text or JSON)projectIdstringrequiredProject ID to post instatusstringdraft or published (default: draft)Get a single post by ID
idstringrequiredPost ID (URL path)Update an existing post
idstringrequiredPost ID (URL path)titlestringNew titlecontentstring|objectNew content (plain text or JSON)statusstringdraft or publishedDelete a post (soft delete)
idstringrequiredPost ID (URL path)The content field accepts either plain text (string) or a structured JSON object representing rich text content. When using the rich text format, content follows the Plate.js JSON schema.
The list posts endpoint uses cursor-based pagination. Pass the nextCursor value from the previous response as the cursor query parameter to fetch the next page. The response includes a hasMore flag to indicate if more results are available.
draftOnly visible to the author. Default status for new posts.publishedVisible to all project members. Triggers notifications.