One Server

ドキュメント · リファレンス

MCP サーバー

AI ツールにプラットフォームを直接操作させます。494 個のツールは MCP サーバー(mcp.ts)からそのまま読み取られ、このページになります。 この一覧はサーバーのコードから生成されます。新しい機能ができると、すぐにここにも表示されます。

接続する

MCP アドレス

https://end.blackall.ai/mcp?lang=ja

1 つのアドレスに JSON-RPC を POST でやり取りします。?lang=ja、?lang=en、?lang=ko でツールの説明とエラーの言語を選びます。指定がなければ Accept-Language に従い、それもなければ英語です。

アドレスのオプション

アドレスの後ろに付けて、この接続で見られること・できることを絞ります。サーバーが直接守るため、一覧から外れたツールは名前で呼んでも拒否されます。ツールが少ないほど AI が迷わず、1 つのプロジェクトを読むだけにしておけば、間違えても失うものがありません。いま何が有効かは whoami でわかります。

オプション説明
project_ref接続を 1 つのプロジェクトに固定します。ツールの ref を省略するとこのプロジェクトを使い、ほかの ref は拒否します。list_projects はこのプロジェクトだけを表示し、ほかのプロジェクトや組織全体に及ぶツール(新しいプロジェクト、チーム、通知チャンネル、監査ログ、請求)は外れます。
read_onlytrue にすると、何も変更しないツールだけが表示され、接続全体が読み取りトークンのように動きます。変更するツールは名前で呼んでも拒否されます。
featuresカンマで区切ったツールのグループだけを表示します。whoami と list_projects は常にあります。存在しないグループは、使えるグループを示して拒否します。
langja、en、ko。ツールの説明、案内、エラーの言語です。
https://end.blackall.ai/mcp?lang=ja&project_ref=<ref>&read_only=true&features=database,deploy

Claude や ChatGPT のコネクターには、オプションを付けたアドレスをそのまま入れます。同意画面でも 1 つのプロジェクトを選んで書き込みを外せ、その選択は接続に保存されます。

ツールのグループ

グループツール数名前
account106whoami 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
database59list_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
auth57list_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
storage41list_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
functions25list_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
deploy106list_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
domains28list_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
branching6list_branches create_branch merge_branch reset_branch delete_branch set_branching
logs21get_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
billing6usage get_billing get_plan get_spend_controls set_spend_cap set_spend_limit
ai15get_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
realtime7list_realtime_tables set_realtime get_realtime_settings set_realtime_settings list_realtime_policies create_realtime_messages_table add_realtime_policy
queues8list_queues create_queue delete_queue purge_queue send_queue_message peek_queue set_queues_api get_queue_metrics
gpu9list_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/call
  • initialize
  • ping
  • tools/list
  • resources/list
  • resources/read
  • prompts/list
  • prompts/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://switchSupabase・Vercel からの移行Supabase や Vercel で作ったアプリを移す順番: データベース、supabase-js、サインイン、関数、デプロイ。そのまま動くものと確認すること。
blackwall://access-rulesアクセスルール新しいテーブルがなぜ空に見えるのか。このプラットフォームで最もよく間違えるところなので、最初に読んでください。
blackwall://keys3種類のキー公開キー、シークレットキー、アクセストークンの用途と、どれをブラウザに置いてはいけないか。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /me

入力

入力はありません。

JSON スキーマ
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

list_regions リージョン

読み取り専用

リージョンの一覧を返します。今プロジェクトを作成できるのは、can_createがtrueのリージョンだけです。falseのリージョンは準備中のため一覧には表示されますが、まだ選べません。リージョンはプロジェクト作成時に一度だけ選び、後から変更できないため、create_projectの前に確認してください。

名前説明
トークンのスコープread
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /server-sizes

入力

名前型必須説明
regionstringいいえ1つのリージョンだけを見るときのコード(list_regionsのcode)です。空ならすべてのリージョンです。
currencystring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTPOST /regions/requests

入力

名前型必須説明
regionstringはいlist_regionsがcan_create=falseで返したコードです。
notestringいいえそこで何を動かす予定か、なぜそのリージョンでなければならないかを書いてください。任意ですが、ご連絡する担当者が最初に読む内容です。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /imports/sources

入力

名前型必須説明
orgstringいいえ組織の id か名前。空ならこのトークンが届く最初の組織。
JSON スキーマ
{
  "type": "object",
  "properties": {
    "org": {
      "type": "string",
      "description": "組織の id か名前。空ならこのトークンが届く最初の組織。"
    }
  },
  "additionalProperties": false
}

start_import 取り込みを開始

追加のみ 外部に届く

コンソールの [取り込みを開始] と同じです。コンソールで分割した取り込み(import)か、import_sources の connection と project から新しい取り込みを(まとまりごとに新しいプロジェクトに分けて)開始します。新しいプロジェクトを作り、元は変えません。Supabase の元は address にセッションプーラーの接続文字列が必要で、今回の実行だけに使って削除します。止まった取り込みをもう一度開始すると、終わった移す先は飛ばし、変わったものだけ移します。オーナー・管理者・開発者のみ実行できます。

名前説明
トークンのスコープwrite
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTPOST /imports

入力

名前型必須説明
orgstringいいえ組織の id か名前。空ならこのトークンが届く最初の組織。
importstringいいえ取り込みの id(import_sources の imports、コンソールのアドレスの id)。
connectionstringいいえ取り込み元のアカウント(import_sources の connection)。import がないとき project と一緒に。
projectstringいいえ取り込み元のプロジェクト(import_sources の projects[].id)。
addressstringいいえ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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /imports/{id}

入力

名前型必須説明
idstringはい取り込みの id。
orgstringいいえ組織の 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects, GET /projects/{ref}

入力

入力はありません。

JSON スキーマ
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

create_project プロジェクトの作成

追加のみ

データベース、ログイン、ファイルストレージを備えた新しいプロジェクトを作成します。リージョンを空にすると既定のリージョンになります。リージョンはプロジェクト作成後に変更できません。料金はどのリージョンでも同じです。組織が複数あるときは、org でどの組織に作るかを選びます(その組織のオーナー、管理者、開発者だけが、プランのプロジェクト数の範囲で作れます)。データベースは数秒後に使えるようになります。status が provisioning なら wait(秒)を渡すか、list_projects の status が ready になってからテーブルやキーを使ってください。

名前説明
トークンのスコープwrite
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects

入力

名前型必須説明
namestringはい人が読むための名前です。
regionstringいいえ作成する場所です。使える値はlist_regionsで確認できます。空の場合は既定のリージョンです。
orgstringいいえ作成する組織の id か名前です(list_projects の organisation_id か organisation)。空なら、プロジェクトを作れる最初の組織です。
tierstringいいえこのプロジェクト専用サーバーのサイズです。list_server_sizesが返した値(例: 4gb)か、プランの標準サイズを表すdefaultを渡します。プロジェクトができた直後にサーバーを申請します。空なら共用サーバーで始まります。
repostringいいえプロジェクトの作成と同時に接続してデプロイするGitHubリポジトリ(owner/name、list_importable_repositoriesのrepo)です。空ならリポジトリなしで作成します。以下のbranch・root_directory・app・installation・framework・build_command・output_directory・install_command・dotenv・sensitiveはimport_repositoryと同じで、repoがあるときだけ読みます。
branchstringいいえrepoがあるとき: 本番ブランチです。空ならリポジトリの既定ブランチです。
root_directorystringいいえrepoがあるとき: モノレポのアプリフォルダ(例: apps/web)です。
appstringいいえrepoがあるとき: アプリ名です。空ならフォルダ名、なければリポジトリ名です。
installationintegerいいえrepoがあるとき: どのGitHubアカウントのインストール経由で受け取るかです。
frameworkstringいいえrepoがあるとき: フレームワークのプリセットです。空かautoなら自動検出します。
build_commandstringいいえrepoがあるとき: ビルドコマンドを上書きします。
output_directorystringいいえrepoがあるとき: 出力ディレクトリを上書きします。
install_commandstringいいえrepoがあるとき: インストールコマンドを上書きします。
dotenvstringいいえrepoがあるとき: .envファイルの内容です。本番とプレビューに保存します。
sensitivebooleanいいえrepoがあるとき: dotenvの値を保存した後は再表示しません。
waitinteger, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/pause

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/resume

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
confirmstringはいプロジェクト名です。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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/retry-provisioning

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringいいえ新しいプロジェクト名です。
organisationstringいいえ新しい組織名です。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/archive

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/archive/restore

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/archive/download

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
reasonstring, 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_keysAPIキーの取得
list_api_keys名前付きAPIキー
create_api_keyAPIキーの作成
revoke_api_keyAPIキーの失効
get_jwt_signingトークンの署名
set_jwt_signingトークンの署名の変更
rotate_signing_keyキーのローテーション
retire_signing_key古いキーの終了

get_project_keys APIキーの取得

読み取り専用

プロジェクトのアドレスと2つのキーを返します。パブリッシャブルキーはブラウザ用です。シークレットキーはすべてのアクセスルールを迂回するため、サーバーでのみ使ってください。書き込み権限のあるトークンだけが呼び出せます。フロントエンドのコードに入れる値が必要なときは only: "publishable" で呼び出してください。アドレスとパブリッシャブルキーだけが返り、シークレットキーが会話やコードに混ざりません(読み取り権限のトークンでも呼び出せます)。

名前説明
トークンのスコープwrite
ロールsecrets.read オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/keys

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
onlystring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/api-keys

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/api-keys

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
kindstring, publishable | secretはいブラウザ用はpublishable、サーバー用はsecretです。
namestring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/api-keys/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/signing

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPUT /projects/{ref}/signing

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
algstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/signing/rotate

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
grace_hoursinteger, 0 | 1 | 24 | 168いいえ古いキーをあと何時間受け付けるかです: 0、1、24、168のいずれか。
confirmstringいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/signing/keys/{kid}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
kidstringはい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セキュリティとパフォーマンスの点検
list_tablesテーブル
list_policiesアクセスルール
query_sqlSQLの照会(読み取り専用)
run_sqlSQLの実行(変更)
read_rowsテーブルの読み取り
export_table_csvテーブルをCSVでエクスポート
import_table_csvCSVをテーブルにインポート
get_database_connectionデータベース接続情報
reset_database_passwordデータベースの新しいパスワード
list_extensionsデータベースの拡張機能の一覧
enable_extensionデータベースの拡張機能を有効にする
disable_extensionデータベースの拡張機能を無効にする
get_database_move専用データベースへの移行の状態
move_to_dedicated_database専用データベースへの移行
get_dedicated_disk専用ディスク
request_dedicated_disk専用ディスクに移す
shrink_dedicated_diskディスクを縮小
list_realtime_tablesリアルタイムがオンのテーブル
set_realtimeテーブルのリアルタイムのオン・オフ
list_migrationsマイグレーションの記録
apply_migrationsマイグレーションの適用
remove_migration_recordマイグレーションの記録の削除
dump_schemaスキーマをSQLで
generate_typescript_typesTypeScriptの型を作る
list_mysql_databasesMySQL データベースの一覧
create_mysql_databaseMySQL データベースの作成
bind_mysql_databaseMySQL データベースをアプリにつなぐ
delete_mysql_databaseMySQL データベースの削除
get_mysql_connectionMySQL の接続情報
create_mysql_backupMySQL を今すぐバックアップ
list_mysql_backupsMySQL バックアップの一覧
restore_mysql_backupMySQL をバックアップから復元

get_advisors セキュリティとパフォーマンスの点検

読み取り専用

プロジェクトのデータベース構造からセキュリティとパフォーマンスの問題を探します。RLSがオフのテーブル、誰でも書き込めるルール、アクセスルールを迂回するビュー、search_pathが固定されていないsecurity definer関数、ユーザーテーブルを公開するビュー、インデックスのない外部キー、主キーのないテーブル、重複したインデックス、行ごとにuid()を呼び出すルールが対象です。修正するSQLがある項目にはそれ(remedy)を添えます。データは読みません。テーブルを作成したりルールを変更したりした後に呼び出してください。

名前説明
トークンのスコープread
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/advisors

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/tables

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/policies

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/sql/query

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
sqlstringはい実行する照会文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 なら確認しません)
RESTPOST /projects/{ref}/sql

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
sqlstringはい実行する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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/rows/{table}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tablestringはいテーブル名です。
limitinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/tables/{table}/csv

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tablestringはいテーブル名です(list_tables)。
filtersarray<object>, max items 10いいえすべてに合う行だけです。例: [{"column": "created_at", "op": "gte", "value": "2026-01-01"}]
sortstringいいえこの列の順に並べます。空ならテーブルの既定の順です。
descbooleanいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/tables/{table}/csv

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tablestringはいテーブル名です(list_tables)。
csvstringはいCSV の内容です。1行目は列名です。
columnsarray<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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/database

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/database/password

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keep_for_deploysbooleanいいえtrue: 本番デプロイに DATABASE_URL として渡します(封印して保管)。なし・false: 保管せず、受け渡しも止めます。
confirmstringはいプロジェクト名です。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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/extensions

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/extensions/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい拡張機能の名前です: 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTDELETE /projects/{ref}/extensions/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいlist_extensionsにある拡張機能の名前です。
confirmstringはい拡張機能の名前です。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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/database/move

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/database/move

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/database/dedicated-disk

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/database/dedicated-disk

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/database/dedicated-disk/shrink

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/realtime

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/realtime/{table}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tablestringはいテーブル名です。
enabledbooleanはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/migrations

