Reference
Supabase Management API
Manage Supabase organizations and projects through Alter Vault
Overview
Section titled “Overview”Use a Supabase personal access token to call the account-level Management API at api.supabase.com. Alter sends the token as Authorization: Bearer ... and validates it when the secret is saved.
| Property | Value |
|---|---|
| Provider ID | supabase-management |
| Category | Developer Tools |
| Credential Type | Bearer Token |
Step 1: Get Credentials
Section titled “Step 1: Get Credentials”Open Account settings → Access Tokens, generate a token, and copy the personal access token beginning with sbp_.
Step 2: Add to Alter Vault
Section titled “Step 2: Add to Alter Vault”Choose Managed Secrets → Add Managed Secret → Supabase Management API, paste the personal access token, and save. Alter validates it against the Management API and fixes the proxy destination to api.supabase.com.
The Management API destination is provider-owned. It cannot be widened or cleared with the generic allowed-hosts editor or CLI command.
Credential rotation reapplies the built-in bearer-header and api.supabase.com binding. A project API key is rejected rather than being stored under the Management API contract.
Using in Code
Section titled “Using in Code”response = await alter_app.request( HttpMethod.GET, "https://api.supabase.com/v1/projects", grant_id="YOUR_GRANT_ID",)Policy-cataloged operations
Section titled “Policy-cataloged operations”Alter policy rules can target the Management API’s attested operations, including project and organization creation, branch management, billing add-ons, API-key administration, secrets, functions, and JIT database access.
| Operation ID | Families | Method | Provider path |
|---|---|---|---|
v1-accept-invite-external-jit-access | admin, write | POST | /v1/projects/{ref}/database/jit/invite/accept |
v1-invite-external-jit-access | admin, send | POST | /v1/projects/{ref}/database/jit/invite |
v1-apply-project-addon | payment | PATCH | /v1/projects/{ref}/billing/addons |
v1-remove-project-addon | delete, payment | DELETE | /v1/projects/{ref}/billing/addons/{addon_variant} |
v1-Delete hostname config | delete | DELETE | /v1/projects/{ref}/custom-hostname |
v1-bulk-delete-secrets | admin, delete | DELETE | /v1/projects/{ref}/secrets |
v1-cancel-a-project-restoration | delete, write | POST | /v1/projects/{ref}/restore/cancel |
v1-create-legacy-signing-key | admin, delete, write | POST | /v1/projects/{ref}/config/auth/signing-keys/legacy |
v1-deactivate-vanity-subdomain-config | delete | DELETE | /v1/projects/{ref}/vanity-subdomain |
v1-delete-a-branch | delete | DELETE | /v1/branches/{branch_id_or_ref} |
v1-delete-a-function | delete | DELETE | /v1/projects/{ref}/functions/{function_slug} |
v1-delete-a-project | delete | DELETE | /v1/projects/{ref} |
v1-delete-a-sso-provider | admin, delete | DELETE | /v1/projects/{ref}/config/auth/sso/providers/{provider_id} |
v1-delete-invite-external-jit-access | admin, delete | DELETE | /v1/projects/{ref}/database/jit/invite/{invite_id} |
v1-delete-jit-access | admin, delete | DELETE | /v1/projects/{ref}/database/jit/{user_id} |
v1-delete-login-roles | admin, delete | DELETE | /v1/projects/{ref}/cli/login-role |
v1-delete-network-bans | delete | DELETE | /v1/projects/{ref}/network-bans |
v1-delete-project-api-key | admin, delete | DELETE | /v1/projects/{ref}/api-keys/{id} |
v1-delete-project-claim-token | admin, delete | DELETE | /v1/projects/{ref}/claim-token |
v1-delete-project-tpa-integration | admin, delete | DELETE | /v1/projects/{ref}/config/auth/third-party-auth/{tpa_id} |
v1-disable-preview-branching | delete | DELETE | /v1/projects/{ref}/branches |
v1-bulk-create-secrets | admin, write | POST | /v1/projects/{ref}/secrets |
v1-create-a-sso-provider | admin, write | POST | /v1/projects/{ref}/config/auth/sso/providers |
v1-create-login-role | admin, write | POST | /v1/projects/{ref}/cli/login-role |
v1-create-project-api-key | admin, write | POST | /v1/projects/{ref}/api-keys |
v1-create-project-claim-token | admin, write | POST | /v1/projects/{ref}/claim-token |
v1-activate-custom-hostname | write | POST | /v1/projects/{ref}/custom-hostname/activate |
v1-activate-vanity-subdomain-config | write | POST | /v1/projects/{ref}/vanity-subdomain/activate |
v1-create-a-branch | write | POST | /v1/projects/{ref}/branches |
v1-create-a-function | write | POST | /v1/projects/{ref}/functions |
v1-create-a-project | write | POST | /v1/projects |
v1-create-an-organization | write | POST | /v1/organizations |
v1-create-restore-point | write | POST | /v1/projects/{ref}/database/backups/restore-point |
v1-deploy-a-function | write | POST | /v1/projects/{ref}/functions/deploy |
v1-count-action-runs | read | HEAD | /v1/projects/{ref}/actions |
v1-diff-a-branch | read | GET | /v1/branches/{branch_id_or_ref}/diff |
v1-generate-typescript-types | read | GET | /v1/projects/{ref}/types/typescript |
v1-get-a-branch | read | GET | /v1/projects/{ref}/branches/{name} |
v1-get-a-branch-config | read | GET | /v1/branches/{branch_id_or_ref} |
v1-get-profile | read | GET | /v1/profile |