Management API Reference

Management API

Manage your Supabase organizations and projects programmatically.

Authentication

All API requests require a Supabase Personal token to be included in the Authorization header: Authorization Bearer <supabase_personal_token>. To generate or manage your API token, visit your account page. Your API tokens carry the same privileges as your user account, so be sure to keep it secret.


_10
curl https://api.supabase.com/v1/projects \
_10
-H "Authorization: Bearer sbp_bdd0••••••••••••••••••••••••••••••••4f23"

All API requests must be authenticated and made over HTTPS.

Rate limits

The rate limit for Management API is 60 requests per one minute per user, and applies cumulatively across all requests made with your personal access tokens.

If you exceed this limit, all Management API calls for the next minute will be blocked, resulting in a HTTP 429 response.

The Management API is subject to our fair-use policy. All resources created via the API are subject to the pricing detailed on our Pricing pages.

Creates a new SSO provider

post/v1/projects/{ref}/config/auth/sso/providers

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    type
    Optional
    string

    What type of provider will be created

    metadata_xml
    Optional
    string
    metadata_url
    Optional
    string
    domains
    Optional
    array[string]
    attribute_mapping
    Optional
    object
Response
{
  "id": "lorem",
  "saml": {
    "id": "lorem",
    "entity_id": "lorem",
    "metadata_url": "lorem",
    "metadata_xml": "lorem",
    "attribute_mapping": {
      "keys": {
        "property1": {
          "default": {},
          "name": "lorem",
          "names": [
            "lorem"
          ],
          "array": true
        },
        "property2": {
          "default": {},
          "name": "lorem",
          "names": [
            "lorem"
          ],
          "array": true
        }
      }
    }
  },
  "domains": [
    {
      "id": "lorem",
      "domain": "lorem",
      "created_at": "lorem",
      "updated_at": "lorem"
    }
  ],
  "created_at": "lorem",
  "updated_at": "lorem"
}

Removes a SSO provider by its UUID

delete/v1/projects/{ref}/config/auth/sso/providers/{provider_id}

Path Parameters
    ref
    REQUIRED
    string

    Project ref

    provider_id
    REQUIRED
    string
Response
{
  "id": "lorem",
  "saml": {
    "id": "lorem",
    "entity_id": "lorem",
    "metadata_url": "lorem",
    "metadata_xml": "lorem",
    "attribute_mapping": {
      "keys": {
        "property1": {
          "default": {},
          "name": "lorem",
          "names": [
            "lorem"
          ],
          "array": true
        },
        "property2": {
          "default": {},
          "name": "lorem",
          "names": [
            "lorem"
          ],
          "array": true
        }
      }
    }
  },
  "domains": [
    {
      "id": "lorem",
      "domain": "lorem",
      "created_at": "lorem",
      "updated_at": "lorem"
    }
  ],
  "created_at": "lorem",
  "updated_at": "lorem"
}

Gets a SSO provider by its UUID

get/v1/projects/{ref}/config/auth/sso/providers/{provider_id}

Path Parameters
    ref
    REQUIRED
    string

    Project ref

    provider_id
    REQUIRED
    string
Response
{
  "id": "lorem",
  "saml": {
    "id": "lorem",
    "entity_id": "lorem",
    "metadata_url": "lorem",
    "metadata_xml": "lorem",
    "attribute_mapping": {
      "keys": {
        "property1": {
          "default": {},
          "name": "lorem",
          "names": [
            "lorem"
          ],
          "array": true
        },
        "property2": {
          "default": {},
          "name": "lorem",
          "names": [
            "lorem"
          ],
          "array": true
        }
      }
    }
  },
  "domains": [
    {
      "id": "lorem",
      "domain": "lorem",
      "created_at": "lorem",
      "updated_at": "lorem"
    }
  ],
  "created_at": "lorem",
  "updated_at": "lorem"
}

Gets project's auth config