入力

名前型必須説明
refstring, 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 なら確認しません)
RESTPOST /projects/{ref}/migrations

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
migrationsarray<object>, max items 500はいマイグレーションの一覧です。それぞれversion、name、sqlを持ちます。
include_allbooleanいいえすでに適用された最後のバージョンより前のバージョンも適用します。既定はfalseです。
record_onlybooleanいいえ実行せず、適用したものとして記録だけします。既定はfalseです。
dry_runbooleanいいえ何が適用されるかだけを知らせます。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/migrations/{version}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
versionstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/schema

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/types/typescript

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
schemastringいいえ既定は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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/mysql

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/mysql

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, pattern ^[a-z][a-z0-9_]{0,31}$はい英小文字で始め、英小文字・数字・アンダースコア(_)で 32 文字まで。例: wordpress
appstringいいえこのデータベースを受け取るアプリ名。空ならプロジェクト全体用
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/mysql/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいMySQL データベース名
appstringはいアプリ名。プロジェクト全体用なら 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/mysql/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいMySQL データベース名
confirmstringはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/mysql/{name}/connection

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/mysql/{name}/backups

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/mysql/{name}/backups

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/mysql/{name}/restore

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいMySQL データベース名
backup_idstringはいlist_mysql_backups のバックアップ id
confirmstringはい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_settingsSMTP設定の表示
set_smtp_settingsSMTP設定
test_smtp_settingsSMTPテストメールの送信
remove_smtp_settingsSMTP設定の削除
get_email_templatesメールテンプレートの表示
set_email_templateメールテンプレートの保存
preview_email_templateメールテンプレートのプレビュー
remove_email_templateメールテンプレートを戻す
get_sms_settingsSMSログイン設定の確認
set_sms_settingsSMSログインの設定
remove_sms_settingsSMSログインの削除
list_sso_providersSAML SSOの確認
remove_sso_providerSAML 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/users

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
limitinteger, min 1, max 200いいえ一度に取得するユーザー数です。既定は50、最大200です。
offsetinteger, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/users

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
emailstringはいユーザーのメールアドレスです。
passwordstringはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/users/import

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
usersarray<object>はいアカウントのリストです: { email, id?, encrypted_password?, email_confirmed?, user_metadata?, app_metadata? }。
dry_runbooleanいいえリストを検査するだけで、何も取り込みません。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPATCH /projects/{ref}/users/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_users の id(UUID)です。
emailstringいいえ新しいメールアドレスです。
passwordstringいいえ新しいパスワードです(10文字以上)。
email_confirmbooleanいいえtrue ならメールアドレスを確認済みにします。
ban_durationstringいいえ停止期間です。例: 24h、30m、876000h(事実上の永久)。none なら停止を解除します。
user_metadataobjectいいえユーザーが変更できるメタデータにマージする値です。
app_metadataobjectいいえサーバーだけが変更するメタデータにマージする値です(ロール、プランなど)。
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
}

list_auth_providers ソーシャルログインの設定

読み取り専用

このプロジェクトのサービスに、どのアカウントでログインできるかを表示します。プラットフォームが対応するプロバイダーをすべて返すため、まだ設定していないものはconfigured: falseと表示されます。独自に登録したプロバイダー(custom:<名前>)はその後にcustom項目(アドレス、scopes、応答フィールドの対応)と一緒に出ます。callback_urlは、プロバイダーのコンソールにそのまま貼り付けるアドレスです。

