Management API
Manage your Supabase organizations and projects programmatically.
Authentication
All API requests require an access token to be included in the Authorization header: Authorization Bearer <access_token>
.
There are two ways to generate an access token:
-
Personal access token (PAT): PATs are long-lived tokens that you manually generate to access the Management API. They are useful for automating workflows or developing against the Management API. PATs carry the same privileges as your user account, so be sure to keep it secret.
To generate or manage your personal access tokens, visit your account page.
-
OAuth2: OAuth2 allows your application to generate tokens on behalf of a Supabase user, providing secure and limited access to their account without requiring their credentials. Use this if you're building a third-party app that needs to create or manage Supabase projects on behalf of your users. Tokens generated via OAuth2 are short-lived and tied to specific scopes to ensure your app can only perform actions that are explicitly approved by the user.
See Build a Supabase Integration to set up OAuth2 for your application.
12curl https://api.supabase.com/v1/projects \ -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.
Additional links
Gets project performance advisors.deprecated
/v1/projects/{ref}/advisors/performance
This is an experimental endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable.
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
123456789101112131415161718192021222324252627{ "lints": [ { "name": "unindexed_foreign_keys", "title": "lorem", "level": "ERROR", "facing": "EXTERNAL", "categories": [ "PERFORMANCE" ], "description": "lorem", "detail": "lorem", "remediation": "lorem", "metadata": { "schema": "lorem", "name": "lorem", "entity": "lorem", "type": "table", "fkey_name": "lorem", "fkey_columns": [ 42 ] }, "cache_key": "lorem" } ]}
Gets project security advisors.deprecated
/v1/projects/{ref}/advisors/security
This is an experimental endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable.
Path parameters
- refRequiredstring
Project ref
Query parameters
- lint_typeOptionalenum
Response codes
- 200
- 403
Response (200)
123456789101112131415161718192021222324252627{ "lints": [ { "name": "unindexed_foreign_keys", "title": "lorem", "level": "ERROR", "facing": "EXTERNAL", "categories": [ "PERFORMANCE" ], "description": "lorem", "detail": "lorem", "remediation": "lorem", "metadata": { "schema": "lorem", "name": "lorem", "entity": "lorem", "type": "table", "fkey_name": "lorem", "fkey_columns": [ 42 ] }, "cache_key": "lorem" } ]}
Gets project's logs
/v1/projects/{ref}/analytics/endpoints/logs.all
Executes a SQL query on the project's logs.
Either the 'iso_timestamp_start' and 'iso_timestamp_end' parameters must be provided. If both are not provided, only the last 1 minute of logs will be queried. The timestamp range must be no more than 24 hours and is rounded to the nearest minute. If the range is more than 24 hours, a validation error will be thrown.
Path parameters
- refRequiredstring
Project ref
Query parameters
- sqlOptionalstring
- iso_timestamp_startOptionalstring
- iso_timestamp_endOptionalstring
Response codes
- 200
- 403
Response (200)
123456{ "result": [ null ], "error": "lorem"}
Gets project's usage api counts
/v1/projects/{ref}/analytics/endpoints/usage.api-counts
Path parameters
- refRequiredstring
Project ref
Query parameters
- intervalOptionalenum
Response codes
- 200
- 403
- 500
Response (200)
123456{ "result": [ null ], "error": "lorem"}
Gets project's usage api requests count
/v1/projects/{ref}/analytics/endpoints/usage.api-requests-count
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 500
Response (200)
123456{ "result": [ null ], "error": "lorem"}
Creates a new SSO provider
/v1/projects/{ref}/config/auth/sso/providers
Path parameters
- refRequiredstring
Project ref
Body
- typeRequiredenum
- metadata_xmlOptionalstring
- metadata_urlOptionalstring
- domainsOptionalArray<string>
- attribute_mappingOptionalobject
Response codes
- 201
- 403
- 404
Response (201)
123456789101112131415161718192021222324252627282930313233343536373839{ "id": "lorem", "saml": { "id": "lorem", "entity_id": "lorem", "metadata_url": "lorem", "metadata_xml": "lorem", "attribute_mapping": { "keys": { "property1": { "name": "lorem", "names": [ "lorem" ], "default": {}, "array": true }, "property2": { "name": "lorem", "names": [ "lorem" ], "default": {}, "array": true } } } }, "domains": [ { "id": "lorem", "domain": "lorem", "created_at": "lorem", "updated_at": "lorem" } ], "created_at": "lorem", "updated_at": "lorem"}
Set up the project's existing JWT secret as an in_use JWT signing key. This endpoint will be removed in the future always check for HTTP 404 Not Found.
/v1/projects/{ref}/config/auth/signing-keys/legacy
Path parameters
- refRequiredstring
Project ref
Response codes
- 201
- 403
Response (201)
12345678{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "algorithm": "EdDSA", "status": "in_use", "public_jwk": null, "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z"}
Create a new signing key for the project in standby status
/v1/projects/{ref}/config/auth/signing-keys
Path parameters
- refRequiredstring
Project ref
Body
- algorithmRequiredenum
- statusOptionalenum
- private_jwkOptionalone of the following options
Response codes
- 201
- 403
Response (201)
12345678{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "algorithm": "EdDSA", "status": "in_use", "public_jwk": null, "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z"}
Creates a new third-party auth integration
/v1/projects/{ref}/config/auth/third-party-auth
Path parameters
- refRequiredstring
Project ref
Body
- oidc_issuer_urlOptionalstring
- jwks_urlOptionalstring
- custom_jwksOptional
Response codes
- 201
- 403
Response (201)
1234567891011{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "type": "lorem", "oidc_issuer_url": "lorem", "jwks_url": "lorem", "custom_jwks": null, "resolved_jwks": null, "inserted_at": "lorem", "updated_at": "lorem", "resolved_at": "lorem"}
Removes a SSO provider by its UUID
/v1/projects/{ref}/config/auth/sso/providers/{provider_id}
Path parameters
- refRequiredstring
Project ref
- provider_idRequiredstring
Response codes
- 200
- 403
- 404
Response (200)
123456789101112131415161718192021222324252627282930313233343536373839{ "id": "lorem", "saml": { "id": "lorem", "entity_id": "lorem", "metadata_url": "lorem", "metadata_xml": "lorem", "attribute_mapping": { "keys": { "property1": { "name": "lorem", "names": [ "lorem" ], "default": {}, "array": true }, "property2": { "name": "lorem", "names": [ "lorem" ], "default": {}, "array": true } } } }, "domains": [ { "id": "lorem", "domain": "lorem", "created_at": "lorem", "updated_at": "lorem" } ], "created_at": "lorem", "updated_at": "lorem"}
Removes a third-party auth integration
/v1/projects/{ref}/config/auth/third-party-auth/{tpa_id}
Path parameters
- refRequiredstring
Project ref
- tpa_idRequiredstring
Response codes
- 200
- 403
Response (200)
1234567891011{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "type": "lorem", "oidc_issuer_url": "lorem", "jwks_url": "lorem", "custom_jwks": null, "resolved_jwks": null, "inserted_at": "lorem", "updated_at": "lorem", "resolved_at": "lorem"}
Gets a SSO provider by its UUID
/v1/projects/{ref}/config/auth/sso/providers/{provider_id}
Path parameters
- refRequiredstring
Project ref
- provider_idRequiredstring
Response codes
- 200
- 403
- 404
Response (200)
123456789101112131415161718192021222324252627282930313233343536373839{ "id": "lorem", "saml": { "id": "lorem", "entity_id": "lorem", "metadata_url": "lorem", "metadata_xml": "lorem", "attribute_mapping": { "keys": { "property1": { "name": "lorem", "names": [ "lorem" ], "default": {}, "array": true }, "property2": { "name": "lorem", "names": [ "lorem" ], "default": {}, "array": true } } } }, "domains": [ { "id": "lorem", "domain": "lorem", "created_at": "lorem", "updated_at": "lorem" } ], "created_at": "lorem", "updated_at": "lorem"}
Gets project's auth config
/v1/projects/{ref}/config/auth
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177{ "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_web3_solana_enabled": true, "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", "hook_before_user_created_enabled": true, "hook_before_user_created_uri": "lorem", "hook_before_user_created_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_web_authn_enroll_enabled": true, "mfa_web_authn_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": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:0123456789", "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, "rate_limit_web3": 42, "refresh_token_rotation_enabled": true, "saml_enabled": true, "saml_external_url": "lorem", "saml_allow_encrypted_assertions": true, "security_captcha_enabled": true, "security_captcha_provider": "turnstile", "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": "messagebird", "sms_template": "lorem", "sms_test_otp": "lorem", "sms_test_otp_valid_until": "2021-12-31T23:34:00Z", "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": "jon.snow@targaryen.com", "smtp_host": "lorem", "smtp_max_frequency": 42, "smtp_pass": "lorem", "smtp_port": "lorem", "smtp_sender_name": "lorem", "smtp_user": "lorem", "uri_allow_list": "lorem"}
Get the signing key information for the JWT secret imported as signing key for this project. This endpoint will be removed in the future, check for HTTP 404 Not Found.
/v1/projects/{ref}/config/auth/signing-keys/legacy
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
12345678{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "algorithm": "EdDSA", "status": "in_use", "public_jwk": null, "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z"}
Get information about a signing key
/v1/projects/{ref}/config/auth/signing-keys/{id}
Path parameters
- idRequiredstring
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
12345678{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "algorithm": "EdDSA", "status": "in_use", "public_jwk": null, "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z"}
List all signing keys for the project
/v1/projects/{ref}/config/auth/signing-keys
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
123456789101112{ "keys": [ { "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "algorithm": "EdDSA", "status": "in_use", "public_jwk": null, "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z" } ]}
Get a third-party integration
/v1/projects/{ref}/config/auth/third-party-auth/{tpa_id}
Path parameters
- refRequiredstring
Project ref
- tpa_idRequiredstring
Response codes
- 200
- 403
Response (200)
1234567891011{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "type": "lorem", "oidc_issuer_url": "lorem", "jwks_url": "lorem", "custom_jwks": null, "resolved_jwks": null, "inserted_at": "lorem", "updated_at": "lorem", "resolved_at": "lorem"}
Lists all SSO providers
/v1/projects/{ref}/config/auth/sso/providers
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 404
Response (200)
12345678910111213141516171819202122232425262728293031323334353637383940414243{ "items": [ { "id": "lorem", "saml": { "id": "lorem", "entity_id": "lorem", "metadata_url": "lorem", "metadata_xml": "lorem", "attribute_mapping": { "keys": { "property1": { "name": "lorem", "names": [ "lorem" ], "default": {}, "array": true }, "property2": { "name": "lorem", "names": [ "lorem" ], "default": {}, "array": true } } } }, "domains": [ { "id": "lorem", "domain": "lorem", "created_at": "lorem", "updated_at": "lorem" } ], "created_at": "lorem", "updated_at": "lorem" } ]}
Lists all third-party auth integrations
/v1/projects/{ref}/config/auth/third-party-auth
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
12345678910111213[ { "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "type": "lorem", "oidc_issuer_url": "lorem", "jwks_url": "lorem", "custom_jwks": null, "resolved_jwks": null, "inserted_at": "lorem", "updated_at": "lorem", "resolved_at": "lorem" }]
Remove a signing key from a project. Only possible if the key has been in revoked status for a while.
/v1/projects/{ref}/config/auth/signing-keys/{id}
Path parameters
- idRequiredstring
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
12345678{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "algorithm": "EdDSA", "status": "in_use", "public_jwk": null, "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z"}
Updates a SSO provider by its UUID
/v1/projects/{ref}/config/auth/sso/providers/{provider_id}
Path parameters
- refRequiredstring
Project ref
- provider_idRequiredstring
Body
- metadata_xmlOptionalstring
- metadata_urlOptionalstring
- domainsOptionalArray<string>
- attribute_mappingOptionalobject
Response codes
- 200
- 403
- 404
Response (200)
123456789101112131415161718192021222324252627282930313233343536373839{ "id": "lorem", "saml": { "id": "lorem", "entity_id": "lorem", "metadata_url": "lorem", "metadata_xml": "lorem", "attribute_mapping": { "keys": { "property1": { "name": "lorem", "names": [ "lorem" ], "default": {}, "array": true }, "property2": { "name": "lorem", "names": [ "lorem" ], "default": {}, "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
/v1/projects/{ref}/config/auth
Path parameters
- refRequiredstring
Project ref
Body
- site_urlOptionalstring
- disable_signupOptionalboolean
- jwt_expOptionalinteger
- smtp_admin_emailOptionalstring
- smtp_hostOptionalstring
- smtp_portOptionalstring
- smtp_userOptionalstring
- smtp_passOptionalstring
- smtp_max_frequencyOptionalinteger
- smtp_sender_nameOptionalstring
- mailer_allow_unverified_email_sign_insOptionalboolean
- mailer_autoconfirmOptionalboolean
- mailer_subjects_inviteOptionalstring
- mailer_subjects_confirmationOptionalstring
- mailer_subjects_recoveryOptionalstring
- mailer_subjects_email_changeOptionalstring
- mailer_subjects_magic_linkOptionalstring
- mailer_subjects_reauthenticationOptionalstring
- mailer_templates_invite_contentOptionalstring
- mailer_templates_confirmation_contentOptionalstring
- mailer_templates_recovery_contentOptionalstring
- mailer_templates_email_change_contentOptionalstring
- mailer_templates_magic_link_contentOptionalstring
- mailer_templates_reauthentication_contentOptionalstring
- mfa_max_enrolled_factorsOptionalinteger
- uri_allow_listOptionalstring
- external_anonymous_users_enabledOptionalboolean
- external_email_enabledOptionalboolean
- external_phone_enabledOptionalboolean
- saml_enabledOptionalboolean
- saml_external_urlOptionalstring
- security_captcha_enabledOptionalboolean
- security_captcha_providerOptionalenum
- security_captcha_secretOptionalstring
- sessions_timeboxOptionalinteger
- sessions_inactivity_timeoutOptionalinteger
- sessions_single_per_userOptionalboolean
- sessions_tagsOptionalstring
- rate_limit_anonymous_usersOptionalinteger
- rate_limit_email_sentOptionalinteger
- rate_limit_sms_sentOptionalinteger
- rate_limit_verifyOptionalinteger
- rate_limit_token_refreshOptionalinteger
- rate_limit_otpOptionalinteger
- rate_limit_web3Optionalinteger
- mailer_secure_email_change_enabledOptionalboolean
- refresh_token_rotation_enabledOptionalboolean
- password_hibp_enabledOptionalboolean
- password_min_lengthOptionalinteger
- password_required_charactersOptionalenum
- security_manual_linking_enabledOptionalboolean
- security_update_password_require_reauthenticationOptionalboolean
- security_refresh_token_reuse_intervalOptionalinteger
- mailer_otp_expOptionalinteger
- mailer_otp_lengthOptionalinteger
- sms_autoconfirmOptionalboolean
- sms_max_frequencyOptionalinteger
- sms_otp_expOptionalinteger
- sms_otp_lengthOptionalinteger
- sms_providerOptionalenum
- sms_messagebird_access_keyOptionalstring
- sms_messagebird_originatorOptionalstring
- sms_test_otpOptionalstring
- sms_test_otp_valid_untilOptionalstring
- sms_textlocal_api_keyOptionalstring
- sms_textlocal_senderOptionalstring
- sms_twilio_account_sidOptionalstring
- sms_twilio_auth_tokenOptionalstring
- sms_twilio_content_sidOptionalstring
- sms_twilio_message_service_sidOptionalstring
- sms_twilio_verify_account_sidOptionalstring
- sms_twilio_verify_auth_tokenOptionalstring
- sms_twilio_verify_message_service_sidOptionalstring
- sms_vonage_api_keyOptionalstring
- sms_vonage_api_secretOptionalstring
- sms_vonage_fromOptionalstring
- sms_templateOptionalstring
- hook_mfa_verification_attempt_enabledOptionalboolean
- hook_mfa_verification_attempt_uriOptionalstring
- hook_mfa_verification_attempt_secretsOptionalstring
- hook_password_verification_attempt_enabledOptionalboolean
- hook_password_verification_attempt_uriOptionalstring
- hook_password_verification_attempt_secretsOptionalstring
- hook_custom_access_token_enabledOptionalboolean
- hook_custom_access_token_uriOptionalstring
- hook_custom_access_token_secretsOptionalstring
- hook_send_sms_enabledOptionalboolean
- hook_send_sms_uriOptionalstring
- hook_send_sms_secretsOptionalstring
- hook_send_email_enabledOptionalboolean
- hook_send_email_uriOptionalstring
- hook_send_email_secretsOptionalstring
- hook_before_user_created_enabledOptionalboolean
- hook_before_user_created_uriOptionalstring
- hook_before_user_created_secretsOptionalstring
- external_apple_enabledOptionalboolean
- external_apple_client_idOptionalstring
- external_apple_secretOptionalstring
- external_apple_additional_client_idsOptionalstring
- external_azure_enabledOptionalboolean
- external_azure_client_idOptionalstring
- external_azure_secretOptionalstring
- external_azure_urlOptionalstring
- external_bitbucket_enabledOptionalboolean
- external_bitbucket_client_idOptionalstring
- external_bitbucket_secretOptionalstring
- external_discord_enabledOptionalboolean
- external_discord_client_idOptionalstring
- external_discord_secretOptionalstring
- external_facebook_enabledOptionalboolean
- external_facebook_client_idOptionalstring
- external_facebook_secretOptionalstring
- external_figma_enabledOptionalboolean
- external_figma_client_idOptionalstring
- external_figma_secretOptionalstring
- external_github_enabledOptionalboolean
- external_github_client_idOptionalstring
- external_github_secretOptionalstring
- external_gitlab_enabledOptionalboolean
- external_gitlab_client_idOptionalstring
- external_gitlab_secretOptionalstring
- external_gitlab_urlOptionalstring
- external_google_enabledOptionalboolean
- external_google_client_idOptionalstring
- external_google_secretOptionalstring
- external_google_additional_client_idsOptionalstring
- external_google_skip_nonce_checkOptionalboolean
- external_kakao_enabledOptionalboolean
- external_kakao_client_idOptionalstring
- external_kakao_secretOptionalstring
- external_keycloak_enabledOptionalboolean
- external_keycloak_client_idOptionalstring
- external_keycloak_secretOptionalstring
- external_keycloak_urlOptionalstring
- external_linkedin_oidc_enabledOptionalboolean
- external_linkedin_oidc_client_idOptionalstring
- external_linkedin_oidc_secretOptionalstring
- external_slack_oidc_enabledOptionalboolean
- external_slack_oidc_client_idOptionalstring
- external_slack_oidc_secretOptionalstring
- external_notion_enabledOptionalboolean
- external_notion_client_idOptionalstring
- external_notion_secretOptionalstring
- external_slack_enabledOptionalboolean
- external_slack_client_idOptionalstring
- external_slack_secretOptionalstring
- external_spotify_enabledOptionalboolean
- external_spotify_client_idOptionalstring
- external_spotify_secretOptionalstring
- external_twitch_enabledOptionalboolean
- external_twitch_client_idOptionalstring
- external_twitch_secretOptionalstring
- external_twitter_enabledOptionalboolean
- external_twitter_client_idOptionalstring
- external_twitter_secretOptionalstring
- external_workos_enabledOptionalboolean
- external_workos_client_idOptionalstring
- external_workos_secretOptionalstring
- external_workos_urlOptionalstring
- external_web3_solana_enabledOptionalboolean
- external_zoom_enabledOptionalboolean
- external_zoom_client_idOptionalstring
- external_zoom_secretOptionalstring
- db_max_pool_sizeOptionalinteger
- api_max_request_durationOptionalinteger
- mfa_totp_enroll_enabledOptionalboolean
- mfa_totp_verify_enabledOptionalboolean
- mfa_web_authn_enroll_enabledOptionalboolean
- mfa_web_authn_verify_enabledOptionalboolean
- mfa_phone_enroll_enabledOptionalboolean
- mfa_phone_verify_enabledOptionalboolean
- mfa_phone_max_frequencyOptionalinteger
- mfa_phone_otp_lengthOptionalinteger
- mfa_phone_templateOptionalstring
Response codes
- 200
- 403
- 500
Response (200)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177{ "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_web3_solana_enabled": true, "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", "hook_before_user_created_enabled": true, "hook_before_user_created_uri": "lorem", "hook_before_user_created_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_web_authn_enroll_enabled": true, "mfa_web_authn_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": "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:0123456789", "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, "rate_limit_web3": 42, "refresh_token_rotation_enabled": true, "saml_enabled": true, "saml_external_url": "lorem", "saml_allow_encrypted_assertions": true, "security_captcha_enabled": true, "security_captcha_provider": "turnstile", "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": "messagebird", "sms_template": "lorem", "sms_test_otp": "lorem", "sms_test_otp_valid_until": "2021-12-31T23:34:00Z", "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": "jon.snow@targaryen.com", "smtp_host": "lorem", "smtp_max_frequency": 42, "smtp_pass": "lorem", "smtp_port": "lorem", "smtp_sender_name": "lorem", "smtp_user": "lorem", "uri_allow_list": "lorem"}
Update a signing key, mainly its status
/v1/projects/{ref}/config/auth/signing-keys/{id}
Path parameters
- idRequiredstring
- refRequiredstring
Project ref
Body
- statusRequiredenum
Response codes
- 200
- 403
Response (200)
12345678{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "algorithm": "EdDSA", "status": "in_use", "public_jwk": null, "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z"}
Applies project addon
/v1/projects/{ref}/billing/addons
Path parameters
- refRequiredstring
Project ref
Body
- addon_variantRequiredone of the following options
- addon_typeRequiredenum
Response codes
- 200
- 403
- 500
Response (200)
1{}
Lists project addons
/v1/projects/{ref}/billing/addons
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
12345678910111213141516171819202122232425262728293031323334353637{ "selected_addons": [ { "type": "custom_domain", "variant": { "id": "ci_micro", "name": "lorem", "price": { "description": "lorem", "type": "fixed", "interval": "monthly", "amount": 42 }, "meta": null } } ], "available_addons": [ { "type": "custom_domain", "name": "lorem", "variants": [ { "id": "ci_micro", "name": "lorem", "price": { "description": "lorem", "type": "fixed", "interval": "monthly", "amount": 42 }, "meta": null } ] } ]}
Removes project addon
/v1/projects/{ref}/billing/addons/{addon_variant}
Path parameters
- refRequiredstring
Project ref
- addon_variantRequired
Response codes
- 200
- 403
- 500
Response (200)
1{}
[Beta] Apply a database migration
/v1/projects/{ref}/database/migrations
Only available to selected partner OAuth apps
Path parameters
- refRequiredstring
Project ref
Body
- queryRequiredstring
- nameOptionalstring
Response codes
- 200
- 403
- 500
Response (200)
1{}
Initiates a creation of a restore point for a database
/v1/projects/{ref}/database/backups/restore-point
Path parameters
- refRequiredstring
Project ref
Body
- nameRequiredstring
Response codes
- 201
Response (201)
1234{ "name": "lorem", "status": "AVAILABLE"}
Disables project's readonly mode for the next 15 minutes
/v1/projects/{ref}/readonly/temporary-disable
Path parameters
- refRequiredstring
Project ref
Response codes
- 201
- 403
- 500
Response (201)
1{}
[Beta] Enables Database Webhooks on the project
/v1/projects/{ref}/database/webhooks/enable
Path parameters
- refRequiredstring
Project ref
Response codes
- 201
- 403
- 500
Response (201)
1{}
Generate TypeScript types
/v1/projects/{ref}/types/typescript
Returns the TypeScript types of your schema for use with supabase-js.
Path parameters
- refRequiredstring
Project ref
Query parameters
- included_schemasOptionalstring
Response codes
- 200
- 403
- 500
Response (200)
123{ "types": "lorem"}
Gets a specific SQL snippet
/v1/snippets/{id}
Path parameters
- idRequiredstring
Response codes
- 200
- 500
Response (200)
1234567891011121314151617181920212223242526{ "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 database metadata for the given project.deprecated
/v1/projects/{ref}/database/context
This is an experimental endpoint. It is subject to change or removal in future versions. Use it with caution, as it may not remain supported or stable.
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
123456789101112{ "databases": [ { "name": "lorem", "schemas": [ { "name": "lorem" } ] } ]}
Gets project's supavisor config
/v1/projects/{ref}/config/database/pooler
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 500
Response (200)
12345678910111213141516[ { "identifier": "lorem", "database_type": "PRIMARY", "is_using_scram_auth": true, "db_user": "lorem", "db_host": "lorem", "db_port": 42, "db_name": "lorem", "connection_string": "lorem", "connectionString": "lorem", "default_pool_size": 42, "max_client_conn": 42, "pool_mode": "transaction" }]
Gets project's Postgres config
/v1/projects/{ref}/config/database/postgres
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
12345678910111213141516171819202122232425{ "effective_cache_size": "lorem", "logical_decoding_work_mem": "lorem", "maintenance_work_mem": "lorem", "track_activity_query_size": "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_replication_slots": 42, "max_slot_wal_keep_size": "lorem", "max_standby_archive_delay": "lorem", "max_standby_streaming_delay": "lorem", "max_wal_size": "lorem", "max_wal_senders": 42, "max_worker_processes": 0, "session_replication_role": "origin", "shared_buffers": "lorem", "statement_timeout": "lorem", "track_commit_timestamp": true, "wal_keep_size": "lorem", "wal_sender_timeout": "lorem", "work_mem": "lorem"}
Get project's pgbouncer config
/v1/projects/{ref}/config/database/pgbouncer
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1234567891011{ "default_pool_size": 42, "ignore_startup_parameters": "lorem", "max_client_conn": 42, "pool_mode": "transaction", "connection_string": "lorem", "server_idle_timeout": 42, "server_lifetime": 42, "query_wait_timeout": 42, "reserve_pool_size": 42}
Returns project's readonly mode status
/v1/projects/{ref}/readonly
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
12345{ "enabled": true, "override_enabled": true, "override_active_until": "lorem"}
Get restore points for project
/v1/projects/{ref}/database/backups/restore-point
Path parameters
- refRequiredstring
Project ref
Query parameters
- nameOptionalstring
Response codes
- 200
- 403
- 500
Response (200)
1234{ "name": "lorem", "status": "AVAILABLE"}
[Beta] Get project's SSL enforcement configuration.
/v1/projects/{ref}/ssl-enforcement
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
123456{ "currentConfig": { "database": true }, "appliedSuccessfully": true}
Lists all backups
/v1/projects/{ref}/database/backups
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
12345678910111213141516{ "region": "lorem", "walg_enabled": true, "pitr_enabled": true, "backups": [ { "is_physical_backup": true, "status": "COMPLETED", "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
/v1/snippets
Query parameters
- project_refOptionalstring
Project ref
- cursorOptionalstring
- limitOptionalstring
- sort_byOptionalenum
- sort_orderOptionalenum
Response codes
- 200
- 500
Response (200)
1234567891011121314151617181920212223242526{ "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" } } ], "cursor": "lorem"}
[Beta] List applied migration versions
/v1/projects/{ref}/database/migrations
Only available to selected partner OAuth apps
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
123456[ { "version": "lorem", "name": "lorem" }]
[Beta] Remove a read replica
/v1/projects/{ref}/read-replicas/remove
Path parameters
- refRequiredstring
Project ref
Body
- database_identifierRequiredstring
Response codes
- 201
- 403
- 500
Response (201)
1{}
Restores a PITR backup for a database
/v1/projects/{ref}/database/backups/restore-pitr
Path parameters
- refRequiredstring
Project ref
Body
- recovery_time_target_unixRequiredinteger
Response codes
- 201
- 403
Response (201)
1{}
[Beta] Run sql query
/v1/projects/{ref}/database/query
Path parameters
- refRequiredstring
Project ref
Body
- queryRequiredstring
- read_onlyOptionalboolean
Response codes
- 201
- 403
- 500
Response (201)
1{}
[Beta] Set up a read replica
/v1/projects/{ref}/read-replicas/setup
Path parameters
- refRequiredstring
Project ref
Body
- read_replica_regionRequiredenum
Response codes
- 201
- 403
- 500
Response (201)
1{}
Initiates an undo to a given restore point
/v1/projects/{ref}/database/backups/undo
Path parameters
- refRequiredstring
Project ref
Body
- nameRequiredstring
Response codes
- 201
- 403
Response (201)
1{}
Updates project's supavisor config
/v1/projects/{ref}/config/database/pooler
Path parameters
- refRequiredstring
Project ref
Body
- default_pool_sizeOptionalinteger
- pool_modeOptionalenum
Response codes
- 200
- 403
- 500
Response (200)
1234{ "default_pool_size": 42, "pool_mode": "lorem"}
Updates project's Postgres config
/v1/projects/{ref}/config/database/postgres
Path parameters
- refRequiredstring
Project ref
Body
- effective_cache_sizeOptionalstring
- logical_decoding_work_memOptionalstring
- maintenance_work_memOptionalstring
- track_activity_query_sizeOptionalstring
- max_connectionsOptionalinteger
- max_locks_per_transactionOptionalinteger
- max_parallel_maintenance_workersOptionalinteger
- max_parallel_workersOptionalinteger
- max_parallel_workers_per_gatherOptionalinteger
- max_replication_slotsOptionalinteger
- max_slot_wal_keep_sizeOptionalstring
- max_standby_archive_delayOptionalstring
- max_standby_streaming_delayOptionalstring
- max_wal_sizeOptionalstring
- max_wal_sendersOptionalinteger
- max_worker_processesOptionalinteger
- session_replication_roleOptionalenum
- shared_buffersOptionalstring
- statement_timeoutOptionalstring
- track_commit_timestampOptionalboolean
- wal_keep_sizeOptionalstring
- wal_sender_timeoutOptionalstring
- work_memOptionalstring
- restart_databaseOptionalboolean
Response codes
- 200
- 403
- 500
Response (200)
12345678910111213141516171819202122232425{ "effective_cache_size": "lorem", "logical_decoding_work_mem": "lorem", "maintenance_work_mem": "lorem", "track_activity_query_size": "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_replication_slots": 42, "max_slot_wal_keep_size": "lorem", "max_standby_archive_delay": "lorem", "max_standby_streaming_delay": "lorem", "max_wal_size": "lorem", "max_wal_senders": 42, "max_worker_processes": 0, "session_replication_role": "origin", "shared_buffers": "lorem", "statement_timeout": "lorem", "track_commit_timestamp": true, "wal_keep_size": "lorem", "wal_sender_timeout": "lorem", "work_mem": "lorem"}
[Beta] Update project's SSL enforcement configuration.
/v1/projects/{ref}/ssl-enforcement
Path parameters
- refRequiredstring
Project ref
Body
- requestedConfigRequiredobject
Response codes
- 200
- 403
- 500
Response (200)
123456{ "currentConfig": { "database": true }, "appliedSuccessfully": true}
[Beta] Upsert a database migration without applying
/v1/projects/{ref}/database/migrations
Only available to selected partner OAuth apps
Path parameters
- refRequiredstring
Project ref
Body
- queryRequiredstring
- nameOptionalstring
Response codes
- 200
- 403
- 500
Response (200)
1{}
[Beta] Activates a custom hostname for a project.
/v1/projects/{ref}/custom-hostname/activate
Path parameters
- refRequiredstring
Project ref
Response codes
- 201
- 403
- 500
Response (201)
1234567891011121314151617181920212223242526272829303132333435363738394041{ "status": "1_not_started", "custom_hostname": "lorem", "data": { "success": true, "errors": [ null ], "messages": [ null ], "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.
/v1/projects/{ref}/vanity-subdomain/activate
Path parameters
- refRequiredstring
Project ref
Body
- vanity_subdomainRequiredstring
Response codes
- 201
- 403
- 500
Response (201)
123{ "custom_domain": "lorem"}
[Beta] Checks vanity subdomain availability
/v1/projects/{ref}/vanity-subdomain/check-availability
Path parameters
- refRequiredstring
Project ref
Body
- vanity_subdomainRequiredstring
Response codes
- 201
- 403
- 500
Response (201)
123{ "available": true}
[Beta] Deletes a project's vanity subdomain configuration
/v1/projects/{ref}/vanity-subdomain
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1{}
[Beta] Gets project's custom hostname config
/v1/projects/{ref}/custom-hostname
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1234567891011121314151617181920212223242526272829303132333435363738394041{ "status": "1_not_started", "custom_hostname": "lorem", "data": { "success": true, "errors": [ null ], "messages": [ null ], "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
/v1/projects/{ref}/vanity-subdomain
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1234{ "status": "not-used", "custom_domain": "lorem"}
[Beta] Updates project's custom hostname configuration
/v1/projects/{ref}/custom-hostname/initialize
Path parameters
- refRequiredstring
Project ref
Body
- custom_hostnameRequiredstring
Response codes
- 201
- 403
- 500
Response (201)
1234567891011121314151617181920212223242526272829303132333435363738394041{ "status": "1_not_started", "custom_hostname": "lorem", "data": { "success": true, "errors": [ null ], "messages": [ null ], "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
/v1/projects/{ref}/custom-hostname/reverify
Path parameters
- refRequiredstring
Project ref
Response codes
- 201
- 403
- 500
Response (201)
1234567891011121314151617181920212223242526272829303132333435363738394041{ "status": "1_not_started", "custom_hostname": "lorem", "data": { "success": true, "errors": [ null ], "messages": [ null ], "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" } }}
Bulk update functions
/v1/projects/{ref}/functions
Bulk update functions. It will create a new function or replace existing. The operation is idempotent. NOTE: You will need to manually bump the version.
Path parameters
- refRequiredstring
Project ref
Body
Response codes
- 200
- 403
- 500
Response (200)
123456789101112131415161718{ "functions": [ { "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", "ezbr_sha256": "lorem" } ]}
Create a functiondeprecated
/v1/projects/{ref}/functions
This endpoint is deprecated - use the deploy endpoint. Creates a function and adds it to the specified project.
Path parameters
- refRequiredstring
Project ref
Query parameters
- slugOptionalstring
- nameOptionalstring
- verify_jwtOptionalboolean
Boolean string, true or false
- import_mapOptionalboolean
Boolean string, true or false
- entrypoint_pathOptionalstring
- import_map_pathOptionalstring
- ezbr_sha256Optionalstring
Body
- slugRequiredstring
- nameRequiredstring
- bodyRequiredstring
- verify_jwtOptionalboolean
Response codes
- 201
- 403
- 500
Response (201)
1234567891011121314{ "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", "ezbr_sha256": "lorem"}
Delete a function
/v1/projects/{ref}/functions/{function_slug}
Deletes a function with the specified slug from the specified project.
Path parameters
- refRequiredstring
Project ref
- function_slugRequiredstring
Function slug
Response codes
- 200
- 403
- 500
Response (200)
1{}
Deploy a function
/v1/projects/{ref}/functions/deploy
A new endpoint to deploy functions. It will create if function does not exist.
Path parameters
- refRequiredstring
Project ref
Query parameters
- slugOptionalstring
- bundleOnlyOptionalboolean
Boolean string, true or false
Body
- fileOptionalArray<string>
- metadataRequiredobject
Response codes
- 201
- 403
- 500
Response (201)
1234567891011121314{ "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", "ezbr_sha256": "lorem"}
Retrieve a function
/v1/projects/{ref}/functions/{function_slug}
Retrieves a function with the specified slug and project.
Path parameters
- refRequiredstring
Project ref
- function_slugRequiredstring
Function slug
Response codes
- 200
- 403
- 500
Response (200)
1234567891011121314{ "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", "ezbr_sha256": "lorem"}
Retrieve a function body
/v1/projects/{ref}/functions/{function_slug}/body
Retrieves a function body for the specified slug and project.
Path parameters
- refRequiredstring
Project ref
- function_slugRequiredstring
Function slug
Response codes
- 200
- 403
- 500
Response (200)
1{}
List all functions
/v1/projects/{ref}/functions
Returns all functions you've previously added to the specified project.
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
12345678910111213141516[ { "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", "ezbr_sha256": "lorem" }]
Update a function
/v1/projects/{ref}/functions/{function_slug}
Updates a function with the specified slug and project.
Path parameters
- refRequiredstring
Project ref
- function_slugRequiredstring
Function slug
Query parameters
- slugOptionalstring
- nameOptionalstring
- verify_jwtOptionalboolean
Boolean string, true or false
- import_mapOptionalboolean
Boolean string, true or false
- entrypoint_pathOptionalstring
- import_map_pathOptionalstring
- ezbr_sha256Optionalstring
Body
- nameOptionalstring
- bodyOptionalstring
- verify_jwtOptionalboolean
Response codes
- 200
- 403
- 500
Response (200)
1234567891011121314{ "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", "ezbr_sha256": "lorem"}
Create a database branch
/v1/projects/{ref}/branches
Creates a database branch from the specified project.
Path parameters
- refRequiredstring
Project ref
Body
- branch_nameRequiredstring
- git_branchOptionalstring
- is_defaultOptionalboolean
- persistentOptionalboolean
- regionOptionalstring
- desired_instance_sizeOptionalenum
- release_channelOptionalenum
- postgres_engineOptionalenum
- secretsOptionalobject
- with_dataOptionalboolean
Response codes
- 201
- 403
- 500
Response (201)
123456789101112131415{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "name": "lorem", "project_ref": "lorem", "parent_project_ref": "lorem", "is_default": true, "git_branch": "lorem", "pr_number": 42, "latest_check_run_id": 42, "persistent": true, "status": "CREATING_PROJECT", "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z", "review_requested_at": "2021-12-31T23:34:00Z"}
Delete a database branch
/v1/branches/{branch_id}
Deletes the specified database branch
Path parameters
- branch_idRequiredstring
Branch ID
Response codes
- 200
- 500
Response (200)
123{ "message": "ok"}
[Beta] Diffs a database branch
/v1/branches/{branch_id}/diff
Diffs the specified database branch
Path parameters
- branch_idRequiredstring
Branch ID
Query parameters
- included_schemasOptionalstring
Response codes
- 200
- 500
Response (200)
1{}
Disables preview branching
/v1/projects/{ref}/branches
Disables preview branching for the specified project
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1{}
Get a database branch
/v1/projects/{ref}/branches/{name}
Fetches the specified database branch by its name.
Path parameters
- refRequiredstring
Project ref
- nameRequiredstring
Response codes
- 200
- 403
- 500
Response (200)
123456789101112131415{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "name": "lorem", "project_ref": "lorem", "parent_project_ref": "lorem", "is_default": true, "git_branch": "lorem", "pr_number": 42, "latest_check_run_id": 42, "persistent": true, "status": "CREATING_PROJECT", "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z", "review_requested_at": "2021-12-31T23:34:00Z"}
Get database branch config
/v1/branches/{branch_id}
Fetches configurations of the specified database branch
Path parameters
- branch_idRequiredstring
Branch ID
Response codes
- 200
- 500
Response (200)
123456789101112{ "ref": "lorem", "postgres_version": "lorem", "postgres_engine": "lorem", "release_channel": "lorem", "status": "INACTIVE", "db_host": "lorem", "db_port": 1, "db_user": "lorem", "db_pass": "lorem", "jwt_secret": "lorem"}
List all database branches
/v1/projects/{ref}/branches
Returns all database branches of the specified project.
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1234567891011121314151617[ { "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "name": "lorem", "project_ref": "lorem", "parent_project_ref": "lorem", "is_default": true, "git_branch": "lorem", "pr_number": 42, "latest_check_run_id": 42, "persistent": true, "status": "CREATING_PROJECT", "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z", "review_requested_at": "2021-12-31T23:34:00Z" }]
Merges a database branch
/v1/branches/{branch_id}/merge
Merges the specified database branch
Path parameters
- branch_idRequiredstring
Branch ID
Body
- migration_versionOptionalstring
Response codes
- 201
- 500
Response (201)
1234{ "workflow_run_id": "lorem", "message": "ok"}
Pushes a database branch
/v1/branches/{branch_id}/push
Pushes the specified database branch
Path parameters
- branch_idRequiredstring
Branch ID
Body
- migration_versionOptionalstring
Response codes
- 201
- 500
Response (201)
1234{ "workflow_run_id": "lorem", "message": "ok"}
Resets a database branch
/v1/branches/{branch_id}/reset
Resets the specified database branch
Path parameters
- branch_idRequiredstring
Branch ID
Body
- migration_versionOptionalstring
Response codes
- 201
- 500
Response (201)
1234{ "workflow_run_id": "lorem", "message": "ok"}
Update database branch config
/v1/branches/{branch_id}
Updates the configuration of the specified database branch
Path parameters
- branch_idRequiredstring
Branch ID
Body
- branch_nameOptionalstring
- git_branchOptionalstring
- reset_on_pushOptionalDeprecatedboolean
- persistentOptionalboolean
- statusOptionalenum
- request_reviewOptionalboolean
Response codes
- 200
- 500
Response (200)
123456789101112131415{ "id": "fbdf5a53-161e-4460-98ad-0e39408d8689", "name": "lorem", "project_ref": "lorem", "parent_project_ref": "lorem", "is_default": true, "git_branch": "lorem", "pr_number": 42, "latest_check_run_id": 42, "persistent": true, "status": "CREATING_PROJECT", "created_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z", "review_requested_at": "2021-12-31T23:34:00Z"}
[Beta] Exchange auth code for user's access and refresh token
/v1/oauth/token
Body
- grant_typeOptionalenum
- client_idOptionalstring
- client_secretOptionalstring
- codeOptionalstring
- code_verifierOptionalstring
- redirect_uriOptionalstring
- refresh_tokenOptionalstring
Response codes
- 201
Response (201)
123456{ "access_token": "lorem", "refresh_token": "lorem", "expires_in": 42, "token_type": "Bearer"}
[Beta] Revoke oauth app authorization and it's corresponding tokens
/v1/oauth/revoke
Body
- client_idRequiredstring
- client_secretRequiredstring
- refresh_tokenRequiredstring
Response codes
- 204
Response (204)
1{}
Claims project for the specified organization
/v1/organizations/{slug}/project-claim/{token}
Path parameters
- slugRequiredstring
Organization slug
- tokenRequiredstring
Response codes
- 204
- 403
Response (204)
1{}
Create an organization
/v1/organizations
Body
- nameRequiredstring
Response codes
- 201
- 500
Response (201)
1234{ "id": "lorem", "name": "lorem"}
Gets information about the organization
/v1/organizations/{slug}
Path parameters
- slugRequiredstring
Organization slug
Response codes
- 200
- 403
Response (200)
1234567891011{ "id": "lorem", "name": "lorem", "plan": "free", "opt_in_tags": [ "AI_SQL_GENERATOR_OPT_IN" ], "allowed_release_channels": [ "internal" ]}
Gets project details for the specified organization and claim token
/v1/organizations/{slug}/project-claim/{token}
Path parameters
- slugRequiredstring
Organization slug
- tokenRequiredstring
Response codes
- 200
- 403
Response (200)
12345678910111213141516171819202122232425262728293031323334353637383940{ "project": { "ref": "lorem", "name": "lorem" }, "preview": { "valid": true, "warnings": [ { "key": "lorem", "message": "lorem" } ], "errors": [ { "key": "lorem", "message": "lorem" } ], "info": [ { "key": "lorem", "message": "lorem" } ], "members_exceeding_free_project_limit": [ { "name": "lorem", "limit": 42 } ], "target_organization_eligible": true, "target_organization_has_free_project_slots": true, "source_subscription_plan": "free", "target_subscription_plan": "free" }, "expires_at": "lorem", "created_at": "lorem", "created_by": "fbdf5a53-161e-4460-98ad-0e39408d8689"}
List all organizations
/v1/organizations
Returns a list of organizations that you currently belong to.
Response codes
- 200
- 500
Response (200)
123456[ { "id": "lorem", "name": "lorem" }]
List members of an organization
/v1/organizations/{slug}/members
Path parameters
- slugRequiredstring
Organization slug
Response codes
- 200
- 403
Response (200)
123456789[ { "user_id": "lorem", "user_name": "lorem", "email": "lorem", "role_name": "lorem", "mfa_enabled": true }]
Cancels the given project restoration
/v1/projects/{ref}/restore/cancel
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
1{}
Create a project
/v1/projects
Body
- db_passRequiredstring
- nameRequiredstring
- organization_idRequiredstring
- planOptionalDeprecatedenum
- regionRequiredenum
- kps_enabledOptionalDeprecatedboolean
- desired_instance_sizeOptionalenum
- template_urlOptionalstring
Response codes
- 201
Response (201)
12345678{ "id": "lorem", "organization_id": "lorem", "name": "lorem", "region": "us-east-1", "created_at": "2023-03-29T16:32:59Z", "status": "INACTIVE"}
Creates project claim token
/v1/projects/{ref}/claim-token
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
1234567{ "token": "lorem", "token_alias": "lorem", "expires_at": "lorem", "created_at": "lorem", "created_by": "fbdf5a53-161e-4460-98ad-0e39408d8689"}
Deletes the given project
/v1/projects/{ref}
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
12345{ "id": 42, "ref": "lorem", "name": "lorem"}
[Beta] Remove network bans.
/v1/projects/{ref}/network-bans
Path parameters
- refRequiredstring
Project ref
Body
- ipv4_addressesRequiredArray<string>
- identifierOptionalstring
Response codes
- 200
- 403
- 500
Response (200)
1{}
Revokes project claim token
/v1/projects/{ref}/claim-token
Path parameters
- refRequiredstring
Project ref
Response codes
- 204
- 403
Response (204)
1{}
[Beta] Gets project's network restrictions
/v1/projects/{ref}/network-restrictions
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1234567891011121314151617181920{ "entitlement": "disallowed", "config": { "dbAllowedCidrs": [ "lorem" ], "dbAllowedCidrsV6": [ "lorem" ] }, "old_config": { "dbAllowedCidrs": [ "lorem" ], "dbAllowedCidrsV6": [ "lorem" ] }, "status": "stored"}
[Beta] Returns the project's eligibility for upgrades
/v1/projects/{ref}/upgrade/eligibility
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1234567891011121314151617181920212223242526{ "eligible": true, "current_app_version": "lorem", "current_app_version_release_channel": "internal", "latest_app_version": "lorem", "target_upgrade_versions": [ { "postgres_version": "15", "release_channel": "internal", "app_version": "lorem" } ], "duration_estimate_hours": 42, "legacy_auth_custom_roles": [ "lorem" ], "objects_to_be_dropped": [ "lorem" ], "unsupported_extensions": [ "lorem" ], "user_defined_objects_in_internal_schemas": [ "lorem" ]}
[Beta] Gets the latest status of the project's upgrade
/v1/projects/{ref}/upgrade/status
Path parameters
- refRequiredstring
Project ref
Query parameters
- tracking_idOptionalstring
Response codes
- 200
- 403
- 500
Response (200)
12345678910{ "databaseUpgradeStatus": { "initiated_at": "lorem", "latest_status_at": "lorem", "target_version": 42, "error": "1_upgraded_instance_launch_failed", "progress": "0_requested", "status": 42 }}
Gets a specific project that belongs to the authenticated user
/v1/projects/{ref}
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1234567891011121314{ "id": "lorem", "organization_id": "lorem", "name": "lorem", "region": "us-east-1", "created_at": "2023-03-29T16:32:59Z", "status": "INACTIVE", "database": { "host": "lorem", "version": "lorem", "postgres_engine": "lorem", "release_channel": "lorem" }}
Gets project claim token
/v1/projects/{ref}/claim-token
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
123456{ "token_alias": "lorem", "expires_at": "lorem", "created_at": "lorem", "created_by": "fbdf5a53-161e-4460-98ad-0e39408d8689"}
Gets project's service health status
/v1/projects/{ref}/health
Path parameters
- refRequiredstring
Project ref
Query parameters
- servicesRequiredArray<enum>
- timeout_msOptionalinteger
Response codes
- 200
- 403
- 500
Response (200)
12345678910111213[ { "name": "auth", "healthy": true, "status": "COMING_UP", "info": { "name": "GoTrue", "version": "lorem", "description": "lorem" }, "error": "lorem" }]
[Beta] Gets project's network bans
/v1/projects/{ref}/network-bans/retrieve
Path parameters
- refRequiredstring
Project ref
Response codes
- 201
- 403
- 500
Response (201)
12345{ "banned_ipv4_addresses": [ "lorem" ]}
[Beta] Gets project's network bans with additional information about which databases they affect
/v1/projects/{ref}/network-bans/retrieve/enriched
Path parameters
- refRequiredstring
Project ref
Response codes
- 201
- 403
- 500
Response (201)
123456789{ "banned_ipv4_addresses": [ { "banned_address": "lorem", "identifier": "lorem", "type": "lorem" } ]}
List all projects
/v1/projects
Returns a list of all projects you've previously created.
Response codes
- 200
Response (200)
12345678910111213141516[ { "id": "lorem", "organization_id": "lorem", "name": "lorem", "region": "us-east-1", "created_at": "2023-03-29T16:32:59Z", "status": "INACTIVE", "database": { "host": "lorem", "version": "lorem", "postgres_engine": "lorem", "release_channel": "lorem" } }]
Lists available restore versions for the given project
/v1/projects/{ref}/restore
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
123456789{ "available_versions": [ { "version": "lorem", "release_channel": "internal", "postgres_engine": "13" } ]}
Pauses the given project
/v1/projects/{ref}/pause
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
1{}
Restores the given project
/v1/projects/{ref}/restore
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
1{}
[Beta] Updates project's network restrictions
/v1/projects/{ref}/network-restrictions/apply
Path parameters
- refRequiredstring
Project ref
Body
- dbAllowedCidrsOptionalArray<string>
- dbAllowedCidrsV6OptionalArray<string>
Response codes
- 201
- 403
- 500
Response (201)
1234567891011121314151617181920{ "entitlement": "disallowed", "config": { "dbAllowedCidrs": [ "lorem" ], "dbAllowedCidrsV6": [ "lorem" ] }, "old_config": { "dbAllowedCidrs": [ "lorem" ], "dbAllowedCidrsV6": [ "lorem" ] }, "status": "stored"}
[Beta] Upgrades the project's Postgres version
/v1/projects/{ref}/upgrade
Path parameters
- refRequiredstring
Project ref
Body
- target_versionRequiredstring
- release_channelOptionalenum
Response codes
- 201
- 403
- 500
Response (201)
123{ "tracking_id": "lorem"}
Gets project's postgrest config
/v1/projects/{ref}/postgrest
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1234567{ "db_schema": "lorem", "max_rows": 42, "db_extra_search_path": "lorem", "db_pool": 42, "jwt_secret": "lorem"}
Updates project's postgrest config
/v1/projects/{ref}/postgrest
Path parameters
- refRequiredstring
Project ref
Body
- db_extra_search_pathOptionalstring
- db_schemaOptionalstring
- max_rowsOptionalinteger
- db_poolOptionalinteger
Response codes
- 200
- 403
- 500
Response (200)
123456{ "db_schema": "lorem", "max_rows": 42, "db_extra_search_path": "lorem", "db_pool": 42}
Bulk create secrets
/v1/projects/{ref}/secrets
Creates multiple secrets and adds them to the specified project.
Path parameters
- refRequiredstring
Project ref
Body
Response codes
- 201
- 403
- 500
Response (201)
1{}
Bulk delete secrets
/v1/projects/{ref}/secrets
Deletes all secrets with the given names from the specified project
Path parameters
- refRequiredstring
Project ref
Body
Response codes
- 200
- 403
- 500
Response (200)
1{}
Creates a new API key for the project
/v1/projects/{ref}/api-keys
Path parameters
- refRequiredstring
Project ref
Query parameters
- revealOptionalboolean
Boolean string, true or false
Body
- typeRequiredenum
- nameRequiredstring
- descriptionOptionalstring
- secret_jwt_templateOptionalobject
Response codes
- 201
- 403
Response (201)
1234567891011121314{ "api_key": "lorem", "id": "lorem", "type": "legacy", "prefix": "lorem", "name": "lorem", "description": "lorem", "hash": "lorem", "secret_jwt_template": { "role": "lorem" }, "inserted_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z"}
Deletes an API key for the project
/v1/projects/{ref}/api-keys/{id}
Path parameters
- refRequiredstring
Project ref
- idRequiredstring
Query parameters
- revealOptionalboolean
Boolean string, true or false
- was_compromisedOptionalboolean
Boolean string, true or false
- reasonOptionalstring
Response codes
- 200
- 403
Response (200)
1234567891011121314{ "api_key": "lorem", "id": "lorem", "type": "legacy", "prefix": "lorem", "name": "lorem", "description": "lorem", "hash": "lorem", "secret_jwt_template": { "role": "lorem" }, "inserted_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z"}
[Beta] Gets project's pgsodium config
/v1/projects/{ref}/pgsodium
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
123{ "root_key": "lorem"}
Get API key
/v1/projects/{ref}/api-keys/{id}
Path parameters
- refRequiredstring
Project ref
- idRequiredstring
Query parameters
- revealOptionalboolean
Boolean string, true or false
Response codes
- 200
- 403
Response (200)
1234567891011121314{ "api_key": "lorem", "id": "lorem", "type": "legacy", "prefix": "lorem", "name": "lorem", "description": "lorem", "hash": "lorem", "secret_jwt_template": { "role": "lorem" }, "inserted_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z"}
Get project api keys
/v1/projects/{ref}/api-keys
Path parameters
- refRequiredstring
Project ref
Query parameters
- revealOptionalboolean
Boolean string, true or false
Response codes
- 200
- 403
Response (200)
12345678910111213141516[ { "api_key": "lorem", "id": "lorem", "type": "legacy", "prefix": "lorem", "name": "lorem", "description": "lorem", "hash": "lorem", "secret_jwt_template": { "role": "lorem" }, "inserted_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z" }]
Check whether JWT based legacy (anon, service_role) API keys are enabled. This API endpoint will be removed in the future, check for HTTP 404 Not Found.
/v1/projects/{ref}/api-keys/legacy
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
Response (200)
123{ "enabled": true}
List all secrets
/v1/projects/{ref}/secrets
Returns all secrets you've previously added to the specified project.
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1234567[ { "name": "lorem", "value": "lorem", "updated_at": "lorem" }]
[Beta] Updates project's pgsodium config. Updating the root_key can cause all data encrypted with the older key to become inaccessible.
/v1/projects/{ref}/pgsodium
Path parameters
- refRequiredstring
Project ref
Body
- root_keyRequiredstring
Response codes
- 200
- 403
- 500
Response (200)
123{ "root_key": "lorem"}
Updates an API key for the project
/v1/projects/{ref}/api-keys/{id}
Path parameters
- refRequiredstring
Project ref
- idRequiredstring
Query parameters
- revealOptionalboolean
Boolean string, true or false
Body
- nameOptionalstring
- descriptionOptionalstring
- secret_jwt_templateOptionalobject
Response codes
- 200
- 403
Response (200)
1234567891011121314{ "api_key": "lorem", "id": "lorem", "type": "legacy", "prefix": "lorem", "name": "lorem", "description": "lorem", "hash": "lorem", "secret_jwt_template": { "role": "lorem" }, "inserted_at": "2021-12-31T23:34:00Z", "updated_at": "2021-12-31T23:34:00Z"}
Disable or re-enable JWT based legacy (anon, service_role) API keys. This API endpoint will be removed in the future, check for HTTP 404 Not Found.
/v1/projects/{ref}/api-keys/legacy
Path parameters
- refRequiredstring
Project ref
Query parameters
- enabledRequiredboolean
Boolean string, true or false
Response codes
- 200
- 403
Response (200)
123{ "enabled": true}
Gets project's storage config
/v1/projects/{ref}/config/storage
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
1234567891011121314{ "fileSizeLimit": 42, "features": { "imageTransformation": { "enabled": true }, "s3Protocol": { "enabled": true }, "icebergCatalog": { "enabled": true } }}
Lists all buckets
/v1/projects/{ref}/storage/buckets
Path parameters
- refRequiredstring
Project ref
Response codes
- 200
- 403
- 500
Response (200)
12345678910[ { "id": "lorem", "name": "lorem", "owner": "lorem", "created_at": "lorem", "updated_at": "lorem", "public": true }]
Updates project's storage config
/v1/projects/{ref}/config/storage
Path parameters
- refRequiredstring
Project ref
Body
- fileSizeLimitOptionalinteger
- featuresOptionalobject
Response codes
- 200
- 403
- 500
Response (200)
1{}