Guide

Personal Access Tokens

Scope personal access tokens to specific organizations, projects, and permissions

Personal access tokens (PATs) authenticate you to the Management API and the tools built on it, like the Zuvo CLI and the MCP server. They come in two flavors:

  • Classic tokens carry your account's full access. That means every permission, on every organization and every project you belong to today, and on every one you create or join in the future. A classic token created a year ago can touch a project you created today.
  • Scoped tokens carry only the organizations, projects, and permissions you choose. For example: read one project's database and view its logs, with no access to billing or organization settings.

To use scoped personal access tokens you need a Zuvo account with a role on the organization or project you want the token to reach. A scoped personal access token's permissions only ever narrow what your account can already do. They never grant more. If your role doesn't include a permission (see Access Control), granting that permission to a token has no effect: the token still can't do it.

You create scoped tokens the same way as classic tokens, from your access tokens settings. Choose which permissions to grant during creation instead of leaving the token with full access.

Create and use a scoped personal access token

This example creates a token that can only read one project's settings, then calls an endpoint outside that scope. Both calls are reads available to every organization role, including Read-Only, so anyone can run it.

  1. Go to your access tokens settings and generate a new token.
  2. While creating it, scope the token to one project and grant only the Project Settings permission with Read access.
  3. Copy the token (scoped personal access tokens start with sbp_fc) and use it against the Management API, replacing your-project-ref with the project's ref:
export SUPABASE_ACCESS_TOKEN="sbp_fc..."

# Allowed: Project Settings Read unlocks this endpoint
curl "https://api.zuvodev.com/v1/projects/your-project-ref" \
  -H "Authorization: Bearer $SUPABASE_ACCESS_TOKEN"
# Returns the project's details

# Denied: this endpoint needs the Database permission, which the token lacks
curl -i "https://api.zuvodev.com/v1/projects/your-project-ref/types/typescript" \
  -H "Authorization: Bearer $SUPABASE_ACCESS_TOKEN"
# Returns HTTP 403

The tables below list which permission unlocks which endpoints, and which permission each MCP tool requires, so you can grant exactly what a workflow needs.

Permission scopes

Each permission controls read or read-write access to one resource, for example Database, Edge Functions, or Production Branches. The permissions and names below match those shown when creating a scoped personal access token. Permissions that currently unlock neither a public Management API endpoint nor an MCP tool are omitted. A few endpoints need more than one permission. The footnotes call these out.