名前説明
トークンのスコープread
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/auth/providers

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/auth/providers/{provider}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
providerstring, 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_idstringはいプロバイダーのコンソールで発行されたクライアントIDです。
client_secretstringはい空文字列なら保存済みのシークレットを保ちます。新しいプロバイダーでは必須です。
enabledbooleanいいえ既定はオンです。
labelstringいいえcustom: プロバイダーのみ。画面に表示する名前。
issuerstringいいえcustom: プロバイダーのみ。OpenID Connect の issuer(例: https://kauth.kakao.com)。空のアドレスを discovery ドキュメントで埋めます。
authorize_urlstringいいえcustom: プロバイダーのみ。ログイン画面のアドレス(https)。
token_urlstringいいえcustom: プロバイダーのみ。code をトークンに交換するアドレス(https)。
userinfo_urlstringいいえcustom: プロバイダーのみ。ユーザー情報を読むアドレス(https)。空欄なら id_token から読みます。
scopesstringいいえcustom: プロバイダーのみ。常に要求する scopes、スペース区切り。アプリが送った scopes が加わります。
claimsobjectいいえcustom: プロバイダーのみ。応答フィールドの対応、例: {"id": "sub", "email": "kakao_account.email", "phone": "phone_number"}。省くと OpenID の標準名。
claim_mapobjectいいえcustom: プロバイダーのみ。claims と同じで、ほかのツールと同じ名前です。
token_authstring, body | basicいいえcustom: プロバイダーのみ。client_secret を本文(body、既定)で送るか HTTP Basic で送るか。
pkcebooleanいいえcustom: プロバイダーのみ。既定はオン。プロバイダーが PKCE を拒否する場合だけオフにします。
provider_typestring, oidc | oauth2いいえcustom: プロバイダーのみ。oidc なら id_token の署名・発行者・対象・有効期限・nonce を issuer の鍵(jwks_uri)で確認してから読みます。oauth2(既定)なら claims の対応で読みます。省くと保存済みの値のままです。
discovery_urlstringいいえcustom: プロバイダーのみ。discovery ドキュメントが {issuer}/.well-known/openid-configuration にない場合。
jwks_uristringいいえcustom: プロバイダーのみ。oidc の署名鍵のアドレス。空欄なら discovery ドキュメントから埋めます。
email_optionalbooleanいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/auth/providers/{provider}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
providerstring, 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文字まで)。
enabledbooleanはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/auth/providers/{provider}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
providerstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/auth/smtp

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/auth/smtp

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
sender_emailstringいいえ送信者メールアドレス(Sender email)です。例: [email protected]。
sender_namestringいいえ送信者名(Sender name)です。例: 私のお店。
hoststringいいえSMTPサーバーのアドレス(Host)です。例: smtp.sendgrid.net。
portinteger, 25 | 465 | 587 | 2465 | 2525いいえポート(Port): 25、465、587、2465、2525のいずれかです。既定は587です。
usernamestringいいえSMTPのユーザー名(Username)です。
passwordstringいいえSMTPのパスワード(Password)です。空なら保存済みの値を使います。
minimum_interval_secondsinteger, min 0, max 3600いいえ同じアドレスに再び送るまでの最小間隔(秒)です。既定は60です。
rate_limit_per_hourinteger, min 1, max 10000いいえプロジェクト全体が1時間に送れるメールの数です。既定は100です。超えるとover_email_send_rate_limit(429)で拒否されます。
enabledbooleanいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/auth/smtp/test

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tostringいいえ送信先のアドレスです。省くと自分のアドレスです。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/auth/smtp

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/auth/templates, GET /projects/{ref}/auth/templates/{type}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
typestring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/auth/templates/{type}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
typestring, 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のいずれかです。
subjectstring, max length 200はい件名です。200文字までです。
bodystring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/auth/templates/{type}/preview

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
typestring, 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のいずれかです。
subjectstringいいえ保存せずに試す件名です。
bodystringいいえ保存せずに試す本文です。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/auth/templates/{type}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
typestring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/auth/sms

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/auth/sms

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
providerstring, platform | solapi | nhn | aligo | twilio | messagebird | textlocal | vonage | twilio_verifyはいplatform(プラットフォームのアカウント、有料プランのみ)、solapi、nhn、aligo、twilio、messagebird、textlocal、vonage、twilio_verifyのいずれか。
keystringいいえSolapiのAPI Key、NHN CloudのApp Key、AligoのAPI Key。空欄なら保存済みの値。
secretstringいいえSolapiのAPI Secret、NHN CloudのSecret Key、TwilioのAuth Token。空欄なら保存済みの値。
accountstringいいえAligoのUser ID、TwilioのAccount SID。空欄なら保存済みの値。
senderstringいいえ送信元番号。例: 01012345678。Twilioは+1の番号か、MGで始まるMessaging Service SID。
allowed_countriesarray<string>いいえ送信できる国番号の一覧。例: ["82"]。
otp_lengthinteger, min 6, max 10いいえ認証コードの桁数、6から10。既定は6。
otp_ttl_secondsinteger, min 60, max 3600いいえ認証コードの有効時間、60から3600秒。既定は300。
hourly_limitinteger, min 1, max 100000いいえプロジェクト全体で1時間に送れる上限。既定は200。
templatestringいいえ{{code}}を含む文面。nullなら既定の文面。
enabledbooleanいいえ既定はオンです。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/auth/sms

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/auth/sso

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/auth/sso/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/auth/redirect-urls

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/auth/redirect-urls

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
urlstringはいアドレスです。例: 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/auth/redirect-urls

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
urlstringはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/users/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_usersのid(UUID)です。
confirmstringはい削除するユーザーのメールアドレスまたは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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/auth/anonymous

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/buckets

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/buckets

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstring, pattern ^[a-z0-9][a-z0-9._-]{1,62}$はいバケット名です。英小文字、数字、「. _ -」で2〜63文字です。
publicbooleanいいえ既定は非公開です。
file_size_limitstringいいえファイル1つの最大サイズです。バイト数か "5MB" のようなサイズです。null なら上限なし(プランの上限まで)です。
allowed_mime_typesstringいいえ受け付ける形式です。例: ["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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPATCH /projects/{ref}/buckets/{bucket}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_bucketsのバケット名です。
publicbooleanいいえtrue なら公開、false なら非公開です。
file_size_limitstringいいえファイル1つの最大サイズです。バイト数か "5MB" のようなサイズです。null なら上限なし(プランの上限まで)です。
allowed_mime_typesstringいいえ受け付ける形式です。例: ["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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/buckets/{bucket}/empty

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_bucketsのバケット名です。
confirmstringはいバケット名です。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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/buckets/{bucket}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_bucketsのバケット名です。
confirmstringはいバケット名です。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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/buckets/{bucket}/objects

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_bucketsのバケット名です。
prefixstringいいえ表示するフォルダーです。空なら一番上です。
searchstringいいえ名前にこの語を含むものだけです。
limitinteger, min 1, max 1000いいえ既定は100です。
offsetinteger, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/buckets/{bucket}/objects

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_bucketsのバケット名です。
namestringはいバケット内のパスです。例: docs/readme.txt
contentstringはいファイルの内容です(encodingがbase64ならbase64)。
encodingstring, utf-8 | base64いいえ既定はutf-8です。
content_typestringいいえ例: image/png。空ならテキストまたはapplication/octet-streamです。
upsertbooleanいいえ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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/buckets/{bucket}/object

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_bucketsのバケット名です。
namestringはいバケット内のパスです。
encodingstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/buckets/{bucket}/object

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_bucketsのバケット名です。
namestringはいバケット内のパスです。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/buckets/{bucket}/upload-urls

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_buckets のバケット名です。
namestringはいバケット内のパスです。例: videos/intro.mp4
upsertbooleanいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/buckets/{bucket}/signed-urls

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_bucketsのバケット名です。
namestringはいバケット内のパスです。
expires_ininteger, 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デプロイ
get_deploymentデプロイ1件とビルドログ
redeploy再デプロイ
promote_deploymentプレビューをプロダクションに昇格
rollback_deploymentプロダクションのロールバック
deploy_sourceアップロード済みソースのデプロイ
create_source_upload_urlデプロイ用アーカイブのアップロードURLの作成
list_deploy_hooksデプロイフック
create_deploy_hookデプロイフックの作成
remove_deploy_hookデプロイフックの削除
list_apps接続済みリポジトリとビルド設定
delete_appアプリの削除
update_appビルド設定の変更
get_preview_protectionプレビューの保護
set_preview_protectionプレビューの保護の変更
get_branch_previewsブランチプレビュー
set_branch_previewsブランチプレビューの変更
list_env_vars環境変数
set_env_vars環境変数の保存
remove_env_var環境変数の削除
list_git_accessGit 接続
set_repo_tokenリポジトリトークンの保存
remove_repo_tokenリポジトリトークンの削除
add_repositoryリポジトリの追加
list_importable_repositoriesインポートするリポジトリを探す
import_repositoryリポジトリのインポート
disconnect_repositoryリポジトリの接続解除
set_checks_on_serverチェックを One Server で実行
unlink_github_appGitHub アカウントの接続解除
get_server_memoryサーバーメモリ
set_server_memoryサーバーメモリの変更
get_concurrent_builds同時ビルド
set_concurrent_builds同時ビルドの変更
list_gpuGPU ジョブとサーバー
create_gpu_jobGPU ジョブを作る
get_gpu_jobGPU ジョブを見る
cancel_gpu_jobGPU ジョブを止める
create_gpu_serverGPU サーバーを作る
stop_gpu_serverGPU サーバーを止める
delete_gpu_serverGPU サーバーを削除する
create_gpu_volumeGPU ストレージを作る
delete_gpu_volumeGPU ストレージを削除する
list_deleted_deployments最近削除したデプロイ
delete_deploymentデプロイを削除
restore_deploymentデプロイを復元
list_volumesボリューム一覧
create_volumeボリュームを作成
resize_volumeボリュームを拡張
delete_volumeボリュームを削除
create_volume_backupボリュームをバックアップ
restore_volume_backupボリュームを復元

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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/deployments

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
limitinteger, min 1, max 100いいえ既定は20件です。
beforestring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/deployments/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいdpl-で始まるデプロイ名です。
tailinteger, min 1, max 5000いいえビルドログの末尾から何行表示するかです。既定は200行です。
waitinteger, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/deployments/{id}/redeploy

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいdpl-で始まるデプロイ名です。
waitinteger, min 0, max 120いいえビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。
block_on_advisorsbooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/deployments/{id}/promote

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい昇格するデプロイのdpl-名です。通常はプレビュー、保留を解除するときはプロダクションのデプロイです。
waitinteger, min 0, max 120いいえビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。
block_on_advisorsbooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/deployments/{id}/rollback

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい戻す先のプロダクションデプロイの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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/deployments

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
sourcestring, pattern ^[0-9a-f]{64}$はいアップロード時に受け取ったsourceです(64文字のSHA-256)。
targetstring, preview | productionいいえ既定はpreviewです。
prebuiltbooleanいいえtrueならビルドせずにそのまま配信します。
appstringいいえデプロイするアプリです(list_appsのname)。アプリが1つなら省略します。
branchstringいいえプレビューの名前で、プレビューのアドレスになります。既定はpreviewです。
messagestringいいえデプロイ一覧に残すメモです(任意)。
waitinteger, min 0, max 120いいえビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。
block_on_advisorsbooleanいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/deployments/sources/upload-urls

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/deploy-hooks

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/deploy-hooks

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
appstringはいlist_appsの名前です。
branchstringはい最新コミットをビルドするブランチです。
namestringいいえフックを見分けるための名前です。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/deploy-hooks/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/apps

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/apps/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいlist_appsのname。
confirmstringはいアプリ名。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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/apps/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいlist_appsの名前です。
production_branchstringいいえプロダクションにデプロイするブランチです。
root_directorystringいいえリポジトリからの相対パスです。リポジトリ全体なら"."です。
frameworkstring, 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_commandstringいいえビルドコマンドの上書き(1行)です。nullならプリセットの既定値、空文字列ならビルドを飛ばします。
output_directorystringいいえ出力ディレクトリの上書きです。root_directory内の相対パス(例: dist)。nullならプリセットの既定値です。
install_commandstringいいえインストールコマンドの上書き(1行)です。nullならロックファイルに合わせた既定値、空文字列ならインストールを飛ばします。
run_asstring, platform | imageいいえサーバーを誰として実行するかです。platform(既定)は一般ユーザー(10001)、image はイメージが指定するユーザー(root を含む)で gVisor の分離環境の中で実行します。公式 WordPress イメージのように root で起動する必要がある Dockerfile アプリにだけ image を使ってください。再ビルドなしで1分以内にサーバーが再起動します。
portstring, min 1, max 65535いいえサーバーがコンテナ内で待ち受けるポートです。nullならイメージのEXPOSE、なければ3000です。変更すると1分以内にサーバーが再起動します(再デプロイは不要です)。
build_machinestring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/preview-protection

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPUT /projects/{ref}/preview-protection

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
modestring, off | members | passwordはいoff、members、passwordのいずれかです。
passwordstringいいえ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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/branch-previews

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/branch-previews

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/env

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/env

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
variablesarray<object>いいえ{ key, value } のリストです。
dotenvstringいいえ.envファイルの内容です。コメントと空行は読み飛ばします。
targetsarray<string>, production | preview | development, min items 1はいpreviewは、プロダクションブランチ以外のすべてのブランチのデプロイを意味します。
sensitivebooleanいいえtrueなら保存後に値を再び読めなくなります。指定しないと、名前にSECRET、TOKEN、PASSWORD、PRIVATE、DSN、DATABASE_URL、KEY_を含むか_KEYで終わる変数だけを機密の値として保存します。falseならすべて読める状態のままです。
appstringいいえそのアプリだけに保存するときのアプリ名(list_appsのname)です。同じ名前のプロジェクト変数より優先します。空の場合はプロジェクトのすべてのアプリです。
branchstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/env/{target}/{key}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystringはい変数名です。
targetstring, production | preview | developmentはいproductionまたはpreviewです。
appstringいいえ1つのアプリだけに保存した変数を削除するときのアプリ名です。空の場合はプロジェクトの変数です。
branchstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/git

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/git/tokens/{provider}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
providerstring, github | gitlab | bitbucketはいgithubまたはgitlabです。
tokenstringはいアクセストークンです。読み取り権限で十分です。
gitlab_basestringいいえセルフホストの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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/git/tokens/{provider}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
providerstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/git/repos

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
providerstring, github | gitlab | bitbucketはいgithubまたはgitlabです。
repostringはいGitHubならowner/name、GitLabならgroup/nameです。
branchstringいいえプロダクションブランチです。空なら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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/git/importable

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
querystringいいえリポジトリ名の一部です。空なら最近プッシュした順です。
installationintegerいいえどの GitHub アカウントのインストールかです。空なら既定のアカウントです。
refreshbooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/git/import

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
repostringはいowner/name です。list_importable_repositories の repo です。
branchstringいいえプロダクションブランチです。空ならリポジトリの既定ブランチです。
root_directorystringいいえモノレポのアプリフォルダ(例: apps/web)です。空ならリポジトリの最上位です。接続済みのリポジトリで別のフォルダを指定すると新しいアプリとして追加します。
appstringいいえアプリ名(コンソールの「アプリ名」)です。空ならフォルダ名、なければリポジトリ名です。同じ名前のアプリがあればその設定を変えます。
installationintegerいいえどの GitHub アカウントのインストールで取得するかです。空ならリポジトリの持ち主のアカウントです。
frameworkstring, 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_commandstringいいえビルドコマンドの上書き(1行)です。空文字ならビルドを飛ばします。
output_directorystringいいえ出力ディレクトリの上書き(例: dist)です。
install_commandstringいいえインストールコマンドの上書き(1行)です。
dotenvstringいいえ.env ファイルの内容です。プロダクションとプレビューの両方に保存します。
sensitivebooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTDELETE /projects/{ref}/git/repos/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/git/checks/{repo}/{repo}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
repostringはいlist_git_access の repositories[].repo(owner/name)です。
enabledbooleanはい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
}

get_server_memory サーバーメモリ

読み取り専用

このプロジェクトのサーバーデプロイが使うメモリ(MB)と CPU 数、プランの上限、1GB・時間あたりの料金と、1か月動かし続けたときの金額です。本番とブランチのアドレスのサーバーはリクエストがなくても常に動いている(最小インスタンス 1)ため、その金額がサーバー 1 つの 1 か月の料金です。

名前説明
トークンのスコープread
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/server-memory

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPUT /projects/{ref}/server-memory

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
memory_mbinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/concurrent-builds

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/concurrent-builds

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
concurrent_buildsstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/gpu

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/gpu/jobs

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
gpustring, rtx4090 | l40s | a100 | h100はいrtx4090、l40s、a100、h100 のいずれか
imagestringはい公開イメージ。例: pytorch/pytorch:2.4.0-cuda12.1-cudnn9-runtime
commandstringはいsh で実行するコマンド
namestringいいえ名前
envobjectいいえ環境変数。封印して保管します
max_minutesinteger, min 1, max 10080いいえ既定は60分
regionstring, auto | asia | us | euいいえ借りる地域。既定は auto(空きマシンがあるところならどこでも)。asia は日本・インドです。ストレージを選ぶと、そのストレージのデータセンターで借ります。
volumestringいいえ/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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/gpu/jobs/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいジョブ 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/gpu/jobs/{id}/cancel

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいジョブ 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/gpu/servers

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい英小文字、数字、ハイフン
gpustring, rtx4090 | l40s | a100 | h100はいrtx4090、l40s、a100、h100 のいずれか
imagestringはい公開イメージ。例: vllm/vllm-openai:latest
commandstringいいえ空ならイメージ既定のコマンド
envobjectいいえ環境変数。封印して保管します
portinteger, min 1, max 65535いいえ既定は8000
idle_minutesinteger, min 0, max 1440いいえ既定は15分、0は動かし続けます
regionstring, auto | asia | us | euいいえ借りる地域。既定は auto(空きマシンがあるところならどこでも)。asia は日本・インドです。ストレージを選ぶと、そのストレージのデータセンターで借ります。
volumestringいいえ/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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/gpu/servers/{name}/stop

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいサーバー名
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/gpu/servers/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいサーバー名
confirmstringはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/gpu/volumes

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい英小文字、数字、ハイフン
size_gbinteger, min 10, max 4000いいえ既定は50GB
datacenterstringはいデータセンター。例: 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/gpu/volumes/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいストレージ名
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/deployments/deleted

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/deployments/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/deployments/{id}/restore

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/volumes

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/volumes

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
appstringはいlist_apps の name。
mount_pathstringはいコンテナ内の絶対パス。例: /var/www/html
size_gbinteger, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/volumes/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_volumes のボリューム id。
size_gbinteger, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/volumes/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_volumes のボリューム id。
confirmstringはいボリュームのパス。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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/volumes/{id}/backups

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/volumes/{id}/restore

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_volumes のボリューム id。
backup_idstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/functions

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/functions/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい関数名です。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/functions/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい英小文字で始まり、英小文字、数字、ハイフンで構成します。呼び出しアドレスの末尾になります。
sourcestringいいえ関数のコード全体です(8MBまで)。filesがあるとentryのファイルとして保存されます。filesにentryがあれば省略します。
publicbooleanいいえ省略すると今の値を保ちます。新しい関数は非公開です。
dependenciesobjectいいえ使うnpmパッケージとバージョンです。例: {"zod": "^3.23.8"}。package_jsonのdependenciesに統合されます。
package_jsonstringいいえpackage.json全体です(任意)。あるとインストール後に1つのファイルにバンドルします。
package_lockstringいいえpackage-lock.jsonです(任意)。あるとnpm ciでそのバージョンを正確にインストールします。
filesobjectいいえsourceの隣に置くほかのファイルです。相対パスから内容への対応です(最大200個、合計8MB)。関数フォルダーの隣のフォルダーは"../_shared/cors.ts"のように書きます。
entrystringいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/functions/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい関数名。
timeout_secondsstring, min 1いいえ1 回の呼び出しにかけられる秒数。null で既定値(150 秒)。
sql_timeout_secondsstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/functions/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい関数名です。
confirmstringはい関数名です。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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/function-secrets

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/function-secrets

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
secretsobjectいいえ名前と値です。例: {"STRIPE_WEBHOOK_SECRET": "whsec_…"}。値は二度と表示しません。
dotenvstringいいえ.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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/function-secrets/copy

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
fromstringはいコピー元プロジェクトの ref です。list_projects で確認できます。
namesarray<string>, min items 1, max items 50はいコピーするシークレット名です。from プロジェクトの list_function_secrets の name。例: ["ANTHROPIC_API_KEY"]
overwritebooleanいいえこのプロジェクトに同じ名前があるとき置き換えるかどうか。既定は 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/function-secrets/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPUT /projects/{ref}/function-egress

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/domains

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/domains

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
hostnamestringはい例: example.com、api.example.com、*.example.com
targetstring, site | apiいいえデプロイしたサイトならsite、プロジェクトAPIならapiです。
branchstringいいえサイトのみです。空の場合はプロダクションです。
pair_wwwbooleanいいえwwwのアドレスも接続し、一方をもう一方へリダイレクトします。
appstringいいえアプリ名(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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/domains/{hostname}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
hostnamestringはい接続済みのドメインです。
confirmstringはいドメインです。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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/domains/{hostname}/redirect

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
hostnamestringはいリダイレクトするドメインです。
tostringいいえドメイン、またはドメインとパスです(例: example.com/vision)。空にするとリダイレクトをオフにします。
statusinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/edge

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/edge

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
denyarray<string>いいえ拒否するIPアドレスまたはCIDR範囲です。
allowarray<string>いいえ許可するIPアドレスまたはCIDR範囲です。空なら全員を許可します。
rate_per_minutestringいいえ1つのアドレスからの1分あたりのリクエスト数です。10〜100000。nullならプラットフォームの既定値です。
scopestring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/edge/purge

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/domains/{hostname}/certificate

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
hostnamestringはい接続済みのドメインです。
certificatestringはいPEMの証明書チェーンです。サーバー証明書が先頭です。
keystringはい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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/domains/{hostname}/certificate

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
hostnamestringはい接続済みのドメインです。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/network, GET /projects/{ref}/network/ips

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または請求担当
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/network/static-outbound-ip, DELETE /projects/{ref}/network/static-outbound-ip

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/jobs

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/jobs/{job}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいジョブ名です。既存の名前で保存すると、そのジョブを変更します。
schedulestringはい例: "*/5 * * * *"(5分ごと)、"0 15 * * *"(韓国・日本時間の0時)。
kindstring, function | sqlはいデプロイ済みの関数を呼び出すならfunction、SQLを実行するならsqlです。
targetstringはい関数名、または実行するSQLです。
enabledbooleanいいえジョブを実行するかどうかです。既定はオンです。
timeout_secondsnumberいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/jobs/{job}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
jobstringはいジョブのidまたは名前です。
enabledbooleanはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/jobs/{job}/run

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
jobstringはいジョブの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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/jobs/{job}/runs

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
jobstringはいジョブのidまたは名前です。
limitnumberいいえ表示する実行の数です。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/jobs/{job}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
jobstringはいジョブの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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/webhooks

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/webhooks

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいWebhookを見分けるための名前です。
tablestringはいlist_tablesのテーブル名です。
eventsarray<string>, insert | update | deleteはい送る変更の種類です: insert、update、delete。
kindstring, url | functionはいアドレスにPOSTするならurl、このプロジェクトの関数を呼び出すならfunctionです。
targetstringはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/webhooks/{webhook}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
webhookstringはいWebhookのidまたは名前です。
enabledbooleanはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/webhooks/{webhook}/deliveries

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
webhookstringはいWebhookのidまたは名前です。
limitnumberいいえ表示する送信の数です。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/webhooks/{webhook}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
webhookstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/backups

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/backups

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/backups/{backup_id}/restore, POST /projects/{ref}/backups/restore-to-time

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
backup_idstringいいえlist_backupsのidです。
atstringいいえ例: 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/logs

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
sourcestring, site | server | api | auth | functions | buildいいえ行の出どころです: site、server、api、auth、functions、build。
levelstring, warn | errorいいえ警告とエラーならwarn、エラーだけならerrorです。
searchstringいいえ行に含まれる文字列です。大文字と小文字は区別しません。
beforestringいいえこの時刻より古い行だけです。前回の応答のnext_beforeです。
deployment_idstringいいえこのデプロイ(dpl-)の行だけです。
limitinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/log-drains

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/log-drains

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいドレインを見分けるための名前です。
kindstring, https | datadogはいhttpsまたはdatadogです。
urlstringはい公開されたhttpsアドレスです。
secretstringいいえDatadogのAPIキー、またはhttpsで送るときにAuthorizationヘッダーに入れる値です。
sourcesarray<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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/log-drains/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_log_drainsのidです。
enabledbooleanはい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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/log-drains/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/metrics

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
rangestring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/audit

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tabstring, activity | accessいいえ変更ならactivity、個人情報へのアクセスならaccessです。
fromstringいいえ最初の日付です。YYYY-MM-DD。
tostringいいえ最後の日付です。YYYY-MM-DD。
actorstringいいえメールアドレスの一部です。
actionstringいいえこの語で始まる操作です。例: member
limitinteger, min 1, max 200いいえ取得する件数です。最大200件です。
offsetinteger, 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_required2段階認証の必須化
list_channels通知チャンネル
create_channel通知チャンネルの追加
test_channel通知チャンネルのテスト
set_channel_enabled通知チャンネルのオン・オフ
remove_channel通知チャンネルの削除

list_team チームメンバー

読み取り専用

このプロジェクトを所有する組織のメンバーを、役割、2段階認証を使っているかどうか、まだ承諾されていない招待とともに返します。

名前説明
トークンのスコープread
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/team

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/team/invitations

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
emailstringはい招待するメールアドレスです。
rolestring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/team/invitations/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPATCH /projects/{ref}/team/members/{email}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
emailstringはいメンバーのメールアドレスです。
rolestring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/team/members/{email}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
emailstringはいメンバーのメールアドレスです。
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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPUT /projects/{ref}/team/mfa

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
requiredbooleanはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/channels

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/channels

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
kindstring, slack | kakaowork | webhook | emailはいslack、kakaowork、webhook、emailのいずれかです。
namestringはいチャンネルを見分けるための名前です。
urlstringいいえ送信先のWebhookアドレスです。メールチャンネルでは使いません。
emailsarray<string>, max items 10いいえメールチャンネルの送信先アドレスです。例: ["[email protected]"]。
noticesarray<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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/channels/{id}/test

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/channels/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_channelsのidです。
enabledbooleanはい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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/channels/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/usage

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または請求担当
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/billing

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
periodstringいいえ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 オーナーまたは管理者または請求担当
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/billing/plan

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または請求担当
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/billing/spend

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または請求担当
コンソールのアシスタントによる確認常に確認します
RESTPUT /projects/{ref}/billing/spend-cap

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanはいtrueでオンにします。
confirmstringいいえオフにするとき(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 オーナーまたは管理者または請求担当
コンソールのアシスタントによる確認常に確認します
RESTPUT /projects/{ref}/billing/spend-limit

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
spend_limit_minorstring, min 0はい上限です。nullならなしです。
webhook_urlstringいいえ通知を受ける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_keysS3 アクセスキー一覧
create_s3_keyS3 アクセスキーを作成
revoke_s3_keyS3 アクセスキーを失効
deploy_commitコミットのデプロイ
deploy_filesファイルでデプロイ
set_function_public関数の公開・非公開
add_sso_providerSAML SSOの追加
update_sso_providerSAML SSOの変更
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サードパーティ認証を削除
copy_auth_from_import取り込み元からログイン設定をコピー
copy_schema_from_project別プロジェクトの構造のコピー
copy_data_from_project別プロジェクトの行のコピー
move_domainドメインの移動
copy_users_from_project別プロジェクトのユーザーのコピー
compare_projects_data二つのプロジェクトのデータ比較
get_project_forward公開関数の転送を見る
set_project_forward公開関数を転送する
get_project_write_lock書き込みロックを見る
set_project_write_lock書き込みロック
copy_functions_from_project別プロジェクトの関数のコピー
set_vault_project_keysこのプロジェクト自身のアドレスとキーを Vault に入れる
copy_vault_secrets_from_project別プロジェクトの Vault シークレットのコピー
copy_jobs_from_project別プロジェクトの定期ジョブのコピー
copy_auth_from_project別プロジェクトのログイン設定のコピー
copy_storage_from_project別プロジェクトのファイルのコピー
copy_storage_from_import取り込み元からファイルをコピー
link_github_appGitHub アカウントを接続
list_schemasプロジェクトのスキーマ
set_exposed_schemas公開スキーマの設定
get_data_api_settingsデータAPIの設定を見る
set_data_api_settingsデータAPIの設定を変える
get_database_settingsデータベースの接続設定を見る
set_database_settingsデータベースの接続設定を変える
list_branchesデータベースブランチの一覧
create_branchデータベースブランチを作成する
merge_branchデータベースブランチをマージする
reset_branchデータベースブランチを初期化する
delete_branchデータベースブランチを削除する
set_branching自動データベースブランチの設定
list_queuesキューの一覧
create_queueキューを作成する
delete_queueキューを削除する
purge_queueキューを空にする
send_queue_messageキューにメッセージを入れる
peek_queueキューのメッセージを見る
set_queues_apiキューをデータAPIに公開する
list_vault_secretsVaultのシークレットの一覧
create_vault_secretVaultにシークレットを保存する
update_vault_secretVaultのシークレットを変更する
delete_vault_secretVaultのシークレットを削除する
get_network_restrictionsデータベースの接続制限
update_network_restrictionsデータベースの接続制限を変更する
list_transfer_targets移管できる組織
transfer_projectプロジェクトの移管
get_analyticsウェブ分析
get_speed_insights速度インサイト
set_insights分析のオン・オフ
get_edge_configエッジ設定を読む
set_edge_configエッジ設定を変える
get_edge_config_historyエッジ設定の変更履歴
get_rolling_releases段階的リリースの状態
set_rolling_releases段階的リリースの設定
advance_rolling_release段階的リリースを次の段階へ
promote_rolling_release段階的リリースを完了
abort_rolling_release段階的リリースを中止
list_kv_keysKV キーの一覧
get_kvKV の値を読む
set_kvKV の値を保存
delete_kvKV キーを削除
get_ai_gatewayAI ゲートウェイ
set_ai_gatewayAI ゲートウェイの設定
add_ai_providerAI プロバイダーを追加
set_ai_provider_enabledAI プロバイダーのオン・オフ
remove_ai_providerAI プロバイダーを削除
get_ai_gateway_logsAI ゲートウェイの呼び出し履歴
get_middlewareミドルウェアの設定
set_middlewareミドルウェアの設定を変える
set_ai_budgetsAI ゲートウェイの予算
list_ai_gateway_keysAI ゲートウェイキー一覧
create_ai_gateway_keyAI ゲートウェイキーを作成
set_ai_gateway_key_budgetsAI ゲートウェイキーの予算
set_ai_gateway_key_limitsAI ゲートウェイキーの上限
set_ai_model_aliasesAI モデルの別名
set_ai_gateway_hooksAI ゲートウェイのフック
revoke_ai_gateway_keyAI ゲートウェイキーを無効化
get_ai_spendAI ゲートウェイの支出
get_analytics_breakdownWeb Analytics の内訳
set_analytics_previewsプレビューの訪問を数える
export_analyticsWeb Analytics をエクスポート
list_analytics_reportsカスタムレポート一覧
get_analytics_reportカスタムレポートを表示
save_analytics_reportカスタムレポートを保存
remove_analytics_reportカスタムレポートを削除
list_flags機能フラグ一覧
evaluate_flag機能フラグを評価
set_flag_enabled機能フラグのオン・オフ
get_remote_cacheリモートキャッシュ
clear_remote_cacheリモートキャッシュを空にする
get_queue_metricsキューの指標
list_edge_config_tokensエッジ設定の読み取りトークン
create_edge_config_tokenエッジ設定の読み取りトークンを作成
connect_edge_config_token読み取りトークンをプロジェクトに連携
disconnect_edge_config_token読み取りトークンの連携を解除
revoke_edge_config_token読み取りトークンを失効
get_deployment_retentionデプロイの保存期間
set_deployment_retentionデプロイの保存期間を変更
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フラグの SDK キー一覧
create_flag_sdk_keyフラグの SDK キーを作成
revoke_flag_sdk_keyフラグの SDK キーを廃止
list_alert_rulesアラートルール一覧
create_alert_ruleアラートルールを作成
set_alert_rule_enabledアラートルールのオン・オフ
remove_alert_ruleアラートルールを削除
list_project_webhooksプロジェクトの Webhook 一覧
create_project_webhookプロジェクトの Webhook を作成
set_project_webhook_enabledプロジェクトの Webhook のオン・オフ
test_project_webhookプロジェクトの Webhook を試す
list_project_webhook_deliveriesプロジェクトの Webhook の送信記録
retry_project_webhook_deliveryプロジェクトの Webhook を再送
remove_project_webhookプロジェクトの Webhook を削除
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スキュー保護を変更
list_remote_cache_tokensリモートキャッシュのトークン一覧
create_remote_cache_tokenリモートキャッシュのトークンを作成
revoke_remote_cache_tokenリモートキャッシュのトークンを無効化
get_build_settingsビルド設定の詳細
set_build_dev_settings開発コマンドと Node.js のバージョン
set_ignored_build_stepビルドのスキップ
set_production_first本番のビルドを先に
set_git_checks必須チェックと Git LFS
set_expose_system_envシステム環境変数
set_directory_listingフォルダの一覧表示
get_deployment_securityデプロイのセキュリティ
set_deployment_securityデプロイのセキュリティを変更
get_routing_rulesルーティングルール
save_routing_rulesルーティングルールを保存
activate_routing_rulesルーティングルールのバージョンを適用
purge_edge_cache_itemキャッシュの一部を消去
set_job_retentionスケジュールジョブの履歴の保存期間
get_storage_settingsストレージの設定
set_storage_settingsストレージの設定を変更
set_s3_enabledS3 アドレスのオン・オフ
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ファイルのアクセスルールを削除
get_realtime_settingsリアルタイムの設定
set_realtime_settingsリアルタイムの設定を変更
list_realtime_policies非公開チャネルのルール
create_realtime_messages_table非公開チャネルのルール用テーブルを作成
add_realtime_policy非公開チャネルのルールを追加
get_passkey_settingsパスキーの設定
set_passkey_settingsパスキーの設定を変更
list_user_factorsユーザーの2段階認証とパスキー
remove_user_factorsユーザーの2段階認証を削除
remove_user_passkeyユーザーのパスキーを削除
list_oauth_appsOAuth アプリ一覧
create_oauth_appOAuth アプリを作成
reset_oauth_app_secretOAuth アプリのシークレットを作り直す
remove_oauth_appOAuth アプリを削除
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組織の Webhook 一覧
create_org_webhook組織の Webhook を作成
set_org_webhook_enabled組織の Webhook のオン・オフ
test_org_webhook組織の Webhook を試す
list_org_webhook_deliveries組織の Webhook の送信記録
retry_org_webhook_delivery組織の Webhook を再送
remove_org_webhook組織の Webhook を削除
get_committer_settings外部コミッターの設定
set_committer_policy外部コミッターのポリシーを変更
trust_committerコミッターを信頼
remove_trusted_committer信頼するコミッターから外す
answer_preview_approval待機中のプレビューに答える
get_org_sso組織の SSO
set_org_sso組織の SSO を設定
remove_org_sso組織の SSO を削除
add_org_sso_domain組織の SSO ドメインを追加
verify_org_sso_domain組織の SSO ドメインを確認
remove_org_sso_domain組織の SSO ドメインを削除
get_org_policies組織のデプロイポリシー
set_org_policies組織のデプロイポリシーを変更
set_preview_suffixプレビュードメインを設定
verify_preview_suffixプレビュードメインを確認
remove_preview_suffixプレビュードメインを削除
get_server専用サーバー
request_server専用サーバーを借りる
resize_serverサーバーサイズを変更
set_standby待機サーバー
move_serverサーバーの場所を移動
release_server専用サーバーを返却
set_restore_days復元できる期間
list_platform_settingsプラットフォーム設定
set_platform_settingプラットフォーム設定を保存
clear_platform_settingプラットフォーム設定を削除
list_platform_serversプラットフォームサーバー一覧
get_platform_cpu_historyサービスサーバーの CPU 履歴
request_platform_server_changeプラットフォームサーバーの変更を依頼
get_platform_server_requestプラットフォームサーバー変更依頼の確認
cancel_platform_server_requestプラットフォームサーバー変更依頼の取り消し
list_github_variablesGitHub リポジトリ変数一覧
set_github_variableGitHub リポジトリ変数を保存
delete_github_variableGitHub リポジトリ変数を削除
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サポートセッション一覧

list_s3_keys S3 アクセスキー一覧

読み取り専用

S3 エンドポイント(endpoint、region、force_path_style)と TUS による再開可能なアップロードのアドレス、そして各 S3 アクセスキーの名前、アクセスキー ID、最終使用日時、失効状態です。シークレットアクセスキーは返しません。

名前説明
トークンのスコープread
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/s3-keys

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/s3-keys

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/s3-keys/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
appstringはいlist_appsの名前です。
branchstringはいコミットがあるブランチです。
commitstringはい40文字のコミットハッシュです。
waitinteger, min 0, max 120いいえビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。
block_on_advisorsbooleanいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
filesobjectいいえパスからテキスト内容への対応です。例: {"index.html": "<h1>こんにちは</h1>"}
files_base64objectいいえパスからbase64内容への対応です(バイナリファイル)。
targetstring, preview | productionいいえ既定はpreviewです。
prebuiltbooleanいいえtrueならビルドせずにそのまま配信します。
appstringいいえデプロイするアプリです(list_appsのname)。アプリが1つなら省略します。
branchstringいいえプレビューの名前で、プレビューのアドレスになります。既定はpreviewです。
messagestringいいえデプロイ一覧に残すメモです(任意)。
waitinteger, min 0, max 120いいえビルドが終わる(ready・error)まで待つ秒数です。既定の0はすぐに応答します。時間内に終わらなければ still_running: true と retry_after_seconds が返ります。MCP クライアントはたいてい60秒ほどで呼び出しをあきらめるので、45程度が安全です。
block_on_advisorsbooleanいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはい関数名です。
publicbooleanはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/{param0}/{param1}, PUT /projects/{ref}/{param0}/{param1}/{param2}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
metadata_urlstringいいえhttpsのURL。metadata_xmlとどちらか一方。
metadata_xmlstringいいえIdPのメタデータXML。metadata_urlとどちらか一方。
domainsarray<string>いいえメールドメイン。例: ["example.com"]。
attribute_mappingobjectいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_sso_providersのid。
metadata_urlstringいいえメタデータを読み直すhttpsのURL。
metadata_xmlstringいいえ新しいメタデータXML。
domainsarray<string>いいえメールドメインの一覧全体。
attribute_mappingobjectいいえ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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/config/auth

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/config/auth

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
configobjectはい変えるキーと値。例: {"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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/config/auth/custom-providers

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/config/auth/custom-providers

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
identifierstringはい英小文字・数字・ハイフン。custom: は付けても付けなくてもかまいません。
namestringはい表示名。100文字未満。
provider_typestring, oidc | oauth2はいoidc(エンドポイントを検出し id_token を検証)または oauth2(エンドポイントを指定し claim_map で読む)。
issuerstringいいえプロバイダーのベース URL。
discovery_urlstringいいえoidc で検出ドキュメントが標準のパスにない場合。
authorization_urlstringいいえissuer のない oauth2 では必須。oidc では空欄なら検出します。
token_urlstringいいえissuer のない oauth2 では必須。oidc では空欄なら検出します。
userinfo_urlstringいいえユーザー情報を読むアドレス。oidc では空欄なら検出します。
jwks_uristringいいえoidc で ID トークンの検証に使います。空欄なら検出します。
client_idstringはいクライアント ID。
client_secretstringはいクライアントシークレット。
scopesarray<string>いいえ例: ["openid", "email", "profile"]。
email_optionalbooleanいいえメールアドレスのないユーザーを許可。
claim_mapobjectいいえ応答のどのフィールドが id・email・email_verified・name・avatar・phone か、ドットでつないだパスで。省くと OpenID の標準名。
token_authstring, body | basicいいえclient_secret を本文(body、既定)で送るか HTTP Basic(basic)で送るか。
pkcebooleanいいえ既定はオン。プロバイダーが PKCE を拒否する場合だけオフにします。
enabledbooleanいいえ既定はオン。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/config/auth/custom-providers/{identifier}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
identifierstringはいlist_custom_providers の identifier。
namestringはい表示名。100文字未満。
provider_typestring, oidc | oauth2はいoidc(エンドポイントを検出し id_token を検証)または oauth2(エンドポイントを指定し claim_map で読む)。
issuerstringいいえプロバイダーのベース URL。
discovery_urlstringいいえoidc で検出ドキュメントが標準のパスにない場合。
authorization_urlstringいいえissuer のない oauth2 では必須。oidc では空欄なら検出します。
token_urlstringいいえissuer のない oauth2 では必須。oidc では空欄なら検出します。
userinfo_urlstringいいえユーザー情報を読むアドレス。oidc では空欄なら検出します。
jwks_uristringいいえoidc で ID トークンの検証に使います。空欄なら検出します。
client_idstringはいクライアント ID。
client_secretstringいいえ空なら保存済みのシークレットを使い続けます。
scopesarray<string>いいえ例: ["openid", "email", "profile"]。
email_optionalbooleanいいえメールアドレスのないユーザーを許可。
claim_mapobjectいいえ応答のどのフィールドが id・email・email_verified・name・avatar・phone か、ドットでつないだパスで。省くと OpenID の標準名。
token_authstring, body | basicいいえclient_secret を本文(body、既定)で送るか HTTP Basic(basic)で送るか。
pkcebooleanいいえ既定はオン。プロバイダーが PKCE を拒否する場合だけオフにします。
enabledbooleanいいえ保存と同時にオンまたはオフにします。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/config/auth/custom-providers/{identifier}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
identifierstringはいlist_custom_providers の identifier。
enabledbooleanはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/config/auth/custom-providers/{identifier}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
identifierstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/config/auth/third-party-auth

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/config/auth/third-party-auth

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
typestring, firebase | clerk | workos | auth0 | cognito | oidcはいfirebase、clerk、workos、auth0、cognito、oidc のいずれか。
valuestringはいtype ごとに上のとおり。
regionstringいいえCognito の AWS リージョン。例: ap-northeast-2
audiencesarray<string>いいえトークンの aud に含まれるべき値。
jwks_urlstringいいえ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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/config/auth/third-party-auth/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/config/auth/copy-from-import

入力

名前型必須説明
orgstringいいえ組織の id か名前。空なら ref のプロジェクトの組織。
connectionstringはいSupabase アカウント(import_sources の connection、source が supabase のもの)。
projectstringはいSupabase プロジェクトの ref(import_sources の projects[].id)。
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
providersarray<string>いいえコピーするプロバイダー(google、kakao、apple、x など)。空なら Supabase でオンのものすべて。
dry_runbooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
fromstringはいコピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。
schemasarray<string>いいえコピーするスキーマ(public, allfic …)。空ならすべて。
dry_runbooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
fromstringはいコピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。
schemasarray<string>いいえコピーするスキーマ(public, allfic …)。空ならすべて。
tablesarray<string>いいえコピーするテーブル(allfic.profiles または notes)。空ならすべて。
modestring, missing | upsertいいえmissing は無い行だけ、upsert は違う行も元の値に合わせます。
dry_runbooleanいいえtrue なら読むだけで書きません。
nextstringいいえ前の答えの 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tostringはい受け取るプロジェクトの ref(list_projects)。同じ組織で、ref とは別である必要があります。
hostnamesarray<string>はい移すドメイン(allfic.io, www.allfic.io …)。
appstringいいえこれらの名前で応答する、受け取るプロジェクトのアプリ(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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
fromstringはいコピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。
referenced_by_schemasarray<string>いいえこれらのスキーマのテーブルが指しているユーザーだけ(public, allfic …)。空ならすべてのユーザー。
dry_runbooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
withstringはい比較するプロジェクトの ref(list_projects)。ref とは別である必要があります。
schemasarray<string>いいえ比較するスキーマ名(public, allfic …)。空ならすべて。
hashbooleanいいえ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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tostringいいえ代わりに受けるプロジェクトの 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
lockedbooleanはいtrue で保持、false で解除します。
minutesintegerいいえ保持する時間(分)。既定 30、1 から 1440 まで。
reasonstringいいえ理由(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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
fromstringはいコピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。
namesarray<string>いいえコピーする関数名。空ならすべて。
keep_publicbooleanいいえtrue なら元が公開の関数は公開のままにします。既定はすべて非公開。
overwritebooleanいいえtrue なら同名の関数を置き換えます。既定は false(スキップ)。
dry_runbooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
fromstringはいコピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。
namesarray<string>いいえコピーするシークレット名。空ならコピー元のすべて。
overwritebooleanいいえtrue なら同名を置き換えます。既定は false(スキップ)。
dry_runbooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
fromstringはいコピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。
namesarray<string>いいえコピーするジョブ名。空ならすべて。
enabledbooleanいいえtrue ならコピーをオンにします。既定は false。
overwritebooleanいいえtrue なら同名のジョブを置き換えます。既定は false(スキップ)。
dry_runbooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
fromstringはいコピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。
providersarray<string>いいえコピーするプロバイダー(google, kakao, apple, x…)。空なら from でオンのものすべて。
dry_runbooleanいいえ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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
fromstringはいコピー元プロジェクトの ref(list_projects)。ref とは別である必要があります。
bucketsarray<string>いいえコピーするバケット名。空ならすべて。
renameobjectいいえバケット名の変更 {"コピー元のバケット": "ここのバケット"}。
dry_runbooleanいいえtrue なら変更せず、作るバケットと移すファイルだけを表示します。
nextstringいいえ前の回答の next。渡すとそこから続けます。
max_filesinteger, 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 なら確認しません)
RESTPOST /projects/{ref}/storage/copy-from-import

入力

名前型必須説明
orgstringいいえ組織の id か名前。空なら ref のプロジェクトの組織。
connectionstringはいSupabase アカウント(import_sources の connection、source が supabase のもの)。
projectstringはいSupabase プロジェクトの ref(import_sources の projects[].id)。
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketsarray<string>いいえコピーする Supabase のバケット名。空ならすべて。
renameobjectいいえバケット名の変更 {"Supabase のバケット": "ここのバケット"}。なければ小文字にし、空白を - にします(My Files → my-files)。
dry_runbooleanいいえtrue なら変更せず、作るバケットとコピーするファイルの数だけ表示します。
nextstringいいえ前の答えにあった next。渡すとそこから続けてコピーします。
max_filesinteger, 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
}

list_schemas プロジェクトのスキーマ

読み取り専用

public以外にプロジェクトがSQLで作ったスキーマ(create schema blackquant)と、それぞれをデータAPIが公開しているか(exposed)を表示します。データベース内の名前はapp_<ref>_名前ですが、SQLとクライアントでは作った名前をそのまま使います。

名前説明
トークンのスコープread
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/schemas

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/schemas/exposed

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
exposedarray<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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/data-api

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/data-api

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanいいえfalseにすると/rest/v1はすべて404で応答します。
max_rowsstring, min 1, max 1000000いいえ1回に返す最大行数です。nullなら上限なしです。
search_patharray<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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
pool_sizestring, min 1, max 20いいえ接続プールのサイズです。nullなら既定値です。
max_connectionsstring, min 1, max 500いいえ直接ログイン(<ref>_db)の最大接続数です。nullなら既定値です。
api_connectionsstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/branches

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/branches

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringいいえブランチ名です(英小文字、数字、-、30文字まで)。省略するとgit_branchから作ります。
git_branchstringいいえ紐づけるgitブランチです。そのブランチのプレビューデプロイに、このデータベースのアドレス、キー、接続文字列が入ります。
with_seedbooleanいいえfalseならシードを入れません。
with_databooleanいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/branches/{name}/merge

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいブランチ名です(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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/branches/{name}/reset

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいブランチ名です。
confirmstringはいブランチ名です。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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/branches/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいブランチ名です。
confirmstringはいブランチ名です。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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/branching

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
automaticbooleanいいえtrueならプレビューブランチごとに自動で作ります。
seed_sqlstringいいえ新しいブランチでマイグレーションの後に実行するSQLです(1MBまで)。空文字列なら削除します。
lifetime_daysinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/queues

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/queues

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいキュー名です(英小文字、数字、_、47文字まで)。
unloggedbooleanいいえ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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/queues/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいキュー名です。
confirmstringはいキュー名です。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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/queues/{name}/purge

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいキュー名です。
confirmstringはいキュー名です。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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/queues/{name}/messages

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいキュー名です。
messagestringはい入れるメッセージです。JSONの値なら何でも構いません。
delayinteger, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/queues/{name}/messages

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいキュー名です。
limitinteger, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/queues/api

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
exposedbooleanはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/vault

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/vault

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいシークレット名です(英字か_で始まり、128文字まで)。
valuestringはい保存する値です(64KBまで)。二度と表示しません。
descriptionstringいいえ説明です(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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/vault/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいシークレット名です。
valuestringいいえ新しい値です。
descriptionstringいいえ新しい説明です。
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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/vault/{name}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいシークレット名です。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/network-restrictions

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/network-restrictions

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
allowed_cidrsarray<string>いいえ許可するアドレスかCIDRです(例: 203.0.113.0/24)。空の配列なら制限を解除します。
allow_allbooleanいいえtrueなら制限を解除し、すべてのアドレスを許可します。
enforce_sslbooleanいいえtrueならTLS(sslmode=require)の接続だけを受け付けます。既定はtrueです。
confirmbooleanいいえこのリクエストを送ったアドレスが一覧になくても保存します。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/transfer

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTPOST /projects/{ref}/transfer

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
organisationstringはい受け取る組織の id です。list_transfer_targets が返します。同じ名前の組織が1つだけなら名前でも構いません。
confirmstringはいプロジェクト名です。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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/analytics

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
daysinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/speed-insights

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
daysinteger, 1 | 7 | 30 | 90いいえ期間 (日)。既定は7です。
devicestring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/insights

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
analyticsbooleanいいえウェブ分析。
speed_insightsbooleanいいえ速度インサイト。
vitals_sample_percentinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/edge-config

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/edge-config

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
setobjectいいえ保存するキーと値 (値は JSON)。
deletearray<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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/edge-config/history

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
limitinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/rolling-releases

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/rolling-releases

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanいいえオン。
stagesarray<integer>いいえ段階ごとの割合 (%)。
stage_minutesinteger, min 1, max 1440いいえ段階の長さ (分)。
auto_advancebooleanいいえ時間が経ったら自動で進む。
abort_error_ratestring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/rolling-releases/{action}

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
reasonstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/kv

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
prefixstringいいえ接頭辞。
cursorstringいいえ前の応答の 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/kv/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystringはいキー。
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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/kv/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystringはいキー。
valuestringはい値 (JSON)。
ttlinteger, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/kv/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystringはいキー。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/ai-gateway

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/ai-gateway

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanいいえオン。
allow_usersbooleanいいえログインしたユーザーを許可。
cache_secondsinteger, min 0, max 86400いいえキャッシュの秒数。
rate_per_minuteinteger, min 1いいえ1分あたりのリクエスト上限。
platform_fallbackbooleanいいえプラットフォームのプロバイダーへのフォールバック。
user_daily_requestsstring, min 1いいえアプリのユーザー1人の1日のリクエスト上限。null は上限なし。
user_daily_tokensstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/ai-gateway/providers

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, pattern ^[a-z][a-z0-9-]{0,39}$はい名前。名前/モデルで呼ぶとこのプロバイダーだけを呼びます。
kindstring, openai | anthropic | google | deepseek | openai-compatibleはい種類。
base_urlstringいいえアドレス。openai、anthropic、google、deepseek は省略できます。
keystringいいえAPI キー。
modelsarray<string>いいえ受け付けるモデル。空ならすべて。
priorityinteger, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/ai-gateway/providers/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいget_ai_gateway が返した id。
enabledbooleanはい使う。
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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/ai-gateway/providers/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/ai-gateway/logs

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
limitinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/middleware

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/middleware

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanいいえ実行する。
timeout_msinteger, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/ai-gateway/budgets

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
daily_usdstring, min 0, max 1000000いいえ1 日(UTC)の予算(ドル)。null で上限なし。
weekly_usdstring, min 0, max 1000000いいえ1 週間(月曜始まり、UTC)の予算(ドル)。null で上限なし。
monthly_usdstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/ai-gateway/keys

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/ai-gateway/keys

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, min length 1, max length 60はいキーの名前。
daily_usdstring, min 0, max 1000000いいえ1 日(UTC)の予算(ドル)。null で上限なし。
weekly_usdstring, min 0, max 1000000いいえ1 週間(月曜始まり、UTC)の予算(ドル)。null で上限なし。
monthly_usdstring, min 0, max 1000000いいえ1 か月(UTC)の予算(ドル)。null で上限なし。
external_refstring, max length 200いいえこのキーがプロジェクトの台帳で誰か(例: 顧客のユーザー ID)。フックに一緒に送ります。
labelsobjectいいえ自由なラベル 20 個まで。例: {"tier": "1"}。フックに一緒に送ります。
rate_per_minutestring, min 1, max 100000いいえ1 分あたりのリクエスト数の上限。null で上限なし。
tokens_per_minutestring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/ai-gateway/keys/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_ai_gateway_keys が返した id。
daily_usdstring, min 0, max 1000000いいえ1 日(UTC)の予算(ドル)。null で上限なし。
weekly_usdstring, min 0, max 1000000いいえ1 週間(月曜始まり、UTC)の予算(ドル)。null で上限なし。
monthly_usdstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/ai-gateway/keys/{id}/limits

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_ai_gateway_keys が返した id。
rate_per_minutestring, min 1, max 100000いいえ1 分あたりのリクエスト数の上限。null で上限なし。
tokens_per_minutestring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/ai-gateway/aliases

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
aliasesarray<object>, max items 50はい別名の一覧すべて。空の配列ですべて削除します。
aliases_onlybooleanいいえ別名だけを呼び出せるようにします。指定しなければそのままです。
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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/ai-gateway/hooks

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
urlstring, max length 500いいえフックのアドレス(https)。null で無効。
timeout_msinteger, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/ai-gateway/keys/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/ai-gateway/spend

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
daysinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/analytics/breakdown

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
daysinteger, 1 | 7 | 30 | 90いいえ期間。既定は 7。
eventstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/analytics/previews

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
include_previewsbooleanはいプレビューも数える。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/analytics/export

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
daysinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/analytics/reports

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/analytics/reports/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/analytics/reports, PATCH /projects/{ref}/analytics/reports

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringいいえ変更するレポートの id。空なら新規作成。
namestring, min length 1, max length 80はい名前。
daysinteger, 1 | 7 | 30 | 90いいえ期間。既定は 7。
widgetsarray<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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/analytics/reports/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/flags

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/flags/evaluate

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 256はいフラグのキー。
environmentstringいいえ環境。既定は production。
contextobjectいいえ評価するコンテキスト(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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/flags/{key}/environments/{environment}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 64はいフラグのキー。
environmentstringはい環境。
enabledbooleanはいオン。
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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/remote-cache

入力

名前型必須説明
refstring, 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 オーナーまたは管理者または開発者
コンソールのアシスタントによる確認確認しません
RESTDELETE /projects/{ref}/remote-cache/artifacts

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/queues/metrics

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
hoursinteger, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/edge-config/tokens

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/edge-config/tokens

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, min length 1, max length 60はいトークンの名前。
connectobjectいいえすぐに連携する同じ組織のプロジェクト: 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/edge-config/tokens/{id}/connections/{ref}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい読み取りトークンの id。list_edge_config_tokens で確認します。
targetstring, pattern ^[a-z]{20}$はい連携する同じ組織のプロジェクト。
variablestring, pattern ^[A-Za-z_][A-Za-z0-9_]{0,63}$いいえデプロイで読む変数名。既定は GLOBAL_CONFIG。
targetsarray<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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTDELETE /projects/{ref}/edge-config/tokens/{id}/connections/{ref}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい読み取りトークンの id。list_edge_config_tokens で確認します。
targetstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認常に確認します
RESTDELETE /projects/{ref}/edge-config/tokens/{id}

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい読み取りトークンの 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/deployment-retention

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/deployment-retention

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
canceled_daysstring, min 1, max 3650いいえキャンセル・スキップしたデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。
error_daysstring, min 1, max 3650いいえ失敗したデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。
preview_daysstring, min 1, max 3650いいえプレビューのデプロイを残す日数(1〜3650)。null でプランの既定値。指定しなければそのまま。
production_daysstring, 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件まで)です。省いた項目はそのままです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
scopestring, previews | generated | allいいえpreviews、generated、all のいずれか。
trusted_ipsarray<string>いいえIP または CIDR。例: ["203.0.113.4", "10.0.0.0/8"]。[] ですべて消します。
options_pathsarray<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個までです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, 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 保護のバイパスキーを廃止

破壊的

バイパスキーを削除します。そのキーを使うリクエストはすぐに拒否されます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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)も返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 は使えません。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, pattern ^[a-z0-9]([a-z0-9-]{0,38}[a-z0-9])?$はい環境の名前。例: staging
branchstringいいえこの環境が追うブランチ。正確な名前(staging)か、* で終わる接頭辞(release/*)。空か null なら promote_deployment でだけ受け取ります。
auto_assignbooleanいいえ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)。省いた項目はそのままです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいlist_environments の name。
branchstringいいえこの環境が追うブランチ。正確な名前(staging)か、* で終わる接頭辞(release/*)。空か null なら promote_deployment でだけ受け取ります。
auto_assignbooleanいいえ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 に環境の名前を入れてください。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestringはいlist_environments の name。
confirmstringはい環境の名前。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 に。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
hostnamestringはいlist_environments の domains[].hostname。
environmentstringはい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、上から最初に合うもの)。変更できる環境の名前も返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, 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個までで、開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 64はいフラグのキー。
kindstring, boolean | string | number | jsonはいboolean、string、number、json のいずれか。
descriptionstring, 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 は一覧全体で、どこかの環境が使っているバリアントは消せません。値の形はフラグの種類に合わせます。省いた項目はそのままです。バリアントはすべての環境に出るので、オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 64はいフラグのキー。
descriptionstring, max length 500いいえ500文字まで。
variantsarray<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)を決めます。省いた項目はそのままです。本番はオーナーと管理者、それ以外の環境は開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 64はいフラグのキー。
environmentstringはい環境: production、preview、development、または list_environments のプロジェクトが作った環境。
enabledbooleanいいえオンかオフか。
off_variantstringいいえオフのあいだ返すバリアントの id。
serveobjectいいえ返すもの。バリアント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。本番はオーナーと管理者、それ以外の環境は開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 64はいフラグのキー。
environmentstringはい環境: production、preview、development、または list_environments のプロジェクトが作った環境。
conditionsarray<object>, min items 1, max items 3はいすべて満たす必要がある条件1〜3個。attribute はコンテキストのドット区切りのパス(例: user.email)で、値にカンマは入れられません。in_segment・not_in_segment では values にセグメントのキー。
serveobjectはい返すもの。バリアント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つ上か下に動かします。上のルールが先に合います。本番はオーナーと管理者、それ以外の環境は開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 64はいフラグのキー。
environmentstringはい環境: production、preview、development、または list_environments のプロジェクトが作った環境。
rule_idstringはいget_flag の environments.<環境>.rules[].id。
directionstring, 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つ削除します。本番はオーナーと管理者、それ以外の環境は開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 64はいフラグのキー。
environmentstringはい環境: production、preview、development、または list_environments のプロジェクトが作った環境。
rule_idstringはい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)するか、元に戻します。アーカイブしたフラグはすべての環境でオフの値を返します。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 64はいフラグのキー。
archivedbooleanはい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)。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 として使います。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 64はいセグメントのキー。フラグのキーと同じ決まりです。
descriptionstring, 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 の両方を空にはできません。省いた項目はそのままです。セグメントは本番のルールにも使われるので、オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, max length 64はいlist_flag_segments の key。
conditionsarray<object>, min items 0, max items 3いいえすべて満たす必要がある条件1〜3個。attribute はコンテキストのドット区切りのパス(例: user.email)で、値にカンマは入れられません。in_segment・not_in_segment では values にセグメントのキー。
includedarray<string>いいえ常に含める id。
excludedarray<string>いいえ常に除く id。
descriptionstring, 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)。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
keystring, 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)、名前、先頭部分、最後の使用。値は作ったときだけ表示します。開発者以上が見られます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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個までです。本番のキーはオーナーと管理者、それ以外の環境は開発者以上が作れます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
environmentstringはい環境: production、preview、development、または list_environments のプロジェクトが作った環境。
kindstring, server | clientはいserver か client。
labelstring, 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 キーを廃止します。そのキーを使うリクエストはすぐに拒否されます。本番はオーナーと管理者、それ以外の環境は開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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)を返します。アラートは組織の通知チャネルとメールに届きます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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。空ならすべてです。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, min length 1, max length 80はい名前。1〜80文字。
kindstring, error_rate | p95 | function_errors | usage | firewall_blocksはいerror_rate、p95、function_errors、usage、firewall_blocks のいずれか。
targetstringいいえサービス(all、api、auth、functions、realtime、site、server)、関数名、上限の項目、ルール id。空ならすべて。
thresholdnumber, min 0はいこの値を超えると発生します。割合は0〜1000。
window_minutesinteger, min 1, max 1440はいこの期間(分)の値を見ます。
severitystring, 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 に戻ります。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_alert_rules の id。
enabledbooleanはいオンかオフか。
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 アラートルールを削除

破壊的

アラートルールを削除します。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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 です。開発者以上が見られます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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個までです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, min length 1, max length 60はい名前。1〜60文字。
urlstringはい公開の https アドレス。プライベート・内部のアドレスは使えません。
eventsarray<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 を止めるか、また送るようにします。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_project_webhooks の id。
enabledbooleanはいオンかオフか。
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 に表示されます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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)、試行回数、失敗の理由。開発者以上が見られます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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件を、新しい送信としてもう一度送ります。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
delivery_idinteger, 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 を削除します。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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 です。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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個までです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringいいえ変更するルールの id(get_firewall の draft.rules[].id)。省くと新しいルールです。
namestring, min length 1, max length 80はいルール名。80文字まで。
enabledbooleanいいえ既定は true。false なら保存だけして適用しません。
groupsarray<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}]]
actionobjectはい合ったときの動作。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つ上か下に移します。ルールは上から見ます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいget_firewall の draft.rules[].id。
directionstring, 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 ファイアウォールのルールのオン・オフ

破壊的

下書きでルールをオンかオフにします。公開すると適用されます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいget_firewall の draft.rules[].id。
enabledbooleanはい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 で戻せます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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)です。省いた項目はそのままで、公開すると適用されます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
botsstring, off | log | denyいいえ既知のボット: off、log(記録のみ)、deny のいずれか。
ai_botsstring, off | log | denyいいえAI 学習クローラー: off、log(記録のみ)、deny のいずれか。
ai_search_botsstring, off | log | denyいいえAI 検索・回答ボット。deny にすると ChatGPT 検索・Perplexity の回答からサイトが外れます: off、log(記録のみ)、deny のいずれか。
rulesetsobjectいいえ攻撃パターンごとのモード。例: {"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 で前のバージョンを読み込み、もう一度公開します。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
notestring, 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 ファイアウォールの下書きを破棄

破壊的

公開していない下書きの変更をすべて捨て、適用中のルールに戻します。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, 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 で公開すると適用されます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
versioninteger, 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時間まで)。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanはいtrue ならオン、false ならオフ。
hoursstring, 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 です。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
set_idstringいいえ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 で適用します。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
csvstringはいCSV の内容。例: "/old,/new,301\n/blog/a,https://blog.example.com/a"
notestring, max length 200いいえバージョンのメモ。
activatebooleanいいえ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分以内にすべてのサーバーに適用されます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
set_idstringはい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 スキュー保護

読み取り専用

スキュー保護(新しいデプロイが出ても、開いているタブは最初のデプロイのスクリプトとデータを受け取る)がオンかどうかと、最大保持期間(秒)を返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 スキュー保護を変更

破壊的

スキュー保護をオン・オフし、最大保持期間を決めます。それより古いデプロイには固定しません。省いた項目はそのままです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanいいえtrue ならオン、false ならオフ。
max_age_secondsinteger, 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回だけ表示されます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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個までです。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, 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 はすぐにキャッシュを使えなくなります。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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)も返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 は自動検出です。次のビルドから適用されます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
appstringはいlist_apps の name。
dev_commandstring, max length 1024いいえ1行のコマンド。例: npm run dev。null ならプリセットの既定値。
node_versionstring, 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 もデプロイ履歴に残ります。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
appstringはいlist_apps の name。
modestring, automatic | every | production | preview | folder | commandはいスキップの方式。
folderstringいいえmode が folder のとき見るフォルダ(リポジトリ内の相対パス、例: apps/web)。
commandstring, 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 です。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
appstringはいlist_apps の name。
enabledbooleanはい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 のリポジトリのみです。省いた項目はそのままです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
appstringはいlist_apps の name。
required_checksarray<string>, max items 20いいえGitHub のチェック名。例: ["test", "lint"]。[] ならすべて削除します。
git_lfsbooleanいいえtrue ならビルド時に Git LFS のファイルを取得します。
verified_commitsbooleanいいえ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 です。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanはい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)を設定します。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanはい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 トークンを渡すかと発行者の方式を返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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)を設定します。省いた項目はそのままです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
logs_accessstring, members | writers | adminsいいえビルドログを見られる人: members(すべてのメンバー)、writers(開発者以上)、admins(オーナーと管理者)のいずれか。
source_accessstring, members | writers | adminsいいえデプロイが出力したファイルを見られる人: members(すべてのメンバー)、writers(開発者以上)、admins(オーナーと管理者)のいずれか。
fork_protectionbooleanいいえtrue ならフォークからのプルリクエストは承認までビルドしません(環境変数が漏れないように)。
oidc_enabledbooleanいいえtrue ならビルドとサーバーに OIDC トークンを渡します。
oidc_issuer_modestring, 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 より先に適用されます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 です。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
redirectsarray<object>いいえ例: [{"source": "/old/:path*", "destination": "/new/:path*", "statusCode": 308}]。statusCode は 301・302・307・308。省くと permanent(true なら 308、既定 307)。
rewritesarray<object>いいえ例: [{"source": "/docs/:path*", "destination": "/help/:path*"}]
headersarray<object>いいえ例: [{"source": "/:path*", "headers": [{"key": "X-Frame-Options", "value": "DENY"}]}]
notestring, 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 だけに従います)。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
versionstring, 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 です。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
pathstring, max length 512いいえ/ で始まるパス。例: /blog/* や /index.html。
tagstring, 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 ならプランの既定値。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
daysstring, 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)を返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 です。省いた項目はそのままです。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
file_size_limitstringいいえバイト数か 5MB のようなサイズ。null ならサーバーの上限まで。
image_transformbooleanいいえtrue なら ?width= のような画像変換を行います。
image_sizesarray<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)でのリクエストをすべて拒否し、キーは残ります。シークレットキーを見られる開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanはい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 バケットのバージョン保存

破壊的

バケットが上書き・削除されたファイルを以前のバージョンとして残すか、何日残すかを設定します。省いた項目はそのままです。以前のバージョンも保存容量に含まれます。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_buckets のバケット名。
enabledbooleanいいえtrue なら以前のバージョンを残します。
noncurrent_daysstring, 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 なら削除されたファイルの最後のバージョンです。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_buckets のバケット名。
namestring, 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 ファイルを以前のバージョンに戻す

破壊的

以前のバージョンをその名前の今のファイルに戻します。その名前にあったファイルはバケットの設定どおり以前のバージョンになります。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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 にファイル名をそのまま入れる必要があります。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_object_versions の id。
confirmstringはい削除するバージョンのファイル名(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 は選べる環境です。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 に入れるのはオーナーと管理者だけです。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
bucketstringはいlist_buckets のバケット名。
prefixstring, pattern ^[A-Za-z][A-Za-z0-9_]{0,30}$いいえ環境変数の接頭辞。大文字に変わります。既定は BLOB で、BLACKWALL で始めることはできません。
targetsarray<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 に接続したものはオーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_bucket_connections の id。
confirmstringはい接続の接頭辞(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 です。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 ではファイルの表にルールを作れません。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
templatestring, public-read | signed-in-read | signed-in-upload | own-folder | images-only | customいいえテンプレート。既定は custom。
bucketstringいいえテンプレートを適用するバケット(custom 以外は必須)。
namestring, max length 63いいえルール名。空ならテンプレートの名前。
tablestring, objects | bucketsいいえcustom のときの表。既定は objects、buckets は select のみ。
commandstring, select | insert | update | delete | allいいえcustom のときの操作。
rolesarray<string>, anon | authenticatedいいえcustom のときの対象。
restrictivebooleanいいえtrue なら制限ルール(ほかのルールと AND)。
usingstringいいえcustom のときの using 条件式。例: bucket_id = 'avatars' and owner = uid()
checkstringいいえ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 にルール名をそのまま入れる必要があります。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tablestring, objects | bucketsいいえルールのある表。既定は objects。
namestringはいlist_storage_policies の name。
confirmstringはいルール名。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)を返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 テーブルのルールを通った人)だけが使えます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanいいえオフにすると新しい接続を受けません。
allow_publicbooleanいいえ公開チャネルを許可するか。
max_clientsinteger, min 1, max 10000いいえ同時接続数。1〜10000。
max_events_per_secondinteger, min 1, max 10000いいえ毎秒のブロードキャスト数。1〜10000。
max_presence_per_secondinteger, min 1, max 1000いいえ毎秒のプレゼンス更新数。1〜1000。
max_payload_kbinteger, 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)を返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 テーブルを、行レベルセキュリティをオンにして作ります。すでにあればそのままです。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 で書きます。開発者以上が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
templatestring, 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 のホストを使います。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 を変えると登録済みのパスキーは使えなくなります。オーナー・管理者・開発者が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
enabledbooleanいいえパスキーでのサインインをオンにするか。
rp_namestringいいえブラウザが表示するサービス名。
rp_idstringいいえパスキーを結びつけるドメイン(例: example.com)。空なら Site URL のホスト。
originsarray<string>いいえパスキーを使う https のオリジン(例: ["https://app.example.com"])。空なら Site URL。
require_user_verificationbooleanいいえ指紋や 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)を返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはい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)を入れます。ユーザーに頼まれたときだけ使ってください。オーナー・管理者・開発者が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_users の id(UUID)。
confirmstringはいユーザーのメールアドレス(または 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つ削除します。そのパスキーではもうサインインできません。オーナー・管理者・開発者が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
idstringはいlist_users の id(UUID)。
passkey_idstringはい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 です。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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:)だけです。オーナー・管理者・開発者が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
namestring, min length 1, max length 120はいサインイン画面に表示するアプリ名。
redirect_urisarray<string>, min items 1, max items 20はいサインイン後に戻るアドレス。
publicbooleanいいえ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 を新しく作り、一度だけ表示します。古いシークレットはすぐに使えなくなるので、そのアプリの設定も変える必要があります。オーナー・管理者・開発者が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
client_idstringはい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)を入れます。オーナー・管理者・開発者が実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
client_idstringはいlist_oauth_apps の client_id。
confirmstringはいアプリ名(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_shared_env_vars 共有環境変数一覧

読み取り専用

組織が複数のプロジェクトにまとめて渡す環境変数と値(sensitive は値を隠します)、対象(production・preview)、つないだプロジェクトを返します。オーナー・管理者・開発者が見られます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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_shared_env_var 共有環境変数を作成

追加のみ

組織の複数のプロジェクトに入る環境変数を作ります。つないだプロジェクトの次のデプロイから入り、同じ名前のプロジェクトの変数があればそちらが優先です。projects には自分が開けるプロジェクトだけがつながります。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
keystringはい名前(英字・数字・_)。
valuestringはい値。
targetsarray<string>, production | previewいいえ既定は両方。
sensitivebooleanいいえtrue なら値を二度と表示しません。一度オンにするとオフにできません。
notestringいいえメモ(200文字まで)。
projectsarray<string>いいえつなぐプロジェクトの ref。
JSON スキーマ
{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "pattern": "^[a-z]{20}$",
      "description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
    },
    "key": {
      "type": "string",
      "description": "名前(英字・数字・_)。"
    },
    "value": {
      "type": "string",
      "description": "値。"
    },
    "targets": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "production",
          "preview"
        ]
      },
      "description": "既定は両方。"
    },
    "sensitive": {
      "type": "boolean",
      "description": "true なら値を二度と表示しません。一度オンにするとオフにできません。"
    },
    "note": {
      "type": "string",
      "description": "メモ(200文字まで)。"
    },
    "projects": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "つなぐプロジェクトの ref。"
    }
  },
  "required": [
    "ref",
    "key",
    "value"
  ],
  "additionalProperties": false
}

update_shared_env_var 共有環境変数を変更

破壊的

共有変数の値、対象、メモ、つないだプロジェクトを変えます。渡したものだけを変え、value がなければ値はそのままです。projects は全体の一覧で、自分が開けないプロジェクトのつながりはそのままです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはいlist_shared_env_vars の id。
valuestringいいえ新しい値。
targetsarray<string>, production | previewいいえ対象のすべて。
sensitivebooleanいいえtrue なら値を隠します。オフにはできません。
notestringいいえメモ。
projectsarray<string>いいえつなぐプロジェクトの ref のすべて。
JSON スキーマ
{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "pattern": "^[a-z]{20}$",
      "description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
    },
    "id": {
      "type": "string",
      "description": "list_shared_env_vars の id。"
    },
    "value": {
      "type": "string",
      "description": "新しい値。"
    },
    "targets": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "production",
          "preview"
        ]
      },
      "description": "対象のすべて。"
    },
    "sensitive": {
      "type": "boolean",
      "description": "true なら値を隠します。オフにはできません。"
    },
    "note": {
      "type": "string",
      "description": "メモ。"
    },
    "projects": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "つなぐプロジェクトの ref のすべて。"
    }
  },
  "required": [
    "ref",
    "id"
  ],
  "additionalProperties": false
}

remove_shared_env_var 共有環境変数を削除

破壊的

共有変数を削除します。つないだプロジェクトの次のデプロイから消えます。confirm に変数名を入れます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはいlist_shared_env_vars の id。
confirmstringはい変数名(key)をそのまま。
JSON スキーマ
{
  "type": "object",
  "properties": {
    "ref": {
      "type": "string",
      "pattern": "^[a-z]{20}$",
      "description": "組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。"
    },
    "id": {
      "type": "string",
      "description": "list_shared_env_vars の id。"
    },
    "confirm": {
      "type": "string",
      "description": "変数名(key)をそのまま。"
    }
  },
  "required": [
    "ref",
    "id",
    "confirm"
  ],
  "additionalProperties": false
}

list_access_groups アクセスグループ一覧

読み取り専用

組織のメンバーをまとめ、プロジェクトごとに役割(developer・billing・viewer)を与えるアクセスグループと、そのメンバー(メールアドレス)・プロジェクトを返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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個までです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
namestring, min length 1, max length 60はいグループ名。
descriptionstringいいえ説明(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、入っていないプロジェクトには与えません)。グループはオーナー・管理者の役割を与えられません。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはいlist_access_groups の id。
namestring, min length 1, max length 60いいえ新しい名前。
descriptionstringいいえ新しい説明。
membersarray<string>いいえメンバーのメールアドレスのすべて。list_team にいる人だけ。
projectsobjectいいえプロジェクトの 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 にグループ名を入れます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはいlist_access_groups の id。
confirmstringはいグループ名をそのまま。
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)と、プロジェクトごとの役割、入っているアクセスグループを返します。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
emailstringはい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})とアクセスグループが与えるプロジェクトだけです。オーナー・管理者は絞れません。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
emailstringはいlist_team のメンバーのメールアドレス。
scopedbooleanはいtrue なら選んだプロジェクトだけ。
projectsobjectいいえ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)を返します。オーナーと管理者だけが見られます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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個までで、プランに含まれている必要があります。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
namestring, min length 1, max length 60はい名前。
kindstring, https | datadog | splunk | syslogはい送り先の種類: https、datadog、splunk、syslog。
urlstringはい送り先のアドレス。
secretstringいいえ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 監査ログの送信先のオン・オフ

破壊的

送信を止めるか、またオンにします。オンにすると止まったところから送ります。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはいlist_audit_drains の id。
enabledbooleanはいオンかオフか。
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 ステータス)を返します。実際のログには触れません。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはい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 監査ログの送信先を削除

破壊的

送り先を削除します。送った記録は受け手に残ります。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはい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 です。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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個までです。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
namestring, min length 1, max length 60はい名前。
urlstringはい公開の https アドレス。
eventsarray<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いいえ送るイベント。空ならすべて。
projectsarray<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 を止めるか、また送るようにします。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはいlist_org_webhooks の id。
enabledbooleanはいオンかオフか。
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 に表示されます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはい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)、試行回数、失敗の理由。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはい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件を、新しい送信としてもう一度送ります。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
delivery_idinteger, 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 を削除します。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはい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)を返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 ならメンバーでも信頼するコミッターでもない人のプレビューは承認を待ちます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
policystring, 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 コミッターを信頼

追加のみ

このメールアドレスでコミットしたプレビューは承認なしでビルドされます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
emailstringはいコミットの作者のメールアドレス。
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 信頼するコミッターから外す

破壊的

このメールアドレスの次のプレビューから、また承認を待ちます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
emailstringはい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(取り消し)します。他人のコードをビルドするので、コードを確認してから承認してください。そのプロジェクトに書き込める人(開発者以上)だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはいget_committer_settings の waiting[] の id。
verdictstring, 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 レコードを返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 を登録してください。プランに含まれている必要があります。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
issuerstringいいえ発行者のアドレス(https)。
discovery_urlstringいいえ.../.well-known/openid-configuration のアドレス。
authorization_urlstringいいえ認可のアドレス。ふつうは空のまま。
token_urlstringいいえトークンのアドレス。ふつうは空のまま。
userinfo_urlstringいいえユーザー情報のアドレス。ふつうは空のまま。
jwks_urlstringいいえ署名キーのアドレス。ふつうは空のまま。
client_idstringいいえクライアント ID。
client_secretstringいいえクライアントシークレット。最初は必要です。
scopesstringいいえスコープ(スペース区切り)。openid が必要です。既定は openid email profile。
default_rolestring, admin | developer | billing | viewerいいえSSO で初めて来た人の役割。
jitbooleanいいえ初めての人にアカウントを作るか。既定は true。
require_ssobooleanいいえメンバーは SSO だけでサインインするか。既定は false。
enabledbooleanいいえ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 を入れます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
confirmstringはい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 で確認すると使われます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
domainstringはい例: 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 でサインインします。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはい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 に送られなくなります。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
idstringはい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 レコードを返します。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 も含み、コンソールのデプロイボタンはいつでも使えます)。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
default_protectionstring, members | offいいえ新しいプロジェクトのプレビューを誰が見られるか。
default_scopestring, previews | generated | allいいえ新しいプロジェクトで保護するアドレス。
allow_gitbooleanいいえGit プッシュでデプロイ。
allow_clibooleanいいえCLI でデプロイ。
allow_apibooleanいいえAPI・MCP でデプロイ。
allow_hooksbooleanいいえデプロイフックでデプロイ。
branch_previewsbooleanいいえブランチへのプッシュごとにプレビューをビルド。
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 で確認すると使われます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はい組織のプロジェクトの1つの ID(ref)。そのプロジェクトの組織を変えます。
suffixstringはい例: 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 レコードを探してプレビュードメインを確認します。まだなければ数分後にもう一度呼んでください。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
refstring, 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 プレビュードメインを削除

破壊的

プレビュードメインを削除します。プレビューはプラットフォームのアドレスだけで開きます。オーナーと管理者だけが実行できます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
refstring, 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
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません
RESTGET /projects/{ref}/server

入力

名前型必須説明
refstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/server

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tierstring, pattern ^[0-9]+gb$はいサーバーサイズ。list_server_sizes の tier(例: 4gb)。
regionstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPATCH /projects/{ref}/server

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
tierstring, pattern ^[0-9]+gb$はいサーバーサイズ。list_server_sizes の tier(例: 4gb)。
whenstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/server/standby

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
standbybooleanはい待機サーバーを置くかどうか。
auto_failoverbooleanいいえ自動切り替え。既定は 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPOST /projects/{ref}/server/move

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
regionstring, 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTDELETE /projects/{ref}/server

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
confirmstringはいプロジェクト 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 オーナーまたは管理者
コンソールのアシスタントによる確認確認しません
RESTPUT /projects/{ref}/server/restore-days

入力

名前型必須説明
refstring, pattern ^[a-z]{20}$はいプロジェクト識別子です。list_projectsで確認できます。
daysinteger, 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)。値は二度と表示せず、誰が変えたかだけが監査ログに残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
keystring, 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 が返します。
valuestring, 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 プラットフォーム設定を削除

破壊的

保存した値を削除します。サーバー環境に同じ設定があるときは、その値がそのまま使われます。保存した値がなければ何も変わりません。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
keystring, 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 時間分です。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
hoursinteger, min 1, max 48いいえ何時間前から。既定は 24。
bucket_minutesinteger, 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 のときだけ使えます。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
serverstring, main | build | standby | backup | vm | runner | pool | network | build-imageはい変更するサーバー。
actionstring, 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。
regionstring, us-west1いいえnetwork nat のリージョン。既定は us-west1(Actions マシンプールのリージョン)。
tostring, e2-medium | e2-standard-2 | e2-standard-4 | e2-standard-8いいえresize の新しいサイズ。
instancestringいいえvm のマシン名: blackwall-build、blackwall-db-standby、oneserver-runner、oneserver-pool-1〜6。
zonestringいいえvm のゾーン。空ならそのマシンの既定ゾーン。
reposarray<string>いいえrunner retire で RUNNER を削除するリポジトリ(owner/name)。空なら 5 つ。
whenstring, now | tonightいいえnow、または tonight(韓国時間 03:00〜05:00)。main は tonight、その他は now が既定です。
confirmbooleanいいえmain の resize に必要です: 3〜5 分の停止を承知している意味です。
no_downtimebooleanいいえ停止なしで main をリサイズ。健全な待機サーバーとサイトを受ける 2 台目のサーバーが必要なため、現在は拒否されます。
locationstringいいえバックアップコピーのリージョン。既定は us-west1(オレゴン)、none でコピーを止めます。
reasonstring, 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)を返します。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
idstringはい依頼 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 の実行画面で止めます。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
idstringはい依頼 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 の権限がないときは付与方法を案内します。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
repostring, 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 つ保存します(なければ作成)。誰がどのリポジトリのどの変数を変えたかが監査ログに残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
repostring, pattern ^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$はいリポジトリ owner/name。例: Blackkyle8/BlackAll。
namestring, pattern ^[A-Za-z_][A-Za-z0-9_]*$はい変数名。例: RUNNER。
valuestring, 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)で動きます。監査ログに残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
repostring, pattern ^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$はいリポジトリ owner/name。例: Blackkyle8/BlackAll。
namestring, 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 秒以内に反映され、監査ログに残ります。すでにあれば何も変わりません。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
emailstring, 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 つリストから外します。サーバー環境にあるアドレスと自分のアドレスはここでは外せません。監査ログに残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
emailstring, 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 です。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
workflowstring, checks.yml | deploy.yml | ops.yml | static-egress.ymlいいえ1 つのワークフローだけ。空なら 4 つすべて。
per_workflowinteger, 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 つ取り消します。デプロイ中の実行を取り消すと、そのデプロイが途中の状態で残ることがあります。監査ログに残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認常に確認します

入力

名前型必須説明
idinteger, 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 なら失敗したジョブだけです。監査ログに残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
idinteger, min 1はい実行 ID。list_platform_runs が返します。
failed_onlybooleanいいえ失敗したジョブだけ。既定は 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)も返します。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
limitinteger, 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 と衝突するものは衝突したファイル名とともに差し戻します。監査ログに残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
printeger, min 1はいプルリクエスト番号。例: 431。
enabledbooleanはい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 に問い合わせる前に拒否します。監査ログに残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
namestring, 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-<番号> は残った登録を消して停止し、コントローラーが新しく登録します。監査ログに残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
namestring, 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 で止まり、コンソールで付与する権限を伝えます。ビルドマシンが使えると確認できるまで設定は保存しません。オペレーター専用です。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
regionstring, asia-northeast1 | asia-northeast3 | us-west1はいビルドマシンのあるリージョン。プールが東京なら asia-northeast1。
service_accountstring, 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、オーナーのアドレス、プラン、状態、停止の有無を、プロジェクトごとに状態、リージョン、最後のデプロイ、ドメイン、顧客サーバー、進行中の専用依頼を返します。何も変更しません。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
querystring, 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_hostsbooleanいいえ顧客が専用サーバーを借りられます。オフなら新しい依頼を拒否します。
server_sizes_listedbooleanいいえサーバーのサイズと価格を顧客に表示します(コンソール・CLI・MCP・REST)。
region_ratesbooleanいいえリージョンごとの使用量料金を適用します。
build_machine_plansbooleanいいえ強化・ターボのビルドマシンを Pro 以上だけにします。
customer_host_regionsarray<string>, min items 1, max items 20いいえサーバーを貸すリージョンコード。例: ["kr-seoul-1"]。原価のあるリージョンだけです。
krw_per_usdnumber, min 100, max 10000いいえマージン検査とウォン価格に使う為替(ウォン/ドル)。既定は 1475。
customer_host_grace_daysinteger, min 1, max 30いいえ支払いが止まってから読み取り専用にしておく日数。
customer_host_create_minutesinteger, min 3, max 60いいえ新しいマシンがこの分数応答しなければ削除して作り直します。
customer_host_max_attemptsinteger, min 1, max 10いいえサーバー作成を何回まで試すか。
customer_host_disk_gbinteger, min 10, max 2000いいえ新しいサーバーのディスク(GB)。
customer_host_move_daysinteger, min 1, max 365いいえサーバーのリージョン移動の間に空ける日数。
customer_host_retired_daysinteger, 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 ウォン単位で切り上げます。監査ログに何から何に変えたかが残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
sizestring, pattern ^[1-9][0-9]{0,3}gb$はいサイズ名(メモリ)。例: 1gb、2gb。
machinestring, 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。
listedbooleanいいえ顧客に表示され借りられます。新しいサイズの既定は false です。
planstringいいえこのサイズを含むプラン(例: pro)。そのプランの請求からこのサイズの額を差し引きます。null で外します。
margin_floornumber, min -1, max 1いいえ価格が超えるべきマージン(0.3 は 30%)。0 未満には allow_loss=true が必要です。
allow_lossbooleanいいえ原価より安く売ることを承知で許可します。下限を必要なだけ下げます。
regionsarray<object>, max items 20いいえリージョンごとの原価と価格。指定したリージョンだけが変わります。
cost_sourcestring, 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 分で、時間になると自動で終わります。開いているセッションでもう一度呼ぶと時間を延ばします。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
targetstring, max length 320はいお客様の組織を探す値: プロジェクト ID(ref)、組織 ID、またはお客様のメールアドレス(組織を 1 つだけ持つ場合)。
reasonstring, min length 4, max length 500はい入る理由。例: 問い合わせ #123、プロジェクト移動の依頼。お客様の監査ログに残ります。
minutesinteger, 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 のどちらかを指定します。終了もお客様の監査ログに残ります。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
idstringいいえサポートセッション ID。start_support_session と list_support_sessions が返します。
targetstring, 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 件まで。運営者のみ使えます。

名前説明
トークンのスコープなし
ロール組織のすべてのメンバー
コンソールのアシスタントによる確認確認しません

入力

名前型必須説明
allbooleanいいえ終わったセッションも含める。既定は false。
JSON スキーマ
{
  "type": "object",
  "properties": {
    "all": {
      "type": "boolean",
      "description": "終わったセッションも含める。既定は false。"
    }
  },
  "additionalProperties": false
}