Supabase Management API

How an agent gets a Supabase Management API key through KeyKeeper, what to choose on supabase.com, and how KeyKeeper verifies it.

Template idsupabase (also supabase-cli, supabase-access-token)
Fieldsupabase-access-token → SUPABASE_ACCESS_TOKEN · secret
Key looks likestarts with sbp_, shown once when created
Created atsupabase.com
Verified by KeyKeeperGET https://api.supabase.com/v1/projects — lists the projects this token can see
Template checked2026-09-15

What the agent does

keykeeper providers show supabase
keykeeper save --provider supabase --from-clipboard --create --purpose "what this task does"
keykeeper run -c supabase -- <your command>

--provider supabase fills in the credential id and the field. The environment variable is the one Supabase Management API's own tools read, so nothing has to be mapped.

What only you can do

Log in to supabase.com
Name the token
Pick an expiry
Copy the key, then approve the save in KeyKeeper's window.

What to choose

This is a Management API personal access token, not a database/runtime key. Prefer a scoped PAT limited to one project and only the permissions needed; classic PATs inherit the account's broad access.

The agent is told the same thing. It opens the page for you and says what to pick; it never logs in, passes 2FA or pays on your behalf.

What KeyKeeper checks

  • Before writing: the value must look like a Supabase Management API key (starts with sbp_, shown once when created). A wrong paste is refused before anything is stored, and the agent is told why — without the value.
  • After saving: KeyKeeper itself sends GET https://api.supabase.com/v1/projects with the key in the Authorization header (lists the projects this token can see). The agent receives accepted, rejected or could not reach — never the value.

Rotation and expiry

Set the Management API token's expiry when creating it and record that date here. Rotate or revoke at supabase.com.