MasterOSドキュメント
ドキュメント

APIリファレンス

MasterOS APIが公開する実際のRESTエンドポイント。/v1プレフィックスの下でリソースごとに整理されています。

これらは今日時点での実際のエンドポイントです

このリファレンスは、現在実装されているとおりのAPIを文書化しています。これは手書きであり、API自身の実際のOpenAPI仕様から生成されたものではありません(その仕様が実際にどこにあるかはVersioningを参照)——両者の間に乖離がないかChangelogを注視してください。

すべてのエンドポイントは、APIのベースURLからの相対パスで、/v1プレフィックスの下にあります(Versioningを参照)。認証が必要なすべてのエンドポイントは、POST /v1/auth/verify-login-codeによって設定されるhttpOnlyセッションクッキーを使用します——現在、別個のAPIキー認証はありません(Authenticationを参照)。

auth

MethodPathAuth備考
POST/v1/auth/request-login-code—{ email }. 6桁のコードをメールで送信し、初回利用時にアカウントを作成します。常に同じメッセージを返します。IPとメールアドレスそれぞれ独立してレート制限されます。
POST/v1/auth/verify-login-code—{ email, code }. セッションクッキーを設定します。IPとメールアドレスそれぞれ独立してレート制限されます。
POST/v1/auth/logoutsessionセッションクッキーをクリアします。
GET/v1/auth/mesession現在のユーザーを返します。
GET/v1/auth/google—Google OAuthにリダイレクトします。
GET/v1/auth/google/callback—OAuthコールバック。成功するとアプリ内にリダイレクトします。
GET/v1/auth/facebook—Facebook OAuthにリダイレクトします。
GET/v1/auth/facebook/callback—OAuthコールバック。成功するとアプリ内にリダイレクトします。
POST/v1/auth/forgot-password—{ email }。そのメールアドレスが登録済みかどうかにかかわらず、常に同じメッセージを返します。
POST/v1/auth/reset-password—{ token, password }。トークンは1回限り使用可能で、期限があります。

chat

MethodPathAuth備考
POST/v1/chatsession{ model, messages, conversationId?, idempotencyKey }。プレーンテキストのレスポンスボディをストリーミングします。レスポンスのx-conversation-idヘッダーが会話IDを運びます。idempotencyKeyは必須です——同じキーで再試行されたリクエストが、二重に課金されたりプロバイダーを再度呼び出したりすることは決してありません。

skills

MethodPathAuth備考
POST/v1/skillssession{ name, instruction, input_schema?, output_schema? }。あなたのアカウントに非公開のSkillを作成します。
GET/v1/skillssession自分自身のSkillを一覧表示します。
GET/v1/skills/templatessession自分のSkillに複製できる初期テンプレートを一覧表示します。
POST/v1/skills/templates/:id/duplicatesessionテンプレートを自分の新しいSkillにコピーします。
POST/v1/skills/importsession{ name, instruction, input_schema?, output_schema?, version? } — GET /v1/skills/:id/exportが生成するのと全く同じ形式で、export → importが往復可能です。それ以外のフィールド(id、owner_id、organization_id、allowed_tools)は即座に拒否されます。インポートされたSkillがファイルからツールバインディングを引き継ぐことは決してありません。
GET/v1/skills/:idsession自分が所有するSkillと、そのすべてのバージョン。
GET/v1/skills/:id/exportsessionインポートエンドポイントの入力と一致する、ポータブルな{ name, instruction, input_schema, output_schema, version }形式。
POST/v1/skills/:id/versionssession{ instruction, input_schema?, output_schema? }。新しい不変バージョンを公開します。
POST/v1/skills/:id/runsession{ model, input, conversationId?, idempotencyKey }。POST /v1/chatと同じチャットパイプラインに再度入ります。inputは単一のユーザーメッセージの代わりとなります——同じidempotency/quota/ledgerの動作です。

conversations

MethodPathAuth備考
GET/v1/conversationssession自分自身の会話を一覧表示します。
GET/v1/conversations/:idsessionメッセージを含む単一の会話。所有していない会話に対しては404を返します。

files

MethodPathAuth備考
GET/v1/filessession自分がアップロードしたファイルを一覧表示します。
POST/v1/filessessionマルチパートアップロード、フィールド名file。プレーンテキスト、Markdown、PDF、.docxを最大20MBまで受け付けます。
DELETE/v1/files/:idsession所有しているファイル(ストレージオブジェクト+レコード)を削除します。

plans

MethodPathAuth備考
GET/v1/plans—(公開)価格と許可されたモデルを含むプランを一覧表示します——サインイン前でも価格が見えるよう意図的に公開されています。

billing

MethodPathAuth備考
POST/v1/billing/checkoutsession{ planId, provider: "sepay" | "paddle" }。課金される金額は常にサーバー側のプラン検索から取得され、クライアントから取得されることはありません。FreeおよびEnterpriseプランはこの方法でチェックアウトできません。
GET/v1/billing/quotasession現在の1日のquota上限と残高。

稼働中のAPIには、ここでは顧客向けの機能として文書化されていない2つのリソースがさらに存在します: /v1/webhooks/*(受信専用で、SePay/Paddleによって呼び出されます——あなたが呼び出すものではありません)と/v1/admin/*(内部用、管理者専用)。

APIリファレンス — MasterOS ドキュメント