Documentation Index
Fetch the complete documentation index at: https://docs.postonce.to/llms.txt
Use this file to discover all available pages before exploring further.
These are the core objects you will work with most often when using the PostOnce Public API.
Account
Represents a connected social account owned by the API key profile.
{
"id": "86d8fe99-0332-433b-a6e4-502c788490be",
"platform": "facebook",
"username": "PostOnce",
"avatar_url": "https://example.com/avatar.jpg",
"status": "active",
"created_at": "2025-11-04T22:25:00.082736+00:00",
"updated_at": "2025-11-05T04:24:25.939628+00:00"
}
id is the stable identifier you reuse when creating posts and workflows.
Represents uploaded or referenced media attached to a post.
{
"url": "https://example.com/image.png",
"type": "image",
"width": 1200,
"height": 630,
"size": 148320
}
Upload endpoints return a media_id for storage lookups. Post creation currently accepts URL-based media objects.
Post
A Post is the main aggregate resource in the API. One public post can target multiple connected accounts.
{
"id": "1b2d6f18-8fd4-49df-a1b4-8c1f3aa9e8f5",
"content": "Shipping the public API today.",
"external_id": "launch-001",
"origin": "public_api",
"status": "scheduled",
"publish_at": "2026-04-01T14:00:00.000Z",
"created_at": "2026-03-30T15:15:48.28116+00:00",
"media": [
{
"url": "https://example.com/image.png",
"type": "image",
"width": 1200,
"height": 630,
"size": 148320
}
],
"targets": [
{
"account_id": "account-1",
"platform": "facebook",
"username": "PostOnce",
"status": "scheduled",
"target_post_id": "target-row-1",
"platform_post_id": null,
"platform_post_url": null,
"error": null,
"scheduled_time": "2026-04-01T14:00:00.000Z"
}
]
}
Post status
Aggregate post status is derived from the per-target rows:
queued
scheduled
processing
published
partial
failed
cancelled
Workflow
A Workflow maps one source account to one or more target accounts.
{
"id": "9b32984d-8c8c-4f5c-8568-5d6a3a5c0ecb",
"profile_id": "d8bd4cfb-a766-40ab-a749-e06fff57178f",
"source_account_id": "86d8fe99-0332-433b-a6e4-502c788490be",
"target_account_ids": [
"69a22f08-d66b-4c18-bb9d-054659333788"
],
"name": "Workflow A to B",
"description": null,
"is_active": true,
"future_content_enabled": true,
"settings": {
"content_filters": {
"types": {
"text": true,
"image": true,
"quote": false,
"video": true
},
"hashtags": {
"exclude": [],
"include": []
}
}
},
"last_checked": null,
"last_enabled_at": "2026-03-30T15:15:48.164+00:00",
"created_at": "2026-03-30T15:15:48.28116+00:00",
"updated_at": "2026-03-30T15:15:48.28116+00:00"
}
derived_status is a workflow-specific status, not the same as aggregate post status.