Supabase MCP Server

{ "openapi": "3.0.0", "paths": { "/v1/branches/{branch_id}": { "get": { "operationId": "v1-get-a-branch-config", "summary": "Get database branch config", "description": "Fetches configurations of the specified database branch", "parameters": [ { "name": "branch_id", "required": true, "in": "path", "description": "Branch ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BranchDetailResponse" } } } }, "500": { "description": "Failed to retrieve database branch" } }, "tags": [ "Environments" ], "security": [ { "bearer": [] } ] }, "patch": { "operationId": "v1-update-a-branch-config", "summary": "Update database branch config", "description": "Updates the configuration of the specified database branch", "parameters": [ { "name": "branch_id", "required": true, "in": "path", "description": "Branch ID", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateBranchBody" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BranchResponse" } } } }, "500": { "description": "Failed to update database branch" } }, "tags": [ "Environments" ], "security": [ { "bearer": [] } ] }, "delete": { "operationId": "v1-delete-a-branch", "summary": "Delete a database branch", "description": "Deletes the specified database branch", "parameters": [ { "name": "branch_id", "required": true, "in": "path", "description": "Branch ID", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BranchDeleteResponse" } } } }, "500": { "description": "Failed to delete database branch" } }, "tags": [ "Environments" ], "security": [ { "bearer": [] } ] } }, "/v1/branches/{branch_id}/push": { "post": { "operationId": "v1-push-a-branch", "summary": "Pushes a database branch", "description": "Pushes the specified database branch", "parameters": [ { "name": "branch_id", "required": true, "in": "path", "description": "Branch ID", "schema": { "type": "string" } } ], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BranchUpdateResponse" } } } }, "500": { "description": "Failed to push database branch" } }, "tags": [ "Environments" ], "security": [ { "bearer": [] } ] } }, "/v1/branches/{branch_id}/reset": { "post": { "operationId": "v1-reset-a-branch", "summary": "Resets a database branch", "description": "Resets the specified database branch", "parameters": [ { "name": "branch_id", "required": true, "in": "path", "description": "Branch ID", "schema": { "type": "string" } } ], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BranchUpdateResponse" } } } }, "500": { "description": "Failed to reset database branch" } }, "tags": [ "Environments" ], "security": [ { "bearer": [] } ] } }, "/v1/projects": { "get": { "operationId": "v1-list-all-projects", "summary": "List all projects", "description": "Returns a list of all projects you've previously created.", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/V1ProjectWithDatabaseResponse" } } } } } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] }, "post": { "operationId": "v1-create-a-project", "summary": "Create a project", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1CreateProjectBodyDto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1ProjectResponse" } } } } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/organizations": { "get": { "operationId": "v1-list-all-organizations", "summary": "List all organizations", "description": "Returns a list of organizations that you currently belong to.", "parameters": [], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OrganizationResponseV1" } } } } }, "500": { "description": "Unexpected error listing organizations" } }, "tags": [ "Organizations" ], "security": [ { "bearer": [] } ] }, "post": { "operationId": "v1-create-an-organization", "summary": "Create an organization", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateOrganizationV1Dto" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationResponseV1" } } } }, "500": { "description": "Unexpected error creating an organization" } }, "tags": [ "Organizations" ], "security": [ { "bearer": [] } ] } }, "/v1/oauth/authorize": { "get": { "operationId": "v1-authorize-user", "summary": "[Beta] Authorize user through oauth", "parameters": [ { "name": "client_id", "required": true, "in": "query", "schema": { "type": "string" } }, { "name": "response_type", "required": true, "in": "query", "schema": { "enum": [ "code", "token", "id_token token" ], "type": "string" } }, { "name": "redirect_uri", "required": true, "in": "query", "schema": { "type": "string" } }, { "name": "scope", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "state", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "response_mode", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "code_challenge", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "code_challenge_method", "required": false, "in": "query", "schema": { "enum": [ "plain", "sha256", "S256" ], "type": "string" } } ], "responses": { "303": { "description": "" } }, "tags": [ "OAuth" ], "security": [ { "oauth2": [ "read" ] } ] } }, "/v1/oauth/token": { "post": { "operationId": "v1-exchange-oauth-token", "summary": "[Beta] Exchange auth code for user's access and refresh token", "parameters": [], "requestBody": { "required": true, "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/OAuthTokenBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthTokenResponse" } } } } }, "tags": [ "OAuth" ], "security": [ { "oauth2": [ "write" ] } ] } }, "/v1/oauth/revoke": { "post": { "operationId": "v1-revoke-token", "summary": "[Beta] Revoke oauth app authorization and it's corresponding tokens", "parameters": [], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthRevokeTokenBodyDto" } } } }, "responses": { "204": { "description": "" } }, "tags": [ "OAuth" ], "security": [ { "oauth2": [ "write" ] } ] } }, "/v1/snippets": { "get": { "operationId": "v1-list-all-snippets", "summary": "Lists SQL snippets for the logged in user", "parameters": [ { "name": "cursor", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "limit", "required": false, "in": "query", "schema": { "type": "string", "minimum": 1, "maximum": 100 } }, { "name": "sort_by", "required": false, "in": "query", "schema": { "enum": [ "name", "inserted_at" ], "type": "string" } }, { "name": "sort_order", "required": false, "in": "query", "schema": { "enum": [ "asc", "desc" ], "type": "string" } }, { "name": "project_ref", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SnippetList" } } } }, "500": { "description": "Failed to list user's SQL snippets" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/snippets/{id}": { "get": { "operationId": "v1-get-a-snippet", "summary": "Gets a specific SQL snippet", "parameters": [ { "name": "id", "required": true, "in": "path", "schema": { "format": "uuid", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SnippetResponse" } } } }, "500": { "description": "Failed to retrieve SQL snippet" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/api-keys": { "get": { "operationId": "v1-get-project-api-keys", "summary": "Get project api keys", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "reveal", "required": true, "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ApiKeyResponse" } } } } } }, "tags": [ "Secrets" ], "security": [ { "bearer": [] } ] }, "post": { "operationId": "createApiKey", "summary": "[Alpha] Creates a new API key for the project", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "reveal", "required": true, "in": "query", "schema": { "type": "boolean" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateApiKeyBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyResponse" } } } } }, "tags": [ "Secrets" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/api-keys/{id}": { "patch": { "operationId": "updateApiKey", "summary": "[Alpha] Updates an API key for the project", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "reveal", "required": true, "in": "query", "schema": { "type": "boolean" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateApiKeyBody" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyResponse" } } } } }, "tags": [ "Secrets" ], "security": [ { "bearer": [] } ] }, "get": { "operationId": "getApiKey", "summary": "[Alpha] Get API key", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "reveal", "required": true, "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyResponse" } } } } }, "tags": [ "Secrets" ], "security": [ { "bearer": [] } ] }, "delete": { "operationId": "deleteApiKey", "summary": "[Alpha] Deletes an API key for the project", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }, { "name": "reveal", "required": true, "in": "query", "schema": { "type": "boolean" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyResponse" } } } }, "403": { "description": "" } }, "tags": [ "Secrets" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/branches": { "get": { "operationId": "v1-list-all-branches", "summary": "List all database branches", "description": "Returns all database branches of the specified project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/BranchResponse" } } } } }, "500": { "description": "Failed to retrieve database branches" } }, "tags": [ "Environments" ], "security": [ { "bearer": [] } ] }, "post": { "operationId": "v1-create-a-branch", "summary": "Create a database branch", "description": "Creates a database branch from the specified project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateBranchBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BranchResponse" } } } }, "500": { "description": "Failed to create database branch" } }, "tags": [ "Environments" ], "security": [ { "bearer": [] } ] }, "delete": { "operationId": "v1-disable-preview-branching", "summary": "Disables preview branching", "description": "Disables preview branching for the specified project", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "" }, "500": { "description": "Failed to disable preview branching" } }, "tags": [ "Environments" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/custom-hostname": { "get": { "operationId": "v1-get-hostname-config", "summary": "[Beta] Gets project's custom hostname config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCustomHostnameResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's custom hostname config" } }, "tags": [ "Domains" ], "security": [ { "bearer": [] } ] }, "delete": { "operationId": "v1-Delete hostname config", "summary": "[Beta] Deletes a project's custom hostname configuration", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "" }, "403": { "description": "" }, "500": { "description": "Failed to delete project custom hostname configuration" } }, "tags": [ "Domains" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/custom-hostname/initialize": { "post": { "operationId": "v1-update-hostname-config", "summary": "[Beta] Updates project's custom hostname configuration", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCustomHostnameBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCustomHostnameResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to update project custom hostname configuration" } }, "tags": [ "Domains" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/custom-hostname/reverify": { "post": { "operationId": "v1-verify-dns-config", "summary": "[Beta] Attempts to verify the DNS configuration for project's custom hostname configuration", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCustomHostnameResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to verify project custom hostname configuration" } }, "tags": [ "Domains" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/custom-hostname/activate": { "post": { "operationId": "v1-activate-custom-hostname", "summary": "[Beta] Activates a custom hostname for a project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateCustomHostnameResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to activate project custom hostname configuration" } }, "tags": [ "Domains" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/network-bans/retrieve": { "post": { "operationId": "v1-list-all-network-bans", "summary": "[Beta] Gets project's network bans", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NetworkBanResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's network bans" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/network-bans": { "delete": { "operationId": "v1-delete-network-bans", "summary": "[Beta] Remove network bans.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveNetworkBanRequest" } } } }, "responses": { "200": { "description": "" }, "403": { "description": "" }, "500": { "description": "Failed to remove network bans." } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/network-restrictions": { "get": { "operationId": "v1-get-network-restrictions", "summary": "[Beta] Gets project's network restrictions", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NetworkRestrictionsResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's network restrictions" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/network-restrictions/apply": { "post": { "operationId": "v1-update-network-restrictions", "summary": "[Beta] Updates project's network restrictions", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NetworkRestrictionsRequest" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NetworkRestrictionsResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to update project network restrictions" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/pgsodium": { "get": { "operationId": "v1-get-pgsodium-config", "summary": "[Beta] Gets project's pgsodium config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PgsodiumConfigResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's pgsodium config" } }, "tags": [ "Secrets" ], "security": [ { "bearer": [] } ] }, "put": { "operationId": "v1-update-pgsodium-config", "summary": "[Beta] Updates project's pgsodium config. Updating the root_key can cause all data encrypted with the older key to become inaccessible.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePgsodiumConfigBody" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PgsodiumConfigResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to update project's pgsodium config" } }, "tags": [ "Secrets" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/postgrest": { "get": { "operationId": "v1-get-postgrest-service-config", "summary": "Gets project's postgrest config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostgrestConfigWithJWTSecretResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's postgrest config" } }, "tags": [ "Rest" ], "security": [ { "bearer": [] } ] }, "patch": { "operationId": "v1-update-postgrest-service-config", "summary": "Updates project's postgrest config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePostgrestConfigBody" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1PostgrestConfigResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to update project's postgrest config" } }, "tags": [ "Rest" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}": { "get": { "operationId": "v1-get-project", "summary": "Gets a specific project that belongs to the authenticated user", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1ProjectWithDatabaseResponse" } } } }, "500": { "description": "Failed to retrieve project" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] }, "delete": { "operationId": "v1-delete-a-project", "summary": "Deletes the given project", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1ProjectRefResponse" } } } }, "403": { "description": "" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/secrets": { "get": { "operationId": "v1-list-all-secrets", "summary": "List all secrets", "description": "Returns all secrets you've previously added to the specified project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SecretResponse" } } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's secrets" } }, "tags": [ "Secrets" ], "security": [ { "bearer": [] } ] }, "post": { "operationId": "v1-bulk-create-secrets", "summary": "Bulk create secrets", "description": "Creates multiple secrets and adds them to the specified project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CreateSecretBody" } } } } }, "responses": { "201": { "description": "" }, "403": { "description": "" }, "500": { "description": "Failed to create project's secrets" } }, "tags": [ "Secrets" ], "security": [ { "bearer": [] } ] }, "delete": { "operationId": "v1-bulk-delete-secrets", "summary": "Bulk delete secrets", "description": "Deletes all secrets with the given names from the specified project", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" } } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "object" } } } }, "403": { "description": "" }, "500": { "description": "Failed to delete secrets with given names" } }, "tags": [ "Secrets" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/ssl-enforcement": { "get": { "operationId": "v1-get-ssl-enforcement-config", "summary": "[Beta] Get project's SSL enforcement configuration.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SslEnforcementResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's SSL enforcement config" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] }, "put": { "operationId": "v1-update-ssl-enforcement-config", "summary": "[Beta] Update project's SSL enforcement configuration.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SslEnforcementRequest" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SslEnforcementResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to update project's SSL enforcement configuration." } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/types/typescript": { "get": { "operationId": "v1-generate-typescript-types", "summary": "Generate TypeScript types", "description": "Returns the TypeScript types of your schema for use with supabase-js.", "parameters": [ { "name": "included_schemas", "required": false, "in": "query", "schema": { "default": "public", "type": "string" } }, { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TypescriptResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to generate TypeScript types" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/vanity-subdomain": { "get": { "operationId": "v1-get-vanity-subdomain-config", "summary": "[Beta] Gets current vanity subdomain config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VanitySubdomainConfigResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to get project vanity subdomain configuration" } }, "tags": [ "Domains" ], "security": [ { "bearer": [] } ] }, "delete": { "operationId": "v1-deactivate-vanity-subdomain-config", "summary": "[Beta] Deletes a project's vanity subdomain configuration", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "" }, "403": { "description": "" }, "500": { "description": "Failed to delete project vanity subdomain configuration" } }, "tags": [ "Domains" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/vanity-subdomain/check-availability": { "post": { "operationId": "v1-check-vanity-subdomain-availability", "summary": "[Beta] Checks vanity subdomain availability", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VanitySubdomainBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SubdomainAvailabilityResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to check project vanity subdomain configuration" } }, "tags": [ "Domains" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/vanity-subdomain/activate": { "post": { "operationId": "v1-activate-vanity-subdomain-config", "summary": "[Beta] Activates a vanity subdomain for a project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VanitySubdomainBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ActivateVanitySubdomainResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to activate project vanity subdomain configuration" } }, "tags": [ "Domains" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/upgrade": { "post": { "operationId": "v1-upgrade-postgres-version", "summary": "[Beta] Upgrades the project's Postgres version", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpgradeDatabaseBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectUpgradeInitiateResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to initiate project upgrade" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/upgrade/eligibility": { "get": { "operationId": "v1-get-postgres-upgrade-eligibility", "summary": "[Beta] Returns the project's eligibility for upgrades", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProjectUpgradeEligibilityResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to determine project upgrade eligibility" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/upgrade/status": { "get": { "operationId": "v1-get-postgres-upgrade-status", "summary": "[Beta] Gets the latest status of the project's upgrade", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "tracking_id", "required": false, "in": "query", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DatabaseUpgradeStatusResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project upgrade status" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/readonly": { "get": { "operationId": "v1-get-readonly-mode-status", "summary": "Returns project's readonly mode status", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReadOnlyStatusResponse" } } } }, "500": { "description": "Failed to get project readonly mode status" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/readonly/temporary-disable": { "post": { "operationId": "v1-disable-readonly-mode-temporarily", "summary": "Disables project's readonly mode for the next 15 minutes", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "201": { "description": "" }, "500": { "description": "Failed to disable project's readonly mode" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/read-replicas/setup": { "post": { "operationId": "v1-setup-a-read-replica", "summary": "[Beta] Set up a read replica", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetUpReadReplicaBody" } } } }, "responses": { "201": { "description": "" }, "403": { "description": "" }, "500": { "description": "Failed to set up read replica" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/read-replicas/remove": { "post": { "operationId": "v1-remove-a-read-replica", "summary": "[Beta] Remove a read replica", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveReadReplicaBody" } } } }, "responses": { "201": { "description": "" }, "403": { "description": "" }, "500": { "description": "Failed to remove read replica" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/health": { "get": { "operationId": "v1-get-services-health", "summary": "Gets project's service health status", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "timeout_ms", "required": false, "in": "query", "schema": { "minimum": 0, "maximum": 10000, "type": "integer" } }, { "name": "services", "required": true, "in": "query", "schema": { "type": "array", "items": { "type": "string", "enum": [ "auth", "db", "pooler", "realtime", "rest", "storage" ] } } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/V1ServiceHealthResponse" } } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's service health status" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/config/storage": { "get": { "operationId": "v1-get-storage-config", "summary": "Gets project's storage config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StorageConfigResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's storage config" } }, "tags": [ "Storage" ], "security": [ { "bearer": [] } ] }, "patch": { "operationId": "v1-update-storage-config", "summary": "Updates project's storage config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateStorageConfigBody" } } } }, "responses": { "200": { "description": "" }, "403": { "description": "" }, "500": { "description": "Failed to update project's storage config" } }, "tags": [ "Storage" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/config/database/postgres": { "get": { "operationId": "v1-get-postgres-config", "summary": "Gets project's Postgres config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostgresConfigResponse" } } } }, "500": { "description": "Failed to retrieve project's Postgres config" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] }, "put": { "operationId": "v1-update-postgres-config", "summary": "Updates project's Postgres config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdatePostgresConfigBody" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PostgresConfigResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to update project's Postgres config" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/config/database/pgbouncer": { "get": { "operationId": "v1-get-project-pgbouncer-config", "summary": "Get project's pgbouncer config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1PgbouncerConfigResponse" } } } }, "500": { "description": "Failed to retrieve project's pgbouncer config" } }, "tags": [ "Database" ] } }, "/v1/projects/{ref}/config/database/pooler": { "get": { "operationId": "v1-get-supavisor-config", "summary": "Gets project's supavisor config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SupavisorConfigResponse" } } } } }, "500": { "description": "Failed to retrieve project's supavisor config" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] }, "patch": { "operationId": "v1-update-supavisor-config", "summary": "Updates project's supavisor config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSupavisorConfigBody" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSupavisorConfigResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to update project's supavisor config" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/config/auth": { "get": { "operationId": "v1-get-auth-service-config", "summary": "Gets project's auth config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthConfigResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's auth config" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] }, "patch": { "operationId": "v1-update-auth-service-config", "summary": "Updates a project's auth config", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateAuthConfigBody" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthConfigResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to update project's auth config" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/config/auth/third-party-auth": { "post": { "operationId": "createTPAForProject", "summary": "Creates a new third-party auth integration", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateThirdPartyAuthBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyAuth" } } } }, "403": { "description": "" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] }, "get": { "operationId": "listTPAForProject", "summary": "[Alpha] Lists all third-party auth integrations", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ThirdPartyAuth" } } } } }, "403": { "description": "" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/config/auth/third-party-auth/{tpa_id}": { "delete": { "operationId": "deleteTPAForProject", "summary": "[Alpha] Removes a third-party auth integration", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "tpa_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyAuth" } } } }, "403": { "description": "" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] }, "get": { "operationId": "getTPAForProject", "summary": "[Alpha] Get a third-party integration", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "tpa_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThirdPartyAuth" } } } }, "403": { "description": "" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/pause": { "post": { "operationId": "v1-pause-a-project", "summary": "Pauses the given project", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "" }, "403": { "description": "" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/restore": { "get": { "operationId": "v1-list-available-restore-versions", "summary": "Lists available restore versions for the given project", "parameters": [ { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetProjectAvailableRestoreVersionsResponse" } } } }, "403": { "description": "" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] }, "post": { "operationId": "v1-restore-a-project", "summary": "Restores the given project", "parameters": [ { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RestoreProjectBodyDto" } } } }, "responses": { "200": { "description": "" }, "403": { "description": "" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/restore/cancel": { "post": { "operationId": "v1-cancel-a-project-restoration", "summary": "Cancels the given project restoration", "parameters": [ { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" }, "403": { "description": "" } }, "tags": [ "Projects" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/analytics/endpoints/logs.all": { "get": { "operationId": "getLogs", "summary": "Gets project's logs", "parameters": [ { "name": "iso_timestamp_end", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "iso_timestamp_start", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "sql", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1AnalyticsResponse" } } } }, "403": { "description": "" } }, "tags": [ "Analytics" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/database/query": { "post": { "operationId": "v1-run-a-query", "summary": "[Beta] Run sql query", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1RunQueryBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "type": "object" } } } }, "403": { "description": "" }, "500": { "description": "Failed to run sql query" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/database/webhooks/enable": { "post": { "operationId": "v1-enable-database-webhook", "summary": "[Beta] Enables Database Webhooks on the project", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "201": { "description": "" }, "403": { "description": "" }, "500": { "description": "Failed to enable Database Webhooks on the project" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/database/context": { "get": { "operationId": "getDatabaseMetadata", "summary": "Gets database metadata for the given project.", "description": "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.", "deprecated": true, "parameters": [ { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetProjectDbMetadataResponseDto" } } } }, "403": { "description": "" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/functions": { "get": { "operationId": "v1-list-all-functions", "summary": "List all functions", "description": "Returns all functions you've previously added to the specified project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/FunctionResponse" } } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve project's functions" } }, "tags": [ "Edge Functions" ], "security": [ { "bearer": [] } ] }, "post": { "operationId": "v1-create-a-function", "summary": "Create a function", "description": "This endpoint is deprecated - use the deploy endpoint. Creates a function and adds it to the specified project.", "deprecated": true, "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "slug", "required": false, "in": "query", "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } }, { "name": "name", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "verify_jwt", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "import_map", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "entrypoint_path", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "import_map_path", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1CreateFunctionBody" } }, "application/vnd.denoland.eszip": { "schema": { "$ref": "#/components/schemas/V1CreateFunctionBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FunctionResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to create project's function" } }, "tags": [ "Edge Functions" ], "security": [ { "bearer": [] } ] }, "put": { "operationId": "v1-bulk-update-functions", "summary": "Bulk update functions", "description": "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.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/BulkUpdateFunctionBody" } } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BulkUpdateFunctionResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to update functions" } }, "tags": [ "Edge Functions" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/functions/deploy": { "post": { "operationId": "v1-deploy-a-function", "summary": "Deploy a function", "description": "A new endpoint to deploy functions. It will create if function does not exist.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "slug", "required": false, "in": "query", "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } }, { "name": "bundleOnly", "required": false, "in": "query", "schema": { "type": "boolean" } } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/FunctionDeployBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeployFunctionResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to deploy function" } }, "tags": [ "Edge Functions" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/functions/{function_slug}": { "get": { "operationId": "v1-get-a-function", "summary": "Retrieve a function", "description": "Retrieves a function with the specified slug and project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "function_slug", "required": true, "in": "path", "description": "Function slug", "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FunctionSlugResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to retrieve function with given slug" } }, "tags": [ "Edge Functions" ], "security": [ { "bearer": [] } ] }, "patch": { "operationId": "v1-update-a-function", "summary": "Update a function", "description": "Updates a function with the specified slug and project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "function_slug", "required": true, "in": "path", "description": "Function slug", "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } }, { "name": "slug", "required": false, "in": "query", "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } }, { "name": "name", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "verify_jwt", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "import_map", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "entrypoint_path", "required": false, "in": "query", "schema": { "type": "string" } }, { "name": "import_map_path", "required": false, "in": "query", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1UpdateFunctionBody" } }, "application/vnd.denoland.eszip": { "schema": { "$ref": "#/components/schemas/V1UpdateFunctionBody" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FunctionResponse" } } } }, "403": { "description": "" }, "500": { "description": "Failed to update function with given slug" } }, "tags": [ "Edge Functions" ], "security": [ { "bearer": [] } ] }, "delete": { "operationId": "v1-delete-a-function", "summary": "Delete a function", "description": "Deletes a function with the specified slug from the specified project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "function_slug", "required": true, "in": "path", "description": "Function slug", "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } } ], "responses": { "200": { "description": "" }, "403": { "description": "" }, "500": { "description": "Failed to delete function with given slug" } }, "tags": [ "Edge Functions" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/functions/{function_slug}/body": { "get": { "operationId": "v1-get-a-function-body", "summary": "Retrieve a function body", "description": "Retrieves a function body for the specified slug and project.", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "function_slug", "required": true, "in": "path", "description": "Function slug", "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } } ], "responses": { "200": { "description": "" }, "403": { "description": "" }, "500": { "description": "Failed to retrieve function body with given slug" } }, "tags": [ "Edge Functions" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/storage/buckets": { "get": { "operationId": "v1-list-all-buckets", "summary": "Lists all buckets", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/V1StorageBucketResponse" } } } } }, "403": { "description": "" }, "500": { "description": "Failed to get list of buckets" } }, "tags": [ "Storage" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/config/auth/sso/providers": { "post": { "operationId": "v1-create-a-sso-provider", "summary": "Creates a new SSO provider", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateProviderBody" } } } }, "responses": { "201": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateProviderResponse" } } } }, "403": { "description": "" }, "404": { "description": "SAML 2.0 support is not enabled for this project" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] }, "get": { "operationId": "v1-list-all-sso-provider", "summary": "Lists all SSO providers", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ListProvidersResponse" } } } }, "403": { "description": "" }, "404": { "description": "SAML 2.0 support is not enabled for this project" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/config/auth/sso/providers/{provider_id}": { "get": { "operationId": "v1-get-a-sso-provider", "summary": "Gets a SSO provider by its UUID", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "provider_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetProviderResponse" } } } }, "403": { "description": "" }, "404": { "description": "Either SAML 2.0 was not enabled for this project, or the provider does not exist" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] }, "put": { "operationId": "v1-update-a-sso-provider", "summary": "Updates a SSO provider by its UUID", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "provider_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateProviderBody" } } } }, "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateProviderResponse" } } } }, "403": { "description": "" }, "404": { "description": "Either SAML 2.0 was not enabled for this project, or the provider does not exist" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] }, "delete": { "operationId": "v1-delete-a-sso-provider", "summary": "Removes a SSO provider by its UUID", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } }, { "name": "provider_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteProviderResponse" } } } }, "403": { "description": "" }, "404": { "description": "Either SAML 2.0 was not enabled for this project, or the provider does not exist" } }, "tags": [ "Auth" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/database/backups": { "get": { "operationId": "v1-list-all-backups", "summary": "Lists all backups", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1BackupsResponse" } } } }, "500": { "description": "Failed to get backups" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/projects/{ref}/database/backups/restore-pitr": { "post": { "operationId": "v1-restore-pitr-backup", "summary": "Restores a PITR backup for a database", "parameters": [ { "name": "ref", "required": true, "in": "path", "description": "Project ref", "schema": { "minLength": 20, "maxLength": 20, "type": "string" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1RestorePitrBody" } } } }, "responses": { "201": { "description": "" } }, "tags": [ "Database" ], "security": [ { "bearer": [] } ] } }, "/v1/organizations/{slug}/members": { "get": { "operationId": "v1-list-organization-members", "summary": "List members of an organization", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/V1OrganizationMemberResponse" } } } } } }, "tags": [ "Organizations" ], "security": [ { "bearer": [] } ] } }, "/v1/organizations/{slug}": { "get": { "operationId": "v1-get-an-organization", "summary": "Gets information about the organization", "parameters": [ { "name": "slug", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/V1OrganizationSlugResponse" } } } } }, "tags": [ "Organizations" ], "security": [ { "bearer": [] } ] } } }, "info": { "title": "Supabase API (v1)", "description": "Supabase API generated from the OpenAPI specification.\u003Cbr\u003EVisit [https://supabase.com/docs](https://supabase.com/docs) for a complete documentation.", "version": "1.0.0", "contact": { } }, "tags": [ { "name": "Auth", "description": "Auth related endpoints" }, { "name": "Database", "description": "Database related endpoints" }, { "name": "Domains", "description": "Domains related endpoints" }, { "name": "Edge Functions", "description": "Edge related endpoints" }, { "name": "Environments", "description": "Environments related endpoints" }, { "name": "OAuth", "description": "OAuth related endpoints" }, { "name": "Organizations", "description": "Organizations related endpoints" }, { "name": "Projects", "description": "Projects related endpoints" }, { "name": "Rest", "description": "Rest related endpoints" }, { "name": "Secrets", "description": "Secrets related endpoints" }, { "name": "Storage", "description": "Storage related endpoints" } ], "servers": [], "components": { "securitySchemes": { "bearer": { "scheme": "bearer", "bearerFormat": "JWT", "type": "http" } }, "schemas": { "BranchDetailResponse": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "INACTIVE", "ACTIVE_HEALTHY", "ACTIVE_UNHEALTHY", "COMING_UP", "UNKNOWN", "GOING_DOWN", "INIT_FAILED", "REMOVED", "RESTORING", "UPGRADING", "PAUSING", "RESTORE_FAILED", "RESTARTING", "PAUSE_FAILED", "RESIZING" ] }, "db_port": { "type": "integer" }, "ref": { "type": "string" }, "postgres_version": { "type": "string" }, "postgres_engine": { "type": "string" }, "release_channel": { "type": "string" }, "db_host": { "type": "string" }, "db_user": { "type": "string" }, "db_pass": { "type": "string" }, "jwt_secret": { "type": "string" } }, "required": [ "status", "db_port", "ref", "postgres_version", "postgres_engine", "release_channel", "db_host" ] }, "UpdateBranchBody": { "type": "object", "properties": { "reset_on_push": { "type": "boolean", "deprecated": true, "description": "This field is deprecated and will be ignored. Use v1-reset-a-branch endpoint directly instead." }, "branch_name": { "type": "string" }, "git_branch": { "type": "string" }, "persistent": { "type": "boolean" }, "status": { "type": "string", "enum": [ "CREATING_PROJECT", "RUNNING_MIGRATIONS", "MIGRATIONS_PASSED", "MIGRATIONS_FAILED", "FUNCTIONS_DEPLOYED", "FUNCTIONS_FAILED" ] } } }, "BranchResponse": { "type": "object", "properties": { "pr_number": { "type": "integer", "format": "int32" }, "latest_check_run_id": { "type": "number", "deprecated": true, "description": "This field is deprecated and will not be populated." }, "status": { "type": "string", "enum": [ "CREATING_PROJECT", "RUNNING_MIGRATIONS", "MIGRATIONS_PASSED", "MIGRATIONS_FAILED", "FUNCTIONS_DEPLOYED", "FUNCTIONS_FAILED" ] }, "id": { "type": "string" }, "name": { "type": "string" }, "project_ref": { "type": "string" }, "parent_project_ref": { "type": "string" }, "is_default": { "type": "boolean" }, "git_branch": { "type": "string" }, "persistent": { "type": "boolean" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "status", "id", "name", "project_ref", "parent_project_ref", "is_default", "persistent", "created_at", "updated_at" ] }, "BranchDeleteResponse": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] }, "BranchUpdateResponse": { "type": "object", "properties": { "workflow_run_id": { "type": "string" }, "message": { "type": "string" } }, "required": [ "workflow_run_id", "message" ] }, "V1DatabaseResponse": { "type": "object", "properties": { "host": { "type": "string", "description": "Database host" }, "version": { "type": "string", "description": "Database version" }, "postgres_engine": { "type": "string", "description": "Database engine" }, "release_channel": { "type": "string", "description": "Release channel" } }, "required": [ "host", "version", "postgres_engine", "release_channel" ] }, "V1ProjectWithDatabaseResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Id of your project" }, "organization_id": { "type": "string", "description": "Slug of your organization" }, "name": { "type": "string", "description": "Name of your project" }, "region": { "type": "string", "description": "Region of your project", "example": "us-east-1" }, "created_at": { "type": "string", "description": "Creation timestamp", "example": "2023-03-29T16:32:59Z" }, "status": { "type": "string", "enum": [ "INACTIVE", "ACTIVE_HEALTHY", "ACTIVE_UNHEALTHY", "COMING_UP", "UNKNOWN", "GOING_DOWN", "INIT_FAILED", "REMOVED", "RESTORING", "UPGRADING", "PAUSING", "RESTORE_FAILED", "RESTARTING", "PAUSE_FAILED", "RESIZING" ] }, "database": { "$ref": "#/components/schemas/V1DatabaseResponse" } }, "required": [ "id", "organization_id", "name", "region", "created_at", "status", "database" ] }, "V1CreateProjectBodyDto": { "type": "object", "properties": { "db_pass": { "type": "string", "description": "Database password" }, "name": { "type": "string", "description": "Name of your project" }, "organization_id": { "type": "string", "description": "Slug of your organization" }, "plan": { "type": "string", "enum": [ "free", "pro" ], "deprecated": true, "description": "Subscription Plan is now set on organization level and is ignored in this request" }, "region": { "type": "string", "description": "Region you want your server to reside in", "enum": [ "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ap-east-1", "ap-southeast-1", "ap-northeast-1", "ap-northeast-2", "ap-southeast-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-north-1", "eu-central-1", "eu-central-2", "ca-central-1", "ap-south-1", "sa-east-1" ] }, "kps_enabled": { "type": "boolean", "deprecated": true, "description": "This field is deprecated and is ignored in this request" }, "desired_instance_size": { "type": "string", "enum": [ "micro", "small", "medium", "large", "xlarge", "2xlarge", "4xlarge", "8xlarge", "12xlarge", "16xlarge" ] }, "template_url": { "type": "string", "format": "uri", "description": "Template URL used to create the project from the CLI.", "example": "https://github.com/supabase/supabase/tree/master/examples/slack-clone/nextjs-slack-clone" } }, "required": [ "db_pass", "name", "organization_id", "region" ], "additionalProperties": false, "hideDefinitions": [ "release_channel", "postgres_engine" ] }, "V1ProjectResponse": { "type": "object", "properties": { "id": { "type": "string", "description": "Id of your project" }, "organization_id": { "type": "string", "description": "Slug of your organization" }, "name": { "type": "string", "description": "Name of your project" }, "region": { "type": "string", "description": "Region of your project", "example": "us-east-1" }, "created_at": { "type": "string", "description": "Creation timestamp", "example": "2023-03-29T16:32:59Z" }, "status": { "type": "string", "enum": [ "INACTIVE", "ACTIVE_HEALTHY", "ACTIVE_UNHEALTHY", "COMING_UP", "UNKNOWN", "GOING_DOWN", "INIT_FAILED", "REMOVED", "RESTORING", "UPGRADING", "PAUSING", "RESTORE_FAILED", "RESTARTING", "PAUSE_FAILED", "RESIZING" ] } }, "required": [ "id", "organization_id", "name", "region", "created_at", "status" ] }, "OrganizationResponseV1": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "name" ] }, "CreateOrganizationV1Dto": { "type": "object", "properties": { "name": { "type": "string" } }, "required": [ "name" ], "additionalProperties": false }, "OAuthTokenBody": { "type": "object", "properties": { "grant_type": { "enum": [ "authorization_code", "refresh_token" ], "type": "string" }, "client_id": { "type": "string" }, "client_secret": { "type": "string" }, "code": { "type": "string" }, "code_verifier": { "type": "string" }, "redirect_uri": { "type": "string" }, "refresh_token": { "type": "string" } }, "required": [ "grant_type", "client_id", "client_secret" ] }, "OAuthTokenResponse": { "type": "object", "properties": { "expires_in": { "type": "integer", "format": "int64" }, "token_type": { "type": "string", "enum": [ "Bearer" ] }, "access_token": { "type": "string" }, "refresh_token": { "type": "string" } }, "required": [ "expires_in", "token_type", "access_token", "refresh_token" ] }, "OAuthRevokeTokenBodyDto": { "type": "object", "properties": { "client_id": { "type": "string", "format": "uuid" }, "client_secret": { "type": "string" }, "refresh_token": { "type": "string" } }, "required": [ "client_id", "client_secret", "refresh_token" ], "additionalProperties": false }, "SnippetProject": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" } }, "required": [ "id", "name" ] }, "SnippetUser": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "username": { "type": "string" } }, "required": [ "id", "username" ] }, "SnippetMeta": { "type": "object", "properties": { "id": { "type": "string" }, "inserted_at": { "type": "string" }, "updated_at": { "type": "string" }, "type": { "type": "string", "enum": [ "sql" ] }, "visibility": { "type": "string", "enum": [ "user", "project", "org", "public" ] }, "name": { "type": "string" }, "description": { "type": "string", "nullable": true }, "project": { "$ref": "#/components/schemas/SnippetProject" }, "owner": { "$ref": "#/components/schemas/SnippetUser" }, "updated_by": { "$ref": "#/components/schemas/SnippetUser" } }, "required": [ "id", "inserted_at", "updated_at", "type", "visibility", "name", "description", "project", "owner", "updated_by" ] }, "SnippetList": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/components/schemas/SnippetMeta" } }, "cursor": { "type": "string" } }, "required": [ "data" ] }, "SnippetContent": { "type": "object", "properties": { "favorite": { "type": "boolean" }, "schema_version": { "type": "string" }, "sql": { "type": "string" } }, "required": [ "favorite", "schema_version", "sql" ] }, "SnippetResponse": { "type": "object", "properties": { "id": { "type": "string" }, "inserted_at": { "type": "string" }, "updated_at": { "type": "string" }, "type": { "type": "string", "enum": [ "sql" ] }, "visibility": { "enum": [ "user", "project", "org", "public" ], "type": "string" }, "name": { "type": "string" }, "description": { "type": "string", "nullable": true }, "project": { "$ref": "#/components/schemas/SnippetProject" }, "owner": { "$ref": "#/components/schemas/SnippetUser" }, "updated_by": { "$ref": "#/components/schemas/SnippetUser" }, "content": { "$ref": "#/components/schemas/SnippetContent" } }, "required": [ "id", "inserted_at", "updated_at", "type", "visibility", "name", "description", "project", "owner", "updated_by", "content" ] }, "ApiKeySecretJWTTemplate": { "type": "object", "properties": { "role": { "type": "string" } }, "required": [ "role" ] }, "ApiKeyResponse": { "type": "object", "properties": { "type": { "nullable": true, "type": "string", "enum": [ "publishable", "secret", "legacy" ] }, "name": { "type": "string" }, "api_key": { "type": "string" }, "id": { "type": "string", "nullable": true }, "prefix": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "hash": { "type": "string", "nullable": true }, "secret_jwt_template": { "nullable": true, "allOf": [ { "$ref": "#/components/schemas/ApiKeySecretJWTTemplate" } ] }, "inserted_at": { "type": "string", "nullable": true }, "updated_at": { "type": "string", "nullable": true } }, "required": [ "name", "api_key" ] }, "CreateApiKeyBody": { "type": "object", "properties": { "type": { "enum": [ "publishable", "secret" ], "type": "string" }, "description": { "type": "string", "nullable": true }, "secret_jwt_template": { "nullable": true, "allOf": [ { "$ref": "#/components/schemas/ApiKeySecretJWTTemplate" } ] } }, "required": [ "type" ] }, "UpdateApiKeyBody": { "type": "object", "properties": { "description": { "type": "string", "nullable": true }, "secret_jwt_template": { "nullable": true, "allOf": [ { "$ref": "#/components/schemas/ApiKeySecretJWTTemplate" } ] } } }, "DesiredInstanceSize": { "type": "string", "enum": [ "micro", "small", "medium", "large", "xlarge", "2xlarge", "4xlarge", "8xlarge", "12xlarge", "16xlarge" ] }, "ReleaseChannel": { "type": "string", "enum": [ "internal", "alpha", "beta", "ga", "withdrawn", "preview" ] }, "PostgresEngine": { "type": "string", "description": "Postgres engine version. If not provided, the latest version will be used.", "enum": [ "15", "17-oriole" ] }, "CreateBranchBody": { "type": "object", "properties": { "desired_instance_size": { "$ref": "#/components/schemas/DesiredInstanceSize" }, "release_channel": { "$ref": "#/components/schemas/ReleaseChannel" }, "postgres_engine": { "$ref": "#/components/schemas/PostgresEngine" }, "branch_name": { "type": "string" }, "git_branch": { "type": "string" }, "persistent": { "type": "boolean" }, "region": { "type": "string" } }, "required": [ "branch_name" ] }, "ValidationRecord": { "type": "object", "properties": { "txt_name": { "type": "string" }, "txt_value": { "type": "string" } }, "required": [ "txt_name", "txt_value" ] }, "ValidationError": { "type": "object", "properties": { "message": { "type": "string" } }, "required": [ "message" ] }, "SslValidation": { "type": "object", "properties": { "status": { "type": "string" }, "validation_records": { "type": "array", "items": { "$ref": "#/components/schemas/ValidationRecord" } }, "validation_errors": { "type": "array", "items": { "$ref": "#/components/schemas/ValidationError" } } }, "required": [ "status", "validation_records" ] }, "OwnershipVerification": { "type": "object", "properties": { "type": { "type": "string" }, "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "type", "name", "value" ] }, "CustomHostnameDetails": { "type": "object", "properties": { "id": { "type": "string" }, "hostname": { "type": "string" }, "ssl": { "$ref": "#/components/schemas/SslValidation" }, "ownership_verification": { "$ref": "#/components/schemas/OwnershipVerification" }, "custom_origin_server": { "type": "string" }, "verification_errors": { "type": "array", "items": { "type": "string" } }, "status": { "type": "string" } }, "required": [ "id", "hostname", "ssl", "ownership_verification", "custom_origin_server", "status" ] }, "CfResponse": { "type": "object", "properties": { "success": { "type": "boolean" }, "errors": { "type": "array", "items": { "type": "object" } }, "messages": { "type": "array", "items": { "type": "object" } }, "result": { "$ref": "#/components/schemas/CustomHostnameDetails" } }, "required": [ "success", "errors", "messages", "result" ] }, "UpdateCustomHostnameResponse": { "type": "object", "properties": { "status": { "enum": [ "1_not_started", "2_initiated", "3_challenge_verified", "4_origin_setup_completed", "5_services_reconfigured" ], "type": "string" }, "custom_hostname": { "type": "string" }, "data": { "$ref": "#/components/schemas/CfResponse" } }, "required": [ "status", "custom_hostname", "data" ] }, "UpdateCustomHostnameBody": { "type": "object", "properties": { "custom_hostname": { "type": "string" } }, "required": [ "custom_hostname" ] }, "NetworkBanResponse": { "type": "object", "properties": { "banned_ipv4_addresses": { "type": "array", "items": { "type": "string" } } }, "required": [ "banned_ipv4_addresses" ] }, "RemoveNetworkBanRequest": { "type": "object", "properties": { "ipv4_addresses": { "type": "array", "items": { "type": "string" } } }, "required": [ "ipv4_addresses" ] }, "NetworkRestrictionsRequest": { "type": "object", "properties": { "dbAllowedCidrs": { "type": "array", "items": { "type": "string" } }, "dbAllowedCidrsV6": { "type": "array", "items": { "type": "string" } } } }, "NetworkRestrictionsResponse": { "type": "object", "properties": { "entitlement": { "enum": [ "disallowed", "allowed" ], "type": "string" }, "config": { "$ref": "#/components/schemas/NetworkRestrictionsRequest" }, "old_config": { "$ref": "#/components/schemas/NetworkRestrictionsRequest" }, "status": { "enum": [ "stored", "applied" ], "type": "string" } }, "required": [ "entitlement", "config", "status" ] }, "PgsodiumConfigResponse": { "type": "object", "properties": { "root_key": { "type": "string" } }, "required": [ "root_key" ] }, "UpdatePgsodiumConfigBody": { "type": "object", "properties": { "root_key": { "type": "string" } }, "required": [ "root_key" ] }, "PostgrestConfigWithJWTSecretResponse": { "type": "object", "properties": { "max_rows": { "type": "integer" }, "db_pool": { "type": "integer", "nullable": true, "description": "If `null`, the value is automatically configured based on compute size." }, "db_schema": { "type": "string" }, "db_extra_search_path": { "type": "string" }, "jwt_secret": { "type": "string" } }, "required": [ "max_rows", "db_pool", "db_schema", "db_extra_search_path" ] }, "UpdatePostgrestConfigBody": { "type": "object", "properties": { "max_rows": { "type": "integer", "minimum": 0, "maximum": 1000000 }, "db_pool": { "type": "integer", "minimum": 0, "maximum": 1000 }, "db_extra_search_path": { "type": "string" }, "db_schema": { "type": "string" } } }, "V1PostgrestConfigResponse": { "type": "object", "properties": { "max_rows": { "type": "integer" }, "db_pool": { "type": "integer", "nullable": true, "description": "If `null`, the value is automatically configured based on compute size." }, "db_schema": { "type": "string" }, "db_extra_search_path": { "type": "string" } }, "required": [ "max_rows", "db_pool", "db_schema", "db_extra_search_path" ] }, "V1ProjectRefResponse": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "ref": { "type": "string" }, "name": { "type": "string" } }, "required": [ "id", "ref", "name" ] }, "SecretResponse": { "type": "object", "properties": { "name": { "type": "string" }, "value": { "type": "string" } }, "required": [ "name", "value" ] }, "CreateSecretBody": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 256, "pattern": "/^(?!SUPABASE_).*/", "description": "Secret name must not start with the SUPABASE_ prefix.", "example": "string" }, "value": { "type": "string", "maxLength": 24576 } }, "required": [ "name", "value" ] }, "SslEnforcements": { "type": "object", "properties": { "database": { "type": "boolean" } }, "required": [ "database" ] }, "SslEnforcementResponse": { "type": "object", "properties": { "currentConfig": { "$ref": "#/components/schemas/SslEnforcements" }, "appliedSuccessfully": { "type": "boolean" } }, "required": [ "currentConfig", "appliedSuccessfully" ] }, "SslEnforcementRequest": { "type": "object", "properties": { "requestedConfig": { "$ref": "#/components/schemas/SslEnforcements" } }, "required": [ "requestedConfig" ] }, "TypescriptResponse": { "type": "object", "properties": { "types": { "type": "string" } }, "required": [ "types" ] }, "VanitySubdomainConfigResponse": { "type": "object", "properties": { "status": { "enum": [ "not-used", "custom-domain-used", "active" ], "type": "string" }, "custom_domain": { "type": "string" } }, "required": [ "status" ] }, "VanitySubdomainBody": { "type": "object", "properties": { "vanity_subdomain": { "type": "string" } }, "required": [ "vanity_subdomain" ] }, "SubdomainAvailabilityResponse": { "type": "object", "properties": { "available": { "type": "boolean" } }, "required": [ "available" ] }, "ActivateVanitySubdomainResponse": { "type": "object", "properties": { "custom_domain": { "type": "string" } }, "required": [ "custom_domain" ] }, "UpgradeDatabaseBody": { "type": "object", "properties": { "release_channel": { "$ref": "#/components/schemas/ReleaseChannel" }, "target_version": { "type": "string" } }, "required": [ "release_channel", "target_version" ] }, "ProjectUpgradeInitiateResponse": { "type": "object", "properties": { "tracking_id": { "type": "string" } }, "required": [ "tracking_id" ] }, "ProjectVersion": { "type": "object", "properties": { "postgres_version": { "$ref": "#/components/schemas/PostgresEngine" }, "release_channel": { "$ref": "#/components/schemas/ReleaseChannel" }, "app_version": { "type": "string" } }, "required": [ "postgres_version", "release_channel", "app_version" ] }, "ProjectUpgradeEligibilityResponse": { "type": "object", "properties": { "current_app_version_release_channel": { "$ref": "#/components/schemas/ReleaseChannel" }, "duration_estimate_hours": { "type": "integer" }, "eligible": { "type": "boolean" }, "current_app_version": { "type": "string" }, "latest_app_version": { "type": "string" }, "target_upgrade_versions": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectVersion" } }, "potential_breaking_changes": { "type": "array", "items": { "type": "string" } }, "legacy_auth_custom_roles": { "type": "array", "items": { "type": "string" } }, "extension_dependent_objects": { "type": "array", "items": { "type": "string" } } }, "required": [ "current_app_version_release_channel", "duration_estimate_hours", "eligible", "current_app_version", "latest_app_version", "target_upgrade_versions", "potential_breaking_changes", "legacy_auth_custom_roles", "extension_dependent_objects" ] }, "DatabaseUpgradeStatus": { "type": "object", "properties": { "target_version": { "type": "integer" }, "status": { "enum": [0, 1, 2], "type": "integer" }, "initiated_at": { "type": "string" }, "latest_status_at": { "type": "string" }, "error": { "type": "string", "enum": [ "1_upgraded_instance_launch_failed", "2_volume_detachchment_from_upgraded_instance_failed", "3_volume_attachment_to_original_instance_failed", "4_data_upgrade_initiation_failed", "5_data_upgrade_completion_failed", "6_volume_detachchment_from_original_instance_failed", "7_volume_attachment_to_upgraded_instance_failed", "8_upgrade_completion_failed", "9_post_physical_backup_failed" ] }, "progress": { "type": "string", "enum": [ "0_requested", "1_started", "2_launched_upgraded_instance", "3_detached_volume_from_upgraded_instance", "4_attached_volume_to_original_instance", "5_initiated_data_upgrade", "6_completed_data_upgrade", "7_detached_volume_from_original_instance", "8_attached_volume_to_upgraded_instance", "9_completed_upgrade", "10_completed_post_physical_backup" ] } }, "required": [ "target_version", "status", "initiated_at", "latest_status_at" ] }, "DatabaseUpgradeStatusResponse": { "type": "object", "properties": { "databaseUpgradeStatus": { "nullable": true, "allOf": [ { "$ref": "#/components/schemas/DatabaseUpgradeStatus" } ] } }, "required": [ "databaseUpgradeStatus" ] }, "ReadOnlyStatusResponse": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "override_enabled": { "type": "boolean" }, "override_active_until": { "type": "string" } }, "required": [ "enabled", "override_enabled", "override_active_until" ] }, "SetUpReadReplicaBody": { "type": "object", "properties": { "read_replica_region": { "type": "string", "enum": [ "us-east-1", "us-east-2", "us-west-1", "us-west-2", "ap-east-1", "ap-southeast-1", "ap-northeast-1", "ap-northeast-2", "ap-southeast-2", "eu-west-1", "eu-west-2", "eu-west-3", "eu-north-1", "eu-central-1", "eu-central-2", "ca-central-1", "ap-south-1", "sa-east-1" ], "description": "Region you want your read replica to reside in", "example": "us-east-1" } }, "required": [ "read_replica_region" ] }, "RemoveReadReplicaBody": { "type": "object", "properties": { "database_identifier": { "type": "string" } }, "required": [ "database_identifier" ] }, "AuthHealthResponse": { "type": "object", "properties": { "name": { "type": "string", "enum": [ "GoTrue" ] } }, "required": [ "name" ] }, "RealtimeHealthResponse": { "type": "object", "properties": { "connected_cluster": { "type": "integer" } }, "required": [ "connected_cluster" ] }, "V1ServiceHealthResponse": { "type": "object", "properties": { "info": { "oneOf": [ { "$ref": "#/components/schemas/AuthHealthResponse" }, { "$ref": "#/components/schemas/RealtimeHealthResponse" } ] }, "name": { "enum": [ "auth", "db", "pooler", "realtime", "rest", "storage" ], "type": "string" }, "healthy": { "type": "boolean" }, "status": { "enum": [ "COMING_UP", "ACTIVE_HEALTHY", "UNHEALTHY" ], "type": "string" }, "error": { "type": "string" } }, "required": [ "name", "healthy", "status" ] }, "StorageFeatureImageTransformation": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "required": [ "enabled" ] }, "StorageFeatureS3Protocol": { "type": "object", "properties": { "enabled": { "type": "boolean" } }, "required": [ "enabled" ] }, "StorageFeatures": { "type": "object", "properties": { "imageTransformation": { "$ref": "#/components/schemas/StorageFeatureImageTransformation" }, "s3Protocol": { "$ref": "#/components/schemas/StorageFeatureS3Protocol" } }, "required": [ "imageTransformation", "s3Protocol" ] }, "StorageConfigResponse": { "type": "object", "properties": { "fileSizeLimit": { "type": "integer", "format": "int64" }, "features": { "$ref": "#/components/schemas/StorageFeatures" } }, "required": [ "fileSizeLimit", "features" ] }, "UpdateStorageConfigBody": { "type": "object", "properties": { "fileSizeLimit": { "type": "integer", "minimum": 0, "maximum": 53687091200, "format": "int64" }, "features": { "$ref": "#/components/schemas/StorageFeatures" } } }, "PostgresConfigResponse": { "type": "object", "properties": { "effective_cache_size": { "type": "string" }, "logical_decoding_work_mem": { "type": "string" }, "maintenance_work_mem": { "type": "string" }, "track_activity_query_size": { "type": "string" }, "max_connections": { "type": "integer", "minimum": 1, "maximum": 262143 }, "max_locks_per_transaction": { "type": "integer", "minimum": 10, "maximum": 2147483640 }, "max_parallel_maintenance_workers": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_parallel_workers": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_parallel_workers_per_gather": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_replication_slots": { "type": "integer" }, "max_slot_wal_keep_size": { "type": "string" }, "max_standby_archive_delay": { "type": "string" }, "max_standby_streaming_delay": { "type": "string" }, "max_wal_size": { "type": "string" }, "max_wal_senders": { "type": "integer" }, "max_worker_processes": { "type": "integer", "minimum": 0, "maximum": 262143 }, "shared_buffers": { "type": "string" }, "statement_timeout": { "type": "string" }, "track_commit_timestamp": { "type": "boolean" }, "wal_keep_size": { "type": "string" }, "wal_sender_timeout": { "type": "string" }, "work_mem": { "type": "string" }, "session_replication_role": { "enum": [ "origin", "replica", "local" ], "type": "string" } } }, "UpdatePostgresConfigBody": { "type": "object", "properties": { "effective_cache_size": { "type": "string" }, "logical_decoding_work_mem": { "type": "string" }, "maintenance_work_mem": { "type": "string" }, "track_activity_query_size": { "type": "string" }, "max_connections": { "type": "integer", "minimum": 1, "maximum": 262143 }, "max_locks_per_transaction": { "type": "integer", "minimum": 10, "maximum": 2147483640 }, "max_parallel_maintenance_workers": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_parallel_workers": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_parallel_workers_per_gather": { "type": "integer", "minimum": 0, "maximum": 1024 }, "max_replication_slots": { "type": "integer" }, "max_slot_wal_keep_size": { "type": "string" }, "max_standby_archive_delay": { "type": "string" }, "max_standby_streaming_delay": { "type": "string" }, "max_wal_size": { "type": "string" }, "max_wal_senders": { "type": "integer" }, "max_worker_processes": { "type": "integer", "minimum": 0, "maximum": 262143 }, "shared_buffers": { "type": "string" }, "statement_timeout": { "type": "string" }, "track_commit_timestamp": { "type": "boolean" }, "wal_keep_size": { "type": "string" }, "wal_sender_timeout": { "type": "string" }, "work_mem": { "type": "string" }, "restart_database": { "type": "boolean" }, "session_replication_role": { "enum": [ "origin", "replica", "local" ], "type": "string" } } }, "V1PgbouncerConfigResponse": { "type": "object", "properties": { "pool_mode": { "type": "string", "enum": [ "transaction", "session", "statement" ] }, "default_pool_size": { "type": "number" }, "ignore_startup_parameters": { "type": "string" }, "max_client_conn": { "type": "number" }, "connection_string": { "type": "string" } } }, "SupavisorConfigResponse": { "type": "object", "properties": { "database_type": { "type": "string", "enum": [ "PRIMARY", "READ_REPLICA" ] }, "db_port": { "type": "integer" }, "default_pool_size": { "type": "integer", "nullable": true }, "max_client_conn": { "type": "integer", "nullable": true }, "identifier": { "type": "string" }, "is_using_scram_auth": { "type": "boolean" }, "db_user": { "type": "string" }, "db_host": { "type": "string" }, "db_name": { "type": "string" }, "connectionString": { "type": "string" }, "pool_mode": { "enum": [ "transaction", "session" ], "type": "string" } }, "required": [ "database_type", "db_port", "default_pool_size", "max_client_conn", "identifier", "is_using_scram_auth", "db_user", "db_host", "db_name", "connectionString", "pool_mode" ] }, "UpdateSupavisorConfigBody": { "type": "object", "properties": { "default_pool_size": { "type": "integer", "nullable": true, "minimum": 0, "maximum": 1000 }, "pool_mode": { "enum": [ "transaction", "session" ], "type": "string", "deprecated": true, "description": "This field is deprecated and is ignored in this request" } } }, "UpdateSupavisorConfigResponse": { "type": "object", "properties": { "default_pool_size": { "type": "integer", "nullable": true }, "pool_mode": { "enum": [ "transaction", "session" ], "type": "string" } }, "required": [ "default_pool_size", "pool_mode" ] }, "AuthConfigResponse": { "type": "object", "properties": { "api_max_request_duration": { "type": "integer", "nullable": true }, "db_max_pool_size": { "type": "integer", "nullable": true }, "jwt_exp": { "type": "integer", "nullable": true }, "mailer_otp_exp": { "type": "integer" }, "mailer_otp_length": { "type": "integer", "nullable": true }, "mfa_max_enrolled_factors": { "type": "integer", "nullable": true }, "mfa_phone_otp_length": { "type": "integer" }, "mfa_phone_max_frequency": { "type": "integer", "nullable": true }, "password_min_length": { "type": "integer", "nullable": true }, "rate_limit_anonymous_users": { "type": "integer", "nullable": true }, "rate_limit_email_sent": { "type": "integer", "nullable": true }, "rate_limit_sms_sent": { "type": "integer", "nullable": true }, "rate_limit_token_refresh": { "type": "integer", "nullable": true }, "rate_limit_verify": { "type": "integer", "nullable": true }, "rate_limit_otp": { "type": "integer", "nullable": true }, "security_refresh_token_reuse_interval": { "type": "integer", "nullable": true }, "sessions_inactivity_timeout": { "type": "integer", "nullable": true }, "sessions_timebox": { "type": "integer", "nullable": true }, "sms_max_frequency": { "type": "integer", "nullable": true }, "sms_otp_exp": { "type": "integer", "nullable": true }, "sms_otp_length": { "type": "integer" }, "smtp_max_frequency": { "type": "integer", "nullable": true }, "disable_signup": { "type": "boolean", "nullable": true }, "external_anonymous_users_enabled": { "type": "boolean", "nullable": true }, "external_apple_additional_client_ids": { "type": "string", "nullable": true }, "external_apple_client_id": { "type": "string", "nullable": true }, "external_apple_enabled": { "type": "boolean", "nullable": true }, "external_apple_secret": { "type": "string", "nullable": true }, "external_azure_client_id": { "type": "string", "nullable": true }, "external_azure_enabled": { "type": "boolean", "nullable": true }, "external_azure_secret": { "type": "string", "nullable": true }, "external_azure_url": { "type": "string", "nullable": true }, "external_bitbucket_client_id": { "type": "string", "nullable": true }, "external_bitbucket_enabled": { "type": "boolean", "nullable": true }, "external_bitbucket_secret": { "type": "string", "nullable": true }, "external_discord_client_id": { "type": "string", "nullable": true }, "external_discord_enabled": { "type": "boolean", "nullable": true }, "external_discord_secret": { "type": "string", "nullable": true }, "external_email_enabled": { "type": "boolean", "nullable": true }, "external_facebook_client_id": { "type": "string", "nullable": true }, "external_facebook_enabled": { "type": "boolean", "nullable": true }, "external_facebook_secret": { "type": "string", "nullable": true }, "external_figma_client_id": { "type": "string", "nullable": true }, "external_figma_enabled": { "type": "boolean", "nullable": true }, "external_figma_secret": { "type": "string", "nullable": true }, "external_github_client_id": { "type": "string", "nullable": true }, "external_github_enabled": { "type": "boolean", "nullable": true }, "external_github_secret": { "type": "string", "nullable": true }, "external_gitlab_client_id": { "type": "string", "nullable": true }, "external_gitlab_enabled": { "type": "boolean", "nullable": true }, "external_gitlab_secret": { "type": "string", "nullable": true }, "external_gitlab_url": { "type": "string", "nullable": true }, "external_google_additional_client_ids": { "type": "string", "nullable": true }, "external_google_client_id": { "type": "string", "nullable": true }, "external_google_enabled": { "type": "boolean", "nullable": true }, "external_google_secret": { "type": "string", "nullable": true }, "external_google_skip_nonce_check": { "type": "boolean", "nullable": true }, "external_kakao_client_id": { "type": "string", "nullable": true }, "external_kakao_enabled": { "type": "boolean", "nullable": true }, "external_kakao_secret": { "type": "string", "nullable": true }, "external_keycloak_client_id": { "type": "string", "nullable": true }, "external_keycloak_enabled": { "type": "boolean", "nullable": true }, "external_keycloak_secret": { "type": "string", "nullable": true }, "external_keycloak_url": { "type": "string", "nullable": true }, "external_linkedin_oidc_client_id": { "type": "string", "nullable": true }, "external_linkedin_oidc_enabled": { "type": "boolean", "nullable": true }, "external_linkedin_oidc_secret": { "type": "string", "nullable": true }, "external_slack_oidc_client_id": { "type": "string", "nullable": true }, "external_slack_oidc_enabled": { "type": "boolean", "nullable": true }, "external_slack_oidc_secret": { "type": "string", "nullable": true }, "external_notion_client_id": { "type": "string", "nullable": true }, "external_notion_enabled": { "type": "boolean", "nullable": true }, "external_notion_secret": { "type": "string", "nullable": true }, "external_phone_enabled": { "type": "boolean", "nullable": true }, "external_slack_client_id": { "type": "string", "nullable": true }, "external_slack_enabled": { "type": "boolean", "nullable": true }, "external_slack_secret": { "type": "string", "nullable": true }, "external_spotify_client_id": { "type": "string", "nullable": true }, "external_spotify_enabled": { "type": "boolean", "nullable": true }, "external_spotify_secret": { "type": "string", "nullable": true }, "external_twitch_client_id": { "type": "string", "nullable": true }, "external_twitch_enabled": { "type": "boolean", "nullable": true }, "external_twitch_secret": { "type": "string", "nullable": true }, "external_twitter_client_id": { "type": "string", "nullable": true }, "external_twitter_enabled": { "type": "boolean", "nullable": true }, "external_twitter_secret": { "type": "string", "nullable": true }, "external_workos_client_id": { "type": "string", "nullable": true }, "external_workos_enabled": { "type": "boolean", "nullable": true }, "external_workos_secret": { "type": "string", "nullable": true }, "external_workos_url": { "type": "string", "nullable": true }, "external_zoom_client_id": { "type": "string", "nullable": true }, "external_zoom_enabled": { "type": "boolean", "nullable": true }, "external_zoom_secret": { "type": "string", "nullable": true }, "hook_custom_access_token_enabled": { "type": "boolean", "nullable": true }, "hook_custom_access_token_uri": { "type": "string", "nullable": true }, "hook_custom_access_token_secrets": { "type": "string", "nullable": true }, "hook_mfa_verification_attempt_enabled": { "type": "boolean", "nullable": true }, "hook_mfa_verification_attempt_uri": { "type": "string", "nullable": true }, "hook_mfa_verification_attempt_secrets": { "type": "string", "nullable": true }, "hook_password_verification_attempt_enabled": { "type": "boolean", "nullable": true }, "hook_password_verification_attempt_uri": { "type": "string", "nullable": true }, "hook_password_verification_attempt_secrets": { "type": "string", "nullable": true }, "hook_send_sms_enabled": { "type": "boolean", "nullable": true }, "hook_send_sms_uri": { "type": "string", "nullable": true }, "hook_send_sms_secrets": { "type": "string", "nullable": true }, "hook_send_email_enabled": { "type": "boolean", "nullable": true }, "hook_send_email_uri": { "type": "string", "nullable": true }, "hook_send_email_secrets": { "type": "string", "nullable": true }, "mailer_allow_unverified_email_sign_ins": { "type": "boolean", "nullable": true }, "mailer_autoconfirm": { "type": "boolean", "nullable": true }, "mailer_secure_email_change_enabled": { "type": "boolean", "nullable": true }, "mailer_subjects_confirmation": { "type": "string", "nullable": true }, "mailer_subjects_email_change": { "type": "string", "nullable": true }, "mailer_subjects_invite": { "type": "string", "nullable": true }, "mailer_subjects_magic_link": { "type": "string", "nullable": true }, "mailer_subjects_reauthentication": { "type": "string", "nullable": true }, "mailer_subjects_recovery": { "type": "string", "nullable": true }, "mailer_templates_confirmation_content": { "type": "string", "nullable": true }, "mailer_templates_email_change_content": { "type": "string", "nullable": true }, "mailer_templates_invite_content": { "type": "string", "nullable": true }, "mailer_templates_magic_link_content": { "type": "string", "nullable": true }, "mailer_templates_reauthentication_content": { "type": "string", "nullable": true }, "mailer_templates_recovery_content": { "type": "string", "nullable": true }, "mfa_totp_enroll_enabled": { "type": "boolean", "nullable": true }, "mfa_totp_verify_enabled": { "type": "boolean", "nullable": true }, "mfa_phone_enroll_enabled": { "type": "boolean", "nullable": true }, "mfa_phone_verify_enabled": { "type": "boolean", "nullable": true }, "mfa_web_authn_enroll_enabled": { "type": "boolean", "nullable": true }, "mfa_web_authn_verify_enabled": { "type": "boolean", "nullable": true }, "mfa_phone_template": { "type": "string", "nullable": true }, "password_hibp_enabled": { "type": "boolean", "nullable": true }, "password_required_characters": { "type": "string", "nullable": true }, "refresh_token_rotation_enabled": { "type": "boolean", "nullable": true }, "saml_enabled": { "type": "boolean", "nullable": true }, "saml_external_url": { "type": "string", "nullable": true }, "saml_allow_encrypted_assertions": { "type": "boolean", "nullable": true }, "security_captcha_enabled": { "type": "boolean", "nullable": true }, "security_captcha_provider": { "type": "string", "nullable": true }, "security_captcha_secret": { "type": "string", "nullable": true }, "security_manual_linking_enabled": { "type": "boolean", "nullable": true }, "security_update_password_require_reauthentication": { "type": "boolean", "nullable": true }, "sessions_single_per_user": { "type": "boolean", "nullable": true }, "sessions_tags": { "type": "string", "nullable": true }, "site_url": { "type": "string", "nullable": true }, "sms_autoconfirm": { "type": "boolean", "nullable": true }, "sms_messagebird_access_key": { "type": "string", "nullable": true }, "sms_messagebird_originator": { "type": "string", "nullable": true }, "sms_provider": { "type": "string", "nullable": true }, "sms_template": { "type": "string", "nullable": true }, "sms_test_otp": { "type": "string", "nullable": true }, "sms_test_otp_valid_until": { "type": "string", "nullable": true }, "sms_textlocal_api_key": { "type": "string", "nullable": true }, "sms_textlocal_sender": { "type": "string", "nullable": true }, "sms_twilio_account_sid": { "type": "string", "nullable": true }, "sms_twilio_auth_token": { "type": "string", "nullable": true }, "sms_twilio_content_sid": { "type": "string", "nullable": true }, "sms_twilio_message_service_sid": { "type": "string", "nullable": true }, "sms_twilio_verify_account_sid": { "type": "string", "nullable": true }, "sms_twilio_verify_auth_token": { "type": "string", "nullable": true }, "sms_twilio_verify_message_service_sid": { "type": "string", "nullable": true }, "sms_vonage_api_key": { "type": "string", "nullable": true }, "sms_vonage_api_secret": { "type": "string", "nullable": true }, "sms_vonage_from": { "type": "string", "nullable": true }, "smtp_admin_email": { "type": "string", "nullable": true }, "smtp_host": { "type": "string", "nullable": true }, "smtp_pass": { "type": "string", "nullable": true }, "smtp_port": { "type": "string", "nullable": true }, "smtp_sender_name": { "type": "string", "nullable": true }, "smtp_user": { "type": "string", "nullable": true }, "uri_allow_list": { "type": "string", "nullable": true } }, "required": [ "api_max_request_duration", "db_max_pool_size", "jwt_exp", "mailer_otp_exp", "mailer_otp_length", "mfa_max_enrolled_factors", "mfa_phone_otp_length", "mfa_phone_max_frequency", "password_min_length", "rate_limit_anonymous_users", "rate_limit_email_sent", "rate_limit_sms_sent", "rate_limit_token_refresh", "rate_limit_verify", "rate_limit_otp", "security_refresh_token_reuse_interval", "sessions_inactivity_timeout", "sessions_timebox", "sms_max_frequency", "sms_otp_exp", "sms_otp_length", "smtp_max_frequency", "disable_signup", "external_anonymous_users_enabled", "external_apple_additional_client_ids", "external_apple_client_id", "external_apple_enabled", "external_apple_secret", "external_azure_client_id", "external_azure_enabled", "external_azure_secret", "external_azure_url", "external_bitbucket_client_id", "external_bitbucket_enabled", "external_bitbucket_secret", "external_discord_client_id", "external_discord_enabled", "external_discord_secret", "external_email_enabled", "external_facebook_client_id", "external_facebook_enabled", "external_facebook_secret", "external_figma_client_id", "external_figma_enabled", "external_figma_secret", "external_github_client_id", "external_github_enabled", "external_github_secret", "external_gitlab_client_id", "external_gitlab_enabled", "external_gitlab_secret", "external_gitlab_url", "external_google_additional_client_ids", "external_google_client_id", "external_google_enabled", "external_google_secret", "external_google_skip_nonce_check", "external_kakao_client_id", "external_kakao_enabled", "external_kakao_secret", "external_keycloak_client_id", "external_keycloak_enabled", "external_keycloak_secret", "external_keycloak_url", "external_linkedin_oidc_client_id", "external_linkedin_oidc_enabled", "external_linkedin_oidc_secret", "external_slack_oidc_client_id", "external_slack_oidc_enabled", "external_slack_oidc_secret", "external_notion_client_id", "external_notion_enabled", "external_notion_secret", "external_phone_enabled", "external_slack_client_id", "external_slack_enabled", "external_slack_secret", "external_spotify_client_id", "external_spotify_enabled", "external_spotify_secret", "external_twitch_client_id", "external_twitch_enabled", "external_twitch_secret", "external_twitter_client_id", "external_twitter_enabled", "external_twitter_secret", "external_workos_client_id", "external_workos_enabled", "external_workos_secret", "external_workos_url", "external_zoom_client_id", "external_zoom_enabled", "external_zoom_secret", "hook_custom_access_token_enabled", "hook_custom_access_token_uri", "hook_custom_access_token_secrets", "hook_mfa_verification_attempt_enabled", "hook_mfa_verification_attempt_uri", "hook_mfa_verification_attempt_secrets", "hook_password_verification_attempt_enabled", "hook_password_verification_attempt_uri", "hook_password_verification_attempt_secrets", "hook_send_sms_enabled", "hook_send_sms_uri", "hook_send_sms_secrets", "hook_send_email_enabled", "hook_send_email_uri", "hook_send_email_secrets", "mailer_allow_unverified_email_sign_ins", "mailer_autoconfirm", "mailer_secure_email_change_enabled", "mailer_subjects_confirmation", "mailer_subjects_email_change", "mailer_subjects_invite", "mailer_subjects_magic_link", "mailer_subjects_reauthentication", "mailer_subjects_recovery", "mailer_templates_confirmation_content", "mailer_templates_email_change_content", "mailer_templates_invite_content", "mailer_templates_magic_link_content", "mailer_templates_reauthentication_content", "mailer_templates_recovery_content", "mfa_totp_enroll_enabled", "mfa_totp_verify_enabled", "mfa_phone_enroll_enabled", "mfa_phone_verify_enabled", "mfa_web_authn_enroll_enabled", "mfa_web_authn_verify_enabled", "mfa_phone_template", "password_hibp_enabled", "password_required_characters", "refresh_token_rotation_enabled", "saml_enabled", "saml_external_url", "saml_allow_encrypted_assertions", "security_captcha_enabled", "security_captcha_provider", "security_captcha_secret", "security_manual_linking_enabled", "security_update_password_require_reauthentication", "sessions_single_per_user", "sessions_tags", "site_url", "sms_autoconfirm", "sms_messagebird_access_key", "sms_messagebird_originator", "sms_provider", "sms_template", "sms_test_otp", "sms_test_otp_valid_until", "sms_textlocal_api_key", "sms_textlocal_sender", "sms_twilio_account_sid", "sms_twilio_auth_token", "sms_twilio_content_sid", "sms_twilio_message_service_sid", "sms_twilio_verify_account_sid", "sms_twilio_verify_auth_token", "sms_twilio_verify_message_service_sid", "sms_vonage_api_key", "sms_vonage_api_secret", "sms_vonage_from", "smtp_admin_email", "smtp_host", "smtp_pass", "smtp_port", "smtp_sender_name", "smtp_user", "uri_allow_list" ] }, "UpdateAuthConfigBody": { "type": "object", "properties": { "jwt_exp": { "type": "integer", "minimum": 0, "maximum": 604800 }, "smtp_max_frequency": { "type": "integer", "minimum": 0, "maximum": 32767 }, "mfa_max_enrolled_factors": { "type": "integer", "minimum": 0, "maximum": 2147483647 }, "sessions_timebox": { "type": "integer", "minimum": 0 }, "sessions_inactivity_timeout": { "type": "integer", "minimum": 0 }, "rate_limit_anonymous_users": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, "rate_limit_email_sent": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, "rate_limit_sms_sent": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, "rate_limit_verify": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, "rate_limit_token_refresh": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, "rate_limit_otp": { "type": "integer", "minimum": 1, "maximum": 2147483647 }, "password_min_length": { "type": "integer", "minimum": 6, "maximum": 32767 }, "security_refresh_token_reuse_interval": { "type": "integer", "minimum": 0, "maximum": 2147483647 }, "mailer_otp_exp": { "type": "integer", "minimum": 0, "maximum": 2147483647 }, "mailer_otp_length": { "type": "integer", "minimum": 6, "maximum": 10 }, "sms_max_frequency": { "type": "integer", "minimum": 0, "maximum": 32767 }, "sms_otp_exp": { "type": "integer", "minimum": 0, "maximum": 2147483647 }, "sms_otp_length": { "type": "integer", "minimum": 0, "maximum": 32767 }, "db_max_pool_size": { "type": "integer" }, "api_max_request_duration": { "type": "integer" }, "mfa_phone_max_frequency": { "type": "integer", "minimum": 0, "maximum": 32767 }, "mfa_phone_otp_length": { "type": "integer", "minimum": 0, "maximum": 32767 }, "site_url": { "type": "string", "pattern": "/^[^,]+$/" }, "disable_signup": { "type": "boolean" }, "smtp_admin_email": { "type": "string" }, "smtp_host": { "type": "string" }, "smtp_port": { "type": "string" }, "smtp_user": { "type": "string" }, "smtp_pass": { "type": "string" }, "smtp_sender_name": { "type": "string" }, "mailer_allow_unverified_email_sign_ins": { "type": "boolean" }, "mailer_autoconfirm": { "type": "boolean" }, "mailer_subjects_invite": { "type": "string" }, "mailer_subjects_confirmation": { "type": "string" }, "mailer_subjects_recovery": { "type": "string" }, "mailer_subjects_email_change": { "type": "string" }, "mailer_subjects_magic_link": { "type": "string" }, "mailer_subjects_reauthentication": { "type": "string" }, "mailer_templates_invite_content": { "type": "string" }, "mailer_templates_confirmation_content": { "type": "string" }, "mailer_templates_recovery_content": { "type": "string" }, "mailer_templates_email_change_content": { "type": "string" }, "mailer_templates_magic_link_content": { "type": "string" }, "mailer_templates_reauthentication_content": { "type": "string" }, "uri_allow_list": { "type": "string" }, "external_anonymous_users_enabled": { "type": "boolean" }, "external_email_enabled": { "type": "boolean" }, "external_phone_enabled": { "type": "boolean" }, "saml_enabled": { "type": "boolean" }, "saml_external_url": { "type": "string", "pattern": "/^[^,]+$/" }, "security_captcha_enabled": { "type": "boolean" }, "security_captcha_provider": { "type": "string" }, "security_captcha_secret": { "type": "string" }, "sessions_single_per_user": { "type": "boolean" }, "sessions_tags": { "type": "string", "pattern": "/^\\s*([a-z0-9_-]+(\\s*,+\\s*)?)*\\s*$/i" }, "mailer_secure_email_change_enabled": { "type": "boolean" }, "refresh_token_rotation_enabled": { "type": "boolean" }, "password_hibp_enabled": { "type": "boolean" }, "password_required_characters": { "type": "string", "enum": [ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ:0123456789", "abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:0123456789", "abcdefghijklmnopqrstuvwxyz:ABCDEFGHIJKLMNOPQRSTUVWXYZ:0123456789:!@#$%^&*()_+-=[]{};'\\\\:\"|\u003C\u003E?,./`~", "" ] }, "security_manual_linking_enabled": { "type": "boolean" }, "security_update_password_require_reauthentication": { "type": "boolean" }, "sms_autoconfirm": { "type": "boolean" }, "sms_provider": { "type": "string" }, "sms_messagebird_access_key": { "type": "string" }, "sms_messagebird_originator": { "type": "string" }, "sms_test_otp": { "type": "string", "pattern": "/^([0-9]{1,15}=[0-9]+,?)*$/" }, "sms_test_otp_valid_until": { "type": "string" }, "sms_textlocal_api_key": { "type": "string" }, "sms_textlocal_sender": { "type": "string" }, "sms_twilio_account_sid": { "type": "string" }, "sms_twilio_auth_token": { "type": "string" }, "sms_twilio_content_sid": { "type": "string" }, "sms_twilio_message_service_sid": { "type": "string" }, "sms_twilio_verify_account_sid": { "type": "string" }, "sms_twilio_verify_auth_token": { "type": "string" }, "sms_twilio_verify_message_service_sid": { "type": "string" }, "sms_vonage_api_key": { "type": "string" }, "sms_vonage_api_secret": { "type": "string" }, "sms_vonage_from": { "type": "string" }, "sms_template": { "type": "string" }, "hook_mfa_verification_attempt_enabled": { "type": "boolean" }, "hook_mfa_verification_attempt_uri": { "type": "string" }, "hook_mfa_verification_attempt_secrets": { "type": "string" }, "hook_password_verification_attempt_enabled": { "type": "boolean" }, "hook_password_verification_attempt_uri": { "type": "string" }, "hook_password_verification_attempt_secrets": { "type": "string" }, "hook_custom_access_token_enabled": { "type": "boolean" }, "hook_custom_access_token_uri": { "type": "string" }, "hook_custom_access_token_secrets": { "type": "string" }, "hook_send_sms_enabled": { "type": "boolean" }, "hook_send_sms_uri": { "type": "string" }, "hook_send_sms_secrets": { "type": "string" }, "hook_send_email_enabled": { "type": "boolean" }, "hook_send_email_uri": { "type": "string" }, "hook_send_email_secrets": { "type": "string" }, "external_apple_enabled": { "type": "boolean" }, "external_apple_client_id": { "type": "string" }, "external_apple_secret": { "type": "string" }, "external_apple_additional_client_ids": { "type": "string" }, "external_azure_enabled": { "type": "boolean" }, "external_azure_client_id": { "type": "string" }, "external_azure_secret": { "type": "string" }, "external_azure_url": { "type": "string" }, "external_bitbucket_enabled": { "type": "boolean" }, "external_bitbucket_client_id": { "type": "string" }, "external_bitbucket_secret": { "type": "string" }, "external_discord_enabled": { "type": "boolean" }, "external_discord_client_id": { "type": "string" }, "external_discord_secret": { "type": "string" }, "external_facebook_enabled": { "type": "boolean" }, "external_facebook_client_id": { "type": "string" }, "external_facebook_secret": { "type": "string" }, "external_figma_enabled": { "type": "boolean" }, "external_figma_client_id": { "type": "string" }, "external_figma_secret": { "type": "string" }, "external_github_enabled": { "type": "boolean" }, "external_github_client_id": { "type": "string" }, "external_github_secret": { "type": "string" }, "external_gitlab_enabled": { "type": "boolean" }, "external_gitlab_client_id": { "type": "string" }, "external_gitlab_secret": { "type": "string" }, "external_gitlab_url": { "type": "string" }, "external_google_enabled": { "type": "boolean" }, "external_google_client_id": { "type": "string" }, "external_google_secret": { "type": "string" }, "external_google_additional_client_ids": { "type": "string" }, "external_google_skip_nonce_check": { "type": "boolean" }, "external_kakao_enabled": { "type": "boolean" }, "external_kakao_client_id": { "type": "string" }, "external_kakao_secret": { "type": "string" }, "external_keycloak_enabled": { "type": "boolean" }, "external_keycloak_client_id": { "type": "string" }, "external_keycloak_secret": { "type": "string" }, "external_keycloak_url": { "type": "string" }, "external_linkedin_oidc_enabled": { "type": "boolean" }, "external_linkedin_oidc_client_id": { "type": "string" }, "external_linkedin_oidc_secret": { "type": "string" }, "external_slack_oidc_enabled": { "type": "boolean" }, "external_slack_oidc_client_id": { "type": "string" }, "external_slack_oidc_secret": { "type": "string" }, "external_notion_enabled": { "type": "boolean" }, "external_notion_client_id": { "type": "string" }, "external_notion_secret": { "type": "string" }, "external_slack_enabled": { "type": "boolean" }, "external_slack_client_id": { "type": "string" }, "external_slack_secret": { "type": "string" }, "external_spotify_enabled": { "type": "boolean" }, "external_spotify_client_id": { "type": "string" }, "external_spotify_secret": { "type": "string" }, "external_twitch_enabled": { "type": "boolean" }, "external_twitch_client_id": { "type": "string" }, "external_twitch_secret": { "type": "string" }, "external_twitter_enabled": { "type": "boolean" }, "external_twitter_client_id": { "type": "string" }, "external_twitter_secret": { "type": "string" }, "external_workos_enabled": { "type": "boolean" }, "external_workos_client_id": { "type": "string" }, "external_workos_secret": { "type": "string" }, "external_workos_url": { "type": "string" }, "external_zoom_enabled": { "type": "boolean" }, "external_zoom_client_id": { "type": "string" }, "external_zoom_secret": { "type": "string" }, "mfa_totp_enroll_enabled": { "type": "boolean" }, "mfa_totp_verify_enabled": { "type": "boolean" }, "mfa_web_authn_enroll_enabled": { "type": "boolean" }, "mfa_web_authn_verify_enabled": { "type": "boolean" }, "mfa_phone_enroll_enabled": { "type": "boolean" }, "mfa_phone_verify_enabled": { "type": "boolean" }, "mfa_phone_template": { "type": "string" } } }, "CreateThirdPartyAuthBody": { "type": "object", "properties": { "oidc_issuer_url": { "type": "string" }, "jwks_url": { "type": "string" }, "custom_jwks": { "type": "object" } } }, "ThirdPartyAuth": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" }, "oidc_issuer_url": { "type": "string", "nullable": true }, "jwks_url": { "type": "string", "nullable": true }, "custom_jwks": { "type": "object", "nullable": true }, "resolved_jwks": { "type": "object", "nullable": true }, "inserted_at": { "type": "string" }, "updated_at": { "type": "string" }, "resolved_at": { "type": "string", "nullable": true } }, "required": [ "id", "type", "inserted_at", "updated_at" ] }, "ProjectAvailableRestoreVersion": { "type": "object", "properties": { "version": { "type": "string" }, "release_channel": { "type": "string", "enum": [ "internal", "alpha", "beta", "ga", "withdrawn", "preview" ] }, "postgres_engine": { "type": "string", "enum": [ "13", "14", "15", "17", "17-oriole" ] } }, "required": [ "version", "release_channel", "postgres_engine" ] }, "GetProjectAvailableRestoreVersionsResponse": { "type": "object", "properties": { "available_versions": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectAvailableRestoreVersion" } } }, "required": [ "available_versions" ] }, "RestoreProjectBodyDto": { "type": "object", "properties": { }, "hideDefinitions": [ "release_channel", "postgres_engine" ] }, "V1AnalyticsResponse": { "type": "object", "properties": { "error": { "oneOf": [ { "properties": { "code": { "type": "number" }, "errors": { "type": "array", "items": { "properties": { "domain": { "type": "string" }, "location": { "type": "string" }, "locationType": { "type": "string" }, "message": { "type": "string" }, "reason": { "type": "string" } } } }, "message": { "type": "string" }, "status": { "type": "string" } } }, { "type": "string" } ] }, "result": { "type": "array", "items": { "type": "object" } } } }, "V1RunQueryBody": { "type": "object", "properties": { "query": { "type": "string" } }, "required": [ "query" ] }, "GetProjectDbMetadataResponseDto": { "type": "object", "properties": { "databases": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "schemas": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" } }, "required": [ "name" ], "additionalProperties": true } } }, "required": [ "name", "schemas" ], "additionalProperties": true } } }, "required": [ "databases" ] }, "FunctionResponse": { "type": "object", "properties": { "version": { "type": "integer" }, "created_at": { "type": "integer", "format": "int64" }, "updated_at": { "type": "integer", "format": "int64" }, "id": { "type": "string" }, "slug": { "type": "string" }, "name": { "type": "string" }, "status": { "enum": [ "ACTIVE", "REMOVED", "THROTTLED" ], "type": "string" }, "verify_jwt": { "type": "boolean" }, "import_map": { "type": "boolean" }, "entrypoint_path": { "type": "string" }, "import_map_path": { "type": "string" } }, "required": [ "version", "created_at", "updated_at", "id", "slug", "name", "status" ] }, "V1CreateFunctionBody": { "type": "object", "properties": { "slug": { "type": "string", "pattern": "/^[A-Za-z0-9_-]+$/" }, "name": { "type": "string" }, "body": { "type": "string" }, "verify_jwt": { "type": "boolean" } }, "required": [ "slug", "name", "body" ] }, "BulkUpdateFunctionBody": { "type": "object", "properties": { "version": { "type": "integer" }, "created_at": { "type": "integer", "format": "int64" }, "id": { "type": "string" }, "slug": { "type": "string" }, "name": { "type": "string" }, "status": { "enum": [ "ACTIVE", "REMOVED", "THROTTLED" ], "type": "string" }, "verify_jwt": { "type": "boolean" }, "import_map": { "type": "boolean" }, "entrypoint_path": { "type": "string" }, "import_map_path": { "type": "string" } }, "required": [ "version", "id", "slug", "name", "status" ] }, "BulkUpdateFunctionResponse": { "type": "object", "properties": { "functions": { "type": "array", "items": { "$ref": "#/components/schemas/FunctionResponse" } } }, "required": [ "functions" ] }, "FunctionDeployMetadata": { "type": "object", "properties": { "entrypoint_path": { "type": "string" }, "import_map_path": { "type": "string" }, "static_patterns": { "type": "array", "items": { "type": "string" } }, "verify_jwt": { "type": "boolean" }, "name": { "type": "string" } }, "required": [ "entrypoint_path" ] }, "FunctionDeployBody": { "type": "object", "properties": { "file": { "type": "array", "items": { "type": "string", "format": "binary" } }, "metadata": { "$ref": "#/components/schemas/FunctionDeployMetadata" } }, "required": [ "file", "metadata" ] }, "DeployFunctionResponse": { "type": "object", "properties": { "version": { "type": "integer" }, "created_at": { "type": "integer", "format": "int64" }, "updated_at": { "type": "integer", "format": "int64" }, "id": { "type": "string" }, "slug": { "type": "string" }, "name": { "type": "string" }, "status": { "enum": [ "ACTIVE", "REMOVED", "THROTTLED" ], "type": "string" }, "verify_jwt": { "type": "boolean" }, "import_map": { "type": "boolean" }, "entrypoint_path": { "type": "string" }, "import_map_path": { "type": "string" } }, "required": [ "version", "id", "slug", "name", "status" ] }, "FunctionSlugResponse": { "type": "object", "properties": { "version": { "type": "integer" }, "created_at": { "type": "integer", "format": "int64" }, "updated_at": { "type": "integer", "format": "int64" }, "id": { "type": "string" }, "slug": { "type": "string" }, "name": { "type": "string" }, "status": { "enum": [ "ACTIVE", "REMOVED", "THROTTLED" ], "type": "string" }, "verify_jwt": { "type": "boolean" }, "import_map": { "type": "boolean" }, "entrypoint_path": { "type": "string" }, "import_map_path": { "type": "string" } }, "required": [ "version", "created_at", "updated_at", "id", "slug", "name", "status" ] }, "V1UpdateFunctionBody": { "type": "object", "properties": { "name": { "type": "string" }, "body": { "type": "string" }, "verify_jwt": { "type": "boolean" } } }, "V1StorageBucketResponse": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "owner": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" }, "public": { "type": "boolean" } }, "required": [ "id", "name", "owner", "created_at", "updated_at", "public" ] }, "AttributeValue": { "type": "object", "properties": { "default": { "oneOf": [ { "type": "object" }, { "type": "number" }, { "type": "string" }, { "type": "boolean" } ] }, "name": { "type": "string" }, "names": { "type": "array", "items": { "type": "string" } }, "array": { "type": "boolean" } } }, "AttributeMapping": { "type": "object", "properties": { "keys": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/AttributeValue" } } }, "required": [ "keys" ] }, "CreateProviderBody": { "type": "object", "properties": { "type": { "type": "string", "enum": [ "saml" ], "description": "What type of provider will be created" }, "metadata_xml": { "type": "string" }, "metadata_url": { "type": "string" }, "domains": { "type": "array", "items": { "type": "string" } }, "attribute_mapping": { "$ref": "#/components/schemas/AttributeMapping" } }, "required": [ "type" ] }, "SamlDescriptor": { "type": "object", "properties": { "id": { "type": "string" }, "entity_id": { "type": "string" }, "metadata_url": { "type": "string" }, "metadata_xml": { "type": "string" }, "attribute_mapping": { "$ref": "#/components/schemas/AttributeMapping" } }, "required": [ "id", "entity_id" ] }, "Domain": { "type": "object", "properties": { "id": { "type": "string" }, "domain": { "type": "string" }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id" ] }, "CreateProviderResponse": { "type": "object", "properties": { "id": { "type": "string" }, "saml": { "$ref": "#/components/schemas/SamlDescriptor" }, "domains": { "type": "array", "items": { "$ref": "#/components/schemas/Domain" } }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id" ] }, "Provider": { "type": "object", "properties": { "id": { "type": "string" }, "saml": { "$ref": "#/components/schemas/SamlDescriptor" }, "domains": { "type": "array", "items": { "$ref": "#/components/schemas/Domain" } }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id" ] }, "ListProvidersResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/Provider" } } }, "required": [ "items" ] }, "GetProviderResponse": { "type": "object", "properties": { "id": { "type": "string" }, "saml": { "$ref": "#/components/schemas/SamlDescriptor" }, "domains": { "type": "array", "items": { "$ref": "#/components/schemas/Domain" } }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id" ] }, "UpdateProviderBody": { "type": "object", "properties": { "metadata_xml": { "type": "string" }, "metadata_url": { "type": "string" }, "domains": { "type": "array", "items": { "type": "string" } }, "attribute_mapping": { "$ref": "#/components/schemas/AttributeMapping" } } }, "UpdateProviderResponse": { "type": "object", "properties": { "id": { "type": "string" }, "saml": { "$ref": "#/components/schemas/SamlDescriptor" }, "domains": { "type": "array", "items": { "$ref": "#/components/schemas/Domain" } }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id" ] }, "DeleteProviderResponse": { "type": "object", "properties": { "id": { "type": "string" }, "saml": { "$ref": "#/components/schemas/SamlDescriptor" }, "domains": { "type": "array", "items": { "$ref": "#/components/schemas/Domain" } }, "created_at": { "type": "string" }, "updated_at": { "type": "string" } }, "required": [ "id" ] }, "V1Backup": { "type": "object", "properties": { "status": { "type": "string", "enum": [ "COMPLETED", "FAILED", "PENDING", "REMOVED", "ARCHIVED", "CANCELLED" ] }, "is_physical_backup": { "type": "boolean" }, "inserted_at": { "type": "string" } }, "required": [ "status", "is_physical_backup", "inserted_at" ] }, "V1PhysicalBackup": { "type": "object", "properties": { "earliest_physical_backup_date_unix": { "type": "integer", "format": "int64" }, "latest_physical_backup_date_unix": { "type": "integer", "format": "int64" } } }, "V1BackupsResponse": { "type": "object", "properties": { "region": { "type": "string" }, "walg_enabled": { "type": "boolean" }, "pitr_enabled": { "type": "boolean" }, "backups": { "type": "array", "items": { "$ref": "#/components/schemas/V1Backup" } }, "physical_backup_data": { "$ref": "#/components/schemas/V1PhysicalBackup" } }, "required": [ "region", "walg_enabled", "pitr_enabled", "backups", "physical_backup_data" ] }, "V1RestorePitrBody": { "type": "object", "properties": { "recovery_time_target_unix": { "type": "integer", "minimum": 0, "format": "int64" } }, "required": [ "recovery_time_target_unix" ] }, "V1OrganizationMemberResponse": { "type": "object", "properties": { "user_id": { "type": "string" }, "user_name": { "type": "string" }, "email": { "type": "string" }, "role_name": { "type": "string" }, "mfa_enabled": { "type": "boolean" } }, "required": [ "user_id", "user_name", "role_name", "mfa_enabled" ] }, "BillingPlanId": { "type": "string", "enum": [ "free", "pro", "team", "enterprise" ] }, "V1OrganizationSlugResponse": { "type": "object", "properties": { "plan": { "$ref": "#/components/schemas/BillingPlanId" }, "opt_in_tags": { "type": "array", "items": { "type": "string", "enum": [ "AI_SQL_GENERATOR_OPT_IN" ] } }, "allowed_release_channels": { "type": "array", "items": { "$ref": "#/components/schemas/ReleaseChannel" } }, "id": { "type": "string" }, "name": { "type": "string" } }, "required": [ "opt_in_tags", "allowed_release_channels", "id", "name" ] } } } }