get/v1/projects/{ref}/config/auth

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "api_max_request_duration": 42,
  "db_max_pool_size": 42,
  "disable_signup": true,
  "external_anonymous_users_enabled": true,
  "external_apple_additional_client_ids": "lorem",
  "external_apple_client_id": "lorem",
  "external_apple_enabled": true,
  "external_apple_secret": "lorem",
  "external_azure_client_id": "lorem",
  "external_azure_enabled": true,
  "external_azure_secret": "lorem",
  "external_azure_url": "lorem",
  "external_bitbucket_client_id": "lorem",
  "external_bitbucket_enabled": true,
  "external_bitbucket_secret": "lorem",
  "external_discord_client_id": "lorem",
  "external_discord_enabled": true,
  "external_discord_secret": "lorem",
  "external_email_enabled": true,
  "external_facebook_client_id": "lorem",
  "external_facebook_enabled": true,
  "external_facebook_secret": "lorem",
  "external_figma_client_id": "lorem",
  "external_figma_enabled": true,
  "external_figma_secret": "lorem",
  "external_github_client_id": "lorem",
  "external_github_enabled": true,
  "external_github_secret": "lorem",
  "external_gitlab_client_id": "lorem",
  "external_gitlab_enabled": true,
  "external_gitlab_secret": "lorem",
  "external_gitlab_url": "lorem",
  "external_google_additional_client_ids": "lorem",
  "external_google_client_id": "lorem",
  "external_google_enabled": true,
  "external_google_secret": "lorem",
  "external_google_skip_nonce_check": true,
  "external_kakao_client_id": "lorem",
  "external_kakao_enabled": true,
  "external_kakao_secret": "lorem",
  "external_keycloak_client_id": "lorem",
  "external_keycloak_enabled": true,
  "external_keycloak_secret": "lorem",
  "external_keycloak_url": "lorem",
  "external_linkedin_oidc_client_id": "lorem",
  "external_linkedin_oidc_enabled": true,
  "external_linkedin_oidc_secret": "lorem",
  "external_slack_oidc_client_id": "lorem",
  "external_slack_oidc_enabled": true,
  "external_slack_oidc_secret": "lorem",
  "external_notion_client_id": "lorem",
  "external_notion_enabled": true,
  "external_notion_secret": "lorem",
  "external_phone_enabled": true,
  "external_slack_client_id": "lorem",
  "external_slack_enabled": true,
  "external_slack_secret": "lorem",
  "external_spotify_client_id": "lorem",
  "external_spotify_enabled": true,
  "external_spotify_secret": "lorem",
  "external_twitch_client_id": "lorem",
  "external_twitch_enabled": true,
  "external_twitch_secret": "lorem",
  "external_twitter_client_id": "lorem",
  "external_twitter_enabled": true,
  "external_twitter_secret": "lorem",
  "external_workos_client_id": "lorem",
  "external_workos_enabled": true,
  "external_workos_secret": "lorem",
  "external_workos_url": "lorem",
  "external_zoom_client_id": "lorem",
  "external_zoom_enabled": true,
  "external_zoom_secret": "lorem",
  "hook_custom_access_token_enabled": true,
  "hook_custom_access_token_uri": "lorem",
  "hook_custom_access_token_secrets": "lorem",
  "hook_mfa_verification_attempt_enabled": true,
  "hook_mfa_verification_attempt_uri": "lorem",
  "hook_mfa_verification_attempt_secrets": "lorem",
  "hook_password_verification_attempt_enabled": true,
  "hook_password_verification_attempt_uri": "lorem",
  "hook_password_verification_attempt_secrets": "lorem",
  "hook_send_sms_enabled": true,
  "hook_send_sms_uri": "lorem",
  "hook_send_sms_secrets": "lorem",
  "hook_send_email_enabled": true,
  "hook_send_email_uri": "lorem",
  "hook_send_email_secrets": "lorem",
  "jwt_exp": 42,
  "mailer_allow_unverified_email_sign_ins": true,
  "mailer_autoconfirm": true,
  "mailer_otp_exp": 42,
  "mailer_otp_length": 42,
  "mailer_secure_email_change_enabled": true,
  "mailer_subjects_confirmation": "lorem",
  "mailer_subjects_email_change": "lorem",
  "mailer_subjects_invite": "lorem",
  "mailer_subjects_magic_link": "lorem",
  "mailer_subjects_reauthentication": "lorem",
  "mailer_subjects_recovery": "lorem",
  "mailer_templates_confirmation_content": "lorem",
  "mailer_templates_email_change_content": "lorem",
  "mailer_templates_invite_content": "lorem",
  "mailer_templates_magic_link_content": "lorem",
  "mailer_templates_reauthentication_content": "lorem",
  "mailer_templates_recovery_content": "lorem",
  "mfa_max_enrolled_factors": 42,
  "mfa_totp_enroll_enabled": true,
  "mfa_totp_verify_enabled": true,
  "mfa_phone_enroll_enabled": true,
  "mfa_phone_verify_enabled": true,
  "mfa_phone_otp_length": 42,
  "mfa_phone_template": "lorem",
  "mfa_phone_max_frequency": 42,
  "password_hibp_enabled": true,
  "password_min_length": 42,
  "password_required_characters": "lorem",
  "rate_limit_anonymous_users": 42,
  "rate_limit_email_sent": 42,
  "rate_limit_sms_sent": 42,
  "rate_limit_token_refresh": 42,
  "rate_limit_verify": 42,
  "rate_limit_otp": 42,
  "refresh_token_rotation_enabled": true,
  "saml_enabled": true,
  "saml_external_url": "lorem",
  "security_captcha_enabled": true,
  "security_captcha_provider": "lorem",
  "security_captcha_secret": "lorem",
  "security_manual_linking_enabled": true,
  "security_refresh_token_reuse_interval": 42,
  "security_update_password_require_reauthentication": true,
  "sessions_inactivity_timeout": 42,
  "sessions_single_per_user": true,
  "sessions_tags": "lorem",
  "sessions_timebox": 42,
  "site_url": "lorem",
  "sms_autoconfirm": true,
  "sms_max_frequency": 42,
  "sms_messagebird_access_key": "lorem",
  "sms_messagebird_originator": "lorem",
  "sms_otp_exp": 42,
  "sms_otp_length": 42,
  "sms_provider": "lorem",
  "sms_template": "lorem",
  "sms_test_otp": "lorem",
  "sms_test_otp_valid_until": "lorem",
  "sms_textlocal_api_key": "lorem",
  "sms_textlocal_sender": "lorem",
  "sms_twilio_account_sid": "lorem",
  "sms_twilio_auth_token": "lorem",
  "sms_twilio_content_sid": "lorem",
  "sms_twilio_message_service_sid": "lorem",
  "sms_twilio_verify_account_sid": "lorem",
  "sms_twilio_verify_auth_token": "lorem",
  "sms_twilio_verify_message_service_sid": "lorem",
  "sms_vonage_api_key": "lorem",
  "sms_vonage_api_secret": "lorem",
  "sms_vonage_from": "lorem",
  "smtp_admin_email": "lorem",
  "smtp_host": "lorem",
  "smtp_max_frequency": 42,
  "smtp_pass": "lorem",
  "smtp_port": "lorem",
  "smtp_sender_name": "lorem",
  "smtp_user": "lorem",
  "uri_allow_list": "lorem"
}

Lists all SSO providers

get/v1/projects/{ref}/config/auth/sso/providers

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "items": [
    {
      "id": "lorem",
      "saml": {
        "id": "lorem",
        "entity_id": "lorem",
        "metadata_url": "lorem",
        "metadata_xml": "lorem",
        "attribute_mapping": {
          "keys": {
            "property1": {
              "default": {},
              "name": "lorem",
              "names": [
                "lorem"
              ],
              "array": true
            },
            "property2": {
              "default": {},
              "name": "lorem",
              "names": [
                "lorem"
              ],
              "array": true
            }
          }
        }
      },
      "domains": [
        {
          "id": "lorem",
          "domain": "lorem",
          "created_at": "lorem",
          "updated_at": "lorem"
        }
      ],
      "created_at": "lorem",
      "updated_at": "lorem"
    }
  ]
}

Updates a SSO provider by its UUID

put/v1/projects/{ref}/config/auth/sso/providers/{provider_id}

Path Parameters
    ref
    REQUIRED
    string

    Project ref

    provider_id
    REQUIRED
    string
Body
    metadata_xml
    Optional
    string
    metadata_url
    Optional
    string
    domains
    Optional
    array[string]
    attribute_mapping
    Optional
    object
Response
{
  "id": "lorem",
  "saml": {
    "id": "lorem",
    "entity_id": "lorem",
    "metadata_url": "lorem",
    "metadata_xml": "lorem",
    "attribute_mapping": {
      "keys": {
        "property1": {
          "default": {},
          "name": "lorem",
          "names": [
            "lorem"
          ],
          "array": true
        },
        "property2": {
          "default": {},
          "name": "lorem",
          "names": [
            "lorem"
          ],
          "array": true
        }
      }
    }
  },
  "domains": [
    {
      "id": "lorem",
      "domain": "lorem",
      "created_at": "lorem",
      "updated_at": "lorem"
    }
  ],
  "created_at": "lorem",
  "updated_at": "lorem"
}

Updates a project's auth config

