# Supabase MCP connector

The Supabase connector brings your Supabase organizations, members, branches, API keys and custom domains to Claude, ChatGPT, Cursor and any MCP client, so each person can review and manage them in plain language, inside their own access, with every action logged.

Source: https://elaichi.ai/connectors/supabase/

## Facts

| | |
| --- | --- |
| Application | Supabase |
| Category | Application Development |
| AI tools | 169 |
| Authentication | Connects over OAuth |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 169 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Supabase is connected

- Which branches on the checkout project have unmerged diffs?
- Show every member of our Supabase organization by role.
- List legacy API keys still active across production projects.

## Connect Supabase in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Supabase.
2. Optionally set Share with, then press Connect.
3. Approve it in Supabase. Supabase's own window opens. Whoever approves it decides what this connection can reach.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Supabase tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Supabase to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Supabase to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Supabase to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Supabase to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Supabase tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Supabase through Elaichi

### Review a branch before it merges

Engineering. Ask what has changed on a Supabase branch, read the differences in plain language, and merge or push it once the team is satisfied.

### Roll a broken branch back

Platform. When a change goes wrong, reset or restore the Supabase branch to a known good state without hunting through the dashboard.

### See who can reach each organization

Security. List the members of every Supabase organization and the apps that have been authorized against it, then revoke anything that should no longer be there.

### Retire legacy API keys in bulk

Platform. Pull up the legacy API keys still in use across your Supabase projects and update them together instead of one at a time.

### Get a custom domain live

IT. Start the custom hostname setup for a Supabase project, check verification when the DNS record is in place, and activate it, all from one conversation.

### Check network bans after an incident

Security. Retrieve the current network bans on a Supabase project when traffic looks suspicious and confirm what is blocked.

## Frequently asked questions

### How do I connect Supabase to Claude?

Connect Supabase in Elaichi first: click connect, sign in to your Supabase account, and approve the access it asks for. There is no OAuth application to register and no client ID or secret to generate. Then in Claude open Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Sign in with your Elaichi account and Supabase is available in Claude.

### Does Supabase work with ChatGPT and Cursor as well as Claude?

Yes. Once Supabase is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any MCP client and the Elaichi Agent. You connect Supabase once and every client picks it up.

### What can an AI agent actually do with my Supabase account?

Through Elaichi, an agent can list your Supabase organizations and their members, show what has changed on a branch and merge, push, reset or restore it, review and update legacy API keys, set up and activate a custom domain, check network bans, and see or revoke the apps authorized against your account. Because Supabase exposes a large number of actions, short concrete asks such as "show the diff on the staging branch" work better than long paragraphs.

### Does connecting Supabase give the AI access to all my organizations and projects?

No. The agent works inside the access of the person who signed in to Supabase, so it sees only the organizations, projects and branches that person can already reach in Supabase itself. Elaichi can narrow that further with restrictions on individual actions, and it can never widen it beyond what Supabase grants that person.

### Can my team share one Supabase connection?

Yes. One person connects Supabase in Elaichi and shares the connection with a team, and nobody else ever handles a credential or generates a key. Each teammate still signs in to Elaichi as themselves, so every action against Supabase is recorded under the name of the person who asked for it.

### Can I stop an agent from deleting or changing things in Supabase?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Supabase branches and members while blocking merges, resets, deletions or key changes. A blocked action is never shown to Claude, ChatGPT, Cursor or any other client, so no prompt can reach it.

### What happens to a Supabase connection when someone leaves?

Offboarding a person in Elaichi ends their access to Supabase through every connected client at once. A Supabase connection shared with a team keeps working for everyone else on that team. If you want to remove Supabase entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client.

## All 169 Supabase tools

