Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
A direct command skips the review prompt. Inspect the source before running it.
Supabase API (v1) API skill. Use when working with Supabase API (v1) for branches, projects, organizations. Covers 158 endpoints.
version
1.0.0
generator
lapsh
Supabase API (v1)
API version: 1.0.0
Auth
Bearer bearer
Base URL
Not specified.
Setup
Set Authorization header with your Bearer token
GET /v1/projects -- verify access
POST /v1/branches/{branch_id_or_ref}/push -- create first push
Endpoints
158 endpoints across 5 groups. See references/api-spec.lap for full details.
branches
Method
Path
Description
GET
/v1/branches/{branch_id_or_ref}
Get database branch config
PATCH
/v1/branches/{branch_id_or_ref}
Update database branch config
DELETE
/v1/branches/{branch_id_or_ref}
Delete a database branch
POST
/v1/branches/{branch_id_or_ref}/push
Pushes a database branch
POST
/v1/branches/{branch_id_or_ref}/merge
Merges a database branch
POST
/v1/branches/{branch_id_or_ref}/reset
Resets a database branch
POST
/v1/branches/{branch_id_or_ref}/restore
Restore a scheduled branch deletion
GET
/v1/branches/{branch_id_or_ref}/diff
[Beta] Diffs a database branch
projects
Method
Path
Description
GET
/v1/projects
List all projects
POST
/v1/projects
Create a project
GET
/v1/projects/available-regions
[Beta] Gets the list of available regions that can be used for a new project
GET
/v1/projects/{ref}/actions
List all action runs
HEAD
/v1/projects/{ref}/actions
Count the number of action runs
GET
/v1/projects/{ref}/actions/{run_id}
Get the status of an action run
PATCH
/v1/projects/{ref}/actions/{run_id}/status
Update the status of an action run
GET
/v1/projects/{ref}/actions/{run_id}/logs
Get the logs of an action run
GET
/v1/projects/{ref}/api-keys
Get project api keys
POST
/v1/projects/{ref}/api-keys
Creates a new API key for the project
GET
/v1/projects/{ref}/api-keys/legacy
Check whether JWT based legacy (anon, service_role) API keys are enabled. This API endpoint will be removed in the future, check for HTTP 404 Not Found.
PUT
/v1/projects/{ref}/api-keys/legacy
Disable or re-enable JWT based legacy (anon, service_role) API keys. This API endpoint will be removed in the future, check for HTTP 404 Not Found.
PATCH
/v1/projects/{ref}/api-keys/{id}
Updates an API key for the project
GET
/v1/projects/{ref}/api-keys/{id}
Get API key
DELETE
/v1/projects/{ref}/api-keys/{id}
Deletes an API key for the project
GET
/v1/projects/{ref}/branches
List all database branches
POST
/v1/projects/{ref}/branches
Create a database branch
DELETE
/v1/projects/{ref}/branches
Disables preview branching
GET
/v1/projects/{ref}/branches/{name}
Get a database branch
GET
/v1/projects/{ref}/custom-hostname
[Beta] Gets project's custom hostname config
organizations
Method
Path
Description
GET
/v1/organizations
List all organizations
POST
/v1/organizations
Create an organization
GET
/v1/organizations/{slug}/members
List members of an organization
GET
/v1/organizations/{slug}
Gets information about the organization
GET
/v1/organizations/{slug}/project-claim/{token}
Gets project details for the specified organization and claim token
POST
/v1/organizations/{slug}/project-claim/{token}
Claims project for the specified organization
GET
/v1/organizations/{slug}/projects
Gets all projects for the given organization
oauth
Method
Path
Description
GET
/v1/oauth/authorize
[Beta] Authorize user through oauth
POST
/v1/oauth/token
[Beta] Exchange auth code for user's access and refresh token
POST
/v1/oauth/revoke
[Beta] Revoke oauth app authorization and it's corresponding tokens
GET
/v1/oauth/authorize/project-claim
Authorize user through oauth and claim a project
snippets
Method
Path
Description
GET
/v1/snippets
Lists SQL snippets for the logged in user
GET
/v1/snippets/{id}
Gets a specific SQL snippet
Common Questions
Match user requests to endpoints in references/api-spec.lap. Key patterns:
"Get branche details?" -> GET /v1/branches/{branch_id_or_ref}
"Partially update a branche?" -> PATCH /v1/branches/{branch_id_or_ref}
"Delete a branche?" -> DELETE /v1/branches/{branch_id_or_ref}
"Create a push?" -> POST /v1/branches/{branch_id_or_ref}/push
"Create a merge?" -> POST /v1/branches/{branch_id_or_ref}/merge
"Create a reset?" -> POST /v1/branches/{branch_id_or_ref}/reset
"Create a restore?" -> POST /v1/branches/{branch_id_or_ref}/restore
"List all diff?" -> GET /v1/branches/{branch_id_or_ref}/diff
"List all projects?" -> GET /v1/projects
"Create a project?" -> POST /v1/projects
"List all available-regions?" -> GET /v1/projects/available-regions
"List all organizations?" -> GET /v1/organizations
"Create a organization?" -> POST /v1/organizations
"List all authorize?" -> GET /v1/oauth/authorize
"Create a token?" -> POST /v1/oauth/token
"Create a revoke?" -> POST /v1/oauth/revoke
"List all project-claim?" -> GET /v1/oauth/authorize/project-claim
"List all snippets?" -> GET /v1/snippets
"Get snippet details?" -> GET /v1/snippets/{id}
"List all actions?" -> GET /v1/projects/{ref}/actions
"Get action details?" -> GET /v1/projects/{ref}/actions/{run_id}
"List all logs?" -> GET /v1/projects/{ref}/actions/{run_id}/logs
"List all api-keys?" -> GET /v1/projects/{ref}/api-keys
"Create a api-key?" -> POST /v1/projects/{ref}/api-keys
"List all legacy?" -> GET /v1/projects/{ref}/api-keys/legacy
"Partially update a api-key?" -> PATCH /v1/projects/{ref}/api-keys/{id}
"Get api-key details?" -> GET /v1/projects/{ref}/api-keys/{id}
"Delete a api-key?" -> DELETE /v1/projects/{ref}/api-keys/{id}
"List all branches?" -> GET /v1/projects/{ref}/branches
"Create a branche?" -> POST /v1/projects/{ref}/branches
"Get branche details?" -> GET /v1/projects/{ref}/branches/{name}
"List all custom-hostname?" -> GET /v1/projects/{ref}/custom-hostname
"Create a initialize?" -> POST /v1/projects/{ref}/custom-hostname/initialize
"Create a reverify?" -> POST /v1/projects/{ref}/custom-hostname/reverify
"Create a activate?" -> POST /v1/projects/{ref}/custom-hostname/activate
"List all jit-access?" -> GET /v1/projects/{ref}/jit-access
"Create a retrieve?" -> POST /v1/projects/{ref}/network-bans/retrieve
"Create a enriched?" -> POST /v1/projects/{ref}/network-bans/retrieve/enriched
"List all network-restrictions?" -> GET /v1/projects/{ref}/network-restrictions
Response Tips
Check response schemas in references/api-spec.lap for field details
List endpoints may support pagination; check for limit, offset, or cursor params
Create/update endpoints typically return the created/updated object
References
Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas
Set up the project's existing JWT secret as an in_use JWT signing key. This endpoint will be removed in the future always check for HTTP 404 Not Found.
Get the signing key information for the JWT secret imported as signing key for this project. This endpoint will be removed in the future, check for HTTP 404 Not Found.
POST
/v1/projects/{ref}/config/auth/signing-keys
Create a new signing key for the project in standby status
GET
/v1/projects/{ref}/config/auth/signing-keys
List all signing keys for the project
GET
/v1/projects/{ref}/config/auth/signing-keys/{id}
Get information about a signing key
DELETE
/v1/projects/{ref}/config/auth/signing-keys/{id}
Remove a signing key from a project. Only possible if the key has been in revoked status for a while.