patch/v1/projects/{ref}/config/auth

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    site_url
    Optional
    string
    disable_signup
    Optional
    boolean
    jwt_exp
    Optional
    number
    smtp_admin_email
    Optional
    string
    smtp_host
    Optional
    string
    smtp_port
    Optional
    string
    smtp_user
    Optional
    string
    smtp_pass
    Optional
    string
    smtp_max_frequency
    Optional
    number
    smtp_sender_name
    Optional
    string
    mailer_allow_unverified_email_sign_ins
    Optional
    boolean
    mailer_autoconfirm
    Optional
    boolean
    mailer_subjects_invite
    Optional
    string
    mailer_subjects_confirmation
    Optional
    string
    mailer_subjects_recovery
    Optional
    string
    mailer_subjects_email_change
    Optional
    string
    mailer_subjects_magic_link
    Optional
    string
    mailer_subjects_reauthentication
    Optional
    string
    mailer_templates_invite_content
    Optional
    string
    mailer_templates_confirmation_content
    Optional
    string
    mailer_templates_recovery_content
    Optional
    string
    mailer_templates_email_change_content
    Optional
    string
    mailer_templates_magic_link_content
    Optional
    string
    mailer_templates_reauthentication_content
    Optional
    string
    mfa_max_enrolled_factors
    Optional
    number
    uri_allow_list
    Optional
    string
    external_anonymous_users_enabled
    Optional
    boolean
    external_email_enabled
    Optional
    boolean
    external_phone_enabled
    Optional
    boolean
    saml_enabled
    Optional
    boolean
    saml_external_url
    Optional
    string
    security_captcha_enabled
    Optional
    boolean
    security_captcha_provider
    Optional
    string
    security_captcha_secret
    Optional
    string
    sessions_timebox
    Optional
    number
    sessions_inactivity_timeout
    Optional
    number
    sessions_single_per_user
    Optional
    boolean
    sessions_tags
    Optional
    string
    rate_limit_anonymous_users
    Optional
    number
    rate_limit_email_sent
    Optional
    number
    rate_limit_sms_sent
    Optional
    number
    rate_limit_verify
    Optional
    number
    rate_limit_token_refresh
    Optional
    number
    rate_limit_otp
    Optional
    number
    mailer_secure_email_change_enabled
    Optional
    boolean
    refresh_token_rotation_enabled
    Optional
    boolean
    password_hibp_enabled
    Optional
    boolean
    password_min_length
    Optional
    number
    password_required_characters
    Optional
    string
    security_manual_linking_enabled
    Optional
    boolean
    security_update_password_require_reauthentication
    Optional
    boolean
    security_refresh_token_reuse_interval
    Optional
    number
    mailer_otp_exp
    Optional
    number
    mailer_otp_length
    Optional
    number
    sms_autoconfirm
    Optional
    boolean
    sms_max_frequency
    Optional
    number
    sms_otp_exp
    Optional
    number
    sms_otp_length
    Optional
    number
    sms_provider
    Optional
    string
    sms_messagebird_access_key
    Optional
    string
    sms_messagebird_originator
    Optional
    string
    sms_test_otp
    Optional
    string
    sms_test_otp_valid_until
    Optional
    string
    sms_textlocal_api_key
    Optional
    string
    sms_textlocal_sender
    Optional
    string
    sms_twilio_account_sid
    Optional
    string
    sms_twilio_auth_token
    Optional
    string
    sms_twilio_content_sid
    Optional
    string
    sms_twilio_message_service_sid
    Optional
    string
    sms_twilio_verify_account_sid
    Optional
    string
    sms_twilio_verify_auth_token
    Optional
    string
    sms_twilio_verify_message_service_sid
    Optional
    string
    sms_vonage_api_key
    Optional
    string
    sms_vonage_api_secret
    Optional
    string
    sms_vonage_from
    Optional
    string
    sms_template
    Optional
    string
    hook_mfa_verification_attempt_enabled
    Optional
    boolean
    hook_mfa_verification_attempt_uri
    Optional
    string
    hook_mfa_verification_attempt_secrets
    Optional
    string
    hook_password_verification_attempt_enabled
    Optional
    boolean
    hook_password_verification_attempt_uri
    Optional
    string
    hook_password_verification_attempt_secrets
    Optional
    string
    hook_custom_access_token_enabled
    Optional
    boolean
    hook_custom_access_token_uri
    Optional
    string
    hook_custom_access_token_secrets
    Optional
    string
    hook_send_sms_enabled
    Optional
    boolean
    hook_send_sms_uri
    Optional
    string
    hook_send_sms_secrets
    Optional
    string
    hook_send_email_enabled
    Optional
    boolean
    hook_send_email_uri
    Optional
    string
    hook_send_email_secrets
    Optional
    string
    external_apple_enabled
    Optional
    boolean
    external_apple_client_id
    Optional
    string
    external_apple_secret
    Optional
    string
    external_apple_additional_client_ids
    Optional
    string
    external_azure_enabled
    Optional
    boolean
    external_azure_client_id
    Optional
    string
    external_azure_secret
    Optional
    string
    external_azure_url
    Optional
    string
    external_bitbucket_enabled
    Optional
    boolean
    external_bitbucket_client_id
    Optional
    string
    external_bitbucket_secret
    Optional
    string
    external_discord_enabled
    Optional
    boolean
    external_discord_client_id
    Optional
    string
    external_discord_secret
    Optional
    string
    external_facebook_enabled
    Optional
    boolean
    external_facebook_client_id
    Optional
    string
    external_facebook_secret
    Optional
    string
    external_figma_enabled
    Optional
    boolean
    external_figma_client_id
    Optional
    string
    external_figma_secret
    Optional
    string
    external_github_enabled
    Optional
    boolean
    external_github_client_id
    Optional
    string
    external_github_secret
    Optional
    string
    external_gitlab_enabled
    Optional
    boolean
    external_gitlab_client_id
    Optional
    string
    external_gitlab_secret
    Optional
    string
    external_gitlab_url
    Optional
    string
    external_google_enabled
    Optional
    boolean
    external_google_client_id
    Optional
    string
    external_google_secret
    Optional
    string
    external_google_additional_client_ids
    Optional
    string
    external_google_skip_nonce_check
    Optional
    boolean
    external_kakao_enabled
    Optional
    boolean
    external_kakao_client_id
    Optional
    string
    external_kakao_secret
    Optional
    string
    external_keycloak_enabled
    Optional
    boolean
    external_keycloak_client_id
    Optional
    string
    external_keycloak_secret
    Optional
    string
    external_keycloak_url
    Optional
    string
    external_linkedin_oidc_enabled
    Optional
    boolean
    external_linkedin_oidc_client_id
    Optional
    string
    external_linkedin_oidc_secret
    Optional
    string
    external_slack_oidc_enabled
    Optional
    boolean
    external_slack_oidc_client_id
    Optional
    string
    external_slack_oidc_secret
    Optional
    string
    external_notion_enabled
    Optional
    boolean
    external_notion_client_id
    Optional
    string
    external_notion_secret
    Optional
    string
    external_slack_enabled
    Optional
    boolean
    external_slack_client_id
    Optional
    string
    external_slack_secret
    Optional
    string
    external_spotify_enabled
    Optional
    boolean
    external_spotify_client_id
    Optional
    string
    external_spotify_secret
    Optional
    string
    external_twitch_enabled
    Optional
    boolean
    external_twitch_client_id
    Optional
    string
    external_twitch_secret
    Optional
    string
    external_twitter_enabled
    Optional
    boolean
    external_twitter_client_id
    Optional
    string
    external_twitter_secret
    Optional
    string
    external_workos_enabled
    Optional
    boolean
    external_workos_client_id
    Optional
    string
    external_workos_secret
    Optional
    string
    external_workos_url
    Optional
    string
    external_zoom_enabled
    Optional
    boolean
    external_zoom_client_id
    Optional
    string
    external_zoom_secret
    Optional
    string
    db_max_pool_size
    Optional
    number
    api_max_request_duration
    Optional
    number
    mfa_totp_enroll_enabled
    Optional
    boolean
    mfa_totp_verify_enabled
    Optional
    boolean
    mfa_phone_enroll_enabled
    Optional
    boolean
    mfa_phone_verify_enabled
    Optional
    boolean
    mfa_phone_max_frequency
    Optional
    number
    mfa_phone_otp_length
    Optional
    number
    mfa_phone_template
    Optional
    string
