ドキュメント · リファレンス
MCP サーバー
AI ツールにプラットフォームを直接操作させます。494 個のツールは MCP サーバー(mcp.ts)からそのまま読み取られ、このページになります。 この一覧はサーバーのコードから生成されます。新しい機能ができると、すぐにここにも表示されます。
接続する
MCP アドレス
https://end.blackall.ai/mcp?lang=ja1 つのアドレスに JSON-RPC を POST でやり取りします。?lang=ja、?lang=en、?lang=ko でツールの説明とエラーの言語を選びます。指定がなければ Accept-Language に従い、それもなければ英語です。
アドレスのオプション
アドレスの後ろに付けて、この接続で見られること・できることを絞ります。サーバーが直接守るため、一覧から外れたツールは名前で呼んでも拒否されます。ツールが少ないほど AI が迷わず、1 つのプロジェクトを読むだけにしておけば、間違えても失うものがありません。いま何が有効かは whoami でわかります。
| オプション | 説明 |
|---|---|
project_ref | 接続を 1 つのプロジェクトに固定します。ツールの ref を省略するとこのプロジェクトを使い、ほかの ref は拒否します。list_projects はこのプロジェクトだけを表示し、ほかのプロジェクトや組織全体に及ぶツール(新しいプロジェクト、チーム、通知チャンネル、監査ログ、請求)は外れます。 |
read_only | true にすると、何も変更しないツールだけが表示され、接続全体が読み取りトークンのように動きます。変更するツールは名前で呼んでも拒否されます。 |
features | カンマで区切ったツールのグループだけを表示します。whoami と list_projects は常にあります。存在しないグループは、使えるグループを示して拒否します。 |
lang | ja、en、ko。ツールの説明、案内、エラーの言語です。 |
https://end.blackall.ai/mcp?lang=ja&project_ref=<ref>&read_only=true&features=database,deploy
Claude や ChatGPT のコネクターには、オプションを付けたアドレスをそのまま入れます。同意画面でも 1 つのプロジェクトを選んで書き込みを外せ、その選択は接続に保存されます。
ツールのグループ
| グループ | ツール数 | 名前 |
|---|---|---|
account | 106 | whoami list_projects list_regions list_server_sizes request_region create_project rename_project list_transfer_targets transfer_project pause_project resume_project delete_project retry_provisioning get_project_archive restore_project_archive create_archive_download_url get_project_keys list_api_keys create_api_key revoke_api_key list_team invite_member cancel_invitation set_member_role remove_member set_mfa_required list_channels create_channel test_channel set_channel_enabled remove_channel get_audit_log import_sources start_import get_import list_shared_env_vars create_shared_env_var update_shared_env_var remove_shared_env_var list_access_groups create_access_group update_access_group remove_access_group get_member_access set_member_access list_audit_drains create_audit_drain set_audit_drain_enabled test_audit_drain remove_audit_drain list_org_webhooks create_org_webhook set_org_webhook_enabled test_org_webhook list_org_webhook_deliveries retry_org_webhook_delivery remove_org_webhook get_committer_settings set_committer_policy trust_committer remove_trusted_committer answer_preview_approval get_org_sso set_org_sso remove_org_sso add_org_sso_domain verify_org_sso_domain remove_org_sso_domain get_org_policies set_org_policies set_preview_suffix verify_preview_suffix remove_preview_suffix list_platform_settings set_platform_setting clear_platform_setting list_platform_servers get_platform_cpu_history request_platform_server_change get_platform_server_request cancel_platform_server_request list_github_variables set_github_variable delete_github_variable list_platform_operators add_platform_operator remove_platform_operator list_platform_runs cancel_platform_run rerun_platform_run list_platform_checks set_merge_when_green get_ci_machines restart_ci_machine renew_ci_registration set_up_build_cache_bucket get_platform_overview find_customer list_parking_hosts list_project_placements get_platform_server_pricing set_platform_server_pricing set_platform_server_size start_support_session end_support_session list_support_sessions |
database | 59 | list_tables list_policies query_sql run_sql read_rows export_table_csv import_table_csv get_database_connection reset_database_password list_backups create_backup restore_backup list_db_webhooks create_db_webhook set_db_webhook_enabled list_db_webhook_deliveries remove_db_webhook list_schemas set_exposed_schemas get_data_api_settings set_data_api_settings get_database_settings set_database_settings list_extensions enable_extension disable_extension list_vault_secrets create_vault_secret copy_vault_secrets_from_project set_vault_project_keys update_vault_secret delete_vault_secret get_network_restrictions update_network_restrictions list_migrations apply_migrations remove_migration_record dump_schema generate_typescript_types get_database_move move_to_dedicated_database get_dedicated_disk request_dedicated_disk shrink_dedicated_disk get_server request_server resize_server set_standby move_server release_server set_restore_days list_mysql_databases create_mysql_database bind_mysql_database delete_mysql_database get_mysql_connection create_mysql_backup list_mysql_backups restore_mysql_backup |
auth | 57 | list_users add_user import_users update_user generate_link remove_user list_auth_providers set_auth_provider set_auth_provider_enabled remove_auth_provider get_smtp_settings set_smtp_settings test_smtp_settings remove_smtp_settings get_email_templates set_email_template preview_email_template remove_email_template get_sms_settings set_sms_settings remove_sms_settings list_sso_providers add_sso_provider update_sso_provider remove_sso_provider get_auth_config update_auth_config list_custom_providers create_custom_provider update_custom_provider set_custom_provider_enabled remove_custom_provider list_third_party_auth add_third_party_auth remove_third_party_auth list_redirect_urls add_redirect_url remove_redirect_url set_anonymous_sign_in copy_auth_from_import copy_auth_from_project copy_users_from_project copy_schema_from_project copy_data_from_project get_jwt_signing set_jwt_signing rotate_signing_key retire_signing_key get_passkey_settings set_passkey_settings list_user_factors remove_user_factors remove_user_passkey list_oauth_apps create_oauth_app reset_oauth_app_secret remove_oauth_app |
storage | 41 | list_s3_keys create_s3_key revoke_s3_key list_buckets create_bucket update_bucket empty_bucket delete_bucket list_objects upload_object download_object delete_object create_upload_url create_signed_url copy_storage_from_import copy_storage_from_project list_kv_keys get_kv set_kv delete_kv get_edge_config set_edge_config get_edge_config_history list_edge_config_tokens create_edge_config_token connect_edge_config_token disconnect_edge_config_token revoke_edge_config_token get_storage_settings set_storage_settings set_s3_enabled set_bucket_versioning list_object_versions restore_object_version remove_object_version list_bucket_connections connect_bucket disconnect_bucket list_storage_policies create_storage_policy remove_storage_policy |
functions | 25 | list_functions get_function deploy_function set_function_public set_function_limits remove_function list_function_secrets set_function_secrets copy_function_secrets copy_functions_from_project get_project_forward set_project_forward get_project_write_lock set_project_write_lock compare_projects_data delete_function_secret set_function_egress list_jobs save_job copy_jobs_from_project set_job_enabled run_job list_job_runs remove_job set_job_retention |
deploy | 106 | list_deployments get_deployment redeploy promote_deployment rollback_deployment deploy_commit deploy_files deploy_source create_source_upload_url list_deploy_hooks create_deploy_hook remove_deploy_hook list_apps update_app delete_app get_preview_protection set_preview_protection get_branch_previews set_branch_previews list_env_vars set_env_vars remove_env_var list_git_access set_repo_token remove_repo_token add_repository list_importable_repositories import_repository disconnect_repository set_checks_on_server link_github_app unlink_github_app get_server_memory set_server_memory get_concurrent_builds set_concurrent_builds get_rolling_releases set_rolling_releases advance_rolling_release promote_rolling_release abort_rolling_release get_middleware set_middleware list_flags evaluate_flag set_flag_enabled get_remote_cache clear_remote_cache list_volumes create_volume resize_volume delete_volume create_volume_backup restore_volume_backup get_deployment_retention set_deployment_retention list_deleted_deployments delete_deployment restore_deployment set_protection_scope create_bypass_secret revoke_bypass_secret create_share_link revoke_share_link list_environments create_environment update_environment remove_environment set_domain_environment get_flag create_flag update_flag set_flag_environment add_flag_rule move_flag_rule remove_flag_rule set_flag_archived list_flag_segments create_flag_segment update_flag_segment remove_flag_segment list_flag_sdk_keys create_flag_sdk_key revoke_flag_sdk_key list_project_webhooks create_project_webhook set_project_webhook_enabled test_project_webhook list_project_webhook_deliveries retry_project_webhook_delivery remove_project_webhook list_remote_cache_tokens create_remote_cache_token revoke_remote_cache_token get_build_settings set_build_dev_settings set_ignored_build_step set_production_first set_git_checks set_expose_system_env set_directory_listing get_deployment_security set_deployment_security get_routing_rules save_routing_rules activate_routing_rules |
domains | 28 | list_domains add_domain remove_domain set_domain_redirect move_domain get_edge set_edge purge_edge_cache get_network set_static_outbound_ip upload_certificate remove_certificate get_firewall save_firewall_rule move_firewall_rule set_firewall_rule_enabled remove_firewall_rule set_firewall_managed publish_firewall reset_firewall_draft restore_firewall_version set_attack_mode get_bulk_redirects upload_bulk_redirects activate_bulk_redirects get_skew_protection set_skew_protection purge_edge_cache_item |
branching | 6 | list_branches create_branch merge_branch reset_branch delete_branch set_branching |
logs | 21 | get_logs get_advisors list_log_drains create_log_drain set_log_drain_enabled remove_log_drain get_metrics get_analytics get_speed_insights set_insights get_analytics_breakdown set_analytics_previews export_analytics list_analytics_reports get_analytics_report save_analytics_report remove_analytics_report list_alert_rules create_alert_rule set_alert_rule_enabled remove_alert_rule |
billing | 6 | usage get_billing get_plan get_spend_controls set_spend_cap set_spend_limit |
ai | 15 | get_ai_gateway set_ai_gateway add_ai_provider set_ai_provider_enabled remove_ai_provider get_ai_gateway_logs set_ai_budgets list_ai_gateway_keys create_ai_gateway_key set_ai_gateway_key_budgets set_ai_gateway_key_limits set_ai_model_aliases set_ai_gateway_hooks revoke_ai_gateway_key get_ai_spend |
realtime | 7 | list_realtime_tables set_realtime get_realtime_settings set_realtime_settings list_realtime_policies create_realtime_messages_table add_realtime_policy |
queues | 8 | list_queues create_queue delete_queue purge_queue send_queue_message peek_queue set_queues_api get_queue_metrics |
gpu | 9 | list_gpu create_gpu_job get_gpu_job cancel_gpu_job create_gpu_server stop_gpu_server delete_gpu_server create_gpu_volume delete_gpu_volume |
Claude と ChatGPT
claude.ai、Claude Desktop、ChatGPT では、カスタムコネクターに MCP アドレスを入れます。ログイン画面が開き、許可するとすぐに接続されます。トークンは不要です。同意画面で書き込み権限を外すと、読み取り専用の接続になります。
Claude Code
次のコマンドで追加すると、初回の利用時にブラウザーが開いてログインします。
claude mcp add --transport http oneend "https://end.blackall.ai/mcp?lang=ja"
トークンで接続する
ブラウザーを開けない場所(CI、サーバー)では、アカウント、API と MCP トークンで作成した bwk_… トークンをヘッダーで渡します。ほかの MCP クライアントも同じ形の設定を受け付けます。
claude mcp add --transport http oneend "https://end.blackall.ai/mcp?lang=ja" \
--header "Authorization: Bearer bwk_…"
{
"mcpServers": {
"oneend": {
"type": "http",
"url": "https://end.blackall.ai/mcp?lang=ja",
"headers": {
"Authorization": "Bearer bwk_…"
}
}
}
}
OAuth(ADR 0016)
コンソールが認可サーバーです。トークンなしで initialize や tools/call を送ると 401 と WWW-Authenticate ヘッダーが返り、クライアントはそれをたどって下のアドレスを見つけます。動的クライアント登録(RFC 7591)とクライアントメタデータドキュメントの両方を受け付け、すべての認可に PKCE S256 が必要です。アクセストークンの有効期間は 1 時間で、リフレッシュトークンは 1 回だけ使えます。
| アドレス | 用途 |
|---|---|
https://end.blackall.ai/.well-known/oauth-protected-resource | 保護されたリソースのメタデータ |
https://end.blackall.ai/.well-known/oauth-authorization-server | 認可サーバーのメタデータ |
https://end.blackall.ai/oauth/register | クライアント登録(RFC 7591) |
https://end.blackall.ai/oauth/authorize | ログインと同意画面 |
https://end.blackall.ai/oauth/token | コードやリフレッシュトークンをアクセストークンに交換 |
https://end.blackall.ai/oauth/revoke | トークンの無効化 |
プロトコル
MCP 2025-06-18、状態を持たない HTTP です。1 つのリクエストに 1 つのレスポンスで、ストリームはありません(GET は 405)。tools/list、resources/*、prompts/* はトークンなしで読めます。initialize と tools/call にはトークンが必要です。ツールの失敗はプロトコルエラーではなく、isError: true の結果として返ります。
対応メソッド
tools/callinitializepingtools/listresources/listresources/readprompts/listprompts/get
curl -X POST "https://end.blackall.ai/mcp?lang=ja" \
-H "content-type: application/json" \
-H "Authorization: Bearer bwk_…" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_projects","arguments":{}}}'
ドキュメントと手順
サーバーはこのサイトのドキュメントを MCP リソースとして、手順ガイドをプロンプトとして提供します。
| リソース | 名前 | 説明 |
|---|---|---|
blackwall://start | 最初から最後まで | ツールを使う順序。何から呼び出せばよいかわからないときは、まずこれを読んでください。 |
blackwall://switch | Supabase・Vercel からの移行 | Supabase や Vercel で作ったアプリを移す順番: データベース、supabase-js、サインイン、関数、デプロイ。そのまま動くものと確認すること。 |
blackwall://access-rules | アクセスルール | 新しいテーブルがなぜ空に見えるのか。このプラットフォームで最もよく間違えるところなので、最初に読んでください。 |
blackwall://keys | 3種類のキー | 公開キー、シークレットキー、アクセストークンの用途と、どれをブラウザに置いてはいけないか。 |
blackwall://data-api | データの読み書き | クエリ構文、演算子、韓国語の部分一致検索。 |
blackwall://extensions | データベースの拡張機能 | pgvector(埋め込み検索)や PostGIS(地図)などの拡張機能を有効・無効にする方法、有効にできる一覧、共有データベースでの動作。 |
blackwall://branches | データベースブランチ | gitブランチごとのプレビュー用データベース: 作成、プレビューデプロイへの接続、マージ、初期化、削除、料金。 |
blackwall://database-features | キュー・Vault・GraphQL・接続制限 | pgmqと同じキュー、データベース内の暗号化されたシークレット(Vault)、/graphql/v1、直接接続のアドレス制限とTLS。 |
blackwall://auth | ログインを追加する | メールアドレスとパスワード、ソーシャルログイン。トークンがどこに返ってくるか。 |
blackwall://realtime | リアルタイム購読 | テーブルごとに有効にする必要があること、そしてアクセスルールがリアルタイムにも適用されること。 |
blackwall://storage | ファイル | バケットとアップロード、公開と非公開の違い、S3 での利用、Supabase からの移行、再開可能なアップロード(TUS)。 |
blackwall://env | 環境変数 | デプロイしたアプリに API キーなどの値を渡す方法、いつ反映されるか、使えない名前。 |
blackwall://logs | ログ | アプリがエラーを出したときに何が起きたかを見る方法と、ソースごとに何が記録されるか。 |
blackwall://deploy | デプロイ | リポジトリの接続、本番ブランチ、モノレポでのビルドフォルダー。 |
blackwall://functions | 関数、定期ジョブ、データベース Webhook | 関数のコードの形、できることとできないこと(外部リクエストは有効にすれば可能)、呼び出し方、cron のスケジュール(UTC)、テーブルの変更を外部に知らせる Webhook。 |
blackwall://domains | ドメインとエッジ | ドメインの接続、確認、リダイレクト、API 用のドメイン、ファイアウォールとリクエスト上限、エッジキャッシュ。 |
blackwall://edge | エッジ: 分析、エッジ設定、KV、AI ゲートウェイ、段階的リリース、ミドルウェア | サイトの前で動くもの: 個人情報なしのウェブ分析と速度測定、デプロイせずに変える値と機能フラグ、キー・バリューストア、OpenAI 互換の AI ゲートウェイ、新しいデプロイを一部の訪問者に先に届けること、middleware.ts。 |
blackwall://previews | プレビューの保護 | プレビューアドレスを誰が開けるか、自動化で通過する方法。 |
blackwall://limits | 上限と料金 | 無料プランは 1 人の GitHub サイト 1 つだけで上限を超えると拒否し、有料プランは請求するということ。 |
blackwall://organisation | 組織: チーム、通知、請求、監査ログ | メンバーの招待とロール、通知チャンネル、請求書、監査ログ、そして同じことを HTTP(/api/v1)で行うパス。 |
blackwall://migrations | マイグレーションと型 | スキーマの変更をバージョン付きの SQL として適用・記録する方法、スキーマを SQL でダウンロードする方法、supabase-js 用の TypeScript 型の作り方。 |
blackwall://cli | コマンドラインツール(oneend) | ターミナルと CI で使う oneend コマンド: ログイン、プロジェクトの接続、環境変数、デプロイ、関数、マイグレーション、型。 |
| プロンプト | 名前 | 説明 |
|---|---|---|
new-table | テーブルを作って実際に見えるようにする | テーブルを作り、アクセスルールまで設定して、公開キーで読めることを確認します。 |
add-login | ログインを追加する | メールアドレスでのログインを追加し、ユーザーごとに自分のデータだけが見えるようにします。 |
add-social-login | ソーシャルログインを追加する | Google や Kakao などのアカウントでログインできるようにします。コールバックアドレスと戻り先アドレスを一緒に設定します。 |
add-uploads | ファイルのアップロードを追加する | バケットを作り、アップロードとダウンロードを追加します。 |
cli | コマンドラインツールでスキーマとデプロイを扱う | oneend CLI でログインしてフォルダーをプロジェクトに接続し、マイグレーション、型、デプロイを扱います。 |
check-costs | 今月いくらかかるかを見る | 使用量を読み、無料の上限に近いものがないかを確認します。 |
ツール
アノテーションは、クライアントが実行前に確認するかどうかを決めるのに使われます。読み取り専用でないツールは、追加するだけのいくつかを除き、すべて破壊的(destructive)と表示されます。コンソールの AI アシスタントも同じ基準で実行前に確認します。
アカウントとリージョン
| 名前 | 説明 |
|---|---|
whoami | 自分のアカウント |
list_regions | リージョン |
list_server_sizes | サーバーサイズと料金 |
request_region | リージョンのリクエスト |
import_sources | 取り込み元 |
start_import | 取り込みを開始 |
get_import | 取り込みの進行状況 |
whoami 自分のアカウント
読み取り専用
このトークンが誰のもので、何ができるかを返します。operator は運営者ツールを使えるか(active)と、使えないときのこのアカウントの理由(refused: not_listed、token_bound、no_second_factor)です。どこから始めればよいかわからないときは、最初に呼び出してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /me |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}list_regions リージョン
読み取り専用
リージョンの一覧を返します。今プロジェクトを作成できるのは、can_createがtrueのリージョンだけです。falseのリージョンは準備中のため一覧には表示されますが、まだ選べません。リージョンはプロジェクト作成時に一度だけ選び、後から変更できないため、create_projectの前に確認してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /regions |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}list_server_sizes サーバーサイズと料金
読み取り専用
サーバーサイズ(メモリ)ごとのGoogle マシン、CPU、リージョン別の月額(monthly_minor)です。通貨を空にすると組織の決済通貨です。KRWはウォン(付加価値税込み)、USDはセント(決済時に税金を追加)です。included_inがproのサイズはProプランに含まれます。region_statusがplannedのリージョンは準備中のため選べません。listedがfalseならまだ販売しておらず、sizesは空です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /server-sizes |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
region | string | いいえ | 1つのリージョンだけを見るときのコード(list_regionsのcode)です。空ならすべてのリージョンです。 |
currency | string, KRW | USD | いいえ | KRWまたはUSDです。空なら組織の決済通貨です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "1つのリージョンだけを見るときのコード(list_regionsのcode)です。空ならすべてのリージョンです。"
},
"currency": {
"type": "string",
"enum": [
"KRW",
"USD"
],
"description": "KRWまたはUSDです。空なら組織の決済通貨です。"
}
},
"additionalProperties": false
}request_region リージョンのリクエスト
追加のみ
まだ開いていないリージョン(can_createがfalseのリージョン)が必要であることを登録します。担当者からご連絡します。時期はお約束できません。すでに開いているリージョンはリクエストするものではありません。create_projectでそのままプロジェクトを作成してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /regions/requests |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
region | string | はい | list_regionsがcan_create=falseで返したコードです。 |
note | string | いいえ | そこで何を動かす予定か、なぜそのリージョンでなければならないかを書いてください。任意ですが、ご連絡する担当者が最初に読む内容です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"region": {
"type": "string",
"description": "list_regionsがcan_create=falseで返したコードです。"
},
"note": {
"type": "string",
"description": "そこで何を動かす予定か、なぜそのリージョンでなければならないかを書いてください。任意ですが、ご連絡する担当者が最初に読む内容です。"
}
},
"required": [
"region"
],
"additionalProperties": false
}import_sources 取り込み元
読み取り専用 外部に届く
コンソールの「他のサーバーから取り込む」と同じです。この組織に接続した取り込み元のアカウント(Supabase、Vercel、PostgreSQL)ごとに、そのプロジェクト一覧とこれまでの取り込みを返します。アカウントの接続はコンソール(connect_url)で行います。トークンをチャットに貼らないためです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /imports/sources |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
org | string | いいえ | 組織の id か名前。空ならこのトークンが届く最初の組織。 |
JSON スキーマ
{
"type": "object",
"properties": {
"org": {
"type": "string",
"description": "組織の id か名前。空ならこのトークンが届く最初の組織。"
}
},
"additionalProperties": false
}start_import 取り込みを開始
追加のみ 外部に届く
コンソールの [取り込みを開始] と同じです。コンソールで分割した取り込み(import)か、import_sources の connection と project から新しい取り込みを(まとまりごとに新しいプロジェクトに分けて)開始します。新しいプロジェクトを作り、元は変えません。Supabase の元は address にセッションプーラーの接続文字列が必要で、今回の実行だけに使って削除します。止まった取り込みをもう一度開始すると、終わった移す先は飛ばし、変わったものだけ移します。オーナー・管理者・開発者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /imports |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
org | string | いいえ | 組織の id か名前。空ならこのトークンが届く最初の組織。 |
import | string | いいえ | 取り込みの id(import_sources の imports、コンソールのアドレスの id)。 |
connection | string | いいえ | 取り込み元のアカウント(import_sources の connection)。import がないとき project と一緒に。 |
project | string | いいえ | 取り込み元のプロジェクト(import_sources の projects[].id)。 |
address | string | いいえ | Supabase の元のセッションプーラー接続文字列(postgres.<ref>、ポート 5432)。他の元では空にします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"org": {
"type": "string",
"description": "組織の id か名前。空ならこのトークンが届く最初の組織。"
},
"import": {
"type": "string",
"description": "取り込みの id(import_sources の imports、コンソールのアドレスの id)。"
},
"connection": {
"type": "string",
"description": "取り込み元のアカウント(import_sources の connection)。import がないとき project と一緒に。"
},
"project": {
"type": "string",
"description": "取り込み元のプロジェクト(import_sources の projects[].id)。"
},
"address": {
"type": "string",
"description": "Supabase の元のセッションプーラー接続文字列(postgres.<ref>、ポート 5432)。他の元では空にします。"
}
},
"additionalProperties": false
}get_import 取り込みの進行状況
読み取り専用 外部に届く
コンソールの取り込みの進行画面と同じです。移す先ごとに段階(スキーマ、ログインユーザー、データ、ファイル、スケジュールジョブ…)の状態と数、移さないものとその理由、確認することを返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /imports/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | はい | 取り込みの id。 |
org | string | いいえ | 組織の id か名前。空ならこのトークンが届く最初の組織。 |
JSON スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "取り込みの id。"
},
"org": {
"type": "string",
"description": "組織の id か名前。空ならこのトークンが届く最初の組織。"
}
},
"required": [
"id"
],
"additionalProperties": false
}プロジェクト
| 名前 | 説明 |
|---|---|
list_projects | プロジェクト |
create_project | プロジェクトの作成 |
pause_project | プロジェクトの一時停止 |
resume_project | プロジェクトの再開 |
delete_project | プロジェクトの削除 |
retry_provisioning | 準備に失敗したプロジェクトの再試行 |
rename_project | 名前の変更 |
get_project_archive | データベースのアーカイブ状態 |
restore_project_archive | アーカイブしたデータベースを復元 |
create_archive_download_url | アーカイブのダウンロード用アドレス |
list_projects プロジェクト
読み取り専用
このアカウントのプロジェクトと、それぞれのAPIアドレスを返します。status は ready(使える)、provisioning(データベースを作成中、数秒)、failed(retry_provisioning)、paused のいずれかです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects, GET /projects/{ref} |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}create_project プロジェクトの作成
追加のみ
データベース、ログイン、ファイルストレージを備えた新しいプロジェクトを作成します。リージョンを空にすると既定のリージョンになります。リージョンはプロジェクト作成後に変更できません。料金はどのリージョンでも同じです。組織が複数あるときは、org でどの組織に作るかを選びます(その組織のオーナー、管理者、開発者だけが、プランのプロジェクト数の範囲で作れます)。データベースは数秒後に使えるようになります。status が provisioning なら wait(秒)を渡すか、list_projects の status が ready になってからテーブルやキーを使ってください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
name | string | はい | 人が読むための名前です。 |
region | string | いいえ | 作成する場所です。使える値はlist_regionsで確認できます。空の場合は既定のリージョンです。 |
org | string | いいえ | 作成する組織の id か名前です(list_projects の organisation_id か organisation)。空なら、プロジェクトを作れる最初の組織です。 |
tier | string | いいえ | このプロジェクト専用サーバーのサイズです。list_server_sizesが返した値(例: 4gb)か、プランの標準サイズを表すdefaultを渡します。プロジェクトができた直後にサーバーを申請します。空なら共用サーバーで始まります。 |
repo | string | いいえ | プロジェクトの作成と同時に接続してデプロイするGitHubリポジトリ(owner/name、list_importable_repositoriesのrepo)です。空ならリポジトリなしで作成します。以下のbranch・root_directory・app・installation・framework・build_command・output_directory・install_command・dotenv・sensitiveはimport_repositoryと同じで、repoがあるときだけ読みます。 |
branch | string | いいえ | repoがあるとき: 本番ブランチです。空ならリポジトリの既定ブランチです。 |
root_directory | string | いいえ | repoがあるとき: モノレポのアプリフォルダ(例: apps/web)です。 |
app | string | いいえ | repoがあるとき: アプリ名です。空ならフォルダ名、なければリポジトリ名です。 |
installation | integer | いいえ | repoがあるとき: どのGitHubアカウントのインストール経由で受け取るかです。 |
framework | string | いいえ | repoがあるとき: フレームワークのプリセットです。空かautoなら自動検出します。 |
build_command | string | いいえ | repoがあるとき: ビルドコマンドを上書きします。 |
output_directory | string | いいえ | repoがあるとき: 出力ディレクトリを上書きします。 |
install_command | string | いいえ | repoがあるとき: インストールコマンドを上書きします。 |
dotenv | string | いいえ | repoがあるとき: .envファイルの内容です。本番とプレビューに保存します。 |
sensitive | boolean | いいえ | repoがあるとき: dotenvの値を保存した後は再表示しません。 |
wait | integer, min 0, max 120 | いいえ | データベースの準備ができる(status: ready)まで待つ秒数です。既定の0はすぐに応答します。通常は数秒です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "人が読むための名前です。"
},
"region": {
"type": "string",
"description": "作成する場所です。使える値はlist_regionsで確認できます。空の場合は既定のリージョンです。"
},
"org": {
"type": "string",
"description": "作成する組織の id か名前です(list_projects の organisation_id か organisation)。空なら、プロジェクトを作れる最初の組織です。"
},
"tier": {
"type": "string",
"description": "このプロジェクト専用サーバーのサイズです。list_server_sizesが返した値(例: 4gb)か、プランの標準サイズを表すdefaultを渡します。プロジェクトができた直後にサーバーを申請します。空なら共用サーバーで始まります。"
},
"repo": {
"type": "string",
"description": "プロジェクトの作成と同時に接続してデプロイするGitHubリポジトリ(owner/name、list_importable_repositoriesのrepo)です。空ならリポジトリなしで作成します。以下のbranch・root_directory・app・installation・framework・build_command・output_directory・install_command・dotenv・sensitiveはimport_repositoryと同じで、repoがあるときだけ読みます。"
},
"branch": {
"type": "string",
"description": "repoがあるとき: 本番ブランチです。空ならリポジトリの既定ブランチです。"
},
"root_directory": {
"type": "string",
"description": "repoがあるとき: モノレポのアプリフォルダ(例: apps/web)です。"
},
"app": {
"type": "string",
"description": "repoがあるとき: アプリ名です。空ならフォルダ名、なければリポジトリ名です。"
},
"installation": {
"type": "integer",
"description": "repoがあるとき: どのGitHubアカウントのインストール経由で受け取るかです。"
},
"framework": {
"type": "string",
"description": "repoがあるとき: フレームワークのプリセットです。空かautoなら自動検出します。"
},
"build_command": {
"type": [
"string",
"null"
],
"description": "repoがあるとき: ビルドコマンドを上書きします。"
},
"output_directory": {
"type": [
"string",
"null"
],
"description": "repoがあるとき: 出力ディレクトリを上書きします。"
},
"install_command": {
"type": [
"string",
"null"
],
"description": "repoがあるとき: インストールコマンドを上書きします。"
},
"dotenv": {
"type": "string",
"description": "repoがあるとき: .envファイルの内容です。本番とプレビューに保存します。"
},
"sensitive": {
"type": "boolean",
"description": "repoがあるとき: dotenvの値を保存した後は再表示しません。"
},
"wait": {
"type": "integer",
"minimum": 0,
"maximum": 120,
"description": "データベースの準備ができる(status: ready)まで待つ秒数です。既定の0はすぐに応答します。通常は数秒です。"
}
},
"required": [
"name"
],
"additionalProperties": false
}pause_project プロジェクトの一時停止
破壊的
プロジェクトのすべての動作を止めます。サイト、API、関数は503を返し、リアルタイム接続は拒否され、予約ジョブと新しいデプロイも止まります。データとファイルはそのまま残り、resume_projectですぐに元に戻せます。90 日を超えて一時停止すると、データベースをアーカイブストレージへ移します(get_project_archive)。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/pause |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}resume_project プロジェクトの再開
破壊的
一時停止したプロジェクトを再び動かします。無料プランで 3 日間使われずに停止したプロジェクトもこれで(または新しいデプロイで)再開します。予約ジョブは逃した実行を取り戻さず、次の予定時刻から実行します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/resume |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}delete_project プロジェクトの削除
破壊的
プロジェクトのテーブル、ユーザー、ファイル、関数、予約ジョブ、環境変数、ドメインを完全に削除します。元に戻せません。ユーザーがはっきり求めたときだけ使い、confirmにプロジェクト名を正確に入れてください。最後に残ったプロジェクトは削除できません。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
confirm | string | はい | プロジェクト名です。list_projectsの名前と完全に一致する必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"confirm": {
"type": "string",
"description": "プロジェクト名です。list_projectsの名前と完全に一致する必要があります。"
}
},
"required": [
"ref",
"confirm"
],
"additionalProperties": false
}retry_provisioning 準備に失敗したプロジェクトの再試行
追加のみ
データベースを作成できなかったプロジェクトの準備をやり直します。ほかのツールが「作成できませんでした」と拒否したときに使ってください。新しいプロジェクトは作成しないでください。これは同じプロジェクトの準備を続けるもので、新しく作ると請求が二重になるだけです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/retry-provisioning |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}rename_project 名前の変更
破壊的
プロジェクト名、組織名、またはその両方を変更します。識別子(ref)とアドレスは変わりません。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | いいえ | 新しいプロジェクト名です。 |
organisation | string | いいえ | 新しい組織名です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "新しいプロジェクト名です。"
},
"organisation": {
"type": "string",
"description": "新しい組織名です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_project_archive データベースのアーカイブ状態
読み取り専用
データベースを使えない状態(支払いの失敗、無料プラン、一時停止)が 90 日続くと、アーカイブストレージへ移します。このプロジェクトの状況を返します: state(none、scheduled、archiving、archived、restoring、purged)、reason、archive_at(移す日時)、purge_at(アーカイブとファイルを削除する日時、移してから 1 年後)、restore_blocked_by。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/archive |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}restore_project_archive アーカイブしたデータベースを復元
破壊的
アーカイブストレージのデータベースを、アーカイブしたときのまま作り直します。通常は数分で、一時停止中のプロジェクトは復元と同時に再開します。お支払いが完了していないときや無料プランでは拒否します(restore_blocked_by)。アーカイブがすでに削除されていれば、空のデータベースを新しく作成します。オーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/archive/restore |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_archive_download_url アーカイブのダウンロード用アドレス
追加のみ
アーカイブしたデータベース(pg_dump 形式。pg_restore で復元)を 1 時間ダウンロードできる署名付きアドレスを作成します。理由が必要で、アクセス記録に残ります。オーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/archive/download |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
reason | string, min length 4, max length 300 | はい | ダウンロードする理由。アクセス記録に残ります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"reason": {
"type": "string",
"minLength": 4,
"maxLength": 300,
"description": "ダウンロードする理由。アクセス記録に残ります。"
}
},
"required": [
"ref",
"reason"
],
"additionalProperties": false
}キーと署名
| 名前 | 説明 |
|---|---|
get_project_keys | APIキーの取得 |
list_api_keys | 名前付きAPIキー |
create_api_key | APIキーの作成 |
revoke_api_key | APIキーの失効 |
get_jwt_signing | トークンの署名 |
set_jwt_signing | トークンの署名の変更 |
rotate_signing_key | キーのローテーション |
retire_signing_key | 古いキーの終了 |
get_project_keys APIキーの取得
読み取り専用
プロジェクトのアドレスと2つのキーを返します。パブリッシャブルキーはブラウザ用です。シークレットキーはすべてのアクセスルールを迂回するため、サーバーでのみ使ってください。書き込み権限のあるトークンだけが呼び出せます。フロントエンドのコードに入れる値が必要なときは only: "publishable" で呼び出してください。アドレスとパブリッシャブルキーだけが返り、シークレットキーが会話やコードに混ざりません(読み取り権限のトークンでも呼び出せます)。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | secrets.read オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/keys |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
only | string, publishable | いいえ | publishableならアドレスとパブリッシャブルキーだけを返します。空なら両方のキーを返します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"only": {
"type": "string",
"enum": [
"publishable"
],
"description": "publishableならアドレスとパブリッシャブルキーだけを返します。空なら両方のキーを返します。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_api_keys 名前付きAPIキー
読み取り専用
用途ごとに作成したbw_publishable_キーとbw_secret_キーそれぞれの名前、種類、プレフィックス、最終使用日時、失効状態です。シークレットキーの値は返しません。パブリッシャブルキーの値は返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/api-keys |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_api_key APIキーの作成
追加のみ
名前付きのキーを1つ作成します。publishableはブラウザ用(アクセスルールに従う)、secretはサーバー用(アクセスルールを迂回する)です。シークレットキーの値はこの応答にだけ含まれ、二度と表示できません。キーを作成できるのはオーナーと管理者のみで、プロジェクトごとに20個までです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/api-keys |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
kind | string, publishable | secret | はい | ブラウザ用はpublishable、サーバー用はsecretです。 |
name | string, min length 1, max length 60 | はい | キーの用途です。例: 決済サーバー |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"kind": {
"type": "string",
"enum": [
"publishable",
"secret"
],
"description": "ブラウザ用はpublishable、サーバー用はsecretです。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "キーの用途です。例: 決済サーバー"
}
},
"required": [
"ref",
"kind",
"name"
],
"additionalProperties": false
}revoke_api_key APIキーの失効
破壊的
名前付きのキーを1つ失効させます。そのキーを使ったリクエストは30秒以内に拒否されるようになります。ほかのキーには影響しません。元に戻せません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/api-keys/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_api_keysのidです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_api_keysのidです。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}get_jwt_signing トークンの署名
読み取り専用
ログイントークンをHS256とES256のどちらで署名しているか、また当面まだ受け付ける古いキー(猶予期間中のキー)を表示します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/signing |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_jwt_signing トークンの署名の変更
破壊的
ES256にすると、新しいログインは非対称鍵で署名され、ほかのサーバーが公開鍵(JWKS)でトークンを確認できます。すでに発行されたトークンは期限が切れるまで使えます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | PUT /projects/{ref}/signing |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
alg | string, HS256 | ES256 | はい | HS256またはES256です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"alg": {
"type": "string",
"enum": [
"HS256",
"ES256"
],
"description": "HS256またはES256です。"
}
},
"required": [
"ref",
"alg"
],
"additionalProperties": false
}rotate_signing_key キーのローテーション
破壊的
パブリッシャブルキーとシークレットキーに署名する新しいキーを作成します。古いキーはgrace_hours(0、1、24、168)の間まだ受け付けます。0(または空)にするとすぐに無効になります(漏えいした場合)。0のときは使っているアプリがすべて30秒以内に止まるため、confirm にプロジェクト名(list_projectsのname)をそのまま入れてください。アプリに入れたキーをすべて置き換える必要があるため、ユーザーがはっきり求めたときだけ使ってください。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/signing/rotate |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
grace_hours | integer, 0 | 1 | 24 | 168 | いいえ | 古いキーをあと何時間受け付けるかです: 0、1、24、168のいずれか。 |
confirm | string | いいえ | grace_hoursが0または空のときだけ: プロジェクト名です。list_projectsのnameと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"grace_hours": {
"type": "integer",
"enum": [
0,
1,
24,
168
],
"description": "古いキーをあと何時間受け付けるかです: 0、1、24、168のいずれか。"
},
"confirm": {
"type": "string",
"description": "grace_hoursが0または空のときだけ: プロジェクト名です。list_projectsのnameと完全に同じである必要があります。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}retire_signing_key 古いキーの終了
破壊的
猶予期間中の古いキーを今すぐ終了します。kidはget_jwt_signingのkeysのうち、stateがrotatingのものです。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/signing/keys/{kid} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
kid | string | はい | get_jwt_signingのkidです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"kid": {
"type": "string",
"description": "get_jwt_signingのkidです。"
}
},
"required": [
"ref",
"kid"
],
"additionalProperties": false
}データベース
get_advisors セキュリティとパフォーマンスの点検
読み取り専用
プロジェクトのデータベース構造からセキュリティとパフォーマンスの問題を探します。RLSがオフのテーブル、誰でも書き込めるルール、アクセスルールを迂回するビュー、search_pathが固定されていないsecurity definer関数、ユーザーテーブルを公開するビュー、インデックスのない外部キー、主キーのないテーブル、重複したインデックス、行ごとにuid()を呼び出すルールが対象です。修正するSQLがある項目にはそれ(remedy)を添えます。データは読みません。テーブルを作成したりルールを変更したりした後に呼び出してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/advisors |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_tables テーブル
読み取り専用
プロジェクトのテーブルを、列、おおよその行数、アクセスルールの状態とともに返します。ルールがオンなのにルールが1つもない場合、パブリッシャブルキーからは何も見えません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/tables |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_policies アクセスルール
読み取り専用
どのテーブルのどの操作が誰に開かれているかを返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/policies |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}query_sql SQLの照会(読み取り専用)
読み取り専用
プロジェクトのPostgreSQLデータベースで照会文1つ(SELECTなど)を読み取り専用トランザクションで実行し、結果の行を返します。データや構造を変更する文は拒否されるため、その場合はrun_sqlを使ってください。読み取り権限のトークンでも呼び出せます。Vaultのシークレットの値は開きません(vault.decrypted_secretsのdecrypted_secretは空です)。SQLの文法はPostgreSQL 16のドキュメント(https://www.postgresql.org/docs/16/sql-commands.html)に従います。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/sql/query |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
sql | string | はい | 実行する照会文1つです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"sql": {
"type": "string",
"description": "実行する照会文1つです。"
}
},
"required": [
"ref",
"sql"
],
"additionalProperties": false
}run_sql SQLの実行(変更)
破壊的
プロジェクトのPostgreSQLデータベースでデータや構造を変更するSQL(CREATE、INSERT、UPDATE、DELETEなど)を実行し、結果の行を返します。照会だけの場合はquery_sqlを使ってください。SQLの文法はPostgreSQL 16のドキュメント(https://www.postgresql.org/docs/16/sql-commands.html)に従います。新しいテーブルはアクセスルールが自動でオンになるため、続けてルールを作成しない限り、パブリッシャブルキーからは何も見えません。ルールで使うロール名は<ref>_anon、<ref>_authenticated、<ref>_service_roleです。Supabase向けに書いたSQL(public.、auth.uid()、storage.、to authenticated)はこのプロジェクトの名前に変換して実行し、何を変換したかをtranslatedで返します(Supabase名の変換)。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 入力によって確認します(読み取りだけの SQL や dry_run なら確認しません) |
| REST | POST /projects/{ref}/sql |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
sql | string | はい | 実行するSQL文1つです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"sql": {
"type": "string",
"description": "実行するSQL文1つです。"
}
},
"required": [
"ref",
"sql"
],
"additionalProperties": false
}read_rows テーブルの読み取り
読み取り専用
テーブルの先頭の行をそのまま読みます。確認用です。条件が必要な場合はrun_sqlを使ってください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/rows/{table} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
table | string | はい | テーブル名です。 |
limit | integer, min 1, max 200 | いいえ | 既定は50行です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"table": {
"type": "string",
"description": "テーブル名です。"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "既定は50行です。"
}
},
"required": [
"ref",
"table"
],
"additionalProperties": false
}export_table_csv テーブルをCSVでエクスポート
読み取り専用
テーブルの行を CSV で返します(1行目は列名)。コンソールのテーブルエディターのエクスポートと同じです。1MB まで返り、超えると行の区切りで切って truncated が true になります。そのときは filters で範囲を分けて何回かに分けて受け取ってください。空欄は NULL、"" は空文字列です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/tables/{table}/csv |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
table | string | はい | テーブル名です(list_tables)。 |
filters | array<object>, max items 10 | いいえ | すべてに合う行だけです。例: [{"column": "created_at", "op": "gte", "value": "2026-01-01"}] |
sort | string | いいえ | この列の順に並べます。空ならテーブルの既定の順です。 |
desc | boolean | いいえ | true なら大きいものから並べます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"table": {
"type": "string",
"description": "テーブル名です(list_tables)。"
},
"filters": {
"type": "array",
"maxItems": 10,
"description": "すべてに合う行だけです。例: [{\"column\": \"created_at\", \"op\": \"gte\", \"value\": \"2026-01-01\"}]",
"items": {
"type": "object",
"properties": {
"column": {
"type": "string",
"description": "列名です。"
},
"op": {
"type": "string",
"enum": [
"eq",
"neq",
"gt",
"lt",
"gte",
"lte",
"like",
"ilike",
"in",
"is",
"isnot"
],
"description": "比較です。in はカンマ区切りの値、is と isnot は NULL の判定です。"
},
"value": {
"type": "string",
"description": "比較する値です。"
}
},
"required": [
"column",
"op"
],
"additionalProperties": false
}
},
"sort": {
"type": "string",
"description": "この列の順に並べます。空ならテーブルの既定の順です。"
},
"desc": {
"type": "boolean",
"description": "true なら大きいものから並べます。"
}
},
"required": [
"ref",
"table"
],
"additionalProperties": false
}import_table_csv CSVをテーブルにインポート
追加のみ
CSV の行をテーブルに入れます。コンソールのテーブルエディターのインポートと同じです。1行目は列名で、同じ名前の列に入ります(columns で変えられます)。1行でも入れられなければ何も入れず、行番号と理由を返します。2MB、10,000行までです。引用符のない空欄は NULL か列の既定値です。それより大きいときは分けて呼び出してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/tables/{table}/csv |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
table | string | はい | テーブル名です(list_tables)。 |
csv | string | はい | CSV の内容です。1行目は列名です。 |
columns | array<string> | いいえ | CSV の列ごとに入れるテーブルの列名で、飛ばす列は "" です。1行目と同じ数が必要です。省略すると同じ名前どうしです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"table": {
"type": "string",
"description": "テーブル名です(list_tables)。"
},
"csv": {
"type": "string",
"description": "CSV の内容です。1行目は列名です。"
},
"columns": {
"type": "array",
"items": {
"type": "string"
},
"description": "CSV の列ごとに入れるテーブルの列名で、飛ばす列は \"\" です。1行目と同じ数が必要です。省略すると同じ名前どうしです。"
}
},
"required": [
"ref",
"table",
"csv"
],
"additionalProperties": false
}get_database_connection データベース接続情報
読み取り専用
このプロジェクトのPostgreSQLに直接接続するためのアドレスを表示します。direct(5432、session: マイグレーションツールやデータベースクライアント用)とpooler(6543、transaction: サーバーレス用)です。パスワードは保存していないため、[YOUR-PASSWORD]と表示されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | secrets.read オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/database |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}reset_database_password データベースの新しいパスワード
破壊的
直接接続用の新しいパスワードを作成し、一度だけ返します。古いパスワードで接続しているものは、次の接続から拒否されます。いまそのパスワードで接続しているサーバー、ジョブ、ツールは再接続のときに切れるので、confirm にプロジェクト名(list_projectsのname)をそのまま入れてください。このユーザーは行レベルセキュリティを迂回するため、サーバーにだけ置いてください。keep_for_deploys: true のときはパスワードを封印して保管し、本番のサーバー・ミドルウェア・関数が実行時に DATABASE_URL・POSTGRES_URL・DIRECT_URL を受け取ります(ビルドには渡しません)。デプロイしたコードがシークレットキーと同じくすべての行を読めるようになるので、ユーザーが望むときだけオンにしてください。これなしで作り直すと受け渡しも止まります。ユーザーが求めたときだけ使ってください。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/database/password |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
keep_for_deploys | boolean | いいえ | true: 本番デプロイに DATABASE_URL として渡します(封印して保管)。なし・false: 保管せず、受け渡しも止めます。 |
confirm | string | はい | プロジェクト名です。list_projectsのnameと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"keep_for_deploys": {
"type": "boolean",
"description": "true: 本番デプロイに DATABASE_URL として渡します(封印して保管)。なし・false: 保管せず、受け渡しも止めます。"
},
"confirm": {
"type": "string",
"description": "プロジェクト名です。list_projectsのnameと完全に同じである必要があります。"
}
},
"required": [
"ref",
"confirm"
],
"additionalProperties": false
}list_extensions データベースの拡張機能の一覧
読み取り専用
有効にできるPostgreSQLの拡張機能(pgvectorのvector、postgis、citext、pgcryptoなど)と、それぞれがこのサーバーにあるか(available)、有効か(enabled)、バージョンを返します。拡張機能はextensionsスキーマにインストールされ、SQLではそのままvector(1536)やgeometryのように使います。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/extensions |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}enable_extension データベースの拡張機能を有効にする
破壊的
拡張機能を1つ有効にします(create extension ... with schema extensions)。埋め込み検索にはvector、地図や距離の計算にはpostgisを使います。一覧にない拡張機能は拒否されます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/extensions/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | 拡張機能の名前です: vector, postgis, citext, hstore, uuid-ossp, pgcrypto, ltree, fuzzystrmatch, btree_gin, btree_gist, intarray, tablefunc |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "拡張機能の名前です: vector, postgis, citext, hstore, uuid-ossp, pgcrypto, ltree, fuzzystrmatch, btree_gin, btree_gist, intarray, tablefunc"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}disable_extension データベースの拡張機能を無効にする
破壊的
拡張機能を1つ無効にします。その拡張機能を使う列、インデックス、関数が残っていると拒否されます。同じデータベースのほかのプロジェクトが使っている場合、インストールは残り、このプロジェクトの記録だけが削除されます(note)。pg_trgmとunaccentは標準で有効なため無効にできません。confirm に拡張機能の名前をそのまま入れてください。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | DELETE /projects/{ref}/extensions/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | list_extensionsにある拡張機能の名前です。 |
confirm | string | はい | 拡張機能の名前です。nameと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "list_extensionsにある拡張機能の名前です。"
},
"confirm": {
"type": "string",
"description": "拡張機能の名前です。nameと完全に同じである必要があります。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}get_database_move 専用データベースへの移行の状態
読み取り専用
このプロジェクトが専用データベースにあるか(dedicated)、プランに含まれるか(plan_allows)、移行を依頼したか・移行中か・失敗して止まったか(stopped、last_error)を示します。size_bytesがauto_move_max_bytesより大きいと自動では移行しないため、move_to_dedicated_databaseで依頼してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/database/move |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}move_to_dedicated_database 専用データベースへの移行
破壊的
共用データベースにあるプロジェクトを、専用のデータベースへ移行するよう依頼します。コンソールの「今すぐ移行」と同じです。順番が来ると移行し、移行中は書き込みが止まり、読み取りは続きます。移行直前の状態がバックアップとして残り、失敗した場合は元の場所にそのまま残ります(止まった移行は、もう一度依頼すると再試行します)。Vaultや大きなデータベースに必要です。Proプランから含まれます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/database/move |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_dedicated_disk 専用ディスク
読み取り専用
データベースが大きくなったプロジェクトが使う、このプロジェクトだけのディスクと Postgres を示します。サイズ(size_gb)、使用量、月額、30日間の履歴、進行中の依頼と縮小の提案(shrink)です。まだ共有ディスクにある場合は、移す基準(threshold_gb)と現在のデータベースのサイズを示します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/database/dedicated-disk |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}request_dedicated_disk 専用ディスクに移す
破壊的
このプロジェクトのデータベースを専用ディスク(max(1.2 × データベース, 20GB))に移すよう依頼します。コンソールの「専用ディスクに移す」と同じです。ディスクは作成したサイズに対して1GBあたり月 ₩1,200(75セント)で請求し、移している間は書き込みが失敗し、読み取りはできます(get_dedicated_disk の expected_downtime_seconds)。Enterprise はいつでも、ほかの有料プランは基準を超えると依頼できます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/database/dedicated-disk |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}shrink_dedicated_disk ディスクを縮小
破壊的
専用ディスクを縮小します。より小さいディスク(1.2 × データベース、最小20GB)を新しく作って移し、元のディスクを削除します。7日間 25% 未満の使用が続いたディスクだけ縮小できます(get_dedicated_disk の shrink.suggested)。移している間は書き込みが失敗し、読み取りはできます。自動で縮小することはありません。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/database/dedicated-disk/shrink |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_realtime_tables リアルタイムがオンのテーブル
読み取り専用
変更がリアルタイムで送られるテーブルです。ここにないテーブルを購読しても何も届きません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/realtime |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_realtime テーブルのリアルタイムのオン・オフ
破壊的
テーブル1つの変更通知をオンまたはオフにします。通知もアクセスルールを通過する行についてだけ送られます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/realtime/{table} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
table | string | はい | テーブル名です。 |
enabled | boolean | はい | trueでオン、falseでオフにします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"table": {
"type": "string",
"description": "テーブル名です。"
},
"enabled": {
"type": "boolean",
"description": "trueでオン、falseでオフにします。"
}
},
"required": [
"ref",
"table",
"enabled"
],
"additionalProperties": false
}list_migrations マイグレーションの記録
読み取り専用
apply_migrationsで適用したマイグレーションのバージョン、名前、適用時刻を古い順に返します。記録はプロジェクトのoneend_migrationsテーブルにあります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/migrations |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}apply_migrations マイグレーションの適用
破壊的
まだ適用していないマイグレーションをバージョン順に、1つずつそれぞれのトランザクションで実行し、記録します。すでに適用されたバージョンは飛ばします。1つが失敗すると、それだけを元に戻して止まり、前のものは適用されたまま残ります。スキーマを変更するときにrun_sqlの代わりにこれを使うと、同じ変更をほかのプロジェクトにもそのまま適用し直せます。supabase/migrationsのファイルをそのまま送れます: public.、auth.uid()、storage.、to authenticatedなどのSupabaseの名前はこのプロジェクトの名前に変換して実行し、translatedで返します(Supabase名の変換)。適用記録にはファイルのとおりに残ります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 入力によって確認します(読み取りだけの SQL や dry_run なら確認しません) |
| REST | POST /projects/{ref}/migrations |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
migrations | array<object>, max items 500 | はい | マイグレーションの一覧です。それぞれversion、name、sqlを持ちます。 |
include_all | boolean | いいえ | すでに適用された最後のバージョンより前のバージョンも適用します。既定はfalseです。 |
record_only | boolean | いいえ | 実行せず、適用したものとして記録だけします。既定はfalseです。 |
dry_run | boolean | いいえ | 何が適用されるかだけを知らせます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"migrations": {
"type": "array",
"maxItems": 500,
"items": {
"type": "object",
"properties": {
"version": {
"type": "string",
"pattern": "^[0-9]{1,32}$",
"description": "数字のバージョンです。通常はYYYYMMDDHHMMSSです。"
},
"name": {
"type": "string",
"description": "英字、数字、_、-からなる短い名前です。例: create_notes"
},
"sql": {
"type": "string",
"description": "実行するSQLです。複数の文も使えます。"
}
},
"required": [
"version",
"sql"
],
"additionalProperties": false
},
"description": "マイグレーションの一覧です。それぞれversion、name、sqlを持ちます。"
},
"include_all": {
"type": "boolean",
"description": "すでに適用された最後のバージョンより前のバージョンも適用します。既定はfalseです。"
},
"record_only": {
"type": "boolean",
"description": "実行せず、適用したものとして記録だけします。既定はfalseです。"
},
"dry_run": {
"type": "boolean",
"description": "何が適用されるかだけを知らせます。"
}
},
"required": [
"ref",
"migrations"
],
"additionalProperties": false
}remove_migration_record マイグレーションの記録の削除
破壊的
マイグレーションを1つ、適用していない状態に戻します。記録だけを削除し、そのマイグレーションが作ったものはそのまま残します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/migrations/{version} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
version | string, pattern ^[0-9]{1,32}$ | はい | list_migrationsのバージョンです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"version": {
"type": "string",
"pattern": "^[0-9]{1,32}$",
"description": "list_migrationsのバージョンです。"
}
},
"required": [
"ref",
"version"
],
"additionalProperties": false
}dump_schema スキーマをSQLで
読み取り専用
プロジェクトのスキーマ(型、シーケンス、テーブルと制約、外部キー、インデックス、関数、ビュー、トリガー、RLSとルール)を作り直せるSQLとして返します。行のデータと権限は含まれません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/schema |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}generate_typescript_types TypeScriptの型を作る
読み取り専用
プロジェクトのテーブル、ビュー、関数、列挙型から、supabase-jsのcreateClient<Database>()に渡すDatabase型を作ります。スキーマを変更したあとに、もう一度呼び出してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/types/typescript |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
schema | string | いいえ | 既定はpublicです。プロジェクトが作ったスキーマ(list_schemasのname)も使えます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"schema": {
"type": "string",
"description": "既定はpublicです。プロジェクトが作ったスキーマ(list_schemasのname)も使えます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_mysql_databases MySQL データベースの一覧
読み取り専用
このプロジェクトの MySQL データベース(MariaDB 11.4)と、それぞれがどのアプリに入るか(app、null はプロジェクト全体)、状態、サイズ、プランで作れる数(max)を返します。available が false なら、このサーバーにはまだ MySQL がありません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/mysql |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_mysql_database MySQL データベースの作成
追加のみ
WordPress のように MySQL を使うアプリのために、データベースと専用ログインを作ります。通常 1 分以内に準備できます。app を指定するとそのアプリのデプロイだけが、指定しなければプロジェクトのすべてのアプリが受け取ります(プロジェクト全体用が 1 つだけのとき)。受け取るアプリのサーバーは起動時に MYSQL_URL・MYSQL_HOST・MYSQL_PORT・MYSQL_USER・MYSQL_PASSWORD・MYSQL_DATABASE と WORDPRESS_DB_HOST・WORDPRESS_DB_USER・WORDPRESS_DB_PASSWORD・WORDPRESS_DB_NAME を受け取ります(ビルドには入りません)。毎晩バックアップされます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/mysql |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, pattern ^[a-z][a-z0-9_]{0,31}$ | はい | 英小文字で始め、英小文字・数字・アンダースコア(_)で 32 文字まで。例: wordpress |
app | string | いいえ | このデータベースを受け取るアプリ名。空ならプロジェクト全体用 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,31}$",
"description": "英小文字で始め、英小文字・数字・アンダースコア(_)で 32 文字まで。例: wordpress"
},
"app": {
"type": "string",
"description": "このデータベースを受け取るアプリ名。空ならプロジェクト全体用"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}bind_mysql_database MySQL データベースをアプリにつなぐ
破壊的
MySQL データベースを受け取るアプリを変えます。app が null ならプロジェクト全体用になります。1 つのアプリにつなげるデータベースは 1 つだけです。動いているサーバーは再起動するか再デプロイすると変更を受け取ります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/mysql/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | MySQL データベース名 |
app | string | はい | アプリ名。プロジェクト全体用なら null |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "MySQL データベース名"
},
"app": {
"type": [
"string",
"null"
],
"description": "アプリ名。プロジェクト全体用なら null"
}
},
"required": [
"ref",
"name",
"app"
],
"additionalProperties": false
}delete_mysql_database MySQL データベースの削除
破壊的
MySQL データベースとそのログイン、バックアップをすべて削除します。元に戻せないので、ユーザーがはっきり求めたときだけ使い、confirm にデータベース名をそのまま入れてください。受け取っていたアプリは次の起動から MYSQL_* の変数を受け取りません。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/mysql/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | MySQL データベース名 |
confirm | string | はい | MySQL データベース名。name とまったく同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "MySQL データベース名"
},
"confirm": {
"type": "string",
"description": "MySQL データベース名。name とまったく同じである必要があります。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}get_mysql_connection MySQL の接続情報
読み取り専用
MySQL データベースのアドレス、ポート、データベース名、ログイン、パスワードと、アプリが受け取る変数(variables)を返します。アドレスにはこのサーバー上のアプリからだけ届きます。パスワードは書き込み権限のトークンにだけ表示されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | secrets.read オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/mysql/{name}/connection |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | MySQL データベース名 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "MySQL データベース名"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}create_mysql_backup MySQL を今すぐバックアップ
追加のみ
MySQL データベースを今すぐバックアップします。プラグインの更新や大きな変更の前に作ってください。7 日間保管されます。毎晩のバックアップは別に自動で行われます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/mysql/{name}/backups |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | MySQL データベース名 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "MySQL データベース名"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}list_mysql_backups MySQL バックアップの一覧
読み取り専用
MySQL データベースのバックアップ(毎晩の自動、手動で作ったもの、復元の直前のもの)と復元の記録を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/mysql/{name}/backups |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | MySQL データベース名 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "MySQL データベース名"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}restore_mysql_backup MySQL をバックアップから復元
破壊的
MySQL データベースをバックアップした時点に戻します。その後の変更はすべてなくなるので、ユーザーがはっきり求めたときだけ使い、confirm にデータベース名をそのまま入れてください。戻す直前の状態を先にバックアップするので、undo_backup_id でもう一度復元できます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/mysql/{name}/restore |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | MySQL データベース名 |
backup_id | string | はい | list_mysql_backups のバックアップ id |
confirm | string | はい | MySQL データベース名。name とまったく同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "MySQL データベース名"
},
"backup_id": {
"type": "string",
"description": "list_mysql_backups のバックアップ id"
},
"confirm": {
"type": "string",
"description": "MySQL データベース名。name とまったく同じである必要があります。"
}
},
"required": [
"ref",
"name",
"backup_id",
"confirm"
],
"additionalProperties": false
}認証とユーザー
| 名前 | 説明 |
|---|---|
list_users | サービスのユーザー |
add_user | ユーザーの追加 |
import_users | ユーザーの一括インポート |
update_user | ユーザーの変更 |
generate_link | ログインリンクの作成 |
list_auth_providers | ソーシャルログインの設定 |
set_auth_provider | ソーシャルログインをオンにする |
set_auth_provider_enabled | ソーシャルログインのオン・オフ |
remove_auth_provider | ソーシャルログインの削除 |
get_smtp_settings | SMTP設定の表示 |
set_smtp_settings | SMTP設定 |
test_smtp_settings | SMTPテストメールの送信 |
remove_smtp_settings | SMTP設定の削除 |
get_email_templates | メールテンプレートの表示 |
set_email_template | メールテンプレートの保存 |
preview_email_template | メールテンプレートのプレビュー |
remove_email_template | メールテンプレートを戻す |
get_sms_settings | SMSログイン設定の確認 |
set_sms_settings | SMSログインの設定 |
remove_sms_settings | SMSログインの削除 |
list_sso_providers | SAML SSOの確認 |
remove_sso_provider | SAML SSOの削除 |
list_redirect_urls | ログイン後に戻るアドレス |
add_redirect_url | 戻るアドレスの追加 |
remove_redirect_url | 戻るアドレスの削除 |
remove_user | ユーザーの削除 |
set_anonymous_sign_in | 匿名ログインのオン・オフ |
list_users サービスのユーザー
読み取り専用
このプロジェクトを使うサービスに新規登録したユーザーです。プラットフォームのアカウントとは別です。一度に最大200人まで返り、totalが全体の人数です。has_moreがtrueならまだ続きがあるので、offsetを増やして再度呼び出してください。usersの長さを人数として扱うのは誤りです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/users |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
limit | integer, min 1, max 200 | いいえ | 一度に取得するユーザー数です。既定は50、最大200です。 |
offset | integer, min 0 | いいえ | 読み飛ばすユーザー数です。既定は0です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "一度に取得するユーザー数です。既定は50、最大200です。"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "読み飛ばすユーザー数です。既定は0です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}add_user ユーザーの追加
追加のみ
このプロジェクトのサービスにユーザーを1人作成します。パスワードは10文字以上が必要です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/users |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
email | string | はい | ユーザーのメールアドレスです。 |
password | string | はい | 10文字以上です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"email": {
"type": "string",
"description": "ユーザーのメールアドレスです。"
},
"password": {
"type": "string",
"description": "10文字以上です。"
}
},
"required": [
"ref",
"email",
"password"
],
"additionalProperties": false
}import_users ユーザーの一括インポート
追加のみ
別のサービス(例: Supabase の auth.users エクスポート)のユーザーを一度に500人まで取り込みます。id と bcrypt のパスワードハッシュはそのまま保たれるため、パスワードを決め直す必要はありません。先にリスト全体を検査し、誤りのある行は番号で示して何も取り込みません。すでにあるアカウントはスキップするので、再実行しても安全です。dry_run=true なら検査のみです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/users/import |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
users | array<object> | はい | アカウントのリストです: { email, id?, encrypted_password?, email_confirmed?, user_metadata?, app_metadata? }。 |
dry_run | boolean | いいえ | リストを検査するだけで、何も取り込みません。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"users": {
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"id": {
"type": "string"
},
"encrypted_password": {
"type": "string"
},
"email_confirmed": {
"type": "boolean"
},
"user_metadata": {
"type": "object"
},
"app_metadata": {
"type": "object"
}
},
"required": [
"email"
],
"additionalProperties": false
},
"description": "アカウントのリストです: { email, id?, encrypted_password?, email_confirmed?, user_metadata?, app_metadata? }。"
},
"dry_run": {
"type": "boolean",
"description": "リストを検査するだけで、何も取り込みません。"
}
},
"required": [
"ref",
"users"
],
"additionalProperties": false
}update_user ユーザーの変更
破壊的
このプロジェクトのユーザー1人を変更します。メールアドレス、パスワード、メールの確認、利用停止とその解除、メタデータです。渡したものだけが変わります。パスワードを変えるか停止すると、その人のログインはすべて切れます。パスワードは10文字以上で、漏えいしたことのあるものは拒否されます。メタデータは既存の値にマージされます。ユーザーがはっきり求めたときだけ使ってください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | PATCH /projects/{ref}/users/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_users の id(UUID)です。 |
email | string | いいえ | 新しいメールアドレスです。 |
password | string | いいえ | 新しいパスワードです(10文字以上)。 |
email_confirm | boolean | いいえ | true ならメールアドレスを確認済みにします。 |
ban_duration | string | いいえ | 停止期間です。例: 24h、30m、876000h(事実上の永久)。none なら停止を解除します。 |
user_metadata | object | いいえ | ユーザーが変更できるメタデータにマージする値です。 |
app_metadata | object | いいえ | サーバーだけが変更するメタデータにマージする値です(ロール、プランなど)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_users の id(UUID)です。"
},
"email": {
"type": "string",
"description": "新しいメールアドレスです。"
},
"password": {
"type": "string",
"description": "新しいパスワードです(10文字以上)。"
},
"email_confirm": {
"type": "boolean",
"description": "true ならメールアドレスを確認済みにします。"
},
"ban_duration": {
"type": "string",
"description": "停止期間です。例: 24h、30m、876000h(事実上の永久)。none なら停止を解除します。"
},
"user_metadata": {
"type": "object",
"description": "ユーザーが変更できるメタデータにマージする値です。"
},
"app_metadata": {
"type": "object",
"description": "サーバーだけが変更するメタデータにマージする値です(ロール、プランなど)。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}generate_link ログインリンクの作成
破壊的
メールで送られるリンクを、メールを送らずに作って返します。invite(招待。いなければユーザーを作成)、magiclink(パスワードなしのログイン)、recovery(パスワードの再設定)、signup(新規登録の確認。password が必要)です。action_link を開いた人はそのユーザーとしてログインするので、パスワードと同じです。ユーザーがはっきり求めたときだけ作り、その人にだけ渡してください。redirect_to は add_redirect_url で登録したアドレスである必要があります。シークレットキーを見られるロール(オーナー、管理者、開発者)だけが行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | secrets.read オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/users/{id}/links |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
type | string, invite | magiclink | recovery | signup | はい | invite、magiclink、recovery、signup のいずれかです。 |
email | string | はい | ユーザーのメールアドレスです。 |
password | string | いいえ | signup のとき、新しいユーザーのパスワードです(10文字以上)。 |
data | object | いいえ | invite、signup、magiclink で新しく作るユーザーのメタデータです。 |
redirect_to | string | いいえ | 確認後に戻るアドレスです。list_redirect_urls にあるものだけです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"type": {
"type": "string",
"enum": [
"invite",
"magiclink",
"recovery",
"signup"
],
"description": "invite、magiclink、recovery、signup のいずれかです。"
},
"email": {
"type": "string",
"description": "ユーザーのメールアドレスです。"
},
"password": {
"type": "string",
"description": "signup のとき、新しいユーザーのパスワードです(10文字以上)。"
},
"data": {
"type": "object",
"description": "invite、signup、magiclink で新しく作るユーザーのメタデータです。"
},
"redirect_to": {
"type": "string",
"description": "確認後に戻るアドレスです。list_redirect_urls にあるものだけです。"
}
},
"required": [
"ref",
"type",
"email"
],
"additionalProperties": false
}list_auth_providers ソーシャルログインの設定
読み取り専用
このプロジェクトのサービスに、どのアカウントでログインできるかを表示します。プラットフォームが対応するプロバイダーをすべて返すため、まだ設定していないものはconfigured: falseと表示されます。独自に登録したプロバイダー(custom:<名前>)はその後にcustom項目(アドレス、scopes、応答フィールドの対応)と一緒に出ます。callback_urlは、プロバイダーのコンソールにそのまま貼り付けるアドレスです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/auth/providers |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_auth_provider ソーシャルログインをオンにする
破壊的
プロバイダー1つのクライアントIDとシークレットを保存してオンにします。シークレットは封印され読み戻せず、確認できるのは末尾4文字だけです。先にプロバイダーのコンソールでアプリを作成し、list_auth_providersのcallback_urlをリダイレクト先アドレスとして登録してください。保存済みのプロバイダーのIDだけを変える場合は、client_secretを空文字列にしてください。Supabaseと同じように、providerをcustom:<名前>にすると、プラットフォームの一覧にないOAuth 2.0・OpenID Connectプロバイダーを独自に登録します(例: custom:kakao-xts)。そのときはissuer(OpenID Connectならこれだけでアドレスを埋めます)またはauthorize_url・token_url(・userinfo_url)が必要で、scopesとclaims(応答のどのフィールドがid・email・email_verified・name・avatar・phoneか、ドットでつないだパス)を指定できます。アプリからはsignInWithOAuth({ provider: "custom:<名前>" })で呼び出し、ログイン直後のセッションにprovider_tokenが一度だけ入ります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/auth/providers/{provider} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
provider | string, pattern ^(google|kakao|naver|apple|github|gitlab|microsoft|facebook|line|discord|x|bitbucket|figma|linkedin_oidc|notion|twitch|slack_oidc|spotify|zoom|azure|keycloak|workos|twitter|slack|custom:[a-z0-9][a-z0-9_-]{0,39})$ | はい | ログインプロバイダー: google, kakao, naver, apple, github, gitlab, microsoft, facebook, line, discord, x, bitbucket, figma, linkedin_oidc, notion, twitch, slack_oidc, spotify, zoom, azure, keycloak, workos, twitter, slack、または独自に登録する custom:<名前>(英小文字・数字・-・_、40文字まで)。 |
client_id | string | はい | プロバイダーのコンソールで発行されたクライアントIDです。 |
client_secret | string | はい | 空文字列なら保存済みのシークレットを保ちます。新しいプロバイダーでは必須です。 |
enabled | boolean | いいえ | 既定はオンです。 |
label | string | いいえ | custom: プロバイダーのみ。画面に表示する名前。 |
issuer | string | いいえ | custom: プロバイダーのみ。OpenID Connect の issuer(例: https://kauth.kakao.com)。空のアドレスを discovery ドキュメントで埋めます。 |
authorize_url | string | いいえ | custom: プロバイダーのみ。ログイン画面のアドレス(https)。 |
token_url | string | いいえ | custom: プロバイダーのみ。code をトークンに交換するアドレス(https)。 |
userinfo_url | string | いいえ | custom: プロバイダーのみ。ユーザー情報を読むアドレス(https)。空欄なら id_token から読みます。 |
scopes | string | いいえ | custom: プロバイダーのみ。常に要求する scopes、スペース区切り。アプリが送った scopes が加わります。 |
claims | object | いいえ | custom: プロバイダーのみ。応答フィールドの対応、例: {"id": "sub", "email": "kakao_account.email", "phone": "phone_number"}。省くと OpenID の標準名。 |
claim_map | object | いいえ | custom: プロバイダーのみ。claims と同じで、ほかのツールと同じ名前です。 |
token_auth | string, body | basic | いいえ | custom: プロバイダーのみ。client_secret を本文(body、既定)で送るか HTTP Basic で送るか。 |
pkce | boolean | いいえ | custom: プロバイダーのみ。既定はオン。プロバイダーが PKCE を拒否する場合だけオフにします。 |
provider_type | string, oidc | oauth2 | いいえ | custom: プロバイダーのみ。oidc なら id_token の署名・発行者・対象・有効期限・nonce を issuer の鍵(jwks_uri)で確認してから読みます。oauth2(既定)なら claims の対応で読みます。省くと保存済みの値のままです。 |
discovery_url | string | いいえ | custom: プロバイダーのみ。discovery ドキュメントが {issuer}/.well-known/openid-configuration にない場合。 |
jwks_uri | string | いいえ | custom: プロバイダーのみ。oidc の署名鍵のアドレス。空欄なら discovery ドキュメントから埋めます。 |
email_optional | boolean | いいえ | custom: プロバイダーのみ。メールアドレスのないユーザーもログインできるようにします。省くと保存済みの値のままです(新しいプロバイダーはオフ)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"provider": {
"type": "string",
"pattern": "^(google|kakao|naver|apple|github|gitlab|microsoft|facebook|line|discord|x|bitbucket|figma|linkedin_oidc|notion|twitch|slack_oidc|spotify|zoom|azure|keycloak|workos|twitter|slack|custom:[a-z0-9][a-z0-9_-]{0,39})$",
"description": "ログインプロバイダー: google, kakao, naver, apple, github, gitlab, microsoft, facebook, line, discord, x, bitbucket, figma, linkedin_oidc, notion, twitch, slack_oidc, spotify, zoom, azure, keycloak, workos, twitter, slack、または独自に登録する custom:<名前>(英小文字・数字・-・_、40文字まで)。"
},
"client_id": {
"type": "string",
"description": "プロバイダーのコンソールで発行されたクライアントIDです。"
},
"client_secret": {
"type": "string",
"description": "空文字列なら保存済みのシークレットを保ちます。新しいプロバイダーでは必須です。"
},
"enabled": {
"type": "boolean",
"description": "既定はオンです。"
},
"label": {
"type": "string",
"description": "custom: プロバイダーのみ。画面に表示する名前。"
},
"issuer": {
"type": "string",
"description": "custom: プロバイダーのみ。OpenID Connect の issuer(例: https://kauth.kakao.com)。空のアドレスを discovery ドキュメントで埋めます。"
},
"authorize_url": {
"type": "string",
"description": "custom: プロバイダーのみ。ログイン画面のアドレス(https)。"
},
"token_url": {
"type": "string",
"description": "custom: プロバイダーのみ。code をトークンに交換するアドレス(https)。"
},
"userinfo_url": {
"type": "string",
"description": "custom: プロバイダーのみ。ユーザー情報を読むアドレス(https)。空欄なら id_token から読みます。"
},
"scopes": {
"type": "string",
"description": "custom: プロバイダーのみ。常に要求する scopes、スペース区切り。アプリが送った scopes が加わります。"
},
"claims": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"description": "custom: プロバイダーのみ。応答フィールドの対応、例: {\"id\": \"sub\", \"email\": \"kakao_account.email\", \"phone\": \"phone_number\"}。省くと OpenID の標準名。"
},
"claim_map": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"description": "custom: プロバイダーのみ。claims と同じで、ほかのツールと同じ名前です。"
},
"token_auth": {
"type": "string",
"enum": [
"body",
"basic"
],
"description": "custom: プロバイダーのみ。client_secret を本文(body、既定)で送るか HTTP Basic で送るか。"
},
"pkce": {
"type": "boolean",
"description": "custom: プロバイダーのみ。既定はオン。プロバイダーが PKCE を拒否する場合だけオフにします。"
},
"provider_type": {
"type": "string",
"enum": [
"oidc",
"oauth2"
],
"description": "custom: プロバイダーのみ。oidc なら id_token の署名・発行者・対象・有効期限・nonce を issuer の鍵(jwks_uri)で確認してから読みます。oauth2(既定)なら claims の対応で読みます。省くと保存済みの値のままです。"
},
"discovery_url": {
"type": "string",
"description": "custom: プロバイダーのみ。discovery ドキュメントが {issuer}/.well-known/openid-configuration にない場合。"
},
"jwks_uri": {
"type": "string",
"description": "custom: プロバイダーのみ。oidc の署名鍵のアドレス。空欄なら discovery ドキュメントから埋めます。"
},
"email_optional": {
"type": "boolean",
"description": "custom: プロバイダーのみ。メールアドレスのないユーザーもログインできるようにします。省くと保存済みの値のままです(新しいプロバイダーはオフ)。"
}
},
"required": [
"ref",
"provider",
"client_id",
"client_secret"
],
"additionalProperties": false
}set_auth_provider_enabled ソーシャルログインのオン・オフ
破壊的
プロバイダーをオフまたはオンにし、保存済みの認証情報は残します。プロバイダーの不具合の原因を調べている間に使ってください。オンに戻すときに新しいシークレットは不要です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/auth/providers/{provider} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
provider | string, pattern ^(google|kakao|naver|apple|github|gitlab|microsoft|facebook|line|discord|x|bitbucket|figma|linkedin_oidc|notion|twitch|slack_oidc|spotify|zoom|azure|keycloak|workos|twitter|slack|custom:[a-z0-9][a-z0-9_-]{0,39})$ | はい | ログインプロバイダー: google, kakao, naver, apple, github, gitlab, microsoft, facebook, line, discord, x, bitbucket, figma, linkedin_oidc, notion, twitch, slack_oidc, spotify, zoom, azure, keycloak, workos, twitter, slack、または独自に登録する custom:<名前>(英小文字・数字・-・_、40文字まで)。 |
enabled | boolean | はい | trueでオン、falseでオフにします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"provider": {
"type": "string",
"pattern": "^(google|kakao|naver|apple|github|gitlab|microsoft|facebook|line|discord|x|bitbucket|figma|linkedin_oidc|notion|twitch|slack_oidc|spotify|zoom|azure|keycloak|workos|twitter|slack|custom:[a-z0-9][a-z0-9_-]{0,39})$",
"description": "ログインプロバイダー: google, kakao, naver, apple, github, gitlab, microsoft, facebook, line, discord, x, bitbucket, figma, linkedin_oidc, notion, twitch, slack_oidc, spotify, zoom, azure, keycloak, workos, twitter, slack、または独自に登録する custom:<名前>(英小文字・数字・-・_、40文字まで)。"
},
"enabled": {
"type": "boolean",
"description": "trueでオン、falseでオフにします。"
}
},
"required": [
"ref",
"provider",
"enabled"
],
"additionalProperties": false
}remove_auth_provider ソーシャルログインの削除
破壊的
プロバイダーの設定を認証情報ごと削除します。一時的にオフにするだけならset_auth_provider_enabledを使ってください。この方法で削除した後は、シークレットを再取得する必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/auth/providers/{provider} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
provider | string, pattern ^(google|kakao|naver|apple|github|gitlab|microsoft|facebook|line|discord|x|bitbucket|figma|linkedin_oidc|notion|twitch|slack_oidc|spotify|zoom|azure|keycloak|workos|twitter|slack|custom:[a-z0-9][a-z0-9_-]{0,39})$ | はい | ログインプロバイダー: google, kakao, naver, apple, github, gitlab, microsoft, facebook, line, discord, x, bitbucket, figma, linkedin_oidc, notion, twitch, slack_oidc, spotify, zoom, azure, keycloak, workos, twitter, slack、または独自に登録する custom:<名前>(英小文字・数字・-・_、40文字まで)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"provider": {
"type": "string",
"pattern": "^(google|kakao|naver|apple|github|gitlab|microsoft|facebook|line|discord|x|bitbucket|figma|linkedin_oidc|notion|twitch|slack_oidc|spotify|zoom|azure|keycloak|workos|twitter|slack|custom:[a-z0-9][a-z0-9_-]{0,39})$",
"description": "ログインプロバイダー: google, kakao, naver, apple, github, gitlab, microsoft, facebook, line, discord, x, bitbucket, figma, linkedin_oidc, notion, twitch, slack_oidc, spotify, zoom, azure, keycloak, workos, twitter, slack、または独自に登録する custom:<名前>(英小文字・数字・-・_、40文字まで)。"
}
},
"required": [
"ref",
"provider"
],
"additionalProperties": false
}get_smtp_settings SMTP設定の表示
読み取り専用
このプロジェクトの認証メール(登録確認・パスワード再設定・ログインリンク・メールアドレス変更・招待)を送るSMTPサーバーと送信者を表示します。SupabaseのSMTP Settingsと同じ項目です。パスワードは表示されず、password_hintに末尾4文字だけが出ます(8文字以上の場合)。last_errorがあれば、そのサーバーが拒否したためプラットフォームの送信アドレスから代わりに送ったということです。configuredがfalseならプラットフォームの送信アドレスを使います。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/auth/smtp |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_smtp_settings SMTP設定
破壊的
認証メールをこのプロジェクトのSMTPサーバーから、指定した送信者名とアドレスで送ります。初回はsender_email、host、username、passwordが必要で、その後は変える値だけで構いません(passwordを空にすると保存済みの値を使います)。サーバーはパブリックなアドレスで、TLS(465は最初から、それ以外はSTARTTLS)を使う必要があります。拒否された場合はプラットフォームの送信アドレスから送り、理由をlast_errorに残します。保存後にtest_smtp_settingsで確認してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/auth/smtp |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
sender_email | string | いいえ | 送信者メールアドレス(Sender email)です。例: [email protected]。 |
sender_name | string | いいえ | 送信者名(Sender name)です。例: 私のお店。 |
host | string | いいえ | SMTPサーバーのアドレス(Host)です。例: smtp.sendgrid.net。 |
port | integer, 25 | 465 | 587 | 2465 | 2525 | いいえ | ポート(Port): 25、465、587、2465、2525のいずれかです。既定は587です。 |
username | string | いいえ | SMTPのユーザー名(Username)です。 |
password | string | いいえ | SMTPのパスワード(Password)です。空なら保存済みの値を使います。 |
minimum_interval_seconds | integer, min 0, max 3600 | いいえ | 同じアドレスに再び送るまでの最小間隔(秒)です。既定は60です。 |
rate_limit_per_hour | integer, min 1, max 10000 | いいえ | プロジェクト全体が1時間に送れるメールの数です。既定は100です。超えるとover_email_send_rate_limit(429)で拒否されます。 |
enabled | boolean | いいえ | falseにすると設定は残したまま、プラットフォームの送信アドレスから送ります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"sender_email": {
"type": "string",
"description": "送信者メールアドレス(Sender email)です。例: [email protected]。"
},
"sender_name": {
"type": "string",
"description": "送信者名(Sender name)です。例: 私のお店。"
},
"host": {
"type": "string",
"description": "SMTPサーバーのアドレス(Host)です。例: smtp.sendgrid.net。"
},
"port": {
"type": "integer",
"enum": [
25,
465,
587,
2465,
2525
],
"description": "ポート(Port): 25、465、587、2465、2525のいずれかです。既定は587です。"
},
"username": {
"type": "string",
"description": "SMTPのユーザー名(Username)です。"
},
"password": {
"type": "string",
"description": "SMTPのパスワード(Password)です。空なら保存済みの値を使います。"
},
"minimum_interval_seconds": {
"type": "integer",
"minimum": 0,
"maximum": 3600,
"description": "同じアドレスに再び送るまでの最小間隔(秒)です。既定は60です。"
},
"rate_limit_per_hour": {
"type": "integer",
"minimum": 1,
"maximum": 10000,
"description": "プロジェクト全体が1時間に送れるメールの数です。既定は100です。超えるとover_email_send_rate_limit(429)で拒否されます。"
},
"enabled": {
"type": "boolean",
"description": "falseにすると設定は残したまま、プラットフォームの送信アドレスから送ります。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}test_smtp_settings SMTPテストメールの送信
追加のみ 外部に届く
保存したSMTPサーバーからテストメールを1通送ります。プラットフォームからの代替送信はしないので、失敗した場合はサーバーが返した理由がそのまま表示されます。toを省くと呼び出した人のアドレスに送ります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/auth/smtp/test |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
to | string | いいえ | 送信先のアドレスです。省くと自分のアドレスです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"to": {
"type": "string",
"description": "送信先のアドレスです。省くと自分のアドレスです。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}remove_smtp_settings SMTP設定の削除
破壊的
SMTP設定をパスワードごと削除します。以降、認証メールはプラットフォームの送信アドレスから送られます。一時的に止めるにはset_smtp_settingsにenabled: falseを渡してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/auth/smtp |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_email_templates メールテンプレートの表示
読み取り専用
認証メール6種類(confirmation、invite、magic_link、recovery、email_change、reauthentication)の件名と本文(HTML)です。customがfalseの種類は既定の文面(リクエストの言語に合わせた韓国語・英語・日本語)を使います。typeを渡すとその1つだけを表示します。使える変数はSupabaseと同じです: {{ .ConfirmationURL }}、{{ .Token }}、{{ .TokenHash }}、{{ .SiteURL }}、{{ .Email }}、{{ .NewEmail }}、{{ .RedirectTo }}、{{ .Data.<key> }}。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/auth/templates, GET /projects/{ref}/auth/templates/{type} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
type | string, confirmation | invite | magic_link | recovery | email_change | reauthentication | password_changed | email_changed | mfa_enrolled | mfa_removed | identity_linked | identity_unlinked | いいえ | confirmation、invite、magic_link、recovery、email_change、reauthenticationのいずれかです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"type": {
"type": "string",
"enum": [
"confirmation",
"invite",
"magic_link",
"recovery",
"email_change",
"reauthentication",
"password_changed",
"email_changed",
"mfa_enrolled",
"mfa_removed",
"identity_linked",
"identity_unlinked"
],
"description": "confirmation、invite、magic_link、recovery、email_change、reauthenticationのいずれかです。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_email_template メールテンプレートの保存
破壊的
1つの種類の件名と本文(HTML)を設定します。Supabaseからコピーしたテンプレートをそのまま使えます。差し込む値はHTMLエスケープされ、件名は1行である必要があります。{{ if }}などの他の構文は拒否されます。reauthenticationは保存されますが、まだ送信されません(reauthenticateは未対応)。保存前にpreview_email_templateで確認してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/auth/templates/{type} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
type | string, confirmation | invite | magic_link | recovery | email_change | reauthentication | password_changed | email_changed | mfa_enrolled | mfa_removed | identity_linked | identity_unlinked | はい | confirmation、invite、magic_link、recovery、email_change、reauthenticationのいずれかです。 |
subject | string, max length 200 | はい | 件名です。200文字までです。 |
body | string, max length 50000 | はい | 本文のHTMLです。例: <a href="{{ .ConfirmationURL }}">登録を確認</a> |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"type": {
"type": "string",
"enum": [
"confirmation",
"invite",
"magic_link",
"recovery",
"email_change",
"reauthentication",
"password_changed",
"email_changed",
"mfa_enrolled",
"mfa_removed",
"identity_linked",
"identity_unlinked"
],
"description": "confirmation、invite、magic_link、recovery、email_change、reauthenticationのいずれかです。"
},
"subject": {
"type": "string",
"maxLength": 200,
"description": "件名です。200文字までです。"
},
"body": {
"type": "string",
"maxLength": 50000,
"description": "本文のHTMLです。例: <a href=\"{{ .ConfirmationURL }}\">登録を確認</a>"
}
},
"required": [
"ref",
"type",
"subject",
"body"
],
"additionalProperties": false
}preview_email_template メールテンプレートのプレビュー
追加のみ
例の値を入れたときのメールの見た目(件名、HTML、テキスト)を返します。subjectとbodyを渡すと保存せずにその内容を、省くと保存済みのテンプレートか既定の文面を表示します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/auth/templates/{type}/preview |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
type | string, confirmation | invite | magic_link | recovery | email_change | reauthentication | password_changed | email_changed | mfa_enrolled | mfa_removed | identity_linked | identity_unlinked | はい | confirmation、invite、magic_link、recovery、email_change、reauthenticationのいずれかです。 |
subject | string | いいえ | 保存せずに試す件名です。 |
body | string | いいえ | 保存せずに試す本文です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"type": {
"type": "string",
"enum": [
"confirmation",
"invite",
"magic_link",
"recovery",
"email_change",
"reauthentication",
"password_changed",
"email_changed",
"mfa_enrolled",
"mfa_removed",
"identity_linked",
"identity_unlinked"
],
"description": "confirmation、invite、magic_link、recovery、email_change、reauthenticationのいずれかです。"
},
"subject": {
"type": "string",
"description": "保存せずに試す件名です。"
},
"body": {
"type": "string",
"description": "保存せずに試す本文です。"
}
},
"required": [
"ref",
"type"
],
"additionalProperties": false
}remove_email_template メールテンプレートを戻す
破壊的
1つの種類のテンプレートを削除し、既定の文面(韓国語・英語・日本語)に戻します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/auth/templates/{type} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
type | string, confirmation | invite | magic_link | recovery | email_change | reauthentication | password_changed | email_changed | mfa_enrolled | mfa_removed | identity_linked | identity_unlinked | はい | confirmation、invite、magic_link、recovery、email_change、reauthenticationのいずれかです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"type": {
"type": "string",
"enum": [
"confirmation",
"invite",
"magic_link",
"recovery",
"email_change",
"reauthentication",
"password_changed",
"email_changed",
"mfa_enrolled",
"mfa_removed",
"identity_linked",
"identity_unlinked"
],
"description": "confirmation、invite、magic_link、recovery、email_change、reauthenticationのいずれかです。"
}
},
"required": [
"ref",
"type"
],
"additionalProperties": false
}get_sms_settings SMSログイン設定の確認
読み取り専用
電話番号の認証コードログイン(signInWithOtp({ phone }))に使うSMSアカウントを確認します。プロバイダー(platform、solapi、nhn、aligo、twilio)、送信元番号、送信できる国番号、認証コードの桁数と有効時間、1時間あたりの上限です。認証情報は末尾4文字だけ表示されます。platform_availableがtrueのときだけ、プラットフォームのアカウント(1通 ₩100、韓国のみ)を選べます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/auth/sms |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_sms_settings SMSログインの設定
破壊的
SMSアカウントを保存してオンにします。自分で契約したプロバイダーには、key・secret・account(プロバイダーによって異なります。SolapiはAPI KeyとAPI Secret、NHN CloudはApp KeyとSecret Key、AligoはAPI KeyとUser ID(account)、TwilioとTwilio VerifyはAccount SID(account)とAuth Token(secret)、MessageBirdはAccess Key(key)、TextlocalはAPI Key(key)、VonageはAPI Key(key)とAPI Secret(secret))と、事前登録した送信元(MessageBird・Textlocal・Vonageは11文字以内の送信者IDも可、Twilio VerifyはVAで始まるVerify Service SID)が必要です。電話番号の確認やテスト番号などは update_auth_config の SMS_* キーで変更します。空欄の認証情報は保存済みの値を使います。allowed_countriesは既定で82(韓国)のみです。対象外の国を入れると、海外の有料番号にSMSを送らせる詐欺の対象になります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/auth/sms |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
provider | string, platform | solapi | nhn | aligo | twilio | messagebird | textlocal | vonage | twilio_verify | はい | platform(プラットフォームのアカウント、有料プランのみ)、solapi、nhn、aligo、twilio、messagebird、textlocal、vonage、twilio_verifyのいずれか。 |
key | string | いいえ | SolapiのAPI Key、NHN CloudのApp Key、AligoのAPI Key。空欄なら保存済みの値。 |
secret | string | いいえ | SolapiのAPI Secret、NHN CloudのSecret Key、TwilioのAuth Token。空欄なら保存済みの値。 |
account | string | いいえ | AligoのUser ID、TwilioのAccount SID。空欄なら保存済みの値。 |
sender | string | いいえ | 送信元番号。例: 01012345678。Twilioは+1の番号か、MGで始まるMessaging Service SID。 |
allowed_countries | array<string> | いいえ | 送信できる国番号の一覧。例: ["82"]。 |
otp_length | integer, min 6, max 10 | いいえ | 認証コードの桁数、6から10。既定は6。 |
otp_ttl_seconds | integer, min 60, max 3600 | いいえ | 認証コードの有効時間、60から3600秒。既定は300。 |
hourly_limit | integer, min 1, max 100000 | いいえ | プロジェクト全体で1時間に送れる上限。既定は200。 |
template | string | いいえ | {{code}}を含む文面。nullなら既定の文面。 |
enabled | boolean | いいえ | 既定はオンです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"provider": {
"type": "string",
"enum": [
"platform",
"solapi",
"nhn",
"aligo",
"twilio",
"messagebird",
"textlocal",
"vonage",
"twilio_verify"
],
"description": "platform(プラットフォームのアカウント、有料プランのみ)、solapi、nhn、aligo、twilio、messagebird、textlocal、vonage、twilio_verifyのいずれか。"
},
"key": {
"type": "string",
"description": "SolapiのAPI Key、NHN CloudのApp Key、AligoのAPI Key。空欄なら保存済みの値。"
},
"secret": {
"type": "string",
"description": "SolapiのAPI Secret、NHN CloudのSecret Key、TwilioのAuth Token。空欄なら保存済みの値。"
},
"account": {
"type": "string",
"description": "AligoのUser ID、TwilioのAccount SID。空欄なら保存済みの値。"
},
"sender": {
"type": "string",
"description": "送信元番号。例: 01012345678。Twilioは+1の番号か、MGで始まるMessaging Service SID。"
},
"allowed_countries": {
"type": "array",
"items": {
"type": "string"
},
"description": "送信できる国番号の一覧。例: [\"82\"]。"
},
"otp_length": {
"type": "integer",
"minimum": 6,
"maximum": 10,
"description": "認証コードの桁数、6から10。既定は6。"
},
"otp_ttl_seconds": {
"type": "integer",
"minimum": 60,
"maximum": 3600,
"description": "認証コードの有効時間、60から3600秒。既定は300。"
},
"hourly_limit": {
"type": "integer",
"minimum": 1,
"maximum": 100000,
"description": "プロジェクト全体で1時間に送れる上限。既定は200。"
},
"template": {
"type": [
"string",
"null"
],
"description": "{{code}}を含む文面。nullなら既定の文面。"
},
"enabled": {
"type": "boolean",
"description": "既定はオンです。"
}
},
"required": [
"ref",
"provider"
],
"additionalProperties": false
}remove_sms_settings SMSログインの削除
破壊的
SMSアカウントの設定を認証情報ごと削除します。以降の電話番号ログインはphone_provider_disabledで拒否されます。一時的にオフにするだけなら、set_sms_settingsにenabled: falseを渡してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/auth/sms |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_sso_providers SAML SSOの確認
読み取り専用
このプロジェクトに登録したSAML IdPとメールドメイン、IdPに入力する2つのアドレス(acs_url、entity_id)を確認します。アプリではsupabase.auth.signInWithSSO({ domain })でログインします。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/auth/sso |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}remove_sso_provider SAML SSOの削除
破壊的
IdPを1つ削除します。そのIdPで作られたアカウントは残りますが、SSOではログインできなくなります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/auth/sso/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_sso_providersのid。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_sso_providersのid。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}list_redirect_urls ログイン後に戻るアドレス
読み取り専用
ログイン後に戻すことができるアドレスです。ここにないアドレスには誰も送られません。ログインはできるのにどこにも戻らない場合は、まずここを見てください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/auth/redirect-urls |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}add_redirect_url 戻るアドレスの追加
追加のみ
許可リストにアドレスを1つ追加します。スキーム、ホスト、ポートがすべて一致する必要があり、パスは確認しません。そのためhttps://app.example.com/callbackを追加するとhttps://app.example.comとして保存されます。モバイルアプリ独自のスキーム(co.example.app://callback)も追加できます(ドットを含むスキームのみ)。応答には実際に保存されたリストが含まれます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/auth/redirect-urls |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
url | string | はい | アドレスです。例: https://app.example.com |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"url": {
"type": "string",
"description": "アドレスです。例: https://app.example.com"
}
},
"required": [
"ref",
"url"
],
"additionalProperties": false
}remove_redirect_url 戻るアドレスの削除
破壊的
許可リストからアドレスを1つ外します。list_redirect_urlsが返したとおりに指定してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/auth/redirect-urls |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
url | string | はい | list_redirect_urlsが返したとおりのアドレスです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"url": {
"type": "string",
"description": "list_redirect_urlsが返したとおりのアドレスです。"
}
},
"required": [
"ref",
"url"
],
"additionalProperties": false
}remove_user ユーザーの削除
破壊的
プロジェクトのユーザーを1人削除します。元に戻せません。idはlist_usersが返した値です。ユーザーがはっきり求めたときだけ使い、confirm にそのユーザーのメールアドレス(またはid)をそのまま入れてください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/users/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_usersのid(UUID)です。 |
confirm | string | はい | 削除するユーザーのメールアドレスまたはidです。list_usersのemailかidと同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_usersのid(UUID)です。"
},
"confirm": {
"type": "string",
"description": "削除するユーザーのメールアドレスまたはidです。list_usersのemailかidと同じである必要があります。"
}
},
"required": [
"ref",
"id",
"confirm"
],
"additionalProperties": false
}set_anonymous_sign_in 匿名ログインのオン・オフ
破壊的
メールアドレスなしですぐにセッションを発行する匿名ログインをオンまたはオフにします。今の状態はlist_auth_providersのanonymous_sign_inです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/auth/anonymous |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | はい | trueでオン、falseでオフにします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "trueでオン、falseでオフにします。"
}
},
"required": [
"ref",
"enabled"
],
"additionalProperties": false
}ストレージ
| 名前 | 説明 |
|---|---|
list_buckets | バケット |
create_bucket | バケットの作成 |
update_bucket | バケット設定の変更 |
empty_bucket | バケットを空にする |
delete_bucket | バケットの削除 |
list_objects | ファイル一覧 |
upload_object | ファイルのアップロード |
download_object | ファイルのダウンロード |
delete_object | ファイルの削除 |
create_upload_url | アップロードURLの作成 |
create_signed_url | 署名付きURLの作成 |
list_buckets バケット
読み取り専用
ストレージのバケットを、それぞれのファイル数とサイズとともに返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/buckets |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_bucket バケットの作成
追加のみ
公開バケットは誰でも読めます。非公開バケットはアップロードした本人だけが読めます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/buckets |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string, pattern ^[a-z0-9][a-z0-9._-]{1,62}$ | はい | バケット名です。英小文字、数字、「. _ -」で2〜63文字です。 |
public | boolean | いいえ | 既定は非公開です。 |
file_size_limit | string | いいえ | ファイル1つの最大サイズです。バイト数か "5MB" のようなサイズです。null なら上限なし(プランの上限まで)です。 |
allowed_mime_types | string | いいえ | 受け付ける形式です。例: ["image/png", "image/*"]。null ならすべての形式です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]{1,62}$",
"description": "バケット名です。英小文字、数字、「. _ -」で2〜63文字です。"
},
"public": {
"type": "boolean",
"description": "既定は非公開です。"
},
"file_size_limit": {
"type": [
"integer",
"string",
"null"
],
"description": "ファイル1つの最大サイズです。バイト数か \"5MB\" のようなサイズです。null なら上限なし(プランの上限まで)です。"
},
"allowed_mime_types": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "受け付ける形式です。例: [\"image/png\", \"image/*\"]。null ならすべての形式です。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}update_bucket バケット設定の変更
破壊的
バケットの公開・非公開、ファイル1つの最大サイズ、受け付ける形式を変更します。渡したものだけが変わり、残りはそのままです。公開にすると中のファイルを誰でもダウンロードできるようになるので、ユーザーがはっきり求めたときだけ使ってください。すでにあるファイルはそのままです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | PATCH /projects/{ref}/buckets/{bucket} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_bucketsのバケット名です。 |
public | boolean | いいえ | true なら公開、false なら非公開です。 |
file_size_limit | string | いいえ | ファイル1つの最大サイズです。バイト数か "5MB" のようなサイズです。null なら上限なし(プランの上限まで)です。 |
allowed_mime_types | string | いいえ | 受け付ける形式です。例: ["image/png", "image/*"]。null ならすべての形式です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_bucketsのバケット名です。"
},
"public": {
"type": "boolean",
"description": "true なら公開、false なら非公開です。"
},
"file_size_limit": {
"type": [
"integer",
"string",
"null"
],
"description": "ファイル1つの最大サイズです。バイト数か \"5MB\" のようなサイズです。null なら上限なし(プランの上限まで)です。"
},
"allowed_mime_types": {
"type": [
"array",
"null"
],
"items": {
"type": "string"
},
"description": "受け付ける形式です。例: [\"image/png\", \"image/*\"]。null ならすべての形式です。"
}
},
"required": [
"ref",
"bucket"
],
"additionalProperties": false
}empty_bucket バケットを空にする
破壊的
バケット内のファイルをすべて削除します。バケットは残ります。元に戻せないので、ユーザーがはっきり求めたときだけ使い、confirm にバケット名をそのまま入れてください。removed が削除したファイル数です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/buckets/{bucket}/empty |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_bucketsのバケット名です。 |
confirm | string | はい | バケット名です。bucketと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_bucketsのバケット名です。"
},
"confirm": {
"type": "string",
"description": "バケット名です。bucketと完全に同じである必要があります。"
}
},
"required": [
"ref",
"bucket",
"confirm"
],
"additionalProperties": false
}delete_bucket バケットの削除
破壊的
空のバケットを削除します。ファイルが残っていると拒否するので、先に empty_bucket で空にしてください。元に戻せません。ユーザーがはっきり求めたときだけ使い、confirm にバケット名をそのまま入れる必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/buckets/{bucket} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_bucketsのバケット名です。 |
confirm | string | はい | バケット名です。bucket と完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_bucketsのバケット名です。"
},
"confirm": {
"type": "string",
"description": "バケット名です。bucket と完全に同じである必要があります。"
}
},
"required": [
"ref",
"bucket",
"confirm"
],
"additionalProperties": false
}list_objects ファイル一覧
読み取り専用
バケット内の1つのフォルダーを表示します。サブフォルダーとファイルの名前、サイズ、形式です。prefixでフォルダーを選び(例: avatars/2024/)、searchで名前を探します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/buckets/{bucket}/objects |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_bucketsのバケット名です。 |
prefix | string | いいえ | 表示するフォルダーです。空なら一番上です。 |
search | string | いいえ | 名前にこの語を含むものだけです。 |
limit | integer, min 1, max 1000 | いいえ | 既定は100です。 |
offset | integer, min 0 | いいえ | 飛ばす件数です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_bucketsのバケット名です。"
},
"prefix": {
"type": "string",
"description": "表示するフォルダーです。空なら一番上です。"
},
"search": {
"type": "string",
"description": "名前にこの語を含むものだけです。"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"description": "既定は100です。"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "飛ばす件数です。"
}
},
"required": [
"ref",
"bucket"
],
"additionalProperties": false
}upload_object ファイルのアップロード
破壊的
ファイルを1つバケットにアップロードします(2MBまで)。テキストはそのまま、バイナリはencodingをbase64にしてcontentにbase64を入れます。同じ名前があれば拒否し、upsertがtrueなら置き換えます。バケットのサイズと形式の制限に従います。もっと大きいファイルはストレージAPI(/storage/v1)でアップロードしてください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/buckets/{bucket}/objects |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_bucketsのバケット名です。 |
name | string | はい | バケット内のパスです。例: docs/readme.txt |
content | string | はい | ファイルの内容です(encodingがbase64ならbase64)。 |
encoding | string, utf-8 | base64 | いいえ | 既定はutf-8です。 |
content_type | string | いいえ | 例: image/png。空ならテキストまたはapplication/octet-streamです。 |
upsert | boolean | いいえ | trueなら同じ名前のファイルを置き換えます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_bucketsのバケット名です。"
},
"name": {
"type": "string",
"description": "バケット内のパスです。例: docs/readme.txt"
},
"content": {
"type": "string",
"description": "ファイルの内容です(encodingがbase64ならbase64)。"
},
"encoding": {
"type": "string",
"enum": [
"utf-8",
"base64"
],
"description": "既定はutf-8です。"
},
"content_type": {
"type": "string",
"description": "例: image/png。空ならテキストまたはapplication/octet-streamです。"
},
"upsert": {
"type": "boolean",
"description": "trueなら同じ名前のファイルを置き換えます。"
}
},
"required": [
"ref",
"bucket",
"name",
"content"
],
"additionalProperties": false
}download_object ファイルのダウンロード
読み取り専用
ファイル1つの内容を返します(2MBまで)。テキストはutf-8、バイナリはbase64で返します。もっと大きいファイルはcreate_signed_urlでアドレスを作って受け取ってください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/buckets/{bucket}/object |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_bucketsのバケット名です。 |
name | string | はい | バケット内のパスです。 |
encoding | string, utf-8 | base64 | いいえ | 空なら内容に合わせて選びます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_bucketsのバケット名です。"
},
"name": {
"type": "string",
"description": "バケット内のパスです。"
},
"encoding": {
"type": "string",
"enum": [
"utf-8",
"base64"
],
"description": "空なら内容に合わせて選びます。"
}
},
"required": [
"ref",
"bucket",
"name"
],
"additionalProperties": false
}delete_object ファイルの削除
破壊的
バケットからファイルを1つ削除します。元に戻せません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/buckets/{bucket}/object |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_bucketsのバケット名です。 |
name | string | はい | バケット内のパスです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_bucketsのバケット名です。"
},
"name": {
"type": "string",
"description": "バケット内のパスです。"
}
},
"required": [
"ref",
"bucket",
"name"
],
"additionalProperties": false
}create_upload_url アップロードURLの作成
破壊的
2MBより大きい画像や動画などのファイル1つをアップロードするURLを作ります。ファイルの中身はこのツールでは送りません。返された url にファイルのバイトを本文としてそのまま PUT し、content-type に形式(image/png、video/mp4 など)を入れてください(例: example の curl)。URLは2時間、その名前1つにだけ使えます。max_bytes より大きいファイルや allowed_mime_types にない形式は拒否されます。max_bytes より大きいファイルは blackwall://storage の再開可能アップロード(TUS)を使ってください。公開バケットなら public_url がアップロード後の公開アドレスです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/buckets/{bucket}/upload-urls |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_buckets のバケット名です。 |
name | string | はい | バケット内のパスです。例: videos/intro.mp4 |
upsert | boolean | いいえ | true なら同じ名前のファイルを置き換えます。既定では拒否します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_buckets のバケット名です。"
},
"name": {
"type": "string",
"description": "バケット内のパスです。例: videos/intro.mp4"
},
"upsert": {
"type": "boolean",
"description": "true なら同じ名前のファイルを置き換えます。既定では拒否します。"
}
},
"required": [
"ref",
"bucket",
"name"
],
"additionalProperties": false
}create_signed_url 署名付きURLの作成
破壊的
非公開バケットのファイル1つを、決まった時間だけ誰でもダウンロードできるアドレスを作ります(既定1時間、最大7日)。アドレスを持つ人はログインなしで受け取れるので、必要な分だけ作ってください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/buckets/{bucket}/signed-urls |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_bucketsのバケット名です。 |
name | string | はい | バケット内のパスです。 |
expires_in | integer, min 1, max 604800 | いいえ | 有効な秒数です。既定は3600です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_bucketsのバケット名です。"
},
"name": {
"type": "string",
"description": "バケット内のパスです。"
},
"expires_in": {
"type": "integer",
"minimum": 1,
"maximum": 604800,
"description": "有効な秒数です。既定は3600です。"
}
},
"required": [
"ref",
"bucket",
"name"
],
"additionalProperties": false
}デプロイとリポジトリ
list_deployments デプロイ
読み取り専用
このプロジェクトの最近のデプロイを新しい順に表示します。状態(queued、building、ready、error)、環境、アドレス、ブランチ、コミット、失敗した理由が含まれます。削除したデプロイは含まれません(list_deleted_deployments で表示)。next_before があれば before に渡すと次のページを表示します。url はそのデプロイ固有の dpl- アドレス、production_url はプロダクションのアドレス、preview_url はそのブランチのプレビューのアドレスです。 preview_protection はプレビューのアドレスを誰が開けるかです(members: 組織のメンバーのみ、既定 / password / off: 誰でも)。プロダクションのアドレスは常に公開なので null ですが、保護がオンなら dpl- アドレスはプロダクションのビルドでも保護されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/deployments |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
limit | integer, min 1, max 100 | いいえ | 既定は20件です。 |
before | string, pattern ^dpl-[0-9a-f]{16}$ | いいえ | このデプロイの次から(古い方)。前のページの next_before。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "既定は20件です。"
},
"before": {
"type": "string",
"pattern": "^dpl-[0-9a-f]{16}$",
"description": "このデプロイの次から(古い方)。前のページの next_before。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_deployment デプロイ1件とビルドログ
読み取り専用
デプロイ1件の状態、アドレス、ビルドログの末尾を表示します。ビルドが失敗した場合、理由はたいていログの最後の数行にあります。お客様が設定した環境変数の値は••••••で伏せられます。url はそのデプロイ固有の dpl- アドレス、production_url・preview_url はプロダクションやそのブランチのアドレスです。 preview_protection はプレビューのアドレスを誰が開けるかです(members: 組織のメンバーのみ、既定 / password / off: 誰でも)。プロダクションのアドレスは常に公開なので null です。wait(秒)を渡すとビルドが終わるまで待ちます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/deployments/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | dpl-で始まるデプロイ名です。 |
tail | integer, min 1, max 5000 | いいえ | ビルドログの末尾から何行表示するかです。既定は200行です。 |
wait | integer, min 0, max 120 | いいえ | ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "dpl-で始まるデプロイ名です。"
},
"tail": {
"type": "integer",
"minimum": 1,
"maximum": 5000,
"description": "ビルドログの末尾から何行表示するかです。既定は200行です。"
},
"wait": {
"type": "integer",
"minimum": 0,
"maximum": 120,
"description": "ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}redeploy 再デプロイ
破壊的
あるデプロイと同じコミットを、同じ環境にもう一度ビルドします。コミットとは関係のない理由(後から追加した環境変数、一時的に落ちていたパッケージレジストリ)で失敗したビルドをやり直すときに使います。プロダクションへのデプロイはオーナーと管理者のみ行えます。応答に新しいデプロイのアドレス(url、preview_url・production_url)とセキュリティチェックの結果(advisors)が含まれます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/deployments/{id}/redeploy |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | dpl-で始まるデプロイ名です。 |
wait | integer, min 0, max 120 | いいえ | ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。 |
block_on_advisors | boolean | いいえ | trueなら、get_advisors の重大なセキュリティ問題(advisors.critical)が1つでもある間、プロダクションへのデプロイを拒否します。既定のfalseはデプロイし、件数と上位3件を advisors で知らせます。プレビューは止めません。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "dpl-で始まるデプロイ名です。"
},
"wait": {
"type": "integer",
"minimum": 0,
"maximum": 120,
"description": "ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。"
},
"block_on_advisors": {
"type": "boolean",
"description": "trueなら、get_advisors の重大なセキュリティ問題(advisors.critical)が1つでもある間、プロダクションへのデプロイを拒否します。既定のfalseはデプロイし、件数と上位3件を advisors で知らせます。プレビューは止めません。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}promote_deployment プレビューをプロダクションに昇格
破壊的
完了したプレビューデプロイをプロダクションに移します。同じコミットをプロダクションの環境変数でもう一度ビルドし、完了するとプロダクションのアドレスがその結果を指します。プレビューのキーがプロダクションに届かないよう、プレビューのビルドは再利用しません。完了したプロダクションデプロイを渡すと、再ビルドせずにプロダクションのアドレスがすぐそれを指し、ロールバックによるプロダクションの保留(production_held)が解除されます。いま配信中のデプロイを渡すと保留だけ解除されます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者, project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/deployments/{id}/promote |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | 昇格するデプロイのdpl-名です。通常はプレビュー、保留を解除するときはプロダクションのデプロイです。 |
wait | integer, min 0, max 120 | いいえ | ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。 |
block_on_advisors | boolean | いいえ | trueなら、get_advisors の重大なセキュリティ問題(advisors.critical)が1つでもある間、プロダクションへのデプロイを拒否します。既定のfalseはデプロイし、件数と上位3件を advisors で知らせます。プレビューは止めません。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "昇格するデプロイのdpl-名です。通常はプレビュー、保留を解除するときはプロダクションのデプロイです。"
},
"wait": {
"type": "integer",
"minimum": 0,
"maximum": 120,
"description": "ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。"
},
"block_on_advisors": {
"type": "boolean",
"description": "trueなら、get_advisors の重大なセキュリティ問題(advisors.critical)が1つでもある間、プロダクションへのデプロイを拒否します。既定のfalseはデプロイし、件数と上位3件を advisors で知らせます。プレビューは止めません。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}rollback_deployment プロダクションのロールバック
破壊的
以前に配信していたプロダクションデプロイへ、プロダクションのアドレスを直接戻します。再ビルドはせず、数秒で切り替わります。カスタムドメインも追従します。応答にそのデプロイの url と production_url が含まれます。その後プロダクションは保留されます(production_held): 新しいプロダクションビルドは作られますが、promote_deployment で昇格するまで配信されません。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/deployments/{id}/rollback |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | 戻す先のプロダクションデプロイのdpl-名です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "戻す先のプロダクションデプロイのdpl-名です。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}deploy_source アップロード済みソースのデプロイ
破壊的
POST /deployments/sources(またはoneend deploy)でアップロード済みのアーカイブを、source(SHA-256)で選んでデプロイします。同じソースをプレビューで確認してからプロダクションへデプロイするときに使います。ほかの引数はdeploy_filesと同じです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/deployments |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
source | string, pattern ^[0-9a-f]{64}$ | はい | アップロード時に受け取ったsourceです(64文字のSHA-256)。 |
target | string, preview | production | いいえ | 既定はpreviewです。 |
prebuilt | boolean | いいえ | trueならビルドせずにそのまま配信します。 |
app | string | いいえ | デプロイするアプリです(list_appsのname)。アプリが1つなら省略します。 |
branch | string | いいえ | プレビューの名前で、プレビューのアドレスになります。既定はpreviewです。 |
message | string | いいえ | デプロイ一覧に残すメモです(任意)。 |
wait | integer, min 0, max 120 | いいえ | ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。 |
block_on_advisors | boolean | いいえ | trueなら、get_advisors の重大なセキュリティ問題(advisors.critical)が1つでもある間、プロダクションへのデプロイを拒否します。既定のfalseはデプロイし、件数と上位3件を advisors で知らせます。プレビューは止めません。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"source": {
"type": "string",
"pattern": "^[0-9a-f]{64}$",
"description": "アップロード時に受け取ったsourceです(64文字のSHA-256)。"
},
"target": {
"type": "string",
"enum": [
"preview",
"production"
],
"description": "既定はpreviewです。"
},
"prebuilt": {
"type": "boolean",
"description": "trueならビルドせずにそのまま配信します。"
},
"app": {
"type": "string",
"description": "デプロイするアプリです(list_appsのname)。アプリが1つなら省略します。"
},
"branch": {
"type": "string",
"description": "プレビューの名前で、プレビューのアドレスになります。既定はpreviewです。"
},
"message": {
"type": "string",
"description": "デプロイ一覧に残すメモです(任意)。"
},
"wait": {
"type": "integer",
"minimum": 0,
"maximum": 120,
"description": "ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。"
},
"block_on_advisors": {
"type": "boolean",
"description": "trueなら、get_advisors の重大なセキュリティ問題(advisors.critical)が1つでもある間、プロダクションへのデプロイを拒否します。既定のfalseはデプロイし、件数と上位3件を advisors で知らせます。プレビューは止めません。"
}
},
"required": [
"ref",
"source"
],
"additionalProperties": false
}create_source_upload_url デプロイ用アーカイブのアップロードURLの作成
追加のみ
deploy_files に収まらない大きなサイト(3MB 超)をリポジトリなしでデプロイするときに使います。アーカイブ(.zip、.tar、.tar.gz)1つをアップロードするURLを作ります。アーカイブの中身はこのツールでは送りません。返された url にアーカイブを本文としてそのまま PUT すると(例: example の curl、トークンなし)答えに source が返り、その source で deploy_source を呼ぶとデプロイされます。URLは1時間、このプロジェクトにだけ使え、max_bytes まで受け付けます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/deployments/sources/upload-urls |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_deploy_hooks デプロイフック
読み取り専用
デプロイフックとそのアドレスを表示します。アドレスにPOSTするとそのブランチの最新コミットをビルドするため、アドレス自体がシークレットです。読み取り権限のトークンには各アドレスの末尾4文字だけを表示します(secret_hidden)。書き込み権限のトークンならすべて表示します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | secrets.read オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/deploy-hooks |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_deploy_hook デプロイフックの作成
追加のみ
pushなしでビルドを起動するアドレスを作成します。CMSで記事を公開したときや、予約ジョブから呼び出してください。プロダクションブランチのフックはオーナーと管理者のみ作成できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/deploy-hooks |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
app | string | はい | list_appsの名前です。 |
branch | string | はい | 最新コミットをビルドするブランチです。 |
name | string | いいえ | フックを見分けるための名前です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"app": {
"type": "string",
"description": "list_appsの名前です。"
},
"branch": {
"type": "string",
"description": "最新コミットをビルドするブランチです。"
},
"name": {
"type": "string",
"description": "フックを見分けるための名前です。"
}
},
"required": [
"ref",
"app",
"branch"
],
"additionalProperties": false
}remove_deploy_hook デプロイフックの削除
破壊的
デプロイフックを削除します。そのアドレスを呼び出していたものは、もうデプロイを起こしません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/deploy-hooks/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_deploy_hooksのidです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_deploy_hooksのidです。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}list_apps 接続済みリポジトリとビルド設定
読み取り専用
このプロジェクトにデプロイするリポジトリごとに、プロダクションブランチ、ビルドするフォルダー(root_directory)、フレームワークプリセット(framework。nullなら自動検出)と、ビルドコマンド・出力ディレクトリ・インストールコマンドの上書き(build_command、output_directory、install_command。nullならプリセットの既定値)を表示します。detected_frameworkは最新のビルドが使ったフレームワーク、frameworksは選べるプリセットの一覧です。リポジトリは最初のpushで表示されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/apps |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}delete_app アプリの削除
破壊的
プロジェクトのアプリ1つを削除します(モノレポでフォルダーをなくしたアプリ)。アドレスはすぐに応答しなくなり、進行中のビルドは取り消され、デプロイは復元できない形で削除され、ファイルは数分以内に消えます。リポジトリにフォルダーが残っていても、プッシュで再びビルドしません。元に戻せません。プロジェクトの既定のサイト、ドメインがつながったアプリ、ディスクのあるアプリは断り、先にすることを伝えます。ユーザーがはっきり求めたときだけ使い、confirmにアプリ名をそのまま入れてください。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/apps/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | list_appsのname。 |
confirm | string | はい | アプリ名。nameとまったく同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "list_appsのname。"
},
"confirm": {
"type": "string",
"description": "アプリ名。nameとまったく同じである必要があります。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}update_app ビルド設定の変更
破壊的
リポジトリ1つのプロダクションブランチ、ビルドするフォルダー、フレームワークプリセット、ビルドコマンド・出力ディレクトリ・インストールコマンドを変更します。モノレポの場合は、アプリのフォルダー(例: apps/web)をroot_directoryに指定してください。指定しなかった値はそのまま残り、nullを指定すると自動検出(プリセットの既定値)に戻ります。コマンドに空文字列を指定すると、その手順を飛ばします。リポジトリのblackwall.jsonに同じ項目があれば、そちらが優先されます。次のデプロイから反映されます。ただしport(サーバーが待ち受けるポート)は1分以内にサーバーを再起動して反映します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/apps/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | list_appsの名前です。 |
production_branch | string | いいえ | プロダクションにデプロイするブランチです。 |
root_directory | string | いいえ | リポジトリからの相対パスです。リポジトリ全体なら"."です。 |
framework | string, auto | next | vite | astro | sveltekit | nuxt | remix | react-router | angular | create-react-app | gatsby | docusaurus | vitepress | eleventy | hugo | solidstart | qwik | node | static | docker | null | いいえ | フレームワークプリセットです。"auto"またはnullならビルドのたびに自動検出します。"static"はその他(静的ファイル)です。 |
build_command | string | いいえ | ビルドコマンドの上書き(1行)です。nullならプリセットの既定値、空文字列ならビルドを飛ばします。 |
output_directory | string | いいえ | 出力ディレクトリの上書きです。root_directory内の相対パス(例: dist)。nullならプリセットの既定値です。 |
install_command | string | いいえ | インストールコマンドの上書き(1行)です。nullならロックファイルに合わせた既定値、空文字列ならインストールを飛ばします。 |
run_as | string, platform | image | いいえ | サーバーを誰として実行するかです。platform(既定)は一般ユーザー(10001)、image はイメージが指定するユーザー(root を含む)で gVisor の分離環境の中で実行します。公式 WordPress イメージのように root で起動する必要がある Dockerfile アプリにだけ image を使ってください。再ビルドなしで1分以内にサーバーが再起動します。 |
port | string, min 1, max 65535 | いいえ | サーバーがコンテナ内で待ち受けるポートです。nullならイメージのEXPOSE、なければ3000です。変更すると1分以内にサーバーが再起動します(再デプロイは不要です)。 |
build_machine | string, standard | enhanced | turbo | xl | max | いいえ | ビルドマシンの大きさです。standard は CPU 2・6GB、enhanced は CPU 4・12GB(ビルド時間 2 倍)、turbo は CPU 8・24GB(4 倍)、xl は CPU 16・48GB(8 倍)、max は CPU 32・96GB(16 倍)。xl と max は Enterprise プランでご利用いただけます。メモリ不足でビルドが止まるときに大きくしてください。次のビルドから適用されます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "list_appsの名前です。"
},
"production_branch": {
"type": "string",
"description": "プロダクションにデプロイするブランチです。"
},
"root_directory": {
"type": "string",
"description": "リポジトリからの相対パスです。リポジトリ全体なら\".\"です。"
},
"framework": {
"type": [
"string",
"null"
],
"enum": [
"auto",
"next",
"vite",
"astro",
"sveltekit",
"nuxt",
"remix",
"react-router",
"angular",
"create-react-app",
"gatsby",
"docusaurus",
"vitepress",
"eleventy",
"hugo",
"solidstart",
"qwik",
"node",
"static",
"docker",
null
],
"description": "フレームワークプリセットです。\"auto\"またはnullならビルドのたびに自動検出します。\"static\"はその他(静的ファイル)です。"
},
"build_command": {
"type": [
"string",
"null"
],
"description": "ビルドコマンドの上書き(1行)です。nullならプリセットの既定値、空文字列ならビルドを飛ばします。"
},
"output_directory": {
"type": [
"string",
"null"
],
"description": "出力ディレクトリの上書きです。root_directory内の相対パス(例: dist)。nullならプリセットの既定値です。"
},
"install_command": {
"type": [
"string",
"null"
],
"description": "インストールコマンドの上書き(1行)です。nullならロックファイルに合わせた既定値、空文字列ならインストールを飛ばします。"
},
"run_as": {
"type": "string",
"enum": [
"platform",
"image"
],
"description": "サーバーを誰として実行するかです。platform(既定)は一般ユーザー(10001)、image はイメージが指定するユーザー(root を含む)で gVisor の分離環境の中で実行します。公式 WordPress イメージのように root で起動する必要がある Dockerfile アプリにだけ image を使ってください。再ビルドなしで1分以内にサーバーが再起動します。"
},
"port": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 65535,
"description": "サーバーがコンテナ内で待ち受けるポートです。nullならイメージのEXPOSE、なければ3000です。変更すると1分以内にサーバーが再起動します(再デプロイは不要です)。"
},
"build_machine": {
"type": "string",
"enum": [
"standard",
"enhanced",
"turbo",
"xl",
"max"
],
"description": "ビルドマシンの大きさです。standard は CPU 2・6GB、enhanced は CPU 4・12GB(ビルド時間 2 倍)、turbo は CPU 8・24GB(4 倍)、xl は CPU 16・48GB(8 倍)、max は CPU 32・96GB(16 倍)。xl と max は Enterprise プランでご利用いただけます。メモリ不足でビルドが止まるときに大きくしてください。次のビルドから適用されます。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}get_preview_protection プレビューの保護
読み取り専用
プロダクション以外のデプロイ(ブランチのプレビュー、デプロイごとのアドレス)を誰が開けるかを表示します: off、members(組織のメンバーのみ)、password。保護するアドレス(scope)、サインインなしで通す IP(trusted_ips)、確認せずに通すパス(options_paths)、バイパスキー(bypass_secrets、値は末尾4文字のみ)、共有リンク(share_links)も返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/preview-protection |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_preview_protection プレビューの保護の変更
破壊的
プレビューを開ける人を変更します。membersはコンソールにログインした組織のメンバー、passwordは共有のパスワード1つ(初回は8文字以上のパスワードが必要)、offは誰でもです。プロダクションのアドレスと接続済みのドメインは常に公開です。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | PUT /projects/{ref}/preview-protection |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
mode | string, off | members | password | はい | off、members、passwordのいずれかです。 |
password | string | いいえ | modeがpasswordのときです。空なら設定済みのパスワードを保ちます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"mode": {
"type": "string",
"enum": [
"off",
"members",
"password"
],
"description": "off、members、passwordのいずれかです。"
},
"password": {
"type": "string",
"description": "modeがpasswordのときです。空なら設定済みのパスワードを保ちます。"
}
},
"required": [
"ref",
"mode"
],
"additionalProperties": false
}get_branch_previews ブランチプレビュー
読み取り専用
このプロジェクトの組織で、本番ブランチ以外へのプッシュでプレビューをビルドするかを表示します(branch_previews)。false なら本番ブランチ (通常は main) に入ったものだけをビルドします。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/branch-previews |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_branch_previews ブランチプレビューの変更
破壊的
組織全体で、ブランチへのプッシュごとにプレビューをビルドするかを決めます。false なら本番ブランチ (通常は main) に入ったものだけをビルドし、スキップしたプッシュはデプロイ履歴にスキップとして残ります。再デプロイ、直接アップロードしたデプロイ、デプロイフックは通常どおりビルドします。この組織のすべてのプロジェクトに適用されます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | team.manage オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/branch-previews |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | はい | true ならブランチへのプッシュごとにプレビューをビルドします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "true ならブランチへのプッシュごとにプレビューをビルドします。"
}
},
"required": [
"ref",
"enabled"
],
"additionalProperties": false
}list_env_vars 環境変数
読み取り専用
デプロイしたアプリがビルドと実行時に受け取る環境変数です。同じ名前をプロダクションとプレビューで別々に持てます。機密の値は返さず、末尾4文字だけがvalue_hintとして返ります。readableがfalseの場合は値を開けずビルドからも除かれるため、もう一度保存してください。automaticは保存しなくても入る自動で入る変数です: SUPABASE_URL、NEXT_PUBLIC_SUPABASE_URL、SUPABASE_ANON_KEY、NEXT_PUBLIC_SUPABASE_ANON_KEY、NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY、SUPABASE_SERVICE_ROLE_KEY。Supabaseから移したアプリがすでに読んでいる名前です。available_inは入る場所です: 公開の値はビルドと実行時(build, runtime)、SUPABASE_SERVICE_ROLE_KEYは実行時のみ(runtime: サーバー・ミドルウェア・関数)で、ビルドには入りません。同じ名前で保存した変数が優先され、保存した値はビルドにも入ります(overridden_in)。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | secrets.read オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/env |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_env_vars 環境変数の保存
破壊的
環境変数を1つ以上保存します。variablesで1つずつ指定するか、dotenvに.envファイルの内容を丸ごと渡せます。同じ名前があれば上書きします。1つでも不正なものがあれば、何も保存しません。ただし dotenv のうちプラットフォームが設定する名前の行は飛ばし、skipped で知らせます。PORT、HOST、HOSTNAME、HOME とBLACKWALL_で始まる名前はプラットフォームが使うため設定できません。ビルドにはCI=1が入りますが、CIを自分で設定すると(CI=falseなど)その値を使います。変更した値は次のデプロイからビルドに使われます。sensitiveを指定しないと、シークレットらしい名前(API_KEY、STRIPE_SECRET、DATABASE_URLなど)は機密の値として保存し、再び読めなくなります(sensitive_keys)。プロダクションの値はオーナーと管理者のみ変更できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/env |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
variables | array<object> | いいえ | { key, value } のリストです。 |
dotenv | string | いいえ | .envファイルの内容です。コメントと空行は読み飛ばします。 |
targets | array<string>, production | preview | development, min items 1 | はい | previewは、プロダクションブランチ以外のすべてのブランチのデプロイを意味します。 |
sensitive | boolean | いいえ | trueなら保存後に値を再び読めなくなります。指定しないと、名前にSECRET、TOKEN、PASSWORD、PRIVATE、DSN、DATABASE_URL、KEY_を含むか_KEYで終わる変数だけを機密の値として保存します。falseならすべて読める状態のままです。 |
app | string | いいえ | そのアプリだけに保存するときのアプリ名(list_appsのname)です。同じ名前のプロジェクト変数より優先します。空の場合はプロジェクトのすべてのアプリです。 |
branch | string, max length 200 | いいえ | そのgitブランチのプレビューだけに保存するときのブランチ名です。targetsはpreviewのみにしてください。appと一緒に使うと、そのアプリのそのブランチだけに入ります。空の場合はすべてのプレビューです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"variables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"key",
"value"
],
"additionalProperties": false
},
"description": "{ key, value } のリストです。"
},
"dotenv": {
"type": "string",
"description": ".envファイルの内容です。コメントと空行は読み飛ばします。"
},
"targets": {
"type": "array",
"items": {
"type": "string",
"enum": [
"production",
"preview",
"development"
]
},
"minItems": 1,
"description": "previewは、プロダクションブランチ以外のすべてのブランチのデプロイを意味します。"
},
"sensitive": {
"type": "boolean",
"description": "trueなら保存後に値を再び読めなくなります。指定しないと、名前にSECRET、TOKEN、PASSWORD、PRIVATE、DSN、DATABASE_URL、KEY_を含むか_KEYで終わる変数だけを機密の値として保存します。falseならすべて読める状態のままです。"
},
"app": {
"type": "string",
"description": "そのアプリだけに保存するときのアプリ名(list_appsのname)です。同じ名前のプロジェクト変数より優先します。空の場合はプロジェクトのすべてのアプリです。"
},
"branch": {
"type": "string",
"maxLength": 200,
"description": "そのgitブランチのプレビューだけに保存するときのブランチ名です。targetsはpreviewのみにしてください。appと一緒に使うと、そのアプリのそのブランチだけに入ります。空の場合はすべてのプレビューです。"
}
},
"required": [
"ref",
"targets"
],
"additionalProperties": false
}remove_env_var 環境変数の削除
破壊的
プロダクションかプレビューのどちらか一方から環境変数を1つ削除します。機密の値だった場合は復元できません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/env/{target}/{key} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string | はい | 変数名です。 |
target | string, production | preview | development | はい | productionまたはpreviewです。 |
app | string | いいえ | 1つのアプリだけに保存した変数を削除するときのアプリ名です。空の場合はプロジェクトの変数です。 |
branch | string, max length 200 | いいえ | 1つのブランチのプレビューだけに保存した変数を削除するときのブランチ名です(list_env_varsのbranch)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"description": "変数名です。"
},
"target": {
"type": "string",
"enum": [
"production",
"preview",
"development"
],
"description": "productionまたはpreviewです。"
},
"app": {
"type": "string",
"description": "1つのアプリだけに保存した変数を削除するときのアプリ名です。空の場合はプロジェクトの変数です。"
},
"branch": {
"type": "string",
"maxLength": 200,
"description": "1つのブランチのプレビューだけに保存した変数を削除するときのブランチ名です(list_env_varsのbranch)。"
}
},
"required": [
"ref",
"key",
"target"
],
"additionalProperties": false
}list_git_access Git 接続
読み取り専用
コンソールの「Git 接続」と同じです。このプロジェクトがデプロイするリポジトリ(connected: プッシュでデプロイするか)、接続した GitHub アカウント(github_accounts)、非公開リポジトリの取得方法(GitHubまたはGitLabトークンの末尾4文字、GitHub Appのインストール)を表示します。非公開リポジトリのビルドが取得の段階で失敗する場合は、まずここを見てください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/git |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_repo_token リポジトリトークンの保存
破壊的
非公開リポジトリの取得に使うアクセストークンを保存します(読み取り権限で十分です)。封印され、二度と表示されません。セルフホストのGitLabなら、gitlab_baseにhttps://gitlab.example.comを指定してください。次のビルドから使われます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/git/tokens/{provider} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
provider | string, github | gitlab | bitbucket | はい | githubまたはgitlabです。 |
token | string | はい | アクセストークンです。読み取り権限で十分です。 |
gitlab_base | string | いいえ | セルフホストのGitLabのアドレスです。gitlab.comなら空にします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"provider": {
"type": "string",
"enum": [
"github",
"gitlab",
"bitbucket"
],
"description": "githubまたはgitlabです。"
},
"token": {
"type": "string",
"description": "アクセストークンです。読み取り権限で十分です。"
},
"gitlab_base": {
"type": "string",
"description": "セルフホストのGitLabのアドレスです。gitlab.comなら空にします。"
}
},
"required": [
"ref",
"provider",
"token"
],
"additionalProperties": false
}remove_repo_token リポジトリトークンの削除
破壊的
保存したトークンを削除します。接続済みのGitHub Appのインストールは残ります。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/git/tokens/{provider} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
provider | string, github | gitlab | bitbucket | はい | githubまたはgitlabです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"provider": {
"type": "string",
"enum": [
"github",
"gitlab",
"bitbucket"
],
"description": "githubまたはgitlabです。"
}
},
"required": [
"ref",
"provider"
],
"additionalProperties": false
}add_repository リポジトリの追加
追加のみ 外部に届く
最初のpushの前に、リポジトリをこのプロジェクトに紐付けます。以後GitHub Appを通じたpushはこのプロジェクトに届き、create_deploy_hookでpushなしにビルドできます。repoはGitHubならowner/name、GitLabならgroup/nameです。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/git/repos |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
provider | string, github | gitlab | bitbucket | はい | githubまたはgitlabです。 |
repo | string | はい | GitHubならowner/name、GitLabならgroup/nameです。 |
branch | string | いいえ | プロダクションブランチです。空ならmainです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"provider": {
"type": "string",
"enum": [
"github",
"gitlab",
"bitbucket"
],
"description": "githubまたはgitlabです。"
},
"repo": {
"type": "string",
"description": "GitHubならowner/name、GitLabならgroup/nameです。"
},
"branch": {
"type": "string",
"description": "プロダクションブランチです。空ならmainです。"
}
},
"required": [
"ref",
"provider",
"repo"
],
"additionalProperties": false
}list_importable_repositories インポートするリポジトリを探す
読み取り専用 外部に届く
コンソールの Git 接続 → リポジトリのインポート一覧と同じです。接続した GitHub アカウントの GitHub App が見られるリポジトリを、最近プッシュした順に50個まで表示します。query を指定すると、300個を超えるインストールでもすべてから探します。GitHub でリポジトリを追加したばかりなら refresh: true。アカウントが複数あれば installation で選びます(list_git_access の github_accounts)。オーナーと管理者のみ見られます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/git/importable |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
query | string | いいえ | リポジトリ名の一部です。空なら最近プッシュした順です。 |
installation | integer | いいえ | どの GitHub アカウントのインストールかです。空なら既定のアカウントです。 |
refresh | boolean | いいえ | GitHub にもう一度問い合わせます(1分のキャッシュを飛ばします)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"query": {
"type": "string",
"description": "リポジトリ名の一部です。空なら最近プッシュした順です。"
},
"installation": {
"type": "integer",
"description": "どの GitHub アカウントのインストールかです。空なら既定のアカウントです。"
},
"refresh": {
"type": "boolean",
"description": "GitHub にもう一度問い合わせます(1分のキャッシュを飛ばします)。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}import_repository リポジトリのインポート
破壊的 外部に届く
コンソールの [接続してデプロイ] と同じです。GitHub App が見られるリポジトリをこのプロジェクトに接続し、プロダクションブランチの最新コミットで最初のデプロイをすぐ始めます。branch が空ならリポジトリの既定ブランチです。ビルド設定(framework など)と環境変数(dotenv に .env の内容)を最初のビルドの前に保存します。接続を解除したリポジトリをもう一度インポートすると、設定のまま接続し直します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/git/import |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
repo | string | はい | owner/name です。list_importable_repositories の repo です。 |
branch | string | いいえ | プロダクションブランチです。空ならリポジトリの既定ブランチです。 |
root_directory | string | いいえ | モノレポのアプリフォルダ(例: apps/web)です。空ならリポジトリの最上位です。接続済みのリポジトリで別のフォルダを指定すると新しいアプリとして追加します。 |
app | string | いいえ | アプリ名(コンソールの「アプリ名」)です。空ならフォルダ名、なければリポジトリ名です。同じ名前のアプリがあればその設定を変えます。 |
installation | integer | いいえ | どの GitHub アカウントのインストールで取得するかです。空ならリポジトリの持ち主のアカウントです。 |
framework | string, auto | next | vite | astro | sveltekit | nuxt | remix | react-router | angular | create-react-app | gatsby | docusaurus | vitepress | eleventy | hugo | solidstart | qwik | node | static | docker | null | いいえ | フレームワークのプリセットです。空か "auto" なら自動検出します。 |
build_command | string | いいえ | ビルドコマンドの上書き(1行)です。空文字ならビルドを飛ばします。 |
output_directory | string | いいえ | 出力ディレクトリの上書き(例: dist)です。 |
install_command | string | いいえ | インストールコマンドの上書き(1行)です。 |
dotenv | string | いいえ | .env ファイルの内容です。プロダクションとプレビューの両方に保存します。 |
sensitive | boolean | いいえ | dotenv の値を保存したあと二度と表示しません。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"repo": {
"type": "string",
"description": "owner/name です。list_importable_repositories の repo です。"
},
"branch": {
"type": "string",
"description": "プロダクションブランチです。空ならリポジトリの既定ブランチです。"
},
"root_directory": {
"type": "string",
"description": "モノレポのアプリフォルダ(例: apps/web)です。空ならリポジトリの最上位です。接続済みのリポジトリで別のフォルダを指定すると新しいアプリとして追加します。"
},
"app": {
"type": "string",
"description": "アプリ名(コンソールの「アプリ名」)です。空ならフォルダ名、なければリポジトリ名です。同じ名前のアプリがあればその設定を変えます。"
},
"installation": {
"type": "integer",
"description": "どの GitHub アカウントのインストールで取得するかです。空ならリポジトリの持ち主のアカウントです。"
},
"framework": {
"type": [
"string",
"null"
],
"enum": [
"auto",
"next",
"vite",
"astro",
"sveltekit",
"nuxt",
"remix",
"react-router",
"angular",
"create-react-app",
"gatsby",
"docusaurus",
"vitepress",
"eleventy",
"hugo",
"solidstart",
"qwik",
"node",
"static",
"docker",
null
],
"description": "フレームワークのプリセットです。空か \"auto\" なら自動検出します。"
},
"build_command": {
"type": [
"string",
"null"
],
"description": "ビルドコマンドの上書き(1行)です。空文字ならビルドを飛ばします。"
},
"output_directory": {
"type": [
"string",
"null"
],
"description": "出力ディレクトリの上書き(例: dist)です。"
},
"install_command": {
"type": [
"string",
"null"
],
"description": "インストールコマンドの上書き(1行)です。"
},
"dotenv": {
"type": "string",
"description": ".env ファイルの内容です。プロダクションとプレビューの両方に保存します。"
},
"sensitive": {
"type": "boolean",
"description": "dotenv の値を保存したあと二度と表示しません。"
}
},
"required": [
"ref",
"repo"
],
"additionalProperties": false
}disconnect_repository リポジトリの接続解除
破壊的
コンソールの Git 接続 → リポジトリの [接続を解除] と同じです。このリポジトリにプッシュしてもデプロイしなくなります。公開中のデプロイ、履歴、ビルド設定、環境変数はそのままで、import_repository で同じリポジトリをインポートすると接続し直します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | DELETE /projects/{ref}/git/repos/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | list_git_access の repositories[].name です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "list_git_access の repositories[].name です。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}set_checks_on_server チェックを One Server で実行
破壊的
接続した GitHub リポジトリの GitHub Actions のチェックを One Server のマシンで実行するかを切り替えます。コンソールの Git 接続 → [チェックを One Server で実行] と同じです。オンにするとリポジトリ変数 POOL_RUNNER を保存し、ジョブが runs-on: ${{ vars.POOL_RUNNER || 'ubuntu-latest' }} を使うと One Server で動きます。オフにすると変数を削除し、GitHub のマシンに戻ります。state が needs_permission なら、permission_url で GitHub App の新しい権限を承認すると自動でオンになります。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/git/checks/{repo}/{repo} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
repo | string | はい | list_git_access の repositories[].repo(owner/name)です。 |
enabled | boolean | はい | true でオン、false でオフです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"repo": {
"type": "string",
"description": "list_git_access の repositories[].repo(owner/name)です。"
},
"enabled": {
"type": "boolean",
"description": "true でオン、false でオフです。"
}
},
"required": [
"ref",
"repo",
"enabled"
],
"additionalProperties": false
}unlink_github_app GitHub アカウントの接続解除
破壊的
このプロジェクトと GitHub アカウント(GitHub App のインストール)の接続を解除します。installation を指定するとそのアカウントだけ、空ならすべてです。保存したトークンと GitHub の App のインストールは残ります。接続には GitHub 上で人が承認する必要があるため、接続はコンソールでのみ行えます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/git/github-app, DELETE /projects/{ref}/git/github-app/{installation} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
installation | integer | いいえ | list_git_access の github_accounts[].installation_id です。空ならすべてです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"installation": {
"type": "integer",
"description": "list_git_access の github_accounts[].installation_id です。空ならすべてです。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_server_memory サーバーメモリ
読み取り専用
このプロジェクトのサーバーデプロイが使うメモリ(MB)と CPU 数、プランの上限、1GB・時間あたりの料金と、1か月動かし続けたときの金額です。本番とブランチのアドレスのサーバーはリクエストがなくても常に動いている(最小インスタンス 1)ため、その金額がサーバー 1 つの 1 か月の料金です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/server-memory |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_server_memory サーバーメモリの変更
破壊的
このプロジェクトのサーバーデプロイ(Node サーバー、ワーカー)が使うメモリを 512・1024・2048・4096MB から選びます。1024MB を超えると CPU は2つです。使った分は runtime_gb_hour で計量されます。1分以内に新しいサイズで再起動します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | PUT /projects/{ref}/server-memory |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
memory_mb | integer, 512 | 1024 | 2048 | 4096 | はい | メモリ(MB): 512、1024、2048、4096 のいずれか。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"memory_mb": {
"type": "integer",
"enum": [
512,
1024,
2048,
4096
],
"description": "メモリ(MB): 512、1024、2048、4096 のいずれか。"
}
},
"required": [
"ref",
"memory_mb"
],
"additionalProperties": false
}get_concurrent_builds 同時ビルド
読み取り専用
このプロジェクトのビルドを同時にいくつまで動かすかです。null ならビルダーが許すだけ動きます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/concurrent-builds |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_concurrent_builds 同時ビルドの変更
破壊的
このプロジェクトのビルドを同時にいくつまで動かすかを 1〜20 で決めるか、null で上限をなくします。超えたビルドはキューで待ち、前のビルドが終わると始まります。待っているあいだはビルド時間が請求されません。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/concurrent-builds |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
concurrent_builds | string, min 1, max 20 | はい | 1〜20 の整数、または上限なしの null。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"concurrent_builds": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 20,
"description": "1〜20 の整数、または上限なしの null。"
}
},
"required": [
"ref",
"concurrent_builds"
],
"additionalProperties": false
}list_gpu GPU ジョブとサーバー
読み取り専用
このプロジェクトの GPU ジョブ(最新50件)、GPU サーバー、GPU ストレージ、マシンごとの1時間料金とストレージ1GB・月の料金、選べる地域とデータセンター、組織が同時に使える GPU の数と今使っている数を返します。無料プランでは GPU を使えません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/gpu |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_gpu_job GPU ジョブを作る
破壊的
GPU を借りて、公開コンテナイメージでコマンドを最後まで実行します(学習、一括処理)。コマンドが終わるか max_minutes を過ぎると GPU を返し、使った秒数をマシンごとの時間料金で請求します。結果はプロジェクトのストレージなど外部に保存しないと残りません。イメージには開始と終了を知らせるため curl、wget、python3 のいずれかが必要です。イメージの取得も GPU の使用時間なので請求され、max_minutes にも含まれます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/gpu/jobs |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
gpu | string, rtx4090 | l40s | a100 | h100 | はい | rtx4090、l40s、a100、h100 のいずれか |
image | string | はい | 公開イメージ。例: pytorch/pytorch:2.4.0-cuda12.1-cudnn9-runtime |
command | string | はい | sh で実行するコマンド |
name | string | いいえ | 名前 |
env | object | いいえ | 環境変数。封印して保管します |
max_minutes | integer, min 1, max 10080 | いいえ | 既定は60分 |
region | string, auto | asia | us | eu | いいえ | 借りる地域。既定は auto(空きマシンがあるところならどこでも)。asia は日本・インドです。ストレージを選ぶと、そのストレージのデータセンターで借ります。 |
volume | string | いいえ | /workspace に付ける GPU ストレージの名前(create_gpu_volume で作ったもの) |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"gpu": {
"type": "string",
"enum": [
"rtx4090",
"l40s",
"a100",
"h100"
],
"description": "rtx4090、l40s、a100、h100 のいずれか"
},
"image": {
"type": "string",
"description": "公開イメージ。例: pytorch/pytorch:2.4.0-cuda12.1-cudnn9-runtime"
},
"command": {
"type": "string",
"description": "sh で実行するコマンド"
},
"name": {
"type": "string",
"description": "名前"
},
"env": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "環境変数。封印して保管します"
},
"max_minutes": {
"type": "integer",
"minimum": 1,
"maximum": 10080,
"description": "既定は60分"
},
"region": {
"type": "string",
"enum": [
"auto",
"asia",
"us",
"eu"
],
"description": "借りる地域。既定は auto(空きマシンがあるところならどこでも)。asia は日本・インドです。ストレージを選ぶと、そのストレージのデータセンターで借ります。"
},
"volume": {
"type": "string",
"description": "/workspace に付ける GPU ストレージの名前(create_gpu_volume で作ったもの)"
}
},
"required": [
"ref",
"gpu",
"image",
"command"
],
"additionalProperties": false
}get_gpu_job GPU ジョブを見る
読み取り専用
GPU ジョブ1件の状態、使った時間と金額、終了コード、出力の最後の部分(最大64KB)を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/gpu/jobs/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | ジョブ ID |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "ジョブ ID"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}cancel_gpu_job GPU ジョブを止める
破壊的
GPU ジョブを止めます。開始前なら開始せず、実行中なら GPU を返します。返すまでの時間は請求されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/gpu/jobs/{id}/cancel |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | ジョブ ID |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "ジョブ ID"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}create_gpu_server GPU サーバーを作る
破壊的
公開イメージでモデルを動かしておく GPU サーバーを作ります。https://<ref>.<zone>/gpu/v1/servers/<name>/ を secret キーで呼ぶと、止まっていれば起動し(その間は503)、リクエストを渡します。idle_minutes の間リクエストがなければ止めます(0は動かし続けます)。起動を始めた時点から止まるまで、イメージの取得時間も含めて秒単位で請求します。サーバーには x-oneend-gpu-token ヘッダーと同じ値が ONEEND_GPU_TOKEN で渡ります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/gpu/servers |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | 英小文字、数字、ハイフン |
gpu | string, rtx4090 | l40s | a100 | h100 | はい | rtx4090、l40s、a100、h100 のいずれか |
image | string | はい | 公開イメージ。例: vllm/vllm-openai:latest |
command | string | いいえ | 空ならイメージ既定のコマンド |
env | object | いいえ | 環境変数。封印して保管します |
port | integer, min 1, max 65535 | いいえ | 既定は8000 |
idle_minutes | integer, min 0, max 1440 | いいえ | 既定は15分、0は動かし続けます |
region | string, auto | asia | us | eu | いいえ | 借りる地域。既定は auto(空きマシンがあるところならどこでも)。asia は日本・インドです。ストレージを選ぶと、そのストレージのデータセンターで借ります。 |
volume | string | いいえ | /workspace に付ける GPU ストレージの名前(create_gpu_volume で作ったもの) |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "英小文字、数字、ハイフン"
},
"gpu": {
"type": "string",
"enum": [
"rtx4090",
"l40s",
"a100",
"h100"
],
"description": "rtx4090、l40s、a100、h100 のいずれか"
},
"image": {
"type": "string",
"description": "公開イメージ。例: vllm/vllm-openai:latest"
},
"command": {
"type": "string",
"description": "空ならイメージ既定のコマンド"
},
"env": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "環境変数。封印して保管します"
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535,
"description": "既定は8000"
},
"idle_minutes": {
"type": "integer",
"minimum": 0,
"maximum": 1440,
"description": "既定は15分、0は動かし続けます"
},
"region": {
"type": "string",
"enum": [
"auto",
"asia",
"us",
"eu"
],
"description": "借りる地域。既定は auto(空きマシンがあるところならどこでも)。asia は日本・インドです。ストレージを選ぶと、そのストレージのデータセンターで借ります。"
},
"volume": {
"type": "string",
"description": "/workspace に付ける GPU ストレージの名前(create_gpu_volume で作ったもの)"
}
},
"required": [
"ref",
"name",
"gpu",
"image"
],
"additionalProperties": false
}stop_gpu_server GPU サーバーを止める
破壊的
GPU サーバーを今止めます。止まるまでの時間は請求します。次のリクエストでまた起動します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/gpu/servers/{name}/stop |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | サーバー名 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "サーバー名"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}delete_gpu_server GPU サーバーを削除する
破壊的
GPU サーバーを削除します。動いていれば先に止めてから削除します。元に戻せないので、confirm に GPU サーバー名をそのまま入れてください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/gpu/servers/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | サーバー名 |
confirm | string | はい | GPU サーバー名です。nameと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "サーバー名"
},
"confirm": {
"type": "string",
"description": "GPU サーバー名です。nameと完全に同じである必要があります。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}create_gpu_volume GPU ストレージを作る
破壊的
モデルとデータを残しておく GPU ストレージを1つのデータセンターに作ります。ジョブやサーバーに volume として名前を渡すと /workspace に付き、毎回ダウンロードし直さずに済みます。ストレージがある間は、使っても使わなくても1GB・月の料金で請求します。そのストレージを使うジョブとサーバーは、そのデータセンターでしか GPU を借りられません。無料プランでは使えません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/gpu/volumes |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | 英小文字、数字、ハイフン |
size_gb | integer, min 10, max 4000 | いいえ | 既定は50GB |
datacenter | string | はい | データセンター。例: AP-JP-1(日本)。一覧は list_gpu にあります |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "英小文字、数字、ハイフン"
},
"size_gb": {
"type": "integer",
"minimum": 10,
"maximum": 4000,
"description": "既定は50GB"
},
"datacenter": {
"type": "string",
"description": "データセンター。例: AP-JP-1(日本)。一覧は list_gpu にあります"
}
},
"required": [
"ref",
"name",
"datacenter"
],
"additionalProperties": false
}delete_gpu_volume GPU ストレージを削除する
破壊的
GPU ストレージとその中のファイルをすべて削除します。使っているジョブやサーバーがあれば削除しません。元に戻せません。削除するまでの保存料金は請求します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/gpu/volumes/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | ストレージ名 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "ストレージ名"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}list_deleted_deployments 最近削除したデプロイ
読み取り専用
3日以内に削除されたデプロイ(手動で削除したものと保存期間が過ぎたもの)と、復元できる期限(restorable_until)を返します。その間、そのデプロイのアドレスは 410 を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/deployments/deleted |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}delete_deployment デプロイを削除
破壊的
デプロイを 1 つ削除します。配信中とビルド中のデプロイは削除できません。3日間は restore_deployment で復元でき、その後ファイルとビルドログを消去します。本番のデプロイはプロジェクト管理者、それ以外は開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/deployments/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string, pattern ^dpl-[0-9a-f]{16}$ | はい | デプロイの id(dpl-…)。list_deployments か list_deleted_deployments で確認します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"pattern": "^dpl-[0-9a-f]{16}$",
"description": "デプロイの id(dpl-…)。list_deployments か list_deleted_deployments で確認します。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}restore_deployment デプロイを復元
破壊的
3日以内に削除されたデプロイを復元します。このデプロイのアドレスが再び応答し、ロールバックや昇格ができるようになります。本番のデプロイはプロジェクト管理者、それ以外は開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/deployments/{id}/restore |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string, pattern ^dpl-[0-9a-f]{16}$ | はい | デプロイの id(dpl-…)。list_deployments か list_deleted_deployments で確認します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"pattern": "^dpl-[0-9a-f]{16}$",
"description": "デプロイの id(dpl-…)。list_deployments か list_deleted_deployments で確認します。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}list_volumes ボリューム一覧
読み取り専用
アプリのボリューム(サーバーを再起動しても、新しくデプロイしても残るディスク)とバックアップ、プランが許す合計(max_gb)と今の使用量(used_gb)、アプリごとにサーバーが待ち受けるポート(apps[].listens_on)を返します。ボリュームは本番サーバーにだけ付きます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/volumes |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_volume ボリュームを作成
追加のみ
アプリの本番サーバーにボリュームを付けます。コンテナの mount_path に読み書きできる形で付き、容量が上限です。WordPress なら /var/www/html です。/etc・/usr・/proc・/tmp などのシステムパスには付けられません。1分以内に準備でき、サーバーが再起動します。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/volumes |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
app | string | はい | list_apps の name。 |
mount_path | string | はい | コンテナ内の絶対パス。例: /var/www/html |
size_gb | integer, min 1, max 500 | いいえ | 容量(GB)。1 から 500 まで、既定は 1。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"app": {
"type": "string",
"description": "list_apps の name。"
},
"mount_path": {
"type": "string",
"description": "コンテナ内の絶対パス。例: /var/www/html"
},
"size_gb": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "容量(GB)。1 から 500 まで、既定は 1。"
}
},
"required": [
"ref",
"app",
"mount_path"
],
"additionalProperties": false
}resize_volume ボリュームを拡張
破壊的
サーバーを止めずにボリュームを大きくします。小さくすることはできません。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/volumes/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_volumes のボリューム id。 |
size_gb | integer, min 1, max 500 | はい | 容量(GB)。1 から 500 まで。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_volumes のボリューム id。"
},
"size_gb": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "容量(GB)。1 から 500 まで。"
}
},
"required": [
"ref",
"id",
"size_gb"
],
"additionalProperties": false
}delete_volume ボリュームを削除
破壊的
ボリュームとその中のファイル、ボリュームのバックアップをすべて削除します。本番サーバーはボリュームなしで再起動します。元に戻せないので、ユーザーがはっきり求めたときだけ使い、confirm にボリュームのパス(mount_path)をそのまま入れてください。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/volumes/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_volumes のボリューム id。 |
confirm | string | はい | ボリュームのパス。list_volumes の mount_path と完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_volumes のボリューム id。"
},
"confirm": {
"type": "string",
"description": "ボリュームのパス。list_volumes の mount_path と完全に同じである必要があります。"
}
},
"required": [
"ref",
"id",
"confirm"
],
"additionalProperties": false
}create_volume_backup ボリュームをバックアップ
追加のみ
ボリュームのファイルを今まとめて 30 日間保管します。数分以内に終わり、list_volumes の backups に表示されます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/volumes/{id}/backups |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_volumes のボリューム id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_volumes のボリューム id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}restore_volume_backup ボリュームを復元
破壊的
ボリュームの今のファイルをバックアップのファイルに置き換えます。バックアップの後に変わったファイルはなくなりますが、置き換える前に今のファイルを 7 日間バックアップしておくので、そのバックアップで元に戻せます。ユーザーが求めたときだけ使ってください。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/volumes/{id}/restore |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_volumes のボリューム id。 |
backup_id | string | はい | list_volumes の backups[].id のうち、status が ready のもの。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_volumes のボリューム id。"
},
"backup_id": {
"type": "string",
"description": "list_volumes の backups[].id のうち、status が ready のもの。"
}
},
"required": [
"ref",
"id",
"backup_id"
],
"additionalProperties": false
}関数
| 名前 | 説明 |
|---|---|
list_functions | 関数 |
get_function | 関数のコードを読む |
deploy_function | 関数のデプロイ |
set_function_limits | 関数の時間制限 |
remove_function | 関数の削除 |
list_function_secrets | 関数シークレットの一覧 |
set_function_secrets | 関数シークレットの保存 |
copy_function_secrets | 関数シークレットのコピー |
delete_function_secret | 関数シークレットの削除 |
set_function_egress | 関数の外部リクエスト |
list_functions 関数
読み取り専用
デプロイされた関数を、それぞれの呼び出しアドレスと公開かどうかとともに表示します。egressは外部リクエストがオンかどうか、outbound_requests_per_minuteは関数・pg_net・HTTPジョブが共有する1分あたりの外部リクエストの上限です(自分のAPIへの呼び出しは数えません)。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/functions |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_function 関数のコードを読む
読み取り専用
デプロイされた関数のコードとバージョンを表示します。変更する前に、今のコードを読んでください。deploy_function が status "building" で応答したときは、build.status(building・deployed・failed)と build.error で結果を確認します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/functions/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | 関数名です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "関数名です。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}deploy_function 関数のデプロイ
破壊的
関数を1つデプロイします。同じ名前の関数があれば丸ごと置き換え、次の呼び出しから新しいコードが動きます。 コードはTypeScriptファイル1つで、export defaultで (request, { sql }) => 応答 をエクスポートします。 requestにはmethod、headers、claims(呼び出したキーのクレーム。roleはanon・authenticated・service_role。キーなしで呼んだ公開関数ではnull)、text()、json()があります。 sql(text, values)はこのプロジェクトのservice_role権限でSQL文を1つ実行し、行の配列を返します。 応答はオブジェクト(JSONとして送信)、文字列、または { status, headers, body } です。 npmパッケージを使うには、dependencies({"zod":"^3.23.8"})またはpackage_json(文字列)を一緒に送ってください。 デプロイ時にインストールし、コードと一緒に1つのESMファイルにまとめます(最大5MB、インストールスクリプトは実行しません、ネイティブモジュールは使えません)。一度インストールしたパッケージの組み合わせは再利用するので、2回目からのデプロイは数秒で終わります。 40秒以内に終わらないときは、すぐに status "building" で応答し、サーバーでデプロイを続けます。そのときは get_function をもう一度呼び、build.status が deployed か failed になるまで確認してください。 複数のファイルはfiles({"lib/util.ts": "..."})で一緒に送り、相対パスでimportします。フォルダーを丸ごと送るには、sourceを空にしてindex.tsを含むすべてをfilesに入れます。 Supabaseと同じように、deno.json(またはimport_map.json)のimportsとnpm:・jsr:・URLのimport(例: npm:zod@3、jsr:@supabase/supabase-js@2、https://esm.sh/…、https://deno.land/[email protected]/http/server.ts)を使えます。npm:・jsr:・esm.shはデプロイ時にnpmパッケージとしてインストールし、それ以外のURLはデプロイ時に一度だけ取得してコードと一緒にまとめます(取得したアドレスとSHA-256はget_functionのremote_importsにあり、deno.lockがあればそのハッシュと一致する必要があります)。実行中には何も取得しません。 Supabaseのsupabase/functions/<名前>/フォルダーのように../_shared/cors.tsをimportするときは、filesに"../_shared/cors.ts"として一緒に入れてください。関数フォルダーの隣のフォルダーまでです。 1回の呼び出しは150秒まで実行できます(Supabaseと同じ)。変えるにはset_function_limitsを使ってください。 呼び出した人のAuthorizationヘッダー(このプロジェクトのキーの場合)がそのまま関数に届くので、createClient(url, anonKey, { global: { headers: { Authorization: req.headers.get('Authorization') } } })がその人として動作します。 バンドルされた関数を変更するときは、get_functionが返したpackage_jsonとfilesをそのまま送り直してください。省くとファイル1つだけの関数になります。 ネットワークは既定で無効で、set_function_egressで有効にできます。 プロダクションの環境変数がprocess.envに入ります。関数のデプロイはオーナーと管理者のみ行えます。 呼び出せる人: 非公開(既定)の関数には、このプロジェクトのキーが必要です: 公開キー(claims.role anon)、ログインしたユーザーのトークン(authenticated)、シークレットキー(service_role)。Supabaseのverify_jwtと同じなので、supabase.functions.invokeと公開キーを付けたfetchはそのまま動きます。ログインしたユーザーだけを受け付けるには、関数の中でrequest.claims.roleを確認してください。 publicをtrueにすると、キーなしでも誰でも呼び出せます。決済事業者のWebhookのように、キーなしで届くリクエストにだけ使ってください。 呼び出し: POST https://<ref>.<zone>/functions/v1/<name>、ヘッダーAuthorization: Bearer <公開キー、ユーザートークンまたはシークレットキー>。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/functions/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | 英小文字で始まり、英小文字、数字、ハイフンで構成します。呼び出しアドレスの末尾になります。 |
source | string | いいえ | 関数のコード全体です(8MBまで)。filesがあるとentryのファイルとして保存されます。filesにentryがあれば省略します。 |
public | boolean | いいえ | 省略すると今の値を保ちます。新しい関数は非公開です。 |
dependencies | object | いいえ | 使うnpmパッケージとバージョンです。例: {"zod": "^3.23.8"}。package_jsonのdependenciesに統合されます。 |
package_json | string | いいえ | package.json全体です(任意)。あるとインストール後に1つのファイルにバンドルします。 |
package_lock | string | いいえ | package-lock.jsonです(任意)。あるとnpm ciでそのバージョンを正確にインストールします。 |
files | object | いいえ | sourceの隣に置くほかのファイルです。相対パスから内容への対応です(最大200個、合計8MB)。関数フォルダーの隣のフォルダーは"../_shared/cors.ts"のように書きます。 |
entry | string | いいえ | sourceを保存するファイル名です。既定はindex.tsです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "英小文字で始まり、英小文字、数字、ハイフンで構成します。呼び出しアドレスの末尾になります。"
},
"source": {
"type": "string",
"description": "関数のコード全体です(8MBまで)。filesがあるとentryのファイルとして保存されます。filesにentryがあれば省略します。"
},
"public": {
"type": "boolean",
"description": "省略すると今の値を保ちます。新しい関数は非公開です。"
},
"dependencies": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "使うnpmパッケージとバージョンです。例: {\"zod\": \"^3.23.8\"}。package_jsonのdependenciesに統合されます。"
},
"package_json": {
"type": "string",
"description": "package.json全体です(任意)。あるとインストール後に1つのファイルにバンドルします。"
},
"package_lock": {
"type": "string",
"description": "package-lock.jsonです(任意)。あるとnpm ciでそのバージョンを正確にインストールします。"
},
"files": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "sourceの隣に置くほかのファイルです。相対パスから内容への対応です(最大200個、合計8MB)。関数フォルダーの隣のフォルダーは\"../_shared/cors.ts\"のように書きます。"
},
"entry": {
"type": "string",
"description": "sourceを保存するファイル名です。既定はindex.tsです。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}set_function_limits 関数の時間制限
破壊的
再デプロイせずに、関数の 1 回の呼び出しにかけられる時間(timeout_seconds)と SQL 1 文にかけられる時間(sql_timeout_seconds)を秒で設定します。既定は 150 秒(Supabase のエッジ関数と同じ)と 8 秒で、このサーバーの最大は get_function の timeout_cap_seconds です。null で既定値に戻り、省略すると今の値のままです。次の呼び出しから適用されます。制限を超えた呼び出しは 504 で打ち切られます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/functions/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | 関数名。 |
timeout_seconds | string, min 1 | いいえ | 1 回の呼び出しにかけられる秒数。null で既定値(150 秒)。 |
sql_timeout_seconds | string, min 1 | いいえ | SQL 1 文にかけられる秒数。null で既定値(8 秒)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "関数名。"
},
"timeout_seconds": {
"type": [
"integer",
"null"
],
"minimum": 1,
"description": "1 回の呼び出しにかけられる秒数。null で既定値(150 秒)。"
},
"sql_timeout_seconds": {
"type": [
"integer",
"null"
],
"minimum": 1,
"description": "SQL 1 文にかけられる秒数。null で既定値(8 秒)。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}remove_function 関数の削除
破壊的
関数を削除します。そのアドレスは404を返し、その関数を呼び出す予約ジョブは失敗します。元に戻せないので、ユーザーがはっきり求めたときだけ使い、confirm に関数名をそのまま入れてください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/functions/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | 関数名です。 |
confirm | string | はい | 関数名です。nameと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "関数名です。"
},
"confirm": {
"type": "string",
"description": "関数名です。nameと完全に同じである必要があります。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}list_function_secrets 関数シークレットの一覧
読み取り専用
関数だけが見るシークレットの名前と変更日時です。値はどのツールでも読み返せません。readable が false の値は開けないため関数に入りません。もう一度保存してください。表示できるのはオーナーと管理者のみです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/function-secrets |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_function_secrets 関数シークレットの保存
破壊的
関数だけが見るシークレットを1つ以上保存します(Webhook の署名キー、メールサービスの API キーなど)。サイトのビルドには入らず、同じ名前の環境変数より優先されます。関数は次の呼び出しから process.env で読みます。同じ名前があれば上書きし、1つでも誤りがあれば何も保存しません。保存した値は読み返せず、応答には名前だけが返ります。SUPABASE_ と BLACKWALL で始まる名前、NODE_ENV・HOME・PATH・NODE_OPTIONS・TZ は使えません。1プロジェクト100個、値1つ32KBまでです。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/function-secrets |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
secrets | object | いいえ | 名前と値です。例: {"STRIPE_WEBHOOK_SECRET": "whsec_…"}。値は二度と表示しません。 |
dotenv | string | いいえ | .env ファイルの内容をまるごと。コメントと空行は読み飛ばします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"secrets": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "名前と値です。例: {\"STRIPE_WEBHOOK_SECRET\": \"whsec_…\"}。値は二度と表示しません。"
},
"dotenv": {
"type": "string",
"description": ".env ファイルの内容をまるごと。コメントと空行は読み飛ばします。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}copy_function_secrets 関数シークレットのコピー
破壊的
自分の別のプロジェクト(from)にある関数シークレットを、名前を指定してこのプロジェクト(ref)にコピーします。値はサーバーの中だけで移り、応答には名前だけが返るので、同じキーを貼り直す必要はありません。このプロジェクトにすでにある名前はスキップし(skipped)、overwrite が true なら置き換えます。from にない名前は missing で知らせ、残りはコピーします。一度に50個までです。両方のプロジェクトでオーナーか管理者である必要があります(組織が違っても構いません)。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/function-secrets/copy |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
from | string | はい | コピー元プロジェクトの ref です。list_projects で確認できます。 |
names | array<string>, min items 1, max items 50 | はい | コピーするシークレット名です。from プロジェクトの list_function_secrets の name。例: ["ANTHROPIC_API_KEY"] |
overwrite | boolean | いいえ | このプロジェクトに同じ名前があるとき置き換えるかどうか。既定は false(スキップ)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"from": {
"type": "string",
"description": "コピー元プロジェクトの ref です。list_projects で確認できます。"
},
"names": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 50,
"description": "コピーするシークレット名です。from プロジェクトの list_function_secrets の name。例: [\"ANTHROPIC_API_KEY\"]"
},
"overwrite": {
"type": "boolean",
"description": "このプロジェクトに同じ名前があるとき置き換えるかどうか。既定は false(スキップ)。"
}
},
"required": [
"ref",
"from",
"names"
],
"additionalProperties": false
}delete_function_secret 関数シークレットの削除
破壊的
関数シークレットを1つ削除します。値は元に戻せず、関数は次の呼び出しからこの値なしで動きます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/function-secrets/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | list_function_secrets の name です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "list_function_secrets の name です。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}set_function_egress 関数の外部リクエスト
破壊的
関数がfetch()で公開されたHTTPSアドレスを呼び出すことを許可またはブロックします。今の状態はlist_functionsのegressです。30秒以内に反映されます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | PUT /projects/{ref}/function-egress |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | はい | trueで外部リクエストを許可、falseでブロックします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "trueで外部リクエストを許可、falseでブロックします。"
}
},
"required": [
"ref",
"enabled"
],
"additionalProperties": false
}ドメインとエッジ
| 名前 | 説明 |
|---|---|
list_domains | ドメイン |
add_domain | ドメインの接続 |
remove_domain | ドメインの接続解除 |
set_domain_redirect | ドメインのリダイレクト |
get_edge | ファイアウォールとキャッシュ |
set_edge | ファイアウォールの変更 |
purge_edge_cache | キャッシュの消去 |
upload_certificate | 証明書のアップロード |
remove_certificate | アップロードした証明書の削除 |
list_domains ドメイン
読み取り専用
このプロジェクトに接続したドメインを表示します。それぞれの用途(site/api)、追従するブランチ、リダイレクト先、検証状態(未検証なら追加すべきTXTレコード)、証明書の状態が含まれます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/domains |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}add_domain ドメインの接続
追加のみ 外部に届く
ドメインを接続します。返されたverification_record(TXT)をDNSに追加すると、数分以内に検証されます。target=apiにすると、そのアドレスはプロジェクトAPI(データ、ログイン、ストレージ)として応答します。branchを指定すると、そのブランチのプレビューに追従します。*.example.comのようなワイルドカードも使えます。pair_www=trueにするとwwwのアドレスも接続し、一方をもう一方へリダイレクトします。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/domains |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
hostname | string | はい | 例: example.com、api.example.com、*.example.com |
target | string, site | api | いいえ | デプロイしたサイトならsite、プロジェクトAPIならapiです。 |
branch | string | いいえ | サイトのみです。空の場合はプロダクションです。 |
pair_www | boolean | いいえ | wwwのアドレスも接続し、一方をもう一方へリダイレクトします。 |
app | string | いいえ | アプリ名(list_appsのname)です。空の場合はプロジェクトのサイト(project_siteがtrueのアプリ)です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"hostname": {
"type": "string",
"description": "例: example.com、api.example.com、*.example.com"
},
"target": {
"type": "string",
"enum": [
"site",
"api"
],
"description": "デプロイしたサイトならsite、プロジェクトAPIならapiです。"
},
"branch": {
"type": "string",
"description": "サイトのみです。空の場合はプロダクションです。"
},
"pair_www": {
"type": "boolean",
"description": "wwwのアドレスも接続し、一方をもう一方へリダイレクトします。"
},
"app": {
"type": "string",
"description": "アプリ名(list_appsのname)です。空の場合はプロジェクトのサイト(project_siteがtrueのアプリ)です。"
}
},
"required": [
"ref",
"hostname"
],
"additionalProperties": false
}remove_domain ドメインの接続解除
破壊的
ドメインの接続を解除します。そのアドレスは数秒以内に応答しなくなります。ユーザーがはっきり求めたときだけ使い、confirm にドメインをそのまま入れてください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/domains/{hostname} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
hostname | string | はい | 接続済みのドメインです。 |
confirm | string | はい | ドメインです。hostnameと同じである必要があります(大文字と小文字は区別しません)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"hostname": {
"type": "string",
"description": "接続済みのドメインです。"
},
"confirm": {
"type": "string",
"description": "ドメインです。hostnameと同じである必要があります(大文字と小文字は区別しません)。"
}
},
"required": [
"ref",
"hostname",
"confirm"
],
"additionalProperties": false
}set_domain_redirect ドメインのリダイレクト
破壊的
このドメインを同じプロジェクトの別のドメインへリダイレクトさせます。toを空にすると、再びサイトを配信します。toにパスを付けると(example.com/vision)、アクセスしたパスがその後ろに付き、クエリ文字列もそのまま引き継がれます: vision.example.com/x?y=1 → example.com/vision/x?y=1、トップページは example.com/vision。toのドメインは、このプロジェクトに接続した、リダイレクトではないドメインである必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/domains/{hostname}/redirect |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
hostname | string | はい | リダイレクトするドメインです。 |
to | string | いいえ | ドメイン、またはドメインとパスです(例: example.com/vision)。空にするとリダイレクトをオフにします。 |
status | integer, 308 | 307 | 301 | 302 | いいえ | ステータスコードです。既定は 308(恒久、メソッドを維持)。省くと今の値のままです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"hostname": {
"type": "string",
"description": "リダイレクトするドメインです。"
},
"to": {
"type": "string",
"description": "ドメイン、またはドメインとパスです(例: example.com/vision)。空にするとリダイレクトをオフにします。"
},
"status": {
"type": "integer",
"enum": [
308,
307,
301,
302
],
"description": "ステータスコードです。既定は 308(恒久、メソッドを維持)。省くと今の値のままです。"
}
},
"required": [
"ref",
"hostname"
],
"additionalProperties": false
}get_edge ファイアウォールとキャッシュ
読み取り専用
このプロジェクトのIP拒否リストと許可リスト、1つのアドレスからの1分あたりのリクエスト上限、その適用対象、最後にキャッシュを消去した時刻を表示します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/edge |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_edge ファイアウォールの変更
破壊的
IP拒否リスト、許可リスト(空なら全員を許可)、1分あたりのリクエスト上限(10〜100000、nullならプラットフォームの既定値)、適用対象(all/site/api)を変更します。指定した項目だけが変わります。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/edge |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
deny | array<string> | いいえ | 拒否するIPアドレスまたはCIDR範囲です。 |
allow | array<string> | いいえ | 許可するIPアドレスまたはCIDR範囲です。空なら全員を許可します。 |
rate_per_minute | string | いいえ | 1つのアドレスからの1分あたりのリクエスト数です。10〜100000。nullならプラットフォームの既定値です。 |
scope | string, all | site | api | いいえ | ルールの適用対象です: all、site、api。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"deny": {
"type": "array",
"items": {
"type": "string"
},
"description": "拒否するIPアドレスまたはCIDR範囲です。"
},
"allow": {
"type": "array",
"items": {
"type": "string"
},
"description": "許可するIPアドレスまたはCIDR範囲です。空なら全員を許可します。"
},
"rate_per_minute": {
"type": [
"integer",
"null"
],
"description": "1つのアドレスからの1分あたりのリクエスト数です。10〜100000。nullならプラットフォームの既定値です。"
},
"scope": {
"type": "string",
"enum": [
"all",
"site",
"api"
],
"description": "ルールの適用対象です: all、site、api。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}purge_edge_cache キャッシュの消去
破壊的
サーバーデプロイがs-maxageで共有を許可したためにエッジに保存されている応答をすべて破棄します。次のリクエストから、デプロイが再び応答します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/edge/purge |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}upload_certificate 証明書のアップロード
破壊的
接続済みのドメインに独自のTLS証明書を使います。certificateはPEMのチェーン(サーバー証明書が先頭)、keyはPEMの秘密鍵です。ドメイン名が証明書に含まれている必要があります。1分以内に反映されます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/domains/{hostname}/certificate |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
hostname | string | はい | 接続済みのドメインです。 |
certificate | string | はい | PEMの証明書チェーンです。サーバー証明書が先頭です。 |
key | string | はい | PEMの秘密鍵です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"hostname": {
"type": "string",
"description": "接続済みのドメインです。"
},
"certificate": {
"type": "string",
"description": "PEMの証明書チェーンです。サーバー証明書が先頭です。"
},
"key": {
"type": "string",
"description": "PEMの秘密鍵です。"
}
},
"required": [
"ref",
"hostname",
"certificate",
"key"
],
"additionalProperties": false
}remove_certificate アップロードした証明書の削除
破壊的
アップロードした証明書を削除し、自動発行の証明書に戻します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/domains/{hostname}/certificate |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
hostname | string | はい | 接続済みのドメインです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"hostname": {
"type": "string",
"description": "接続済みのドメインです。"
}
},
"required": [
"ref",
"hostname"
],
"additionalProperties": false
}ネットワーク
| 名前 | 説明 |
|---|---|
get_network | ネットワークアドレス |
set_static_outbound_ip | 固定アウトバウンドIP |
get_network ネットワークアドレス
読み取り専用
プロジェクトがリクエストを受けるアドレス(inbound、カスタムドメインのAレコード)と、固定アウトバウンドIPをオンにしたプロジェクトなら外部へ送信する固定アドレス(outbound.addresses)を返します。オンにしていないプロジェクトの送信アドレスは固定されていない共有アドレスのため返しません。許可リストには追加しないでください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/network, GET /projects/{ref}/network/ips |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_static_outbound_ip 固定アウトバウンドIP
破壊的
有料オプションの固定アウトバウンドIPをオンまたはオフにします。オンにすると、サーバーデプロイ、関数のfetch()、データベースWebhookが固定アドレスから送信され、月額料金が利用期間に応じて請求されます。Pro以上のプランで、オーナー・管理者・請求担当者だけが実行できます。料金がかかるため、ユーザーがはっきり求めたときだけ使ってください。料金と今の状態はget_networkにあります。アドレスがまだないリージョンでは outcome が provisioning になります。アドレスを作成中(通常1時間以内)で、準備ができるまで料金は発生せず、アドレスも返されません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | billing.manage オーナーまたは管理者または請求担当 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/network/static-outbound-ip, DELETE /projects/{ref}/network/static-outbound-ip |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | はい | trueでオン、falseでオフにします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "trueでオン、falseでオフにします。"
}
},
"required": [
"ref",
"enabled"
],
"additionalProperties": false
}スケジュールジョブ
| 名前 | 説明 |
|---|---|
list_jobs | 予約ジョブ |
save_job | 予約ジョブの作成・変更 |
set_job_enabled | 予約ジョブのオン・オフ |
run_job | 予約ジョブを今すぐ実行 |
list_job_runs | 予約ジョブの実行履歴 |
remove_job | 予約ジョブの削除 |
list_jobs 予約ジョブ
読み取り専用
予約ジョブ(cron)を、スケジュール、次回の実行、前回の結果とともに表示します。プロジェクトのSQLでcron.scheduleにより作ったジョブはsourceがsqlです。limitはプランのジョブ数の上限です。時刻はすべてUTCです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/jobs |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}save_job 予約ジョブの作成・変更
破壊的
スケジュールに従って関数を呼び出すか、SQL文を1つ実行します。同じ名前のジョブがあれば変更します。 scheduleはUTCの5フィールドcron(分 時 日 月 曜日)です。韓国と日本はUTC+9なので、現地時間の0時は "0 15 * * *" です。 kindがfunctionならtargetはデプロイ済みの関数名(本文が{}のPOSTで呼び出します)、sqlならtargetはservice roleで実行するSQLです。 外部URLは呼び出せません。関数を作成するか、SQLでnet.http_postを使ってください。SQLはtimeout_seconds(既定120秒)以内に終わる必要があり、SQLが自分でstatement_timeoutを延ばすとその分待ちます。どちらでもプランの最大(Free 300秒、Pro・Enterprise 3600秒)までです。 SQLのcron.scheduleで作ったジョブもsource=sqlとして一覧に出ます。SQL(cron.alter_job、cron.unschedule)またはset_job_enabled・remove_jobで変更します。 プランごとにプロジェクトあたりのジョブ数の上限があります(list_jobsのlimit)。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/jobs/{job} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | ジョブ名です。既存の名前で保存すると、そのジョブを変更します。 |
schedule | string | はい | 例: "*/5 * * * *"(5分ごと)、"0 15 * * *"(韓国・日本時間の0時)。 |
kind | string, function | sql | はい | デプロイ済みの関数を呼び出すならfunction、SQLを実行するならsqlです。 |
target | string | はい | 関数名、または実行するSQLです。 |
enabled | boolean | いいえ | ジョブを実行するかどうかです。既定はオンです。 |
timeout_seconds | number | いいえ | SQLジョブが実行できる最大時間(秒)です。既定120、最大はプランごと(Free 300、Pro・Enterprise 3600)です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "ジョブ名です。既存の名前で保存すると、そのジョブを変更します。"
},
"schedule": {
"type": "string",
"description": "例: \"*/5 * * * *\"(5分ごと)、\"0 15 * * *\"(韓国・日本時間の0時)。"
},
"kind": {
"type": "string",
"enum": [
"function",
"sql"
],
"description": "デプロイ済みの関数を呼び出すならfunction、SQLを実行するならsqlです。"
},
"target": {
"type": "string",
"description": "関数名、または実行するSQLです。"
},
"enabled": {
"type": "boolean",
"description": "ジョブを実行するかどうかです。既定はオンです。"
},
"timeout_seconds": {
"type": "number",
"description": "SQLジョブが実行できる最大時間(秒)です。既定120、最大はプランごと(Free 300、Pro・Enterprise 3600)です。"
}
},
"required": [
"ref",
"name",
"schedule",
"kind",
"target"
],
"additionalProperties": false
}set_job_enabled 予約ジョブのオン・オフ
破壊的
予約ジョブをオフにする、またはオンに戻します。オンに戻しても、逃した実行を取り戻すことはなく、次の予定時刻から実行します。jobはidまたは名前です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/jobs/{job} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
job | string | はい | ジョブのidまたは名前です。 |
enabled | boolean | はい | trueでオン、falseでオフにします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"job": {
"type": "string",
"description": "ジョブのidまたは名前です。"
},
"enabled": {
"type": "boolean",
"description": "trueでオン、falseでオフにします。"
}
},
"required": [
"ref",
"job",
"enabled"
],
"additionalProperties": false
}run_job 予約ジョブを今すぐ実行
破壊的
スケジュールを待たずに、1分以内にジョブを1回実行します。結果はlist_job_runsで確認してください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/jobs/{job}/run |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
job | string | はい | ジョブのidまたは名前です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"job": {
"type": "string",
"description": "ジョブのidまたは名前です。"
}
},
"required": [
"ref",
"job"
],
"additionalProperties": false
}list_job_runs 予約ジョブの実行履歴
読み取り専用
ジョブの最近の実行と結果を新しい順に表示します。失敗した場合はエラーも含みます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/jobs/{job}/runs |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
job | string | はい | ジョブのidまたは名前です。 |
limit | number | いいえ | 表示する実行の数です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"job": {
"type": "string",
"description": "ジョブのidまたは名前です。"
},
"limit": {
"type": "number",
"description": "表示する実行の数です。"
}
},
"required": [
"ref",
"job"
],
"additionalProperties": false
}remove_job 予約ジョブの削除
破壊的
予約ジョブとその実行履歴を削除します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/jobs/{job} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
job | string | はい | ジョブのidまたは名前です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"job": {
"type": "string",
"description": "ジョブのidまたは名前です。"
}
},
"required": [
"ref",
"job"
],
"additionalProperties": false
}データベース Webhook
| 名前 | 説明 |
|---|---|
list_db_webhooks | データベースWebhook |
create_db_webhook | データベースWebhookの作成 |
set_db_webhook_enabled | データベースWebhookのオン・オフ |
list_db_webhook_deliveries | データベースWebhookの送信履歴 |
remove_db_webhook | データベースWebhookの削除 |
list_db_webhooks データベースWebhook
読み取り専用
テーブルの変更を知らせるWebhookと、最近の送信を表示します。attachedがfalseの場合は、テーブルが削除されてWebhookが止まったことを意味します。署名キー(signing_secret)は作成時(create_db_webhook)に一度だけ表示します。一覧にはsigning_secret_setと末尾4文字(signing_secret_last4)だけを載せます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/webhooks |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_db_webhook データベースWebhookの作成
追加のみ 外部に届く
テーブルに行が追加、変更、削除されたときにPOSTを送ります。コミットされた変更だけを、数秒以内に送ります。 kindがurlならtargetは公開されたhttpsアドレス(プライベートアドレスや内部アドレスは不可、リダイレクトは追いません)、functionならこのプロジェクトの関数名です。 本文: { type: "INSERT"|"UPDATE"|"DELETE", table, schema: "public", record, old_record, hook, delivery, occurred_at }。 ヘッダーx-blackwall-signature: t=<秒>,v1=<HMAC-SHA256(signing_secret, "<t>.<body>")の16進数> で検証してください。 signing_secretはこの応答にだけ含まれ、あとから読み直せないので、受信側にすぐ保存してください。 失敗した場合(2xx以外の応答、または10秒超過)は、10秒、1分、5分、30分後に再送し、5回目で諦めます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/webhooks |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | Webhookを見分けるための名前です。 |
table | string | はい | list_tablesのテーブル名です。 |
events | array<string>, insert | update | delete | はい | 送る変更の種類です: insert、update、delete。 |
kind | string, url | function | はい | アドレスにPOSTするならurl、このプロジェクトの関数を呼び出すならfunctionです。 |
target | string | はい | httpsアドレス、または関数名です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "Webhookを見分けるための名前です。"
},
"table": {
"type": "string",
"description": "list_tablesのテーブル名です。"
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": [
"insert",
"update",
"delete"
]
},
"description": "送る変更の種類です: insert、update、delete。"
},
"kind": {
"type": "string",
"enum": [
"url",
"function"
],
"description": "アドレスにPOSTするならurl、このプロジェクトの関数を呼び出すならfunctionです。"
},
"target": {
"type": "string",
"description": "httpsアドレス、または関数名です。"
}
},
"required": [
"ref",
"name",
"table",
"events",
"kind",
"target"
],
"additionalProperties": false
}set_db_webhook_enabled データベースWebhookのオン・オフ
破壊的
Webhookをオフまたはオンにします。オフの間に起きた変更は送られません。webhookはidまたは名前です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/webhooks/{webhook} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
webhook | string | はい | Webhookのidまたは名前です。 |
enabled | boolean | はい | trueでオン、falseでオフにします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"webhook": {
"type": "string",
"description": "Webhookのidまたは名前です。"
},
"enabled": {
"type": "boolean",
"description": "trueでオン、falseでオフにします。"
}
},
"required": [
"ref",
"webhook",
"enabled"
],
"additionalProperties": false
}list_db_webhook_deliveries データベースWebhookの送信履歴
読み取り専用
Webhookの最近の送信を、応答ステータスと失敗の理由とともに新しい順に表示します。7日間保存されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/webhooks/{webhook}/deliveries |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
webhook | string | はい | Webhookのidまたは名前です。 |
limit | number | いいえ | 表示する送信の数です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"webhook": {
"type": "string",
"description": "Webhookのidまたは名前です。"
},
"limit": {
"type": "number",
"description": "表示する送信の数です。"
}
},
"required": [
"ref",
"webhook"
],
"additionalProperties": false
}remove_db_webhook データベースWebhookの削除
破壊的
Webhookと、その送信履歴、まだ送っていない変更を削除します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/webhooks/{webhook} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
webhook | string | はい | Webhookのidまたは名前です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"webhook": {
"type": "string",
"description": "Webhookのidまたは名前です。"
}
},
"required": [
"ref",
"webhook"
],
"additionalProperties": false
}バックアップと復元
| 名前 | 説明 |
|---|---|
list_backups | バックアップ |
create_backup | 今すぐバックアップ |
restore_backup | バックアップの復元 |
list_backups バックアップ
読み取り専用
プロジェクトのバックアップ(毎晩プロジェクトのリージョンの現地時刻03:00〜05:00の自動、手動、復元の直前に作成されたもの)と復元の履歴を表示します。retention_daysは保存期間です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/backups |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_backup 今すぐバックアップ
追加のみ
テーブル、ユーザー、ファイルを今バックアップします。大きな変更(マイグレーション、大量の削除)の前に作成してください。7日間保存されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/backups |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}restore_backup バックアップの復元
破壊的
プロジェクトのテーブル、ユーザー、ファイルをバックアップを作成した時点に戻します。backup_idの代わりにat(ISO形式の時刻)を指定すると、その時点に秒単位で戻します(Pro以上、list_backupsのpoint_in_timeの範囲内)。この場合ファイルは、ファイルバケットを使うサーバーでだけその時点の行が指すもの(過去14日以内に削除したものも含みます)に戻し、それ以外では今のままにします。その時点以降の変更はすべて失われるため、ユーザーがはっきり求めたときだけ使ってください。復元の直前の状態を先にバックアップするので、undo_backup_idで再び戻せます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/backups/{backup_id}/restore, POST /projects/{ref}/backups/restore-to-time |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
backup_id | string | いいえ | list_backupsのidです。 |
at | string | いいえ | 例: 2026-10-01T14:59:00+09:00 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"backup_id": {
"type": "string",
"description": "list_backupsのidです。"
},
"at": {
"type": "string",
"description": "例: 2026-10-01T14:59:00+09:00"
}
},
"required": [
"ref"
],
"additionalProperties": false
}ログと監視
| 名前 | 説明 |
|---|---|
get_logs | ログ |
list_log_drains | ログドレイン |
create_log_drain | ログドレインの追加 |
set_log_drain_enabled | ログドレインのオン・オフ |
remove_log_drain | ログドレインの削除 |
get_metrics | メトリクス |
get_audit_log | 監査ログ |
get_logs ログ
読み取り専用
プロジェクトで起きたことを新しい順に表示します。サイト、API、ログイン、関数へのリクエスト(メソッド、パス、ステータス、所要時間)と、デプロイしたサーバーや関数が出力した行です。アプリが500を返す場合は、まずlevelをerrorにしてここを見てください。次のページは、応答のnext_beforeをbeforeに渡します。クエリ文字列は保存しません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/logs |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
source | string, site | server | api | auth | functions | build | いいえ | 行の出どころです: site、server、api、auth、functions、build。 |
level | string, warn | error | いいえ | 警告とエラーならwarn、エラーだけならerrorです。 |
search | string | いいえ | 行に含まれる文字列です。大文字と小文字は区別しません。 |
before | string | いいえ | この時刻より古い行だけです。前回の応答のnext_beforeです。 |
deployment_id | string | いいえ | このデプロイ(dpl-)の行だけです。 |
limit | integer, min 1, max 500 | いいえ | 既定は100行です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"source": {
"type": "string",
"enum": [
"site",
"server",
"api",
"auth",
"functions",
"build"
],
"description": "行の出どころです: site、server、api、auth、functions、build。"
},
"level": {
"type": "string",
"enum": [
"warn",
"error"
],
"description": "警告とエラーならwarn、エラーだけならerrorです。"
},
"search": {
"type": "string",
"description": "行に含まれる文字列です。大文字と小文字は区別しません。"
},
"before": {
"type": "string",
"description": "この時刻より古い行だけです。前回の応答のnext_beforeです。"
},
"deployment_id": {
"type": "string",
"description": "このデプロイ(dpl-)の行だけです。"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "既定は100行です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_log_drains ログドレイン
読み取り専用
ログの送信先(httpsまたはdatadog)、送るソース、最後の送信とエラーです。署名キー(signing_secret)は作成時(create_log_drain)に一度だけ表示します。一覧にはsigning_secret_setと、オーナーと管理者には末尾4文字(signing_secret_last4)だけを載せます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/log-drains |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_log_drain ログドレインの追加
追加のみ 外部に届く
このプロジェクトのログを外部へ送ります。作成した後に書き込まれたログから送ります。kind=httpsは署名付きのJSONをPOSTし、kind=datadogはsecretにAPIキーが必要です。httpsドレインのsigning_secretはこの応答にだけ含まれるので、受信側にすぐ保存してください。プロジェクトごとに5個までです。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/log-drains |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | ドレインを見分けるための名前です。 |
kind | string, https | datadog | はい | httpsまたはdatadogです。 |
url | string | はい | 公開されたhttpsアドレスです。 |
secret | string | いいえ | DatadogのAPIキー、またはhttpsで送るときにAuthorizationヘッダーに入れる値です。 |
sources | array<string>, site | server | api | auth | functions | build | いいえ | 空ならすべてです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "ドレインを見分けるための名前です。"
},
"kind": {
"type": "string",
"enum": [
"https",
"datadog"
],
"description": "httpsまたはdatadogです。"
},
"url": {
"type": "string",
"description": "公開されたhttpsアドレスです。"
},
"secret": {
"type": "string",
"description": "DatadogのAPIキー、またはhttpsで送るときにAuthorizationヘッダーに入れる値です。"
},
"sources": {
"type": "array",
"items": {
"type": "string",
"enum": [
"site",
"server",
"api",
"auth",
"functions",
"build"
]
},
"description": "空ならすべてです。"
}
},
"required": [
"ref",
"name",
"kind",
"url"
],
"additionalProperties": false
}set_log_drain_enabled ログドレインのオン・オフ
破壊的
設定を残したまま、送信を止めるか再開します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/log-drains/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_log_drainsのidです。 |
enabled | boolean | はい | trueで送信、falseで停止します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_log_drainsのidです。"
},
"enabled": {
"type": "boolean",
"description": "trueで送信、falseで停止します。"
}
},
"required": [
"ref",
"id",
"enabled"
],
"additionalProperties": false
}remove_log_drain ログドレインの削除
破壊的
ログドレインを削除します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/log-drains/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_log_drainsのidです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_log_drainsのidです。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}get_metrics メトリクス
読み取り専用
リクエスト数、失敗数、レイテンシ(p50/p95/p99)を対象別と時間別に、データベースのサイズ、接続数、キャッシュヒット率とともに返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/metrics |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
range | string, 1h | 24h | 7d | いいえ | 空なら24hです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"range": {
"type": "string",
"enum": [
"1h",
"24h",
"7d"
],
"description": "空なら24hです。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_audit_log 監査ログ
読み取り専用
tab=activityは組織で誰が何を変更したか、tab=accessは誰が個人情報にアクセスしたかです。新しい順に一度に最大200件まで返り、has_moreがtrueならoffsetを増やして再度呼び出してください。fromとtoはYYYY-MM-DD(韓国時間の日付)です。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | audit.read オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/audit |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
tab | string, activity | access | いいえ | 変更ならactivity、個人情報へのアクセスならaccessです。 |
from | string | いいえ | 最初の日付です。YYYY-MM-DD。 |
to | string | いいえ | 最後の日付です。YYYY-MM-DD。 |
actor | string | いいえ | メールアドレスの一部です。 |
action | string | いいえ | この語で始まる操作です。例: member |
limit | integer, min 1, max 200 | いいえ | 取得する件数です。最大200件です。 |
offset | integer, min 0 | いいえ | 読み飛ばす件数です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"tab": {
"type": "string",
"enum": [
"activity",
"access"
],
"description": "変更ならactivity、個人情報へのアクセスならaccessです。"
},
"from": {
"type": "string",
"description": "最初の日付です。YYYY-MM-DD。"
},
"to": {
"type": "string",
"description": "最後の日付です。YYYY-MM-DD。"
},
"actor": {
"type": "string",
"description": "メールアドレスの一部です。"
},
"action": {
"type": "string",
"description": "この語で始まる操作です。例: member"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 200,
"description": "取得する件数です。最大200件です。"
},
"offset": {
"type": "integer",
"minimum": 0,
"description": "読み飛ばす件数です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}チームと通知
| 名前 | 説明 |
|---|---|
list_team | チームメンバー |
invite_member | メンバーの招待 |
cancel_invitation | 招待の取り消し |
set_member_role | メンバーの役割の変更 |
remove_member | メンバーの削除 |
set_mfa_required | 2段階認証の必須化 |
list_channels | 通知チャンネル |
create_channel | 通知チャンネルの追加 |
test_channel | 通知チャンネルのテスト |
set_channel_enabled | 通知チャンネルのオン・オフ |
remove_channel | 通知チャンネルの削除 |
list_team チームメンバー
読み取り専用
このプロジェクトを所有する組織のメンバーを、役割、2段階認証を使っているかどうか、まだ承諾されていない招待とともに返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/team |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}invite_member メンバーの招待
追加のみ 外部に届く
招待リンクをメールで送ります。リンクを開くと参加するため、すぐに追加される人はいません。すでにメンバーのアドレスなら、役割だけを変更します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | team.manage オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/team/invitations |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
email | string | はい | 招待するメールアドレスです。 |
role | string, admin | developer | billing | viewer | いいえ | 空ならdeveloperです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"email": {
"type": "string",
"description": "招待するメールアドレスです。"
},
"role": {
"type": "string",
"enum": [
"admin",
"developer",
"billing",
"viewer"
],
"description": "空ならdeveloperです。"
}
},
"required": [
"ref",
"email"
],
"additionalProperties": false
}cancel_invitation 招待の取り消し
破壊的
送った招待を取り消します。そのリンクはすぐに開けなくなります。idはlist_teamのinvitationsにあります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | team.manage オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/team/invitations/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_teamの招待idです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_teamの招待idです。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}set_member_role メンバーの役割の変更
破壊的
すでにメンバーである人の役割を変更します。オーナーの役割は変更できません。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | team.manage オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | PATCH /projects/{ref}/team/members/{email} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
email | string | はい | メンバーのメールアドレスです。 |
role | string, admin | developer | billing | viewer | はい | 新しい役割です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"email": {
"type": "string",
"description": "メンバーのメールアドレスです。"
},
"role": {
"type": "string",
"enum": [
"admin",
"developer",
"billing",
"viewer"
],
"description": "新しい役割です。"
}
},
"required": [
"ref",
"email",
"role"
],
"additionalProperties": false
}remove_member メンバーの削除
破壊的
組織から人を外します。オーナーは外せません。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | team.manage オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/team/members/{email} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
email | string | はい | メンバーのメールアドレスです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"email": {
"type": "string",
"description": "メンバーのメールアドレスです。"
}
},
"required": [
"ref",
"email"
],
"additionalProperties": false
}set_mfa_required 2段階認証の必須化
破壊的
組織のすべてのメンバーに2段階認証を必須にする、または必須をやめます。オンにするには、このトークンの所有者が先に2段階認証をオンにしている必要があります。2段階認証がないメンバーは、オンにするまでこの組織を開けず、応答のwithout_mfaに表示されます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | team.manage オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | PUT /projects/{ref}/team/mfa |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
required | boolean | はい | trueで必須にし、falseで必須をやめます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"required": {
"type": "boolean",
"description": "trueで必須にし、falseで必須をやめます。"
}
},
"required": [
"ref",
"required"
],
"additionalProperties": false
}list_channels 通知チャンネル
読み取り専用
デプロイ、ドメイン、使用量、請求のお知らせを受け取るSlack、KakaoWork、Webhookのチャンネルを、最後の送信結果とともに返します。組織全体の設定です。Webhookチャンネルの署名キー(signing_secret)は作成時(create_channel)に一度だけ表示します。一覧にはsigning_secret_setと末尾4文字(signing_secret_last4)だけを載せます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/channels |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_channel 通知チャンネルの追加
追加のみ 外部に届く
Slack(Incoming Webhookのアドレス)、KakaoWork(ボットのWebhookアドレス)、署名付きWebhook、またはメール(emailsに1〜10件のアドレス)に通知を送ります。メールチャンネルはアドレスごとに確認リンクを送り、リンクを開いたアドレスにだけ通知を送ります。noticesを空にするとすべての種類を受け取ります(usageには使用量の上限警告とトラフィック急増の通知が含まれます)。Webhookチャンネルのsigning_secretはこの応答にだけ含まれるので、受信側にすぐ保存してください。作成後にtest_channelで確認してください。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | team.manage オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/channels |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
kind | string, slack | kakaowork | webhook | email | はい | slack、kakaowork、webhook、emailのいずれかです。 |
name | string | はい | チャンネルを見分けるための名前です。 |
url | string | いいえ | 送信先のWebhookアドレスです。メールチャンネルでは使いません。 |
emails | array<string>, max items 10 | いいえ | メールチャンネルの送信先アドレスです。例: ["[email protected]"]。 |
notices | array<string>, deployments | domains | usage | billing | いいえ | 受け取る種類です: deployments、domains、usage、billing。空ならすべてです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"kind": {
"type": "string",
"enum": [
"slack",
"kakaowork",
"webhook",
"email"
],
"description": "slack、kakaowork、webhook、emailのいずれかです。"
},
"name": {
"type": "string",
"description": "チャンネルを見分けるための名前です。"
},
"url": {
"type": "string",
"description": "送信先のWebhookアドレスです。メールチャンネルでは使いません。"
},
"emails": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 10,
"description": "メールチャンネルの送信先アドレスです。例: [\"[email protected]\"]。"
},
"notices": {
"type": "array",
"items": {
"type": "string",
"enum": [
"deployments",
"domains",
"usage",
"billing"
]
},
"description": "受け取る種類です: deployments、domains、usage、billing。空ならすべてです。"
}
},
"required": [
"ref",
"kind",
"name"
],
"additionalProperties": false
}test_channel 通知チャンネルのテスト
追加のみ 外部に届く
そのチャンネル1つにだけテストメッセージを送ります。メールチャンネルでは確認済みのアドレスにだけ送り、確認待ちのアドレスには確認メールを再送します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | team.manage オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/channels/{id}/test |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_channelsのidです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_channelsのidです。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}set_channel_enabled 通知チャンネルのオン・オフ
破壊的
設定を残したまま、通知を止めるか再開します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | team.manage オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/channels/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_channelsのidです。 |
enabled | boolean | はい | trueで送信、falseで停止します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_channelsのidです。"
},
"enabled": {
"type": "boolean",
"description": "trueで送信、falseで停止します。"
}
},
"required": [
"ref",
"id",
"enabled"
],
"additionalProperties": false
}remove_channel 通知チャンネルの削除
破壊的
通知チャンネルを削除します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | team.manage オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/channels/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_channelsのidです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_channelsのidです。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}料金と使用量
| 名前 | 説明 |
|---|---|
usage | 使用量 |
get_billing | 請求と使用量 |
get_plan | 料金プラン |
get_spend_controls | 支出の上限 |
set_spend_cap | 支出キャップのオンとオフ |
set_spend_limit | 月の支出上限 |
usage 使用量
読み取り専用
テーブル、行、ユーザー、ファイルの数、使用しているストレージ容量、今月の計量値、1分あたりの上限(limits.outbound_requests_per_minute: 関数・pg_net・HTTPジョブが共有する外部リクエスト。自分のAPIへの呼び出しは数えません)を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/usage |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_billing 請求と使用量
読み取り専用
1か月分の請求(項目ごとの使用量、無料枠、料金)と日別の使用量です。periodが空なら今月(UTC)です。金額は currency の最小単位です(KRW はウォン、USD はセント)。included は今月実際に使ったプランの無料枠(変更日までの日数で按分)、list_included は Pro の無料枠です。amount_minor・total_minor は請求される金額、list_amount_minor・list_total_minor は定価です。billing_exempt が true の組織(運営会社自身のアカウント)は請求額が0で、支払いを理由に止まりません。定価は Pro プランの料金表によるものです。カードとお支払い履歴はコンソールでのみ確認できます。オーナー、管理者、請求担当のメンバーだけが見られます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | billing.manage オーナーまたは管理者または請求担当 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/billing |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
period | string | いいえ | YYYY-MM |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"period": {
"type": "string",
"description": "YYYY-MM"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_plan 料金プラン
読み取り専用
組織の今の料金プラン、予約された変更、選べるプランと月額料金、組織で有効な有料オプション(addons)です。無料プランなら free にその制限(1 人、独自ドメインなし、1 日のデプロイ回数、3 日間未使用で一時停止、ビルド時間と転送量)と Pro だけの機能があります。オプションはそれぞれのツール(set_static_outbound_ip)でオン・オフします。プランの変更は支払いが必要なので、コンソールの請求画面でのみ行えます。オーナー、管理者、請求担当のメンバーだけが見られます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | billing.manage オーナーまたは管理者または請求担当 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/billing/plan |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_spend_controls 支出の上限
読み取り専用
支出キャップ(オンにすると無料枠を超える使用を止め、超過料金を請求しません)、月の超過料金の上限と通知Webhook、今月の使用量を表示します。オーナー、管理者、請求担当のメンバーだけが見られます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | billing.manage オーナーまたは管理者または請求担当 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/billing/spend |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_spend_cap 支出キャップのオンとオフ
破壊的
有料プランの支出キャップをオンまたはオフにします。オンなら無料枠で止まり、超過料金はありません(コンソールの支出上限の「含まれる量まで」)。オフなら超えた分が請求されるため、オフにするときは confirm にプロジェクト名(list_projectsのname)をそのまま入れてください。オーナー、管理者、請求担当のメンバーだけが行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | billing.manage オーナーまたは管理者または請求担当 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | PUT /projects/{ref}/billing/spend-cap |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | はい | trueでオンにします。 |
confirm | string | いいえ | オフにするとき(enabled: false)だけ: プロジェクト名です。list_projectsのnameと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "trueでオンにします。"
},
"confirm": {
"type": "string",
"description": "オフにするとき(enabled: false)だけ: プロジェクト名です。list_projectsのnameと完全に同じである必要があります。"
}
},
"required": [
"ref",
"enabled"
],
"additionalProperties": false
}set_spend_limit 月の支出上限
破壊的
1か月の超過料金の上限(通貨の最小単位、ウォン)と、上限に近づいたときに通知するWebhookアドレスを決めます。支出キャップがオフのとき、コンソールの支出上限の「決めた金額まで許可」(nullなら「無制限」)と同じです。spend_limit_minorをnullにすると上限をなくします。webhook_urlを省くと今のアドレスのままです。新しい通知先は通知チャネル(create_channel)で受け取ることをおすすめします。オーナー、管理者、請求担当のメンバーだけが行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | billing.manage オーナーまたは管理者または請求担当 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | PUT /projects/{ref}/billing/spend-limit |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
spend_limit_minor | string, min 0 | はい | 上限です。nullならなしです。 |
webhook_url | string | いいえ | 通知を受けるhttpsアドレスです。空文字列なら削除します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"spend_limit_minor": {
"type": [
"integer",
"null"
],
"minimum": 0,
"description": "上限です。nullならなしです。"
},
"webhook_url": {
"type": [
"string",
"null"
],
"description": "通知を受けるhttpsアドレスです。空文字列なら削除します。"
}
},
"required": [
"ref",
"spend_limit_minor"
],
"additionalProperties": false
}その他
list_s3_keys S3 アクセスキー一覧
読み取り専用
S3 エンドポイント(endpoint、region、force_path_style)と TUS による再開可能なアップロードのアドレス、そして各 S3 アクセスキーの名前、アクセスキー ID、最終使用日時、失効状態です。シークレットアクセスキーは返しません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/s3-keys |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_s3_key S3 アクセスキーを作成
追加のみ
AWS SDK、aws CLI、rclone が /storage/v1/s3 へのリクエストに署名するアクセスキー ID とシークレットアクセスキーを作成します。サービスロールとして動き、アクセスルールを無視するので、サーバーにだけ置いてください。シークレットアクセスキーはこの応答にしかなく、二度と見られません。作成できるのはオーナーと管理者だけで、プロジェクトごとに 20 個までです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/s3-keys |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, min length 1, max length 60 | はい | キーの用途です。例: バックアップサーバー |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "キーの用途です。例: バックアップサーバー"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}revoke_s3_key S3 アクセスキーを失効
破壊的
S3 アクセスキーを 1 つ失効させます。30 秒以内に、そのキーで署名したリクエストは拒否されます。他のキーには影響しません。元に戻せません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/s3-keys/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_s3_keys の keys[].id です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_s3_keys の keys[].id です。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}deploy_commit コミットのデプロイ
破壊的 外部に届く
リポジトリの指定したコミットをデプロイします。プロダクションブランチはプロダクションへ、それ以外のブランチはプレビューへデプロイされます。コミットは40文字の完全なハッシュである必要があります。appはlist_appsの名前です。応答にアドレス(url、preview_url・production_url)とセキュリティチェックの結果(advisors)が含まれます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
app | string | はい | list_appsの名前です。 |
branch | string | はい | コミットがあるブランチです。 |
commit | string | はい | 40文字のコミットハッシュです。 |
wait | integer, min 0, max 120 | いいえ | ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。 |
block_on_advisors | boolean | いいえ | trueなら、get_advisors の重大なセキュリティ問題(advisors.critical)が1つでもある間、プロダクションへのデプロイを拒否します。既定のfalseはデプロイし、件数と上位3件を advisors で知らせます。プレビューは止めません。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"app": {
"type": "string",
"description": "list_appsの名前です。"
},
"branch": {
"type": "string",
"description": "コミットがあるブランチです。"
},
"commit": {
"type": "string",
"description": "40文字のコミットハッシュです。"
},
"wait": {
"type": "integer",
"minimum": 0,
"maximum": 120,
"description": "ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。"
},
"block_on_advisors": {
"type": "boolean",
"description": "trueなら、get_advisors の重大なセキュリティ問題(advisors.critical)が1つでもある間、プロダクションへのデプロイを拒否します。既定のfalseはデプロイし、件数と上位3件を advisors で知らせます。プレビューは止めません。"
}
},
"required": [
"ref",
"app",
"branch",
"commit"
],
"additionalProperties": false
}deploy_files ファイルでデプロイ
破壊的
リポジトリなしでファイルを送ってデプロイします。Vercelのファイルデプロイと同じです。filesはパスからテキスト内容への対応で、画像やフォントなどのバイナリはfiles_base64にbase64で入れます。合計3MBまでです。それより大きいときは、create_source_upload_urlでアドレスを受け取ってアーカイブをPUTし、deploy_sourceでデプロイしてください(50MBまで)。pushされたコミットと同じようにビルドします。package.jsonがあればフレームワークを検出してインストールとビルドを行い、index.htmlだけならそのまま配信します。prebuiltをtrueにするとビルドせず、送ったファイルをそのまま配信します(ビルド済みのdist)。targetはpreview(既定)またはproductionです。プロダクションへのデプロイはオーナーと管理者のみ行えます。プレビューのアドレスはbranch(既定はpreview)で決まります。アプリのないプロジェクトにはsiteというアプリが作られます。同じファイルを送り直すと同じsource(SHA-256)になります。進み具合とビルドログはget_deploymentで確認します。応答の url はこのデプロイ固有の dpl- アドレス、preview_url・production_url はプレビュー(branch)やプロダクションのアドレスです。wait(秒)を渡すとビルドが終わるまで待って結果をまとめて返します。advisors.critical は get_advisors が見つけた重大なセキュリティ問題の数です(上位3件は advisors.top)。block_on_advisors が true なら、そのような問題がある間プロダクションへのデプロイを拒否します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
files | object | いいえ | パスからテキスト内容への対応です。例: {"index.html": "<h1>こんにちは</h1>"} |
files_base64 | object | いいえ | パスからbase64内容への対応です(バイナリファイル)。 |
target | string, preview | production | いいえ | 既定はpreviewです。 |
prebuilt | boolean | いいえ | trueならビルドせずにそのまま配信します。 |
app | string | いいえ | デプロイするアプリです(list_appsのname)。アプリが1つなら省略します。 |
branch | string | いいえ | プレビューの名前で、プレビューのアドレスになります。既定はpreviewです。 |
message | string | いいえ | デプロイ一覧に残すメモです(任意)。 |
wait | integer, min 0, max 120 | いいえ | ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。 |
block_on_advisors | boolean | いいえ | trueなら、get_advisors の重大なセキュリティ問題(advisors.critical)が1つでもある間、プロダクションへのデプロイを拒否します。既定のfalseはデプロイし、件数と上位3件を advisors で知らせます。プレビューは止めません。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"files": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "パスからテキスト内容への対応です。例: {\"index.html\": \"<h1>こんにちは</h1>\"}"
},
"files_base64": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "パスからbase64内容への対応です(バイナリファイル)。"
},
"target": {
"type": "string",
"enum": [
"preview",
"production"
],
"description": "既定はpreviewです。"
},
"prebuilt": {
"type": "boolean",
"description": "trueならビルドせずにそのまま配信します。"
},
"app": {
"type": "string",
"description": "デプロイするアプリです(list_appsのname)。アプリが1つなら省略します。"
},
"branch": {
"type": "string",
"description": "プレビューの名前で、プレビューのアドレスになります。既定はpreviewです。"
},
"message": {
"type": "string",
"description": "デプロイ一覧に残すメモです(任意)。"
},
"wait": {
"type": "integer",
"minimum": 0,
"maximum": 120,
"description": "ビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。"
},
"block_on_advisors": {
"type": "boolean",
"description": "trueなら、get_advisors の重大なセキュリティ問題(advisors.critical)が1つでもある間、プロダクションへのデプロイを拒否します。既定のfalseはデプロイし、件数と上位3件を advisors で知らせます。プレビューは止めません。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_function_public 関数の公開・非公開
破壊的
再デプロイせずに、関数を公開(キーなしで誰でも呼び出せる)または非公開(このプロジェクトのキーが必要: 公開キー・ユーザートークン・シークレットキー)にします。次の呼び出しから反映されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | 関数名です。 |
public | boolean | はい | trueにすると、キーなしで誰でも呼び出せます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "関数名です。"
},
"public": {
"type": "boolean",
"description": "trueにすると、キーなしで誰でも呼び出せます。"
}
},
"required": [
"ref",
"name",
"public"
],
"additionalProperties": false
}add_sso_provider SAML SSOの追加
追加のみ 外部に届く
IdPのメタデータ(httpsのURLかXML)からSAML IdPを登録します。メタデータにはHTTP-Redirectのログインアドレスと署名証明書が必要です。domainsのメールドメインでsignInWithSSOを呼ぶと、このIdPに進みます。1つのドメインは1つのIdPにだけ設定できます。新しいIdPはエンタープライズプランでのみ追加できます(list_sso_providersのnew_providers_allowed)。登録済みのIdPはプランに関係なくそのまま動作します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/{param0}/{param1}, PUT /projects/{ref}/{param0}/{param1}/{param2} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
metadata_url | string | いいえ | httpsのURL。metadata_xmlとどちらか一方。 |
metadata_xml | string | いいえ | IdPのメタデータXML。metadata_urlとどちらか一方。 |
domains | array<string> | いいえ | メールドメイン。例: ["example.com"]。 |
attribute_mapping | object | いいえ | GoTrueの形式: {"keys": {"email": {"name": "mail"}}}。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"metadata_url": {
"type": "string",
"description": "httpsのURL。metadata_xmlとどちらか一方。"
},
"metadata_xml": {
"type": "string",
"description": "IdPのメタデータXML。metadata_urlとどちらか一方。"
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"description": "メールドメイン。例: [\"example.com\"]。"
},
"attribute_mapping": {
"type": "object",
"description": "GoTrueの形式: {\"keys\": {\"email\": {\"name\": \"mail\"}}}。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}update_sso_provider SAML SSOの変更
破壊的 外部に届く
IdP 1つのドメイン、メタデータ(証明書が変わったとき)、属性マッピングを変更します。渡したものだけが変わります。domainsを渡すと、その一覧で丸ごと置き換わります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_sso_providersのid。 |
metadata_url | string | いいえ | メタデータを読み直すhttpsのURL。 |
metadata_xml | string | いいえ | 新しいメタデータXML。 |
domains | array<string> | いいえ | メールドメインの一覧全体。 |
attribute_mapping | object | いいえ | GoTrueの形式: {"keys": {"email": {"name": "mail"}}}。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_sso_providersのid。"
},
"metadata_url": {
"type": "string",
"description": "メタデータを読み直すhttpsのURL。"
},
"metadata_xml": {
"type": "string",
"description": "新しいメタデータXML。"
},
"domains": {
"type": "array",
"items": {
"type": "string"
},
"description": "メールドメインの一覧全体。"
},
"attribute_mapping": {
"type": "object",
"description": "GoTrueの形式: {\"keys\": {\"email\": {\"name\": \"mail\"}}}。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}get_auth_config ログイン設定をすべて見る
読み取り専用
このプロジェクトのログイン設定すべてを、Supabase の auth config と同じキー(小文字)で返します。登録(disable_signup、mailer_autoconfirm、security_manual_linking_enabled、external_anonymous_users_enabled)、メールプロバイダーとパスワードのルール、電話番号と SMS プロバイダー(sms_*)、SAML(saml_*)、Web3、ソーシャルプロバイダーごとの external_<プロバイダー>_enabled・client_id・secret・url・email_optional、カスタムプロバイダーのスイッチ。シークレットは ••••abcd のように末尾4文字だけを返し、この値を update_auth_config にそのまま返すと保存済みの値は変わりません。callback_url はプロバイダーのコンソールに貼り付けるアドレスです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/config/auth |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}update_auth_config ログイン設定を変える
破壊的
指定したキーだけを変えます(GoTrue の大文字の名前も使えます)。コンソールのサインイン / プロバイダー画面と同じルールで確認します: 有効にしたプロバイダーには必要な値がすべて要り(external_google_client_id、Keycloak のレルム url など)、Apple のシークレットは残り7日を超える ES256 の JWT、SMS の本文には {{ .Code }} が必要です。1つでも誤りがあれば何も保存せず、キーごとに理由を返します。カカオの同意項目は external_kakao_scopes(profile_nickname、account_email、gender などをカンマ区切り)、NAVER で保存する情報は external_naver_scopes、Google と GitHub の追加スコープは external_<プロバイダー>_additional_scopes です。シークレットに空文字列を渡すと削除します。オーナー・管理者・開発者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/config/auth |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
config | object | はい | 変えるキーと値。例: {"external_google_enabled": true, "external_google_client_id": "web.apps.googleusercontent.com"} |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"config": {
"type": "object",
"description": "変えるキーと値。例: {\"external_google_enabled\": true, \"external_google_client_id\": \"web.apps.googleusercontent.com\"}",
"additionalProperties": true
}
},
"required": [
"ref",
"config"
],
"additionalProperties": false
}list_custom_providers カスタムログインプロバイダーを見る
読み取り専用
プロジェクトが自分で定義した OAuth・OIDC プロバイダー(custom:<識別子>)と、プランの上限(max_providers)、スイッチ(enabled)を返します。アプリでは signInWithOAuth({ provider: "custom:<識別子>" }) で使います。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/config/auth/custom-providers |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_custom_provider カスタムログインプロバイダーを作る
追加のみ
OAuth・OIDC プロバイダー(custom:<識別子>)を1つ作って有効にします。set_auth_provider と同じ場所に保存します。provider_type が oidc なら issuer だけで、{issuer}/.well-known/openid-configuration からエンドポイントと jwks_uri を読み込み、id_token の署名・発行者・対象・有効期限・nonce をその鍵で確認します。oauth2 なら issuer か authorization_url・token_url が必要で、空欄のエンドポイントは {issuer}/oauth/authorize、/oauth/token、/oauth/userinfo になります。claim_map は応答のどのフィールドが id・email・email_verified・name・avatar・phone か(ドットでつないだパス)です。PKCE は既定でオンです。プランの上限を超えると拒否されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/config/auth/custom-providers |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
identifier | string | はい | 英小文字・数字・ハイフン。custom: は付けても付けなくてもかまいません。 |
name | string | はい | 表示名。100文字未満。 |
provider_type | string, oidc | oauth2 | はい | oidc(エンドポイントを検出し id_token を検証)または oauth2(エンドポイントを指定し claim_map で読む)。 |
issuer | string | いいえ | プロバイダーのベース URL。 |
discovery_url | string | いいえ | oidc で検出ドキュメントが標準のパスにない場合。 |
authorization_url | string | いいえ | issuer のない oauth2 では必須。oidc では空欄なら検出します。 |
token_url | string | いいえ | issuer のない oauth2 では必須。oidc では空欄なら検出します。 |
userinfo_url | string | いいえ | ユーザー情報を読むアドレス。oidc では空欄なら検出します。 |
jwks_uri | string | いいえ | oidc で ID トークンの検証に使います。空欄なら検出します。 |
client_id | string | はい | クライアント ID。 |
client_secret | string | はい | クライアントシークレット。 |
scopes | array<string> | いいえ | 例: ["openid", "email", "profile"]。 |
email_optional | boolean | いいえ | メールアドレスのないユーザーを許可。 |
claim_map | object | いいえ | 応答のどのフィールドが id・email・email_verified・name・avatar・phone か、ドットでつないだパスで。省くと OpenID の標準名。 |
token_auth | string, body | basic | いいえ | client_secret を本文(body、既定)で送るか HTTP Basic(basic)で送るか。 |
pkce | boolean | いいえ | 既定はオン。プロバイダーが PKCE を拒否する場合だけオフにします。 |
enabled | boolean | いいえ | 既定はオン。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"identifier": {
"type": "string",
"description": "英小文字・数字・ハイフン。custom: は付けても付けなくてもかまいません。"
},
"name": {
"type": "string",
"description": "表示名。100文字未満。"
},
"provider_type": {
"type": "string",
"enum": [
"oidc",
"oauth2"
],
"description": "oidc(エンドポイントを検出し id_token を検証)または oauth2(エンドポイントを指定し claim_map で読む)。"
},
"issuer": {
"type": "string",
"description": "プロバイダーのベース URL。"
},
"discovery_url": {
"type": "string",
"description": "oidc で検出ドキュメントが標準のパスにない場合。"
},
"authorization_url": {
"type": "string",
"description": "issuer のない oauth2 では必須。oidc では空欄なら検出します。"
},
"token_url": {
"type": "string",
"description": "issuer のない oauth2 では必須。oidc では空欄なら検出します。"
},
"userinfo_url": {
"type": "string",
"description": "ユーザー情報を読むアドレス。oidc では空欄なら検出します。"
},
"jwks_uri": {
"type": "string",
"description": "oidc で ID トークンの検証に使います。空欄なら検出します。"
},
"client_id": {
"type": "string",
"description": "クライアント ID。"
},
"client_secret": {
"type": "string",
"description": "クライアントシークレット。"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
},
"description": "例: [\"openid\", \"email\", \"profile\"]。"
},
"email_optional": {
"type": "boolean",
"description": "メールアドレスのないユーザーを許可。"
},
"claim_map": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"description": "応答のどのフィールドが id・email・email_verified・name・avatar・phone か、ドットでつないだパスで。省くと OpenID の標準名。"
},
"token_auth": {
"type": "string",
"enum": [
"body",
"basic"
],
"description": "client_secret を本文(body、既定)で送るか HTTP Basic(basic)で送るか。"
},
"pkce": {
"type": "boolean",
"description": "既定はオン。プロバイダーが PKCE を拒否する場合だけオフにします。"
},
"enabled": {
"type": "boolean",
"description": "既定はオン。"
}
},
"required": [
"ref",
"identifier",
"name",
"provider_type",
"client_id",
"client_secret"
],
"additionalProperties": false
}update_custom_provider カスタムログインプロバイダーを変える
破壊的
カスタムプロバイダーを1つ変更します。識別子は変えられません。client_secret を空文字列にすると保存済みのシークレットを使い続けます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/config/auth/custom-providers/{identifier} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
identifier | string | はい | list_custom_providers の identifier。 |
name | string | はい | 表示名。100文字未満。 |
provider_type | string, oidc | oauth2 | はい | oidc(エンドポイントを検出し id_token を検証)または oauth2(エンドポイントを指定し claim_map で読む)。 |
issuer | string | いいえ | プロバイダーのベース URL。 |
discovery_url | string | いいえ | oidc で検出ドキュメントが標準のパスにない場合。 |
authorization_url | string | いいえ | issuer のない oauth2 では必須。oidc では空欄なら検出します。 |
token_url | string | いいえ | issuer のない oauth2 では必須。oidc では空欄なら検出します。 |
userinfo_url | string | いいえ | ユーザー情報を読むアドレス。oidc では空欄なら検出します。 |
jwks_uri | string | いいえ | oidc で ID トークンの検証に使います。空欄なら検出します。 |
client_id | string | はい | クライアント ID。 |
client_secret | string | いいえ | 空なら保存済みのシークレットを使い続けます。 |
scopes | array<string> | いいえ | 例: ["openid", "email", "profile"]。 |
email_optional | boolean | いいえ | メールアドレスのないユーザーを許可。 |
claim_map | object | いいえ | 応答のどのフィールドが id・email・email_verified・name・avatar・phone か、ドットでつないだパスで。省くと OpenID の標準名。 |
token_auth | string, body | basic | いいえ | client_secret を本文(body、既定)で送るか HTTP Basic(basic)で送るか。 |
pkce | boolean | いいえ | 既定はオン。プロバイダーが PKCE を拒否する場合だけオフにします。 |
enabled | boolean | いいえ | 保存と同時にオンまたはオフにします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"identifier": {
"type": "string",
"description": "list_custom_providers の identifier。"
},
"name": {
"type": "string",
"description": "表示名。100文字未満。"
},
"provider_type": {
"type": "string",
"enum": [
"oidc",
"oauth2"
],
"description": "oidc(エンドポイントを検出し id_token を検証)または oauth2(エンドポイントを指定し claim_map で読む)。"
},
"issuer": {
"type": "string",
"description": "プロバイダーのベース URL。"
},
"discovery_url": {
"type": "string",
"description": "oidc で検出ドキュメントが標準のパスにない場合。"
},
"authorization_url": {
"type": "string",
"description": "issuer のない oauth2 では必須。oidc では空欄なら検出します。"
},
"token_url": {
"type": "string",
"description": "issuer のない oauth2 では必須。oidc では空欄なら検出します。"
},
"userinfo_url": {
"type": "string",
"description": "ユーザー情報を読むアドレス。oidc では空欄なら検出します。"
},
"jwks_uri": {
"type": "string",
"description": "oidc で ID トークンの検証に使います。空欄なら検出します。"
},
"client_id": {
"type": "string",
"description": "クライアント ID。"
},
"client_secret": {
"type": "string",
"description": "空なら保存済みのシークレットを使い続けます。"
},
"scopes": {
"type": "array",
"items": {
"type": "string"
},
"description": "例: [\"openid\", \"email\", \"profile\"]。"
},
"email_optional": {
"type": "boolean",
"description": "メールアドレスのないユーザーを許可。"
},
"claim_map": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"description": "応答のどのフィールドが id・email・email_verified・name・avatar・phone か、ドットでつないだパスで。省くと OpenID の標準名。"
},
"token_auth": {
"type": "string",
"enum": [
"body",
"basic"
],
"description": "client_secret を本文(body、既定)で送るか HTTP Basic(basic)で送るか。"
},
"pkce": {
"type": "boolean",
"description": "既定はオン。プロバイダーが PKCE を拒否する場合だけオフにします。"
},
"enabled": {
"type": "boolean",
"description": "保存と同時にオンまたはオフにします。"
}
},
"required": [
"ref",
"identifier",
"name",
"provider_type",
"client_id"
],
"additionalProperties": false
}set_custom_provider_enabled カスタムログインプロバイダーのオンとオフ
破壊的
カスタムプロバイダーを1つオフまたはオンにします。オフにしても既存のセッションはそのままですが、新しいログインは再度オンにするまで失敗します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/config/auth/custom-providers/{identifier} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
identifier | string | はい | list_custom_providers の identifier。 |
enabled | boolean | はい | true でオン、false でオフ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"identifier": {
"type": "string",
"description": "list_custom_providers の identifier。"
},
"enabled": {
"type": "boolean",
"description": "true でオン、false でオフ。"
}
},
"required": [
"ref",
"identifier",
"enabled"
],
"additionalProperties": false
}remove_custom_provider カスタムログインプロバイダーを削除
破壊的
カスタムプロバイダーを1つ削除します。元に戻せず、このプロバイダーでログインしていたユーザーは入れなくなります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/config/auth/custom-providers/{identifier} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
identifier | string | はい | list_custom_providers の identifier。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"identifier": {
"type": "string",
"description": "list_custom_providers の identifier。"
}
},
"required": [
"ref",
"identifier"
],
"additionalProperties": false
}list_third_party_auth サードパーティ認証を見る
読み取り専用
Data API が受け付ける他の認証サービス(Firebase、Clerk、WorkOS、Auth0、Amazon Cognito、OpenID 発行者)のトークンの一覧です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/config/auth/third-party-auth |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}add_third_party_auth サードパーティ認証を追加
追加のみ
他の認証サービスの JWT をこのプロジェクトのログインとして受け付けます。value は type によって異なります: firebase はプロジェクト ID、clerk は https://clerk.<ドメイン> か https://<名前>.clerk.accounts.dev、workos は発行者 URL、auth0 はテナント名(<名前>.auth0.com の前半)、cognito はユーザープール ID(region も)、oidc は発行者 URL。Auth0 と Cognito では audiences の指定をおすすめします。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/config/auth/third-party-auth |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
type | string, firebase | clerk | workos | auth0 | cognito | oidc | はい | firebase、clerk、workos、auth0、cognito、oidc のいずれか。 |
value | string | はい | type ごとに上のとおり。 |
region | string | いいえ | Cognito の AWS リージョン。例: ap-northeast-2 |
audiences | array<string> | いいえ | トークンの aud に含まれるべき値。 |
jwks_url | string | いいえ | oidc で、検出の代わりに使う JWKS のアドレス。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"type": {
"type": "string",
"enum": [
"firebase",
"clerk",
"workos",
"auth0",
"cognito",
"oidc"
],
"description": "firebase、clerk、workos、auth0、cognito、oidc のいずれか。"
},
"value": {
"type": "string",
"description": "type ごとに上のとおり。"
},
"region": {
"type": "string",
"description": "Cognito の AWS リージョン。例: ap-northeast-2"
},
"audiences": {
"type": "array",
"items": {
"type": "string"
},
"description": "トークンの aud に含まれるべき値。"
},
"jwks_url": {
"type": "string",
"description": "oidc で、検出の代わりに使う JWKS のアドレス。"
}
},
"required": [
"ref",
"type",
"value"
],
"additionalProperties": false
}remove_third_party_auth サードパーティ認証を削除
破壊的
サードパーティ認証を1つ削除します。そのサービスでログインしたユーザーのリクエストは30秒以内に 401 で拒否されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/config/auth/third-party-auth/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_third_party_auth の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_third_party_auth の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}copy_auth_from_import 取り込み元からログイン設定をコピー
破壊的 外部に届く
import_sources で接続した Supabase アカウントで、そのプロジェクトのログイン設定をこのサーバーのプロジェクト(ref)にコピーします。オンにしたソーシャルプロバイダー(Client ID、シークレットなど。update_auth_config と同じ確認)、戻り先アドレスの一覧(uri_allow_list。add_redirect_url と同じ)、空のときだけ site_url。シークレットは会話に出ません。答えはプロバイダーごとの copied と理由です。答えの callback_url を各プロバイダーのコンソールに登録するまで、ログインは失敗します。dry_run なら何も変えずに表示だけします。オーナー・管理者・開発者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/config/auth/copy-from-import |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
org | string | いいえ | 組織の id か名前。空なら ref のプロジェクトの組織。 |
connection | string | はい | Supabase アカウント(import_sources の connection、source が supabase のもの)。 |
project | string | はい | Supabase プロジェクトの ref(import_sources の projects[].id)。 |
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
providers | array<string> | いいえ | コピーするプロバイダー(google、kakao、apple、x など)。空なら Supabase でオンのものすべて。 |
dry_run | boolean | いいえ | true なら変更せず、何をコピーするかだけ表示します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"org": {
"type": "string",
"description": "組織の id か名前。空なら ref のプロジェクトの組織。"
},
"connection": {
"type": "string",
"description": "Supabase アカウント(import_sources の connection、source が supabase のもの)。"
},
"project": {
"type": "string",
"description": "Supabase プロジェクトの ref(import_sources の projects[].id)。"
},
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "コピーするプロバイダー(google、kakao、apple、x など)。空なら Supabase でオンのものすべて。"
},
"dry_run": {
"type": "boolean",
"description": "true なら変更せず、何をコピーするかだけ表示します。"
}
},
"required": [
"connection",
"project",
"ref"
],
"additionalProperties": false
}copy_schema_from_project 別プロジェクトの構造のコピー
破壊的
同じアカウントの別のプロジェクト(from)のテーブルと構造(型、シーケンス、制約、外部キー、インデックス、関数、ビュー、トリガー、RLS、ポリシー)を、このプロジェクト(ref)に作ります。データスキーマ(public)と、プロジェクトが作ったスキーマ(allfic など)それぞれです。 文を一つずつ実行し、あとから作られるものが必要な文(関数を呼ぶ生成列、ビューの上のビュー)はほかが終わってからもう一度試します。すでにあるものは飛ばし、何も削除・変更しないので、失敗したら原因を直してもう一度呼べます。 行はコピーしません(copy_data_from_project)。権限と拡張は別に設定します。SQL に含まれる元のプロジェクトの名前はこのプロジェクトのものに置き換えます。dry_run なら種類ごとの件数だけを表示します。両方のプロジェクトでオーナーまたは管理者である必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
from | string | はい | コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。 |
schemas | array<string> | いいえ | コピーするスキーマ(public, allfic …)。空ならすべて。 |
dry_run | boolean | いいえ | true なら作らずに、種類ごとの件数だけを表示します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"from": {
"type": "string",
"description": "コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。"
},
"schemas": {
"type": "array",
"items": {
"type": "string"
},
"description": "コピーするスキーマ(public, allfic …)。空ならすべて。"
},
"dry_run": {
"type": "boolean",
"description": "true なら作らずに、種類ごとの件数だけを表示します。"
}
},
"required": [
"ref",
"from"
],
"additionalProperties": false
}copy_data_from_project 別プロジェクトの行のコピー
破壊的
同じアカウントの別のプロジェクト(from)のテーブルの行を、このプロジェクト(ref)の同じテーブルへサーバー内でコピーします。先に copy_schema_from_project でテーブルを作っておいてください。外部キーが許す順序で、主キー順にページ単位で移します。 mode が missing(既定)なら無い行だけを追加し、ある行はそのままです。upsert なら値が違う行も元の値に合わせます。切り替え直前の最後の同期に使います。元で削除した行は削除しません。主キーのないテーブルは空のときだけコピーします。 40 秒を超えると止まって next を返します。それを渡して呼ぶと続きから行います。シーケンスはコピーした最大値の後ろに合わせます。dry_run なら読むだけで書きません。結果は compare_projects_data で確認します。両方のプロジェクトでオーナーまたは管理者である必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
from | string | はい | コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。 |
schemas | array<string> | いいえ | コピーするスキーマ(public, allfic …)。空ならすべて。 |
tables | array<string> | いいえ | コピーするテーブル(allfic.profiles または notes)。空ならすべて。 |
mode | string, missing | upsert | いいえ | missing は無い行だけ、upsert は違う行も元の値に合わせます。 |
dry_run | boolean | いいえ | true なら読むだけで書きません。 |
next | string | いいえ | 前の答えの next。続きから行うときだけ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"from": {
"type": "string",
"description": "コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。"
},
"schemas": {
"type": "array",
"items": {
"type": "string"
},
"description": "コピーするスキーマ(public, allfic …)。空ならすべて。"
},
"tables": {
"type": "array",
"items": {
"type": "string"
},
"description": "コピーするテーブル(allfic.profiles または notes)。空ならすべて。"
},
"mode": {
"type": "string",
"enum": [
"missing",
"upsert"
],
"description": "missing は無い行だけ、upsert は違う行も元の値に合わせます。"
},
"dry_run": {
"type": "boolean",
"description": "true なら読むだけで書きません。"
},
"next": {
"type": "string",
"description": "前の答えの next。続きから行うときだけ。"
}
},
"required": [
"ref",
"from"
],
"additionalProperties": false
}move_domain ドメインの移動
破壊的
同じ組織の別のプロジェクト(to)へ、ドメイン(hostnames)を所有確認と証明書ごと移します。分割のあと、新しいプロジェクトがサイトの名前で応答するようにするときに使います。remove_domain のあと add_domain をすると DNS に新しい TXT レコードが必要になり、その間サイトが止まりますが、これはどちらも不要です。 所有確認が済んだドメインだけを移し、ブランチのプレビューに結びついたものは移しません。www の名前も一緒に指定します。移さずに残るドメインが移したドメインへ転送していた場合、その転送は無効になり、答えに表示されます。app は受け取るプロジェクトのアプリ名(空ならそのサイト)。両方のプロジェクトでオーナーまたは管理者である必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
to | string | はい | 受け取るプロジェクトの ref(list_projects)。同じ組織で、ref とは別である必要があります。 |
hostnames | array<string> | はい | 移すドメイン(allfic.io, www.allfic.io …)。 |
app | string | いいえ | これらの名前で応答する、受け取るプロジェクトのアプリ(list_apps)。空ならそのサイト。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"to": {
"type": "string",
"description": "受け取るプロジェクトの ref(list_projects)。同じ組織で、ref とは別である必要があります。"
},
"hostnames": {
"type": "array",
"items": {
"type": "string"
},
"description": "移すドメイン(allfic.io, www.allfic.io …)。"
},
"app": {
"type": "string",
"description": "これらの名前で応答する、受け取るプロジェクトのアプリ(list_apps)。空ならそのサイト。"
}
},
"required": [
"ref",
"to",
"hostnames"
],
"additionalProperties": false
}copy_users_from_project 別プロジェクトのユーザーのコピー
破壊的
同じアカウントの別のプロジェクト(from)のログインユーザー(ソーシャルログインの連携と、保存されたハッシュのままのパスワード)を、サーバー内でこのプロジェクト(ref)にコピーします。 referenced_by_schemas を渡すと、そのスキーマのテーブルが指しているユーザー(auth.users への外部キー)だけを移すので、ログインを共有していたプロジェクトを分けるときに、もう一方のプロジェクトのユーザーまで付いてきません。 すでにあるアカウント(同じ id・メール・プロバイダーのアカウント)はそのままにし、ハッシュとトークンは回答に出ません。dry_run なら件数だけを表示します。プロバイダー設定は copy_auth_from_project で移します。両方のプロジェクトでオーナーまたは管理者である必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
from | string | はい | コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。 |
referenced_by_schemas | array<string> | いいえ | これらのスキーマのテーブルが指しているユーザーだけ(public, allfic …)。空ならすべてのユーザー。 |
dry_run | boolean | いいえ | true なら変更せず、件数だけを表示します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"from": {
"type": "string",
"description": "コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。"
},
"referenced_by_schemas": {
"type": "array",
"items": {
"type": "string"
},
"description": "これらのスキーマのテーブルが指しているユーザーだけ(public, allfic …)。空ならすべてのユーザー。"
},
"dry_run": {
"type": "boolean",
"description": "true なら変更せず、件数だけを表示します。"
}
},
"required": [
"ref",
"from"
],
"additionalProperties": false
}compare_projects_data 二つのプロジェクトのデータ比較
読み取り専用
二つのプロジェクト(ref、with)のテーブルをサーバー内で並べ、同じかどうかを答えます。テーブルごとに行数と、hash が false でなければ全行の MD5 を比べます。プロジェクトを分けたコピーが漏れなく済んだかを切り替え前に確認するのに使います。 スキーマは名前で対応させます(データスキーマは public、ほかは app_<ref>_ の後ろの名前)。読むだけで、40秒で終わらなかったテーブルは not_checked として返るので、大きなプロジェクトは schemas で分けて呼んでください。両方のプロジェクトでオーナーまたは管理者である必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
with | string | はい | 比較するプロジェクトの ref(list_projects)。ref とは別である必要があります。 |
schemas | array<string> | いいえ | 比較するスキーマ名(public, allfic …)。空ならすべて。 |
hash | boolean | いいえ | false なら行数だけを比べます(速い)。既定は true。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"with": {
"type": "string",
"description": "比較するプロジェクトの ref(list_projects)。ref とは別である必要があります。"
},
"schemas": {
"type": "array",
"items": {
"type": "string"
},
"description": "比較するスキーマ名(public, allfic …)。空ならすべて。"
},
"hash": {
"type": "boolean",
"description": "false なら行数だけを比べます(速い)。既定は true。"
}
},
"required": [
"ref",
"with"
],
"additionalProperties": false
}get_project_forward 公開関数の転送を見る
読み取り専用
このプロジェクト(ref)の公開関数の呼び出しを別のプロジェクトが代わりに受けているかを表示します。受け側の ref か null です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_project_forward 公開関数を転送する
破壊的
このプロジェクト(ref)の公開関数の呼び出しを、別のプロジェクト(to)に代わりに受けさせます。プロジェクトを分けた後も、古いアドレスに来る決済 Webhook や古いアプリの公開関数の呼び出しが途切れません。to のプロジェクトの同名の関数が、そのプロジェクトの環境と料金で応答します。 非公開の関数、REST API、ログイン、ファイルは転送しません(呼び出し側が持つキーとセッションは古いプロジェクトのものです)。to を空にするとオフです。転送は一段だけで、両方のプロジェクトでオーナーまたは管理者である必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
to | string | いいえ | 代わりに受けるプロジェクトの ref(list_projects)。空にすると転送をオフにします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"to": {
"type": "string",
"description": "代わりに受けるプロジェクトの ref(list_projects)。空にすると転送をオフにします。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_project_write_lock 書き込みロックを見る
読み取り専用
このプロジェクト(ref)が今、読み取り専用で保持されているかを表示します。保持中なら終了時刻と理由も表示します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_project_write_lock 書き込みロック
破壊的
このプロジェクト(ref)を一時的に読み取り専用にします。分割の最後のコピー(copy_data_from_project の upsert)の直前にかけると、そのコピーが全体になります。REST API・関数・スケジュールジョブの書き込みは数秒で止まり、読み取り・ログイン・ファイルはそのままです。 ロックは minutes(既定 30、最大 1440)が過ぎると自動で解除されるので、忘れてもプロジェクトが止まったままになりません。locked: false ですぐ解除します。オーナーまたは管理者のみ。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
locked | boolean | はい | true で保持、false で解除します。 |
minutes | integer | いいえ | 保持する時間(分)。既定 30、1 から 1440 まで。 |
reason | string | いいえ | 理由(200 文字まで)。監査ログに残ります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"locked": {
"type": "boolean",
"description": "true で保持、false で解除します。"
},
"minutes": {
"type": "integer",
"description": "保持する時間(分)。既定 30、1 から 1440 まで。"
},
"reason": {
"type": "string",
"description": "理由(200 文字まで)。監査ログに残ります。"
}
},
"required": [
"ref",
"locked"
],
"additionalProperties": false
}copy_functions_from_project 別プロジェクトの関数のコピー
破壊的
同じアカウントの別のプロジェクト(from)にある関数を、書かれたまま(コード、ファイル、package.json)このプロジェクト(ref)にデプロイします。names が空ならすべてです。 非公開でコピーし(keep_public: true なら元が公開だったものは公開のまま)、実行時間・メモリの制限と外部リクエストの設定は引き継ぎません。同名はスキップ(overwrite: true で置換)、dry_run なら表示だけです。シークレットは copy_function_secrets で移します。両方のプロジェクトでオーナーまたは管理者である必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
from | string | はい | コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。 |
names | array<string> | いいえ | コピーする関数名。空ならすべて。 |
keep_public | boolean | いいえ | true なら元が公開の関数は公開のままにします。既定はすべて非公開。 |
overwrite | boolean | いいえ | true なら同名の関数を置き換えます。既定は false(スキップ)。 |
dry_run | boolean | いいえ | true なら変更せず、コピーする内容だけを表示します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"from": {
"type": "string",
"description": "コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。"
},
"names": {
"type": "array",
"items": {
"type": "string"
},
"description": "コピーする関数名。空ならすべて。"
},
"keep_public": {
"type": "boolean",
"description": "true なら元が公開の関数は公開のままにします。既定はすべて非公開。"
},
"overwrite": {
"type": "boolean",
"description": "true なら同名の関数を置き換えます。既定は false(スキップ)。"
},
"dry_run": {
"type": "boolean",
"description": "true なら変更せず、コピーする内容だけを表示します。"
}
},
"required": [
"ref",
"from"
],
"additionalProperties": false
}set_vault_project_keys このプロジェクト自身のアドレスとキーを Vault に入れる
破壊的
このプロジェクト(ref)自身のアドレスと秘密キーを、supabase_url と service_role_key という名前で Vault に書き込みます(あれば置き換え)。値はサーバー内だけで移り、回答には名前だけが出ます。 別のプロジェクトからコピーした定期ジョブの SQL がこの二つの名前を読むので、プロジェクトを分けるときに必要です。元のプロジェクトの二つの値をコピーしてはいけません(ジョブが元のプロジェクトを呼びます)。 rotate_signing_key の後はもう一度呼んでください。Vault がオフならオンにします。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}copy_vault_secrets_from_project 別プロジェクトの Vault シークレットのコピー
破壊的
同じアカウントの別のプロジェクト(from)の Vault シークレットを、値ごとこのプロジェクト(ref)にコピーします。値はサーバー内で読み書きされ、回答には名前だけが出ます。 すでにある名前はスキップ(overwrite: true で置換)、コピー元にない名前は missing で返します。Vault がオフならオンにします。dry_run ならコピーする内容だけを表示します。両方のプロジェクトでオーナーまたは管理者である必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
from | string | はい | コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。 |
names | array<string> | いいえ | コピーするシークレット名。空ならコピー元のすべて。 |
overwrite | boolean | いいえ | true なら同名を置き換えます。既定は false(スキップ)。 |
dry_run | boolean | いいえ | true なら変更せず、コピーする内容だけを表示します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"from": {
"type": "string",
"description": "コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。"
},
"names": {
"type": "array",
"items": {
"type": "string"
},
"description": "コピーするシークレット名。空ならコピー元のすべて。"
},
"overwrite": {
"type": "boolean",
"description": "true なら同名を置き換えます。既定は false(スキップ)。"
},
"dry_run": {
"type": "boolean",
"description": "true なら変更せず、コピーする内容だけを表示します。"
}
},
"required": [
"ref",
"from"
],
"additionalProperties": false
}copy_jobs_from_project 別プロジェクトの定期ジョブのコピー
破壊的
同じアカウントの別のプロジェクト(from)の定期ジョブをこのプロジェクト(ref)にコピーします。enabled: true でなければオフのままコピーされ、同じジョブが二か所で動くことはありません。元のジョブを止めてから set_job_enabled で一つずつオンにします。SQL に書かれた元のプロジェクトの名前(net_・app_・cron_ のスキーマ、アドレス)は、保存前にこのプロジェクトのものに置き換え、回答の retargeted がその回数です。 cron.schedule で作ったジョブ(scheduled_in_sql)とヘッダーが封印されたアドレスジョブ(headers_sealed)はコピーされないので作り直します。関数ジョブは先にここへ関数をデプロイしてください。dry_run なら何も変更しません。両方のプロジェクトでオーナーまたは管理者である必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
from | string | はい | コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。 |
names | array<string> | いいえ | コピーするジョブ名。空ならすべて。 |
enabled | boolean | いいえ | true ならコピーをオンにします。既定は false。 |
overwrite | boolean | いいえ | true なら同名のジョブを置き換えます。既定は false(スキップ)。 |
dry_run | boolean | いいえ | true なら変更せず、コピーする内容だけを表示します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"from": {
"type": "string",
"description": "コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。"
},
"names": {
"type": "array",
"items": {
"type": "string"
},
"description": "コピーするジョブ名。空ならすべて。"
},
"enabled": {
"type": "boolean",
"description": "true ならコピーをオンにします。既定は false。"
},
"overwrite": {
"type": "boolean",
"description": "true なら同名のジョブを置き換えます。既定は false(スキップ)。"
},
"dry_run": {
"type": "boolean",
"description": "true なら変更せず、コピーする内容だけを表示します。"
}
},
"required": [
"ref",
"from"
],
"additionalProperties": false
}copy_auth_from_project 別プロジェクトのログイン設定のコピー
破壊的
同じアカウントの別のプロジェクト(from)のログイン設定をこのプロジェクト(ref)にコピーします。オンになっているソーシャルプロバイダー(Client ID・シークレットなど。update_auth_config と同じ検証と監査記録)、リダイレクト許可リスト(add_redirect_url と同じ)、空のときだけ site_url です。シークレットを貼り付けずにプロジェクトを二つに分けられます。シークレットはサーバー内だけで移り、回答には出ません。回答はプロバイダーごとに copied と理由です。回答の callback_url を各プロバイダーのコンソールに登録するまでログインは失敗します。すでにオンのプロバイダーは上書きします。dry_run なら何も変更せず内容だけを表示します。両方のプロジェクトでオーナーまたは管理者である必要があります(組織が違っても構いません)。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
from | string | はい | コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。 |
providers | array<string> | いいえ | コピーするプロバイダー(google, kakao, apple, x…)。空なら from でオンのものすべて。 |
dry_run | boolean | いいえ | true なら変更せず、何をコピーするかだけを表示します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"from": {
"type": "string",
"description": "コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。"
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"description": "コピーするプロバイダー(google, kakao, apple, x…)。空なら from でオンのものすべて。"
},
"dry_run": {
"type": "boolean",
"description": "true なら変更せず、何をコピーするかだけを表示します。"
}
},
"required": [
"ref",
"from"
],
"additionalProperties": false
}copy_storage_from_project 別プロジェクトのファイルのコピー
破壊的
同じアカウントの別のプロジェクト(from)のバケットとファイルをこのプロジェクト(ref)にコピーします。サーバー内で移し、方法は copy_storage_from_import と同じです。ここにないバケットはコピー元と同じ公開設定・サイズ上限・形式で作り、同じサイズのファイルがあれば飛ばすので、もう一度呼んでも構いません。 一回で最大200ファイル(max_files)か45秒まで移し、残りがあれば回答の next を渡してもう一度呼びます(done が true になるまで)。バケットのアクセスルールはコピーしません。dry_run なら表示だけです。両方のプロジェクトでオーナーまたは管理者である必要があります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者, project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
from | string | はい | コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。 |
buckets | array<string> | いいえ | コピーするバケット名。空ならすべて。 |
rename | object | いいえ | バケット名の変更 {"コピー元のバケット": "ここのバケット"}。 |
dry_run | boolean | いいえ | true なら変更せず、作るバケットと移すファイルだけを表示します。 |
next | string | いいえ | 前の回答の next。渡すとそこから続けます。 |
max_files | integer, min 1, max 1000 | いいえ | この呼び出しで移すファイル数の上限(既定 200、最大 1000)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"from": {
"type": "string",
"description": "コピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。"
},
"buckets": {
"type": "array",
"items": {
"type": "string"
},
"description": "コピーするバケット名。空ならすべて。"
},
"rename": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "バケット名の変更 {\"コピー元のバケット\": \"ここのバケット\"}。"
},
"dry_run": {
"type": "boolean",
"description": "true なら変更せず、作るバケットと移すファイルだけを表示します。"
},
"next": {
"type": "string",
"description": "前の回答の next。渡すとそこから続けます。"
},
"max_files": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"description": "この呼び出しで移すファイル数の上限(既定 200、最大 1000)。"
}
},
"required": [
"ref",
"from"
],
"additionalProperties": false
}copy_storage_from_import 取り込み元からファイルをコピー
破壊的 外部に届く
import_sources で接続した Supabase アカウントで、そのプロジェクトのバケットとファイルをこのサーバーのプロジェクト(ref)にコピーします。ここにないバケットは Supabase と同じ公開設定・サイズ上限・形式で作り、ファイルは upload_object と同じストレージに同じ上限で入れます。ここに同じサイズのファイルがあれば飛ばすので、呼び直しても大丈夫です。1 回でファイル 200 個(max_files)、45 秒までコピーし、残りがあれば答えの next を渡して done が true になるまで呼び直します。答えはバケットごとの created、copied、skipped、failed、bytes と、失敗したファイルの一部です。Supabase のキーは会話に出ません。バケットのアクセスルールはコピーしません。dry_run なら何も変えずに数だけ表示します。オーナー・管理者・開発者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 入力によって確認します(読み取りだけの SQL や dry_run なら確認しません) |
| REST | POST /projects/{ref}/storage/copy-from-import |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
org | string | いいえ | 組織の id か名前。空なら ref のプロジェクトの組織。 |
connection | string | はい | Supabase アカウント(import_sources の connection、source が supabase のもの)。 |
project | string | はい | Supabase プロジェクトの ref(import_sources の projects[].id)。 |
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
buckets | array<string> | いいえ | コピーする Supabase のバケット名。空ならすべて。 |
rename | object | いいえ | バケット名の変更 {"Supabase のバケット": "ここのバケット"}。なければ小文字にし、空白を - にします(My Files → my-files)。 |
dry_run | boolean | いいえ | true なら変更せず、作るバケットとコピーするファイルの数だけ表示します。 |
next | string | いいえ | 前の答えにあった next。渡すとそこから続けてコピーします。 |
max_files | integer, min 1, max 1000 | いいえ | 今回コピーするファイル数の上限(既定 200、最大 1000)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"org": {
"type": "string",
"description": "組織の id か名前。空なら ref のプロジェクトの組織。"
},
"connection": {
"type": "string",
"description": "Supabase アカウント(import_sources の connection、source が supabase のもの)。"
},
"project": {
"type": "string",
"description": "Supabase プロジェクトの ref(import_sources の projects[].id)。"
},
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"buckets": {
"type": "array",
"items": {
"type": "string"
},
"description": "コピーする Supabase のバケット名。空ならすべて。"
},
"rename": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "バケット名の変更 {\"Supabase のバケット\": \"ここのバケット\"}。なければ小文字にし、空白を - にします(My Files → my-files)。"
},
"dry_run": {
"type": "boolean",
"description": "true なら変更せず、作るバケットとコピーするファイルの数だけ表示します。"
},
"next": {
"type": "string",
"description": "前の答えにあった next。渡すとそこから続けてコピーします。"
},
"max_files": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"description": "今回コピーするファイル数の上限(既定 200、最大 1000)。"
}
},
"required": [
"connection",
"project",
"ref"
],
"additionalProperties": false
}link_github_app GitHub アカウントを接続
破壊的
同じ組織の別プロジェクトにすでに接続済みの GitHub アカウント(App のインストール)を、このプロジェクトにも接続します。コンソールの[GitHub を接続]と同じです。組織にまだ接続がなければ 409 です(最初の一回はコンソールで GitHub の確認が必要です)。オーナー・管理者のみ。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_schemas プロジェクトのスキーマ
読み取り専用
public以外にプロジェクトがSQLで作ったスキーマ(create schema blackquant)と、それぞれをデータAPIが公開しているか(exposed)を表示します。データベース内の名前はapp_<ref>_名前ですが、SQLとクライアントでは作った名前をそのまま使います。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/schemas |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_exposed_schemas 公開スキーマの設定
破壊的
データAPI(/rest/v1)がpublic以外に応答するスキーマの一覧を丸ごと設定します(SupabaseのExposed schemas)。公開したスキーマはAccept-Profile・Content-Profileヘッダー、supabase-jsのdb: { schema }または.schema()で使います。アクセスルール(RLS)とanon・authenticated・service_roleの権限はpublicと同じく適用されます。空の一覧ならpublicのみ公開します。30秒以内に反映されます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/schemas/exposed |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
exposed | array<string> | はい | 公開するスキーマ名(list_schemasのname)。publicは常に公開されます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"exposed": {
"type": "array",
"items": {
"type": "string"
},
"description": "公開するスキーマ名(list_schemasのname)。publicは常に公開されます。"
}
},
"required": [
"ref",
"exposed"
],
"additionalProperties": false
}get_data_api_settings データAPIの設定を見る
読み取り専用
データAPI(/rest/v1)がオンか、1回に返す最大行数(max_rows、nullなら上限なし)、公開スキーマ、検索パス(search_path)を見ます。search_path_choicesは検索パスに入れられるスキーマです:public、プロジェクトがcreate schemaで作ったスキーマ、extensions。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/data-api |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_data_api_settings データAPIの設定を変える
破壊的
データAPI(/rest/v1)をオンまたはオフにし、最大行数と検索パスを設定します。指定したものだけを変えます。検索パスに入れたスキーマは要求したスキーマの後ろに付き、関数やビューがスキーマ名なしでその中のテーブルと関数を見つけます。30秒以内に反映されます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/data-api |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | いいえ | falseにすると/rest/v1はすべて404で応答します。 |
max_rows | string, min 1, max 1000000 | いいえ | 1回に返す最大行数です。nullなら上限なしです。 |
search_path | array<string>, max items 20 | いいえ | 検索パスに入れるスキーマです(get_data_api_settingsのsearch_path_choicesのname)。空の一覧なら何も入れません。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "falseにすると/rest/v1はすべて404で応答します。"
},
"max_rows": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 1000000,
"description": "1回に返す最大行数です。nullなら上限なしです。"
},
"search_path": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 20,
"description": "検索パスに入れるスキーマです(get_data_api_settingsのsearch_path_choicesのname)。空の一覧なら何も入れません。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_database_settings データベースの接続設定を見る
読み取り専用
データベースのプールサイズ(pool_size)、直接ログインの最大接続数(max_connections)、APIログインの接続数(api_connections)を見ます。選んだ値(nullは既定値)、今Postgresが守っている値(enforced)、サーバーが出せる最大(limits)を一緒に返します。定期ジョブや関数が"too many connections for role"で失敗したら、まずここでenforced.api_connectionsとlimits.api_connectionsを見ます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_database_settings データベースの接続設定を変える
破壊的
プールサイズ、直接ログインの最大接続数、APIログインの接続数を設定します。指定したものだけを変え、nullなら既定値に戻します。接続数はすぐにPostgresへ反映され(開いている接続は切りません)、プールサイズは1分以内に反映されます。APIログインはAPIリクエストと定期ジョブが共有する接続なので、20で止まっているときは上限(limits.api_connections)まで上げます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
pool_size | string, min 1, max 20 | いいえ | 接続プールのサイズです。nullなら既定値です。 |
max_connections | string, min 1, max 500 | いいえ | 直接ログイン(<ref>_db)の最大接続数です。nullなら既定値です。 |
api_connections | string, min 1, max 500 | いいえ | APIログイン(<ref>_authenticator)の接続数です。get_database_settingsのlimits.api_connectionsまでです。nullならサーバーが出せる既定値です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"pool_size": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 20,
"description": "接続プールのサイズです。nullなら既定値です。"
},
"max_connections": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 500,
"description": "直接ログイン(<ref>_db)の最大接続数です。nullなら既定値です。"
},
"api_connections": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 500,
"description": "APIログイン(<ref>_authenticator)の接続数です。get_database_settingsのlimits.api_connectionsまでです。nullならサーバーが出せる既定値です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_branches データベースブランチの一覧
読み取り専用
このプロジェクトのデータベースブランチです。名前、ブランチ自身のプロジェクトref(ほかのすべてのツールにそのまま使います)、紐づくgitブランチ、状態(creating、ready、merging、resetting、failed、deleting)、サイズ、期限を返します。自動ブランチの設定も返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/branches |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_branch データベースブランチを作成する
追加のみ
プロジェクトのスキーマからプレビュー用のデータベースを作ります。プロジェクトのマイグレーション(apply_migrationsが記録した履歴)を順に再実行し、シードを入れます。データはwith_dataを指定したときだけコピーします。ブランチは独自のrefを持つプロジェクトで、run_sqlやget_project_keysなどすべてのツールにそのrefを使います。git_branchを指定すると、そのブランチのプレビューデプロイがこのデータベースを使います。Proプランから使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/branches |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | いいえ | ブランチ名です(英小文字、数字、-、30文字まで)。省略するとgit_branchから作ります。 |
git_branch | string | いいえ | 紐づけるgitブランチです。そのブランチのプレビューデプロイに、このデータベースのアドレス、キー、接続文字列が入ります。 |
with_seed | boolean | いいえ | falseならシードを入れません。 |
with_data | boolean | いいえ | trueならプロジェクトの行までコピーします(マイグレーションの再実行とシードの代わり)。ファイルとその行はコピーしません。データが512MBを超えると断ります。進み具合はlist_branchesのcopyに出ます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "ブランチ名です(英小文字、数字、-、30文字まで)。省略するとgit_branchから作ります。"
},
"git_branch": {
"type": "string",
"description": "紐づけるgitブランチです。そのブランチのプレビューデプロイに、このデータベースのアドレス、キー、接続文字列が入ります。"
},
"with_seed": {
"type": "boolean",
"description": "falseならシードを入れません。"
},
"with_data": {
"type": "boolean",
"description": "trueならプロジェクトの行までコピーします(マイグレーションの再実行とシードの代わり)。ファイルとその行はコピーしません。データが512MBを超えると断ります。進み具合はlist_branchesのcopyに出ます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}merge_branch データベースブランチをマージする
破壊的
ブランチにだけあるマイグレーションを、バージョン順にプロジェクト(本番)へ適用します。1つずつ独自のトランザクションで実行し、失敗したらそれだけを元に戻して止まります。データは移しません。ブランチでスキーマを変えるときは、マージされるようにrun_sqlではなくapply_migrationsを使ってください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/branches/{name}/merge |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | ブランチ名です(list_branchesのname)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "ブランチ名です(list_branchesのname)。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}reset_branch データベースブランチを初期化する
破壊的
ブランチのデータベースを削除し、プロジェクトのマイグレーションとシードから作り直します。ブランチのデータとユーザーはすべて失われ、バックアップは残りません。confirm にブランチ名をそのまま入れてください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/branches/{name}/reset |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | ブランチ名です。 |
confirm | string | はい | ブランチ名です。nameと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "ブランチ名です。"
},
"confirm": {
"type": "string",
"description": "ブランチ名です。nameと完全に同じである必要があります。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}delete_branch データベースブランチを削除する
破壊的
ブランチと、そのデータベースやキーを削除します。元に戻せないので、confirm にブランチ名をそのまま入れてください。gitブランチを削除するかプルリクエストを閉じると自動で削除されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/branches/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | ブランチ名です。 |
confirm | string | はい | ブランチ名です。nameと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "ブランチ名です。"
},
"confirm": {
"type": "string",
"description": "ブランチ名です。nameと完全に同じである必要があります。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}set_branching 自動データベースブランチの設定
破壊的
プレビューとしてデプロイされるgitブランチごとにデータベースブランチを自動で作るか、すべてのブランチに入れるシードSQL、使われていないブランチを残す日数(1から90日、デプロイのたびに延長)を設定します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/branching |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
automatic | boolean | いいえ | trueならプレビューブランチごとに自動で作ります。 |
seed_sql | string | いいえ | 新しいブランチでマイグレーションの後に実行するSQLです(1MBまで)。空文字列なら削除します。 |
lifetime_days | integer, min 1, max 90 | いいえ | 最後のデプロイの後、ブランチを残す日数です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"automatic": {
"type": "boolean",
"description": "trueならプレビューブランチごとに自動で作ります。"
},
"seed_sql": {
"type": "string",
"description": "新しいブランチでマイグレーションの後に実行するSQLです(1MBまで)。空文字列なら削除します。"
},
"lifetime_days": {
"type": "integer",
"minimum": 1,
"maximum": 90,
"description": "最後のデプロイの後、ブランチを残す日数です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_queues キューの一覧
読み取り専用
キュー(pgmqと同じSQL関数: pgmq.send、pgmq.read、pgmq.pop、pgmq.archive、pgmq.delete)と、それぞれのメッセージ数、今読める数、アーカイブされた数、最も古いメッセージの経過時間を返します。enabledはpgmqがインストールされているか、exposedはデータAPI(pgmq_public)から呼べるかです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/queues |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_queue キューを作成する
追加のみ
キューを1つ作ります(pgmq.create)。初回はpgmqもインストールします。メッセージはpgmq.q_<名前>テーブルに保存され、SQLではpgmq.send(名前, メッセージ)で入れ、pgmq.read(名前, 秒, 件数)で読みます。専用データベースでのみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/queues |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | キュー名です(英小文字、数字、_、47文字まで)。 |
unlogged | boolean | いいえ | trueならWALを書かない高速なテーブルで作ります(サーバーが異常終了するとメッセージを失います)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "キュー名です(英小文字、数字、_、47文字まで)。"
},
"unlogged": {
"type": "boolean",
"description": "trueならWALを書かない高速なテーブルで作ります(サーバーが異常終了するとメッセージを失います)。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}delete_queue キューを削除する
破壊的
キューと、そのメッセージ、アーカイブを削除します(pgmq.drop_queue)。元に戻せないので、confirm にキュー名をそのまま入れてください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/queues/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | キュー名です。 |
confirm | string | はい | キュー名です。nameと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "キュー名です。"
},
"confirm": {
"type": "string",
"description": "キュー名です。nameと完全に同じである必要があります。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}purge_queue キューを空にする
破壊的
キューのメッセージをすべて削除します(pgmq.purge_queue)。アーカイブは残します。元に戻せないので、confirm にキュー名をそのまま入れてください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/queues/{name}/purge |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | キュー名です。 |
confirm | string | はい | キュー名です。nameと完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "キュー名です。"
},
"confirm": {
"type": "string",
"description": "キュー名です。nameと完全に同じである必要があります。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}send_queue_message キューにメッセージを入れる
追加のみ
JSONのメッセージを1つキューに入れます(pgmq.send)。delay秒の間は読めません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/queues/{name}/messages |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | キュー名です。 |
message | string | はい | 入れるメッセージです。JSONの値なら何でも構いません。 |
delay | integer, min 0 | いいえ | この秒数が過ぎてから読めるようにします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "キュー名です。"
},
"message": {
"description": "入れるメッセージです。JSONの値なら何でも構いません。"
},
"delay": {
"type": "integer",
"minimum": 0,
"description": "この秒数が過ぎてから読めるようにします。"
}
},
"required": [
"ref",
"name",
"message"
],
"additionalProperties": false
}peek_queue キューのメッセージを見る
読み取り専用
キューの先頭のメッセージを、取り出さずに見ます。読み取り回数も可視性の時刻も変えないため、ワーカーが受け取るはずのメッセージを横取りしません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/queues/{name}/messages |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | キュー名です。 |
limit | integer, min 1, max 100 | いいえ | 見るメッセージの数です(既定は20)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "キュー名です。"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "見るメッセージの数です(既定は20)。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}set_queues_api キューをデータAPIに公開する
破壊的
trueならpgmq_publicスキーマ(send、send_batch、read、pop、archive、delete)を作り、データAPIからsupabase.schema("pgmq_public").rpc("send", ...)で呼べるようにします。呼び出した人の権限で実行されるため、公開キーやログインユーザーが使うには、キューのテーブルに権限とアクセスルールを与えてください。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/queues/api |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
exposed | boolean | はい | trueで公開、falseで非公開にします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"exposed": {
"type": "boolean",
"description": "trueで公開、falseで非公開にします。"
}
},
"required": [
"ref",
"exposed"
],
"additionalProperties": false
}list_vault_secrets Vaultのシークレットの一覧
読み取り専用
Vaultに保存したシークレットの名前と説明です。値は返しません。プロジェクトのコードはシークレットキーでselect decrypted_secret from vault.decrypted_secrets where name = ...として読みます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | secrets.read オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/vault |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_vault_secret Vaultにシークレットを保存する
追加のみ
シークレットを1つ暗号化し、プロジェクトのデータベースのvault.secretsに保存します(vault.create_secret)。鍵はプラットフォームが持ち、データベースには保存されないため、ダンプやバックアップには暗号文だけが残ります。初回はVaultを有効にします。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/vault |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | シークレット名です(英字か_で始まり、128文字まで)。 |
value | string | はい | 保存する値です(64KBまで)。二度と表示しません。 |
description | string | いいえ | 説明です(500文字まで)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "シークレット名です(英字か_で始まり、128文字まで)。"
},
"value": {
"type": "string",
"description": "保存する値です(64KBまで)。二度と表示しません。"
},
"description": {
"type": "string",
"description": "説明です(500文字まで)。"
}
},
"required": [
"ref",
"name",
"value"
],
"additionalProperties": false
}update_vault_secret Vaultのシークレットを変更する
破壊的
シークレットの値や説明を変更します(vault.update_secret)。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/vault/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | シークレット名です。 |
value | string | いいえ | 新しい値です。 |
description | string | いいえ | 新しい説明です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "シークレット名です。"
},
"value": {
"type": "string",
"description": "新しい値です。"
},
"description": {
"type": "string",
"description": "新しい説明です。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}delete_vault_secret Vaultのシークレットを削除する
破壊的
シークレットを1つ削除します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/vault/{name} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | シークレット名です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "シークレット名です。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}get_network_restrictions データベースの接続制限
読み取り専用
データベースに直接(5432と6543)接続できるアドレスと、TLSを必須にしているかです。restrictedがfalseならすべてのアドレスが接続できます。your_address_allowedは、このリクエストを送ったアドレスが許可されているかです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/network-restrictions |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}update_network_restrictions データベースの接続制限を変更する
破壊的
直接接続を許可するアドレス(CIDRの一覧、100個まで)と、TLSを必須にするかを変更します。allow_allならすべてのアドレスを再び許可します。このリクエストを送ったアドレスが一覧にないと、confirmなしでは拒否されます。コンソール、API、run_sqlは接続プーラーを通らないため、制限をかけても元に戻せます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/network-restrictions |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
allowed_cidrs | array<string> | いいえ | 許可するアドレスかCIDRです(例: 203.0.113.0/24)。空の配列なら制限を解除します。 |
allow_all | boolean | いいえ | trueなら制限を解除し、すべてのアドレスを許可します。 |
enforce_ssl | boolean | いいえ | trueならTLS(sslmode=require)の接続だけを受け付けます。既定はtrueです。 |
confirm | boolean | いいえ | このリクエストを送ったアドレスが一覧になくても保存します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"allowed_cidrs": {
"type": "array",
"items": {
"type": "string"
},
"description": "許可するアドレスかCIDRです(例: 203.0.113.0/24)。空の配列なら制限を解除します。"
},
"allow_all": {
"type": "boolean",
"description": "trueなら制限を解除し、すべてのアドレスを許可します。"
},
"enforce_ssl": {
"type": "boolean",
"description": "trueならTLS(sslmode=require)の接続だけを受け付けます。既定はtrueです。"
},
"confirm": {
"type": "boolean",
"description": "このリクエストを送ったアドレスが一覧になくても保存します。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_transfer_targets 移管できる組織
読み取り専用
このプロジェクトを移管できる別の組織(自分がオーナーか管理者の組織)の id、名前、プランです。can_transfer は、現在の組織のオーナーとして移管できるかどうかです。transfer_project の organisation に id を入れてください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/transfer |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}transfer_project プロジェクトの移管
破壊的
プロジェクトを別の組織へ移します。現在の組織のオーナーであり、受け取る組織のオーナーか管理者である必要があり、受け取る組織のプランにプロジェクトの空きが必要です。移管後の使用量は受け取る組織に請求され、今月の請求は移管した時点で分かれます。元の組織のメンバーに個別に与えたアクセスはなくなり、戻すには受け取る組織のオーナーがもう一度移管する必要があります。アドレス、キー、データ、デプロイはそのままです。ユーザーがはっきり求めたときだけ使い、confirm にプロジェクト名をそのまま入れてください。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | POST /projects/{ref}/transfer |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
organisation | string | はい | 受け取る組織の id です。list_transfer_targets が返します。同じ名前の組織が1つだけなら名前でも構いません。 |
confirm | string | はい | プロジェクト名です。list_projects の name と完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"organisation": {
"type": "string",
"description": "受け取る組織の id です。list_transfer_targets が返します。同じ名前の組織が1つだけなら名前でも構いません。"
},
"confirm": {
"type": "string",
"description": "プロジェクト名です。list_projects の name と完全に同じである必要があります。"
}
},
"required": [
"ref",
"organisation",
"confirm"
],
"additionalProperties": false
}get_analytics ウェブ分析
読み取り専用
日ごとのページビューと訪問者を、よく見られたページ、参照元、国、デバイス、ブラウザ、OSとあわせて返します。個人を識別できる値は保存しないため、合計だけです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/analytics |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
days | integer, 1 | 7 | 30 | 90 | いいえ | 期間 (日)。既定は7です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"days": {
"type": "integer",
"enum": [
1,
7,
30,
90
],
"description": "期間 (日)。既定は7です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_speed_insights 速度インサイト
読み取り専用
実際の訪問者のブラウザが測った Core Web Vitals (LCP、INP、CLS、FCP、TTFB) の75パーセンタイルと評価、遅いページを返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/speed-insights |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
days | integer, 1 | 7 | 30 | 90 | いいえ | 期間 (日)。既定は7です。 |
device | string, all | desktop | mobile | いいえ | デバイス。既定は all です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"days": {
"type": "integer",
"enum": [
1,
7,
30,
90
],
"description": "期間 (日)。既定は7です。"
},
"device": {
"type": "string",
"enum": [
"all",
"desktop",
"mobile"
],
"description": "デバイス。既定は all です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_insights 分析のオン・オフ
破壊的
ウェブ分析と速度インサイトをオン・オフします。オンにするとサイトの HTML に /_oneend/insights/script.js が入ります。Vercel の @vercel/analytics・@vercel/speed-insights を使うアプリは、コードを変えずに同じ場所で集計されます。Cookie を使わず、IP アドレスも保存しません。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/insights |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
analytics | boolean | いいえ | ウェブ分析。 |
speed_insights | boolean | いいえ | 速度インサイト。 |
vitals_sample_percent | integer, min 1, max 100 | いいえ | 速度を測る訪問の割合。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"analytics": {
"type": "boolean",
"description": "ウェブ分析。"
},
"speed_insights": {
"type": "boolean",
"description": "速度インサイト。"
},
"vitals_sample_percent": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "速度を測る訪問の割合。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_edge_config エッジ設定を読む
読み取り専用
プロジェクトのエッジ設定 (デプロイせずに変える値と機能フラグ) 全体を、バージョン、サイズ、上限とあわせて返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/edge-config |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_edge_config エッジ設定を変える
破壊的
キーを保存または削除します。数秒以内にすべてのサーバーに反映され、変更履歴が残ります。フラグは true/false、または {"enabled": true, "percent": 20}、{"enabled": true, "allow": ["user-1"]} の形です。開発者以上が行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/edge-config |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
set | object | いいえ | 保存するキーと値 (値は JSON)。 |
delete | array<string> | いいえ | 削除するキー。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"set": {
"type": "object",
"additionalProperties": true,
"description": "保存するキーと値 (値は JSON)。"
},
"delete": {
"type": "array",
"items": {
"type": "string"
},
"description": "削除するキー。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_edge_config_history エッジ設定の変更履歴
読み取り専用
誰がいつどのキーを何から何に変えたかを、新しい順に返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/edge-config/history |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
limit | integer, min 1, max 500 | いいえ | 件数。既定は50です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "件数。既定は50です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_rolling_releases 段階的リリースの状態
読み取り専用
段階的リリースの設定と、進行中のリリース (新しいデプロイが受け取る訪問者の割合)、最近の履歴を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/rolling-releases |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_rolling_releases 段階的リリースの設定
破壊的
新しい本番デプロイを段階的な割合で出すかを決めます。stages は大きくなる割合のリスト (例: [10, 50])、stage_minutes は段階の長さで、auto_advance が false なら段階ごとに承認が必要です。abort_error_rate (0.05 = 5%) を超えると自動で戻します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/rolling-releases |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | いいえ | オン。 |
stages | array<integer> | いいえ | 段階ごとの割合 (%)。 |
stage_minutes | integer, min 1, max 1440 | いいえ | 段階の長さ (分)。 |
auto_advance | boolean | いいえ | 時間が経ったら自動で進む。 |
abort_error_rate | string, min 0.001, max 1 | いいえ | 自動で中止する5xx率。null ならオフ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "オン。"
},
"stages": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 99
},
"description": "段階ごとの割合 (%)。"
},
"stage_minutes": {
"type": "integer",
"minimum": 1,
"maximum": 1440,
"description": "段階の長さ (分)。"
},
"auto_advance": {
"type": "boolean",
"description": "時間が経ったら自動で進む。"
},
"abort_error_rate": {
"type": [
"number",
"null"
],
"minimum": 0.001,
"maximum": 1,
"description": "自動で中止する5xx率。null ならオフ。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}advance_rolling_release 段階的リリースを次の段階へ
破壊的
進行中のリリースを次の段階の割合に上げます。最後の段階なら全員にリリースします。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/rolling-releases/{action} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}promote_rolling_release 段階的リリースを完了
破壊的
進行中のリリースを今すぐすべての訪問者に届けます。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}abort_rolling_release 段階的リリースを中止
破壊的
進行中のリリースを止め、以前の本番デプロイに戻します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
reason | string, max length 300 | いいえ | 履歴に残す理由。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"reason": {
"type": "string",
"maxLength": 300,
"description": "履歴に残す理由。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_kv_keys KV キーの一覧
読み取り専用
KV ストアのキーを接頭辞で50個ずつ返します。使用量、上限、REST のアドレスもあわせて返します。シークレットを見られるロールのみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | secrets.read オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/kv |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
prefix | string | いいえ | 接頭辞。 |
cursor | string | いいえ | 前の応答の cursor。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"prefix": {
"type": "string",
"description": "接頭辞。"
},
"cursor": {
"type": "string",
"description": "前の応答の cursor。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_kv KV の値を読む
読み取り専用
キー1つの値と残り秒数 (ttl、-1 は期限なし) を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | secrets.read オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/kv/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string | はい | キー。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"description": "キー。"
}
},
"required": [
"ref",
"key"
],
"additionalProperties": false
}set_kv KV の値を保存
破壊的
キーに JSON の値を保存します。ttl は有効期限までの秒数です。開発者以上が行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/kv/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string | はい | キー。 |
value | string | はい | 値 (JSON)。 |
ttl | integer, min 1 | いいえ | 有効期限までの秒数。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"description": "キー。"
},
"value": {
"description": "値 (JSON)。"
},
"ttl": {
"type": "integer",
"minimum": 1,
"description": "有効期限までの秒数。"
}
},
"required": [
"ref",
"key",
"value"
],
"additionalProperties": false
}delete_kv KV キーを削除
破壊的
キーを削除します。開発者以上が行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/kv/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string | はい | キー。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"description": "キー。"
}
},
"required": [
"ref",
"key"
],
"additionalProperties": false
}get_ai_gateway AI ゲートウェイ
読み取り専用
AI ゲートウェイの OpenAI 互換アドレス、設定、プロバイダー (キーは末尾4文字のみ)、直近30日の使用量を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/ai-gateway |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_ai_gateway AI ゲートウェイの設定
破壊的
AI ゲートウェイのオン・オフ、ログインしたユーザーの許可、キャッシュ (秒)、1分あたりの上限、プラットフォームのプロバイダーへのフォールバック (トークン課金)、アプリのユーザー1人あたりの1日のリクエスト・トークン上限を決めます。ユーザーはログインしたユーザーの id、または secret キーで呼ぶときの x-oneend-user ヘッダーか本文の user です。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/ai-gateway |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | いいえ | オン。 |
allow_users | boolean | いいえ | ログインしたユーザーを許可。 |
cache_seconds | integer, min 0, max 86400 | いいえ | キャッシュの秒数。 |
rate_per_minute | integer, min 1 | いいえ | 1分あたりのリクエスト上限。 |
platform_fallback | boolean | いいえ | プラットフォームのプロバイダーへのフォールバック。 |
user_daily_requests | string, min 1 | いいえ | アプリのユーザー1人の1日のリクエスト上限。null は上限なし。 |
user_daily_tokens | string, min 1 | いいえ | アプリのユーザー1人の1日のトークン上限。null は上限なし。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "オン。"
},
"allow_users": {
"type": "boolean",
"description": "ログインしたユーザーを許可。"
},
"cache_seconds": {
"type": "integer",
"minimum": 0,
"maximum": 86400,
"description": "キャッシュの秒数。"
},
"rate_per_minute": {
"type": "integer",
"minimum": 1,
"description": "1分あたりのリクエスト上限。"
},
"platform_fallback": {
"type": "boolean",
"description": "プラットフォームのプロバイダーへのフォールバック。"
},
"user_daily_requests": {
"type": [
"integer",
"null"
],
"minimum": 1,
"description": "アプリのユーザー1人の1日のリクエスト上限。null は上限なし。"
},
"user_daily_tokens": {
"type": [
"integer",
"null"
],
"minimum": 1,
"description": "アプリのユーザー1人の1日のトークン上限。null は上限なし。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}add_ai_provider AI プロバイダーを追加
追加のみ
プロバイダーをキーとあわせて追加します。OpenAI 互換、Anthropic(Messages API と相互に変換)、Google Gemini を選べます。アドレスは公開された https のみです。キーは封印して保存し、二度と表示しません。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/ai-gateway/providers |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, pattern ^[a-z][a-z0-9-]{0,39}$ | はい | 名前。名前/モデルで呼ぶとこのプロバイダーだけを呼びます。 |
kind | string, openai | anthropic | google | deepseek | openai-compatible | はい | 種類。 |
base_url | string | いいえ | アドレス。openai、anthropic、google、deepseek は省略できます。 |
key | string | いいえ | API キー。 |
models | array<string> | いいえ | 受け付けるモデル。空ならすべて。 |
priority | integer, min 0, max 1000 | いいえ | 優先順位。小さい順。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"pattern": "^[a-z][a-z0-9-]{0,39}$",
"description": "名前。名前/モデルで呼ぶとこのプロバイダーだけを呼びます。"
},
"kind": {
"type": "string",
"enum": [
"openai",
"anthropic",
"google",
"deepseek",
"openai-compatible"
],
"description": "種類。"
},
"base_url": {
"type": "string",
"description": "アドレス。openai、anthropic、google、deepseek は省略できます。"
},
"key": {
"type": "string",
"description": "API キー。"
},
"models": {
"type": "array",
"items": {
"type": "string"
},
"description": "受け付けるモデル。空ならすべて。"
},
"priority": {
"type": "integer",
"minimum": 0,
"maximum": 1000,
"description": "優先順位。小さい順。"
}
},
"required": [
"ref",
"name",
"kind"
],
"additionalProperties": false
}set_ai_provider_enabled AI プロバイダーのオン・オフ
破壊的
設定とキーは残したまま、プロバイダーの使用を止めたり再開したりします。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/ai-gateway/providers/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | get_ai_gateway が返した id。 |
enabled | boolean | はい | 使う。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "get_ai_gateway が返した id。"
},
"enabled": {
"type": "boolean",
"description": "使う。"
}
},
"required": [
"ref",
"id",
"enabled"
],
"additionalProperties": false
}remove_ai_provider AI プロバイダーを削除
破壊的
プロバイダーと封印されたキーを削除します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/ai-gateway/providers/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | get_ai_gateway が返した id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "get_ai_gateway が返した id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}get_ai_gateway_logs AI ゲートウェイの呼び出し履歴
読み取り専用
最近の呼び出しのプロバイダー、モデル、状態、トークン、レイテンシ、フォールバックの有無を返します。会話の内容は保存しません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/ai-gateway/logs |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
limit | integer, min 1, max 500 | いいえ | 件数。既定は50です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 500,
"description": "件数。既定は50です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_middleware ミドルウェアの設定
読み取り専用
サイトのミドルウェア (middleware.ts) を実行するかと、時間制限を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/middleware |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_middleware ミドルウェアの設定を変える
破壊的
サイトのミドルウェアをオン・オフし、時間制限 (100〜5000ms) を決めます。オフにするとデプロイし直さなくてもミドルウェアなしで配信します。この操作はオーナーと管理者のみ行えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/middleware |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | いいえ | 実行する。 |
timeout_ms | integer, min 100, max 5000 | いいえ | 時間制限 (ms)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "実行する。"
},
"timeout_ms": {
"type": "integer",
"minimum": 100,
"maximum": 5000,
"description": "時間制限 (ms)。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_ai_budgets AI ゲートウェイの予算
破壊的
プロジェクトの AI ゲートウェイの予算をドルで設定します(日・週・月、UTC)。使い切ると次の期間まで呼び出しを拒否します。指定しない値はそのままです。オーナーと管理者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/ai-gateway/budgets |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
daily_usd | string, min 0, max 1000000 | いいえ | 1 日(UTC)の予算(ドル)。null で上限なし。 |
weekly_usd | string, min 0, max 1000000 | いいえ | 1 週間(月曜始まり、UTC)の予算(ドル)。null で上限なし。 |
monthly_usd | string, min 0, max 1000000 | いいえ | 1 か月(UTC)の予算(ドル)。null で上限なし。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"daily_usd": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1000000,
"description": "1 日(UTC)の予算(ドル)。null で上限なし。"
},
"weekly_usd": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1000000,
"description": "1 週間(月曜始まり、UTC)の予算(ドル)。null で上限なし。"
},
"monthly_usd": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1000000,
"description": "1 か月(UTC)の予算(ドル)。null で上限なし。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_ai_gateway_keys AI ゲートウェイキー一覧
読み取り専用
ゲートウェイキーの名前、先頭部分、予算、今月の支出、最終使用時刻を返します。キーそのものは返しません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/ai-gateway/keys |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_ai_gateway_key AI ゲートウェイキーを作成
追加のみ
アプリ 1 つ、またはプロジェクトが AI を再販する顧客 1 人に渡すゲートウェイキー(bwai_…)を、予算・タグ・1 分あたりの上限付きで作成します。キーはこの応答で一度だけ表示されます。タグ(external_ref)付きのキーはプロジェクトごとの 50 個の上限に数えません。オーナーと管理者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/ai-gateway/keys |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, min length 1, max length 60 | はい | キーの名前。 |
daily_usd | string, min 0, max 1000000 | いいえ | 1 日(UTC)の予算(ドル)。null で上限なし。 |
weekly_usd | string, min 0, max 1000000 | いいえ | 1 週間(月曜始まり、UTC)の予算(ドル)。null で上限なし。 |
monthly_usd | string, min 0, max 1000000 | いいえ | 1 か月(UTC)の予算(ドル)。null で上限なし。 |
external_ref | string, max length 200 | いいえ | このキーがプロジェクトの台帳で誰か(例: 顧客のユーザー ID)。フックに一緒に送ります。 |
labels | object | いいえ | 自由なラベル 20 個まで。例: {"tier": "1"}。フックに一緒に送ります。 |
rate_per_minute | string, min 1, max 100000 | いいえ | 1 分あたりのリクエスト数の上限。null で上限なし。 |
tokens_per_minute | string, min 1, max 100000000 | いいえ | 1 分あたりのトークン数(入力と出力)の上限。null で上限なし。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "キーの名前。"
},
"daily_usd": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1000000,
"description": "1 日(UTC)の予算(ドル)。null で上限なし。"
},
"weekly_usd": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1000000,
"description": "1 週間(月曜始まり、UTC)の予算(ドル)。null で上限なし。"
},
"monthly_usd": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1000000,
"description": "1 か月(UTC)の予算(ドル)。null で上限なし。"
},
"external_ref": {
"type": [
"string",
"null"
],
"maxLength": 200,
"description": "このキーがプロジェクトの台帳で誰か(例: 顧客のユーザー ID)。フックに一緒に送ります。"
},
"labels": {
"type": "object",
"additionalProperties": {
"type": "string",
"maxLength": 100
},
"description": "自由なラベル 20 個まで。例: {\"tier\": \"1\"}。フックに一緒に送ります。"
},
"rate_per_minute": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 100000,
"description": "1 分あたりのリクエスト数の上限。null で上限なし。"
},
"tokens_per_minute": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 100000000,
"description": "1 分あたりのトークン数(入力と出力)の上限。null で上限なし。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}set_ai_gateway_key_budgets AI ゲートウェイキーの予算
破壊的
ゲートウェイキー 1 つの予算を変更します。指定しない値はそのままです。オーナーと管理者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/ai-gateway/keys/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_ai_gateway_keys が返した id。 |
daily_usd | string, min 0, max 1000000 | いいえ | 1 日(UTC)の予算(ドル)。null で上限なし。 |
weekly_usd | string, min 0, max 1000000 | いいえ | 1 週間(月曜始まり、UTC)の予算(ドル)。null で上限なし。 |
monthly_usd | string, min 0, max 1000000 | いいえ | 1 か月(UTC)の予算(ドル)。null で上限なし。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_ai_gateway_keys が返した id。"
},
"daily_usd": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1000000,
"description": "1 日(UTC)の予算(ドル)。null で上限なし。"
},
"weekly_usd": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1000000,
"description": "1 週間(月曜始まり、UTC)の予算(ドル)。null で上限なし。"
},
"monthly_usd": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 1000000,
"description": "1 か月(UTC)の予算(ドル)。null で上限なし。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}set_ai_gateway_key_limits AI ゲートウェイキーの上限
破壊的
ゲートウェイキー 1 つの 1 分あたりのリクエスト数とトークン数の上限を変更します。すべてのサーバーが同じ数を数えます。指定しない値はそのまま、null で上限をなくします。オーナーと管理者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/ai-gateway/keys/{id}/limits |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_ai_gateway_keys が返した id。 |
rate_per_minute | string, min 1, max 100000 | いいえ | 1 分あたりのリクエスト数の上限。null で上限なし。 |
tokens_per_minute | string, min 1, max 100000000 | いいえ | 1 分あたりのトークン数(入力と出力)の上限。null で上限なし。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_ai_gateway_keys が返した id。"
},
"rate_per_minute": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 100000,
"description": "1 分あたりのリクエスト数の上限。null で上限なし。"
},
"tokens_per_minute": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 100000000,
"description": "1 分あたりのトークン数(入力と出力)の上限。null で上限なし。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}set_ai_model_aliases AI モデルの別名
破壊的
呼び出す側が使うモデル名(別名)と、実際に送るモデルを設定します。別名ごとに先頭に入れるシステム指示を置けます。応答の model は別名で返ります。送った一覧が今の一覧をまるごと置き換えます。aliases_only を有効にすると別名以外は呼び出せず、/models も別名だけを返します。オーナーと管理者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/ai-gateway/aliases |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
aliases | array<object>, max items 50 | はい | 別名の一覧すべて。空の配列ですべて削除します。 |
aliases_only | boolean | いいえ | 別名だけを呼び出せるようにします。指定しなければそのままです。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"aliases": {
"type": "array",
"maxItems": 50,
"description": "別名の一覧すべて。空の配列ですべて削除します。",
"items": {
"type": "object",
"properties": {
"alias": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]{0,63}$",
"description": "呼び出す名前。例: blackall-air"
},
"target": {
"type": "string",
"minLength": 1,
"maxLength": 160,
"description": "実際に送るモデル。例: deepseek/deepseek-flash"
},
"system_prompt": {
"type": [
"string",
"null"
],
"maxLength": 20000,
"description": "先頭に入れるシステム指示。呼び出す側の指示はその後に続きます。"
}
},
"required": [
"alias",
"target"
],
"additionalProperties": false
}
},
"aliases_only": {
"type": "boolean",
"description": "別名だけを呼び出せるようにします。指定しなければそのままです。"
}
},
"required": [
"ref",
"aliases"
],
"additionalProperties": false
}set_ai_gateway_hooks AI ゲートウェイのフック
破壊的
ゲートウェイキーで呼び出すたびに問い合わせ、知らせる https アドレスを設定します。ai.before が timeout_ms 以内に 2xx を返さなければ呼び出しを拒否します(402 は残高不足としてそのまま伝えます)。ai.after は使用量・費用・状態を送り、受け取られるまで 1 日のあいだ再送します。応答に署名用のシークレットがあります。url を null にすると無効になります。オーナーと管理者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/ai-gateway/hooks |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
url | string, max length 500 | いいえ | フックのアドレス(https)。null で無効。 |
timeout_ms | integer, min 200, max 10000 | いいえ | ai.before が応答するまでの時間(ミリ秒)。既定は 2000。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"url": {
"type": [
"string",
"null"
],
"maxLength": 500,
"description": "フックのアドレス(https)。null で無効。"
},
"timeout_ms": {
"type": "integer",
"minimum": 200,
"maximum": 10000,
"description": "ai.before が応答するまでの時間(ミリ秒)。既定は 2000。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}revoke_ai_gateway_key AI ゲートウェイキーを無効化
破壊的
ゲートウェイキーを無効化します。30 秒以内にすべてのサーバーで拒否されます。オーナーと管理者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/ai-gateway/keys/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_ai_gateway_keys が返した id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_ai_gateway_keys が返した id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}get_ai_spend AI ゲートウェイの支出
読み取り専用
今日・今週・今月の支出と予算、日別・モデル別・キー別の支出をドルで返します。自分のキーで呼び出したプロバイダーは定価で計算した推定です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/ai-gateway/spend |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
days | integer, min 1, max 400 | いいえ | 日数。既定は 30。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"days": {
"type": "integer",
"minimum": 1,
"maximum": 400,
"description": "日数。既定は 30。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_analytics_breakdown Web Analytics の内訳
読み取り専用
キャンペーン(utm_source・utm_medium・utm_campaign)、ルート、カスタムイベント、除外したボットの数を返します。event を指定すると、そのイベントのプロパティごとの値も返します。合計のみです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/analytics/breakdown |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
days | integer, 1 | 7 | 30 | 90 | いいえ | 期間。既定は 7。 |
event | string, max length 100 | いいえ | プロパティを見るイベントの名前。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"days": {
"type": "integer",
"enum": [
1,
7,
30,
90
],
"description": "期間。既定は 7。"
},
"event": {
"type": "string",
"maxLength": 100,
"description": "プロパティを見るイベントの名前。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_analytics_previews プレビューの訪問を数える
破壊的
プレビューデプロイと dpl- アドレスの訪問を Web Analytics で数えるかを設定します。オフ(既定)ではプレビューにスクリプトを入れず、送られたものも捨てます。オーナーと管理者のみ実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/analytics/previews |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
include_previews | boolean | はい | プレビューも数える。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"include_previews": {
"type": "boolean",
"description": "プレビューも数える。"
}
},
"required": [
"ref",
"include_previews"
],
"additionalProperties": false
}export_analytics Web Analytics をエクスポート
読み取り専用
期間の合計を日付・項目・値ごとの CSV 文字列で返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/analytics/export |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
days | integer, 1 | 7 | 30 | 90 | いいえ | 期間。既定は 7。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"days": {
"type": "integer",
"enum": [
1,
7,
30,
90
],
"description": "期間。既定は 7。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_analytics_reports カスタムレポート一覧
読み取り専用
保存した Web Analytics のレポートと、レポートに入れられるグラフの名前を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/analytics/reports |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_analytics_report カスタムレポートを表示
読み取り専用
保存したレポート 1 つを、その期間の合計、内訳、速度とあわせて返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/analytics/reports/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_analytics_reports が返した id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_analytics_reports が返した id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}save_analytics_report カスタムレポートを保存
破壊的
レポートを作成するか、id で指定したレポートを変更します。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/analytics/reports, PATCH /projects/{ref}/analytics/reports |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | いいえ | 変更するレポートの id。空なら新規作成。 |
name | string, min length 1, max length 80 | はい | 名前。 |
days | integer, 1 | 7 | 30 | 90 | いいえ | 期間。既定は 7。 |
widgets | array<string>, views | visitors | path | referrer | country | device | browser | os | utm_source | utm_medium | utm_campaign | route | event | bot | vitals, min items 1, max items 16 | はい | 表示するグラフと表。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "変更するレポートの id。空なら新規作成。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "名前。"
},
"days": {
"type": "integer",
"enum": [
1,
7,
30,
90
],
"description": "期間。既定は 7。"
},
"widgets": {
"type": "array",
"items": {
"type": "string",
"enum": [
"views",
"visitors",
"path",
"referrer",
"country",
"device",
"browser",
"os",
"utm_source",
"utm_medium",
"utm_campaign",
"route",
"event",
"bot",
"vitals"
]
},
"minItems": 1,
"maxItems": 16,
"description": "表示するグラフと表。"
}
},
"required": [
"ref",
"name",
"widgets"
],
"additionalProperties": false
}remove_analytics_report カスタムレポートを削除
破壊的
レポートだけを削除します。分析の記録はそのままです。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/analytics/reports/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_analytics_reports が返した id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_analytics_reports が返した id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}list_flags 機能フラグ一覧
読み取り専用
プロジェクトの機能フラグと、エッジ設定に置いたフラグの形の値をあわせて返します。source はどこにあるか、shadows は同じキーのエッジ設定の値を隠しているかを示します。同じキーならフラグが決めます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/flags |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}evaluate_flag 機能フラグを評価
読み取り専用
アプリが受け取る値を返します。コンテキスト(例: {"user": {"id": "u1"}})と環境を指定するとフラグのルールで、そのキーのフラグがなければエッジ設定の値で決まります。source がどちらで決まったかを示します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/flags/evaluate |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 256 | はい | フラグのキー。 |
environment | string | いいえ | 環境。既定は production。 |
context | object | いいえ | 評価するコンテキスト(JSON オブジェクト)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 256,
"description": "フラグのキー。"
},
"environment": {
"type": "string",
"description": "環境。既定は production。"
},
"context": {
"type": "object",
"description": "評価するコンテキスト(JSON オブジェクト)。"
}
},
"required": [
"ref",
"key"
],
"additionalProperties": false
}set_flag_enabled 機能フラグのオン・オフ
破壊的
1 つの環境でフラグをオン・オフします。本番はオーナーと管理者、その他の環境は開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/flags/{key}/environments/{environment} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | フラグのキー。 |
environment | string | はい | 環境。 |
enabled | boolean | はい | オン。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "フラグのキー。"
},
"environment": {
"type": "string",
"description": "環境。"
},
"enabled": {
"type": "boolean",
"description": "オン。"
}
},
"required": [
"ref",
"key",
"environment",
"enabled"
],
"additionalProperties": false
}get_remote_cache リモートキャッシュ
読み取り専用
Turborepo リモートキャッシュのアドレス、保存された結果の数と容量、直近 30 日のヒットとアップロード、今月計量された保存容量(remote_cache_gb_hour)と単価を返します。ダウンロードしたデータは egress_gb として数えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/remote-cache |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}clear_remote_cache リモートキャッシュを空にする
破壊的
保存された結果をすべて削除します。次のビルドから再び溜まり、削除した分だけ保存容量の計量が減ります。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | data.write オーナーまたは管理者または開発者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | DELETE /projects/{ref}/remote-cache/artifacts |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_queue_metrics キューの指標
読み取り専用
5 分ごとに測ったキューの記録から、各キューの現在の待機数・読めるメッセージ数・最長待ち時間・アーカイブ数と、キュー全体の時間ごとの待機数・送信数・処理数を返します。既定は 24 時間、最大 168 時間。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/queues/metrics |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
hours | integer, min 1, max 168 | いいえ | 時間数。既定は 24。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"hours": {
"type": "integer",
"minimum": 1,
"maximum": 168,
"description": "時間数。既定は 24。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_edge_config_tokens エッジ設定の読み取りトークン
読み取り専用
このプロジェクトのエッジ設定を別のプロジェクトが読む読み取りトークンと、連携したプロジェクト(変数名、環境)、このプロジェクトに連携した別のプロジェクトのエッジ設定を返します。トークン自体は返しません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/edge-config/tokens |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_edge_config_token エッジ設定の読み取りトークンを作成
追加のみ
読み取りトークンを作成し、connect を渡すと同じ組織のプロジェクトに連携します。連携したプロジェクトのデプロイには、次のデプロイから接続文字列(https://<ref>.<zone>/config/v1?token=…)が変数として入ります。トークンは今回だけ表示されます。プロジェクト管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/edge-config/tokens |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, min length 1, max length 60 | はい | トークンの名前。 |
connect | object | いいえ | すぐに連携する同じ組織のプロジェクト: ref、変数名 variable(既定は GLOBAL_CONFIG)、環境 targets(既定は 3 つすべて。本番はそのプロジェクトのオーナー・管理者だけ)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "トークンの名前。"
},
"connect": {
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$"
},
"variable": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$"
},
"targets": {
"type": "array",
"items": {
"type": "string",
"enum": [
"production",
"preview",
"development"
]
},
"minItems": 1,
"uniqueItems": true
}
},
"required": [
"ref"
],
"additionalProperties": false,
"description": "すぐに連携する同じ組織のプロジェクト: ref、変数名 variable(既定は GLOBAL_CONFIG)、環境 targets(既定は 3 つすべて。本番はそのプロジェクトのオーナー・管理者だけ)。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}connect_edge_config_token 読み取りトークンをプロジェクトに連携
破壊的
読み取りトークンを、同じ組織の別のプロジェクトのデプロイに変数として連携します。すでに連携していれば変数名と環境を変えます。そのプロジェクトの開発者以上(本番はオーナー・管理者)が必要です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/edge-config/tokens/{id}/connections/{ref} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | 読み取りトークンの id。list_edge_config_tokens で確認します。 |
target | string, pattern ^[a-z]{20}$ | はい | 連携する同じ組織のプロジェクト。 |
variable | string, pattern ^[A-Za-z_][A-Za-z0-9_]{0,63}$ | いいえ | デプロイで読む変数名。既定は GLOBAL_CONFIG。 |
targets | array<string>, production | preview | development, min items 1 | いいえ | 変数が入る環境。既定は 3 つすべて。本番はそのプロジェクトのオーナー・管理者だけ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "読み取りトークンの id。list_edge_config_tokens で確認します。"
},
"target": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "連携する同じ組織のプロジェクト。"
},
"variable": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]{0,63}$",
"description": "デプロイで読む変数名。既定は GLOBAL_CONFIG。"
},
"targets": {
"type": "array",
"items": {
"type": "string",
"enum": [
"production",
"preview",
"development"
]
},
"minItems": 1,
"uniqueItems": true,
"description": "変数が入る環境。既定は 3 つすべて。本番はそのプロジェクトのオーナー・管理者だけ。"
}
},
"required": [
"ref",
"id",
"target"
],
"additionalProperties": false
}disconnect_edge_config_token 読み取りトークンの連携を解除
破壊的
読み取りトークンを 1 つのプロジェクトから外します。そのプロジェクトの次のデプロイから変数がなくなります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | DELETE /projects/{ref}/edge-config/tokens/{id}/connections/{ref} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | 読み取りトークンの id。list_edge_config_tokens で確認します。 |
target | string, pattern ^[a-z]{20}$ | はい | 連携する同じ組織のプロジェクト。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "読み取りトークンの id。list_edge_config_tokens で確認します。"
},
"target": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "連携する同じ組織のプロジェクト。"
}
},
"required": [
"ref",
"id",
"target"
],
"additionalProperties": false
}revoke_edge_config_token 読み取りトークンを失効
破壊的
読み取りトークンを失効させます。すぐに読めなくなり、連携したプロジェクトでは次のデプロイから変数がなくなります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 常に確認します |
| REST | DELETE /projects/{ref}/edge-config/tokens/{id} |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | 読み取りトークンの id。list_edge_config_tokens で確認します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "読み取りトークンの id。list_edge_config_tokens で確認します。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}get_deployment_retention デプロイの保存期間
読み取り専用
キャンセル・失敗・プレビュー・本番のデプロイを何日残すかを返します。いま適用される日数(days)、プロジェクトが決めた値(project_days、null ならプランに従う)、プランの既定値(plan_days)。期間にかかわらず残すデプロイ(always_kept)と、削除したデプロイを復元できる日数(restore_days)もあります。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/deployment-retention |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_deployment_retention デプロイの保存期間を変更
破壊的
デプロイの種類ごとの保存期間を変えます。期間を過ぎたデプロイは削除され、3日間は restore_deployment で復元できます。直近のデプロイと配信中のデプロイは期間にかかわらず残ります。プロジェクト管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/deployment-retention |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
canceled_days | string, min 1, max 3650 | いいえ | キャンセル・スキップしたデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。 |
error_days | string, min 1, max 3650 | いいえ | 失敗したデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。 |
preview_days | string, min 1, max 3650 | いいえ | プレビューのデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。 |
production_days | string, min 1, max 3650 | いいえ | 本番のデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"canceled_days": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 3650,
"description": "キャンセル・スキップしたデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。"
},
"error_days": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 3650,
"description": "失敗したデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。"
},
"preview_days": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 3650,
"description": "プレビューのデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。"
},
"production_days": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 3650,
"description": "本番のデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_protection_scope プレビュー保護の範囲
破壊的
保護するアドレスと例外を決めます。scope: previews(ブランチのプレビューとデプロイごとのアドレス)、generated(本番の既定アドレスも)、all(接続したドメインも)。trusted_ips はサインインなしで通す IP・CIDR(100件まで)、options_paths は確認せずに通すパス(例: /api/:path*、50件まで)です。省いた項目はそのままです。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
scope | string, previews | generated | all | いいえ | previews、generated、all のいずれか。 |
trusted_ips | array<string> | いいえ | IP または CIDR。例: ["203.0.113.4", "10.0.0.0/8"]。[] ですべて消します。 |
options_paths | array<string> | いいえ | / で始まるパス。例: ["/api/:path*"]。[] ですべて消します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"scope": {
"type": "string",
"enum": [
"previews",
"generated",
"all"
],
"description": "previews、generated、all のいずれか。"
},
"trusted_ips": {
"type": "array",
"items": {
"type": "string"
},
"description": "IP または CIDR。例: [\"203.0.113.4\", \"10.0.0.0/8\"]。[] ですべて消します。"
},
"options_paths": {
"type": "array",
"items": {
"type": "string"
},
"description": "/ で始まるパス。例: [\"/api/:path*\"]。[] ですべて消します。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_bypass_secret 保護のバイパスキーを作成
追加のみ
保護されたアドレスをサインインなしで開くキーを作ります。E2E テストや、アシスタントが自分でデプロイしたプレビューを確かめるときに x-blackwall-protection-bypass ヘッダーで送ります。値はこの応答でだけ表示します。プロジェクトごとに20個までです。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, max length 60 | いいえ | キーの用途。空なら automation。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"maxLength": 60,
"description": "キーの用途。空なら automation。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}revoke_bypass_secret 保護のバイパスキーを廃止
破壊的
バイパスキーを削除します。そのキーを使うリクエストはすぐに拒否されます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | get_preview_protection の bypass_secrets[].id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "get_preview_protection の bypass_secrets[].id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}list_environments 環境一覧
読み取り専用
本番と、プロジェクトが自分で作った環境(staging、qa など)を返します: 追うブランチ、自動で受け取るか(auto_assign)、アドレス、接続したドメイン、今表示しているデプロイ。接続できるドメイン(domains)と、ビルドにシステム環境変数を渡すか(expose_system_env)も返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_environment 環境を作成
追加のみ
staging のような環境を作ります。自分のアドレス、ドメイン、環境変数(set_env_vars の target にこの名前)を別に持ちます。名前は英小文字・数字・- で40文字までで、production・preview・development は使えません。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, pattern ^[a-z0-9]([a-z0-9-]{0,38}[a-z0-9])?$ | はい | 環境の名前。例: staging |
branch | string | いいえ | この環境が追うブランチ。正確な名前(staging)か、* で終わる接頭辞(release/*)。空か null なら promote_deployment でだけ受け取ります。 |
auto_assign | boolean | いいえ | true(既定)ならビルドが終わるたびにこの環境に出ます。false なら promote_deployment を待ちます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"pattern": "^[a-z0-9]([a-z0-9-]{0,38}[a-z0-9])?$",
"description": "環境の名前。例: staging"
},
"branch": {
"type": [
"string",
"null"
],
"description": "この環境が追うブランチ。正確な名前(staging)か、* で終わる接頭辞(release/*)。空か null なら promote_deployment でだけ受け取ります。"
},
"auto_assign": {
"type": "boolean",
"description": "true(既定)ならビルドが終わるたびにこの環境に出ます。false なら promote_deployment を待ちます。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}update_environment 環境を変更
破壊的
環境が追うブランチと、自動で受け取るかを変えます。本番は auto_assign だけ変わります(ブランチは update_app の production_branch)。省いた項目はそのままです。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | list_environments の name。 |
branch | string | いいえ | この環境が追うブランチ。正確な名前(staging)か、* で終わる接頭辞(release/*)。空か null なら promote_deployment でだけ受け取ります。 |
auto_assign | boolean | いいえ | true(既定)ならビルドが終わるたびにこの環境に出ます。false なら promote_deployment を待ちます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "list_environments の name。"
},
"branch": {
"type": [
"string",
"null"
],
"description": "この環境が追うブランチ。正確な名前(staging)か、* で終わる接頭辞(release/*)。空か null なら promote_deployment でだけ受け取ります。"
},
"auto_assign": {
"type": "boolean",
"description": "true(既定)ならビルドが終わるたびにこの環境に出ます。false なら promote_deployment を待ちます。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}remove_environment 環境を削除
破壊的
プロジェクトが作った環境を削除します。デプロイの記録は残り、環境のアドレス、ドメインの接続、環境変数がなくなります。本番は削除できません。ユーザーが求めたときだけ使い、confirm に環境の名前を入れてください。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string | はい | list_environments の name。 |
confirm | string | はい | 環境の名前。name と完全に同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"description": "list_environments の name。"
},
"confirm": {
"type": "string",
"description": "環境の名前。name と完全に同じである必要があります。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}set_domain_environment ドメインを環境に接続
破壊的
確認済みのドメイン1つが、どの環境(production かプロジェクトが作った環境)のデプロイを表示するかを決めます。例: staging.example.com を staging に。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
hostname | string | はい | list_environments の domains[].hostname。 |
environment | string | はい | list_environments の name。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"hostname": {
"type": "string",
"description": "list_environments の domains[].hostname。"
},
"environment": {
"type": "string",
"description": "list_environments の name。"
}
},
"required": [
"ref",
"hostname",
"environment"
],
"additionalProperties": false
}get_flag 機能フラグを表示
読み取り専用
フラグ1つのすべてを返します: 種類、バリアント、環境ごとのオン・オフ、オフのときのバリアント(off_variant)、既定で返すもの(fallthrough)、ルール(rules、上から最初に合うもの)。変更できる環境の名前も返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | フラグのキー。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "フラグのキー。"
}
},
"required": [
"ref",
"key"
],
"additionalProperties": false
}create_flag 機能フラグを作成
追加のみ
フラグを作ります。すべての環境でオフの状態で始まり、boolean はバリアント on(true)と off(false)を持ちます。キーは英小文字か数字で始まって終わり、ドット・アンダースコア・ハイフンを含めて64文字までです。プロジェクトごとに500個までで、開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | フラグのキー。 |
kind | string, boolean | string | number | json | はい | boolean、string、number、json のいずれか。 |
description | string, max length 500 | いいえ | フラグの用途。500文字まで。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "フラグのキー。"
},
"kind": {
"type": "string",
"enum": [
"boolean",
"string",
"number",
"json"
],
"description": "boolean、string、number、json のいずれか。"
},
"description": {
"type": "string",
"maxLength": 500,
"description": "フラグの用途。500文字まで。"
}
},
"required": [
"ref",
"key",
"kind"
],
"additionalProperties": false
}update_flag 機能フラグを変更
破壊的
説明とバリアントを変えます。variants は一覧全体で、どこかの環境が使っているバリアントは消せません。値の形はフラグの種類に合わせます。省いた項目はそのままです。バリアントはすべての環境に出るので、オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | フラグのキー。 |
description | string, max length 500 | いいえ | 500文字まで。 |
variants | array<object> | いいえ | 例: [{"id": "control", "value": "blue"}, {"id": "test", "value": "green"}] |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "フラグのキー。"
},
"description": {
"type": "string",
"maxLength": 500,
"description": "500文字まで。"
},
"variants": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"value": {}
},
"required": [
"id",
"value"
]
},
"description": "例: [{\"id\": \"control\", \"value\": \"blue\"}, {\"id\": \"test\", \"value\": \"green\"}]"
}
},
"required": [
"ref",
"key"
],
"additionalProperties": false
}set_flag_environment 環境ごとのフラグ設定
破壊的
1つの環境で、オンか(enabled)、オフのときに返すバリアント(off_variant)、どのルールにも合わないときに返すもの(serve)を決めます。省いた項目はそのままです。本番はオーナーと管理者、それ以外の環境は開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | フラグのキー。 |
environment | string | はい | 環境: production、preview、development、または list_environments のプロジェクトが作った環境。 |
enabled | boolean | いいえ | オンかオフか。 |
off_variant | string | いいえ | オフのあいだ返すバリアントの id。 |
serve | object | いいえ | 返すもの。バリアント1つなら {"variant": "on"}、割合で分けるなら {"rollout": [{"variant": "on", "weight": 20}, {"variant": "off", "weight": 80}], "bucket_by": "user.id"}(合計100)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "フラグのキー。"
},
"environment": {
"type": "string",
"description": "環境: production、preview、development、または list_environments のプロジェクトが作った環境。"
},
"enabled": {
"type": "boolean",
"description": "オンかオフか。"
},
"off_variant": {
"type": "string",
"description": "オフのあいだ返すバリアントの id。"
},
"serve": {
"type": "object",
"description": "返すもの。バリアント1つなら {\"variant\": \"on\"}、割合で分けるなら {\"rollout\": [{\"variant\": \"on\", \"weight\": 20}, {\"variant\": \"off\", \"weight\": 80}], \"bucket_by\": \"user.id\"}(合計100)。",
"properties": {
"variant": {
"type": "string"
},
"rollout": {
"type": "array",
"items": {
"type": "object",
"properties": {
"variant": {
"type": "string"
},
"weight": {
"type": "number"
}
},
"required": [
"variant",
"weight"
]
}
},
"bucket_by": {
"type": "string"
}
}
}
},
"required": [
"ref",
"key",
"environment"
],
"additionalProperties": false
}add_flag_rule フラグのルールを追加
破壊的
1つの環境のルールの一番下にルールを加えます。すべての条件を満たすコンテキストに serve を返します。例: user.email が @example.com で終わるなら on。本番はオーナーと管理者、それ以外の環境は開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | フラグのキー。 |
environment | string | はい | 環境: production、preview、development、または list_environments のプロジェクトが作った環境。 |
conditions | array<object>, min items 1, max items 3 | はい | すべて満たす必要がある条件1〜3個。attribute はコンテキストのドット区切りのパス(例: user.email)で、値にカンマは入れられません。in_segment・not_in_segment では values にセグメントのキー。 |
serve | object | はい | 返すもの。バリアント1つなら {"variant": "on"}、割合で分けるなら {"rollout": [{"variant": "on", "weight": 20}, {"variant": "off", "weight": 80}], "bucket_by": "user.id"}(合計100)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "フラグのキー。"
},
"environment": {
"type": "string",
"description": "環境: production、preview、development、または list_environments のプロジェクトが作った環境。"
},
"conditions": {
"type": "array",
"minItems": 1,
"maxItems": 3,
"description": "すべて満たす必要がある条件1〜3個。attribute はコンテキストのドット区切りのパス(例: user.email)で、値にカンマは入れられません。in_segment・not_in_segment では values にセグメントのキー。",
"items": {
"type": "object",
"properties": {
"attribute": {
"type": "string"
},
"op": {
"type": "string",
"enum": [
"is",
"is_not",
"contains",
"not_contains",
"starts_with",
"ends_with",
"domain_is",
"gt",
"lt",
"exists",
"not_exists",
"in_segment",
"not_in_segment"
]
},
"values": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"op"
]
}
},
"serve": {
"type": "object",
"description": "返すもの。バリアント1つなら {\"variant\": \"on\"}、割合で分けるなら {\"rollout\": [{\"variant\": \"on\", \"weight\": 20}, {\"variant\": \"off\", \"weight\": 80}], \"bucket_by\": \"user.id\"}(合計100)。",
"properties": {
"variant": {
"type": "string"
},
"rollout": {
"type": "array",
"items": {
"type": "object",
"properties": {
"variant": {
"type": "string"
},
"weight": {
"type": "number"
}
},
"required": [
"variant",
"weight"
]
}
},
"bucket_by": {
"type": "string"
}
}
}
},
"required": [
"ref",
"key",
"environment",
"conditions",
"serve"
],
"additionalProperties": false
}move_flag_rule フラグのルールを並べ替え
破壊的
ルールを1つ上か下に動かします。上のルールが先に合います。本番はオーナーと管理者、それ以外の環境は開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | フラグのキー。 |
environment | string | はい | 環境: production、preview、development、または list_environments のプロジェクトが作った環境。 |
rule_id | string | はい | get_flag の environments.<環境>.rules[].id。 |
direction | string, up | down | はい | up か down。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "フラグのキー。"
},
"environment": {
"type": "string",
"description": "環境: production、preview、development、または list_environments のプロジェクトが作った環境。"
},
"rule_id": {
"type": "string",
"description": "get_flag の environments.<環境>.rules[].id。"
},
"direction": {
"type": "string",
"enum": [
"up",
"down"
],
"description": "up か down。"
}
},
"required": [
"ref",
"key",
"environment",
"rule_id",
"direction"
],
"additionalProperties": false
}remove_flag_rule フラグのルールを削除
破壊的
1つの環境のルールを1つ削除します。本番はオーナーと管理者、それ以外の環境は開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | フラグのキー。 |
environment | string | はい | 環境: production、preview、development、または list_environments のプロジェクトが作った環境。 |
rule_id | string | はい | get_flag の environments.<環境>.rules[].id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "フラグのキー。"
},
"environment": {
"type": "string",
"description": "環境: production、preview、development、または list_environments のプロジェクトが作った環境。"
},
"rule_id": {
"type": "string",
"description": "get_flag の environments.<環境>.rules[].id。"
}
},
"required": [
"ref",
"key",
"environment",
"rule_id"
],
"additionalProperties": false
}set_flag_archived 機能フラグをアーカイブ
破壊的
使い終わったフラグをアーカイブ(archived: true)するか、元に戻します。アーカイブしたフラグはすべての環境でオフの値を返します。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | フラグのキー。 |
archived | boolean | はい | true でアーカイブ、false で元に戻します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "フラグのキー。"
},
"archived": {
"type": "boolean",
"description": "true でアーカイブ、false で元に戻します。"
}
},
"required": [
"ref",
"key",
"archived"
],
"additionalProperties": false
}list_flag_segments フラグのセグメント一覧
読み取り専用
複数のフラグのルールが共有するユーザーのまとまり(セグメント)を返します: 条件、常に含める id(included)、常に除く id(excluded)、使っているフラグ(used_by)。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_flag_segment フラグのセグメントを作成
追加のみ
空のセグメントを作ります。update_flag_segment で条件と一覧を入れ、ルールの条件で in_segment として使います。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | セグメントのキー。フラグのキーと同じ決まりです。 |
description | string, max length 500 | いいえ | 500文字まで。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "セグメントのキー。フラグのキーと同じ決まりです。"
},
"description": {
"type": "string",
"maxLength": 500,
"description": "500文字まで。"
}
},
"required": [
"ref",
"key"
],
"additionalProperties": false
}update_flag_segment フラグのセグメントを変更
破壊的
セグメントの条件(すべて満たす必要があり1〜3個)、常に含める id、常に除く id(それぞれ1,000個まで)、説明を変えます。条件と included の両方を空にはできません。省いた項目はそのままです。セグメントは本番のルールにも使われるので、オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | list_flag_segments の key。 |
conditions | array<object>, min items 0, max items 3 | いいえ | すべて満たす必要がある条件1〜3個。attribute はコンテキストのドット区切りのパス(例: user.email)で、値にカンマは入れられません。in_segment・not_in_segment では values にセグメントのキー。 |
included | array<string> | いいえ | 常に含める id。 |
excluded | array<string> | いいえ | 常に除く id。 |
description | string, max length 500 | いいえ | 500文字まで。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "list_flag_segments の key。"
},
"conditions": {
"type": "array",
"minItems": 0,
"maxItems": 3,
"description": "すべて満たす必要がある条件1〜3個。attribute はコンテキストのドット区切りのパス(例: user.email)で、値にカンマは入れられません。in_segment・not_in_segment では values にセグメントのキー。",
"items": {
"type": "object",
"properties": {
"attribute": {
"type": "string"
},
"op": {
"type": "string",
"enum": [
"is",
"is_not",
"contains",
"not_contains",
"starts_with",
"ends_with",
"domain_is",
"gt",
"lt",
"exists",
"not_exists",
"in_segment",
"not_in_segment"
]
},
"values": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"op"
]
}
},
"included": {
"type": "array",
"items": {
"type": "string"
},
"description": "常に含める id。"
},
"excluded": {
"type": "array",
"items": {
"type": "string"
},
"description": "常に除く id。"
},
"description": {
"type": "string",
"maxLength": 500,
"description": "500文字まで。"
}
},
"required": [
"ref",
"key"
],
"additionalProperties": false
}remove_flag_segment フラグのセグメントを削除
破壊的
セグメントを削除します。ルールが使っているものは削除できません(list_flag_segments の used_by)。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
key | string, max length 64 | はい | list_flag_segments の key。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"key": {
"type": "string",
"maxLength": 64,
"description": "list_flag_segments の key。"
}
},
"required": [
"ref",
"key"
],
"additionalProperties": false
}list_flag_sdk_keys フラグの SDK キー一覧
読み取り専用
/flags/v1/evaluate を呼ぶキーを返します: 環境、種類(server・client)、名前、先頭部分、最後の使用。値は作ったときだけ表示します。開発者以上が見られます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_flag_sdk_key フラグの SDK キーを作成
追加のみ
1つの環境のフラグを読むキーを作ります。server はサーバーにだけ置き、client はブラウザーに入れても構いません。値はこの応答でだけ表示します。プロジェクトごとに50個までです。本番のキーはオーナーと管理者、それ以外の環境は開発者以上が作れます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
environment | string | はい | 環境: production、preview、development、または list_environments のプロジェクトが作った環境。 |
kind | string, server | client | はい | server か client。 |
label | string, max length 60 | いいえ | キーの用途。60文字まで。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"environment": {
"type": "string",
"description": "環境: production、preview、development、または list_environments のプロジェクトが作った環境。"
},
"kind": {
"type": "string",
"enum": [
"server",
"client"
],
"description": "server か client。"
},
"label": {
"type": "string",
"maxLength": 60,
"description": "キーの用途。60文字まで。"
}
},
"required": [
"ref",
"environment",
"kind"
],
"additionalProperties": false
}revoke_flag_sdk_key フラグの SDK キーを廃止
破壊的
SDK キーを廃止します。そのキーを使うリクエストはすぐに拒否されます。本番はオーナーと管理者、それ以外の環境は開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_flag_sdk_keys の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_flag_sdk_keys の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}list_alert_rules アラートルール一覧
読み取り専用
アラートルールと今の状態(state: ok・firing、last_value、last_fired_at)を返します。アラートは組織の通知チャネルとメールに届きます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_alert_rule アラートルールを作成
追加のみ
1分ごとに値を見て、threshold を超えたら知らせます。kind: error_rate(5xx の割合 %)、p95(p95 応答時間 ms)、function_errors(関数の 5xx 数)、usage(プランの上限の使用率 %)、firewall_blocks(ファイアウォールが拒否・確認したリクエスト数)。target: error_rate・p95 はサービス(all、api、auth、functions、realtime、site、server)、function_errors は関数名、usage は上限の項目、firewall_blocks はファイアウォールのルール id。空ならすべてです。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, min length 1, max length 80 | はい | 名前。1〜80文字。 |
kind | string, error_rate | p95 | function_errors | usage | firewall_blocks | はい | error_rate、p95、function_errors、usage、firewall_blocks のいずれか。 |
target | string | いいえ | サービス(all、api、auth、functions、realtime、site、server)、関数名、上限の項目、ルール id。空ならすべて。 |
threshold | number, min 0 | はい | この値を超えると発生します。割合は0〜1000。 |
window_minutes | integer, min 1, max 1440 | はい | この期間(分)の値を見ます。 |
severity | string, warning | critical | いいえ | warning(既定)か critical。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "名前。1〜80文字。"
},
"kind": {
"type": "string",
"enum": [
"error_rate",
"p95",
"function_errors",
"usage",
"firewall_blocks"
],
"description": "error_rate、p95、function_errors、usage、firewall_blocks のいずれか。"
},
"target": {
"type": [
"string",
"null"
],
"description": "サービス(all、api、auth、functions、realtime、site、server)、関数名、上限の項目、ルール id。空ならすべて。"
},
"threshold": {
"type": "number",
"minimum": 0,
"description": "この値を超えると発生します。割合は0〜1000。"
},
"window_minutes": {
"type": "integer",
"minimum": 1,
"maximum": 1440,
"description": "この期間(分)の値を見ます。"
},
"severity": {
"type": "string",
"enum": [
"warning",
"critical"
],
"description": "warning(既定)か critical。"
}
},
"required": [
"ref",
"name",
"kind",
"threshold",
"window_minutes"
],
"additionalProperties": false
}set_alert_rule_enabled アラートルールのオン・オフ
破壊的
アラートルールを止めるか、またオンにします。オフにすると状態は ok に戻ります。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_alert_rules の id。 |
enabled | boolean | はい | オンかオフか。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_alert_rules の id。"
},
"enabled": {
"type": "boolean",
"description": "オンかオフか。"
}
},
"required": [
"ref",
"id",
"enabled"
],
"additionalProperties": false
}remove_alert_rule アラートルールを削除
破壊的
アラートルールを削除します。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_alert_rules の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_alert_rules の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}list_project_webhooks プロジェクトの Webhook 一覧
読み取り専用
プロジェクトのイベント(デプロイの開始・成功・失敗・昇格、環境変数、ドメイン、バックアップ、登録など)を送る Webhook と署名キー(signing_secret)、選べるイベント(events)を返します。データベースの行の変更は list_db_webhooks です。開発者以上が見られます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_project_webhook プロジェクトの Webhook を作成
追加のみ 外部に届く
プロジェクトのイベントを公開の https アドレスに送る Webhook を作ります(Make、Zapier、Slack などの外部の自動化)。events が空ならすべてのイベント、<グループ>.*(例: deployment.*)はそのグループすべてです。署名キーは応答の signing_secret です。プロジェクトごとに10個までです。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, min length 1, max length 60 | はい | 名前。1〜60文字。 |
url | string | はい | 公開の https アドレス。プライベート・内部のアドレスは使えません。 |
events | array<string> | いいえ | 例: ["deployment.ready", "deployment.error"]。グループ: deployment.*、project.*、env.*、domain.*、backup.*、auth.*。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "名前。1〜60文字。"
},
"url": {
"type": "string",
"description": "公開の https アドレス。プライベート・内部のアドレスは使えません。"
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"description": "例: [\"deployment.ready\", \"deployment.error\"]。グループ: deployment.*、project.*、env.*、domain.*、backup.*、auth.*。"
}
},
"required": [
"ref",
"name",
"url"
],
"additionalProperties": false
}set_project_webhook_enabled プロジェクトの Webhook のオン・オフ
破壊的
Webhook を止めるか、また送るようにします。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_project_webhooks の id。 |
enabled | boolean | はい | オンかオフか。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_project_webhooks の id。"
},
"enabled": {
"type": "boolean",
"description": "オンかオフか。"
}
},
"required": [
"ref",
"id",
"enabled"
],
"additionalProperties": false
}test_project_webhook プロジェクトの Webhook を試す
追加のみ 外部に届く
署名した ping イベントを1つ送ります。結果は list_project_webhook_deliveries に表示されます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_project_webhooks の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_project_webhooks の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}list_project_webhook_deliveries プロジェクトの Webhook の送信記録
読み取り専用
Webhook が送った最近の100件: イベント、状態(pending・sent・failed)、試行回数、失敗の理由。開発者以上が見られます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_project_webhooks の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_project_webhooks の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}retry_project_webhook_delivery プロジェクトの Webhook を再送
追加のみ 外部に届く
終わった送信1件を、新しい送信としてもう一度送ります。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
delivery_id | integer, min 1 | はい | list_project_webhook_deliveries の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"delivery_id": {
"type": "integer",
"minimum": 1,
"description": "list_project_webhook_deliveries の id。"
}
},
"required": [
"ref",
"delivery_id"
],
"additionalProperties": false
}remove_project_webhook プロジェクトの Webhook を削除
破壊的
Webhook を削除します。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_project_webhooks の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_project_webhooks の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}get_firewall ファイアウォールのルール
読み取り専用
ファイアウォールの下書き(draft: ルールと管理ルール)、公開中のバージョン(published_version、published)、下書きで変わる点(changes)、攻撃チャレンジモード、バージョン履歴を返します。ルールは上から順に見て、リクエストを終える動作(deny、challenge、redirect、bypass、超えた rate_limit)に最初に合ったところで止まります。IP の拒否・許可リストは get_edge です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}save_firewall_rule ファイアウォールのルールを保存
破壊的
ルールを1つ下書きに保存します。id を省くと末尾に追加し、id を渡すとそのルールを置き換えます。ゲートウェイがコンパイルできないルール(遅い正規表現、誤った CIDR など)はコンソールと同じ言葉で拒否します。publish_firewall で公開すると適用されます。プロジェクトごとに100個までです。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | いいえ | 変更するルールの id(get_firewall の draft.rules[].id)。省くと新しいルールです。 |
name | string, min length 1, max length 80 | はい | ルール名。80文字まで。 |
enabled | boolean | いいえ | 既定は true。false なら保存だけして適用しません。 |
groups | array<array>, min items 1, max items 10 | はい | 条件のグループ1〜10個。グループどうしは OR、グループ内の条件(10個まで)は AND です。条件は {field, op, value, key?, negate?}: field は path、method、host、header、query、user_agent、ip、country、op は eq、prefix、suffix、contains、regex、in、exists。path・host・user_agent は eq・prefix・suffix・contains・regex、method・ip・country は in(カンマ区切りで複数の値)、header・query は key に名前を入れ、exists も使えます。例: [[{"field": "path", "op": "prefix", "value": "/admin"}, {"field": "ip", "op": "in", "value": "203.0.113.0/24", "negate": true}]] |
action | object | はい | 合ったときの動作。type: log(記録して次のルールへ)、deny(403)、challenge(ブラウザの確認)、bypass(残りのルール・管理ルール・攻撃モードを飛ばす)、redirect(location、status 301・302・307・308)、rate_limit(limit 1〜100000、window_seconds 1〜3600、key は ip か header とヘッダー名、then は deny・challenge・log)。例: {"type": "rate_limit", "limit": 100, "window_seconds": 60, "key": "ip", "then": "deny"} |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "変更するルールの id(get_firewall の draft.rules[].id)。省くと新しいルールです。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "ルール名。80文字まで。"
},
"enabled": {
"type": "boolean",
"description": "既定は true。false なら保存だけして適用しません。"
},
"groups": {
"type": "array",
"minItems": 1,
"maxItems": 10,
"description": "条件のグループ1〜10個。グループどうしは OR、グループ内の条件(10個まで)は AND です。条件は {field, op, value, key?, negate?}: field は path、method、host、header、query、user_agent、ip、country、op は eq、prefix、suffix、contains、regex、in、exists。path・host・user_agent は eq・prefix・suffix・contains・regex、method・ip・country は in(カンマ区切りで複数の値)、header・query は key に名前を入れ、exists も使えます。例: [[{\"field\": \"path\", \"op\": \"prefix\", \"value\": \"/admin\"}, {\"field\": \"ip\", \"op\": \"in\", \"value\": \"203.0.113.0/24\", \"negate\": true}]]",
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"enum": [
"path",
"method",
"host",
"header",
"query",
"user_agent",
"ip",
"country"
]
},
"op": {
"type": "string",
"enum": [
"eq",
"prefix",
"suffix",
"contains",
"regex",
"in",
"exists"
]
},
"value": {
"type": "string"
},
"key": {
"type": "string"
},
"negate": {
"type": "boolean"
}
},
"required": [
"field",
"op"
]
}
}
},
"action": {
"type": "object",
"description": "合ったときの動作。type: log(記録して次のルールへ)、deny(403)、challenge(ブラウザの確認)、bypass(残りのルール・管理ルール・攻撃モードを飛ばす)、redirect(location、status 301・302・307・308)、rate_limit(limit 1〜100000、window_seconds 1〜3600、key は ip か header とヘッダー名、then は deny・challenge・log)。例: {\"type\": \"rate_limit\", \"limit\": 100, \"window_seconds\": 60, \"key\": \"ip\", \"then\": \"deny\"}",
"properties": {
"type": {
"type": "string",
"enum": [
"log",
"deny",
"challenge",
"bypass",
"redirect",
"rate_limit"
]
},
"location": {
"type": "string"
},
"status": {
"type": "integer",
"enum": [
301,
302,
307,
308
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100000
},
"window_seconds": {
"type": "integer",
"minimum": 1,
"maximum": 3600
},
"key": {
"type": "string",
"enum": [
"ip",
"header"
]
},
"header": {
"type": "string"
},
"then": {
"type": "string",
"enum": [
"deny",
"challenge",
"log"
]
}
},
"required": [
"type"
]
}
},
"required": [
"ref",
"name",
"groups",
"action"
],
"additionalProperties": false
}move_firewall_rule ファイアウォールのルールを移動
破壊的
下書きでルールを1つ上か下に移します。ルールは上から見ます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | get_firewall の draft.rules[].id。 |
direction | string, up | down | はい | up なら1つ上へ、down なら1つ下へ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "get_firewall の draft.rules[].id。"
},
"direction": {
"type": "string",
"enum": [
"up",
"down"
],
"description": "up なら1つ上へ、down なら1つ下へ。"
}
},
"required": [
"ref",
"id",
"direction"
],
"additionalProperties": false
}set_firewall_rule_enabled ファイアウォールのルールのオン・オフ
破壊的
下書きでルールをオンかオフにします。公開すると適用されます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | get_firewall の draft.rules[].id。 |
enabled | boolean | はい | true ならオン、false ならオフ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "get_firewall の draft.rules[].id。"
},
"enabled": {
"type": "boolean",
"description": "true ならオン、false ならオフ。"
}
},
"required": [
"ref",
"id",
"enabled"
],
"additionalProperties": false
}remove_firewall_rule ファイアウォールのルールを削除
破壊的
下書きからルールを削除します。公開する前なら reset_firewall_draft で戻せます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | get_firewall の draft.rules[].id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "get_firewall の draft.rules[].id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}set_firewall_managed ボットと管理ルール
破壊的
ルールなしで防ぐ管理ルールのモード(off、log、deny)を下書きに設定します。bots は SEO クローラー・スクレイパー・攻撃ツール、ai_bots は GPTBot・ClaudeBot などの AI 学習クローラー、ai_search_bots は ChatGPT 検索・Perplexity などの AI 検索・回答ボット(拒否すると AI の回答からサイトが外れます)、rulesets は攻撃パターン(sensitive_files、wordpress、traversal、sqli、xss、shell)です。省いた項目はそのままで、公開すると適用されます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bots | string, off | log | deny | いいえ | 既知のボット: off、log(記録のみ)、deny のいずれか。 |
ai_bots | string, off | log | deny | いいえ | AI 学習クローラー: off、log(記録のみ)、deny のいずれか。 |
ai_search_bots | string, off | log | deny | いいえ | AI 検索・回答ボット。deny にすると ChatGPT 検索・Perplexity の回答からサイトが外れます: off、log(記録のみ)、deny のいずれか。 |
rulesets | object | いいえ | 攻撃パターンごとのモード。例: {"sqli": "deny", "wordpress": "log"}。名前: sensitive_files、wordpress、traversal、sqli、xss、shell。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bots": {
"type": "string",
"enum": [
"off",
"log",
"deny"
],
"description": "既知のボット: off、log(記録のみ)、deny のいずれか。"
},
"ai_bots": {
"type": "string",
"enum": [
"off",
"log",
"deny"
],
"description": "AI 学習クローラー: off、log(記録のみ)、deny のいずれか。"
},
"ai_search_bots": {
"type": "string",
"enum": [
"off",
"log",
"deny"
],
"description": "AI 検索・回答ボット。deny にすると ChatGPT 検索・Perplexity の回答からサイトが外れます: off、log(記録のみ)、deny のいずれか。"
},
"rulesets": {
"type": "object",
"properties": {
"sensitive_files": {
"type": "string",
"enum": [
"off",
"log",
"deny"
]
},
"wordpress": {
"type": "string",
"enum": [
"off",
"log",
"deny"
]
},
"traversal": {
"type": "string",
"enum": [
"off",
"log",
"deny"
]
},
"sqli": {
"type": "string",
"enum": [
"off",
"log",
"deny"
]
},
"xss": {
"type": "string",
"enum": [
"off",
"log",
"deny"
]
},
"shell": {
"type": "string",
"enum": [
"off",
"log",
"deny"
]
}
},
"additionalProperties": false,
"description": "攻撃パターンごとのモード。例: {\"sqli\": \"deny\", \"wordpress\": \"log\"}。名前: sensitive_files、wordpress、traversal、sqli、xss、shell。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}publish_firewall ファイアウォールを公開
破壊的
下書きを新しいバージョンとして公開します。数秒ですべてのサーバーがこのルールでリクエストを止めたり通したりします。先に get_firewall の changes で変わる点を確かめてください。誤って公開したら restore_firewall_version で前のバージョンを読み込み、もう一度公開します。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
note | string, max length 200 | いいえ | 何をなぜ変えたか。バージョン履歴に残ります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"note": {
"type": "string",
"maxLength": 200,
"description": "何をなぜ変えたか。バージョン履歴に残ります。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}reset_firewall_draft ファイアウォールの下書きを破棄
破壊的
公開していない下書きの変更をすべて捨て、適用中のルールに戻します。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}restore_firewall_version ファイアウォールの前のバージョンを読み込む
破壊的
公開したバージョンを下書きに読み込みます。今の下書きは上書きされ、publish_firewall で公開すると適用されます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
version | integer, min 1 | はい | get_firewall の versions[].version。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"version": {
"type": "integer",
"minimum": 1,
"description": "get_firewall の versions[].version。"
}
},
"required": [
"ref",
"version"
],
"additionalProperties": false
}set_attack_mode 攻撃チャレンジモード
破壊的
オンにすると、すぐにすべての訪問者がブラウザの確認を受けます(公開は不要)。DDoS や大量のスクレイピングのときに使います。API を呼ぶプログラムも止まるので、攻撃が終わったらオフにしてください。hours を渡すとその時間の後に自動でオフになります(720時間まで)。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | はい | true ならオン、false ならオフ。 |
hours | string, min 0, max 720 | いいえ | オンにしておく時間。省くか null ならオフにするまで。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "true ならオン、false ならオフ。"
},
"hours": {
"type": [
"number",
"null"
],
"minimum": 0,
"maximum": 720,
"description": "オンにしておく時間。省くか null ならオフにするまで。"
}
},
"required": [
"ref",
"enabled"
],
"additionalProperties": false
}get_bulk_redirects 一括リダイレクト
読み取り専用
アップロードした一括リダイレクトのバージョン(sets、適用中のものは active)と、選んだバージョン(省くと適用中のもの)の最初の100行を返します。1〜2個のルールは get_routing_rules です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
set_id | string | いいえ | get_bulk_redirects の sets[].id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"set_id": {
"type": [
"integer",
"null"
],
"description": "get_bulk_redirects の sets[].id。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}upload_bulk_redirects 一括リダイレクトをアップロード
破壊的
CSV でリダイレクトを新しいバージョンとしてアップロードします(1万行、5MB まで)。1行は 元のアドレス,転送先[,ステータス(既定 308)[,クエリを保持 true|false]]。元のアドレスは /パスか ドメイン/パス、転送先は /パスか http(s) のアドレスです。activate が true ならすぐ適用し、そうでなければ activate_bulk_redirects で適用します。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
csv | string | はい | CSV の内容。例: "/old,/new,301\n/blog/a,https://blog.example.com/a" |
note | string, max length 200 | いいえ | バージョンのメモ。 |
activate | boolean | いいえ | true ならアップロードと同時に適用します。既定は false。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"csv": {
"type": "string",
"description": "CSV の内容。例: \"/old,/new,301\\n/blog/a,https://blog.example.com/a\""
},
"note": {
"type": "string",
"maxLength": 200,
"description": "バージョンのメモ。"
},
"activate": {
"type": "boolean",
"description": "true ならアップロードと同時に適用します。既定は false。"
}
},
"required": [
"ref",
"csv"
],
"additionalProperties": false
}activate_bulk_redirects 一括リダイレクトを適用
破壊的
アップロードしたバージョンを1つ適用するか(set_id)、null で一括リダイレクトをオフにします。1分以内にすべてのサーバーに適用されます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
set_id | string | はい | get_bulk_redirects の sets[].id。null ならオフ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"set_id": {
"type": [
"integer",
"null"
],
"description": "get_bulk_redirects の sets[].id。null ならオフ。"
}
},
"required": [
"ref",
"set_id"
],
"additionalProperties": false
}get_skew_protection スキュー保護
読み取り専用
スキュー保護(新しいデプロイが出ても、開いているタブは最初のデプロイのスクリプトとデータを受け取る)がオンかどうかと、最大保持期間(秒)を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_skew_protection スキュー保護を変更
破壊的
スキュー保護をオン・オフし、最大保持期間を決めます。それより古いデプロイには固定しません。省いた項目はそのままです。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | いいえ | true ならオン、false ならオフ。 |
max_age_seconds | integer, 300 | 1800 | 3600 | 21600 | 43200 | 86400 | 259200 | 604800 | いいえ | 最大保持期間(秒): 300、1800、3600、21600、43200、86400、259200、604800。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "true ならオン、false ならオフ。"
},
"max_age_seconds": {
"type": "integer",
"enum": [
300,
1800,
3600,
21600,
43200,
86400,
259200,
604800
],
"description": "最大保持期間(秒): 300、1800、3600、21600、43200、86400、259200、604800。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_remote_cache_tokens リモートキャッシュのトークン一覧
読み取り専用
Turborepo のリモートキャッシュのトークン(名前、作成日時、最終使用)と、turbo に渡す api と team を返します。トークンの値は作成時に1回だけ表示されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_remote_cache_token リモートキャッシュのトークンを作成
追加のみ
CI やターミナルの turbo がこのプロジェクトのリモートキャッシュを使うトークンを作ります。値と設定する環境変数(env)はこの応答でのみ表示されます。20個までです。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, min length 1, max length 80 | はい | トークンの用途。例: github-actions。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80,
"description": "トークンの用途。例: github-actions。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}revoke_remote_cache_token リモートキャッシュのトークンを無効化
破壊的
トークンを削除します。それを使う turbo はすぐにキャッシュを使えなくなります。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_remote_cache_tokens の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_remote_cache_tokens の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}get_build_settings ビルド設定の詳細
読み取り専用
アプリごとに update_app 以外のビルド設定を返します: 開発コマンド(dev_command)、Node.js のバージョン、ビルドのスキップ(ignored_build_step)、ビルドマシン、本番を先に(production_first)、必須チェック(required_checks)、Git LFS、署名付きコミットのみ(verified_commits)。システム環境変数を入れるか(expose_system_env)も返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_build_dev_settings 開発コマンドと Node.js のバージョン
破壊的
アプリの開発コマンド(oneend dev が実行)とビルドに使う Node.js のメジャーバージョンを設定します。フレームワークとビルド・インストール・出力は update_app です。省いた項目はそのまま、null は自動検出です。次のビルドから適用されます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
app | string | はい | list_apps の name。 |
dev_command | string, max length 1024 | いいえ | 1行のコマンド。例: npm run dev。null ならプリセットの既定値。 |
node_version | string, 18 | 20 | 22 | 24 | null | いいえ | Node.js のメジャーバージョン: 18、20、22、24。null なら package.json の engines か既定値。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"app": {
"type": "string",
"description": "list_apps の name。"
},
"dev_command": {
"type": [
"string",
"null"
],
"maxLength": 1024,
"description": "1行のコマンド。例: npm run dev。null ならプリセットの既定値。"
},
"node_version": {
"type": [
"integer",
"null"
],
"enum": [
18,
20,
22,
24,
null
],
"description": "Node.js のメジャーバージョン: 18、20、22、24。null なら package.json の engines か既定値。"
}
},
"required": [
"ref",
"app"
],
"additionalProperties": false
}set_ignored_build_step ビルドのスキップ
破壊的
どの push をビルドするかを設定します。mode: automatic(既定。モノレポで別のアプリのフォルダだけが変わった push はスキップ)、every(すべての push)、production(本番のみ)、preview(プレビューのみ)、folder(folder 以下のファイルが変わったときのみ)、command(command が 0 で終わればスキップ)。スキップした push もデプロイ履歴に残ります。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
app | string | はい | list_apps の name。 |
mode | string, automatic | every | production | preview | folder | command | はい | スキップの方式。 |
folder | string | いいえ | mode が folder のとき見るフォルダ(リポジトリ内の相対パス、例: apps/web)。 |
command | string, max length 1024 | いいえ | mode が command のときビルド環境で実行する1行のコマンド。0 で終わるとスキップします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"app": {
"type": "string",
"description": "list_apps の name。"
},
"mode": {
"type": "string",
"enum": [
"automatic",
"every",
"production",
"preview",
"folder",
"command"
],
"description": "スキップの方式。"
},
"folder": {
"type": "string",
"description": "mode が folder のとき見るフォルダ(リポジトリ内の相対パス、例: apps/web)。"
},
"command": {
"type": "string",
"maxLength": 1024,
"description": "mode が command のときビルド環境で実行する1行のコマンド。0 で終わるとスキップします。"
}
},
"required": [
"ref",
"app",
"mode"
],
"additionalProperties": false
}set_production_first 本番のビルドを先に
破壊的
キューで本番のビルドをプレビューより先に実行するかを設定します。ビルドマシンの大きさは update_app の build_machine です。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
app | string | はい | list_apps の name。 |
enabled | boolean | はい | true なら本番を先に(既定)、false なら来た順。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"app": {
"type": "string",
"description": "list_apps の name。"
},
"enabled": {
"type": "boolean",
"description": "true なら本番を先に(既定)、false なら来た順。"
}
},
"required": [
"ref",
"app",
"enabled"
],
"additionalProperties": false
}set_git_checks 必須チェックと Git LFS
破壊的
本番に出る前に通る必要がある GitHub のチェック名(required_checks、20個まで)、Git LFS のファイルを取得するか、署名付きコミットだけをビルドするかを設定します。必須チェックと署名付きコミットは GitHub のリポジトリのみです。省いた項目はそのままです。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
app | string | はい | list_apps の name。 |
required_checks | array<string>, max items 20 | いいえ | GitHub のチェック名。例: ["test", "lint"]。[] ならすべて削除します。 |
git_lfs | boolean | いいえ | true ならビルド時に Git LFS のファイルを取得します。 |
verified_commits | boolean | いいえ | true なら GitHub が確認した署名付きコミットだけをビルドします。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"app": {
"type": "string",
"description": "list_apps の name。"
},
"required_checks": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
},
"maxItems": 20,
"description": "GitHub のチェック名。例: [\"test\", \"lint\"]。[] ならすべて削除します。"
},
"git_lfs": {
"type": "boolean",
"description": "true ならビルド時に Git LFS のファイルを取得します。"
},
"verified_commits": {
"type": "boolean",
"description": "true なら GitHub が確認した署名付きコミットだけをビルドします。"
}
},
"required": [
"ref",
"app"
],
"additionalProperties": false
}set_expose_system_env システム環境変数
破壊的
ビルドとサーバーに BLACKWALL_ENV、BLACKWALL_URL、BLACKWALL_GIT_COMMIT_SHA などのシステム環境変数を入れるかを設定します。今の値は list_environments の expose_system_env です。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | はい | true なら入れ、false なら外します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "true なら入れ、false なら外します。"
}
},
"required": [
"ref",
"enabled"
],
"additionalProperties": false
}set_directory_listing フォルダの一覧表示
破壊的
静的サイトで index.html のないフォルダを開いたとき、ファイル一覧を表示するか(true)、404 を返すか(false)を設定します。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | はい | true なら一覧を表示します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "true なら一覧を表示します。"
}
},
"required": [
"ref",
"enabled"
],
"additionalProperties": false
}get_deployment_security デプロイのセキュリティ
読み取り専用
ビルドログとデプロイの出力を誰が見られるか(members、writers、admins)、フォークからのプルリクエストを承認までビルドしないか(fork_protection)、OIDC トークンを渡すかと発行者の方式を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_deployment_security デプロイのセキュリティを変更
破壊的
ビルドログ(logs_access)とデプロイの出力(source_access)を見られる人、フォーク保護、OIDC(クラウドが信頼するトークンをビルドとサーバーに渡す。oidc_issuer_mode は team か global)を設定します。省いた項目はそのままです。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
logs_access | string, members | writers | admins | いいえ | ビルドログを見られる人: members(すべてのメンバー)、writers(開発者以上)、admins(オーナーと管理者)のいずれか。 |
source_access | string, members | writers | admins | いいえ | デプロイが出力したファイルを見られる人: members(すべてのメンバー)、writers(開発者以上)、admins(オーナーと管理者)のいずれか。 |
fork_protection | boolean | いいえ | true ならフォークからのプルリクエストは承認までビルドしません(環境変数が漏れないように)。 |
oidc_enabled | boolean | いいえ | true ならビルドとサーバーに OIDC トークンを渡します。 |
oidc_issuer_mode | string, team | global | いいえ | 発行者。team は組織専用、global はプラットフォーム共通の発行者です。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"logs_access": {
"type": "string",
"enum": [
"members",
"writers",
"admins"
],
"description": "ビルドログを見られる人: members(すべてのメンバー)、writers(開発者以上)、admins(オーナーと管理者)のいずれか。"
},
"source_access": {
"type": "string",
"enum": [
"members",
"writers",
"admins"
],
"description": "デプロイが出力したファイルを見られる人: members(すべてのメンバー)、writers(開発者以上)、admins(オーナーと管理者)のいずれか。"
},
"fork_protection": {
"type": "boolean",
"description": "true ならフォークからのプルリクエストは承認までビルドしません(環境変数が漏れないように)。"
},
"oidc_enabled": {
"type": "boolean",
"description": "true ならビルドとサーバーに OIDC トークンを渡します。"
},
"oidc_issuer_mode": {
"type": "string",
"enum": [
"team",
"global"
],
"description": "発行者。team は組織専用、global はプラットフォーム共通の発行者です。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_routing_rules ルーティングルール
読み取り専用
コンソールで設定したリダイレクト・リライト・ヘッダーのルールのバージョン(最近30個)と適用中のバージョン(active、null ならなし)、ドメインのリダイレクトを返します。ルールは各デプロイの blackwall.json より先に適用されます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}save_routing_rules ルーティングルールを保存
破壊的
blackwall.json と同じ形のルールを新しいバージョンとして保存し、すぐ適用します。ビルドが blackwall.json を確かめるのと同じ規則で確かめます。ルール全体を送ります(省いたリストは空になります)。前のバージョンには activate_routing_rules で戻します。リダイレクトが数百個なら upload_bulk_redirects です。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
redirects | array<object> | いいえ | 例: [{"source": "/old/:path*", "destination": "/new/:path*", "statusCode": 308}]。statusCode は 301・302・307・308。省くと permanent(true なら 308、既定 307)。 |
rewrites | array<object> | いいえ | 例: [{"source": "/docs/:path*", "destination": "/help/:path*"}] |
headers | array<object> | いいえ | 例: [{"source": "/:path*", "headers": [{"key": "X-Frame-Options", "value": "DENY"}]}] |
note | string, max length 200 | いいえ | バージョンのメモ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"redirects": {
"type": "array",
"items": {
"type": "object"
},
"description": "例: [{\"source\": \"/old/:path*\", \"destination\": \"/new/:path*\", \"statusCode\": 308}]。statusCode は 301・302・307・308。省くと permanent(true なら 308、既定 307)。"
},
"rewrites": {
"type": "array",
"items": {
"type": "object"
},
"description": "例: [{\"source\": \"/docs/:path*\", \"destination\": \"/help/:path*\"}]"
},
"headers": {
"type": "array",
"items": {
"type": "object"
},
"description": "例: [{\"source\": \"/:path*\", \"headers\": [{\"key\": \"X-Frame-Options\", \"value\": \"DENY\"}]}]"
},
"note": {
"type": "string",
"maxLength": 200,
"description": "バージョンのメモ。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}activate_routing_rules ルーティングルールのバージョンを適用
破壊的
保存したバージョンをもう一度適用するか、null でコンソールのルールをオフにします(デプロイの blackwall.json だけに従います)。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
version | string, min 1 | はい | get_routing_rules の versions[].version。null ならオフ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"version": {
"type": [
"integer",
"null"
],
"minimum": 1,
"description": "get_routing_rules の versions[].version。null ならオフ。"
}
},
"required": [
"ref",
"version"
],
"additionalProperties": false
}purge_edge_cache_item キャッシュの一部を消去
破壊的
エッジキャッシュからパス1つ(末尾の * はその下すべて)か Cache-Tag 1つだけを捨てます。どちらか1つを渡します。キャッシュ全体は purge_edge_cache です。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
path | string, max length 512 | いいえ | / で始まるパス。例: /blog/* や /index.html。 |
tag | string, max length 512 | いいえ | 応答の Cache-Tag ヘッダーに入れたタグ1つ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"path": {
"type": "string",
"maxLength": 512,
"description": "/ で始まるパス。例: /blog/* や /index.html。"
},
"tag": {
"type": "string",
"maxLength": 512,
"description": "応答の Cache-Tag ヘッダーに入れたタグ1つ。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_job_retention スケジュールジョブの履歴の保存期間
破壊的
スケジュールジョブの実行履歴を何日残すかを設定します: 1、3、7、14、30、90日、null ならプランの既定値。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
days | string, 1 | 3 | 7 | 14 | 30 | 90 | null | はい | 保存する日数。null なら既定値。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"days": {
"type": [
"integer",
"null"
],
"enum": [
1,
3,
7,
14,
30,
90,
null
],
"description": "保存する日数。null なら既定値。"
}
},
"required": [
"ref",
"days"
],
"additionalProperties": false
}get_storage_settings ストレージの設定
読み取り専用
プロジェクト全体のファイル1つの最大サイズ(file_size_limit、null ならサーバーの上限 host_max_bytes)、画像変換がオンかと許可するサイズ、S3 アドレスがオンか、バケットごとに以前のバージョンを残すか(versioning)を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_storage_settings ストレージの設定を変更
破壊的
プロジェクト全体のファイル1つの最大サイズと画像変換(オン、許可する幅の一覧)を設定します。バケット1つの上限は update_bucket です。省いた項目はそのままです。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
file_size_limit | string | いいえ | バイト数か 5MB のようなサイズ。null ならサーバーの上限まで。 |
image_transform | boolean | いいえ | true なら ?width= のような画像変換を行います。 |
image_sizes | array<integer>, max items 20 | いいえ | 変換を許可する幅(px)の一覧。[] ならすべてのサイズ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"file_size_limit": {
"type": [
"string",
"integer",
"null"
],
"description": "バイト数か 5MB のようなサイズ。null ならサーバーの上限まで。"
},
"image_transform": {
"type": "boolean",
"description": "true なら ?width= のような画像変換を行います。"
},
"image_sizes": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1,
"maximum": 2500
},
"maxItems": 20,
"description": "変換を許可する幅(px)の一覧。[] ならすべてのサイズ。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_s3_enabled S3 アドレスのオン・オフ
破壊的
S3 互換アドレスがリクエストを受けるかを設定します。オフにすると S3 キー(list_s3_keys)でのリクエストをすべて拒否し、キーは残ります。シークレットキーを見られる開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | はい | true ならオン、false ならオフ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "true ならオン、false ならオフ。"
}
},
"required": [
"ref",
"enabled"
],
"additionalProperties": false
}set_bucket_versioning バケットのバージョン保存
破壊的
バケットが上書き・削除されたファイルを以前のバージョンとして残すか、何日残すかを設定します。省いた項目はそのままです。以前のバージョンも保存容量に含まれます。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_buckets のバケット名。 |
enabled | boolean | いいえ | true なら以前のバージョンを残します。 |
noncurrent_days | string, min 1, max 3650 | いいえ | 以前のバージョンを残す日数。null なら削除するまで。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_buckets のバケット名。"
},
"enabled": {
"type": "boolean",
"description": "true なら以前のバージョンを残します。"
},
"noncurrent_days": {
"type": [
"integer",
"null"
],
"minimum": 1,
"maximum": 3650,
"description": "以前のバージョンを残す日数。null なら削除するまで。"
}
},
"required": [
"ref",
"bucket"
],
"additionalProperties": false
}list_object_versions ファイルの以前のバージョン一覧
読み取り専用
バケットの以前のバージョンを新しい順に200個まで返します。name を渡すとそのファイルのバージョンだけです。deleted が true なら削除されたファイルの最後のバージョンです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_buckets のバケット名。 |
name | string, max length 1024 | いいえ | バケット内のファイルのパス。例: avatars/a.png。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_buckets のバケット名。"
},
"name": {
"type": "string",
"maxLength": 1024,
"description": "バケット内のファイルのパス。例: avatars/a.png。"
}
},
"required": [
"ref",
"bucket"
],
"additionalProperties": false
}restore_object_version ファイルを以前のバージョンに戻す
破壊的
以前のバージョンをその名前の今のファイルに戻します。その名前にあったファイルはバケットの設定どおり以前のバージョンになります。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_object_versions の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_object_versions の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}remove_object_version ファイルの以前のバージョンを完全に削除
破壊的
以前のバージョンを1つ完全に削除します。今のファイルはそのままです。元に戻せないため、confirm にファイル名をそのまま入れる必要があります。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_object_versions の id。 |
confirm | string | はい | 削除するバージョンのファイル名(list_object_versions の name)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_object_versions の id。"
},
"confirm": {
"type": "string",
"description": "削除するバージョンのファイル名(list_object_versions の name)。"
}
},
"required": [
"ref",
"id",
"confirm"
],
"additionalProperties": false
}list_bucket_connections デプロイに接続したバケット
読み取り専用
デプロイに接続したバケットごとに、接頭辞、入る環境、使う S3 キー、入れる環境変数の名前を返します。targets は選べる環境です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}connect_bucket バケットをデプロイに接続
破壊的
このバケットだけを開く S3 キーを作り、選んだ環境のデプロイに <接頭辞>_BUCKET、_ENDPOINT、_REGION、_ACCESS_KEY_ID、_SECRET_ACCESS_KEY として入れます。S3 アドレスもオンになります。次のデプロイから入ります。開発者以上が実行できます。production に入れるのはオーナーと管理者だけです。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
bucket | string | はい | list_buckets のバケット名。 |
prefix | string, pattern ^[A-Za-z][A-Za-z0-9_]{0,30}$ | いいえ | 環境変数の接頭辞。大文字に変わります。既定は BLOB で、BLACKWALL で始めることはできません。 |
targets | array<string>, min items 1 | はい | 入れる環境: production、preview、development、env:<環境名>。list_bucket_connections の targets。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"bucket": {
"type": "string",
"description": "list_buckets のバケット名。"
},
"prefix": {
"type": "string",
"pattern": "^[A-Za-z][A-Za-z0-9_]{0,30}$",
"description": "環境変数の接頭辞。大文字に変わります。既定は BLOB で、BLACKWALL で始めることはできません。"
},
"targets": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"description": "入れる環境: production、preview、development、env:<環境名>。list_bucket_connections の targets。"
}
},
"required": [
"ref",
"bucket",
"targets"
],
"additionalProperties": false
}disconnect_bucket バケットの接続を解除
破壊的
接続の S3 キーをすぐに無効にし、次のデプロイから変数を外します。その変数を使うコードは失敗するため、confirm に接頭辞をそのまま入れる必要があります。production に接続したものはオーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_bucket_connections の id。 |
confirm | string | はい | 接続の接頭辞(prefix)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_bucket_connections の id。"
},
"confirm": {
"type": "string",
"description": "接続の接頭辞(prefix)。"
}
},
"required": [
"ref",
"id",
"confirm"
],
"additionalProperties": false
}list_storage_policies ファイルのアクセスルール一覧
読み取り専用
ファイルの表(objects)とバケットの表(buckets)のアクセスルール: 操作、対象、条件式、プラットフォームの既定のルールか(built_in)。データの表のルールは list_policies です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_storage_policy ファイルのアクセスルールを作成
追加のみ
コンソールのテンプレートでファイルのアクセスルールを作ります。template: public-read(誰でも読める)、signed-in-read(サインインした人だけ読める)、signed-in-upload(サインインした人がアップロード)、own-folder(人ごとに自分のフォルダ)、images-only(画像だけアップロード)、custom(command、roles、using、check を直接)。テンプレートには bucket が必要です。auth.uid() は uid() と書きます。run_sql ではファイルの表にルールを作れません。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
template | string, public-read | signed-in-read | signed-in-upload | own-folder | images-only | custom | いいえ | テンプレート。既定は custom。 |
bucket | string | いいえ | テンプレートを適用するバケット(custom 以外は必須)。 |
name | string, max length 63 | いいえ | ルール名。空ならテンプレートの名前。 |
table | string, objects | buckets | いいえ | custom のときの表。既定は objects、buckets は select のみ。 |
command | string, select | insert | update | delete | all | いいえ | custom のときの操作。 |
roles | array<string>, anon | authenticated | いいえ | custom のときの対象。 |
restrictive | boolean | いいえ | true なら制限ルール(ほかのルールと AND)。 |
using | string | いいえ | custom のときの using 条件式。例: bucket_id = 'avatars' and owner = uid() |
check | string | いいえ | custom のときの with check 条件式。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"template": {
"type": "string",
"enum": [
"public-read",
"signed-in-read",
"signed-in-upload",
"own-folder",
"images-only",
"custom"
],
"description": "テンプレート。既定は custom。"
},
"bucket": {
"type": "string",
"description": "テンプレートを適用するバケット(custom 以外は必須)。"
},
"name": {
"type": "string",
"maxLength": 63,
"description": "ルール名。空ならテンプレートの名前。"
},
"table": {
"type": "string",
"enum": [
"objects",
"buckets"
],
"description": "custom のときの表。既定は objects、buckets は select のみ。"
},
"command": {
"type": "string",
"enum": [
"select",
"insert",
"update",
"delete",
"all"
],
"description": "custom のときの操作。"
},
"roles": {
"type": "array",
"items": {
"type": "string",
"enum": [
"anon",
"authenticated"
]
},
"description": "custom のときの対象。"
},
"restrictive": {
"type": "boolean",
"description": "true なら制限ルール(ほかのルールと AND)。"
},
"using": {
"type": "string",
"description": "custom のときの using 条件式。例: bucket_id = 'avatars' and owner = uid()"
},
"check": {
"type": "string",
"description": "custom のときの with check 条件式。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}remove_storage_policy ファイルのアクセスルールを削除
破壊的
プロジェクトが作ったファイルのアクセスルールを削除します。既定のルール(built_in)は削除できません。confirm にルール名をそのまま入れる必要があります。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
table | string, objects | buckets | いいえ | ルールのある表。既定は objects。 |
name | string | はい | list_storage_policies の name。 |
confirm | string | はい | ルール名。name と同じ。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"table": {
"type": "string",
"enum": [
"objects",
"buckets"
],
"description": "ルールのある表。既定は objects。"
},
"name": {
"type": "string",
"description": "list_storage_policies の name。"
},
"confirm": {
"type": "string",
"description": "ルール名。name と同じ。"
}
},
"required": [
"ref",
"name",
"confirm"
],
"additionalProperties": false
}get_realtime_settings リアルタイムの設定
読み取り専用
リアルタイムがオンか、公開チャネルを許可するか、同時接続数・毎秒メッセージ・毎秒プレゼンス・メッセージの最大サイズの上限と、それぞれの範囲(bounds)を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_realtime_settings リアルタイムの設定を変更
破壊的
リアルタイムのオン・オフ、公開チャネルの許可、プロジェクト全体の上限を変えます。渡した値だけを変え、残りはそのままです。allow_public をオフにすると、非公開チャネル(realtime_messages テーブルのルールを通った人)だけが使えます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | いいえ | オフにすると新しい接続を受けません。 |
allow_public | boolean | いいえ | 公開チャネルを許可するか。 |
max_clients | integer, min 1, max 10000 | いいえ | 同時接続数。1〜10000。 |
max_events_per_second | integer, min 1, max 10000 | いいえ | 毎秒のブロードキャスト数。1〜10000。 |
max_presence_per_second | integer, min 1, max 1000 | いいえ | 毎秒のプレゼンス更新数。1〜1000。 |
max_payload_kb | integer, min 1, max 3072 | いいえ | メッセージの最大サイズ(KB)。1〜3072。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "オフにすると新しい接続を受けません。"
},
"allow_public": {
"type": "boolean",
"description": "公開チャネルを許可するか。"
},
"max_clients": {
"type": "integer",
"minimum": 1,
"maximum": 10000,
"description": "同時接続数。1〜10000。"
},
"max_events_per_second": {
"type": "integer",
"minimum": 1,
"maximum": 10000,
"description": "毎秒のブロードキャスト数。1〜10000。"
},
"max_presence_per_second": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"description": "毎秒のプレゼンス更新数。1〜1000。"
},
"max_payload_kb": {
"type": "integer",
"minimum": 1,
"maximum": 3072,
"description": "メッセージの最大サイズ(KB)。1〜3072。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_realtime_policies 非公開チャネルのルール
読み取り専用
非公開チャネルに誰が入り送れるかを決める realtime_messages テーブルのルールと、選べるルールのひな形(templates)を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_realtime_messages_table 非公開チャネルのルール用テーブルを作成
追加のみ
非公開チャネルのルールを書く realtime_messages テーブルを、行レベルセキュリティをオンにして作ります。すでにあればそのままです。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}add_realtime_policy 非公開チャネルのルールを追加
追加のみ
よく使うルールを realtime_messages テーブルに追加します(テーブルがなければ先に作ります)。template: signed-in-read(サインインした人が非公開チャネルに入る)、signed-in-write(サインインした人が送る)、own-channel(user:<自分の id> のチャネルだけ)。ほかのルールは run_sql で書きます。開発者以上が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
template | string, signed-in-read | signed-in-write | own-channel | はい | signed-in-read、signed-in-write、own-channel のいずれか。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"template": {
"type": "string",
"enum": [
"signed-in-read",
"signed-in-write",
"own-channel"
],
"description": "signed-in-read、signed-in-write、own-channel のいずれか。"
}
},
"required": [
"ref",
"template"
],
"additionalProperties": false
}get_passkey_settings パスキーの設定
読み取り専用
ユーザーがパスキーでサインインできるか、RP 名・RP ID・許可するオリジン(origins)、ユーザー確認(require_user_verification)を返します。RP ID が空なら Site URL のホストを使います。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_passkey_settings パスキーの設定を変更
破壊的
ユーザーのパスキーでのサインインをオン・オフし、RP 名・RP ID・許可するオリジンを変えます。渡した値だけを変えます。オリジンはすべて RP ID(なければ Site URL のホスト)の下の https アドレスである必要があります。RP ID を変えると登録済みのパスキーは使えなくなります。オーナー・管理者・開発者が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
enabled | boolean | いいえ | パスキーでのサインインをオンにするか。 |
rp_name | string | いいえ | ブラウザが表示するサービス名。 |
rp_id | string | いいえ | パスキーを結びつけるドメイン(例: example.com)。空なら Site URL のホスト。 |
origins | array<string> | いいえ | パスキーを使う https のオリジン(例: ["https://app.example.com"])。空なら Site URL。 |
require_user_verification | boolean | いいえ | 指紋や PIN などのユーザー確認を必ず求めるか。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"enabled": {
"type": "boolean",
"description": "パスキーでのサインインをオンにするか。"
},
"rp_name": {
"type": "string",
"description": "ブラウザが表示するサービス名。"
},
"rp_id": {
"type": "string",
"description": "パスキーを結びつけるドメイン(例: example.com)。空なら Site URL のホスト。"
},
"origins": {
"type": "array",
"items": {
"type": "string"
},
"description": "パスキーを使う https のオリジン(例: [\"https://app.example.com\"])。空なら Site URL。"
},
"require_user_verification": {
"type": "boolean",
"description": "指紋や PIN などのユーザー確認を必ず求めるか。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}list_user_factors ユーザーの2段階認証とパスキー
読み取り専用
ユーザー1人が登録した2段階認証の手段(factors: totp・phone)とパスキー(passkeys)を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_users の id(UUID)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_users の id(UUID)。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}remove_user_factors ユーザーの2段階認証を削除
破壊的
携帯電話をなくしたユーザーのように、1人の2段階認証の手段をすべて削除します。登録し直すまでパスワードだけでサインインします。confirm にそのユーザーのメールアドレス(または id)を入れます。ユーザーに頼まれたときだけ使ってください。オーナー・管理者・開発者が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_users の id(UUID)。 |
confirm | string | はい | ユーザーのメールアドレス(または id)をそのまま。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_users の id(UUID)。"
},
"confirm": {
"type": "string",
"description": "ユーザーのメールアドレス(または id)をそのまま。"
}
},
"required": [
"ref",
"id",
"confirm"
],
"additionalProperties": false
}remove_user_passkey ユーザーのパスキーを削除
破壊的
ユーザー1人のパスキーを1つ削除します。そのパスキーではもうサインインできません。オーナー・管理者・開発者が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
id | string | はい | list_users の id(UUID)。 |
passkey_id | string | はい | list_user_factors の passkeys[].id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"id": {
"type": "string",
"description": "list_users の id(UUID)。"
},
"passkey_id": {
"type": "string",
"description": "list_user_factors の passkeys[].id。"
}
},
"required": [
"ref",
"id",
"passkey_id"
],
"additionalProperties": false
}list_oauth_apps OAuth アプリ一覧
読み取り専用
このプロジェクトを OAuth サーバーとして使って「このサービスでサインイン」する他のアプリ(クライアント)と、OAuth サーバーがオンか、認可・トークン・ユーザー情報のアドレス(endpoints)を返します。シークレットは返しません。オン・オフは update_auth_config の OAUTH_SERVER_ENABLED です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_oauth_app OAuth アプリを作成
追加のみ
このプロジェクトでサインインするアプリ(クライアント)を登録します。public が false(既定)なら client_secret を応答で一度だけ返します。public が true ならシークレットなしで PKCE でサインインするモバイル・SPA のアプリです。リダイレクト URI は https、localhost の http、アプリ固有のスキーム(com.example.app:)だけです。オーナー・管理者・開発者が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
name | string, min length 1, max length 120 | はい | サインイン画面に表示するアプリ名。 |
redirect_uris | array<string>, min items 1, max items 20 | はい | サインイン後に戻るアドレス。 |
public | boolean | いいえ | true ならシークレットのない公開クライアント。既定は false。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 120,
"description": "サインイン画面に表示するアプリ名。"
},
"redirect_uris": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 20,
"description": "サインイン後に戻るアドレス。"
},
"public": {
"type": "boolean",
"description": "true ならシークレットのない公開クライアント。既定は false。"
}
},
"required": [
"ref",
"name",
"redirect_uris"
],
"additionalProperties": false
}reset_oauth_app_secret OAuth アプリのシークレットを作り直す
破壊的
アプリの client_secret を新しく作り、一度だけ表示します。古いシークレットはすぐに使えなくなるので、そのアプリの設定も変える必要があります。オーナー・管理者・開発者が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
client_id | string | はい | list_oauth_apps の client_id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"client_id": {
"type": "string",
"description": "list_oauth_apps の client_id。"
}
},
"required": [
"ref",
"client_id"
],
"additionalProperties": false
}remove_oauth_app OAuth アプリを削除
破壊的
アプリの登録を削除します。そのアプリではもうサインインできません。confirm にアプリ名(client_name)を入れます。オーナー・管理者・開発者が実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
client_id | string | はい | list_oauth_apps の client_id。 |
confirm | string | はい | アプリ名(client_name)をそのまま。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"client_id": {
"type": "string",
"description": "list_oauth_apps の client_id。"
},
"confirm": {
"type": "string",
"description": "アプリ名(client_name)をそのまま。"
}
},
"required": [
"ref",
"client_id",
"confirm"
],
"additionalProperties": false
}list_access_groups アクセスグループ一覧
読み取り専用
組織のメンバーをまとめ、プロジェクトごとに役割(developer・billing・viewer)を与えるアクセスグループと、そのメンバー(メールアドレス)・プロジェクトを返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_access_group アクセスグループを作成
追加のみ
空のアクセスグループを作ります。メンバーとプロジェクトは update_access_group で追加します。組織ごとに50個までです。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
name | string, min length 1, max length 60 | はい | グループ名。 |
description | string | いいえ | 説明(300文字まで)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "グループ名。"
},
"description": {
"type": "string",
"description": "説明(300文字まで)。"
}
},
"required": [
"ref",
"name"
],
"additionalProperties": false
}update_access_group アクセスグループを変更
破壊的
グループの名前、説明、メンバー、プロジェクトごとの役割を変えます。渡したものだけを変えます。members はメンバーのメールアドレスの全体、projects は {ref: 役割} の全体です(developer・billing・viewer、入っていないプロジェクトには与えません)。グループはオーナー・管理者の役割を与えられません。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | list_access_groups の id。 |
name | string, min length 1, max length 60 | いいえ | 新しい名前。 |
description | string | いいえ | 新しい説明。 |
members | array<string> | いいえ | メンバーのメールアドレスのすべて。list_team にいる人だけ。 |
projects | object | いいえ | プロジェクトの ref から役割(developer・billing・viewer、入っていないプロジェクトには与えません)への対応。例: {"abcdefghijklmnopqrst": "developer"}。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "list_access_groups の id。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "新しい名前。"
},
"description": {
"type": "string",
"description": "新しい説明。"
},
"members": {
"type": "array",
"items": {
"type": "string"
},
"description": "メンバーのメールアドレスのすべて。list_team にいる人だけ。"
},
"projects": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"developer",
"billing",
"viewer"
]
},
"description": "プロジェクトの ref から役割(developer・billing・viewer、入っていないプロジェクトには与えません)への対応。例: {\"abcdefghijklmnopqrst\": \"developer\"}。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}remove_access_group アクセスグループを削除
破壊的
アクセスグループを削除します。このグループでプロジェクトを開いていた人はその権限を失います。confirm にグループ名を入れます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | list_access_groups の id。 |
confirm | string | はい | グループ名をそのまま。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "list_access_groups の id。"
},
"confirm": {
"type": "string",
"description": "グループ名をそのまま。"
}
},
"required": [
"ref",
"id",
"confirm"
],
"additionalProperties": false
}get_member_access メンバーのプロジェクトへのアクセス
読み取り専用
メンバー1人が組織のすべてのプロジェクトを開くか(scoped false)、選んだプロジェクトだけか(scoped true)と、プロジェクトごとの役割、入っているアクセスグループを返します。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
email | string | はい | list_team のメンバーのメールアドレス。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"email": {
"type": "string",
"description": "list_team のメンバーのメールアドレス。"
}
},
"required": [
"ref",
"email"
],
"additionalProperties": false
}set_member_access メンバーのプロジェクトへのアクセスを変更
破壊的
scoped false ならメンバーは組織の役割ですべてのプロジェクトを開きます。scoped true なら projects({ref: developer・billing・viewer})とアクセスグループが与えるプロジェクトだけです。オーナー・管理者は絞れません。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
email | string | はい | list_team のメンバーのメールアドレス。 |
scoped | boolean | はい | true なら選んだプロジェクトだけ。 |
projects | object | いいえ | scoped true のときの対応の全体。プロジェクトの ref から役割(developer・billing・viewer、入っていないプロジェクトには与えません)への対応。例: {"abcdefghijklmnopqrst": "developer"}。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"email": {
"type": "string",
"description": "list_team のメンバーのメールアドレス。"
},
"scoped": {
"type": "boolean",
"description": "true なら選んだプロジェクトだけ。"
},
"projects": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"developer",
"billing",
"viewer"
]
},
"description": "scoped true のときの対応の全体。プロジェクトの ref から役割(developer・billing・viewer、入っていないプロジェクトには与えません)への対応。例: {\"abcdefghijklmnopqrst\": \"developer\"}。"
}
},
"required": [
"ref",
"email",
"scoped"
],
"additionalProperties": false
}list_audit_drains 監査ログの送信先一覧
読み取り専用
組織の監査ログをセキュリティツール(https、Datadog、Splunk、syslog)に送る先と、遅れ(behind)、失敗、https の署名キー(signing_secret)、プランで使えるか(allowed)を返します。オーナーと管理者だけが見られます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_audit_drain 監査ログの送信先を作成
追加のみ 外部に届く
これからの監査ログを送る先を追加します。kind: https(署名した JSON)、datadog(secret に API キー)、splunk(HEC のアドレス、secret にトークン)、syslog(syslog+tls://ホスト:ポート)。組織ごとに5個までで、プランに含まれている必要があります。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
name | string, min length 1, max length 60 | はい | 名前。 |
kind | string, https | datadog | splunk | syslog | はい | 送り先の種類: https、datadog、splunk、syslog。 |
url | string | はい | 送り先のアドレス。 |
secret | string | いいえ | Datadog・Splunk のキーやトークン。保存後は末尾4文字だけ表示します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "名前。"
},
"kind": {
"type": "string",
"enum": [
"https",
"datadog",
"splunk",
"syslog"
],
"description": "送り先の種類: https、datadog、splunk、syslog。"
},
"url": {
"type": "string",
"description": "送り先のアドレス。"
},
"secret": {
"type": "string",
"description": "Datadog・Splunk のキーやトークン。保存後は末尾4文字だけ表示します。"
}
},
"required": [
"ref",
"name",
"kind",
"url"
],
"additionalProperties": false
}set_audit_drain_enabled 監査ログの送信先のオン・オフ
破壊的
送信を止めるか、またオンにします。オンにすると止まったところから送ります。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | list_audit_drains の id。 |
enabled | boolean | はい | オンかオフか。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "list_audit_drains の id。"
},
"enabled": {
"type": "boolean",
"description": "オンかオフか。"
}
},
"required": [
"ref",
"id",
"enabled"
],
"additionalProperties": false
}test_audit_drain 監査ログの送信先を試す
追加のみ 外部に届く
作ったテストの記録を1件いま送り、受け手の応答(HTTP ステータス)を返します。実際のログには触れません。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | list_audit_drains の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "list_audit_drains の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}remove_audit_drain 監査ログの送信先を削除
破壊的
送り先を削除します。送った記録は受け手に残ります。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | list_audit_drains の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "list_audit_drains の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}list_org_webhooks 組織の Webhook 一覧
読み取り専用
組織の通知(デプロイ、ドメイン、使用量、支払い)を送る Webhook と署名キー(signing_secret)、選べるイベント(events)を返します。1つのプロジェクトの Webhook は list_project_webhooks です。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}create_org_webhook 組織の Webhook を作成
追加のみ 外部に届く
組織の通知を公開の https アドレスに送る Webhook を作ります。events が空ならすべてのイベント、projects が空ならすべてのプロジェクトと組織自体の通知です。通知チャネルと合わせて組織ごとに20個までです。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
name | string, min length 1, max length 60 | はい | 名前。 |
url | string | はい | 公開の https アドレス。 |
events | array<string>, deployments.deploy-failed | deployments.deploy-ready | deployments.deploy-succeeded | domains.domain-verified | domains.domain-unverified | domains.domain-tls | domains.domain-cert-expiring | usage.usage | billing.charge-paid | billing.charge-failed | billing.no-card | billing.plan | billing.subscription | いいえ | 送るイベント。空ならすべて。 |
projects | array<string> | いいえ | これらのプロジェクトの通知だけ。空ならすべて。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "名前。"
},
"url": {
"type": "string",
"description": "公開の https アドレス。"
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": [
"deployments.deploy-failed",
"deployments.deploy-ready",
"deployments.deploy-succeeded",
"domains.domain-verified",
"domains.domain-unverified",
"domains.domain-tls",
"domains.domain-cert-expiring",
"usage.usage",
"billing.charge-paid",
"billing.charge-failed",
"billing.no-card",
"billing.plan",
"billing.subscription"
]
},
"description": "送るイベント。空ならすべて。"
},
"projects": {
"type": "array",
"items": {
"type": "string"
},
"description": "これらのプロジェクトの通知だけ。空ならすべて。"
}
},
"required": [
"ref",
"name",
"url"
],
"additionalProperties": false
}set_org_webhook_enabled 組織の Webhook のオン・オフ
破壊的
組織の Webhook を止めるか、また送るようにします。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | list_org_webhooks の id。 |
enabled | boolean | はい | オンかオフか。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "list_org_webhooks の id。"
},
"enabled": {
"type": "boolean",
"description": "オンかオフか。"
}
},
"required": [
"ref",
"id",
"enabled"
],
"additionalProperties": false
}test_org_webhook 組織の Webhook を試す
追加のみ 外部に届く
署名したテストイベントを1つ送ります。結果は list_org_webhook_deliveries に表示されます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | list_org_webhooks の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "list_org_webhooks の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}list_org_webhook_deliveries 組織の Webhook の送信記録
読み取り専用
組織の Webhook が送った最近の100件: イベント、プロジェクト、状態(pending・sent・failed)、試行回数、失敗の理由。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | list_org_webhooks の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "list_org_webhooks の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}retry_org_webhook_delivery 組織の Webhook を再送
追加のみ 外部に届く
終わった送信1件を、新しい送信としてもう一度送ります。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
delivery_id | integer, min 1 | はい | list_org_webhook_deliveries の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"delivery_id": {
"type": "integer",
"minimum": 1,
"description": "list_org_webhook_deliveries の id。"
}
},
"required": [
"ref",
"delivery_id"
],
"additionalProperties": false
}remove_org_webhook 組織の Webhook を削除
破壊的
組織の Webhook を削除します。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | list_org_webhooks の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "list_org_webhooks の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}get_committer_settings 外部コミッターの設定
読み取り専用
組織外の人がコミットしたプレビューをすぐビルドするか(policy: auto)、承認を待つか(require)、信頼するコミッター(trusted)、自分が答えられる待機中のプレビュー(waiting)を返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_committer_policy 外部コミッターのポリシーを変更
破壊的
auto なら誰がコミットしてもプレビューをビルドします。require ならメンバーでも信頼するコミッターでもない人のプレビューは承認を待ちます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
policy | string, auto | require | はい | auto か require。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"policy": {
"type": "string",
"enum": [
"auto",
"require"
],
"description": "auto か require。"
}
},
"required": [
"ref",
"policy"
],
"additionalProperties": false
}trust_committer コミッターを信頼
追加のみ
このメールアドレスでコミットしたプレビューは承認なしでビルドされます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
email | string | はい | コミットの作者のメールアドレス。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"email": {
"type": "string",
"description": "コミットの作者のメールアドレス。"
}
},
"required": [
"ref",
"email"
],
"additionalProperties": false
}remove_trusted_committer 信頼するコミッターから外す
破壊的
このメールアドレスの次のプレビューから、また承認を待ちます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
email | string | はい | get_committer_settings の trusted[].email。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"email": {
"type": "string",
"description": "get_committer_settings の trusted[].email。"
}
},
"required": [
"ref",
"email"
],
"additionalProperties": false
}answer_preview_approval 待機中のプレビューに答える
破壊的
外部コミッターのプレビューを approve(ビルド)、trust(ビルドして作者を信頼するコミッターに)、decline(取り消し)します。他人のコードをビルドするので、コードを確認してから承認してください。そのプロジェクトに書き込める人(開発者以上)だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | get_committer_settings の waiting[] の id。 |
verdict | string, approve | trust | decline | はい | approve、trust、decline のいずれか。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "get_committer_settings の waiting[] の id。"
},
"verdict": {
"type": "string",
"enum": [
"approve",
"trust",
"decline"
],
"description": "approve、trust、decline のいずれか。"
}
},
"required": [
"ref",
"id",
"verdict"
],
"additionalProperties": false
}get_org_sso 組織の SSO
読み取り専用
メンバーが会社の ID プロバイダー(Okta、Entra など、OpenID Connect)でコンソールにサインインする設定(シークレットは末尾4文字だけ)、コールバックアドレス、ドメインと確認用の TXT レコードを返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_org_sso 組織の SSO を設定
破壊的 外部に届く
組織の OpenID Connect によるサインインを作るか変えます。渡したものだけを変え、client_secret がなければ今のものを保ちます。issuer か discovery_url を渡すと、残りのアドレスはプロバイダーの文書から読みます。require_sso をオンにするとメンバーは SSO だけでサインインします。ID プロバイダーには get_org_sso の callback_url を登録してください。プランに含まれている必要があります。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
issuer | string | いいえ | 発行者のアドレス(https)。 |
discovery_url | string | いいえ | .../.well-known/openid-configuration のアドレス。 |
authorization_url | string | いいえ | 認可のアドレス。ふつうは空のまま。 |
token_url | string | いいえ | トークンのアドレス。ふつうは空のまま。 |
userinfo_url | string | いいえ | ユーザー情報のアドレス。ふつうは空のまま。 |
jwks_url | string | いいえ | 署名キーのアドレス。ふつうは空のまま。 |
client_id | string | いいえ | クライアント ID。 |
client_secret | string | いいえ | クライアントシークレット。最初は必要です。 |
scopes | string | いいえ | スコープ(スペース区切り)。openid が必要です。既定は openid email profile。 |
default_role | string, admin | developer | billing | viewer | いいえ | SSO で初めて来た人の役割。 |
jit | boolean | いいえ | 初めての人にアカウントを作るか。既定は true。 |
require_sso | boolean | いいえ | メンバーは SSO だけでサインインするか。既定は false。 |
enabled | boolean | いいえ | SSO でのサインインをオンにするか。既定は true。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"issuer": {
"type": "string",
"description": "発行者のアドレス(https)。"
},
"discovery_url": {
"type": "string",
"description": ".../.well-known/openid-configuration のアドレス。"
},
"authorization_url": {
"type": "string",
"description": "認可のアドレス。ふつうは空のまま。"
},
"token_url": {
"type": "string",
"description": "トークンのアドレス。ふつうは空のまま。"
},
"userinfo_url": {
"type": "string",
"description": "ユーザー情報のアドレス。ふつうは空のまま。"
},
"jwks_url": {
"type": "string",
"description": "署名キーのアドレス。ふつうは空のまま。"
},
"client_id": {
"type": "string",
"description": "クライアント ID。"
},
"client_secret": {
"type": "string",
"description": "クライアントシークレット。最初は必要です。"
},
"scopes": {
"type": "string",
"description": "スコープ(スペース区切り)。openid が必要です。既定は openid email profile。"
},
"default_role": {
"type": "string",
"enum": [
"admin",
"developer",
"billing",
"viewer"
],
"description": "SSO で初めて来た人の役割。"
},
"jit": {
"type": "boolean",
"description": "初めての人にアカウントを作るか。既定は true。"
},
"require_sso": {
"type": "boolean",
"description": "メンバーは SSO だけでサインインするか。既定は false。"
},
"enabled": {
"type": "boolean",
"description": "SSO でのサインインをオンにするか。既定は true。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}remove_org_sso 組織の SSO を削除
破壊的
組織の SSO 接続を削除します。メンバーはパスワードやほかの方法でサインインします。confirm に issuer を入れます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
confirm | string | はい | get_org_sso の connection.issuer をそのまま。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"confirm": {
"type": "string",
"description": "get_org_sso の connection.issuer をそのまま。"
}
},
"required": [
"ref",
"confirm"
],
"additionalProperties": false
}add_org_sso_domain 組織の SSO ドメインを追加
追加のみ
このドメインのメールアドレスでサインインする人を組織の SSO に送ります。応答の txt_record を DNS に追加し、verify_org_sso_domain で確認すると使われます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
domain | string | はい | 例: example.com。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"domain": {
"type": "string",
"description": "例: example.com。"
}
},
"required": [
"ref",
"domain"
],
"additionalProperties": false
}verify_org_sso_domain 組織の SSO ドメインを確認
破壊的 外部に届く
DNS で TXT レコードを探してドメインを確認します。確認できると、このドメインの人は組織の SSO でサインインします。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | get_org_sso の domains[] の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "get_org_sso の domains[] の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}remove_org_sso_domain 組織の SSO ドメインを削除
破壊的
ドメインを削除します。このドメインの人は SSO に送られなくなります。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
id | string | はい | get_org_sso の domains[] の id。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"id": {
"type": "string",
"description": "get_org_sso の domains[] の id。"
}
},
"required": [
"ref",
"id"
],
"additionalProperties": false
}get_org_policies 組織のデプロイポリシー
読み取り専用
新しいプロジェクトの既定のデプロイ保護(default_protection、default_scope)、デプロイを始められる経路(allow_git・cli・api・hooks)、ブランチプレビュー、プレビュードメイン(preview_suffix)と確認用の TXT レコードを返します。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_org_policies 組織のデプロイポリシーを変更
破壊的
組織のデプロイポリシーを変えます。渡したものだけを変えます。default_protection・default_scope は新しいプロジェクトの既定値で、既存のプロジェクトはそのままです。allow_* をオフにすると、その経路で始めたデプロイは拒否されます(allow_api は MCP も含み、コンソールのデプロイボタンはいつでも使えます)。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
default_protection | string, members | off | いいえ | 新しいプロジェクトのプレビューを誰が見られるか。 |
default_scope | string, previews | generated | all | いいえ | 新しいプロジェクトで保護するアドレス。 |
allow_git | boolean | いいえ | Git プッシュでデプロイ。 |
allow_cli | boolean | いいえ | CLI でデプロイ。 |
allow_api | boolean | いいえ | API・MCP でデプロイ。 |
allow_hooks | boolean | いいえ | デプロイフックでデプロイ。 |
branch_previews | boolean | いいえ | ブランチへのプッシュごとにプレビューをビルド。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"default_protection": {
"type": "string",
"enum": [
"members",
"off"
],
"description": "新しいプロジェクトのプレビューを誰が見られるか。"
},
"default_scope": {
"type": "string",
"enum": [
"previews",
"generated",
"all"
],
"description": "新しいプロジェクトで保護するアドレス。"
},
"allow_git": {
"type": "boolean",
"description": "Git プッシュでデプロイ。"
},
"allow_cli": {
"type": "boolean",
"description": "CLI でデプロイ。"
},
"allow_api": {
"type": "boolean",
"description": "API・MCP でデプロイ。"
},
"allow_hooks": {
"type": "boolean",
"description": "デプロイフックでデプロイ。"
},
"branch_previews": {
"type": "boolean",
"description": "ブランチへのプッシュごとにプレビューをビルド。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}set_preview_suffix プレビュードメインを設定
破壊的
組織のプレビューを自分のドメインの下(例: preview.example.com)でも開きます。応答の preview_suffix_record を DNS に追加し、verify_preview_suffix で確認すると使われます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
suffix | string | はい | 例: preview.example.com。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
},
"suffix": {
"type": "string",
"description": "例: preview.example.com。"
}
},
"required": [
"ref",
"suffix"
],
"additionalProperties": false
}verify_preview_suffix プレビュードメインを確認
破壊的 外部に届く
DNS で TXT レコードを探してプレビュードメインを確認します。まだなければ数分後にもう一度呼んでください。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}remove_preview_suffix プレビュードメインを削除
破壊的
プレビュードメインを削除します。プレビューはプラットフォームのアドレスだけで開きます。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | 組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}get_server 専用サーバー
読み取り専用
プロジェクトの専用サーバーを表示します: サイズ(tier)、場所、状態、アドレス、月額、待機サーバー、自動切り替え、復元できる期間、次に移動できる日、進行中の作業(jobs)。server が null なら共用サーバーを使っています。offered が false ならまだ提供していません。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | read |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | GET /projects/{ref}/server |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
}
},
"required": [
"ref"
],
"additionalProperties": false
}request_server 専用サーバーを借りる
破壊的
このプロジェクトだけが使うサーバーを借ります。サイズと場所ごとの月額は先に list_server_sizes で見せ、ユーザーが選んだものだけを渡してください。通常 10 分以内に準備でき、データベースとアプリを移してからアドレスを切り替えます。Pro プランから。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/server |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
tier | string, pattern ^[0-9]+gb$ | はい | サーバーサイズ。list_server_sizes の tier(例: 4gb)。 |
region | string, pattern ^[a-z]{2}-[a-z]+-[0-9]$ | いいえ | 場所。省略するとプロジェクトの場所。list_server_sizes の region。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"tier": {
"type": "string",
"pattern": "^[0-9]+gb$",
"description": "サーバーサイズ。list_server_sizes の tier(例: 4gb)。"
},
"region": {
"type": "string",
"pattern": "^[a-z]{2}-[a-z]+-[0-9]$",
"description": "場所。省略するとプロジェクトの場所。list_server_sizes の region。"
}
},
"required": [
"ref",
"tier"
],
"additionalProperties": false
}resize_server サーバーサイズを変更
破壊的
専用サーバーのサイズを変更します。when=now は今すぐ、tonight はサーバーの場所の時刻で 3〜5 時。待機サーバーがなければ 3〜5 分応答せず、あれば切り替えの数秒だけ止まります。サイズ変更は無料で、月額は新しいサイズの価格です(list_server_sizes)。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PATCH /projects/{ref}/server |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
tier | string, pattern ^[0-9]+gb$ | はい | サーバーサイズ。list_server_sizes の tier(例: 4gb)。 |
when | string, now | tonight | いいえ | now(既定)または tonight(3〜5 時)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"tier": {
"type": "string",
"pattern": "^[0-9]+gb$",
"description": "サーバーサイズ。list_server_sizes の tier(例: 4gb)。"
},
"when": {
"type": "string",
"enum": [
"now",
"tonight"
],
"description": "now(既定)または tonight(3〜5 時)。"
}
},
"required": [
"ref",
"tier"
],
"additionalProperties": false
}set_standby 待機サーバー
破壊的
同じ場所・同じサイズの待機サーバーをオンまたはオフにします。データベースを継続的に複製し、月額はそのサイズと同じです(list_server_sizes)。auto_failover=true なら、主サーバーが 60 秒応答しないとき自動で待機サーバーに切り替えます(待機サーバーが必要)。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/server/standby |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
standby | boolean | はい | 待機サーバーを置くかどうか。 |
auto_failover | boolean | いいえ | 自動切り替え。既定は false。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"standby": {
"type": "boolean",
"description": "待機サーバーを置くかどうか。"
},
"auto_failover": {
"type": "boolean",
"description": "自動切り替え。既定は false。"
}
},
"required": [
"ref",
"standby"
],
"additionalProperties": false
}move_server サーバーの場所を移動
破壊的
専用サーバーを別の場所に移します。無料で月に 1 回です(next_move_at)。新しい場所にサーバーを作って複製し、アドレスを切り替える瞬間に書き込みが数秒止まります。古いサーバーは 7 日間残します。月額は新しい場所の価格です(list_server_sizes)。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | POST /projects/{ref}/server/move |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
region | string, pattern ^[a-z]{2}-[a-z]+-[0-9]$ | はい | 場所。list_server_sizes の region(例: kr-seoul-1)。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"region": {
"type": "string",
"pattern": "^[a-z]{2}-[a-z]+-[0-9]$",
"description": "場所。list_server_sizes の region(例: kr-seoul-1)。"
}
},
"required": [
"ref",
"region"
],
"additionalProperties": false
}release_server 専用サーバーを返却
破壊的
専用サーバーを返却します: 最後のバックアップを取り、データベースとアプリを共用サーバーに移してから、サーバー(と待機サーバー)を削除します。移動中は書き込みが止まります。ユーザーが求めたときだけ使い、confirm に ref をそのまま入れてください。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | DELETE /projects/{ref}/server |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
confirm | string | はい | プロジェクト ID(ref)。ref と同じである必要があります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"confirm": {
"type": "string",
"description": "プロジェクト ID(ref)。ref と同じである必要があります。"
}
},
"required": [
"ref",
"confirm"
],
"additionalProperties": false
}set_restore_days 復元できる期間
破壊的
特定の時刻に戻せる期間を 7 日または 28 日にします。28 日は専用サーバーでのみ使え、月額の追加料金があります(get_server の options、get_billing)。オーナーと管理者だけが実行できます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | write |
| ロール | project.admin オーナーまたは管理者 |
| コンソールのアシスタントによる確認 | 確認しません |
| REST | PUT /projects/{ref}/server/restore-days |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
ref | string, pattern ^[a-z]{20}$ | はい | プロジェクト識別子です。list_projectsで確認できます。 |
days | integer, 7 | 28 | はい | 7 または 28。 |
JSON スキーマ
{
"type": "object",
"properties": {
"ref": {
"type": "string",
"pattern": "^[a-z]{20}$",
"description": "プロジェクト識別子です。list_projectsで確認できます。"
},
"days": {
"type": "integer",
"enum": [
7,
28
],
"description": "7 または 28。"
}
},
"required": [
"ref",
"days"
],
"additionalProperties": false
}list_platform_settings プラットフォーム設定
読み取り専用
運営者が再デプロイなしで変えられるプラットフォーム設定(他のサーバーからの移行に使う Supabase OAuth アプリの 2 つの値と、サーバー変更リクエストのスイッチ)ごとに、値が有効か(set)、どこから来るか(source: env はサーバー環境、stored は保存した値)、保存した値があるか(stored)、最後に保存した日時(updated_at)と人(updated_by)を返します。値は決して返しません。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}set_platform_setting プラットフォーム設定を保存
破壊的
プラットフォーム設定 1 つの値を封印して保存します。再デプロイなしで 30 秒以内に反映されます。サーバー環境に同じ設定があるときは環境の値が優先されます(list_platform_settings の source)。値は二度と表示せず、誰が変えたかだけが監査ログに残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
key | string, BLACKWALL_IMPORT_SUPABASE_CLIENT_ID | BLACKWALL_IMPORT_SUPABASE_CLIENT_SECRET | BLACKWALL_SERVER_REQUESTS | BLACKWALL_SERVER_NIGHT_UPSCALE | BLACKWALL_SERVER_REQUESTS_REPO | BLACKWALL_POOL_URL | BLACKWALL_POOL_SECRET | BLACKWALL_POOL_LABEL | BLACKWALL_CI_POOL | BLACKWALL_FUNCTION_AGENTS | BLACKWALL_FUNCTION_HOST | BLACKWALL_APP_AGENTS | BLACKWALL_APP_HOST | BLACKWALL_PROJECT_NETWORKS | BLACKWALL_PROJECT_DISK_LIMITS | BLACKWALL_PROJECT_SLICES | BLACKWALL_SERVER_AUTOSCALE | BLACKWALL_PROJECT_READS_PER_MINUTE | BLACKWALL_PROJECT_WRITES_PER_MINUTE | BLACKWALL_PARKING_HOSTS | BLACKWALL_BUILD_CACHE_BUCKET | はい | 設定名。list_platform_settings が返します。 |
value | string, min length 1, max length 2000 | はい | 保存する値。空白なしの 1 行。 |
JSON スキーマ
{
"type": "object",
"properties": {
"key": {
"type": "string",
"enum": [
"BLACKWALL_IMPORT_SUPABASE_CLIENT_ID",
"BLACKWALL_IMPORT_SUPABASE_CLIENT_SECRET",
"BLACKWALL_SERVER_REQUESTS",
"BLACKWALL_SERVER_NIGHT_UPSCALE",
"BLACKWALL_SERVER_REQUESTS_REPO",
"BLACKWALL_POOL_URL",
"BLACKWALL_POOL_SECRET",
"BLACKWALL_POOL_LABEL",
"BLACKWALL_CI_POOL",
"BLACKWALL_FUNCTION_AGENTS",
"BLACKWALL_FUNCTION_HOST",
"BLACKWALL_APP_AGENTS",
"BLACKWALL_APP_HOST",
"BLACKWALL_PROJECT_NETWORKS",
"BLACKWALL_PROJECT_DISK_LIMITS",
"BLACKWALL_PROJECT_SLICES",
"BLACKWALL_SERVER_AUTOSCALE",
"BLACKWALL_PROJECT_READS_PER_MINUTE",
"BLACKWALL_PROJECT_WRITES_PER_MINUTE",
"BLACKWALL_PARKING_HOSTS",
"BLACKWALL_BUILD_CACHE_BUCKET"
],
"description": "設定名。list_platform_settings が返します。"
},
"value": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "保存する値。空白なしの 1 行。"
}
},
"required": [
"key",
"value"
],
"additionalProperties": false
}clear_platform_setting プラットフォーム設定を削除
破壊的
保存した値を削除します。サーバー環境に同じ設定があるときは、その値がそのまま使われます。保存した値がなければ何も変わりません。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
key | string, BLACKWALL_IMPORT_SUPABASE_CLIENT_ID | BLACKWALL_IMPORT_SUPABASE_CLIENT_SECRET | BLACKWALL_SERVER_REQUESTS | BLACKWALL_SERVER_NIGHT_UPSCALE | BLACKWALL_SERVER_REQUESTS_REPO | BLACKWALL_POOL_URL | BLACKWALL_POOL_SECRET | BLACKWALL_POOL_LABEL | BLACKWALL_CI_POOL | BLACKWALL_FUNCTION_AGENTS | BLACKWALL_FUNCTION_HOST | BLACKWALL_APP_AGENTS | BLACKWALL_APP_HOST | BLACKWALL_PROJECT_NETWORKS | BLACKWALL_PROJECT_DISK_LIMITS | BLACKWALL_PROJECT_SLICES | BLACKWALL_SERVER_AUTOSCALE | BLACKWALL_PROJECT_READS_PER_MINUTE | BLACKWALL_PROJECT_WRITES_PER_MINUTE | BLACKWALL_PARKING_HOSTS | BLACKWALL_BUILD_CACHE_BUCKET | はい | 設定名。list_platform_settings が返します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"key": {
"type": "string",
"enum": [
"BLACKWALL_IMPORT_SUPABASE_CLIENT_ID",
"BLACKWALL_IMPORT_SUPABASE_CLIENT_SECRET",
"BLACKWALL_SERVER_REQUESTS",
"BLACKWALL_SERVER_NIGHT_UPSCALE",
"BLACKWALL_SERVER_REQUESTS_REPO",
"BLACKWALL_POOL_URL",
"BLACKWALL_POOL_SECRET",
"BLACKWALL_POOL_LABEL",
"BLACKWALL_CI_POOL",
"BLACKWALL_FUNCTION_AGENTS",
"BLACKWALL_FUNCTION_HOST",
"BLACKWALL_APP_AGENTS",
"BLACKWALL_APP_HOST",
"BLACKWALL_PROJECT_NETWORKS",
"BLACKWALL_PROJECT_DISK_LIMITS",
"BLACKWALL_PROJECT_SLICES",
"BLACKWALL_SERVER_AUTOSCALE",
"BLACKWALL_PROJECT_READS_PER_MINUTE",
"BLACKWALL_PROJECT_WRITES_PER_MINUTE",
"BLACKWALL_PARKING_HOSTS",
"BLACKWALL_BUILD_CACHE_BUCKET"
],
"description": "設定名。list_platform_settings が返します。"
}
},
"required": [
"key"
],
"additionalProperties": false
}list_platform_servers プラットフォームサーバー一覧
読み取り専用
当社のサーバー(サービスサーバー・ビルドサーバー・Actions マシンプール・常時稼働の Actions マシン・データベース待機サーバー・固定送信元アドレス・バックアップ保存先)ごとに、現在のサイズ、直近 24 時間の使用率、月額原価(USD)、引き上げ・引き下げで依頼される変更(raise、lower)、進行中と最近の依頼を返します。マシンは Google から直接読み取ります(machines: 名前・ゾーン・状態・サイズ・最終起動)。source が unread の行は Google が応答しなかった行で、理由は read_error にあります。quota はプロジェクトの CPU 割り当てと使用量(全リージョン、asia-northeast3、us-west1)です。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}get_platform_cpu_history サービスサーバーの CPU 履歴
読み取り専用
サービスサーバーの最近の CPU を 1 分ごとの記録(host_samples)から読みます。区間ごとの平均と最大(buckets)、80% と 95% 以上だった分数・回数・最長の連続時間とその開始時刻(over)を返します。サーバーを上げるか判断する前に、どのくらいの頻度で、どのくらい混むかを見るために使います。samples が expected_samples よりかなり少なければ、その間は記録がありません。記録は 48 時間分です。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
hours | integer, min 1, max 48 | いいえ | 何時間前から。既定は 24。 |
bucket_minutes | integer, min 1, max 60 | いいえ | 区間の長さ(分)。既定は 5。 |
JSON スキーマ
{
"type": "object",
"properties": {
"hours": {
"type": "integer",
"minimum": 1,
"maximum": 48,
"description": "何時間前から。既定は 24。"
},
"bucket_minutes": {
"type": "integer",
"minimum": 1,
"maximum": 60,
"description": "区間の長さ(分)。既定は 5。"
}
},
"additionalProperties": false
}request_platform_server_change プラットフォームサーバーの変更を依頼
破壊的
サーバー 1 台の変更を依頼します: サービスサーバーのサイズ(main、resize)、ビルドサーバーのオン・オフ・サイズ(build)、データベース待機サーバーのオン・オフ(standby)、別リージョンのバックアップコピー(backup、replica)、名前で指定したマシンの起動・停止・サイズ変更(vm)、常時稼働の Actions マシンの廃止(runner、retire: 5 つのリポジトリの RUNNER 変数を先に削除・確認してから停止)、Actions マシンプールの整理(pool、reset: オンなのにチェックを実行していないマシンをすべて停止)、チェック用マシンのイメージ作成(pool、bake: 一時マシンを startup.sh で準備してイメージファミリー oneserver-pool にし、マシンは削除)、Cloud NAT の作成(network、nat: リージョンのルーターと NAT がなければ作成)、ビルドマシンのイメージ作成(build-image、bake: 一時マシンに docker・node・プラットフォーム・ビルドイメージを入れてイメージファミリー blackwall-build にし、マシンは削除。新しいビルドマシンはそのイメージですぐ起動)。リコンサイラーが deploy ワークフローで、vm・runner・pool・network・build-image はこのサーバーのサービスアカウントで実行します。サービスサーバーのサイズ変更は全サイトが 3〜5 分止まるため confirm=true が必要で、when=now でなければ今夜(韓国時間 03:00〜05:00)に実行します。サーバーごとに未完了の依頼は 1 つまでです。BLACKWALL_SERVER_REQUESTS=on のときだけ使えます。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
server | string, main | build | standby | backup | vm | runner | pool | network | build-image | はい | 変更するサーバー。 |
action | string, resize | on | off | replica | start | stop | retire | reset | nat | bake | はい | main は resize、build は on・off・resize、standby は on・off、backup は replica、vm は start・stop・resize、runner は retire、pool は reset・bake、network は nat、build-image は bake。 |
region | string, us-west1 | いいえ | network nat のリージョン。既定は us-west1(Actions マシンプールのリージョン)。 |
to | string, e2-medium | e2-standard-2 | e2-standard-4 | e2-standard-8 | いいえ | resize の新しいサイズ。 |
instance | string | いいえ | vm のマシン名: blackwall-build、blackwall-db-standby、oneserver-runner、oneserver-pool-1〜6。 |
zone | string | いいえ | vm のゾーン。空ならそのマシンの既定ゾーン。 |
repos | array<string> | いいえ | runner retire で RUNNER を削除するリポジトリ(owner/name)。空なら 5 つ。 |
when | string, now | tonight | いいえ | now、または tonight(韓国時間 03:00〜05:00)。main は tonight、その他は now が既定です。 |
confirm | boolean | いいえ | main の resize に必要です: 3〜5 分の停止を承知している意味です。 |
no_downtime | boolean | いいえ | 停止なしで main をリサイズ。健全な待機サーバーとサイトを受ける 2 台目のサーバーが必要なため、現在は拒否されます。 |
location | string | いいえ | バックアップコピーのリージョン。既定は us-west1(オレゴン)、none でコピーを止めます。 |
reason | string, max length 300 | いいえ | 理由。監査ログに残ります。 |
JSON スキーマ
{
"type": "object",
"properties": {
"server": {
"type": "string",
"enum": [
"main",
"build",
"standby",
"backup",
"vm",
"runner",
"pool",
"network",
"build-image"
],
"description": "変更するサーバー。"
},
"action": {
"type": "string",
"enum": [
"resize",
"on",
"off",
"replica",
"start",
"stop",
"retire",
"reset",
"nat",
"bake"
],
"description": "main は resize、build は on・off・resize、standby は on・off、backup は replica、vm は start・stop・resize、runner は retire、pool は reset・bake、network は nat、build-image は bake。"
},
"region": {
"type": "string",
"enum": [
"us-west1"
],
"description": "network nat のリージョン。既定は us-west1(Actions マシンプールのリージョン)。"
},
"to": {
"type": "string",
"enum": [
"e2-medium",
"e2-standard-2",
"e2-standard-4",
"e2-standard-8"
],
"description": "resize の新しいサイズ。"
},
"instance": {
"type": "string",
"description": "vm のマシン名: blackwall-build、blackwall-db-standby、oneserver-runner、oneserver-pool-1〜6。"
},
"zone": {
"type": "string",
"description": "vm のゾーン。空ならそのマシンの既定ゾーン。"
},
"repos": {
"type": "array",
"items": {
"type": "string"
},
"description": "runner retire で RUNNER を削除するリポジトリ(owner/name)。空なら 5 つ。"
},
"when": {
"type": "string",
"enum": [
"now",
"tonight"
],
"description": "now、または tonight(韓国時間 03:00〜05:00)。main は tonight、その他は now が既定です。"
},
"confirm": {
"type": "boolean",
"description": "main の resize に必要です: 3〜5 分の停止を承知している意味です。"
},
"no_downtime": {
"type": "boolean",
"description": "停止なしで main をリサイズ。健全な待機サーバーとサイトを受ける 2 台目のサーバーが必要なため、現在は拒否されます。"
},
"location": {
"type": "string",
"description": "バックアップコピーのリージョン。既定は us-west1(オレゴン)、none でコピーを止めます。"
},
"reason": {
"type": "string",
"maxLength": 300,
"description": "理由。監査ログに残ります。"
}
},
"required": [
"server",
"action"
],
"additionalProperties": false
}get_platform_server_request プラットフォームサーバー変更依頼の確認
読み取り専用
依頼 1 件の状態(queued、dispatched、done、failed、refused、canceled)、これまでの記録、ワークフロー実行のアドレス(run_url)を返します。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | はい | 依頼 ID。request_platform_server_change と list_platform_servers が返します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "依頼 ID。request_platform_server_change と list_platform_servers が返します。"
}
},
"required": [
"id"
],
"additionalProperties": false
}cancel_platform_server_request プラットフォームサーバー変更依頼の取り消し
破壊的
まだ開始していない(queued)依頼を取り消します。開始済みの依頼は GitHub の実行画面で止めます。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | はい | 依頼 ID。request_platform_server_change と list_platform_servers が返します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "依頼 ID。request_platform_server_change と list_platform_servers が返します。"
}
},
"required": [
"id"
],
"additionalProperties": false
}list_github_variables GitHub リポジトリ変数一覧
読み取り専用
プラットフォームの GitHub App がインストールされたリポジトリの Actions 変数(vars.RUNNER など)を、値と変更日時とともに返します。App に Variables の権限がないときは付与方法を案内します。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
repo | string, pattern ^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$ | はい | リポジトリ owner/name。例: Blackkyle8/BlackAll。 |
JSON スキーマ
{
"type": "object",
"properties": {
"repo": {
"type": "string",
"pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$",
"description": "リポジトリ owner/name。例: Blackkyle8/BlackAll。"
}
},
"required": [
"repo"
],
"additionalProperties": false
}set_github_variable GitHub リポジトリ変数を保存
破壊的
リポジトリの Actions 変数を 1 つ保存します(なければ作成)。誰がどのリポジトリのどの変数を変えたかが監査ログに残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
repo | string, pattern ^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$ | はい | リポジトリ owner/name。例: Blackkyle8/BlackAll。 |
name | string, pattern ^[A-Za-z_][A-Za-z0-9_]*$ | はい | 変数名。例: RUNNER。 |
value | string, max length 48000 | はい | 値。 |
JSON スキーマ
{
"type": "object",
"properties": {
"repo": {
"type": "string",
"pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$",
"description": "リポジトリ owner/name。例: Blackkyle8/BlackAll。"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
"description": "変数名。例: RUNNER。"
},
"value": {
"type": "string",
"maxLength": 48000,
"description": "値。"
}
},
"required": [
"repo",
"name",
"value"
],
"additionalProperties": false
}delete_github_variable GitHub リポジトリ変数を削除
破壊的
リポジトリの Actions 変数を 1 つ削除します。例: RUNNER を削除するとそのリポジトリのチェックは GitHub のマシン(ubuntu-latest)で動きます。監査ログに残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
repo | string, pattern ^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$ | はい | リポジトリ owner/name。例: Blackkyle8/BlackAll。 |
name | string, pattern ^[A-Za-z_][A-Za-z0-9_]*$ | はい | 変数名。例: RUNNER。 |
JSON スキーマ
{
"type": "object",
"properties": {
"repo": {
"type": "string",
"pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$",
"description": "リポジトリ owner/name。例: Blackkyle8/BlackAll。"
},
"name": {
"type": "string",
"pattern": "^[A-Za-z_][A-Za-z0-9_]*$",
"description": "変数名。例: RUNNER。"
}
},
"required": [
"repo",
"name"
],
"additionalProperties": false
}list_platform_operators 運営者一覧
読み取り専用
運営者のアドレスごとに、出どころ(source: env はサーバー環境の BLACKWALL_OPERATOR_EMAILS、stored は運営者が追加したもの)と、誰がいつ追加したかを返します。運営者ツールを使うには、リストに加えてそのアカウントの 2 段階認証がオンである必要があります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}add_platform_operator 運営者を追加
破壊的
アドレスを 1 つ運営者リストに追加します。再デプロイなしで 30 秒以内に反映され、監査ログに残ります。すでにあれば何も変わりません。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
email | string, max length 320 | はい | アドレス。例: [email protected]。 |
JSON スキーマ
{
"type": "object",
"properties": {
"email": {
"type": "string",
"maxLength": 320,
"description": "アドレス。例: [email protected]。"
}
},
"required": [
"email"
],
"additionalProperties": false
}remove_platform_operator 運営者を削除
破壊的
運営者が追加した(source stored)アドレスを 1 つリストから外します。サーバー環境にあるアドレスと自分のアドレスはここでは外せません。監査ログに残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
email | string, max length 320 | はい | アドレス。例: [email protected]。 |
JSON スキーマ
{
"type": "object",
"properties": {
"email": {
"type": "string",
"maxLength": 320,
"description": "アドレス。例: [email protected]。"
}
},
"required": [
"email"
],
"additionalProperties": false
}list_platform_runs プラットフォームのワークフロー実行一覧
読み取り専用
One Server リポジトリの checks、deploy、ops、static-egress ワークフローの最近の実行を新しい順に返します: id、status、conclusion、age_minutes、url。15 分を超えてマシンを待っている(queued)実行は stuck: true です。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
workflow | string, checks.yml | deploy.yml | ops.yml | static-egress.yml | いいえ | 1 つのワークフローだけ。空なら 4 つすべて。 |
per_workflow | integer, min 1, max 20 | いいえ | ワークフローごとの件数。既定は 5。 |
JSON スキーマ
{
"type": "object",
"properties": {
"workflow": {
"type": "string",
"enum": [
"checks.yml",
"deploy.yml",
"ops.yml",
"static-egress.yml"
],
"description": "1 つのワークフローだけ。空なら 4 つすべて。"
},
"per_workflow": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"description": "ワークフローごとの件数。既定は 5。"
}
},
"additionalProperties": false
}cancel_platform_run プラットフォームのワークフロー実行を取り消し
破壊的
終わっていない実行を 1 つ取り消します。デプロイ中の実行を取り消すと、そのデプロイが途中の状態で残ることがあります。監査ログに残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 常に確認します |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
id | integer, min 1 | はい | 実行 ID。list_platform_runs が返します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "実行 ID。list_platform_runs が返します。"
}
},
"required": [
"id"
],
"additionalProperties": false
}rerun_platform_run プラットフォームのワークフローを再実行
破壊的
終わった実行を 1 つもう一度動かします。failed_only=true なら失敗したジョブだけです。監査ログに残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
id | integer, min 1 | はい | 実行 ID。list_platform_runs が返します。 |
failed_only | boolean | いいえ | 失敗したジョブだけ。既定は false。 |
JSON スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"minimum": 1,
"description": "実行 ID。list_platform_runs が返します。"
},
"failed_only": {
"type": "boolean",
"description": "失敗したジョブだけ。既定は false。"
}
},
"required": [
"id"
],
"additionalProperties": false
}list_platform_checks プラットフォームのチェック一覧
読み取り専用
One Server が GitHub Actions なしで自前で動かすリポジトリのチェック(BLACKWALL_OWN_CI)の最近の実行を新しい順に返します: kind(main、pr、merge)、commit、state、ジョブごとの state・step・machine、broke_main(main を壊したコミット)、had_stuck(止まったマシンを再実行した)。いま動いているコントローラー(controller: seoul または tokyo)と、通ったらマージの待ち(merge_when_green)も返します。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
limit | integer, min 1, max 50 | いいえ | 件数。既定は 20。 |
JSON スキーマ
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "件数。既定は 20。"
}
},
"additionalProperties": false
}set_merge_when_green 通ったらマージ
破壊的
プラットフォームのリポジトリのプルリクエストを 1 つ、通ったらマージの待ちに入れる(enabled=true)か外します(false)。待っているプルリクエストを main の上にまとめてチェックし、通れば入れた順にマージします。失敗したら半分に分けて再チェックし、原因の 1 つを差し戻して残りをマージします。main と衝突するものは衝突したファイル名とともに差し戻します。監査ログに残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
pr | integer, min 1 | はい | プルリクエスト番号。例: 431。 |
enabled | boolean | はい | true で入れ、false で外します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"pr": {
"type": "integer",
"minimum": 1,
"description": "プルリクエスト番号。例: 431。"
},
"enabled": {
"type": "boolean",
"description": "true で入れ、false で外します。"
}
},
"required": [
"pr",
"enabled"
],
"additionalProperties": false
}get_ci_machines チェック用マシン
読み取り専用
チェックとデプロイを動かすマシンを返します: 常時稼働のデプロイマシン(oneserver-runner)、Actions マシンプール(oneserver-pool-N)、自前のチェックの東京待機コントローラー(oneserver-ci-standby)。マシンごとに status、zone、last_start、registration(GitHub ランナーの登録状態)、last_job(最後に受けたジョブ)と、いま動いているチェックのコントローラー(controller)です。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}restart_ci_machine チェック用マシンを再起動
破壊的
チェック用マシンを 1 台再起動します(Google の reset、電源ボタンと同じ)。そのマシンで動いていたジョブは途切れます。oneserver-runner、oneserver-pool-<番号>、oneserver-ci-standby だけで、ほかの名前は Google に問い合わせる前に拒否します。監査ログに残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
name | string, pattern ^(oneserver-runner(-[a-z0-9-]+)?|oneserver-pool-[0-9]+|oneserver-ci-standby)$ | はい | マシン名。例: oneserver-runner。get_ci_machines が返します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^(oneserver-runner(-[a-z0-9-]+)?|oneserver-pool-[0-9]+|oneserver-ci-standby)$",
"description": "マシン名。例: oneserver-runner。get_ci_machines が返します。"
}
},
"required": [
"name"
],
"additionalProperties": false
}renew_ci_registration チェック用マシンを再登録
破壊的
マシンの GitHub ランナーを、プラットフォームの GitHub App のトークンで登録し直します(個人のトークンなし)。oneserver-runner はリポジトリごとに新しい登録トークンを受けて再起動し、oneserver-pool-<番号> は残った登録を消して停止し、コントローラーが新しく登録します。監査ログに残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
name | string, pattern ^(oneserver-runner(-[a-z0-9-]+)?|oneserver-pool-[0-9]+|oneserver-ci-standby)$ | はい | マシン名。例: oneserver-runner。get_ci_machines が返します。 |
JSON スキーマ
{
"type": "object",
"properties": {
"name": {
"type": "string",
"pattern": "^(oneserver-runner(-[a-z0-9-]+)?|oneserver-pool-[0-9]+|oneserver-ci-standby)$",
"description": "マシン名。例: oneserver-runner。get_ci_machines が返します。"
}
},
"required": [
"name"
],
"additionalProperties": false
}set_up_build_cache_bucket ビルドキャッシュ用バケットの用意
破壊的
ビルドキャッシュ専用の Google Cloud Storage バケットを、ビルドマシンのあるリージョンに作り(無い場合のみ)、14 日後に削除するルールを設定し、ビルドマシンのサービスアカウントに作成と読み取りだけを許可し(削除は許可しません)、プラットフォーム設定 BLACKWALL_BUILD_CACHE_BUCKET に保存します。名前はプロジェクトとリージョンから決まります(指定できません)。リージョンは asia-northeast1(東京)・asia-northeast3(ソウル)・us-west1(オレゴン)のみ。再度呼んでも何も変わりません。本体サーバーの Google アカウントにバケット作成権限が無い場合は 403 で止まり、コンソールで付与する権限を伝えます。ビルドマシンが使えると確認できるまで設定は保存しません。オペレーター専用です。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
region | string, asia-northeast1 | asia-northeast3 | us-west1 | はい | ビルドマシンのあるリージョン。プールが東京なら asia-northeast1。 |
service_account | string, max length 320 | いいえ | 権限を付与するサービスアカウント。空なら blackwall-build テンプレートマシンのアカウント。 |
JSON スキーマ
{
"type": "object",
"properties": {
"region": {
"type": "string",
"enum": [
"asia-northeast1",
"asia-northeast3",
"us-west1"
],
"description": "ビルドマシンのあるリージョン。プールが東京なら asia-northeast1。"
},
"service_account": {
"type": "string",
"maxLength": 320,
"description": "権限を付与するサービスアカウント。空なら blackwall-build テンプレートマシンのアカウント。"
}
},
"required": [
"region"
],
"additionalProperties": false
}get_platform_overview プラットフォーム全体の状況
読み取り専用
プラットフォーム全体を一度に返します: 組織とプロジェクトの数(状態別・プラン別)、準備ができていないプロジェクト、顧客サーバーとその作業(待機・実行中・直近 7 日の失敗、id と経過分)、専用ディスク・専用サーバーの依頼(dedicated_requests: id、target disk・vm、状態、経過分)、直近 24 時間のデプロイ(状態別、失敗、30 分を超えて止まったもの)、チェック用マシンの要約(ci_machines)、サーバー販売のスイッチ、そして対応が必要なものの一覧(attention: what、id、detail、age_minutes、next_tool)。何も変更しません。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}find_customer 顧客を探す
読み取り専用
アドレス(メール)、組織 id、ユーザー id、プロジェクトの ref・id、ドメイン、組織やプロジェクトの名前で組織を探します(最大 10 件)。組織ごとに matched_by、オーナーのアドレス、プラン、状態、停止の有無を、プロジェクトごとに状態、リージョン、最後のデプロイ、ドメイン、顧客サーバー、進行中の専用依頼を返します。何も変更しません。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
query | string, min length 2, max length 320 | はい | 探すもの。例: [email protected]、プロジェクトの ref、example.com、組織名。 |
JSON スキーマ
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 320,
"description": "探すもの。例: [email protected]、プロジェクトの ref、example.com、組織名。"
}
},
"required": [
"query"
],
"additionalProperties": false
}list_parking_hosts 無料サーバー
読み取り専用
無料プロジェクトをまとめて置くリージョンごとの無料サーバーを返します: サーバーごとにリージョン、マシン名(machine)、zone、状態、置いているプロジェクト数と上限(projects、max_projects)、メモリ(memory_used_mb、memory_mb)、まだ移動中の数(moving)、有料プランに変わり専用 DB サーバーへ移す必要があるプロジェクト(paid)、そしてリージョンごとに空きを待つプロジェクト数(waiting)とスイッチ(switch: BLACKWALL_PARKING_HOSTS)。何も変更しません。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}list_project_placements プロジェクトの配置
読み取り専用
プロジェクトごとに本番データベースがどこにあるかを返します: プロジェクトのリージョン(region)、置かれている場所(placed_on: machine 専用 DB サーバー、free_server 無料サーバー、disk メインサーバーの専用ディスク、main_host メインサーバー、shared_cluster 共有クラスター、none まだない)、マシン名(machine)、zone とその zone のリージョン(zone_region)、プロジェクトのリージョン内か(in_region)、作成中の専用 DB サーバーの zone(pending_zone)。さらに zone ごとのリージョン、専用 DB サーバーを作るか(machines)、置かれているプロジェクト数、スイッチ(switch: machines_follow_region)、リージョン外の数(outside_region)、メインサーバーに残る数(on_main_host)。何も変更しません。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}get_platform_server_pricing 顧客サーバーのサイズと価格
読み取り専用
顧客サーバー販売のスイッチ(policy: customer_hosts、server_sizes_listed、customer_host_regions、krw_per_usd など)と、サイズごとのマシン、メモリ、listed(顧客に表示され借りられるか)、plan、margin_floor、借りられているサーバー数、リージョンごとのマシン原価・総原価(USD)、価格(usd_minor はセント、krw_minor はウォン)、受け取る額(received_usd: 付加価値税と手数料を引いたウォンとドルの低い方)、マージン、for_sale を返します。violations が空でなければマージン下限を下回る価格があります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
入力はありません。
JSON スキーマ
{
"type": "object",
"properties": {},
"additionalProperties": false
}set_platform_server_pricing 顧客サーバー販売のスイッチを変更
破壊的
server_pricing_policy の項目を 1 つ以上変更します。例: customer_hosts=true と server_sizes_listed=true で、顧客がサーバーのサイズを見て借りられます。指定した項目だけがすぐ変わります。誰がいつどの項目を何から何に変えたかが監査ログに残ります。為替の変更でマージン下限を下回る価格が出るときは拒否します。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
customer_hosts | boolean | いいえ | 顧客が専用サーバーを借りられます。オフなら新しい依頼を拒否します。 |
server_sizes_listed | boolean | いいえ | サーバーのサイズと価格を顧客に表示します(コンソール・CLI・MCP・REST)。 |
region_rates | boolean | いいえ | リージョンごとの使用量料金を適用します。 |
build_machine_plans | boolean | いいえ | 強化・ターボのビルドマシンを Pro 以上だけにします。 |
customer_host_regions | array<string>, min items 1, max items 20 | いいえ | サーバーを貸すリージョンコード。例: ["kr-seoul-1"]。原価のあるリージョンだけです。 |
krw_per_usd | number, min 100, max 10000 | いいえ | マージン検査とウォン価格に使う為替(ウォン/ドル)。既定は 1475。 |
customer_host_grace_days | integer, min 1, max 30 | いいえ | 支払いが止まってから読み取り専用にしておく日数。 |
customer_host_create_minutes | integer, min 3, max 60 | いいえ | 新しいマシンがこの分数応答しなければ削除して作り直します。 |
customer_host_max_attempts | integer, min 1, max 10 | いいえ | サーバー作成を何回まで試すか。 |
customer_host_disk_gb | integer, min 10, max 2000 | いいえ | 新しいサーバーのディスク(GB)。 |
customer_host_move_days | integer, min 1, max 365 | いいえ | サーバーのリージョン移動の間に空ける日数。 |
customer_host_retired_days | integer, min 0, max 30 | いいえ | 移動後に古いサーバーを残す日数。 |
JSON スキーマ
{
"type": "object",
"properties": {
"customer_hosts": {
"type": "boolean",
"description": "顧客が専用サーバーを借りられます。オフなら新しい依頼を拒否します。"
},
"server_sizes_listed": {
"type": "boolean",
"description": "サーバーのサイズと価格を顧客に表示します(コンソール・CLI・MCP・REST)。"
},
"region_rates": {
"type": "boolean",
"description": "リージョンごとの使用量料金を適用します。"
},
"build_machine_plans": {
"type": "boolean",
"description": "強化・ターボのビルドマシンを Pro 以上だけにします。"
},
"customer_host_regions": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 20,
"description": "サーバーを貸すリージョンコード。例: [\"kr-seoul-1\"]。原価のあるリージョンだけです。"
},
"krw_per_usd": {
"type": "number",
"minimum": 100,
"maximum": 10000,
"description": "マージン検査とウォン価格に使う為替(ウォン/ドル)。既定は 1475。"
},
"customer_host_grace_days": {
"type": "integer",
"minimum": 1,
"maximum": 30,
"description": "支払いが止まってから読み取り専用にしておく日数。"
},
"customer_host_create_minutes": {
"type": "integer",
"minimum": 3,
"maximum": 60,
"description": "新しいマシンがこの分数応答しなければ削除して作り直します。"
},
"customer_host_max_attempts": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "サーバー作成を何回まで試すか。"
},
"customer_host_disk_gb": {
"type": "integer",
"minimum": 10,
"maximum": 2000,
"description": "新しいサーバーのディスク(GB)。"
},
"customer_host_move_days": {
"type": "integer",
"minimum": 1,
"maximum": 365,
"description": "サーバーのリージョン移動の間に空ける日数。"
},
"customer_host_retired_days": {
"type": "integer",
"minimum": 0,
"maximum": 30,
"description": "移動後に古いサーバーを残す日数。"
}
},
"minProperties": 1,
"additionalProperties": false
}set_platform_server_size 顧客サーバーのサイズを作成・変更
破壊的
顧客サーバーのサイズを 1 つ作成または変更します: Google のマシン(machine)、顧客に表示するか(listed)、プランに含めるか(plan)、マージン下限(margin_floor)、リージョンごとのマシン原価と価格(regions)。サイズ名はメモリなので、マシンのメモリと同じである必要があります(1gb は e2-micro)。新しいサイズは listed=true を指定しない限り非表示で作られます。価格はサイズのマージン下限を超える必要があり、原価より安く売るには allow_loss=true が必要です(下限を必要なだけ下げ、監査ログに残ります)。ウォン価格を省くと usd × krw_per_usd を 1,000 ウォン単位で切り上げます。監査ログに何から何に変えたかが残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
size | string, pattern ^[1-9][0-9]{0,3}gb$ | はい | サイズ名(メモリ)。例: 1gb、2gb。 |
machine | string, e2-micro | e2-small | e2-medium | e2-standard-2 | e2-standard-4 | e2-standard-8 | e2-standard-16 | e2-standard-32 | e2-highmem-2 | e2-highmem-4 | e2-highmem-8 | e2-highmem-16 | e2-highcpu-8 | e2-highcpu-16 | e2-highcpu-32 | いいえ | Google のマシン。新しいサイズには必須です。例: e2-micro。 |
listed | boolean | いいえ | 顧客に表示され借りられます。新しいサイズの既定は false です。 |
plan | string | いいえ | このサイズを含むプラン(例: pro)。そのプランの請求からこのサイズの額を差し引きます。null で外します。 |
margin_floor | number, min -1, max 1 | いいえ | 価格が超えるべきマージン(0.3 は 30%)。0 未満には allow_loss=true が必要です。 |
allow_loss | boolean | いいえ | 原価より安く売ることを承知で許可します。下限を必要なだけ下げます。 |
regions | array<object>, max items 20 | いいえ | リージョンごとの原価と価格。指定したリージョンだけが変わります。 |
cost_source | string, max length 200 | いいえ | 原価をどこで測ったか。例: gcp list price asia-northeast3 2026-10。省くと運営者のアドレス。 |
JSON スキーマ
{
"type": "object",
"properties": {
"size": {
"type": "string",
"pattern": "^[1-9][0-9]{0,3}gb$",
"description": "サイズ名(メモリ)。例: 1gb、2gb。"
},
"machine": {
"type": "string",
"enum": [
"e2-micro",
"e2-small",
"e2-medium",
"e2-standard-2",
"e2-standard-4",
"e2-standard-8",
"e2-standard-16",
"e2-standard-32",
"e2-highmem-2",
"e2-highmem-4",
"e2-highmem-8",
"e2-highmem-16",
"e2-highcpu-8",
"e2-highcpu-16",
"e2-highcpu-32"
],
"description": "Google のマシン。新しいサイズには必須です。例: e2-micro。"
},
"listed": {
"type": "boolean",
"description": "顧客に表示され借りられます。新しいサイズの既定は false です。"
},
"plan": {
"type": [
"string",
"null"
],
"description": "このサイズを含むプラン(例: pro)。そのプランの請求からこのサイズの額を差し引きます。null で外します。"
},
"margin_floor": {
"type": "number",
"minimum": -1,
"maximum": 1,
"description": "価格が超えるべきマージン(0.3 は 30%)。0 未満には allow_loss=true が必要です。"
},
"allow_loss": {
"type": "boolean",
"description": "原価より安く売ることを承知で許可します。下限を必要なだけ下げます。"
},
"regions": {
"type": "array",
"maxItems": 20,
"description": "リージョンごとの原価と価格。指定したリージョンだけが変わります。",
"items": {
"type": "object",
"properties": {
"region": {
"type": "string",
"pattern": "^[a-z]{2}-[a-z]+-[0-9]+$",
"description": "リージョンコード。例: kr-seoul-1。get_platform_server_pricing の regions が返します。"
},
"machine_cost_usd": {
"type": "number",
"minimum": 0,
"description": "Google のマシンだけの月額原価(USD、730 時間の定価)。ディスク・アドレス・バックアップなどサーバーごとの原価はリージョンの値から足します。"
},
"usd": {
"type": "number",
"exclusiveMinimum": 0,
"description": "顧客の月額(ドル、セントまで、税別)。例: 39。"
},
"krw": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "顧客の月額(ウォン、付加価値税込み)。省くと usd × krw_per_usd を 1,000 ウォン単位で切り上げます。"
}
},
"required": [
"region"
],
"additionalProperties": false
}
},
"cost_source": {
"type": "string",
"maxLength": 200,
"description": "原価をどこで測ったか。例: gcp list price asia-northeast3 2026-10。省くと運営者のアドレス。"
}
},
"required": [
"size"
],
"additionalProperties": false
}start_support_session サポートセッションを開く
破壊的
お客様から問い合わせがあったとき、代わりに作業するためにお客様の組織にオーナーとして入ります。開いている間はその組織のプロジェクトが list_projects に表示され、ほかのすべてのツール(デプロイ・データベース・ドメイン・請求・チーム・プロジェクトの移動など)をお客様と同じ権限で使えます。reason は必須で、開始と終了は運営者のアドレスとともにお客様の監査ログに残ります。既定 60 分、最大 480 分で、時間になると自動で終わります。開いているセッションでもう一度呼ぶと時間を延ばします。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
target | string, max length 320 | はい | お客様の組織を探す値: プロジェクト ID(ref)、組織 ID、またはお客様のメールアドレス(組織を 1 つだけ持つ場合)。 |
reason | string, min length 4, max length 500 | はい | 入る理由。例: 問い合わせ #123、プロジェクト移動の依頼。お客様の監査ログに残ります。 |
minutes | integer, min 5, max 480 | いいえ | 何分間。空なら 60。 |
JSON スキーマ
{
"type": "object",
"properties": {
"target": {
"type": "string",
"maxLength": 320,
"description": "お客様の組織を探す値: プロジェクト ID(ref)、組織 ID、またはお客様のメールアドレス(組織を 1 つだけ持つ場合)。"
},
"reason": {
"type": "string",
"minLength": 4,
"maxLength": 500,
"description": "入る理由。例: 問い合わせ #123、プロジェクト移動の依頼。お客様の監査ログに残ります。"
},
"minutes": {
"type": "integer",
"minimum": 5,
"maximum": 480,
"description": "何分間。空なら 60。"
}
},
"required": [
"target",
"reason"
],
"additionalProperties": false
}end_support_session サポートセッションを終える
破壊的
サポートセッションを終え、お客様の組織のオーナー席から出ます。id か target のどちらかを指定します。終了もお客様の監査ログに残ります。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
id | string | いいえ | サポートセッション ID。start_support_session と list_support_sessions が返します。 |
target | string, max length 320 | いいえ | お客様の組織を探す値: プロジェクト ID(ref)、組織 ID、またはお客様のメールアドレス。 |
JSON スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "サポートセッション ID。start_support_session と list_support_sessions が返します。"
},
"target": {
"type": "string",
"maxLength": 320,
"description": "お客様の組織を探す値: プロジェクト ID(ref)、組織 ID、またはお客様のメールアドレス。"
}
},
"additionalProperties": false
}list_support_sessions サポートセッション一覧
読み取り専用
開いているサポートセッション(全運営者のもの)を、お客様の組織・運営者・理由・終わる時刻とともに返します。all=true なら終わったものも最近 50 件まで。運営者のみ使えます。
| 名前 | 説明 |
|---|---|
| トークンのスコープ | なし |
| ロール | 組織のすべてのメンバー |
| コンソールのアシスタントによる確認 | 確認しません |
入力
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
all | boolean | いいえ | 終わったセッションも含める。既定は false。 |
JSON スキーマ
{
"type": "object",
"properties": {
"all": {
"type": "boolean",
"description": "終わったセッションも含める。既定は false。"
}
},
"additionalProperties": false
}