組織: チーム、通知、請求、監査ログ
メンバーの招待とロール、通知チャンネル、請求書、監査ログ、そして同じことを HTTP(/api/v1)で行うパス。
組織: チーム、通知、請求、監査ログ
プロジェクトは組織に属します。以下のツールは組織全体にかかわりますが、他のツールと同じように、その組織のどれかのプロジェクトの ref で呼び出します。
ロールごとにできることが決まっていて、トークンは持ち主のロールをそのまま持ちます。
組織が複数あるときは、create_project の org(list_projects の organisation_id か組織名)でどの組織に作るかを選びます。その組織のオーナー、管理者、開発者だけが、プランのプロジェクト数の範囲で作れます。
チーム
list_team メンバー、ロール、2段階認証の有無、承諾前の招待
invite_member メールアドレスで招待 (admin | developer | billing | viewer)
cancel_invitation 送った招待を取り消す
set_member_role メンバーのロールを変更
remove_member メンバーを外す (オーナーは外せない)
set_mfa_required すべてのメンバーに2段階認証を求める人を直接追加する方法はありません。招待メールのリンクを本人が開くと参加します(7日間)。 変更はすべて、オーナーと管理者だけが行えます。
アクセスグループとプロジェクトへのアクセス
list_access_groups グループ、メンバー、プロジェクトごとの役割
create_access_group 空のグループを作る
update_access_group 名前、メンバー(メールアドレス)、プロジェクトごとの役割 (developer | billing | viewer)
remove_access_group グループを削除 (confirm に名前)
get_member_access メンバー1人が開くプロジェクト
set_member_access すべてのプロジェクト(scoped false)か選んだものだけ(scoped true)共有環境変数
list_shared_env_vars 組織が複数のプロジェクトに渡す変数 (開発者以上)
create_shared_env_var 作成 (key、value、targets、projects)
update_shared_env_var 値、対象、つないだプロジェクトを変更
remove_shared_env_var 削除 (confirm に名前)監査ログの送信先、組織の Webhook
list_audit_drains 監査ログを送る先 (https | datadog | splunk | syslog)
create_audit_drain 送り先を追加 (プランに含まれている必要あり)
set_audit_drain_enabled 止める・また送る
test_audit_drain テストの記録を1件送る
remove_audit_drain 削除
list_org_webhooks 組織の通知を送る Webhook と署名キー
create_org_webhook 作成 (events、projects: 空ならすべて)
set_org_webhook_enabled 止める・また送る
test_org_webhook テストイベントを送る
list_org_webhook_deliveries 送信記録
retry_org_webhook_delivery 送信を1件再送
remove_org_webhook 削除外部コミッター、SSO、デプロイポリシー
get_committer_settings 外部コミッターのポリシー、信頼するコミッター、待機中のプレビュー
set_committer_policy auto | require
trust_committer このメールアドレスのプレビューは承認なしでビルド
remove_trusted_committer また承認を待たせる
answer_preview_approval 待機中のプレビューに答える (approve | trust | decline)
get_org_sso 組織の OpenID Connect によるサインインとドメイン
set_org_sso 作成・変更 (渡した値だけ、プランに含まれている必要あり)
remove_org_sso 削除 (confirm に issuer)
add_org_sso_domain ドメインを追加 (TXT レコードを返す)
verify_org_sso_domain DNS で TXT レコードを確認
remove_org_sso_domain ドメインを削除
get_org_policies 新しいプロジェクトの既定の保護、デプロイの経路、プレビュードメイン
set_org_policies 変更 (渡した値だけ)
set_preview_suffix プレビュードメインを設定 (TXT レコードを返す)
verify_preview_suffix DNS で TXT レコードを確認
remove_preview_suffix プレビュードメインを削除どれも組織全体にかかわるので、1つのプロジェクトに限った接続(project_ref)では表示されません。変更できるのはオーナーと管理者だけです(監査ログの送信先は監査ログを読める人、共有変数を読むのは開発者以上、待機中のプレビューはそのプロジェクトに書き込める人)。
組織の OAuth アプリ(/org/apps)は組織の名前で動く資格情報なので、ツールでは作りません。コンソールで人が作ります。
通知チャンネル
list_channels Slack、KakaoWork、Webhook のチャンネルと最後の送信結果
create_channel 追加 (notices: deployments, domains, usage, billing)
test_channel テストメッセージを1通送る
set_channel_enabled 一時停止・受信再開
remove_channel 削除請求と記録
get_billing 1か月分の請求書と日別の使用量 (オーナー、管理者、請求担当)
get_audit_log 誰が何を変更したか(activity)、誰が個人情報にアクセスしたか(access) (オーナー、管理者)
rename_project プロジェクト名、組織名を変更 (オーナー、管理者)
list_transfer_targets プロジェクトを移管できる別の組織 (オーナー、管理者)
transfer_project プロジェクトを別の組織へ移管 (現在の組織のオーナー、confirm にプロジェクト名)
get_plan 今のプランと選べるプラン (オーナー、管理者、請求担当)
get_spend_controls 支出キャップ、月の上限、今月の使用量 (オーナー、管理者、請求担当)
set_spend_cap 支出キャップのオンとオフ (オーナー、管理者、請求担当)
set_spend_limit 月の超過料金の上限と通知 Webhook (オーナー、管理者、請求担当)カードの登録、プランの変更、アカウントのパスワードとトークン、サポートへのお問い合わせはツールでは行いません。コンソールで人が行います。
同じことを HTTP で
https://<zone>/api/v1 の下で、同じトークンを Authorization: Bearer で送ります。プロジェクト配下のパスは /projects/<ref> の下です。
GET /regions POST /regions/requests {region, note}
GET /server-sizes?region=¤cy= サーバーサイズとリージョン別の月額 (list_server_sizes)
PATCH /projects/<ref> {name, organisation}
GET /projects/<ref>/transfer POST /projects/<ref>/transfer {organisation, confirm}
GET /git POST /git/repos {provider, repo, branch}
PUT /git/tokens/<github|gitlab> {token, gitlab_base} DELETE 同じパス
DELETE /git/github-app
GET /log-drains POST /log-drains {name, kind, url, secret, sources}
PATCH /log-drains/<id> {enabled} DELETE /log-drains/<id>
DELETE /users/<id> PUT /auth/anonymous {enabled}
GET /auth/sms PUT /auth/sms {provider, key, secret, account, sender, allowed_countries}
DELETE /auth/sms GET /auth/sso
GET /auth/smtp PUT /auth/smtp {sender_email, sender_name, host, port, username, password}
DELETE /auth/smtp POST /auth/smtp/test {to}
GET /auth/templates GET /auth/templates/<type> PUT /auth/templates/<type> {subject, body}
DELETE /auth/templates/<type> POST /auth/templates/<type>/preview {subject, body}
POST /auth/sso {metadata_url, domains} PUT /auth/sso/<id> {domains} DELETE /auth/sso/<id>
GET /config/auth PATCH /config/auth {<キー>: <値>}
GET /config/auth/custom-providers POST /config/auth/custom-providers {identifier, name, provider_type, issuer, client_id, client_secret, claim_map, token_auth, pkce, jwks_uri, email_optional}
PUT /config/auth/custom-providers/<identifier> PATCH 同じパス {enabled} DELETE 同じパス
GET /config/auth/third-party-auth POST /config/auth/third-party-auth {type, value, region, audiences} DELETE /config/auth/third-party-auth/<id>
PUT /function-egress {enabled}
GET /server-memory
PUT /server-memory {memory_mb}
GET /concurrent-builds PUT /concurrent-builds {concurrent_builds}
GET /network POST /network/static-outbound-ip DELETE 同じパス
GET /team POST /team/invitations {email, role}
DELETE /team/invitations/<id> PUT /team/mfa {required}
PATCH /team/members/<email> {role} DELETE /team/members/<email>
GET /channels POST /channels {kind, name, url, notices}
POST /channels/<id>/test PATCH /channels/<id> {enabled} DELETE /channels/<id>
GET /realtime PUT /realtime/<テーブル> {enabled}
GET /extensions PUT /extensions/<名前> DELETE /extensions/<名前>
GET /branches POST /branches {name, git_branch, with_seed} PUT /branching {automatic, seed_sql, lifetime_days}
POST /branches/<名前>/merge POST /branches/<名前>/reset DELETE /branches/<名前>
GET /queues POST /queues {name, unlogged} PUT /queues/api {exposed} DELETE /queues/<名前>
POST /queues/<名前>/messages {message, delay} GET /queues/<名前>/messages?limit= POST /queues/<名前>/purge
GET /vault POST /vault {name, value, description} PATCH·DELETE /vault/<名前>
GET /network-restrictions PUT /network-restrictions {allowed_cidrs, allow_all, enforce_ssl, confirm}
GET /metrics?range=24h GET /billing?period=YYYY-MM
GET /billing/plan GET /billing/spend
PUT /billing/spend-cap {enabled} PUT /billing/spend-limit {spend_limit_minor, webhook_url}
POST /deployments/sources (本文: アーカイブ) POST /deployments {source | files, target, prebuilt}
GET /buckets/<バケット>/objects?prefix= POST /buckets/<バケット>/objects {name, content, encoding, upsert}
GET /buckets/<バケット>/object?name= DELETE /buckets/<バケット>/object?name=
POST /buckets/<バケット>/signed-urls {name, expires_in}
PATCH /buckets/<バケット> {public, file_size_limit, allowed_mime_types} POST /buckets/<バケット>/empty DELETE /buckets/<バケット> {confirm}
PATCH /users/<id> {email, password, email_confirm, ban_duration, user_metadata, app_metadata}
POST /users/import {users, dry_run}
POST /users/<メール>/links {type, password, data, redirect_to}
GET /tables/<テーブル>/csv?column=&op=&value=&sort=&desc= POST /tables/<テーブル>/csv {csv, columns}
POST /deployments/sources/upload-urls その url に PUT (本文: アーカイブ、トークンなし)
POST /projects {name, region, org}
GET /audit?tab=activity|access&from=&to=&actor=&action=&limit=&offset=
GET /signing PUT /signing {alg}
POST /signing/rotate {grace_hours} DELETE /signing/keys/<kid>
PUT /domains/<ドメイン>/certificate {certificate, key} DELETE 同じパス
PUT /domains/<ドメイン>/redirect {to, status} to: ドメインまたはドメイン/パス、空ならオフ