Response
{
  "api_max_request_duration": 42,
  "db_max_pool_size": 42,
  "disable_signup": true,
  "external_anonymous_users_enabled": true,
  "external_apple_additional_client_ids": "lorem",
  "external_apple_client_id": "lorem",
  "external_apple_enabled": true,
  "external_apple_secret": "lorem",
  "external_azure_client_id": "lorem",
  "external_azure_enabled": true,
  "external_azure_secret": "lorem",
  "external_azure_url": "lorem",
  "external_bitbucket_client_id": "lorem",
  "external_bitbucket_enabled": true,
  "external_bitbucket_secret": "lorem",
  "external_discord_client_id": "lorem",
  "external_discord_enabled": true,
  "external_discord_secret": "lorem",
  "external_email_enabled": true,
  "external_facebook_client_id": "lorem",
  "external_facebook_enabled": true,
  "external_facebook_secret": "lorem",
  "external_figma_client_id": "lorem",
  "external_figma_enabled": true,
  "external_figma_secret": "lorem",
  "external_github_client_id": "lorem",
  "external_github_enabled": true,
  "external_github_secret": "lorem",
  "external_gitlab_client_id": "lorem",
  "external_gitlab_enabled": true,
  "external_gitlab_secret": "lorem",
  "external_gitlab_url": "lorem",
  "external_google_additional_client_ids": "lorem",
  "external_google_client_id": "lorem",
  "external_google_enabled": true,
  "external_google_secret": "lorem",
  "external_google_skip_nonce_check": true,
  "external_kakao_client_id": "lorem",
  "external_kakao_enabled": true,
  "external_kakao_secret": "lorem",
  "external_keycloak_client_id": "lorem",
  "external_keycloak_enabled": true,
  "external_keycloak_secret": "lorem",
  "external_keycloak_url": "lorem",
  "external_linkedin_oidc_client_id": "lorem",
  "external_linkedin_oidc_enabled": true,
  "external_linkedin_oidc_secret": "lorem",
  "external_slack_oidc_client_id": "lorem",
  "external_slack_oidc_enabled": true,
  "external_slack_oidc_secret": "lorem",
  "external_notion_client_id": "lorem",
  "external_notion_enabled": true,
  "external_notion_secret": "lorem",
  "external_phone_enabled": true,
  "external_slack_client_id": "lorem",
  "external_slack_enabled": true,
  "external_slack_secret": "lorem",
  "external_spotify_client_id": "lorem",
  "external_spotify_enabled": true,
  "external_spotify_secret": "lorem",
  "external_twitch_client_id": "lorem",
  "external_twitch_enabled": true,
  "external_twitch_secret": "lorem",
  "external_twitter_client_id": "lorem",
  "external_twitter_enabled": true,
  "external_twitter_secret": "lorem",
  "external_workos_client_id": "lorem",
  "external_workos_enabled": true,
  "external_workos_secret": "lorem",
  "external_workos_url": "lorem",
  "external_zoom_client_id": "lorem",
  "external_zoom_enabled": true,
  "external_zoom_secret": "lorem",
  "hook_custom_access_token_enabled": true,
  "hook_custom_access_token_uri": "lorem",
  "hook_custom_access_token_secrets": "lorem",
  "hook_mfa_verification_attempt_enabled": true,
  "hook_mfa_verification_attempt_uri": "lorem",
  "hook_mfa_verification_attempt_secrets": "lorem",
  "hook_password_verification_attempt_enabled": true,
  "hook_password_verification_attempt_uri": "lorem",
  "hook_password_verification_attempt_secrets": "lorem",
  "hook_send_sms_enabled": true,
  "hook_send_sms_uri": "lorem",
  "hook_send_sms_secrets": "lorem",
  "hook_send_email_enabled": true,
  "hook_send_email_uri": "lorem",
  "hook_send_email_secrets": "lorem",
  "jwt_exp": 42,
  "mailer_allow_unverified_email_sign_ins": true,
  "mailer_autoconfirm": true,
  "mailer_otp_exp": 42,
  "mailer_otp_length": 42,
  "mailer_secure_email_change_enabled": true,
  "mailer_subjects_confirmation": "lorem",
  "mailer_subjects_email_change": "lorem",
  "mailer_subjects_invite": "lorem",
  "mailer_subjects_magic_link": "lorem",
  "mailer_subjects_reauthentication": "lorem",
  "mailer_subjects_recovery": "lorem",
  "mailer_templates_confirmation_content": "lorem",
  "mailer_templates_email_change_content": "lorem",
  "mailer_templates_invite_content": "lorem",
  "mailer_templates_magic_link_content": "lorem",
  "mailer_templates_reauthentication_content": "lorem",
  "mailer_templates_recovery_content": "lorem",
  "mfa_max_enrolled_factors": 42,
  "mfa_totp_enroll_enabled": true,
  "mfa_totp_verify_enabled": true,
  "mfa_phone_enroll_enabled": true,
  "mfa_phone_verify_enabled": true,
  "mfa_phone_otp_length": 42,
  "mfa_phone_template": "lorem",
  "mfa_phone_max_frequency": 42,
  "password_hibp_enabled": true,
  "password_min_length": 42,
  "password_required_characters": "lorem",
  "rate_limit_anonymous_users": 42,
  "rate_limit_email_sent": 42,
  "rate_limit_sms_sent": 42,
  "rate_limit_token_refresh": 42,
  "rate_limit_verify": 42,
  "rate_limit_otp": 42,
  "refresh_token_rotation_enabled": true,
  "saml_enabled": true,
  "saml_external_url": "lorem",
  "security_captcha_enabled": true,
  "security_captcha_provider": "lorem",
  "security_captcha_secret": "lorem",
  "security_manual_linking_enabled": true,
  "security_refresh_token_reuse_interval": 42,
  "security_update_password_require_reauthentication": true,
  "sessions_inactivity_timeout": 42,
  "sessions_single_per_user": true,
  "sessions_tags": "lorem",
  "sessions_timebox": 42,
  "site_url": "lorem",
  "sms_autoconfirm": true,
  "sms_max_frequency": 42,
  "sms_messagebird_access_key": "lorem",
  "sms_messagebird_originator": "lorem",
  "sms_otp_exp": 42,
  "sms_otp_length": 42,
  "sms_provider": "lorem",
  "sms_template": "lorem",
  "sms_test_otp": "lorem",
  "sms_test_otp_valid_until": "lorem",
  "sms_textlocal_api_key": "lorem",
  "sms_textlocal_sender": "lorem",
  "sms_twilio_account_sid": "lorem",
  "sms_twilio_auth_token": "lorem",
  "sms_twilio_content_sid": "lorem",
  "sms_twilio_message_service_sid": "lorem",
  "sms_twilio_verify_account_sid": "lorem",
  "sms_twilio_verify_auth_token": "lorem",
  "sms_twilio_verify_message_service_sid": "lorem",
  "sms_vonage_api_key": "lorem",
  "sms_vonage_api_secret": "lorem",
  "sms_vonage_from": "lorem",
  "smtp_admin_email": "lorem",
  "smtp_host": "lorem",
  "smtp_max_frequency": 42,
  "smtp_pass": "lorem",
  "smtp_port": "lorem",
  "smtp_sender_name": "lorem",
  "smtp_user": "lorem",
  "uri_allow_list": "lorem"
}

