Posts
List, edit, and cancel scheduled posts via the MisarSocial Posts API.
List Posts
GET /api/postsReturns a paginated list of posts for the authenticated user.
Query Parameters
statusstringFilter by status. One of: pending, queued, publishing, published, failed, rejected, cancelled. Omit to return all non-archived posts.
pagenumberdefault: 1Page number (1-indexed). Page size is fixed at 20.
Response
{
"posts": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"platform": "twitter",
"content_text": "Just launched our new API...",
"status": "queued",
"scheduled_at": "2026-05-22T10:00:00+00:00",
"published_at": null,
"source": "manual",
"platform_post_url": null,
"media_urls": [],
"created_at": "2026-05-21T08:00:00+00:00",
"error_message": null,
"connected_accounts": {
"display_name": "@yourhandle",
"avatar_url": "https://..."
}
}
],
"total": 42,
"page": 1,
"pageSize": 20,
"totalPages": 3
}postsarrayArray of post objects.
totalnumberTotal number of posts matching the filter.
totalPagesnumberTotal pages available.
Delete / Cancel Post
DELETE /api/postsCancels a pending or queued post. Posts with status publishing, published, or failed cannot be cancelled.
Body
postIdstringrequiredUUID of the post to cancel.
Response
{ "ok": true }Edit Post
PATCH /api/posts/:idEdits the content, schedule time, or first comment of a post in pending, queued, or draft status.
Path Parameters
idstringrequiredUUID of the post to edit.
Body
contentTextstringNew post content. Min 1 character.
scheduledAtstringNew ISO 8601 datetime with timezone offset (e.g., 2026-05-22T14:30:00+05:30).
firstCommentstring | nullFirst comment to post immediately after publishing. Pass null to remove.
At least one field must be provided.
Response
{
"post": {
"id": "550e8400-...",
"content_text": "Updated post content",
"scheduled_at": "2026-05-22T14:30:00+00:00",
"status": "queued"
}
}Cancel Post by ID
DELETE /api/posts/:idCancels a single post by ID. Only pending and queued posts can be cancelled.
Path Parameters
idstringrequiredUUID of the post to cancel.
Response
{ "ok": true }Error Responses
| Status | Error |
|---|---|
400 | Post cannot be cancelled (wrong status) |
404 | Post not found |
429 | Rate limit exceeded (20 write requests/minute) |