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",
"postNumber": 12,
"identifier": "WR-12",
"sequenceNumber": 12,
"title": "Weekly Update",
"status": "published",
"author": {
"id": "usr_def456",
"name": "Jane Smith",
"email": "jane@example.com",
"image": "/api/media/avatars/jane.jpg"
},
"createdAt": "2024-02-01T12:00:00Z",
"updatedAt": "2024-02-01T14:30:00Z",
"publishedAt": "2024-02-01T14:30:00Z"
}
],
"hasMore": true,
"nextCursor": 1706797800000
}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 publishedprojectIdstringMove post to a different project (must be in same organization)Delete 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.
The cursor is the last returned post's createdAt timestamp. Post lists always respect the key owner's current workspace and project visibility, so hidden private-project posts are skipped instead of being exposed through pagination.
draftOnly visible to the author. Default status for new posts.publishedVisible to all project members. Triggers notifications.