Create many posts at once
create_postsUp to 25 posts of one workspace in one call: a week or a month of content, or one piece per account at each account's best time (get_best_times next_times). Each item in posts is exactly a create_post body without workspace_id (channel_ids/group_ids, caption, media_ids, schedule_at, per_channel, fit_shape, confirmation_token…), and goes through create_post one by one, in order, with all its checks, caps and confirmations. One item's failure doesn't stop the others: results has one entry per item, in order, with ok and either the post or the error (code, message, details). An item that needs confirmation comes back with error.code needs_confirmation and its confirmation_token in error.details: show the plan to the human, then send only those items again with confirmation_token. validate_only: true runs validate_post on every item instead and saves nothing (each result is a validate_post answer with draft_id and confirmation_token). Retrying: give each item an idempotency_key, or one idempotency_key for the call (item i then uses ":"), and a retry replays the items that went through and retries the rest.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"workspace_id": "<workspace_id>",
"posts": "<posts>"
},
"name": "create_posts"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| posts | Yes | create_post bodies without workspace_id, in order | |
| workspace_id | Yes | Workspace id from list_workspaces | |
| validate_only | No | true: validate every item (validate_post) and save nothing | |
| idempotency_key | No | Any unique string you choose (REST: the Idempotency-Key header works too). Retrying with the same key and body returns the first result instead of creating a second one. Kept 24 hours. |