From a2aa340f99f41b011f07bc74809fba2f273bae66 Mon Sep 17 00:00:00 2001 From: grand151 <86811297+grand151@users.noreply.github.com> Date: Mon, 24 Mar 2025 01:22:32 +0000 Subject: [PATCH] feat: update mgmt api docs --- apps/docs/spec/api_v1_openapi.json | 1267 ++++---- .../transforms/api_v1_openapi_deparsed.json | 2792 ++++++++++------- 2 files changed, 2284 insertions(+), 1775 deletions(-) diff --git a/apps/docs/spec/api_v1_openapi.json b/apps/docs/spec/api_v1_openapi.json index 5cd6982fbc162..d59d1aa5cb5c5 100644 --- a/apps/docs/spec/api_v1_openapi.json +++ b/apps/docs/spec/api_v1_openapi.json @@ -7,13 +7,7 @@ "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" } - } + { "name": "branch_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -34,13 +28,7 @@ "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" } - } + { "name": "branch_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -65,13 +53,7 @@ "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" } - } + { "name": "branch_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -94,13 +76,7 @@ "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" } - } + { "name": "branch_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "201": { @@ -123,13 +99,7 @@ "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" } - } + { "name": "branch_id", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "201": { @@ -247,39 +217,32 @@ "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, + "name": "code_challenge_method", + "required": false, "in": "query", - "schema": { "enum": ["code", "token", "id_token token"], "type": "string" } + "schema": { "enum": ["plain", "sha256", "S256"], "type": "string" } }, { - "name": "redirect_uri", - "required": true, + "name": "code_challenge", + "required": false, "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, + "name": "response_type", + "required": true, "in": "query", "schema": { "type": "string" } }, { - "name": "code_challenge", - "required": false, + "name": "redirect_uri", + "required": true, "in": "query", "schema": { "type": "string" } }, - { - "name": "code_challenge_method", - "required": false, - "in": "query", - "schema": { "enum": ["plain", "sha256", "S256"], "type": "string" } - } + { "name": "client_id", "required": true, "in": "query", "schema": { "type": "string" } } ], "responses": { "303": { "description": "" } }, "tags": ["OAuth"], @@ -405,14 +368,8 @@ "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" } } + { "name": "reveal", "required": false, "in": "query", "schema": { "type": "boolean" } }, + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -425,7 +382,8 @@ } } } - } + }, + "403": { "description": "" } }, "tags": ["Secrets"], "security": [{ "bearer": [] }] @@ -434,14 +392,8 @@ "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" } } + { "name": "reveal", "required": false, "in": "query", "schema": { "type": "boolean" } }, + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -455,7 +407,8 @@ "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyResponse" } } } - } + }, + "403": { "description": "" } }, "tags": ["Secrets"], "security": [{ "bearer": [] }] @@ -466,15 +419,9 @@ "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": "reveal", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }, - { "name": "reveal", "required": true, "in": "query", "schema": { "type": "boolean" } } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -488,7 +435,8 @@ "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyResponse" } } } - } + }, + "403": { "description": "" } }, "tags": ["Secrets"], "security": [{ "bearer": [] }] @@ -497,15 +445,9 @@ "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": "reveal", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }, - { "name": "reveal", "required": true, "in": "query", "schema": { "type": "boolean" } } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -513,7 +455,8 @@ "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiKeyResponse" } } } - } + }, + "403": { "description": "" } }, "tags": ["Secrets"], "security": [{ "bearer": [] }] @@ -522,15 +465,9 @@ "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": "reveal", "required": false, "in": "query", "schema": { "type": "boolean" } }, { "name": "id", "required": true, "in": "path", "schema": { "type": "string" } }, - { "name": "reveal", "required": true, "in": "query", "schema": { "type": "boolean" } } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -551,13 +488,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -571,6 +502,7 @@ } } }, + "403": { "description": "" }, "500": { "description": "Failed to retrieve database branches" } }, "tags": ["Environments"], @@ -581,13 +513,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -602,6 +528,7 @@ "application/json": { "schema": { "$ref": "#/components/schemas/BranchResponse" } } } }, + "403": { "description": "" }, "500": { "description": "Failed to create database branch" } }, "tags": ["Environments"], @@ -612,16 +539,11 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" }, + "403": { "description": "" }, "500": { "description": "Failed to disable preview branching" } }, "tags": ["Environments"], @@ -777,13 +699,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "201": { @@ -806,13 +722,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -836,13 +746,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -865,13 +769,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -902,13 +800,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -929,13 +821,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -971,7 +857,7 @@ "required": true, "in": "path", "description": "Project ref", - "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + "schema": { "type": "string" } } ], "responses": { @@ -998,7 +884,7 @@ "required": true, "in": "path", "description": "Project ref", - "schema": { "minLength": 20, "maxLength": 20, "type": "string" } + "schema": { "type": "string" } } ], "requestBody": { @@ -1047,6 +933,7 @@ } } }, + "403": { "description": "" }, "500": { "description": "Failed to retrieve project" } }, "tags": ["Projects"], @@ -1085,13 +972,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -1116,13 +997,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -1148,13 +1023,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -1179,13 +1048,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -1206,13 +1069,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -1250,13 +1107,7 @@ "in": "query", "schema": { "default": "public", "type": "string" } }, - { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { "minLength": 20, "maxLength": 20, "type": "string" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -1279,13 +1130,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -1306,13 +1151,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" }, @@ -1328,13 +1167,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -1363,13 +1196,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -1398,13 +1225,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -1433,13 +1254,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -1462,19 +1277,13 @@ "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" } - } + }, + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -1514,6 +1323,7 @@ } } }, + "403": { "description": "" }, "500": { "description": "Failed to get project readonly mode status" } }, "tags": ["Database"], @@ -1535,6 +1345,7 @@ ], "responses": { "201": { "description": "" }, + "403": { "description": "" }, "500": { "description": "Failed to disable project's readonly mode" } }, "tags": ["Database"], @@ -1546,13 +1357,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -1576,13 +1381,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -1717,7 +1516,8 @@ "schema": { "$ref": "#/components/schemas/SigningKeyResponse" } } } - } + }, + "403": { "description": "" } }, "tags": ["Auth"], "security": [{ "bearer": [] }] @@ -1852,6 +1652,7 @@ } } }, + "403": { "description": "" }, "500": { "description": "Failed to retrieve project's Postgres config" } }, "tags": ["Database"], @@ -1915,6 +1716,7 @@ } } }, + "403": { "description": "" }, "500": { "description": "Failed to retrieve project's pgbouncer config" } }, "tags": ["Database"] @@ -1922,7 +1724,7 @@ }, "/v1/projects/{ref}/config/database/pooler": { "get": { - "operationId": "v1-get-supavisor-config", + "operationId": "getSupavisorConfig", "summary": "Gets project's supavisor config", "parameters": [ { @@ -1951,7 +1753,7 @@ "security": [{ "bearer": [] }] }, "patch": { - "operationId": "v1-update-supavisor-config", + "operationId": "updateSupavisorConfig", "summary": "Updates project's supavisor config", "parameters": [ { @@ -2085,7 +1887,7 @@ }, "get": { "operationId": "listTPAForProject", - "summary": "[Alpha] Lists all third-party auth integrations", + "summary": "Lists all third-party auth integrations", "parameters": [ { "name": "ref", @@ -2116,7 +1918,7 @@ "/v1/projects/{ref}/config/auth/third-party-auth/{tpa_id}": { "delete": { "operationId": "deleteTPAForProject", - "summary": "[Alpha] Removes a third-party auth integration", + "summary": "Removes a third-party auth integration", "parameters": [ { "name": "ref", @@ -2141,7 +1943,7 @@ }, "get": { "operationId": "getTPAForProject", - "summary": "[Alpha] Get a third-party integration", + "summary": "Get a third-party integration", "parameters": [ { "name": "ref", @@ -2237,6 +2039,89 @@ "security": [{ "bearer": [] }] } }, + "/v1/projects/{ref}/billing/addons": { + "get": { + "operationId": "v1-list-project-addons", + "summary": "Lists project addons", + "parameters": [ + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/ListProjectAddonsResponseDto" } + } + } + }, + "403": { "description": "" }, + "500": { "description": "Failed to list project addons" } + }, + "security": [{ "bearer": [] }] + }, + "patch": { + "operationId": "v1-apply-project-addon", + "summary": "Applies project addon", + "parameters": [ + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { "$ref": "#/components/schemas/ApplyProjectAddonBodyDto" } + } + } + }, + "responses": { + "200": { "description": "" }, + "403": { "description": "" }, + "500": { "description": "Failed to apply project addon" } + }, + "security": [{ "bearer": [] }] + } + }, + "/v1/projects/{ref}/billing/addons/{addon_variant}": { + "delete": { + "operationId": "v1-remove-project-addon", + "summary": "Removes project addon", + "parameters": [ + { + "name": "addon_variant", + "required": true, + "in": "path", + "schema": { + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge", + "cd_default", + "pitr_7", + "pitr_14", + "pitr_28", + "ipv4_default" + ], + "type": "string" + } + }, + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } + ], + "responses": { + "200": { "description": "" }, + "403": { "description": "" }, + "500": { "description": "Failed to remove project addon" } + }, + "security": [{ "bearer": [] }] + } + }, "/v1/projects/{ref}/analytics/endpoints/logs.all": { "get": { "operationId": "getLogs", @@ -2277,13 +2162,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -2355,13 +2234,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -2388,24 +2261,16 @@ "deprecated": true, "parameters": [ { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", - "schema": { "minLength": 20, "maxLength": 20, "type": "string" } - }, - { - "name": "slug", + "name": "import_map_path", "required": false, "in": "query", - "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } + "schema": { "type": "string" } }, - { "name": "name", "required": false, "in": "query", "schema": { "type": "string" } }, { - "name": "verify_jwt", + "name": "entrypoint_path", "required": false, "in": "query", - "schema": { "type": "boolean" } + "schema": { "type": "string" } }, { "name": "import_map", @@ -2414,17 +2279,14 @@ "schema": { "type": "boolean" } }, { - "name": "entrypoint_path", + "name": "verify_jwt", "required": false, "in": "query", - "schema": { "type": "string" } + "schema": { "type": "boolean" } }, - { - "name": "import_map_path", - "required": false, - "in": "query", - "schema": { "type": "string" } - } + { "name": "name", "required": false, "in": "query", "schema": { "type": "string" } }, + { "name": "slug", "required": false, "in": "query", "schema": { "type": "string" } }, + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -2455,13 +2317,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -2496,25 +2352,14 @@ "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" } - } + }, + { "name": "slug", "required": false, "in": "query", "schema": { "type": "string" } }, + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -2546,20 +2391,13 @@ "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" } - } + "schema": { "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } + }, + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { @@ -2582,31 +2420,16 @@ "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", + "name": "import_map_path", "required": false, "in": "query", - "schema": { "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } + "schema": { "type": "string" } }, - { "name": "name", "required": false, "in": "query", "schema": { "type": "string" } }, { - "name": "verify_jwt", + "name": "entrypoint_path", "required": false, "in": "query", - "schema": { "type": "boolean" } + "schema": { "type": "string" } }, { "name": "import_map", @@ -2615,17 +2438,19 @@ "schema": { "type": "boolean" } }, { - "name": "entrypoint_path", + "name": "verify_jwt", "required": false, "in": "query", - "schema": { "type": "string" } + "schema": { "type": "boolean" } }, + { "name": "name", "required": false, "in": "query", "schema": { "type": "string" } }, { - "name": "import_map_path", - "required": false, - "in": "query", - "schema": { "type": "string" } - } + "name": "function_slug", + "required": true, + "in": "path", + "schema": { "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } + }, + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -2656,20 +2481,13 @@ "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" } - } + "schema": { "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } + }, + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" }, @@ -2686,20 +2504,13 @@ "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" } - } + "schema": { "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } + }, + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "responses": { "200": { "description": "" }, @@ -2922,6 +2733,7 @@ "application/json": { "schema": { "$ref": "#/components/schemas/V1BackupsResponse" } } } }, + "403": { "description": "" }, "500": { "description": "Failed to get backups" } }, "tags": ["Database"], @@ -2933,13 +2745,7 @@ "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" } - } + { "name": "ref", "required": true, "in": "path", "schema": { "type": "string" } } ], "requestBody": { "required": true, @@ -2947,7 +2753,7 @@ "application/json": { "schema": { "$ref": "#/components/schemas/V1RestorePitrBody" } } } }, - "responses": { "201": { "description": "" } }, + "responses": { "201": { "description": "" }, "403": { "description": "" } }, "tags": ["Database"], "security": [{ "bearer": [] }] } @@ -2970,7 +2776,8 @@ } } } - } + }, + "403": { "description": "" } }, "tags": ["Organizations"], "security": [{ "bearer": [] }] @@ -2991,7 +2798,8 @@ "schema": { "$ref": "#/components/schemas/V1OrganizationSlugResponse" } } } - } + }, + "403": { "description": "" } }, "tags": ["Organizations"], "security": [{ "bearer": [] }] @@ -3024,6 +2832,10 @@ "BranchDetailResponse": { "type": "object", "properties": { + "ref": { "type": "string" }, + "postgres_version": { "type": "string" }, + "postgres_engine": { "type": "string" }, + "release_channel": { "type": "string" }, "status": { "type": "string", "enum": [ @@ -3044,36 +2856,32 @@ "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_port": { "type": "number" }, "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" + "status", + "db_host", + "db_port" ] }, "UpdateBranchBody": { "type": "object", "properties": { + "branch_name": { "type": "string" }, + "git_branch": { "type": "string" }, "reset_on_push": { "type": "boolean", - "deprecated": true, - "description": "This field is deprecated and will be ignored. Use v1-reset-a-branch endpoint directly instead." + "description": "This field is deprecated and will be ignored. Use v1-reset-a-branch endpoint directly instead.", + "deprecated": true }, - "branch_name": { "type": "string" }, - "git_branch": { "type": "string" }, "persistent": { "type": "boolean" }, "status": { "type": "string", @@ -3091,12 +2899,19 @@ "BranchResponse": { "type": "object", "properties": { + "id": { "type": "string" }, + "name": { "type": "string" }, + "project_ref": { "type": "string" }, + "parent_project_ref": { "type": "string" }, + "is_default": { "type": "boolean" }, + "git_branch": { "type": "string" }, "pr_number": { "type": "integer", "format": "int32" }, "latest_check_run_id": { "type": "number", - "deprecated": true, - "description": "This field is deprecated and will not be populated." + "description": "This field is deprecated and will not be populated.", + "deprecated": true }, + "persistent": { "type": "boolean" }, "status": { "type": "string", "enum": [ @@ -3108,36 +2923,32 @@ "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", + "status", "created_at", "updated_at" ] }, "BranchDeleteResponse": { "type": "object", - "properties": { "message": { "type": "string" } }, + "properties": { "message": { "type": "string", "enum": ["ok"] } }, "required": ["message"] }, "BranchUpdateResponse": { "type": "object", - "properties": { "workflow_run_id": { "type": "string" }, "message": { "type": "string" } }, + "properties": { + "workflow_run_id": { "type": "string" }, + "message": { "type": "string", "enum": ["ok"] } + }, "required": ["workflow_run_id", "message"] }, "V1DatabaseResponse": { @@ -3310,25 +3121,27 @@ "OAuthTokenBody": { "type": "object", "properties": { - "grant_type": { "enum": ["authorization_code", "refresh_token"], "type": "string" }, - "client_id": { "type": "string" }, + "grant_type": { "type": "string", "enum": ["authorization_code", "refresh_token"] }, + "client_id": { "type": "string", "format": "uuid" }, "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"] + "required": ["grant_type"], + "additionalProperties": false }, "OAuthTokenResponse": { "type": "object", "properties": { - "expires_in": { "type": "integer", "format": "int64" }, - "token_type": { "type": "string", "enum": ["Bearer"] }, "access_token": { "type": "string" }, - "refresh_token": { "type": "string" } + "refresh_token": { "type": "string" }, + "expires_in": { "type": "integer" }, + "token_type": { "type": "string", "enum": ["Bearer"] } }, - "required": ["expires_in", "token_type", "access_token", "refresh_token"] + "required": ["access_token", "refresh_token", "expires_in", "token_type"], + "additionalProperties": false }, "OAuthRevokeTokenBodyDto": { "type": "object", @@ -3429,42 +3242,41 @@ "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 }, + "type": { + "type": "string", + "enum": ["publishable", "secret", "legacy"], + "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" }] + "type": "object", + "properties": { "role": { "type": "string", "minLength": 1 } }, + "required": ["role"], + "nullable": true }, - "inserted_at": { "type": "string", "nullable": true }, - "updated_at": { "type": "string", "nullable": true } + "inserted_at": { "type": "string", "format": "date-time", "nullable": true }, + "updated_at": { "type": "string", "format": "date-time", "nullable": true } }, "required": ["name", "api_key"] }, "CreateApiKeyBody": { "type": "object", "properties": { - "type": { "enum": ["publishable", "secret"], "type": "string" }, + "type": { "type": "string", "enum": ["publishable", "secret"] }, "description": { "type": "string", "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/ApiKeySecretJWTTemplate" }] + "type": "object", + "properties": { "role": { "type": "string", "minLength": 1 } }, + "required": ["role"], + "nullable": true } }, "required": ["type"] @@ -3474,45 +3286,46 @@ "properties": { "description": { "type": "string", "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [{ "$ref": "#/components/schemas/ApiKeySecretJWTTemplate" }] + "type": "object", + "properties": { "role": { "type": "string", "minLength": 1 } }, + "required": ["role"], + "nullable": true } } }, - "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" }, + "branch_name": { "type": "string", "minLength": 1 }, "git_branch": { "type": "string" }, "persistent": { "type": "boolean" }, - "region": { "type": "string" } + "region": { "type": "string" }, + "desired_instance_size": { + "type": "string", + "enum": [ + "nano", + "micro", + "small", + "medium", + "large", + "xlarge", + "2xlarge", + "4xlarge", + "8xlarge", + "12xlarge", + "16xlarge" + ] + }, + "release_channel": { + "type": "string", + "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"], + "description": "Release channel. If not provided, GA will be used." + }, + "postgres_engine": { + "type": "string", + "enum": ["15", "17-oriole"], + "description": "Postgres engine version. If not provided, the latest version will be used." + } }, "required": ["branch_name"] }, @@ -3615,6 +3428,30 @@ "properties": { "ipv4_addresses": { "type": "array", "items": { "type": "string" } } }, "required": ["ipv4_addresses"] }, + "NetworkRestrictionsResponse": { + "type": "object", + "properties": { + "entitlement": { "type": "string", "enum": ["disallowed", "allowed"] }, + "config": { + "type": "object", + "properties": { + "dbAllowedCidrs": { "type": "array", "items": { "type": "string" } }, + "dbAllowedCidrsV6": { "type": "array", "items": { "type": "string" } } + }, + "description": "At any given point in time, this is the config that the user has requested be applied to their project. The `status` field indicates if it has been applied to the project, or is pending. When an updated config is received, the applied config is moved to `old_config`." + }, + "old_config": { + "type": "object", + "properties": { + "dbAllowedCidrs": { "type": "array", "items": { "type": "string" } }, + "dbAllowedCidrsV6": { "type": "array", "items": { "type": "string" } } + }, + "description": "Populated when a new config has been received, but not registered as successfully applied to a project." + }, + "status": { "type": "string", "enum": ["stored", "applied"] } + }, + "required": ["entitlement", "config", "status"] + }, "NetworkRestrictionsRequest": { "type": "object", "properties": { @@ -3622,16 +3459,6 @@ "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" } }, @@ -3645,40 +3472,40 @@ "PostgrestConfigWithJWTSecretResponse": { "type": "object", "properties": { + "db_schema": { "type": "string" }, "max_rows": { "type": "integer" }, + "db_extra_search_path": { "type": "string" }, "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"] + "required": ["db_schema", "max_rows", "db_extra_search_path", "db_pool"] }, "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" } + "db_schema": { "type": "string" }, + "max_rows": { "type": "integer", "minimum": 0, "maximum": 1000000 }, + "db_pool": { "type": "integer", "minimum": 0, "maximum": 1000 } } }, "V1PostgrestConfigResponse": { "type": "object", "properties": { + "db_schema": { "type": "string" }, "max_rows": { "type": "integer" }, + "db_extra_search_path": { "type": "string" }, "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"] + "required": ["db_schema", "max_rows", "db_extra_search_path", "db_pool"] }, "V1ProjectRefResponse": { "type": "object", @@ -3704,7 +3531,7 @@ "name": { "type": "string", "maxLength": 256, - "pattern": "/^(?!SUPABASE_).*/", + "pattern": "^(?!SUPABASE_).*", "description": "Secret name must not start with the SUPABASE_ prefix.", "example": "string" }, @@ -3712,22 +3539,27 @@ }, "required": ["name", "value"] }, - "SslEnforcements": { - "type": "object", - "properties": { "database": { "type": "boolean" } }, - "required": ["database"] - }, "SslEnforcementResponse": { "type": "object", "properties": { - "currentConfig": { "$ref": "#/components/schemas/SslEnforcements" }, + "currentConfig": { + "type": "object", + "properties": { "database": { "type": "boolean" } }, + "required": ["database"] + }, "appliedSuccessfully": { "type": "boolean" } }, "required": ["currentConfig", "appliedSuccessfully"] }, "SslEnforcementRequest": { "type": "object", - "properties": { "requestedConfig": { "$ref": "#/components/schemas/SslEnforcements" } }, + "properties": { + "requestedConfig": { + "type": "object", + "properties": { "database": { "type": "boolean" } }, + "required": ["database"] + } + }, "required": ["requestedConfig"] }, "TypescriptResponse": { @@ -3738,7 +3570,7 @@ "VanitySubdomainConfigResponse": { "type": "object", "properties": { - "status": { "enum": ["not-used", "custom-domain-used", "active"], "type": "string" }, + "status": { "type": "string", "enum": ["not-used", "custom-domain-used", "active"] }, "custom_domain": { "type": "string" } }, "required": ["status"] @@ -3761,99 +3593,104 @@ "UpgradeDatabaseBody": { "type": "object", "properties": { - "release_channel": { "$ref": "#/components/schemas/ReleaseChannel" }, - "target_version": { "type": "string" } + "target_version": { "type": "string" }, + "release_channel": { + "type": "string", + "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] + } }, - "required": ["release_channel", "target_version"] + "required": ["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" }, + "current_app_version_release_channel": { + "type": "string", + "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] + }, "latest_app_version": { "type": "string" }, "target_upgrade_versions": { "type": "array", - "items": { "$ref": "#/components/schemas/ProjectVersion" } + "items": { + "type": "object", + "properties": { + "postgres_version": { "type": "string", "enum": ["15", "17-oriole"] }, + "release_channel": { + "type": "string", + "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] + }, + "app_version": { "type": "string" } + }, + "required": ["postgres_version", "release_channel", "app_version"] + } }, "potential_breaking_changes": { "type": "array", "items": { "type": "string" } }, + "duration_estimate_hours": { "type": "number" }, "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", + "current_app_version_release_channel", "latest_app_version", "target_upgrade_versions", "potential_breaking_changes", + "duration_estimate_hours", "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" }] + "type": "object", + "properties": { + "initiated_at": { "type": "string" }, + "latest_status_at": { "type": "string" }, + "target_version": { "type": "number" }, + "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" + ] + }, + "status": { "type": "number" } + }, + "required": ["initiated_at", "latest_status_at", "target_version", "status"], + "nullable": true } }, "required": ["databaseUpgradeStatus"] @@ -4106,30 +3943,34 @@ "properties": { "database_type": { "type": "string", "enum": ["PRIMARY", "READ_REPLICA"] }, "db_port": { "type": "integer" }, + "connectionString": { + "type": "string", + "deprecated": true, + "description": "Use connection_string instead" + }, "default_pool_size": { "type": "integer", "nullable": true }, "max_client_conn": { "type": "integer", "nullable": true }, + "pool_mode": { "enum": ["transaction", "session"], "type": "string" }, "identifier": { "type": "string" }, "is_using_scram_auth": { "type": "boolean" }, "db_user": { "type": "string" }, "db_host": { "type": "string" }, "db_name": { "type": "string" }, - "connectionString": { "type": "string" }, - "connection_string": { "type": "string" }, - "pool_mode": { "enum": ["transaction", "session"], "type": "string" } + "connection_string": { "type": "string" } }, "required": [ "database_type", "db_port", + "connectionString", "default_pool_size", "max_client_conn", + "pool_mode", "identifier", "is_using_scram_auth", "db_user", "db_host", "db_name", - "connectionString", - "connection_string", - "pool_mode" + "connection_string" ] }, "UpdateSupavisorConfigBody": { @@ -4144,7 +3985,8 @@ "pool_mode": { "enum": ["transaction", "session"], "type": "string", - "description": "Dedicated pooler mode for the project" + "description": "Dedicated pooler mode for the project", + "deprecated": true } } }, @@ -4745,6 +4587,204 @@ "properties": {}, "hideDefinitions": ["release_channel", "postgres_engine"] }, + "ListProjectAddonsResponseDto": { + "type": "object", + "properties": { + "selected_addons": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "custom_domain", + "compute_instance", + "pitr", + "ipv4", + "auth_mfa_phone", + "auth_mfa_web_authn", + "log_drain" + ] + }, + "variant": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge" + ] + }, + { "type": "string", "enum": ["cd_default"] }, + { "type": "string", "enum": ["pitr_7", "pitr_14", "pitr_28"] }, + { "type": "string", "enum": ["ipv4_default"] }, + { "type": "string", "enum": ["auth_mfa_phone_default"] }, + { "type": "string", "enum": ["auth_mfa_web_authn_default"] }, + { "type": "string", "enum": ["log_drain_default"] } + ] + }, + "name": { "type": "string" }, + "price": { + "type": "object", + "properties": { + "description": { "type": "string" }, + "type": { "type": "string", "enum": ["fixed", "usage"] }, + "interval": { "type": "string", "enum": ["monthly", "hourly"] }, + "amount": { "type": "number" } + }, + "required": ["description", "type", "interval", "amount"] + }, + "meta": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { "type": "number" }, + { "type": "boolean" }, + { "type": "string" }, + { "type": "array", "items": { "type": "string" } } + ] + } + } + }, + "required": ["id", "name", "price"] + } + }, + "required": ["type", "variant"] + } + }, + "available_addons": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "custom_domain", + "compute_instance", + "pitr", + "ipv4", + "auth_mfa_phone", + "auth_mfa_web_authn", + "log_drain" + ] + }, + "name": { "type": "string" }, + "variants": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge" + ] + }, + { "type": "string", "enum": ["cd_default"] }, + { "type": "string", "enum": ["pitr_7", "pitr_14", "pitr_28"] }, + { "type": "string", "enum": ["ipv4_default"] }, + { "type": "string", "enum": ["auth_mfa_phone_default"] }, + { "type": "string", "enum": ["auth_mfa_web_authn_default"] }, + { "type": "string", "enum": ["log_drain_default"] } + ] + }, + "name": { "type": "string" }, + "price": { + "type": "object", + "properties": { + "description": { "type": "string" }, + "type": { "type": "string", "enum": ["fixed", "usage"] }, + "interval": { "type": "string", "enum": ["monthly", "hourly"] }, + "amount": { "type": "number" } + }, + "required": ["description", "type", "interval", "amount"] + }, + "meta": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { "type": "number" }, + { "type": "boolean" }, + { "type": "string" }, + { "type": "array", "items": { "type": "string" } } + ] + } + } + }, + "required": ["id", "name", "price"] + } + } + }, + "required": ["type", "name", "variants"] + } + } + }, + "required": ["selected_addons", "available_addons"] + }, + "ApplyProjectAddonBodyDto": { + "type": "object", + "properties": { + "addon_variant": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge" + ] + }, + { "type": "string", "enum": ["cd_default"] }, + { "type": "string", "enum": ["pitr_7", "pitr_14", "pitr_28"] }, + { "type": "string", "enum": ["ipv4_default"] } + ] + }, + "addon_type": { + "type": "string", + "enum": [ + "custom_domain", + "compute_instance", + "pitr", + "ipv4", + "auth_mfa_phone", + "auth_mfa_web_authn", + "log_drain" + ] + } + }, + "required": ["addon_variant", "addon_type"] + }, "V1AnalyticsResponse": { "type": "object", "properties": { @@ -4777,7 +4817,7 @@ }, "V1RunQueryBody": { "type": "object", - "properties": { "query": { "type": "string" } }, + "properties": { "query": { "type": "string", "minLength": 1 } }, "required": ["query"] }, "GetProjectDbMetadataResponseDto": { @@ -4809,24 +4849,24 @@ "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" }, + "status": { "type": "string", "enum": ["ACTIVE", "REMOVED", "THROTTLED"] }, + "version": { "type": "integer" }, + "created_at": { "type": "integer" }, + "updated_at": { "type": "integer" }, "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"] + "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] }, "V1CreateFunctionBody": { "type": "object", "properties": { - "slug": { "type": "string", "pattern": "/^[A-Za-z0-9_-]+$/" }, + "slug": { "type": "string", "pattern": "^[A-Za-z0-9_-]+$" }, "name": { "type": "string" }, "body": { "type": "string" }, "verify_jwt": { "type": "boolean" } @@ -4836,81 +4876,96 @@ "BulkUpdateFunctionBody": { "type": "object", "properties": { - "version": { "type": "integer" }, - "created_at": { "type": "integer", "format": "int64" }, "id": { "type": "string" }, - "slug": { "type": "string" }, + "slug": { "type": "string", "pattern": "^[A-Za-z0-9_-]+$" }, "name": { "type": "string" }, - "status": { "enum": ["ACTIVE", "REMOVED", "THROTTLED"], "type": "string" }, + "status": { "type": "string", "enum": ["ACTIVE", "REMOVED", "THROTTLED"] }, + "version": { "type": "integer" }, + "created_at": { "type": "integer" }, "verify_jwt": { "type": "boolean" }, "import_map": { "type": "boolean" }, "entrypoint_path": { "type": "string" }, "import_map_path": { "type": "string" } }, - "required": ["version", "id", "slug", "name", "status"] + "required": ["id", "slug", "name", "status", "version"] }, "BulkUpdateFunctionResponse": { "type": "object", "properties": { "functions": { "type": "array", - "items": { "$ref": "#/components/schemas/FunctionResponse" } + "items": { + "type": "object", + "properties": { + "id": { "type": "string" }, + "slug": { "type": "string" }, + "name": { "type": "string" }, + "status": { "type": "string", "enum": ["ACTIVE", "REMOVED", "THROTTLED"] }, + "version": { "type": "integer" }, + "created_at": { "type": "integer" }, + "updated_at": { "type": "integer" }, + "verify_jwt": { "type": "boolean" }, + "import_map": { "type": "boolean" }, + "entrypoint_path": { "type": "string" }, + "import_map_path": { "type": "string" } + }, + "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] + } } }, "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" } + "metadata": { + "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"] + } }, - "required": ["file", "metadata"] + "required": ["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" }, + "status": { "type": "string", "enum": ["ACTIVE", "REMOVED", "THROTTLED"] }, + "version": { "type": "integer" }, + "created_at": { "type": "integer" }, + "updated_at": { "type": "integer" }, "verify_jwt": { "type": "boolean" }, "import_map": { "type": "boolean" }, "entrypoint_path": { "type": "string" }, "import_map_path": { "type": "string" } }, - "required": ["version", "id", "slug", "name", "status"] + "required": ["id", "slug", "name", "status", "version"] }, "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" }, + "status": { "type": "string", "enum": ["ACTIVE", "REMOVED", "THROTTLED"] }, + "version": { "type": "integer" }, + "created_at": { "type": "integer" }, + "updated_at": { "type": "integer" }, "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"] + "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] }, "V1UpdateFunctionBody": { "type": "object", @@ -5114,6 +5169,10 @@ "required": ["user_id", "user_name", "role_name", "mfa_enabled"] }, "BillingPlanId": { "type": "string", "enum": ["free", "pro", "team", "enterprise"] }, + "ReleaseChannel": { + "type": "string", + "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] + }, "V1OrganizationSlugResponse": { "type": "object", "properties": { diff --git a/apps/docs/spec/transforms/api_v1_openapi_deparsed.json b/apps/docs/spec/transforms/api_v1_openapi_deparsed.json index 2edd71313e108..3409b72a991d8 100644 --- a/apps/docs/spec/transforms/api_v1_openapi_deparsed.json +++ b/apps/docs/spec/transforms/api_v1_openapi_deparsed.json @@ -64,7 +64,6 @@ "name": "branch_id", "required": true, "in": "path", - "description": "Branch ID", "schema": { "type": "string" } @@ -78,6 +77,18 @@ "schema": { "type": "object", "properties": { + "ref": { + "type": "string" + }, + "postgres_version": { + "type": "string" + }, + "postgres_engine": { + "type": "string" + }, + "release_channel": { + "type": "string" + }, "status": { "type": "string", "enum": [ @@ -98,24 +109,12 @@ "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_port": { + "type": "number" + }, "db_user": { "type": "string" }, @@ -127,13 +126,13 @@ } }, "required": [ - "status", - "db_port", "ref", "postgres_version", "postgres_engine", "release_channel", - "db_host" + "status", + "db_host", + "db_port" ] } } @@ -159,7 +158,6 @@ "name": "branch_id", "required": true, "in": "path", - "description": "Branch ID", "schema": { "type": "string" } @@ -172,17 +170,17 @@ "schema": { "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" }, + "reset_on_push": { + "type": "boolean", + "description": "This field is deprecated and will be ignored. Use v1-reset-a-branch endpoint directly instead.", + "deprecated": true + }, "persistent": { "type": "boolean" }, @@ -210,26 +208,6 @@ "schema": { "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" }, @@ -248,9 +226,29 @@ "git_branch": { "type": "string" }, + "pr_number": { + "type": "integer", + "format": "int32" + }, + "latest_check_run_id": { + "type": "number", + "description": "This field is deprecated and will not be populated.", + "deprecated": true + }, "persistent": { "type": "boolean" }, + "status": { + "type": "string", + "enum": [ + "CREATING_PROJECT", + "RUNNING_MIGRATIONS", + "MIGRATIONS_PASSED", + "MIGRATIONS_FAILED", + "FUNCTIONS_DEPLOYED", + "FUNCTIONS_FAILED" + ] + }, "created_at": { "type": "string" }, @@ -259,13 +257,13 @@ } }, "required": [ - "status", "id", "name", "project_ref", "parent_project_ref", "is_default", "persistent", + "status", "created_at", "updated_at" ] @@ -293,7 +291,6 @@ "name": "branch_id", "required": true, "in": "path", - "description": "Branch ID", "schema": { "type": "string" } @@ -308,7 +305,8 @@ "type": "object", "properties": { "message": { - "type": "string" + "type": "string", + "enum": ["ok"] } }, "required": ["message"] @@ -338,7 +336,6 @@ "name": "branch_id", "required": true, "in": "path", - "description": "Branch ID", "schema": { "type": "string" } @@ -356,7 +353,8 @@ "type": "string" }, "message": { - "type": "string" + "type": "string", + "enum": ["ok"] } }, "required": ["workflow_run_id", "message"] @@ -386,7 +384,6 @@ "name": "branch_id", "required": true, "in": "path", - "description": "Branch ID", "schema": { "type": "string" } @@ -404,7 +401,8 @@ "type": "string" }, "message": { - "type": "string" + "type": "string", + "enum": ["ok"] } }, "required": ["workflow_run_id", "message"] @@ -778,32 +776,16 @@ "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, + "name": "code_challenge_method", + "required": false, "in": "query", "schema": { + "enum": ["plain", "sha256", "S256"], "type": "string" } }, { - "name": "scope", + "name": "code_challenge", "required": false, "in": "query", "schema": { @@ -819,27 +801,26 @@ } }, { - "name": "response_mode", - "required": false, + "name": "response_type", + "required": true, "in": "query", "schema": { "type": "string" } }, { - "name": "code_challenge", - "required": false, + "name": "redirect_uri", + "required": true, "in": "query", "schema": { "type": "string" } }, { - "name": "code_challenge_method", - "required": false, + "name": "client_id", + "required": true, "in": "query", "schema": { - "enum": ["plain", "sha256", "S256"], "type": "string" } } @@ -870,11 +851,12 @@ "type": "object", "properties": { "grant_type": { - "enum": ["authorization_code", "refresh_token"], - "type": "string" + "type": "string", + "enum": ["authorization_code", "refresh_token"] }, "client_id": { - "type": "string" + "type": "string", + "format": "uuid" }, "client_secret": { "type": "string" @@ -892,7 +874,8 @@ "type": "string" } }, - "required": ["grant_type", "client_id", "client_secret"] + "required": ["grant_type"], + "additionalProperties": false } } } @@ -905,22 +888,22 @@ "schema": { "type": "object", "properties": { - "expires_in": { - "type": "integer", - "format": "int64" - }, - "token_type": { - "type": "string", - "enum": ["Bearer"] - }, "access_token": { "type": "string" }, "refresh_token": { "type": "string" + }, + "expires_in": { + "type": "integer" + }, + "token_type": { + "type": "string", + "enum": ["Bearer"] } }, - "required": ["expires_in", "token_type", "access_token", "refresh_token"] + "required": ["access_token", "refresh_token", "expires_in", "token_type"], + "additionalProperties": false } } } @@ -1275,22 +1258,19 @@ "summary": "Get project api keys", "parameters": [ { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", + "name": "reveal", + "required": false, + "in": "query", "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" + "type": "boolean" } }, { - "name": "reveal", + "name": "ref", "required": true, - "in": "query", + "in": "path", "schema": { - "type": "boolean" + "type": "string" } } ], @@ -1304,11 +1284,6 @@ "items": { "type": "object", "properties": { - "type": { - "nullable": true, - "type": "string", - "enum": ["publishable", "secret", "legacy"] - }, "name": { "type": "string" }, @@ -1319,6 +1294,11 @@ "type": "string", "nullable": true }, + "type": { + "type": "string", + "enum": ["publishable", "secret", "legacy"], + "nullable": true + }, "prefix": { "type": "string", "nullable": true @@ -1332,25 +1312,24 @@ "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [ - { - "type": "object", - "properties": { - "role": { - "type": "string" - } - }, - "required": ["role"] + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 } - ] + }, + "required": ["role"], + "nullable": true }, "inserted_at": { "type": "string", + "format": "date-time", "nullable": true }, "updated_at": { "type": "string", + "format": "date-time", "nullable": true } }, @@ -1359,6 +1338,9 @@ } } } + }, + "403": { + "description": "" } }, "tags": ["Secrets"], @@ -1373,22 +1355,19 @@ "summary": "[Alpha] Creates a new API key for the project", "parameters": [ { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", + "name": "reveal", + "required": false, + "in": "query", "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" + "type": "boolean" } }, { - "name": "reveal", + "name": "ref", "required": true, - "in": "query", + "in": "path", "schema": { - "type": "boolean" + "type": "string" } } ], @@ -1400,26 +1379,23 @@ "type": "object", "properties": { "type": { - "enum": ["publishable", "secret"], - "type": "string" + "type": "string", + "enum": ["publishable", "secret"] }, "description": { "type": "string", "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [ - { - "type": "object", - "properties": { - "role": { - "type": "string" - } - }, - "required": ["role"] + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 } - ] + }, + "required": ["role"], + "nullable": true } }, "required": ["type"] @@ -1435,11 +1411,6 @@ "schema": { "type": "object", "properties": { - "type": { - "nullable": true, - "type": "string", - "enum": ["publishable", "secret", "legacy"] - }, "name": { "type": "string" }, @@ -1450,6 +1421,11 @@ "type": "string", "nullable": true }, + "type": { + "type": "string", + "enum": ["publishable", "secret", "legacy"], + "nullable": true + }, "prefix": { "type": "string", "nullable": true @@ -1463,25 +1439,24 @@ "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [ - { - "type": "object", - "properties": { - "role": { - "type": "string" - } - }, - "required": ["role"] + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 } - ] + }, + "required": ["role"], + "nullable": true }, "inserted_at": { "type": "string", + "format": "date-time", "nullable": true }, "updated_at": { "type": "string", + "format": "date-time", "nullable": true } }, @@ -1489,6 +1464,9 @@ } } } + }, + "403": { + "description": "" } }, "tags": ["Secrets"], @@ -1505,14 +1483,11 @@ "summary": "[Alpha] Updates an API key for the project", "parameters": [ { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", + "name": "reveal", + "required": false, + "in": "query", "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" + "type": "boolean" } }, { @@ -1524,11 +1499,11 @@ } }, { - "name": "reveal", + "name": "ref", "required": true, - "in": "query", + "in": "path", "schema": { - "type": "boolean" + "type": "string" } } ], @@ -1544,18 +1519,15 @@ "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [ - { - "type": "object", - "properties": { - "role": { - "type": "string" - } - }, - "required": ["role"] + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 } - ] + }, + "required": ["role"], + "nullable": true } } } @@ -1570,11 +1542,6 @@ "schema": { "type": "object", "properties": { - "type": { - "nullable": true, - "type": "string", - "enum": ["publishable", "secret", "legacy"] - }, "name": { "type": "string" }, @@ -1585,6 +1552,11 @@ "type": "string", "nullable": true }, + "type": { + "type": "string", + "enum": ["publishable", "secret", "legacy"], + "nullable": true + }, "prefix": { "type": "string", "nullable": true @@ -1598,25 +1570,24 @@ "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [ - { - "type": "object", - "properties": { - "role": { - "type": "string" - } - }, - "required": ["role"] + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 } - ] + }, + "required": ["role"], + "nullable": true }, "inserted_at": { "type": "string", + "format": "date-time", "nullable": true }, "updated_at": { "type": "string", + "format": "date-time", "nullable": true } }, @@ -1624,6 +1595,9 @@ } } } + }, + "403": { + "description": "" } }, "tags": ["Secrets"], @@ -1638,14 +1612,11 @@ "summary": "[Alpha] Get API key", "parameters": [ { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", + "name": "reveal", + "required": false, + "in": "query", "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" + "type": "boolean" } }, { @@ -1657,11 +1628,11 @@ } }, { - "name": "reveal", + "name": "ref", "required": true, - "in": "query", + "in": "path", "schema": { - "type": "boolean" + "type": "string" } } ], @@ -1673,11 +1644,6 @@ "schema": { "type": "object", "properties": { - "type": { - "nullable": true, - "type": "string", - "enum": ["publishable", "secret", "legacy"] - }, "name": { "type": "string" }, @@ -1688,6 +1654,11 @@ "type": "string", "nullable": true }, + "type": { + "type": "string", + "enum": ["publishable", "secret", "legacy"], + "nullable": true + }, "prefix": { "type": "string", "nullable": true @@ -1701,25 +1672,24 @@ "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [ - { - "type": "object", - "properties": { - "role": { - "type": "string" - } - }, - "required": ["role"] + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 } - ] + }, + "required": ["role"], + "nullable": true }, "inserted_at": { "type": "string", + "format": "date-time", "nullable": true }, "updated_at": { "type": "string", + "format": "date-time", "nullable": true } }, @@ -1727,6 +1697,9 @@ } } } + }, + "403": { + "description": "" } }, "tags": ["Secrets"], @@ -1741,14 +1714,11 @@ "summary": "[Alpha] Deletes an API key for the project", "parameters": [ { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", + "name": "reveal", + "required": false, + "in": "query", "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" + "type": "boolean" } }, { @@ -1760,11 +1730,11 @@ } }, { - "name": "reveal", + "name": "ref", "required": true, - "in": "query", + "in": "path", "schema": { - "type": "boolean" + "type": "string" } } ], @@ -1776,11 +1746,6 @@ "schema": { "type": "object", "properties": { - "type": { - "nullable": true, - "type": "string", - "enum": ["publishable", "secret", "legacy"] - }, "name": { "type": "string" }, @@ -1791,6 +1756,11 @@ "type": "string", "nullable": true }, + "type": { + "type": "string", + "enum": ["publishable", "secret", "legacy"], + "nullable": true + }, "prefix": { "type": "string", "nullable": true @@ -1804,25 +1774,24 @@ "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [ - { - "type": "object", - "properties": { - "role": { - "type": "string" - } - }, - "required": ["role"] + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 } - ] + }, + "required": ["role"], + "nullable": true }, "inserted_at": { "type": "string", + "format": "date-time", "nullable": true }, "updated_at": { "type": "string", + "format": "date-time", "nullable": true } }, @@ -1853,10 +1822,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -1871,26 +1837,6 @@ "items": { "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" }, @@ -1909,9 +1855,29 @@ "git_branch": { "type": "string" }, + "pr_number": { + "type": "integer", + "format": "int32" + }, + "latest_check_run_id": { + "type": "number", + "description": "This field is deprecated and will not be populated.", + "deprecated": true + }, "persistent": { "type": "boolean" }, + "status": { + "type": "string", + "enum": [ + "CREATING_PROJECT", + "RUNNING_MIGRATIONS", + "MIGRATIONS_PASSED", + "MIGRATIONS_FAILED", + "FUNCTIONS_DEPLOYED", + "FUNCTIONS_FAILED" + ] + }, "created_at": { "type": "string" }, @@ -1920,13 +1886,13 @@ } }, "required": [ - "status", "id", "name", "project_ref", "parent_project_ref", "is_default", "persistent", + "status", "created_at", "updated_at" ] @@ -1935,6 +1901,9 @@ } } }, + "403": { + "description": "" + }, "500": { "description": "Failed to retrieve database branches" } @@ -1955,10 +1924,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -1970,9 +1936,23 @@ "schema": { "type": "object", "properties": { + "branch_name": { + "type": "string", + "minLength": 1 + }, + "git_branch": { + "type": "string" + }, + "persistent": { + "type": "boolean" + }, + "region": { + "type": "string" + }, "desired_instance_size": { "type": "string", "enum": [ + "nano", "micro", "small", "medium", @@ -1987,24 +1967,13 @@ }, "release_channel": { "type": "string", - "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] + "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"], + "description": "Release channel. If not provided, GA will be used." }, "postgres_engine": { "type": "string", - "description": "Postgres engine version. If not provided, the latest version will be used.", - "enum": ["15", "17-oriole"] - }, - "branch_name": { - "type": "string" - }, - "git_branch": { - "type": "string" - }, - "persistent": { - "type": "boolean" - }, - "region": { - "type": "string" + "enum": ["15", "17-oriole"], + "description": "Postgres engine version. If not provided, the latest version will be used." } }, "required": ["branch_name"] @@ -2020,26 +1989,6 @@ "schema": { "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" }, @@ -2058,9 +2007,29 @@ "git_branch": { "type": "string" }, + "pr_number": { + "type": "integer", + "format": "int32" + }, + "latest_check_run_id": { + "type": "number", + "description": "This field is deprecated and will not be populated.", + "deprecated": true + }, "persistent": { "type": "boolean" }, + "status": { + "type": "string", + "enum": [ + "CREATING_PROJECT", + "RUNNING_MIGRATIONS", + "MIGRATIONS_PASSED", + "MIGRATIONS_FAILED", + "FUNCTIONS_DEPLOYED", + "FUNCTIONS_FAILED" + ] + }, "created_at": { "type": "string" }, @@ -2069,13 +2038,13 @@ } }, "required": [ - "status", "id", "name", "project_ref", "parent_project_ref", "is_default", "persistent", + "status", "created_at", "updated_at" ] @@ -2083,6 +2052,9 @@ } } }, + "403": { + "description": "" + }, "500": { "description": "Failed to create database branch" } @@ -2103,10 +2075,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -2115,6 +2084,9 @@ "200": { "description": "" }, + "403": { + "description": "" + }, "500": { "description": "Failed to disable preview branching" } @@ -2834,10 +2806,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -2886,10 +2855,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -2941,10 +2907,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -2958,8 +2921,8 @@ "type": "object", "properties": { "entitlement": { - "enum": ["disallowed", "allowed"], - "type": "string" + "type": "string", + "enum": ["disallowed", "allowed"] }, "config": { "type": "object", @@ -2976,7 +2939,8 @@ "type": "string" } } - } + }, + "description": "At any given point in time, this is the config that the user has requested be applied to their project. The `status` field indicates if it has been applied to the project, or is pending. When an updated config is received, the applied config is moved to `old_config`." }, "old_config": { "type": "object", @@ -2993,11 +2957,12 @@ "type": "string" } } - } + }, + "description": "Populated when a new config has been received, but not registered as successfully applied to a project." }, "status": { - "enum": ["stored", "applied"], - "type": "string" + "type": "string", + "enum": ["stored", "applied"] } }, "required": ["entitlement", "config", "status"] @@ -3029,10 +2994,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3070,8 +3032,8 @@ "type": "object", "properties": { "entitlement": { - "enum": ["disallowed", "allowed"], - "type": "string" + "type": "string", + "enum": ["disallowed", "allowed"] }, "config": { "type": "object", @@ -3088,7 +3050,8 @@ "type": "string" } } - } + }, + "description": "At any given point in time, this is the config that the user has requested be applied to their project. The `status` field indicates if it has been applied to the project, or is pending. When an updated config is received, the applied config is moved to `old_config`." }, "old_config": { "type": "object", @@ -3105,11 +3068,12 @@ "type": "string" } } - } + }, + "description": "Populated when a new config has been received, but not registered as successfully applied to a project." }, "status": { - "enum": ["stored", "applied"], - "type": "string" + "type": "string", + "enum": ["stored", "applied"] } }, "required": ["entitlement", "config", "status"] @@ -3141,10 +3105,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3188,10 +3149,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3255,8 +3213,6 @@ "in": "path", "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3269,25 +3225,25 @@ "schema": { "type": "object", "properties": { + "db_schema": { + "type": "string" + }, "max_rows": { "type": "integer" }, + "db_extra_search_path": { + "type": "string" + }, "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"] + "required": ["db_schema", "max_rows", "db_extra_search_path", "db_pool"] } } } @@ -3316,8 +3272,6 @@ "in": "path", "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3329,6 +3283,12 @@ "schema": { "type": "object", "properties": { + "db_extra_search_path": { + "type": "string" + }, + "db_schema": { + "type": "string" + }, "max_rows": { "type": "integer", "minimum": 0, @@ -3338,12 +3298,6 @@ "type": "integer", "minimum": 0, "maximum": 1000 - }, - "db_extra_search_path": { - "type": "string" - }, - "db_schema": { - "type": "string" } } } @@ -3358,22 +3312,22 @@ "schema": { "type": "object", "properties": { + "db_schema": { + "type": "string" + }, "max_rows": { "type": "integer" }, + "db_extra_search_path": { + "type": "string" + }, "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"] + "required": ["db_schema", "max_rows", "db_extra_search_path", "db_pool"] } } } @@ -3496,6 +3450,9 @@ } } }, + "403": { + "description": "" + }, "500": { "description": "Failed to retrieve project" } @@ -3569,10 +3526,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3626,10 +3580,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3646,7 +3597,7 @@ "name": { "type": "string", "maxLength": 256, - "pattern": "/^(?!SUPABASE_).*/", + "pattern": "^(?!SUPABASE_).*", "description": "Secret name must not start with the SUPABASE_ prefix.", "example": "string" }, @@ -3688,10 +3639,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3744,10 +3692,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3800,10 +3745,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3890,10 +3832,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3939,10 +3878,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -3956,8 +3892,8 @@ "type": "object", "properties": { "status": { - "enum": ["not-used", "custom-domain-used", "active"], - "type": "string" + "type": "string", + "enum": ["not-used", "custom-domain-used", "active"] }, "custom_domain": { "type": "string" @@ -3990,10 +3926,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -4026,10 +3959,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -4091,10 +4021,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -4156,10 +4083,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -4171,15 +4095,15 @@ "schema": { "type": "object", "properties": { + "target_version": { + "type": "string" + }, "release_channel": { "type": "string", "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] - }, - "target_version": { - "type": "string" } }, - "required": ["release_channel", "target_version"] + "required": ["target_version"] } } } @@ -4225,10 +4149,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -4241,19 +4162,16 @@ "schema": { "type": "object", "properties": { - "current_app_version_release_channel": { - "type": "string", - "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] - }, - "duration_estimate_hours": { - "type": "integer" - }, "eligible": { "type": "boolean" }, "current_app_version": { "type": "string" }, + "current_app_version_release_channel": { + "type": "string", + "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] + }, "latest_app_version": { "type": "string" }, @@ -4264,7 +4182,6 @@ "properties": { "postgres_version": { "type": "string", - "description": "Postgres engine version. If not provided, the latest version will be used.", "enum": ["15", "17-oriole"] }, "release_channel": { @@ -4284,6 +4201,9 @@ "type": "string" } }, + "duration_estimate_hours": { + "type": "number" + }, "legacy_auth_custom_roles": { "type": "array", "items": { @@ -4298,13 +4218,13 @@ } }, "required": [ - "current_app_version_release_channel", - "duration_estimate_hours", "eligible", "current_app_version", + "current_app_version_release_channel", "latest_app_version", "target_upgrade_versions", "potential_breaking_changes", + "duration_estimate_hours", "legacy_auth_custom_roles", "extension_dependent_objects" ] @@ -4333,20 +4253,17 @@ "summary": "[Beta] Gets the latest status of the project's upgrade", "parameters": [ { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", + "name": "tracking_id", + "required": false, + "in": "query", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } }, { - "name": "tracking_id", - "required": false, - "in": "query", + "name": "ref", + "required": true, + "in": "path", "schema": { "type": "string" } @@ -4361,63 +4278,53 @@ "type": "object", "properties": { "databaseUpgradeStatus": { - "nullable": true, - "allOf": [ - { - "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" + "type": "object", + "properties": { + "initiated_at": { + "type": "string" + }, + "latest_status_at": { + "type": "string" + }, + "target_version": { + "type": "number" + }, + "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" ] + }, + "status": { + "type": "number" } - ] + }, + "required": ["initiated_at", "latest_status_at", "target_version", "status"], + "nullable": true } }, "required": ["databaseUpgradeStatus"] @@ -4480,6 +4387,9 @@ } } }, + "403": { + "description": "" + }, "500": { "description": "Failed to get project readonly mode status" } @@ -4513,6 +4423,9 @@ "201": { "description": "" }, + "403": { + "description": "" + }, "500": { "description": "Failed to disable project's readonly mode" } @@ -4534,10 +4447,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -4608,10 +4518,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -4961,6 +4868,9 @@ } } } + }, + "403": { + "description": "" } }, "tags": ["Auth"], @@ -5391,6 +5301,9 @@ } } }, + "403": { + "description": "" + }, "500": { "description": "Failed to retrieve project's Postgres config" } @@ -5671,6 +5584,9 @@ } } }, + "403": { + "description": "" + }, "500": { "description": "Failed to retrieve project's pgbouncer config" } @@ -5680,7 +5596,7 @@ }, "/v1/projects/{ref}/config/database/pooler": { "get": { - "operationId": "v1-get-supavisor-config", + "operationId": "getSupavisorConfig", "summary": "Gets project's supavisor config", "parameters": [ { @@ -5712,6 +5628,11 @@ "db_port": { "type": "integer" }, + "connectionString": { + "type": "string", + "deprecated": true, + "description": "Use connection_string instead" + }, "default_pool_size": { "type": "integer", "nullable": true @@ -5720,6 +5641,10 @@ "type": "integer", "nullable": true }, + "pool_mode": { + "enum": ["transaction", "session"], + "type": "string" + }, "identifier": { "type": "string" }, @@ -5735,30 +5660,23 @@ "db_name": { "type": "string" }, - "connectionString": { - "type": "string" - }, "connection_string": { "type": "string" - }, - "pool_mode": { - "enum": ["transaction", "session"], - "type": "string" } }, "required": [ "database_type", "db_port", + "connectionString", "default_pool_size", "max_client_conn", + "pool_mode", "identifier", "is_using_scram_auth", "db_user", "db_host", "db_name", - "connectionString", - "connection_string", - "pool_mode" + "connection_string" ] } } @@ -5777,7 +5695,7 @@ ] }, "patch": { - "operationId": "v1-update-supavisor-config", + "operationId": "updateSupavisorConfig", "summary": "Updates project's supavisor config", "parameters": [ { @@ -5808,7 +5726,8 @@ "pool_mode": { "enum": ["transaction", "session"], "type": "string", - "description": "Dedicated pooler mode for the project" + "description": "Dedicated pooler mode for the project", + "deprecated": true } } } @@ -8301,7 +8220,7 @@ }, "get": { "operationId": "listTPAForProject", - "summary": "[Alpha] Lists all third-party auth integrations", + "summary": "Lists all third-party auth integrations", "parameters": [ { "name": "ref", @@ -8379,7 +8298,7 @@ "/v1/projects/{ref}/config/auth/third-party-auth/{tpa_id}": { "delete": { "operationId": "deleteTPAForProject", - "summary": "[Alpha] Removes a third-party auth integration", + "summary": "Removes a third-party auth integration", "parameters": [ { "name": "ref", @@ -8460,7 +8379,7 @@ }, "get": { "operationId": "getTPAForProject", - "summary": "[Alpha] Get a third-party integration", + "summary": "Get a third-party integration", "parameters": [ { "name": "ref", @@ -8703,6 +8622,427 @@ ] } }, + "/v1/projects/{ref}/billing/addons": { + "get": { + "operationId": "v1-list-project-addons", + "summary": "Lists project addons", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "selected_addons": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "custom_domain", + "compute_instance", + "pitr", + "ipv4", + "auth_mfa_phone", + "auth_mfa_web_authn", + "log_drain" + ] + }, + "variant": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge" + ] + }, + { + "type": "string", + "enum": ["cd_default"] + }, + { + "type": "string", + "enum": ["pitr_7", "pitr_14", "pitr_28"] + }, + { + "type": "string", + "enum": ["ipv4_default"] + }, + { + "type": "string", + "enum": ["auth_mfa_phone_default"] + }, + { + "type": "string", + "enum": ["auth_mfa_web_authn_default"] + }, + { + "type": "string", + "enum": ["log_drain_default"] + } + ] + }, + "name": { + "type": "string" + }, + "price": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "type": { + "type": "string", + "enum": ["fixed", "usage"] + }, + "interval": { + "type": "string", + "enum": ["monthly", "hourly"] + }, + "amount": { + "type": "number" + } + }, + "required": ["description", "type", "interval", "amount"] + }, + "meta": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + } + }, + "required": ["id", "name", "price"] + } + }, + "required": ["type", "variant"] + } + }, + "available_addons": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "custom_domain", + "compute_instance", + "pitr", + "ipv4", + "auth_mfa_phone", + "auth_mfa_web_authn", + "log_drain" + ] + }, + "name": { + "type": "string" + }, + "variants": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge" + ] + }, + { + "type": "string", + "enum": ["cd_default"] + }, + { + "type": "string", + "enum": ["pitr_7", "pitr_14", "pitr_28"] + }, + { + "type": "string", + "enum": ["ipv4_default"] + }, + { + "type": "string", + "enum": ["auth_mfa_phone_default"] + }, + { + "type": "string", + "enum": ["auth_mfa_web_authn_default"] + }, + { + "type": "string", + "enum": ["log_drain_default"] + } + ] + }, + "name": { + "type": "string" + }, + "price": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "type": { + "type": "string", + "enum": ["fixed", "usage"] + }, + "interval": { + "type": "string", + "enum": ["monthly", "hourly"] + }, + "amount": { + "type": "number" + } + }, + "required": ["description", "type", "interval", "amount"] + }, + "meta": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + } + }, + "required": ["id", "name", "price"] + } + } + }, + "required": ["type", "name", "variants"] + } + } + }, + "required": ["selected_addons", "available_addons"] + } + } + } + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to list project addons" + } + }, + "security": [ + { + "bearer": [] + } + ] + }, + "patch": { + "operationId": "v1-apply-project-addon", + "summary": "Applies project addon", + "parameters": [ + { + "name": "ref", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "addon_variant": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge" + ] + }, + { + "type": "string", + "enum": ["cd_default"] + }, + { + "type": "string", + "enum": ["pitr_7", "pitr_14", "pitr_28"] + }, + { + "type": "string", + "enum": ["ipv4_default"] + } + ] + }, + "addon_type": { + "type": "string", + "enum": [ + "custom_domain", + "compute_instance", + "pitr", + "ipv4", + "auth_mfa_phone", + "auth_mfa_web_authn", + "log_drain" + ] + } + }, + "required": ["addon_variant", "addon_type"] + } + } + } + }, + "responses": { + "200": { + "description": "" + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to apply project addon" + } + }, + "security": [ + { + "bearer": [] + } + ] + } + }, + "/v1/projects/{ref}/billing/addons/{addon_variant}": { + "delete": { + "operationId": "v1-remove-project-addon", + "summary": "Removes project addon", + "parameters": [ + { + "name": "addon_variant", + "required": true, + "in": "path", + "schema": { + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge", + "cd_default", + "pitr_7", + "pitr_14", + "pitr_28", + "ipv4_default" + ], + "type": "string" + } + }, + { + "name": "ref", + "required": true, + "in": "path", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "" + }, + "403": { + "description": "" + }, + "500": { + "description": "Failed to remove project addon" + } + }, + "security": [ + { + "bearer": [] + } + ] + } + }, "/v1/projects/{ref}/analytics/endpoints/logs.all": { "get": { "operationId": "getLogs", @@ -8823,10 +9163,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -8839,7 +9176,8 @@ "type": "object", "properties": { "query": { - "type": "string" + "type": "string", + "minLength": 1 } }, "required": ["query"] @@ -8987,10 +9325,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -9005,17 +9340,6 @@ "items": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, - "updated_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, @@ -9026,8 +9350,17 @@ "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "updated_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -9043,13 +9376,13 @@ } }, "required": [ - "version", - "created_at", - "updated_at", "id", "slug", "name", - "status" + "status", + "version", + "created_at", + "updated_at" ] } } @@ -9077,31 +9410,27 @@ "deprecated": true, "parameters": [ { - "name": "ref", - "required": true, - "in": "path", - "description": "Project ref", + "name": "import_map_path", + "required": false, + "in": "query", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } }, { - "name": "slug", + "name": "entrypoint_path", "required": false, "in": "query", "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } }, { - "name": "name", + "name": "import_map", "required": false, "in": "query", "schema": { - "type": "string" + "type": "boolean" } }, { @@ -9113,15 +9442,15 @@ } }, { - "name": "import_map", + "name": "name", "required": false, "in": "query", "schema": { - "type": "boolean" + "type": "string" } }, { - "name": "entrypoint_path", + "name": "slug", "required": false, "in": "query", "schema": { @@ -9129,9 +9458,9 @@ } }, { - "name": "import_map_path", - "required": false, - "in": "query", + "name": "ref", + "required": true, + "in": "path", "schema": { "type": "string" } @@ -9146,7 +9475,7 @@ "properties": { "slug": { "type": "string", - "pattern": "/^[A-Za-z0-9_-]+$/" + "pattern": "^[A-Za-z0-9_-]+$" }, "name": { "type": "string" @@ -9167,7 +9496,7 @@ "properties": { "slug": { "type": "string", - "pattern": "/^[A-Za-z0-9_-]+$/" + "pattern": "^[A-Za-z0-9_-]+$" }, "name": { "type": "string" @@ -9192,17 +9521,6 @@ "schema": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, - "updated_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, @@ -9213,8 +9531,17 @@ "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "updated_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -9230,13 +9557,13 @@ } }, "required": [ - "version", - "created_at", - "updated_at", "id", "slug", "name", - "status" + "status", + "version", + "created_at", + "updated_at" ] } } @@ -9265,10 +9592,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -9282,25 +9606,25 @@ "items": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, "slug": { - "type": "string" + "type": "string", + "pattern": "^[A-Za-z0-9_-]+$" }, "name": { "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -9315,7 +9639,7 @@ "type": "string" } }, - "required": ["version", "id", "slug", "name", "status"] + "required": ["id", "slug", "name", "status", "version"] } } } @@ -9334,17 +9658,6 @@ "items": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, - "updated_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, @@ -9355,8 +9668,17 @@ "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "updated_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -9372,13 +9694,13 @@ } }, "required": [ - "version", - "created_at", - "updated_at", "id", "slug", "name", - "status" + "status", + "version", + "created_at", + "updated_at" ] } } @@ -9410,14 +9732,11 @@ "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", + "name": "bundleOnly", + "required": false, + "in": "query", "schema": { - "minLength": 20, - "maxLength": 20, - "type": "string" + "type": "boolean" } }, { @@ -9425,16 +9744,15 @@ "required": false, "in": "query", "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } }, { - "name": "bundleOnly", - "required": false, - "in": "query", + "name": "ref", + "required": true, + "in": "path", "schema": { - "type": "boolean" + "type": "string" } } ], @@ -9477,7 +9795,7 @@ "required": ["entrypoint_path"] } }, - "required": ["file", "metadata"] + "required": ["metadata"] } } } @@ -9490,17 +9808,6 @@ "schema": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, - "updated_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, @@ -9511,8 +9818,17 @@ "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "updated_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -9527,7 +9843,7 @@ "type": "string" } }, - "required": ["version", "id", "slug", "name", "status"] + "required": ["id", "slug", "name", "status", "version"] } } } @@ -9554,23 +9870,19 @@ "description": "Retrieves a function with the specified slug and project.", "parameters": [ { - "name": "ref", + "name": "function_slug", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, + "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, { - "name": "function_slug", + "name": "ref", "required": true, "in": "path", - "description": "Function slug", "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } } @@ -9583,17 +9895,6 @@ "schema": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, - "updated_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, @@ -9604,8 +9905,17 @@ "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "updated_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -9621,13 +9931,13 @@ } }, "required": [ - "version", - "created_at", - "updated_at", "id", "slug", "name", - "status" + "status", + "version", + "created_at", + "updated_at" ] } } @@ -9653,41 +9963,27 @@ "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", + "name": "import_map_path", + "required": false, + "in": "query", "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } }, { - "name": "slug", + "name": "entrypoint_path", "required": false, "in": "query", "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } }, { - "name": "name", + "name": "import_map", "required": false, "in": "query", "schema": { - "type": "string" + "type": "boolean" } }, { @@ -9699,25 +9995,26 @@ } }, { - "name": "import_map", + "name": "name", "required": false, "in": "query", "schema": { - "type": "boolean" + "type": "string" } }, { - "name": "entrypoint_path", - "required": false, - "in": "query", + "name": "function_slug", + "required": true, + "in": "path", "schema": { + "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, { - "name": "import_map_path", - "required": false, - "in": "query", + "name": "ref", + "required": true, + "in": "path", "schema": { "type": "string" } @@ -9768,17 +10065,6 @@ "schema": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, - "updated_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, @@ -9789,8 +10075,17 @@ "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "updated_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -9806,13 +10101,13 @@ } }, "required": [ - "version", - "created_at", - "updated_at", "id", "slug", "name", - "status" + "status", + "version", + "created_at", + "updated_at" ] } } @@ -9838,23 +10133,19 @@ "description": "Deletes a function with the specified slug from the specified project.", "parameters": [ { - "name": "ref", + "name": "function_slug", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, + "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, { - "name": "function_slug", + "name": "ref", "required": true, "in": "path", - "description": "Function slug", "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } } @@ -9885,23 +10176,19 @@ "description": "Retrieves a function body for the specified slug and project.", "parameters": [ { - "name": "ref", + "name": "function_slug", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, + "pattern": "^[A-Za-z0-9_-]+$", "type": "string" } }, { - "name": "function_slug", + "name": "ref", "required": true, "in": "path", - "description": "Function slug", "schema": { - "pattern": "/^[A-Za-z0-9_-]+$/", "type": "string" } } @@ -10922,6 +11209,9 @@ } } }, + "403": { + "description": "" + }, "500": { "description": "Failed to get backups" } @@ -10943,10 +11233,7 @@ "name": "ref", "required": true, "in": "path", - "description": "Project ref", "schema": { - "minLength": 20, - "maxLength": 20, "type": "string" } } @@ -10972,6 +11259,9 @@ "responses": { "201": { "description": "" + }, + "403": { + "description": "" } }, "tags": ["Database"], @@ -11027,6 +11317,9 @@ } } } + }, + "403": { + "description": "" } }, "tags": ["Organizations"], @@ -11088,6 +11381,9 @@ } } } + }, + "403": { + "description": "" } }, "tags": ["Organizations"], @@ -11111,6 +11407,18 @@ "BranchDetailResponse": { "type": "object", "properties": { + "ref": { + "type": "string" + }, + "postgres_version": { + "type": "string" + }, + "postgres_engine": { + "type": "string" + }, + "release_channel": { + "type": "string" + }, "status": { "type": "string", "enum": [ @@ -11131,24 +11439,12 @@ "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_port": { + "type": "number" + }, "db_user": { "type": "string" }, @@ -11160,29 +11456,29 @@ } }, "required": [ - "status", - "db_port", "ref", "postgres_version", "postgres_engine", "release_channel", - "db_host" + "status", + "db_host", + "db_port" ] }, "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" }, + "reset_on_push": { + "type": "boolean", + "description": "This field is deprecated and will be ignored. Use v1-reset-a-branch endpoint directly instead.", + "deprecated": true + }, "persistent": { "type": "boolean" }, @@ -11202,26 +11498,6 @@ "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" }, @@ -11240,9 +11516,29 @@ "git_branch": { "type": "string" }, + "pr_number": { + "type": "integer", + "format": "int32" + }, + "latest_check_run_id": { + "type": "number", + "description": "This field is deprecated and will not be populated.", + "deprecated": true + }, "persistent": { "type": "boolean" }, + "status": { + "type": "string", + "enum": [ + "CREATING_PROJECT", + "RUNNING_MIGRATIONS", + "MIGRATIONS_PASSED", + "MIGRATIONS_FAILED", + "FUNCTIONS_DEPLOYED", + "FUNCTIONS_FAILED" + ] + }, "created_at": { "type": "string" }, @@ -11251,13 +11547,13 @@ } }, "required": [ - "status", "id", "name", "project_ref", "parent_project_ref", "is_default", "persistent", + "status", "created_at", "updated_at" ] @@ -11266,7 +11562,8 @@ "type": "object", "properties": { "message": { - "type": "string" + "type": "string", + "enum": ["ok"] } }, "required": ["message"] @@ -11278,7 +11575,8 @@ "type": "string" }, "message": { - "type": "string" + "type": "string", + "enum": ["ok"] } }, "required": ["workflow_run_id", "message"] @@ -11525,11 +11823,12 @@ "type": "object", "properties": { "grant_type": { - "enum": ["authorization_code", "refresh_token"], - "type": "string" + "type": "string", + "enum": ["authorization_code", "refresh_token"] }, "client_id": { - "type": "string" + "type": "string", + "format": "uuid" }, "client_secret": { "type": "string" @@ -11547,27 +11846,28 @@ "type": "string" } }, - "required": ["grant_type", "client_id", "client_secret"] + "required": ["grant_type"], + "additionalProperties": false }, "OAuthTokenResponse": { "type": "object", "properties": { - "expires_in": { - "type": "integer", - "format": "int64" - }, - "token_type": { - "type": "string", - "enum": ["Bearer"] - }, "access_token": { "type": "string" }, "refresh_token": { "type": "string" + }, + "expires_in": { + "type": "integer" + }, + "token_type": { + "type": "string", + "enum": ["Bearer"] } }, - "required": ["expires_in", "token_type", "access_token", "refresh_token"] + "required": ["access_token", "refresh_token", "expires_in", "token_type"], + "additionalProperties": false }, "OAuthRevokeTokenBodyDto": { "type": "object", @@ -11895,23 +12195,9 @@ "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" }, @@ -11922,6 +12208,11 @@ "type": "string", "nullable": true }, + "type": { + "type": "string", + "enum": ["publishable", "secret", "legacy"], + "nullable": true + }, "prefix": { "type": "string", "nullable": true @@ -11935,25 +12226,24 @@ "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [ - { - "type": "object", - "properties": { - "role": { - "type": "string" - } - }, - "required": ["role"] + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 } - ] + }, + "required": ["role"], + "nullable": true }, "inserted_at": { "type": "string", + "format": "date-time", "nullable": true }, "updated_at": { "type": "string", + "format": "date-time", "nullable": true } }, @@ -11963,26 +12253,23 @@ "type": "object", "properties": { "type": { - "enum": ["publishable", "secret"], - "type": "string" + "type": "string", + "enum": ["publishable", "secret"] }, "description": { "type": "string", "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [ - { - "type": "object", - "properties": { - "role": { - "type": "string" - } - }, - "required": ["role"] + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 } - ] + }, + "required": ["role"], + "nullable": true } }, "required": ["type"] @@ -11995,51 +12282,38 @@ "nullable": true }, "secret_jwt_template": { - "nullable": true, - "allOf": [ - { - "type": "object", - "properties": { - "role": { - "type": "string" - } - }, - "required": ["role"] + "type": "object", + "properties": { + "role": { + "type": "string", + "minLength": 1 } - ] + }, + "required": ["role"], + "nullable": true } } }, - "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": { + "branch_name": { + "type": "string", + "minLength": 1 + }, + "git_branch": { + "type": "string" + }, + "persistent": { + "type": "boolean" + }, + "region": { + "type": "string" + }, "desired_instance_size": { "type": "string", "enum": [ + "nano", "micro", "small", "medium", @@ -12054,24 +12328,13 @@ }, "release_channel": { "type": "string", - "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] + "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"], + "description": "Release channel. If not provided, GA will be used." }, "postgres_engine": { "type": "string", - "description": "Postgres engine version. If not provided, the latest version will be used.", - "enum": ["15", "17-oriole"] - }, - "branch_name": { - "type": "string" - }, - "git_branch": { - "type": "string" - }, - "persistent": { - "type": "boolean" - }, - "region": { - "type": "string" + "enum": ["15", "17-oriole"], + "description": "Postgres engine version. If not provided, the latest version will be used." } }, "required": ["branch_name"] @@ -12488,29 +12751,12 @@ }, "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" + "type": "string", + "enum": ["disallowed", "allowed"] }, "config": { "type": "object", @@ -12527,7 +12773,8 @@ "type": "string" } } - } + }, + "description": "At any given point in time, this is the config that the user has requested be applied to their project. The `status` field indicates if it has been applied to the project, or is pending. When an updated config is received, the applied config is moved to `old_config`." }, "old_config": { "type": "object", @@ -12544,15 +12791,33 @@ "type": "string" } } - } + }, + "description": "Populated when a new config has been received, but not registered as successfully applied to a project." }, "status": { - "enum": ["stored", "applied"], - "type": "string" + "type": "string", + "enum": ["stored", "applied"] } }, "required": ["entitlement", "config", "status"] }, + "NetworkRestrictionsRequest": { + "type": "object", + "properties": { + "dbAllowedCidrs": { + "type": "array", + "items": { + "type": "string" + } + }, + "dbAllowedCidrsV6": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, "PgsodiumConfigResponse": { "type": "object", "properties": { @@ -12574,29 +12839,35 @@ "PostgrestConfigWithJWTSecretResponse": { "type": "object", "properties": { + "db_schema": { + "type": "string" + }, "max_rows": { "type": "integer" }, + "db_extra_search_path": { + "type": "string" + }, "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"] + "required": ["db_schema", "max_rows", "db_extra_search_path", "db_pool"] }, "UpdatePostgrestConfigBody": { "type": "object", "properties": { + "db_extra_search_path": { + "type": "string" + }, + "db_schema": { + "type": "string" + }, "max_rows": { "type": "integer", "minimum": 0, @@ -12606,34 +12877,28 @@ "type": "integer", "minimum": 0, "maximum": 1000 - }, - "db_extra_search_path": { - "type": "string" - }, - "db_schema": { - "type": "string" } } }, "V1PostgrestConfigResponse": { "type": "object", "properties": { + "db_schema": { + "type": "string" + }, "max_rows": { "type": "integer" }, + "db_extra_search_path": { + "type": "string" + }, "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"] + "required": ["db_schema", "max_rows", "db_extra_search_path", "db_pool"] }, "V1ProjectRefResponse": { "type": "object", @@ -12672,7 +12937,7 @@ "name": { "type": "string", "maxLength": 256, - "pattern": "/^(?!SUPABASE_).*/", + "pattern": "^(?!SUPABASE_).*", "description": "Secret name must not start with the SUPABASE_ prefix.", "example": "string" }, @@ -12683,15 +12948,6 @@ }, "required": ["name", "value"] }, - "SslEnforcements": { - "type": "object", - "properties": { - "database": { - "type": "boolean" - } - }, - "required": ["database"] - }, "SslEnforcementResponse": { "type": "object", "properties": { @@ -12738,8 +12994,8 @@ "type": "object", "properties": { "status": { - "enum": ["not-used", "custom-domain-used", "active"], - "type": "string" + "type": "string", + "enum": ["not-used", "custom-domain-used", "active"] }, "custom_domain": { "type": "string" @@ -12777,15 +13033,15 @@ "UpgradeDatabaseBody": { "type": "object", "properties": { + "target_version": { + "type": "string" + }, "release_channel": { "type": "string", "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] - }, - "target_version": { - "type": "string" } }, - "required": ["release_channel", "target_version"] + "required": ["target_version"] }, "ProjectUpgradeInitiateResponse": { "type": "object", @@ -12796,40 +13052,19 @@ }, "required": ["tracking_id"] }, - "ProjectVersion": { - "type": "object", - "properties": { - "postgres_version": { - "type": "string", - "description": "Postgres engine version. If not provided, the latest version will be used.", - "enum": ["15", "17-oriole"] - }, - "release_channel": { - "type": "string", - "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] - }, - "app_version": { - "type": "string" - } - }, - "required": ["postgres_version", "release_channel", "app_version"] - }, "ProjectUpgradeEligibilityResponse": { "type": "object", "properties": { - "current_app_version_release_channel": { - "type": "string", - "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] - }, - "duration_estimate_hours": { - "type": "integer" - }, "eligible": { "type": "boolean" }, "current_app_version": { "type": "string" }, + "current_app_version_release_channel": { + "type": "string", + "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] + }, "latest_app_version": { "type": "string" }, @@ -12840,7 +13075,6 @@ "properties": { "postgres_version": { "type": "string", - "description": "Postgres engine version. If not provided, the latest version will be used.", "enum": ["15", "17-oriole"] }, "release_channel": { @@ -12860,6 +13094,9 @@ "type": "string" } }, + "duration_estimate_hours": { + "type": "number" + }, "legacy_auth_custom_roles": { "type": "array", "items": { @@ -12874,122 +13111,68 @@ } }, "required": [ - "current_app_version_release_channel", - "duration_estimate_hours", "eligible", "current_app_version", + "current_app_version_release_channel", "latest_app_version", "target_upgrade_versions", "potential_breaking_changes", + "duration_estimate_hours", "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": [ - { - "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"] + "type": "object", + "properties": { + "initiated_at": { + "type": "string" + }, + "latest_status_at": { + "type": "string" + }, + "target_version": { + "type": "number" + }, + "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" + ] + }, + "status": { + "type": "number" } - ] + }, + "required": ["initiated_at", "latest_status_at", "target_version", "status"], + "nullable": true } }, "required": ["databaseUpgradeStatus"] @@ -13526,6 +13709,11 @@ "db_port": { "type": "integer" }, + "connectionString": { + "type": "string", + "deprecated": true, + "description": "Use connection_string instead" + }, "default_pool_size": { "type": "integer", "nullable": true @@ -13534,6 +13722,10 @@ "type": "integer", "nullable": true }, + "pool_mode": { + "enum": ["transaction", "session"], + "type": "string" + }, "identifier": { "type": "string" }, @@ -13549,30 +13741,23 @@ "db_name": { "type": "string" }, - "connectionString": { - "type": "string" - }, "connection_string": { "type": "string" - }, - "pool_mode": { - "enum": ["transaction", "session"], - "type": "string" } }, "required": [ "database_type", "db_port", + "connectionString", "default_pool_size", "max_client_conn", + "pool_mode", "identifier", "is_using_scram_auth", "db_user", "db_host", "db_name", - "connectionString", - "connection_string", - "pool_mode" + "connection_string" ] }, "UpdateSupavisorConfigBody": { @@ -13587,7 +13772,8 @@ "pool_mode": { "enum": ["transaction", "session"], "type": "string", - "description": "Dedicated pooler mode for the project" + "description": "Dedicated pooler mode for the project", + "deprecated": true } } }, @@ -15080,43 +15266,334 @@ "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": { + "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": { + "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"] + } + } + }, + "required": ["available_versions"] + }, + "RestoreProjectBodyDto": { + "type": "object", + "properties": {}, + "hideDefinitions": ["release_channel", "postgres_engine"] + }, + "ListProjectAddonsResponseDto": { + "type": "object", + "properties": { + "selected_addons": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "custom_domain", + "compute_instance", + "pitr", + "ipv4", + "auth_mfa_phone", + "auth_mfa_web_authn", + "log_drain" + ] + }, + "variant": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge" + ] + }, + { + "type": "string", + "enum": ["cd_default"] + }, + { + "type": "string", + "enum": ["pitr_7", "pitr_14", "pitr_28"] + }, + { + "type": "string", + "enum": ["ipv4_default"] + }, + { + "type": "string", + "enum": ["auth_mfa_phone_default"] + }, + { + "type": "string", + "enum": ["auth_mfa_web_authn_default"] + }, + { + "type": "string", + "enum": ["log_drain_default"] + } + ] + }, + "name": { + "type": "string" + }, + "price": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "type": { + "type": "string", + "enum": ["fixed", "usage"] + }, + "interval": { + "type": "string", + "enum": ["monthly", "hourly"] + }, + "amount": { + "type": "number" + } + }, + "required": ["description", "type", "interval", "amount"] + }, + "meta": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + } + }, + "required": ["id", "name", "price"] + } + }, + "required": ["type", "variant"] + } + }, + "available_addons": { "type": "array", "items": { "type": "object", "properties": { - "version": { - "type": "string" - }, - "release_channel": { + "type": { "type": "string", - "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] + "enum": [ + "custom_domain", + "compute_instance", + "pitr", + "ipv4", + "auth_mfa_phone", + "auth_mfa_web_authn", + "log_drain" + ] }, - "postgres_engine": { - "type": "string", - "enum": ["13", "14", "15", "17", "17-oriole"] + "name": { + "type": "string" + }, + "variants": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge" + ] + }, + { + "type": "string", + "enum": ["cd_default"] + }, + { + "type": "string", + "enum": ["pitr_7", "pitr_14", "pitr_28"] + }, + { + "type": "string", + "enum": ["ipv4_default"] + }, + { + "type": "string", + "enum": ["auth_mfa_phone_default"] + }, + { + "type": "string", + "enum": ["auth_mfa_web_authn_default"] + }, + { + "type": "string", + "enum": ["log_drain_default"] + } + ] + }, + "name": { + "type": "string" + }, + "price": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "type": { + "type": "string", + "enum": ["fixed", "usage"] + }, + "interval": { + "type": "string", + "enum": ["monthly", "hourly"] + }, + "amount": { + "type": "number" + } + }, + "required": ["description", "type", "interval", "amount"] + }, + "meta": { + "type": "object", + "additionalProperties": { + "oneOf": [ + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + } + } + }, + "required": ["id", "name", "price"] + } } }, - "required": ["version", "release_channel", "postgres_engine"] + "required": ["type", "name", "variants"] } } }, - "required": ["available_versions"] + "required": ["selected_addons", "available_addons"] }, - "RestoreProjectBodyDto": { + "ApplyProjectAddonBodyDto": { "type": "object", - "properties": {}, - "hideDefinitions": ["release_channel", "postgres_engine"] + "properties": { + "addon_variant": { + "oneOf": [ + { + "type": "string", + "enum": [ + "ci_micro", + "ci_small", + "ci_medium", + "ci_large", + "ci_xlarge", + "ci_2xlarge", + "ci_4xlarge", + "ci_8xlarge", + "ci_12xlarge", + "ci_16xlarge" + ] + }, + { + "type": "string", + "enum": ["cd_default"] + }, + { + "type": "string", + "enum": ["pitr_7", "pitr_14", "pitr_28"] + }, + { + "type": "string", + "enum": ["ipv4_default"] + } + ] + }, + "addon_type": { + "type": "string", + "enum": [ + "custom_domain", + "compute_instance", + "pitr", + "ipv4", + "auth_mfa_phone", + "auth_mfa_web_authn", + "log_drain" + ] + } + }, + "required": ["addon_variant", "addon_type"] }, "V1AnalyticsResponse": { "type": "object", @@ -15175,7 +15652,8 @@ "type": "object", "properties": { "query": { - "type": "string" + "type": "string", + "minLength": 1 } }, "required": ["query"] @@ -15215,17 +15693,6 @@ "FunctionResponse": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, - "updated_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, @@ -15236,8 +15703,17 @@ "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "updated_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -15252,14 +15728,14 @@ "type": "string" } }, - "required": ["version", "created_at", "updated_at", "id", "slug", "name", "status"] + "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] }, "V1CreateFunctionBody": { "type": "object", "properties": { "slug": { "type": "string", - "pattern": "/^[A-Za-z0-9_-]+$/" + "pattern": "^[A-Za-z0-9_-]+$" }, "name": { "type": "string" @@ -15276,25 +15752,25 @@ "BulkUpdateFunctionBody": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, "slug": { - "type": "string" + "type": "string", + "pattern": "^[A-Za-z0-9_-]+$" }, "name": { "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -15309,7 +15785,7 @@ "type": "string" } }, - "required": ["version", "id", "slug", "name", "status"] + "required": ["id", "slug", "name", "status", "version"] }, "BulkUpdateFunctionResponse": { "type": "object", @@ -15319,17 +15795,6 @@ "items": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, - "updated_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, @@ -15340,8 +15805,17 @@ "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "updated_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -15356,36 +15830,12 @@ "type": "string" } }, - "required": ["version", "created_at", "updated_at", "id", "slug", "name", "status"] + "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] } } }, "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": { @@ -15421,22 +15871,11 @@ "required": ["entrypoint_path"] } }, - "required": ["file", "metadata"] + "required": ["metadata"] }, "DeployFunctionResponse": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, - "updated_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, @@ -15447,8 +15886,17 @@ "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "updated_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -15463,22 +15911,11 @@ "type": "string" } }, - "required": ["version", "id", "slug", "name", "status"] + "required": ["id", "slug", "name", "status", "version"] }, "FunctionSlugResponse": { "type": "object", "properties": { - "version": { - "type": "integer" - }, - "created_at": { - "type": "integer", - "format": "int64" - }, - "updated_at": { - "type": "integer", - "format": "int64" - }, "id": { "type": "string" }, @@ -15489,8 +15926,17 @@ "type": "string" }, "status": { - "enum": ["ACTIVE", "REMOVED", "THROTTLED"], - "type": "string" + "type": "string", + "enum": ["ACTIVE", "REMOVED", "THROTTLED"] + }, + "version": { + "type": "integer" + }, + "created_at": { + "type": "integer" + }, + "updated_at": { + "type": "integer" }, "verify_jwt": { "type": "boolean" @@ -15505,7 +15951,7 @@ "type": "string" } }, - "required": ["version", "created_at", "updated_at", "id", "slug", "name", "status"] + "required": ["id", "slug", "name", "status", "version", "created_at", "updated_at"] }, "V1UpdateFunctionBody": { "type": "object", @@ -16519,6 +16965,10 @@ "type": "string", "enum": ["free", "pro", "team", "enterprise"] }, + "ReleaseChannel": { + "type": "string", + "enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"] + }, "V1OrganizationSlugResponse": { "type": "object", "properties": {