PermissionAccess requiredManagement API endpoint
Project
Project SettingsReadGet JIT access config
Get postgres upgrade eligibility1
Get postgres upgrade status1
Get project
Get services health
List available restore versions
List private link associations
Preview a project transfer
Read-writeCancel a project restoration
Create private link association
Delete a project
Delete private link association
Delete private link association for database
Get pgsodium config
OAuth authorize project claim2
Pause a project
Restart a project
Restore a project
Update a project
Update auth service config3
Update JIT access config
Update pgsodium config
Upgrade postgres version4
Action RunsReadCount action runs
Get action run
Get action run logs
List action runs
Read-writeUpdate action run status
AdvisorsReadGet performance advisors
Get security advisors
Analytics ConfigReadList log drains
Read-writeCreate log drain
Delete log drain
Update log drain
LogsReadGet project logs
Get project logs all
Scrape project metrics
Usage AnalyticsReadGet project function combined stats
Get project usage API count
Get project usage request count
Platform WebhooksReadGet delivery
Get endpoint
List deliveries
List endpoints
Read-writeCreate endpoint
Delete all endpoints
Delete endpoint
Retry delivery
Send test event
Update endpoint
Database
BackupsReadGet backup schedule
List all backups
Read-writeRestore PITR backup
Update backup schedule
DatabaseReadGenerate typescript types
Get database metadata
Get database openapi
Get postgres upgrade eligibility1
Get postgres upgrade status1
Get project config5
Get project PgBouncer config
Read only query
Run a query
Read-writeCreate login role
Delete login roles
Run a query
Upgrade postgres version4
Database ConfigReadGet postgres config
Get project config5
Read-writeUpdate database password
Update postgres config
Database JITReadAuthorize JIT access
Get JIT access
Read-writeDelete invite external JIT access
Delete JIT access
Invite external JIT access
List JIT access
Update JIT access
Network BansReadList all network bans
List all network bans enriched
Read-writeDelete network bans
Network RestrictionsReadGet network restrictions
Get project config5
Read-writePatch network restrictions
Update network restrictions
MigrationsReadGet a migration
List migration history
Read-writeApply a migration
Patch a migration
Rollback migrations
Upsert a migration
Connection PoolingReadGet pooler config
Read-writeUpdate pooler config
Read-only ModeReadGet read-only mode status
Read-writeDisable read-only mode temporarily
SSL EnforcementReadGet project config5
Get SSL enforcement config
Read-writeUpdate SSL enforcement config
Database WebhooksRead-writeEnable database webhook
Application services
API KeysReadGet project API key
Get project API keys
Get project legacy API keys
Read-writeCreate project API key
Delete project API key
Update project API key
Update project legacy API keys
Auth ConfigReadGet a SSO provider
Get auth service config
Get project config5
Get project TPA integration
List all SSO provider
List project TPA integrations
Read-writeCreate a SSO provider
Create project TPA integration
Delete a SSO provider
Delete project TPA integration
Update a SSO provider
Update auth service config3
Auth Signing KeysReadGet legacy signing key
Get project signing key
Get project signing keys
Read-writeCreate legacy signing key
Create project signing key
Remove project signing key
Update project signing key
Data API ConfigReadGet PostgREST service config
Get project config5
Read-writeUpdate PostgREST service config
Edge FunctionsReadGet a function
Get a function body
List all functions
Read-writeBulk update functions
Create a function
Delete a function
Deploy a function
Update a function
Edge Function SecretsReadList all secrets
Read-writeBulk create secrets
Bulk delete secrets
Realtime ConfigReadGet project config5
Get realtime config
Read-writeShutdown realtime
Update realtime config
StorageReadList all buckets
Storage ConfigReadGet project config5
Get storage config
Read-writeUpdate storage config
Infrastructure and delivery
Development BranchesReadGet a branch
Get a branch config
List all branches
Read-writeCreate a branch
Delete a branch
Diff a branch
Merge a branch
Push a branch
Reset a branch
Restore a branch
Update a branch config
Production BranchesReadGet a branch
Get a branch config
List all branches
Read-writeCreate a branch
Delete a branch
Diff a branch
Disable preview branching
Merge a branch
Push a branch
Reset a branch
Restore a branch
Update a branch config
Custom DomainsReadGet hostname config
Read-writeActivate custom hostname
Delete hostname config
Update hostname config
Verify DNS config
Add-onsReadList project add-ons
Read-writeApply project add-on
Remove project add-on
Disk ConfigReadGet database disk
Get disk utilization
Get project disk auto-scaling config
Read-writeModify database disk
Read ReplicasRead-writeRemove a read replica
Setup a read replica
Vanity SubdomainReadGet vanity subdomain config
Read-writeActivate vanity subdomain config
Check vanity subdomain availability
Deactivate vanity subdomain config
Account and organization
OrganizationsReadList all organizations
Read-writeCreate an organization
Projects (account-wide)ReadList all projects
SQL Snippets (account-wide)ReadGet a snippet
List all snippets
Organization SettingsReadGet an organization
Get organization entitlements
Read-writeAssign organization member role
OAuth authorize project claim2
Transfer a project
Organization MembersReadList organization members
List organization members
List organization roles
Read-writeCreate organization invitations
Delete organization invitations
Organization ProjectsReadGet all projects for organization
List organization GitHub connections
List organization projects
Read-writeCreate a project
Platform Webhooks (organization)ReadGet delivery
Get endpoint
List deliveries
List endpoints
Read-writeCreate endpoint
Delete all endpoints
Delete endpoint
Retry delivery
Send test event
Update endpoint

MCP tools

A scoped personal access token used to authenticate the MCP server can only call the tools its granted permissions unlock. See Available tools for what each tool does.

MCP toolRequired permission
apply_migrationMigrations (Read-write)
confirm_costNone (always available)
create_branchDevelopment Branches (Read-write) or Production Branches (Read-write)
create_projectOrganization Projects (Read-write)
delete_branchProduction Branches (Read-write) or Development Branches (Read-write)
deploy_edge_functionEdge Functions (Read-write)
execute_sqlDatabase (Read)
generate_typescript_typesDatabase (Read)
get_advisorsAdvisors (Read)
get_costOrganization Settings (Read) and Projects (account-wide) (Read)
get_edge_functionEdge Functions (Read)
get_logsLogs (Read)
get_organizationOrganization Settings (Read)
get_projectProject Settings (Read)
get_project_urlProject Settings (Read)
get_publishable_keysAPI Keys (Read)
get_storage_configStorage Config (Read)
list_branchesDevelopment Branches (Read) or Production Branches (Read)
list_edge_functionsEdge Functions (Read)
list_extensionsDatabase (Read)
list_migrationsMigrations (Read)
list_organizationsOrganizations (Read)
list_projectsProjects (account-wide) (Read)
list_storage_bucketsStorage (Read)
list_tablesDatabase (Read)
merge_branchProduction Branches (Read-write) or Development Branches (Read-write)
pause_projectProject Settings (Read-write)
query_logsLogs (Read)
rebase_branchProduction Branches (Read-write) or Development Branches (Read-write)
reset_branchProduction Branches (Read-write) or Development Branches (Read-write)
restore_projectProject Settings (Read-write)
search_docsNone (always available)
update_storage_configStorage Config (Read-write)

Footnotes

  1. Requires Project Settings (Read) and Database (Read). 2 3 4

  2. Requires Organization Settings (Read-write) and Project Settings (Read-write). 2

  3. Requires Auth Config (Read-write) and Project Settings (Read-write). 2

  4. Requires Project Settings (Read-write) and Database (Read-write). 2

  5. Requires Database Config (Read), Database (Read), SSL Enforcement (Read), Network Restrictions (Read), Auth Config (Read), Data API Config (Read), Realtime Config (Read), and Storage Config (Read). 2 3 4 5 6 7 8