コンテンツにスキップ

REST APIの概要

Botdoor REST APIは、HTTPS上でJSONをやり取りします。ベースURLはhttps://botdoor.co/api/v1です。

APIキーをBearerトークンとして送信します。

ターミナルウィンドウ
curl https://botdoor.co/api/v1/accounts -H "Authorization: Bearer $BOTDOOR_KEY"

キーはbd_で始まり、表示されるのは一度だけです。アプリのAPIキーで作成するか、サインアップで取得します。キーがない、または誤っている場合は、WWW-Authenticate: Bearerとともに401 unauthorizedが返ります。同じエンドポイントはログイン済みのブラウザセッションも受け付けます。Webアプリはこの方法でAPIを呼び出しています。承認と一括承認・一括却下にはこのセッションが必要で、キーで呼び出すと403 approval_requires_humanが返ります。キーが却下、再試行、キャンセル、日時の変更をできるのは、そのキー自身が作成した投稿だけです(それ以外は403 reject_not_own_post、retry_not_own_post、cancel_not_own_post、reschedule_not_own_post)。人間や別のキー、取り消されたキーが作成した投稿は、ログイン済みの人間が操作します。

メソッド パス 内容
POST /signup オーナーのためにFreeワークスペースを作成(認証不要)
POST /claim-link 新しい受け取りリンクをメールで送信(未受け取りのワークスペース)
GET /accounts 連携済みのSNSアカウントを一覧表示
GET /connect/{platform} アカウントを連携するためのブラウザ用URLを取得
POST /media 画像または動画をアップロード
GET /media/{id}/preview アップロードの小さなJPEGプレビュー
POST /posts 投稿の作成、予約、ドライラン
GET /posts 最近の投稿を一覧表示
GET /posts/{id} 1件の投稿とアカウントごとのステータスを取得
POST /posts/{id}/approve 承認待ちの投稿を承認(人間のみ)
POST /posts/{id}/reject 承認待ちの投稿を却下(キーまたは人間)
POST /posts/{id}/cancel 公開前にキャンセル
POST /posts/{id}/reschedule 予約日時を変更
POST /posts/{id}/first-comment/retry 失敗した最初のコメントを再試行

https://botdoor.co/api/mcpのMCPサーバーでは、同じ操作をツールとして利用できます。

エラーはすべて同じ形式です。codeで分岐してください。codeは変わりません。hintは次に何をすべきかを示します。retryableは、同じリクエストが後で成功しうるかどうかを示します。

{"error": {"code": "post_not_found", "message": "No post with this id in this workspace.", "hint": "List posts with GET /api/v1/posts.", "retryable": false}}

必要に応じてdetailsが追加されます。たとえば、検証エラーでは{"fields": ["scheduledFor"]}、レート制限では{"retryAfterSeconds": 3600}です。一覧はエラーをご覧ください。

POST /postsにはIdempotency-Keyヘッダーを付けて送信してください。同じキーと同じボディで再試行すると、二重に投稿されることはなく、元の投稿が返ります(200、replayed: true)。同じキーで異なるボディを送ると422 idempotency_key_reusedが返ります。

日時はISO 8601形式です。入力にはタイムゾーンのオフセットが必要です。たとえば2026-10-12T15:00:00-04:00や...Zのように指定します。出力はZ付きのUTCです。

よくある質問

SDKはありますか?
まだありません。APIはHTTPS上のシンプルなJSONです。エージェントは代わりにMCPサーバーを使うこともできます。
1つのキーで複数のワークスペースを使えますか?
いいえ。キーは1つのワークスペースに属します。ワークスペースごとにキーを作成してください。
APIにレート制限はありますか?
サインアップ、受け取りリンク、ログインにはレート制限があります(Retry-Afterを伴う429 rate_limited)。Freeワークスペースの投稿は月30件までです(403 post_limit_reached)。
OpenAPI仕様はどこにありますか?
OpenAPIファイルはまだありません。このリファレンスはサーバーのルートと照合して確認しています。また、/llms-full.txtでリファレンス全体を1つのテキストファイルとして取得できます。