Disables project's readonly mode for the next 15 minutes

post/v1/projects/{ref}/readonly/temporary-disable

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
[No content]

[Beta] Enables Database Webhooks on the project

post/v1/projects/{ref}/database/webhooks/enable

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
[No content]

Generate TypeScript types

get/v1/projects/{ref}/types/typescript

Returns the TypeScript types of your schema for use with supabase-js.

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Query Parameters
    included_schemas
    Optional
    string
Response
{
  "types": "lorem"
}

Gets a specific SQL snippet

get/v1/snippets/{id}

Path Parameters
    id
    REQUIRED
    string
Response
{
  "id": "lorem",
  "inserted_at": "lorem",
  "updated_at": "lorem",
  "type": "sql",
  "visibility": "user",
  "name": "lorem",
  "description": "lorem",
  "project": {
    "id": 42,
    "name": "lorem"
  },
  "owner": {
    "id": 42,
    "username": "lorem"
  },
  "updated_by": {
    "id": 42,
    "username": "lorem"
  },
  "content": {
    "favorite": true,
    "schema_version": "lorem",
    "sql": "lorem"
  }
}

Gets project's Postgres config

get/v1/projects/{ref}/config/database/postgres

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "statement_timeout": "lorem",
  "effective_cache_size": "lorem",
  "maintenance_work_mem": "lorem",
  "max_connections": 1,
  "max_locks_per_transaction": 10,
  "max_parallel_maintenance_workers": 0,
  "max_parallel_workers": 0,
  "max_parallel_workers_per_gather": 0,
  "max_standby_archive_delay": "lorem",
  "max_standby_streaming_delay": "lorem",
  "max_worker_processes": 0,
  "shared_buffers": "lorem",
  "work_mem": "lorem",
  "session_replication_role": "origin"
}

Get project's pgbouncer config

get/v1/projects/{ref}/config/database/pgbouncer

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "pool_mode": "transaction",
  "default_pool_size": 42,
  "ignore_startup_parameters": "lorem",
  "max_client_conn": 42,
  "connection_string": "lorem"
}

Returns project's readonly mode status

get/v1/projects/{ref}/readonly

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "enabled": true,
  "override_enabled": true,
  "override_active_until": "lorem"
}

[Beta] Get project's SSL enforcement configuration.

get/v1/projects/{ref}/ssl-enforcement

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "currentConfig": {
    "database": true
  },
  "appliedSuccessfully": true
}

Gets project's supavisor config

get/v1/projects/{ref}/config/database/pooler

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
[
  {
    "identifier": "lorem",
    "database_type": "PRIMARY",
    "is_using_scram_auth": true,
    "db_user": "lorem",
    "db_host": "lorem",
    "db_port": 42,
    "db_name": "lorem",
    "connectionString": "lorem",
    "default_pool_size": 42,
    "max_client_conn": 42,
    "pool_mode": "transaction"
  }
]

Lists all backups

get/v1/projects/{ref}/database/backups

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "region": "lorem",
  "walg_enabled": true,
  "pitr_enabled": true,
  "backups": [
    {
      "status": "COMPLETED",
      "is_physical_backup": true,
      "inserted_at": "lorem"
    }
  ],
  "physical_backup_data": {
    "earliest_physical_backup_date_unix": 42,
    "latest_physical_backup_date_unix": 42
  }
}

Lists SQL snippets for the logged in user

get/v1/snippets

Query Parameters
    project_ref
    Optional
    string
Response
{
  "data": [
    {
      "id": "lorem",
      "inserted_at": "lorem",
      "updated_at": "lorem",
      "type": "sql",
      "visibility": "user",
      "name": "lorem",
      "description": "lorem",
      "project": {
        "id": 42,
        "name": "lorem"
      },
      "owner": {
        "id": 42,
        "username": "lorem"
      },
      "updated_by": {
        "id": 42,
        "username": "lorem"
      }
    }
  ]
}

[Beta] Remove a read replica

post/v1/projects/{ref}/read-replicas/remove

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    database_identifier
    Optional
    string
Response
[No content]

Restores a PITR backup for a database