Every tool below is callable through https://api.elaichi.ai/mcp once Supabase is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Supabase organization** (List). List all Supabase organizations that you currently belong to. Returns: id, slug, name.
- **Get single Supabase organization by ID** (Get). Get information about a specific Supabase organization by id (organization slug). Returns: id, name, plan, opt_in_tags, allowed_release_channels, slug. Required: id.
- **List all Supabase organization members** (List). List members of a Supabase organization. Returns: user_id, user_name, email, role_name, mfa_enabled, avatar_url. Required: organization_id.
- **List all Supabase me** (List). Get the authenticated Supabase user's profile information via the OpenID Connect userinfo endpoint. Returns: sub, email, email_verified.
- **Supabase action status bulk update** (Update). Update the status of an action run. Returns: message. Required: ref, run_id.
- **Supabase API keys legacies bulk update** (Update). Enable or disable JWT-based legacy (anon, service_role) API keys for a Supabase project. Returns the keys array containing each legacy API key's id, algorithm, status, public_jwk, created_at, and updated_at. Required: ref, enabled. Deprecated — may return 404 in the future.
- **List all Supabase API keys legacies** (List). Check whether JWT-based legacy (anon, service_role) API keys are enabled for a Supabase project. Returns the keys array containing each legacy API key's id, algorithm, status, public_jwk, created_at, and updated_at. Required: ref. Deprecated — may return 404 in the future.
- **List all Supabase authorize project claims** (List). Initiate the Supabase OAuth authorization flow to claim ownership of a specified project. Returns an empty 204 response on success. Required: project_ref, client_id, response_type, redirect_uri.
- **List all Supabase branche diffs** (List). Get the schema diff for a Supabase database branch. Returns the diff output as a plain text string containing SQL statements representing schema differences between the branch and its parent. Required: branch_id_or_ref. This is a Beta endpoint.
- **Create a Supabase branche merge** (Create). Merge a Supabase database branch identified by branch_id_or_ref into its parent branch. Returns: workflow_run_id, message. Required: branch_id_or_ref.
- **Create a Supabase branche push** (Create). Pushes a database branch. Returns: workflow_run_id, message. Required: branch_id_or_ref.
- **Supabase branches bulk delete** (Delete). Delete a Supabase database branch by branch_id_or_ref. By default, deletes immediately; set force to false to schedule deletion with a 1-hour grace period when soft deletion is enabled. Returns: message. Required: branch_id_or_ref.
- **Supabase branches bulk update** (Update). Update the configuration of a Supabase database branch by branch_id_or_ref. Returns: id, name, project_ref, parent_project_ref, is_default, git_branch, pr_number, latest_check_run_id, persistent, status, created_at, updated_at, review_requested_at, with_data, notify_url, deletion_scheduled_at, preview_project_status. Required: branch_id_or_ref, requestedConfig.
- **List all Supabase branches** (List). Get the configuration of a Supabase database branch by branch_id_or_ref. Returns: ref, postgres_version, postgres_engine, release_channel, status, db_host, db_port, db_user, db_pass, jwt_secret, id, name, project_ref, parent_project_ref, is_default, git_branch, pr_number, latest_check_run_id, persistent, created_at, updated_at, review_requested_at, with_data, notify_url, deletion_scheduled_at,…
- **Supabase branches reset** (Action). Reset a Supabase database branch by branch_id_or_ref, optionally targeting a specific branch name or rollback point. Returns: workflow_run_id, message. Required: branch_id_or_ref.
- **Supabase branches restore** (Restore). Restore a scheduled deletion of a Supabase database branch by branch_id_or_ref, cancelling the scheduled deletion and restoring the branch to active state. Returns: message. Required: branch_id_or_ref.
- **Create a Supabase custom hostname activate** (Create). Activate a custom hostname for a Supabase project (beta endpoint). Returns: status, custom_hostname, data, custom_domain. Required: ref.
- **Create a Supabase custom hostname initialize** (Create). Initialize a custom hostname configuration for a Supabase project. Returns: status, custom_hostname, data. Required: ref, custom_hostname. Beta endpoint.
- **Create a Supabase custom hostname reverify** (Create). Reverify the DNS configuration for a Supabase project's custom hostname, returning the updated configuration status and verification data. Returns: status, custom_hostname, data, custom_domain. Required: ref.
- **Create a Supabase network bans retrieve** (Create). Retrieve a Supabase project's network bans by project ref. Returns: banned_ipv4_addresses. Required: ref. This is a beta endpoint.
- **List all Supabase oauth authorizes** (List). Initiate a Supabase OAuth authorization flow for a user. Returns an empty 204 response on success — the authorization code or token is delivered to the redirect URI as part of the OAuth redirect. Required: client_id, response_type, redirect_uri. Beta endpoint.
- **Create a Supabase oauth revoke** (Create). Revoke a Supabase OAuth app authorization and its corresponding tokens (beta). Returns an empty 204 response on success. Required: email, token.
- **Create a Supabase oauth token** (Create). Exchange an authorization code, refresh token, or JWT bearer assertion for a Supabase user's access and refresh token. Returns: access_token, refresh_token, expires_in, token_type. The jwt-bearer grant type (IDJAG) is in beta and available on Team and Enterprise plans only.
- **Create a Supabase organization** (Create). Create an organization. Returns: id, slug, name. Required: name.
- **List all Supabase profiles** (List). Get the current user's Supabase Management API profile. Returns: gotrue_id, primary_email, username.
- **Get single Supabase project action by ID** (Get). Get the status of a Supabase action run by id. Returns: id, branch_id, run_steps, git_config, workdir, check_run_id, created_at, updated_at, run_id, status. Required: ref, id.
- **List all Supabase project actions** (List). List all Supabase action runs for a project. Returns: id, branch_id, run_steps, git_config, workdir, check_run_id, created_at, updated_at. Required: ref.
- **Supabase project actions list logs** (List). Get the logs of a Supabase action run as plain text. Returns the log output as a plain-text string. Required: ref, run_id.
- **Create a Supabase project API key** (Create). Creates a new API key for the project. Returns: api_key, id, type, prefix, name, description, hash, secret_jwt_template. Required: ref, type, name.
- **Delete a Supabase project API key by ID** (Delete). Delete a Supabase project API key. Returns the deleted API key object including id, api_key, type, prefix, name, description, hash, secret_jwt_template, inserted_at, and updated_at. Required: ref, id. The id must be a UUID-formatted string and ref must be exactly 20 lowercase letters.
- **Get single Supabase project API key by ID** (Get). Get a specific Supabase project API key by its id. Returns: api_key, id, type, prefix, name, description, hash, secret_jwt_template, inserted_at, updated_at. Pass reveal=true to include the full api_key value. Required: ref, id.
- **List all Supabase project API keys** (List). List all API keys for a Supabase project. Returns: api_key, id, type, prefix, name, description, hash, secret_jwt_template, inserted_at, updated_at. Required: ref. Set reveal to a truthy value to include full key values in the response.
- **Update a Supabase project API key by ID** (Update). Update a Supabase project API key's name, description, or secret JWT template by id. Returns: api_key, id, type, prefix, name, description, hash, secret_jwt_template, inserted_at, updated_at. Required: ref, id.
- **Supabase project branches bulk delete** (Delete). Disable preview branching for a Supabase project. Returns an empty 200 response on success. Required: ref.
- **Create a Supabase project branch** (Create). Create a database branch from a Supabase project. Returns the created branch object including id, name, project_ref, parent_project_ref, is_default, git_branch, persistent, status, created_at, updated_at, review_requested_at, with_data, notify_url, deletion_scheduled_at, and preview_project_status. Required: ref, branch_name.
- **List all Supabase project branches** (List). List all database branches of a Supabase project. Returns each branch with id, name, project_ref, parent_project_ref, is_default, git_branch, persistent, status, created_at, updated_at, review_requested_at, with_data, notify_url, deletion_scheduled_at, and preview_project_status. Required: ref.
- **List all Supabase project branches projects** (List). Get a Supabase database branch by project ref and branch name. Returns: id, name, project_ref, parent_project_ref, is_default, git_branch, pr_number, latest_check_run_id, persistent, status, created_at, updated_at, review_requested_at, with_data, notify_url, deletion_scheduled_at, preview_project_status. Required: ref, name.
- **Supabase project custom hostnames bulk delete** (Delete). Delete a Supabase project's custom hostname configuration. Returns an empty 200 response on success. Required: ref.
- **List all Supabase project custom hostnames** (List). Get a Supabase project's custom hostname configuration. Returns: status, custom_hostname, data, custom_domain. Required: ref.
- **Supabase project jit acceses bulk update** (Update). Update a Supabase project's temporary (JIT) access configuration by setting the desired state. Returns: state, appliedSuccessfully, unavailableReason. Required: ref, state.
- **List all Supabase project jit acceses** (List). Get a Supabase project's temporary (JIT) access configuration. Returns: state, appliedSuccessfully, unavailableReason. Required: ref.
- **Supabase project network bans bulk delete** (Delete). Remove network bans from a Supabase project by specifying the banned IPv4 addresses to unban. Returns an empty 200 response on success. Required: ref, banned_ipv4_addresses.
- **Supabase projects bulk delete** (Delete). Deletes the given project. Returns: id, ref, name. Required: ref.
- **Supabase projects bulk update** (Update). Update a Supabase project by its ref. Returns the updated project object including ref, name, cloud_provider, region, is_branch, status, and inserted_at. Required: ref, name. The ref must be exactly 20 lowercase letters.
- **Create a Supabase project** (Create). Create a new Supabase project in a specified organization. Returns: id, ref, organization_id, organization_slug, name, region, created_at, status. Required: organization_slug, name, db_pass. The organization_id, plan, region, and kps_enabled fields are deprecated.
- **Supabase projects get restore** (Get). List available restore versions for a Supabase project. Returns the available restore versions for the project. Required: ref (the project reference string, exactly 20 lowercase letters).
- **List all Supabase projects** (List). List all Supabase projects you've previously created. Returns each project's id, ref, name, region, status, organization_id, and database configuration details.
- **Supabase projects pause** (Pause). Pause a Supabase project by its project ref. Returns an empty response on success. Required: ref.
- **Supabase projects restore** (Restore). Restore a paused Supabase project by its project ref. Returns an empty response on success. Required: ref.
- **List all Supabase projects available regions** (List). List available Supabase regions that can be used when creating a new project, optionally filtered by continent and desired instance size. Returns the RegionsInfo object containing available regions for project creation. Required: organization_slug. This endpoint is in beta.
- **List all Supabase projects v 1** (List). Get a specific Supabase project by its project ref. Returns: id, ref, organization_id, organization_slug, name, region, created_at, status, database, cloud_provider, is_branch, inserted_at, databases. Required: ref.
- **Create a Supabase retrieve enriched** (Create). Retrieve a Supabase project's enriched network bans with additional information about which databases they affect. Returns: banned_ipv4_addresses. Required: ref. This endpoint is in Beta.
- **Get single Supabase snippet by ID** (Get). Get a specific SQL snippet in Supabase by id. Returns: id, inserted_at, updated_at, type, visibility, name, description, project, owner, updated_by, favorite, content. Required: id.
- **List all Supabase snippets** (List). List SQL snippets for the logged in user in Supabase. Returns each snippet's id, name, inserted_at. Filter by project_ref and sort by name or inserted_at.
- **List all Supabase advisors performances** (List). Gets project performance advisors. Returns: lints. Required: ref.
- **List all Supabase advisors securities** (List). List security advisors for a Supabase project. Returns a lints array where each item includes name, title, level, facing, categories, description, detail, remediation, metadata, and cache_key. Required: ref. This is an experimental, deprecated endpoint subject to change or removal.
- **Create a Supabase auth signing key** (Create). Create a new JWT signing key for a Supabase project in standby status. Returns: id, algorithm, status, public_jwk, created_at, updated_at. Required: ref, algorithm.
- **Delete a Supabase auth signing key by ID** (Delete). Remove a signing key from a Supabase project. Only possible if the key has been in revoked status for a while. Returns: id, algorithm, status, public_jwk, created_at, updated_at. Required: ref, id.
- **Get single Supabase auth signing key by ID** (Get). Get information about a specific signing key in a Supabase project. Returns: id, algorithm, status, public_jwk, created_at, updated_at. Required: ref, id.
- **List all Supabase auth signing keys** (List). List all signing keys for a Supabase project. Returns: keys. Required: ref.
- **Update a Supabase auth signing key by ID** (Update). Update a signing key's status in a Supabase project. Returns: id, algorithm, status, public_jwk, created_at, updated_at. Required: ref, id, status.
- **Supabase auth third party auths bulk delete** (Delete). Remove a Supabase third-party auth integration by tpa_id. Returns the deleted integration object including id, type, oidc_issuer_url, jwks_url, inserted_at, updated_at. Required: ref, tpa_id.
- **Create a Supabase auth third party auth** (Create). Create a new Supabase third-party auth integration for a project. Returns the created integration object including id, type, oidc_issuer_url, jwks_url, custom_jwks, resolved_jwks, inserted_at, updated_at, resolved_at. Required: ref.
- **Get single Supabase auth third party auth by ID** (Get). Get a single Supabase third-party auth integration by id. Returns the integration object including id, type, oidc_issuer_url, jwks_url, custom_jwks, resolved_jwks, inserted_at, updated_at, resolved_at. Required: ref, id.
- **List all Supabase auth third party auths** (List). List all Supabase third-party auth integrations for a project. Returns: id, type, oidc_issuer_url, jwks_url, custom_jwks, resolved_jwks, inserted_at, updated_at, resolved_at. Required: ref.
- **Supabase billing addons bulk delete** (Delete). Remove a billing addon or revert compute instance sizing for a Supabase project by disabling the selected addon variant, including rolling the compute instance back to its previous size. Returns an empty 200 response on success. Required: ref, addon_variant.
- **Supabase billing addons bulk update** (Update). Apply or update billing addons for a Supabase project, such as scaling the compute instance up or down. Returns an empty 200 response on success. Required: ref, addon_variant, addon_type.
- **List all Supabase billing addons** (List). List billing addons and compute instance selections for a Supabase project. Returns: selected_addons, available_addons. Required: ref.
- **Supabase config auths bulk update** (Update). Update a Supabase project's auth (GoTrue) configuration by submitting a requestedConfig object with the fields to change. Returns the updated full auth config including site_url, disable_signup, external OAuth provider settings, SMTP/mailer settings, SMS provider settings, MFA options, hooks, rate limits, SAML, and security settings. Required: ref.
- **List all Supabase config auths** (List). Get a Supabase project's auth (GoTrue) configuration. Returns the full auth config including site_url, disable_signup, external OAuth provider settings (GitHub, Google, Apple, etc.), SMTP/mailer settings, SMS provider settings, MFA options, hooks, rate limits, SAML, and security settings. Required: ref.
- **Supabase endpoints logs all** (Action). Query Supabase project logs by executing a SQL query on the project's logs (deprecated). Returns: result, error. Required: ref. If iso_timestamp_start and iso_timestamp_end are both omitted, only the last 1 minute of logs is queried; the timestamp range must not exceed 24 hours. Unless the sql parameter is provided, only edge_logs are queried.
- **List all Supabase endpoints logs** (List). Query Supabase project logs by executing a ClickHouse SQL query on the project's unified logs stream. Returns: result, error. Required: ref. If iso_timestamp_start and iso_timestamp_end are both omitted, only the last 1 minute of logs is queried; the timestamp range must not exceed 24 hours. Filter by the source column to specify log sources such as edge_logs, postgres_logs, etc.
- **Create a Supabase network restrictions apply** (Create). Apply network restrictions to a Supabase project, specifying allowed IPv4 and IPv6 CIDR blocks for database access. Returns: entitlement, config, old_config, status, updated_at, applied_at. Required: ref. Beta endpoint.
- **Supabase project claim tokens bulk delete** (Delete). Revoke a Supabase project claim token, invalidating it for future OAuth project-claim authorization flows. Returns an empty 204 response on success. Required: ref.
- **Create a Supabase project claim token** (Create). Create a claim token for a Supabase project, enabling ownership transfer through the project-claim OAuth flow. Returns the project claim token response. Required: ref.
- **List all Supabase project claim tokens** (List). Get the claim token for a Supabase project. Returns the project claim token response. Required: ref.
- **List all Supabase project healths** (List). Get a Supabase project's service health status for one or more specified services. Returns an array of health records with name, healthy, status, info, and error for each requested service. Required: ref, services.
- **Supabase project network restrictions bulk update** (Update). Bulk update a Supabase project's network restrictions by adding or removing IPv4 and IPv6 CIDRs. Returns: entitlement, config, old_config, updated_at, applied_at, status. Required: ref. Alpha endpoint.
- **List all Supabase project network restrictions** (List). Get a Supabase project's network restrictions configuration. Returns: entitlement, config, old_config, status, updated_at, applied_at. Required: ref. This is a Beta endpoint.
- **Supabase project pgsodiums bulk update** (Update). Update a Supabase project's pgsodium encryption configuration. Returns: root_key. Required: ref, root_key. Updating the root_key can cause all data encrypted with the older key to become inaccessible. This is a Beta endpoint.
- **List all Supabase project pgsodiums** (List). Get a Supabase project's pgsodium encryption configuration (beta endpoint). Returns the project's root_key, the master encryption key used by pgsodium for column-level encryption. Required: ref.
- **Supabase project postgrests bulk update** (Update). Update a Supabase project's PostgREST configuration including database schema, max rows, pool settings, and search path. Returns: db_schema, max_rows, db_extra_search_path, db_pool, db_pool_acquisition_timeout. Required: ref.
- **List all Supabase project postgrests** (List). Get the PostgREST configuration for a Supabase project. Returns: db_schema, max_rows, db_extra_search_path, db_pool, db_pool_acquisition_timeout, jwt_secret. Required: ref (20-character lowercase project reference).
- **List all Supabase project readonlies** (List). Get a Supabase project's readonly mode status. Returns: enabled, override_enabled, override_active_until. Required: ref.
- **Create a Supabase project restart** (Create). Restart a Supabase project by its project reference. Returns an empty 200 response on success. Required: ref.
- **Supabase project secrets bulk delete** (Delete). Bulk delete secrets from a Supabase project by supplying the names of the secrets to remove. Returns an empty response on success. Required: ref and a request body containing the names of the secrets to delete.
- **Create a Supabase project secret** (Create). Bulk create multiple secrets and add them to the specified Supabase project. Returns an empty 201 response on success. Required: ref, and an array of secret objects each with name and value.
- **List all Supabase project secrets** (List). List all secrets previously added to a Supabase project. Returns an array of secret objects including name, value, and updated_at. Required: ref.
- **Supabase project ssl enforcements bulk update** (Update). Update the SSL enforcement configuration for a Supabase project. Returns: currentConfig, appliedSuccessfully. Required: ref, requestedConfig.
- **List all Supabase project ssl enforcements** (List). Get a Supabase project's SSL enforcement configuration. Returns: currentConfig (with the database SSL enforcement flag), appliedSuccessfully. Required: ref. This endpoint is in beta.
- **Create a Supabase project upgrade** (Create). [Beta] Upgrades the project's Postgres version. Returns: tracking_id. Required: ref, target_version.
- **Supabase project vanity subdomains bulk delete** (Delete). Delete a Supabase project's vanity subdomain configuration. Returns an empty 200 response on success. Required: ref.
- **List all Supabase project vanity subdomains** (List). Get the current vanity subdomain configuration for a Supabase project. Returns: status, custom_domain. Required: ref.
- **Create a Supabase read replicas remove** (Create). Remove a read replica from a Supabase project. Returns an empty 204 response on success. Required: ref. This is a Beta endpoint.
- **Create a Supabase read replicas setup** (Create). Set up a read replica for a Supabase project. Returns an empty 204 response on success. Required: ref (project ref) and a JSON request body containing read_replica_region. Beta feature available only on Pro, Team, or Enterprise plans.
- **Create a Supabase readonly temporary disable** (Create). Temporarily disable a Supabase project's readonly mode for the next 15 minutes. Returns an empty 201 response on success. Required: ref.
- **Create a Supabase restore cancel** (Create). Cancel an in-progress Supabase project restoration. Returns an empty 200 response on success. Required: ref.
- **Create a Supabase signing keys legacy** (Create). Set up a Supabase project's existing JWT secret as an in_use JWT signing key. Returns the signing key object including id, algorithm, status, public_jwk, created_at, and updated_at. Required: ref. This endpoint is deprecated and may be removed in the future; check for HTTP 404.
- **List all Supabase signing keys legacies** (List). Get the signing key information for the JWT secret imported as a signing key for a Supabase project. Returns the signing key object including id, algorithm, status, public_jwk, created_at, and updated_at. Required: ref. This endpoint is deprecated and may be removed in the future; check for HTTP 404.
- **List all Supabase types typescripts** (List). Generate TypeScript types for a Supabase project database schema for use with supabase-js. Returns: types. Required: ref. The included_schemas query parameter defaults to the public schema and accepts a comma-separated list (e.g. public,auth).
- **List all Supabase upgrade status** (List). Get the latest status of a Supabase project's Postgres upgrade. Returns: a databaseUpgradeStatus object containing initiated_at, latest_status_at, target_version, error, progress, and status. Required: ref.
- **Create a Supabase vanity subdomain activate** (Create). Activate a vanity subdomain for a Supabase project. Returns: custom_domain. Required: ref, vanity_subdomain. Beta feature available on Pro, Team, or Enterprise plans only.
- **Create a Supabase vanity subdomain check availability** (Create). Check whether a vanity subdomain is available for a Supabase project. Returns: available. Required: ref, vanity_subdomain. Available on Pro, Team, and Enterprise plans only.
- **Supabase cli login roles bulk delete** (Delete). Delete existing CLI login roles for a Supabase project. Returns: message. Required: ref.
- **Create a Supabase cli login role** (Create). Create a CLI login role for a Supabase project with a temporary password. Returns: role, password, ttl_seconds. Required: ref, role, rhost.
- **Create a Supabase config disk** (Create). Modify the database disk configuration for a Supabase project. Returns an empty 201 response on success. Required: ref, requestedConfig.
- **List all Supabase config disks** (List). Get database disk attributes for a Supabase project. Returns: attributes, last_modified_at. Required: ref.
- **Supabase config realtimes bulk update** (Update). Update the realtime configuration for a Supabase project, including connection limits, event rate limits, and feature toggles. Returns an empty 204 response on success. Required: ref.
- **List all Supabase config realtimes** (List). Get a Supabase project's realtime configuration including private_only, connection_pool, max_concurrent_users, max_events_per_second, max_bytes_per_second, max_channels_per_client, max_joins_per_second, max_presence_events_per_second, max_payload_size_in_kb, suspend, and presence_enabled. Required: ref.
- **Supabase config storages bulk update** (Update). Update a Supabase project's storage configuration with new file size limit, features, or external settings. Returns an empty 200 response on success. Required: ref.
- **List all Supabase config storages** (List). Get a Supabase project's storage configuration. Returns: features, capabilities, external. Required: ref.
- **List all Supabase database contexts** (List). List database metadata for a Supabase project. Returns: databases. Required: ref. This endpoint is experimental and deprecated.
- **Supabase database jits bulk delete** (Delete). Delete JIT access mappings for a specific user in a Supabase project database, revoking all JIT database access. Returns an empty 200 response on success. Required: ref, user_id.
- **Supabase database jits bulk update** (Update). Update JIT access user-id to role mappings for a Supabase project database, modifying the roles that can be assumed and for how long. Returns: user_id, user_roles. Required: ref, user_id, roles.
- **Create a Supabase database jit** (Create). Authorize JIT database access for a user in a Supabase project, authorizing the request to assume a role in the project database. Returns: user_id, user_role. Required: ref, role, rhost.
- **List all Supabase database jits** (List). List JIT access user-id to role mappings for a Supabase project database, showing the roles a user can assume. Returns: user_id, user_roles. Required: ref.
- **Supabase database migrations bulk delete** (Delete). Rollback database migrations in a Supabase project and remove them from the migration history table. Returns an empty 200 response on success. Required: ref, gte.
- **Supabase database migrations bulk update** (Update). Upsert a database migration entry in a Supabase project without applying it to the database. Returns an empty 200 response on success. Required: ref, query.
- **Create a Supabase database migration** (Create). Apply a database migration to a Supabase project by executing the provided SQL query. Returns an empty 200 response on success. Required: ref, query.
- **List all Supabase database migrations** (List). List applied database migration versions for a Supabase project. Returns: version, name. Required: ref.
- **Update a Supabase database migration by ID** (Update). Patch an existing entry in a Supabase project's migration history by updating its name and rollback SQL. Returns an empty 200 response on success. Required: ref, version.
- **List all Supabase database migrations database** (List). Fetch an existing entry from Supabase migration history by project ref and migration version. Returns: version, name, statements, rollback, created_by, idempotency_key. Required: ref, version.
- **List all Supabase database openapis** (List). Get the PostgREST OpenAPI specification for a Supabase project, which describes the auto-generated REST API for the database. Returns an OpenAPI spec document including the openapi version, info metadata, and paths describing the available database endpoints. Required: ref. This is the replacement for querying /rest/v1/ directly with the anon key.
- **Supabase database passwords bulk update** (Update). Update the database password for a Supabase project. Returns an empty 200 response on success. Required: ref, password.
- **List all Supabase database pgbouncers** (List). Get a Supabase project's PgBouncer connection pooler configuration. Returns: default_pool_size, ignore_startup_parameters, max_client_conn, pool_mode, connection_string, server_idle_timeout, server_lifetime, query_wait_timeout, reserve_pool_size. Required: ref.
- **Supabase database poolers bulk update** (Update). Updates project's supavisor config. Returns: default_pool_size, pool_mode. Required: ref.
- **List all Supabase database poolers** (List). List Supabase database pooler (Supavisor) configurations for a project. Returns: identifier, database_type, is_using_scram_auth, db_user, db_host, db_port, db_name, connection_string, connectionString, default_pool_size, max_client_conn, pool_mode. Required: ref.
- **Supabase database postgres bulk update** (Update). Update a Supabase project's Postgres database configuration. Returns the updated config including max_connections, shared_buffers, work_mem, statement_timeout, checkpoint_timeout, and other Postgres runtime parameters. Required: ref.
- **List all Supabase database postgres** (List). Get a Supabase project's Postgres database configuration. Returns: effective_cache_size, logical_decoding_work_mem, cron.log_statement, log_autovacuum_min_duration, log_checkpoints, log_connections, log_disconnections, log_duration, log_lock_waits, log_recovery_conflict_waits, log_replication_commands, log_startup_progress_interval, log_temp_files, maintenance_work_mem, track_activity_query_size,…
- **Create a Supabase database query** (Create). Run a SQL query against a Supabase project's database. Beta endpoint. Returns query results whose shape depends on the SQL statement executed and is not formally defined in the API spec. Required: ref (the 20-character lowercase project reference). A JSON request body is also required.
- **List all Supabase disk autoscales** (List). Get the disk autoscale configuration for a Supabase project. Returns: growth_percent, min_increment_gb, max_size_gb. Required: ref.
- **List all Supabase disk utils** (List). Get disk utilization metrics for a Supabase project. Returns: timestamp, metrics. Required: ref.
- **List all Supabase endpoints functions combined stats** (List). Get a Supabase project's function combined statistics for a specific edge function, bucketed by time interval. Returns: result, error. Required: ref, interval, function_id.
- **List all Supabase endpoints metrics** (List). Scrape a Supabase project's metrics in Prometheus text exposition format. Returns the metrics as a Prometheus/OpenMetrics text string containing project resource and usage data. Required: ref.
- **List all Supabase endpoints usage API counts** (List). Get a Supabase project's usage API counts by project ref, optionally filtered by time interval. Returns: result, error. Required: ref.
- **List all Supabase endpoints usage API requests counts** (List). Get a Supabase project's API request usage counts. Returns: result, error. Required: ref (20-character lowercase project reference).
- **List all Supabase function bodies** (List). Retrieve the source body of a Supabase Edge Function by its slug and project ref. Returns the function body as a streamable binary file containing the edge function's source code. Required: ref, function_slug.
- **Create a Supabase functions deploy** (Create). Deploy an Edge Function to a Supabase project, creating it if it does not already exist. Returns: id, slug, name, status, version, created_at, updated_at, verify_jwt, import_map, entrypoint_path, import_map_path, ezbr_sha256. Required: ref, metadata.
- **Create a Supabase invite accept** (Create). Accept an invitation for just-in-time (JIT) database access in a Supabase project. Returns: user_id, user_roles. Required: ref, email, token.
- **Supabase jit invites bulk delete** (Delete). Delete a JIT database access invite for an external user in a Supabase project, revoking and removing the invitation. Returns an empty 200 response on success. Required: ref, invite_id.
- **Create a Supabase jit invite** (Create). Invite an external user to a Supabase project database for JIT access, setting the initial roles they can assume and for how long. Returns: email, invite_id, user_roles. Required: ref, email, roles.
- **List all Supabase jit lists** (List). List all user-id to role mappings for JIT (just-in-time) database access in a Supabase project. Returns: items. Required: ref.
- **Supabase project functions bulk delete** (Delete). Delete a Supabase Edge Function by its slug from the specified project. Returns an empty 200 response on success. Required: ref, function_slug.
- **Supabase project functions bulk update** (Update). Bulk update Supabase Edge Functions for a project, creating new or replacing existing idempotently. Returns: functions. Required: ref. The version must be manually bumped.
- **Create a Supabase project function** (Create). Create a Supabase Edge Function in the specified project. Deprecated—use the deploy endpoint instead. Returns: id, slug, name, status, version, created_at, updated_at, verify_jwt, import_map, entrypoint_path, import_map_path, ezbr_sha256. Required: ref.
- **List all Supabase project functions** (List). List all Supabase Edge Functions added to a project. Returns each function's id, slug, name, status, version, created_at, updated_at, verify_jwt, import_map, entrypoint_path, import_map_path, ezbr_sha256. Required: ref.
- **Update a Supabase project function by ID** (Update). Update a Supabase Edge Function by id. Returns: id, slug, name, status, version, created_at, updated_at, verify_jwt, import_map, entrypoint_path, import_map_path, ezbr_sha256. Required: ref, id.
- **List all Supabase project functions projects** (List). Retrieve a Supabase Edge Function by its slug within a project. Returns the function object including id, slug, name, status, version, verify_jwt, created_at, and updated_at. Required: ref, function_slug.
- **Create a Supabase query read only** (Create). Run a read-only SQL query in a Supabase project as the supabase_read_only_user role. All entity references must be schema qualified. Returns an empty 201 response on success. Required: ref. A JSON request body is required.
- **Create a Supabase realtime shutdown** (Create). Shutdown all realtime connections for a Supabase project. Returns an empty 204 response on success. Required: ref (the project ref, a 20-character lowercase string).
- **List all Supabase SSO providers** (List). List all SSO providers for a Supabase project. Returns: items. Required: ref.
- **Supabase SSO providers bulk delete** (Delete). Delete a Supabase SSO provider by its UUID. Returns: id, saml, domains, created_at, updated_at. Required: ref, provider_id.
- **Supabase SSO providers bulk update** (Update). Update a Supabase SSO provider by its UUID. Returns: id, saml, domains, created_at, updated_at. Required: ref, provider_id.
- **Create a Supabase SSO provider** (Create). Create a new SSO provider in a Supabase project. Returns: id, saml, domains, created_at, updated_at. Required: ref, type. SAML 2.0 must be enabled for the project.
- **Get single Supabase SSO provider by ID** (Get). Get a single SSO provider by its UUID in a Supabase project. Returns: id, saml, domains, created_at, updated_at. Required: ref, id.
- **List all Supabase storage buckets** (List). List all storage buckets in a Supabase project. Returns: id, name, owner, created_at, updated_at, public. Required: ref.
- **Create a Supabase webhooks enable** (Create). Enable Database Webhooks on a Supabase project. Returns an empty 201 response on success. Required: ref (the project reference, a 20-character lowercase string). This is a Beta endpoint.
- **Create a Supabase backups restore pitr** (Create). Restore a PITR (point-in-time recovery) backup for a Supabase project database. Returns an empty 201 response on success. Required: ref, recovery_time_target_unix.
- **Create a Supabase backups restore point** (Create). Create a database restore point for a Supabase project. Returns: name, status, completed_on. Required: ref.
- **List all Supabase backups restore points** (List). List database restore points for a Supabase project. Returns: name, status, completed_on. Required: ref.
- **Create a Supabase backups restore** (Create). Restore a physical backup for a Supabase database. Returns an empty 201 response on success. Required: ref.
- **Supabase backups schedules bulk update** (Update). Update the daily backup schedule time for a Supabase project. Sets the time at which the daily backup runs; the change takes effect on the next backup window that includes the new time, and can only be updated 3 times per 24 hours. Returns: schedule_for, updated_at. Required: ref, schedule_for.
- **List all Supabase backups schedules** (List). Get the backup schedule for a Supabase project, including the configured daily backup time and when it was last updated. Returns: schedule_for, updated_at. Required: ref. Only available on the Enterprise plan.
- **Create a Supabase backups undo** (Create). Initiate an undo to a given restore point for a Supabase project's database backup. Returns an empty 201 response on success. Required: ref.
- **List all Supabase database backups** (List). List all database backups for a Supabase project. Returns the backup configuration including region, walg_enabled, pitr_enabled, a backups array (each with id, is_physical_backup, status, inserted_at), and physical_backup_data. Required: ref.
- **List all Supabase organization entitlements** (List). List entitlements available to a Supabase organization based on their plan and any overrides. Returns: entitlements.key, feature.type, hasAccess, type, and config). Required: slug.
- **Create a Supabase organization project claim** (Create). Claim a project for a Supabase organization using a project claim token. Returns an empty 204 response on success. Required: slug, token.
- **List all Supabase organization project claims** (List). Get project details for a Supabase organization using a project claim token. Returns: project, preview, expires_at, created_at, created_by. Required: slug, token.
- **List all Supabase organization projects** (List). List Supabase projects for a given organization. Returns: projects, pagination. Required: slug. Max 100 per page.
