Posts API
List, create, and manage posts programmatically.
List Posts
Retrieve all posts in a workspace.
GET /rest/v1/posts?workspace_id=eq.<workspace-id>&select=*Query Parameters
| Parameter | Type | Description |
|---|---|---|
workspace_id | uuid | Required. Filter by workspace |
status | string | Filter by status: NONE, PENDING, RUNNING, SUCCESS, FAILURE |
order | string | Sort order (e.g., created_at.desc) |
Response
[
{
"id": 1,
"workspace_id": "uuid",
"automation_id": 1,
"channel_id": 5,
"status": "SUCCESS",
"content": {
"content": "Check out these marketing tips...",
"media": [
{ "type": "image", "url": "https://..." }
]
},
"external_id": "platform-post-id",
"link": "https://instagram.com/p/...",
"created_at": "2025-01-01T00:00:00Z",
"published_at": "2025-01-01T00:01:00Z"
}
]Get Post
Retrieve a single post with related data.
GET /rest/v1/posts?id=eq.<id>&select=*,channels(*,connections(*)),automations(*)Update Post
Update a post’s content before publishing.
PATCH /rest/v1/posts?id=eq.<id>
Content-Type: application/json
{
"content": {
"content": "Updated post text",
"media": []
}
}Content Structure
The content field is a JSON object whose shape depends on the target platform:
Social Post
{
"content": "Post text",
"media": [{ "type": "image", "url": "https://..." }]
}Blog Post
{
"title": "Article Title",
"content": "<h2>Introduction</h2><p>...</p>",
"excerpt": "Short summary",
"tags": ["marketing", "social-media"],
"media": [{ "type": "image", "url": "https://..." }]
}Discord Post
{
"content": "Message text",
"media": [{ "type": "image", "url": "https://..." }],
"embed": {
"title": "Embed Title",
"description": "Embed description",
"url": "https://..."
}
}Delete Post
DELETE /rest/v1/posts?id=eq.<id>Post Statuses
| Status | Description |
|---|---|
NONE | Created but not queued |
PENDING | Queued for publishing |
RUNNING | Currently being published |
SUCCESS | Published successfully |
FAILURE | Publishing failed |
Last updated on