post/v1/projects/{ref}/database/backups/restore-pitr

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    recovery_time_target_unix
    Optional
    number
Response
[No content]

[Beta] Run sql query

post/v1/projects/{ref}/database/query

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    query
    Optional
    string
Response
{}

[Beta] Set up a read replica

post/v1/projects/{ref}/read-replicas/setup

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    read_replica_region
    Optional
    string

    Region you want your read replica to reside in

Response
[No content]

Updates project's Postgres config

put/v1/projects/{ref}/config/database/postgres

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    statement_timeout
    Optional
    string
    effective_cache_size
    Optional
    string
    maintenance_work_mem
    Optional
    string
    max_connections
    Optional
    integer
    max_locks_per_transaction
    Optional
    integer
    max_parallel_maintenance_workers
    Optional
    integer
    max_parallel_workers
    Optional
    integer
    max_parallel_workers_per_gather
    Optional
    integer
    max_standby_archive_delay
    Optional
    string
    max_standby_streaming_delay
    Optional
    string
    max_worker_processes
    Optional
    integer
    shared_buffers
    Optional
    string
    work_mem
    Optional
    string
    session_replication_role
    Optional
    string
Response
{
  "statement_timeout": "lorem",
  "effective_cache_size": "lorem",
  "maintenance_work_mem": "lorem",
  "max_connections": 1,
  "max_locks_per_transaction": 10,
  "max_parallel_maintenance_workers": 0,
  "max_parallel_workers": 0,
  "max_parallel_workers_per_gather": 0,
  "max_standby_archive_delay": "lorem",
  "max_standby_streaming_delay": "lorem",
  "max_worker_processes": 0,
  "shared_buffers": "lorem",
  "work_mem": "lorem",
  "session_replication_role": "origin"
}

[Beta] Update project's SSL enforcement configuration.

put/v1/projects/{ref}/ssl-enforcement

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    requestedConfig
    Optional
    object
Response
{
  "currentConfig": {
    "database": true
  },
  "appliedSuccessfully": true
}

Updates project's supavisor config

patch/v1/projects/{ref}/config/database/pooler

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    default_pool_size
    Optional
    integer
    pool_mode
    Optional
    string

    This field is deprecated and is ignored in this request

Response
{
  "default_pool_size": 42,
  "pool_mode": "transaction"
}

[Beta] Activates a custom hostname for a project.

post/v1/projects/{ref}/custom-hostname/activate

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "status": "1_not_started",
  "custom_hostname": "lorem",
  "data": {
    "success": true,
    "errors": [
      {}
    ],
    "messages": [
      {}
    ],
    "result": {
      "id": "lorem",
      "hostname": "lorem",
      "ssl": {
        "status": "lorem",
        "validation_records": [
          {
            "txt_name": "lorem",
            "txt_value": "lorem"
          }
        ],
        "validation_errors": [
          {
            "message": "lorem"
          }
        ]
      },
      "ownership_verification": {
        "type": "lorem",
        "name": "lorem",
        "value": "lorem"
      },
      "custom_origin_server": "lorem",
      "verification_errors": [
        "lorem"
      ],
      "status": "lorem"
    }
  }
}

[Beta] Activates a vanity subdomain for a project.

post/v1/projects/{ref}/vanity-subdomain/activate

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    vanity_subdomain
    Optional
    string
Response
{
  "custom_domain": "lorem"
}

[Beta] Checks vanity subdomain availability

post/v1/projects/{ref}/vanity-subdomain/check-availability

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    vanity_subdomain
    Optional
    string
Response
{
  "available": true
}

[Beta] Deletes a project's vanity subdomain configuration

delete/v1/projects/{ref}/vanity-subdomain

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
[No content]

[Beta] Gets project's custom hostname config

get/v1/projects/{ref}/custom-hostname

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "status": "1_not_started",
  "custom_hostname": "lorem",
  "data": {
    "success": true,
    "errors": [
      {}
    ],
    "messages": [
      {}
    ],
    "result": {
      "id": "lorem",
      "hostname": "lorem",
      "ssl": {
        "status": "lorem",
        "validation_records": [
          {
            "txt_name": "lorem",
            "txt_value": "lorem"
          }
        ],
        "validation_errors": [
          {
            "message": "lorem"
          }
        ]
      },
      "ownership_verification": {
        "type": "lorem",
        "name": "lorem",
        "value": "lorem"
      },
      "custom_origin_server": "lorem",
      "verification_errors": [
        "lorem"
      ],
      "status": "lorem"
    }
  }
}

[Beta] Gets current vanity subdomain config

get/v1/projects/{ref}/vanity-subdomain

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "status": "not-used",
  "custom_domain": "lorem"
}

[Beta] Updates project's custom hostname configuration

post/v1/projects/{ref}/custom-hostname/initialize

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    custom_hostname
    Optional
    string
Response
{
  "status": "1_not_started",
  "custom_hostname": "lorem",
  "data": {
    "success": true,
    "errors": [
      {}
    ],
    "messages": [
      {}
    ],
    "result": {
      "id": "lorem",
      "hostname": "lorem",
      "ssl": {
        "status": "lorem",
        "validation_records": [
          {
            "txt_name": "lorem",
            "txt_value": "lorem"
          }
        ],
        "validation_errors": [
          {
            "message": "lorem"
          }
        ]
      },
      "ownership_verification": {
        "type": "lorem",
        "name": "lorem",
        "value": "lorem"
      },
      "custom_origin_server": "lorem",
      "verification_errors": [
        "lorem"
      ],
      "status": "lorem"
    }
  }
}

[Beta] Attempts to verify the DNS configuration for project's custom hostname configuration

post/v1/projects/{ref}/custom-hostname/reverify

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "status": "1_not_started",
  "custom_hostname": "lorem",
  "data": {
    "success": true,
    "errors": [
      {}
    ],
    "messages": [
      {}
    ],
    "result": {
      "id": "lorem",
      "hostname": "lorem",
      "ssl": {
        "status": "lorem",
        "validation_records": [
          {
            "txt_name": "lorem",
            "txt_value": "lorem"
          }
        ],
        "validation_errors": [
          {
            "message": "lorem"
          }
        ]
      },
      "ownership_verification": {
        "type": "lorem",
        "name": "lorem",
        "value": "lorem"
      },
      "custom_origin_server": "lorem",
      "verification_errors": [
        "lorem"
      ],
      "status": "lorem"
    }
  }
}

Delete a function

delete/v1/projects/{ref}/functions/{function_slug}

Deletes a function with the specified slug from the specified project.

Path Parameters
    ref
    REQUIRED
    string

    Project ref

    function_slug
    REQUIRED
    string

    Function slug

Response
[No content]

