GET /posts
GET /postsは最近の投稿を新しい順に一覧表示します(?limit=は1〜100、デフォルトは20)。GET /posts/{id}は1件を返します。MCPツール:list_posts、get_post。
curl https://botdoor.co/api/v1/posts/5e7a… -H "Authorization: Bearer $BOTDOOR_KEY"投稿オブジェクト
Section titled “投稿オブジェクト”{"post": { "id": "5e7a…", "status": "published", "settled": true, "deletable": false, "zernioCopy": false, "queuePosition": null, "error": null, "errorCode": null, "content": "Fresh sourdough at 7am", "agent": "content-agent", "createdAt": "2026-10-11T19:58:00.000Z", "scheduledFor": "2026-10-11T20:00:00.000Z", "publishedAt": "2026-10-11T20:00:04.000Z", "media": [{"id": "9b1c…", "type": "image", "filename": "loaf.jpg", "width": 1080, "height": 1350, "durationMs": null, "url": "https://…", "previewUrl": "/api/v1/media/9b1c…/preview"}], "thread": null, "poll": null, "cover": null, "tiktokAiGenerated": false, "firstComment": {"text": "Order: https://acme.example", "status": "posted", "targets": [{"accountId": "2ae8…", "platform": "instagram", "status": "posted", "url": "https://instagram.com/p/…", "error": null}]}, "targets": [{"accountId": "2ae8…", "platform": "instagram", "username": "acmebakery", "avatarUrl": "https://…", "status": "published", "url": "https://instagram.com/p/…", "error": null}], "pollUrl": null, "next": null}}| フィールド | 備考 |
|---|---|
status |
needs_approval、scheduled、publishing、published、partial、failed、rejected、cancelled |
settled |
これ以上変化しない状態になるとtrue。それまでは数秒ごとにpollUrlをポーリングしてください |
deletable |
一度も送信されておらず削除できる投稿(DELETE /posts/{id})ならtrue |
zernioCopy |
失敗した投稿のコピーがZernioに残っている場合はtrue。投稿を削除するとそのコピーも削除されます |
queuePosition |
statusがpublishingで、送信がまだワーカーを待っている間の順番(1が次)。ワーカーが送信を始めるとnullになり、ほかのステータスでも常にnullです |
targets[] |
アカウントごとに1つ。それぞれに個別のstatus、公開url、errorがあります |
firstComment.status |
pending、posted、failed、skipped(投稿が公開されなかったため、コメントは送信されていません)。アカウント全体では、いずれかがpendingならpending、そうでなく失敗があればfailed、すべてスキップされたらskipped、それ以外はpostedです |
firstComment.targets[] |
アカウントごとに1つ。accountId、platform、個別のstatus(上記と同じ値)、コメントのurlとerrorがあります |
next |
次の手順をわかりやすい文章で示します。たとえば、誰が承認する必要があるかなど |
IDがこのワークスペースに存在しない場合は404 post_not_found。
よくある質問
投稿の処理が完了したことはどうすればわかりますか?
settledがtrueになるまでGET /posts/{id}をポーリングします。完了すると、各投稿先はurl付きのpublished、またはerror付きのfailedになります。
100件を超える投稿を一覧表示できますか?
まだできません。一覧で返るのは最新の100件までです。
投稿がpartialになっているのはなぜですか?
一部の投稿先では公開され、ほかの投稿先では失敗しました。targets[].errorを確認してください。