Retrieve a function

get/v1/projects/{ref}/functions/{function_slug}

Retrieves a function with the specified slug and project.

Path Parameters
    ref
    REQUIRED
    string

    Project ref

    function_slug
    REQUIRED
    string

    Function slug

Response
{
  "id": "lorem",
  "slug": "lorem",
  "name": "lorem",
  "status": "ACTIVE",
  "version": 42,
  "created_at": 42,
  "updated_at": 42,
  "verify_jwt": true,
  "import_map": true,
  "entrypoint_path": "lorem",
  "import_map_path": "lorem"
}

Retrieve a function body

get/v1/projects/{ref}/functions/{function_slug}/body

Retrieves a function body for the specified slug and project.

Path Parameters
    ref
    REQUIRED
    string

    Project ref

    function_slug
    REQUIRED
    string

    Function slug

Response
[No content]

List all functions

get/v1/projects/{ref}/functions

Returns all functions you've previously added to the specified project.

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
[
  {
    "id": "lorem",
    "slug": "lorem",
    "name": "lorem",
    "status": "ACTIVE",
    "version": 42,
    "created_at": 42,
    "updated_at": 42,
    "verify_jwt": true,
    "import_map": true,
    "entrypoint_path": "lorem",
    "import_map_path": "lorem"
  }
]

Update a function

patch/v1/projects/{ref}/functions/{function_slug}

Updates a function with the specified slug and project.

Path Parameters
    ref
    REQUIRED
    string

    Project ref

    function_slug
    REQUIRED
    string

    Function slug

Query Parameters
    slug
    Optional
    string
    name
    Optional
    string
    verify_jwt
    Optional
    boolean
    import_map
    Optional
    boolean
    entrypoint_path
    Optional
    string
    import_map_path
    Optional
    string
Body
    name
    Optional
    string
    body
    Optional
    string
    verify_jwt
    Optional
    boolean
Response
{
  "id": "lorem",
  "slug": "lorem",
  "name": "lorem",
  "status": "ACTIVE",
  "version": 42,
  "created_at": 42,
  "updated_at": 42,
  "verify_jwt": true,
  "import_map": true,
  "entrypoint_path": "lorem",
  "import_map_path": "lorem"
}

Create a database branch

post/v1/projects/{ref}/branches

Creates a database branch from the specified project.

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    branch_name
    Optional
    string
    git_branch
    Optional
    string
    region
    Optional
    string
Response
{
  "id": "lorem",
  "name": "lorem",
  "project_ref": "lorem",
  "parent_project_ref": "lorem",
  "is_default": true,
  "git_branch": "lorem",
  "pr_number": 42,
  "latest_check_run_id": 42,
  "reset_on_push": true,
  "persistent": true,
  "status": "CREATING_PROJECT",
  "created_at": "lorem",
  "updated_at": "lorem"
}

Delete a database branch

delete/v1/branches/{branch_id}

Deletes the specified database branch

Path Parameters
    branch_id
    REQUIRED
    string

    Branch ID

Response
{
  "message": "lorem"
}

Disables preview branching

delete/v1/projects/{ref}/branches

Disables preview branching for the specified project

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
[No content]

Get database branch config

get/v1/branches/{branch_id}

Fetches configurations of the specified database branch

Path Parameters
    branch_id
    REQUIRED
    string

    Branch ID

Response
{
  "db_port": 42,
  "ref": "lorem",
  "postgres_version": "lorem",
  "status": "ACTIVE_HEALTHY",
  "db_host": "lorem",
  "db_user": "lorem",
  "db_pass": "lorem",
  "jwt_secret": "lorem"
}

List all database branches

get/v1/projects/{ref}/branches

Returns all database branches of the specified project.

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
[
  {
    "id": "lorem",
    "name": "lorem",
    "project_ref": "lorem",
    "parent_project_ref": "lorem",
    "is_default": true,
    "git_branch": "lorem",
    "pr_number": 42,
    "latest_check_run_id": 42,
    "reset_on_push": true,
    "persistent": true,
    "status": "CREATING_PROJECT",
    "created_at": "lorem",
    "updated_at": "lorem"
  }
]

Resets a database branch

post/v1/branches/{branch_id}/reset

Resets the specified database branch

Path Parameters
    branch_id
    REQUIRED
    string

    Branch ID

Response
{
  "message": "lorem"
}

Update database branch config

patch/v1/branches/{branch_id}

Updates the configuration of the specified database branch

Path Parameters
    branch_id
    REQUIRED
    string

    Branch ID

Body
    branch_name
    Optional
    string
    git_branch
    Optional
    string
    reset_on_push
    Optional
    boolean
    persistent
    Optional
    boolean
Response
{
  "id": "lorem",
  "name": "lorem",
  "project_ref": "lorem",
  "parent_project_ref": "lorem",
  "is_default": true,
  "git_branch": "lorem",
  "pr_number": 42,
  "latest_check_run_id": 42,
  "reset_on_push": true,
  "persistent": true,
  "status": "CREATING_PROJECT",
  "created_at": "lorem",
  "updated_at": "lorem"
}

[Beta] Authorize user through oauth

get/v1/oauth/authorize

Query Parameters
    client_id
    REQUIRED
    string
    response_type
    REQUIRED
    string
    redirect_uri
    REQUIRED
    string
    scope
    Optional
    string
    state
    Optional
    string
    response_mode
    Optional
    string
    code_challenge
    Optional
    string
    code_challenge_method
    Optional
    string
Response
[No content]

[Beta] Exchange auth code for user's access and refresh token

post/v1/oauth/token

Body
    grant_type
    Optional
    string
    client_id
    Optional
    string
    client_secret
    Optional
    string
    code
    Optional
    string
    code_verifier
    Optional
    string
    redirect_uri
    Optional
    string
    refresh_token
    Optional
    string
Response
{
  "token_type": "Bearer",
  "access_token": "lorem",
  "refresh_token": "lorem",
  "expires_in": 42
}

Create an organization

post/v1/organizations

Body
    name
    Optional
    string
Response
{
  "id": "lorem",
  "name": "lorem"
}

Gets information about the organization

get/v1/organizations/{slug}

Path Parameters
    slug
    REQUIRED
    string
Response
{
  "plan": "free",
  "opt_in_tags": [
    "AI_SQL_GENERATOR_OPT_IN"
  ],
  "id": "lorem",
  "name": "lorem"
}

List all organizations

get/v1/organizations

Returns a list of organizations that you currently belong to.

Response
[
  {
    "id": "lorem",
    "name": "lorem"
  }
]

List members of an organization

get/v1/organizations/{slug}/members

Path Parameters
    slug
    REQUIRED
    string
Response
[
  {
    "user_id": "lorem",
    "user_name": "lorem",
    "email": "lorem",
    "role_name": "lorem",
    "mfa_enabled": true
  }
]

Create a project

post/v1/projects

Body
    db_pass
    Optional
    string

    Database password

    name
    Optional
    string

    Name of your project, should not contain dots

    organization_id
    Optional
    string

    Slug of your organization

    plan
    Optional
    string

    Subscription Plan is now set on organization level and is ignored in this request

    region
    Optional
    string

    Region you want your server to reside in

    kps_enabled
    Optional
    boolean

    This field is deprecated and is ignored in this request

    desired_instance_size
    Optional
    string
    template_url
    Optional
    string

    Template URL used to create the project from the CLI.

Response
{
  "id": "lorem",
  "organization_id": "lorem",
  "name": "lorem",
  "region": "us-east-1",
  "created_at": "2023-03-29T16:32:59Z",
  "database": {
    "host": "lorem",
    "version": "lorem"
  },
  "status": "ACTIVE_HEALTHY"
}

Deletes the given project

delete/v1/projects/{ref}

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "id": 42,
  "ref": "lorem",
  "name": "lorem"
}

[Beta] Remove network bans.

delete/v1/projects/{ref}/network-bans

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    ipv4_addresses
    Optional
    array[string]
Response
[No content]

[Beta] Gets project's network restrictions

get/v1/projects/{ref}/network-restrictions

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "entitlement": "disallowed",
  "config": {
    "dbAllowedCidrs": [
      "lorem"
    ],
    "dbAllowedCidrsV6": [
      "lorem"
    ]
  },
  "old_config": {
    "dbAllowedCidrs": [
      "lorem"
    ],
    "dbAllowedCidrsV6": [
      "lorem"
    ]
  },
  "status": "stored"
}

[Beta] Returns the project's eligibility for upgrades

get/v1/projects/{ref}/upgrade/eligibility

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "eligible": true,
  "current_app_version": "lorem",
  "latest_app_version": "lorem",
  "target_upgrade_versions": [
    {
      "postgres_version": 42,
      "app_version": "lorem"
    }
  ],
  "potential_breaking_changes": [
    "lorem"
  ],
  "duration_estimate_hours": 42,
  "legacy_auth_custom_roles": [
    "lorem"
  ],
  "extension_dependent_objects": [
    "lorem"
  ]
}

[Beta] Gets the latest status of the project's upgrade

get/v1/projects/{ref}/upgrade/status

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "databaseUpgradeStatus": {
    "initiated_at": "lorem",
    "latest_status_at": "lorem",
    "target_version": 42,
    "error": "1_upgraded_instance_launch_failed",
    "progress": "0_requested",
    "status": 0
  }
}

Gets project's service health status

get/v1/projects/{ref}/health

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Query Parameters
    timeout_ms
    Optional
    integer
    services
    REQUIRED
    string array
Response
[
  {
    "info": {
      "name": "lorem",
      "version": "lorem",
      "description": "lorem"
    },
    "name": "auth",
    "healthy": true,
    "status": "COMING_UP",
    "error": "lorem"
  }
]

[Beta] Gets project's network bans

post/v1/projects/{ref}/network-bans/retrieve

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "banned_ipv4_addresses": [
    "lorem"
  ]
}

List all projects

get/v1/projects

Returns a list of all projects you've previously created.

Response
[
  {
    "id": "lorem",
    "organization_id": "lorem",
    "name": "lorem",
    "region": "us-east-1",
    "created_at": "2023-03-29T16:32:59Z",
    "database": {
      "host": "lorem",
      "version": "lorem"
    },
    "status": "ACTIVE_HEALTHY"
  }
]

[Beta] Updates project's network restrictions

post/v1/projects/{ref}/network-restrictions/apply

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    dbAllowedCidrs
    Optional
    array[string]
    dbAllowedCidrsV6
    Optional
    array[string]
Response
{
  "entitlement": "disallowed",
  "config": {
    "dbAllowedCidrs": [
      "lorem"
    ],
    "dbAllowedCidrsV6": [
      "lorem"
    ]
  },
  "old_config": {
    "dbAllowedCidrs": [
      "lorem"
    ],
    "dbAllowedCidrsV6": [
      "lorem"
    ]
  },
  "status": "stored"
}

[Beta] Upgrades the project's Postgres version

post/v1/projects/{ref}/upgrade

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    target_version
    Optional
    number
Response
{
  "tracking_id": "lorem"
}

Gets project's postgrest config

get/v1/projects/{ref}/postgrest

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "max_rows": 42,
  "db_pool": 42,
  "db_schema": "lorem",
  "db_extra_search_path": "lorem",
  "jwt_secret": "lorem"
}

Updates project's postgrest config

patch/v1/projects/{ref}/postgrest

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    max_rows
    Optional
    integer
    db_pool
    Optional
    integer
    db_extra_search_path
    Optional
    string
    db_schema
    Optional
    string
Response
{
  "max_rows": 42,
  "db_pool": 42,
  "db_schema": "lorem",
  "db_extra_search_path": "lorem"
}

Bulk create secrets

post/v1/projects/{ref}/secrets

Creates multiple secrets and adds them to the specified project.

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    array of:
    name
    REQUIRED
    string

    Secret name must not start with the SUPABASE_ prefix.

    value
    REQUIRED
    string
Response
[No content]

Bulk delete secrets

delete/v1/projects/{ref}/secrets

Deletes all secrets with the given names from the specified project

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    array of:
    REQUIRED
    string
Response
{}

[Beta] Gets project's pgsodium config

get/v1/projects/{ref}/pgsodium

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
{
  "root_key": "lorem"
}

Get project api keys

get/v1/projects/{ref}/api-keys

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
[
  {
    "name": "lorem",
    "api_key": "lorem"
  }
]

List all secrets

get/v1/projects/{ref}/secrets

Returns all secrets you've previously added to the specified project.

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
[
  {
    "name": "lorem",
    "value": "lorem"
  }
]

[Beta] Updates project's pgsodium config. Updating the root_key can cause all data encrypted with the older key to become inaccessible.

put/v1/projects/{ref}/pgsodium

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Body
    root_key
    Optional
    string
Response
{
  "root_key": "lorem"
}

Lists all buckets

get/v1/projects/{ref}/storage/buckets

Path Parameters
    ref
    REQUIRED
    string

    Project ref

Response
[
  {
    "id": "lorem",
    "name": "lorem",
    "owner": "lorem",
    "created_at": "lorem",
    "updated_at": "lorem",
    "public": true
  }
]