Files
supabase/spec/api_v0_openapi.json

6548 lines
206 KiB
JSON

{
"openapi": "3.0.0",
"paths": {
"/platform/login": {
"get": {
"operationId": "LoginController_redirectToDashboardHomepage",
"summary": "Redirects to dashboard homepage",
"parameters": [],
"responses": { "200": { "description": "" } }
}
},
"/platform/notifications": {
"get": {
"operationId": "NotificationsController_getNotifications",
"summary": "Get notifications",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Notification" }
}
}
}
},
"500": { "description": "Failed to retrieve notifications" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "NotificationsController_updateNotifications",
"summary": "Update notifications",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateNotificationsBody"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Notification" }
}
}
}
},
"500": { "description": "Failed to update notifications" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/feedback/send": {
"post": {
"operationId": "SendFeedbackController_sendFeedback",
"summary": "Send feedback",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SendFeedbackBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to send feedback" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/users/{gotrue_id}/roles/{role_id}": {
"post": {
"operationId": "SubjectRoleController_assignRoleToSubject",
"summary": "Assigns the given role to the given subject",
"parameters": [
{
"name": "gotrue_id",
"required": true,
"in": "path",
"schema": { "type": "string" }
},
{
"name": "role_id",
"required": true,
"in": "path",
"schema": { "type": "string" }
}
],
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SubjectRoleParams" }
}
}
},
"500": {
"description": "Failed to assign the given role to the given subject"
}
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "SubjectRoleController_unassignRoleFromSubject",
"summary": "Unassigns the given role from the given subject",
"parameters": [
{
"name": "gotrue_id",
"required": true,
"in": "path",
"schema": { "type": "string" }
},
{
"name": "role_id",
"required": true,
"in": "path",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SubjectRoleParams" }
}
}
},
"500": {
"description": "Failed to unassign the given role from the given subject"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/auth/{ref}/config": {
"get": {
"operationId": "GoTrueConfigController_getGoTrueConfig",
"summary": "Gets GoTrue config",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetGoTrueConfigResponse"
}
}
}
},
"500": { "description": "Failed to retrieve GoTrue config" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "GoTrueConfigController_updateGoTrueConfig",
"summary": "Updates GoTrue config",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateGoTrueConfigBody"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/GoTrueConfig" }
}
}
},
"500": { "description": "Failed to update GoTrue config" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/auth/{ref}/invite": {
"post": {
"operationId": "InviteController_sendInvite",
"summary": "Sends an invite to the given email",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UserBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": {
"description": "Failed to send an invite to the given email"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/auth/{ref}/magiclink": {
"post": {
"operationId": "MagicLinkController_sendMagicLink",
"summary": "Sends a magic link to the given email",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UserBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": {
"description": "Failed to send a magic link to the given email"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/auth/{ref}/otp": {
"post": {
"operationId": "OtpController_sendOtp",
"summary": "Sends an OTP to the given phone number",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UserBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": {
"description": "Failed to send an OTP to the given phone number"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/auth/{ref}/recover": {
"post": {
"operationId": "RecoverController_sendRecover",
"summary": "Sends a recovery email to the given email",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UserBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": {
"description": "Failed to send a recovery email to the given email"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/auth/{ref}/templates/{template}": {
"get": {
"operationId": "TemplateController_getTemplate",
"summary": "Gets GoTrue template",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"schema": { "type": "string" }
},
{
"name": "template",
"required": true,
"in": "path",
"schema": {
"enum": [
"confirmation",
"email-change",
"invite",
"magic-link",
"recovery"
],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "string" } }
}
},
"500": { "description": "Failed to retrieve GoTrue template" }
}
}
},
"/platform/auth/{ref}/users": {
"get": {
"operationId": "UsersController_getUsers",
"summary": "Gets users",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "keywords",
"required": true,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "limit",
"required": true,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "offset",
"required": true,
"in": "query",
"schema": { "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"403": { "description": "" },
"500": { "description": "Failed to retrieve users" }
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "UsersController_deleteUser",
"summary": "Delete user with given ID",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UserBody" }
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to delete user" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/database/{ref}/backups": {
"get": {
"operationId": "BackupsController_getBackups",
"summary": "Gets project backups",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/BackupsResponse" }
}
}
},
"500": { "description": "Failed to get project backups" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/database/{ref}/backups/download": {
"post": {
"operationId": "BackupsController_downloadBackup",
"summary": "Download project backup",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/DownloadBackupBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DownloadBackupResponse"
}
}
}
},
"500": { "description": "Failed to download project backup" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/database/{ref}/backups/restore": {
"post": {
"operationId": "BackupsController_restoreBackup",
"summary": "Restore project backup",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/RestoreBackupBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to restore project backup" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/database/{ref}/backups/pitr": {
"post": {
"operationId": "BackupsController_restorePointInTimeBackup",
"summary": "Restore project to a previous point in time",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PointInTimeRestoreBody"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": {
"description": "Failed to restore project to a previous point in time"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/database/{ref}/hook-logs": {
"get": {
"operationId": "HooksController_getHookLogs",
"summary": "Gets hook logs with the given ID",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"schema": { "type": "number" }
},
{
"name": "limit",
"required": false,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "offset",
"required": false,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to get hook logs with the given ID" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/database/{ref}/hook-enable": {
"post": {
"operationId": "HooksController_enableHooks",
"summary": "Enables hooks on the project",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
}
],
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to enable hooks on the project" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations": {
"get": {
"operationId": "OrganizationsController_getOrganizations",
"summary": "Gets user's organizations",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Organization" }
}
}
}
},
"500": { "description": "Failed to retrieve user's organizations" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "OrganizationsController_createOrganization",
"summary": "Creates organization",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateOrganizationBody"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Organization" }
}
}
},
"500": { "description": "Failed to create organization" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}": {
"patch": {
"operationId": "OrganizationSlugController_updateOrganization",
"summary": "Updates organization",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateOrganizationBody"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Organization" }
}
}
},
"500": { "description": "Failed to update organization" }
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "OrganizationSlugController_deleteOrganization",
"summary": "Deletes organization",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/RemovedOrganization" }
}
}
},
"403": { "description": "" },
"500": { "description": "Failed to delete organization" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/customer": {
"get": {
"operationId": "CustomerController_getCustomer",
"summary": "Gets the Stripe customer",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to retrieve the Stripe customer" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "CustomerController_updateCustomer",
"summary": "Updates the Stripe customer",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to update the Stripe customer" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/members": {
"get": {
"operationId": "MembersController_getOrganizationMembers",
"summary": "Gets organization's members",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Member" }
}
}
}
},
"500": { "description": "Failed to retrieve organization's members" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/members/add": {
"post": {
"operationId": "MembersController_addMember",
"summary": "Adds an organization member",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/AddMemberBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to add an organization member" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/members/leave": {
"post": {
"operationId": "MembersController_leaveOrganization",
"summary": "Leaves the given organization",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to leave organization" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/members/remove": {
"delete": {
"operationId": "MembersController_removeMember",
"summary": "Leaves the given organization",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/RemoveMemberBody" }
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to leave organization" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/roles": {
"get": {
"operationId": "RolesController_addMember",
"summary": "Gets the given organization's roles",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": {
"description": "Failed to retrieve the organization's roles"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/tax-ids": {
"get": {
"operationId": "TaxIdsController_getTaxIds",
"summary": "Gets the given organization's tax IDs",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": {
"description": "Failed to retrieve the organization's tax IDs"
}
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "TaxIdsController_createTaxId",
"summary": "Creates a tax ID for the given organization",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreateTaxIdBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to create the tax ID" }
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "TaxIdsController_deleteTaxId",
"summary": "Delete the tax ID with the given ID",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/DeleteTaxIdBody" }
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to delete the tax ID" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/transfer": {
"post": {
"operationId": "TransferController_transferOrganization",
"summary": "Transfers the organization to the given member",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TransferOrganizationBody"
}
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to update owner" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/members/invite": {
"get": {
"operationId": "InviteController_getInvitedUsers",
"summary": "Gets invited users",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get invited users" }
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "InviteController_deleteInvitedUser",
"summary": "Delete invited user",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
},
{
"name": "invited_id",
"required": true,
"in": "query",
"schema": { "type": "number" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to delete invited user" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "InviteController_inviteUser",
"summary": "Invites user",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/InviteUserBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to invite user" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/members/join": {
"get": {
"operationId": "JoinController_getInvite",
"summary": "Gets invite",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
},
{
"name": "token",
"required": true,
"in": "query",
"schema": { "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get invite" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "JoinController_joinOrganization",
"summary": "Joins organization",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
},
{
"name": "token",
"required": true,
"in": "query",
"schema": { "type": "string" }
}
],
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to join organization" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/payments": {
"get": {
"operationId": "PaymentsController_getPaymentMethods",
"summary": "Gets Stripe payment methods for the given organization",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to get Stripe payment methods" }
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "PaymentsController_detachPaymentMethod",
"summary": "Detach Stripe payment method with the given card ID",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DetachPaymentMethodBody"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to detach Stripe payment method" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/organizations/{slug}/payments/setup-intent": {
"post": {
"operationId": "SetupIntentController_setUpPaymentMethod",
"summary": "Sets up a payment method",
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to set up a payment method" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/columns": {
"get": {
"operationId": "ColumnsController_getColumns",
"summary": "Gets project pg.columns",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get pg.columns" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "ColumnsController_createColumn",
"summary": "Creates project pg.column",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreateColumnBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to create pg.column" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "ColumnsController_updateColumn",
"summary": "Updates project pg.column with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Column ID",
"schema": { "pattern": {}, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdateColumnBody" }
}
}
},
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to update pg.column with the given ID"
}
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "ColumnsController_deleteColumn",
"summary": "Deletes project pg.column with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Column ID",
"schema": { "pattern": {}, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to delete pg.column with the given ID"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/extensions": {
"get": {
"operationId": "ExtensionsController_getExtensions",
"summary": "Gets project pg.extensions",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get pg.extensions" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "ExtensionsController_createExtension",
"summary": "Creates project pg.extension",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreateExtensionBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to create pg.extension" }
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "ExtensionsController_deleteExtension",
"summary": "Deletes project pg.extension with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Extension ID",
"schema": { "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to delete pg.extension with the given ID"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/functions": {
"get": {
"operationId": "FunctionsController_getFunctions",
"summary": "Gets project pg.functions",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get pg.functions" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "FunctionsController_createFunction",
"summary": "Creates project pg.function",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreateFunctionBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to create pg.function" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "FunctionsController_updateFunction",
"summary": "Updates project pg.function with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Function ID",
"schema": { "type": "number" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdateFunctionBody" }
}
}
},
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to update pg.function with the given ID"
}
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "FunctionsController_deleteFunction",
"summary": "Deletes project pg.function with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Function ID",
"schema": { "type": "number" }
}
],
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to delete pg.function with the given ID"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/policies": {
"get": {
"operationId": "PoliciesController_getPolicies",
"summary": "Gets project pg.policies",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get pg.policies" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "PoliciesController_createPolicy",
"summary": "Creates project pg.policy",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreatePolicyBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to create pg.policy" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "PoliciesController_updatePolicy",
"summary": "Updates project pg.policy with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Policy ID",
"schema": { "type": "number" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdatePolicyBody" }
}
}
},
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to update pg.policy with the given ID"
}
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "PoliciesController_deletePolicy",
"summary": "Deletes project pg.policy with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Policy ID",
"schema": { "type": "number" }
}
],
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to delete pg.policy with the given ID"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/publications": {
"get": {
"operationId": "PublicationsController_getPublications",
"summary": "Gets project pg.publications",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get pg.publications" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "PublicationsController_createPublication",
"summary": "Creates project pg.publication",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreatePublicationBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to create pg.publication" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "PublicationsController_updatePublication",
"summary": "Updates project pg.publication with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Publication ID",
"schema": { "type": "number" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdatePublicationBody" }
}
}
},
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to update pg.publication with the given ID"
}
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "PublicationsController_deletePublication",
"summary": "Deletes project pg.publication with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Publication ID",
"schema": { "type": "number" }
}
],
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to delete pg.publication with the given ID"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/query": {
"post": {
"operationId": "QueryController_runQuery",
"summary": "Run sql query",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/RunQueryBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to run sql query" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/query/format": {
"post": {
"operationId": "QueryController_formatQuery",
"summary": "Format sql query",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/FormatQueryBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "string" } }
}
},
"500": { "description": "Failed to format sql query" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/query/validate": {
"post": {
"operationId": "QueryController_validateQuery",
"summary": "Validate sql query",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ValidateQueryBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to validate sql query" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/roles": {
"get": {
"operationId": "RolesController_getRoles",
"summary": "Gets project pg.roles",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get pg.roles" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/search/tables": {
"post": {
"operationId": "SearchController_searchTables",
"summary": "Searches project pg.tables. Return maximum 50 results.",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SearchTableBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": { "type": "array", "items": { "type": "object" } }
}
}
},
"500": { "description": "Failed to search pg.tables" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/search/columns": {
"post": {
"operationId": "SearchController_searchColumns",
"summary": "Searches project pg.columns. Return maximum 50 results.",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SearchColumnBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": { "type": "array", "items": { "type": "object" } }
}
}
},
"500": { "description": "Failed to search pg.columns" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/schemas": {
"get": {
"operationId": "SchemasController_getSchemas",
"summary": "Gets project pg.schemas",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get pg.schemas" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "SchemasController_createSchema",
"summary": "Creates project pg.schema",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreateSchemaBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to create pg.schema" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "SchemasController_updateSchema",
"summary": "Updates project pg.schema with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Schema ID",
"schema": { "type": "number" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdateSchemaBody" }
}
}
},
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to update pg.schema with the given ID"
}
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "SchemasController_deleteSchema",
"summary": "Deletes project pg.schema with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Schema ID",
"schema": { "type": "number" }
}
],
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to delete pg.schema with the given ID"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/tables": {
"get": {
"operationId": "TablesController_getTables",
"summary": "Gets project pg.tables or pg.table with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": false,
"in": "query",
"description": "Table ID",
"schema": { "type": "number" }
}
],
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to get pg.tables or pg.table with the given ID"
}
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "TablesController_createTable",
"summary": "Creates project pg.table",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreateTableBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to create pg.table" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "TablesController_updateTable",
"summary": "Updates project pg.table with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Table ID",
"schema": { "type": "number" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdateTableBody" }
}
}
},
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to update pg.table with the given ID"
}
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "TablesController_deleteTable",
"summary": "Deletes project pg.table with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Table ID",
"schema": { "type": "number" }
}
],
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to delete pg.table with the given ID"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/triggers": {
"get": {
"operationId": "TriggersController_getTriggers",
"summary": "Gets project pg.triggers",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get pg.triggers" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "TriggersController_createTrigger",
"summary": "Creates project pg.trigger",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreateTriggerBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to create pg.trigger" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "TriggersController_updateTrigger",
"summary": "Updates project pg.trigger with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Trigger ID",
"schema": { "type": "number" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdateTriggerBody" }
}
}
},
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to update pg.trigger with the given ID"
}
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "TriggersController_deleteTrigger",
"summary": "Deletes project pg.trigger with the given ID",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"description": "Trigger ID",
"schema": { "type": "number" }
}
],
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to delete pg.trigger with the given ID"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/pg-meta/{ref}/types": {
"get": {
"operationId": "TypesController_getTypes",
"summary": "Gets project pg.types",
"parameters": [
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get pg.types" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/profile/access-tokens": {
"get": {
"operationId": "AccessTokensController_getAccessTokens",
"summary": "Gets the user's access tokens",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/AccessToken" }
}
}
}
},
"500": { "description": "Failed to get user's access tokens" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "AccessTokensController_createAccessToken",
"summary": "Creates a new access token",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreateAccessTokenBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateAccessTokenResponse"
}
}
}
},
"500": { "description": "Failed to create access token" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/profile/access-tokens/{id}": {
"get": {
"operationId": "AccessTokensController_getAccessToken",
"summary": "Gets the access token with the given ID",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "Access token ID",
"schema": { "type": "number" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/AccessToken" }
}
}
},
"500": { "description": "Failed to get access token" }
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "AccessTokensController_deleteAccessToken",
"summary": "Deletes the access token with the given ID",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"description": "Access token ID",
"schema": { "type": "number" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/AccessToken" }
}
}
},
"500": { "description": "Failed to delete access token" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/profile/search": {
"post": {
"operationId": "SearchProfileController_searchProfile",
"summary": "Search profiles by username, email with the given keywords",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SearchProfileBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Profile" }
}
}
}
},
"500": {
"description": "Failed to search profiles with the given keywords"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/profile/subscriptions": {
"get": {
"operationId": "SubscriptionsController_getSubscriptionsStatistics",
"summary": "Gets the user's subscription statistics",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SubscriptionStatisticsResponse"
}
}
}
},
"500": {
"description": "Failed to retrieve user's subscription statistics"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/profile/password-check": {
"post": {
"operationId": "PasswordCheckController_checkPassword",
"summary": "Check password strength",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/PasswordCheckBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PasswordCheckResponse"
}
}
}
},
"500": { "description": "Failed to check password strength" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/profile/permissions": {
"get": {
"operationId": "PermissionsController_getPermissions",
"summary": "Gets all the user's permissions",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/Permission" }
}
}
}
},
"500": { "description": "Failed to retrieve permissions" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/profile": {
"get": {
"operationId": "ProfileController_getProfile",
"summary": "Gets the user's profile",
"parameters": [
{
"name": "returning",
"required": true,
"in": "query",
"schema": { "enum": ["minimal"], "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ProfileResponse" }
}
}
},
"500": { "description": "Failed to retrieve user's profile" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/profile/update": {
"post": {
"operationId": "ProfileController_updateProfile",
"summary": "Update user's profile",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdateProfileBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ProfileResponse" }
}
}
},
"500": { "description": "Failed to update user's profile" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects": {
"get": {
"operationId": "ProjectsController_getProjects",
"summary": "Gets all projects that belong to the authenticated user",
"description": "Only returns the minimal project info",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
}
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "ProjectsController_createProject",
"summary": "Creates a project",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreateProjectBody" }
}
}
},
"responses": { "201": { "description": "" } },
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/daily-stats": {
"get": {
"operationId": "DailyStatsController_getDailyStats",
"summary": "Gets daily project stats",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "attribute",
"required": true,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "interval",
"required": true,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "endDate",
"required": true,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "startDate",
"required": true,
"in": "query",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to get daily project stats" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/db-password": {
"patch": {
"operationId": "DbPasswordController_updatePassword",
"summary": "Updates the database password",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdatePasswordBody" }
}
}
},
"responses": {
"200": { "description": "" },
"403": { "description": "" },
"500": { "description": "Failed to update database password" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/infra-monitoring": {
"get": {
"operationId": "InfraMonitoringController_getUsageMetrics",
"summary": "Gets project's usage metrics",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "attribute",
"required": true,
"in": "query",
"schema": {
"enum": ["cpu_usage", "disk_io_budget", "ram_usage"],
"type": "string"
}
},
{
"name": "startDate",
"required": true,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "endDate",
"required": true,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "interval",
"required": false,
"in": "query",
"schema": {
"enum": ["1m", "5m", "10m", "30m", "1h", "1d"],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to get project's usage metrics" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/invoices": {
"head": {
"operationId": "InvoicesController_getInvoiceCount",
"summary": "Gets project's invoice count",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get project's invoice count" }
},
"security": [{ "bearer": [] }]
},
"get": {
"operationId": "InvoicesController_getInvoices",
"summary": "Gets project's invoices",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "limit",
"required": false,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "offset",
"required": false,
"in": "query",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "type": "array", "items": { "type": "object" } }
}
}
},
"500": { "description": "Failed to get project's invoices" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/pause": {
"post": {
"operationId": "PauseController_pauseProject",
"summary": "Pauses the project",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to pause the project" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/pooling": {
"get": {
"operationId": "PoolingController_getPoolingConfig",
"summary": "Gets project's pooling config",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/PoolingConfig" }
}
}
},
"500": {
"description": "Failed to retrieve project's pooling config"
}
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "PoolingController_updatePoolingConfig",
"summary": "Updates project's pooling config",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePoolingConfigBody"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePoolingConfigResponse"
}
}
}
},
"500": { "description": "Failed to update project's pooling config" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/restart": {
"post": {
"operationId": "RestartController_restartServices",
"summary": "Restarts project",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"201": { "description": "" },
"403": { "description": "" },
"500": { "description": "Failed to restart project" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}": {
"get": {
"operationId": "ProjectsRefController_getProjects",
"summary": "Gets all projects that belong to the authenticated user",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
}
},
"security": [{ "bearer": [] }]
},
"delete": {
"operationId": "ProjectsRefController_deleteProject",
"summary": "Deletes the given project",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"403": { "description": "" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "ProjectsRefController_updateProject",
"summary": "Updates the given project",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdateProjectBody" }
}
}
},
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to update project" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/restore": {
"post": {
"operationId": "RestoreController_restartServices",
"summary": "Restores the project",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Project" }
}
}
},
"500": { "description": "Failed to restore project" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/restart-services": {
"post": {
"operationId": "RestartServicesController_restartServices",
"summary": "Restarts given services",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/RestartServicesBody" }
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to restart given services" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/status": {
"get": {
"operationId": "StatusController_getStatus",
"summary": "Gets project's status",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get project's status" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/update": {
"post": {
"operationId": "UpdateController_updateProject",
"summary": "Updates the project",
"description": "Replaced by PATCH /platform/projects/:ref",
"deprecated": true,
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UpdateProjectBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to update project" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/usage": {
"get": {
"operationId": "UsageController_getUsage",
"summary": "Gets project's usage",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "x-connection-encrypted",
"required": true,
"in": "header",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to retrieve project's usage" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/usage-status": {
"get": {
"operationId": "UsageStatusController_getUsageStatusConfig",
"summary": "Gets project's usage status",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/UsageStatusResponse" }
}
}
},
"500": { "description": "Failed to retrieve project's usage status" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/subscription/enterprise": {
"post": {
"operationId": "EnterpriseController_sendEnterpriseRequest",
"summary": "Send enterprise request",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SendEnterpriseRequestBody"
}
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to send enterprise request" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/subscription/preview": {
"post": {
"operationId": "PreviewController_previewSubscription",
"summary": "Preview subscription",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PreviewSubscriptionBody"
}
}
}
},
"responses": {
"201": { "description": "" },
"403": { "description": "" },
"500": { "description": "Failed to preview subscription" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/subscription": {
"get": {
"operationId": "SubscriptionController_getSubscription",
"summary": "Gets subscription",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to retrieve subscription" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "SubscriptionController_updateSubscription",
"summary": "Updates subscription",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSubscriptionBody"
}
}
}
},
"responses": {
"200": { "description": "" },
"403": { "description": "" },
"500": { "description": "Failed to update subscription" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/config": {
"get": {
"operationId": "ConfigController_getConfig",
"summary": "Gets project's config",
"description": "Replaced by /config/postgrest, /config/storage, /config/secrets",
"deprecated": true,
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "app",
"required": true,
"in": "query",
"schema": { "enum": ["postgrest", "storage"], "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to retrieve project's config" }
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "ConfigController_updateConfig",
"summary": "Updates project's config",
"description": "Replaced by /config/postgrest, /config/storage, /config/secrets",
"deprecated": true,
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
},
{
"name": "app",
"required": true,
"in": "query",
"schema": {
"enum": ["postgrest", "secrets", "storage"],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to update project's config" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/config/postgrest": {
"get": {
"operationId": "PostgrestConfigController_getConfig",
"summary": "Gets project's postgrest config",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": {
"description": "Failed to retrieve project's postgrest config"
}
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "PostgrestConfigController_updateConfig",
"summary": "Updates project's postgrest config",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePostgrestConfigBody"
}
}
}
},
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to update project's postgrest config"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/config/secrets": {
"patch": {
"operationId": "SecretsConfigController_updateConfig",
"summary": "Updates project's secrets config",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateSecretsConfigBody"
}
}
}
},
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to update project's secrets config" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/projects/{ref}/config/storage": {
"get": {
"operationId": "StorageConfigController_getConfig",
"summary": "Gets project's storage config",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"403": { "description": "" },
"500": {
"description": "Failed to retrieve project's storage config"
}
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "StorageConfigController_updateConfig",
"summary": "Updates project's storage config",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateStorageConfigBody"
}
}
}
},
"responses": {
"200": { "description": "" },
"403": { "description": "" },
"500": { "description": "Failed to update project's storage config" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/props/org/{slug}": {
"get": {
"operationId": "OrganizationSlugController_getOrganizationMembers",
"summary": "Gets organization's members",
"description": "Replaced by GET /platform/organization/:slug/members",
"deprecated": true,
"parameters": [
{
"name": "slug",
"required": true,
"in": "path",
"description": "Organization slug",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationMembersResponse"
}
}
}
},
"500": { "description": "Failed to retrieve organization's members" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/props/pooling/{ref}/config": {
"get": {
"operationId": "PoolingRefConfigController_getProjectPoolingConfig",
"summary": "Gets project's pooling config",
"description": "Replaced by GET /platform/projects/:ref/pooling",
"deprecated": true,
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PoolingRefConfigResponse"
}
}
}
},
"500": {
"description": "Failed to retrieve project's pooling config"
}
},
"security": [{ "bearer": [] }]
},
"patch": {
"operationId": "PoolingRefConfigController_updateProjectPoolingConfig",
"summary": "Updates project's pooling config",
"description": "Replaced by PATCH /platform/projects/:ref/pooling",
"deprecated": true,
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePoolingRefConfigBody"
}
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePoolingRefConfigResponse"
}
}
}
},
"500": { "description": "Failed to update project's pooling config" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/props/project/{ref}/api": {
"get": {
"operationId": "ApiController_getProjectApi",
"summary": "Gets project's api info",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ApiResponse" }
}
}
},
"500": { "description": "Failed to retrieve project's api info" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/props/project/{ref}/jwt-secret-update-status": {
"get": {
"operationId": "JwtSecretUpdateStatusController_getJwtSecretUpdateStatus",
"summary": "Gets the last JWT secret update status",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JwtSecretUpdateStatus"
}
}
}
},
"500": {
"description": "Failed to retrieve JWT secret update status"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/props/project/{ref}/settings": {
"get": {
"operationId": "SettingsController_getProjectApi",
"summary": "Gets project's settings",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/SettingsResponse" }
}
}
},
"500": { "description": "Failed to retrieve project's settings" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/stripe/customer": {
"post": {
"operationId": "CustomerController_getCustomer",
"summary": "Gets the Stripe customer",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/GetCustomerBody" }
}
}
},
"responses": {
"201": { "description": "" },
"403": { "description": "" },
"500": { "description": "Failed to retrieve the Stripe customer" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/stripe/invoices": {
"head": {
"operationId": "InvoicesController_countInvoices",
"summary": "Gets the total count of Stripe invoices for the given customer",
"parameters": [
{
"name": "customer",
"required": true,
"in": "query",
"schema": { "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": {
"description": "Failed to retrieve the total count of Stripe invoice"
}
},
"security": [{ "bearer": [] }]
},
"get": {
"operationId": "InvoicesController_getInvoices",
"summary": "Gets the Stripe invoices for the given customer",
"parameters": [
{
"name": "customer",
"required": true,
"in": "query",
"schema": { "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to retrieve Stripe invoices" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/stripe/invoices/{id}": {
"get": {
"operationId": "InvoicesController_getInvoice",
"summary": "Gets the Stripe invoice with the given invoice ID",
"parameters": [
{
"name": "id",
"required": true,
"in": "path",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"403": { "description": "" },
"500": { "description": "Failed to retrieve Stripe invoice" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/stripe/portal": {
"post": {
"operationId": "PortalController_createCustomerPortalSession",
"summary": "Creates a session of the customer portal",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateCustomerPortalSessionBody"
}
}
}
},
"responses": {
"201": { "description": "" },
"500": {
"description": "Failed to create a session of the customer portal"
}
},
"security": [{ "bearer": [] }]
}
},
"/platform/stripe/products": {
"get": {
"operationId": "ProductsController_createCustomerPortalSession",
"summary": "Gets Stripe products",
"parameters": [],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get Stripe products" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/telemetry/event": {
"post": {
"operationId": "TelemetryEventController_sendServerEvent",
"summary": "Sends analytics server event",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/TelemetryEventBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to send analytics server event" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/telemetry/identify": {
"post": {
"operationId": "TelemetryIdentifyController_identify",
"summary": "Send analytics identify event",
"parameters": [],
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to send analytics identify event" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/telemetry/page": {
"post": {
"operationId": "TelemetryPageController_sendServerPage",
"summary": "Send server page event",
"parameters": [],
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to send server page event" }
}
}
},
"/platform/vercel/token": {
"get": {
"operationId": "VercelAccessTokenController_getAccessToken",
"summary": "Gets the Vercel access token for the given code",
"parameters": [
{
"name": "code",
"required": true,
"in": "query",
"schema": { "type": "string" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to get Vercel access token" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/vercel/projects": {
"get": {
"operationId": "VercelProjectsController_getVercelProjects",
"summary": "Gets the project with the given ID if provided, otherwise gets the list of projects",
"parameters": [
{
"name": "vercel_authorization",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "id",
"required": true,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "teamId",
"required": true,
"in": "query",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to get project(s)" }
},
"security": [{ "bearer": [] }]
}
},
"/platform/vercel/projects/envs": {
"get": {
"operationId": "VercelEnvironmentVariablesController_getEnvironmentVariables",
"summary": "Gets the environment variables for the given project ID on behalf of the given team ID",
"parameters": [
{
"name": "vercel_authorization",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "projectId",
"required": true,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "teamId",
"required": false,
"in": "query",
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "type": "array", "items": { "type": "object" } }
}
}
},
"500": { "description": "Failed to get Vercel environment variables" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "VercelEnvironmentVariablesController_createEnvironmentVariable",
"summary": "Creates the environment variable for the given project ID on behalf of the given team ID",
"parameters": [
{
"name": "vercel_authorization",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "projectId",
"required": true,
"in": "query",
"schema": { "type": "string" }
},
{
"name": "teamId",
"required": false,
"in": "query",
"schema": { "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateVercelEnvironmentVariableBody"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": { "schema": { "type": "object" } }
}
},
"500": { "description": "Failed to get the environment variables" }
},
"security": [{ "bearer": [] }]
}
},
"/system/github-secret-alert": {
"post": {
"operationId": "GithubSecretAlertController_resetJwt",
"summary": "Reset JWT if leaked keys found by GitHub secret scanning",
"parameters": [
{
"name": "github-public-key-identifier",
"required": true,
"in": "header",
"schema": { "type": "string" }
},
{
"name": "github-public-key-signature",
"required": true,
"in": "header",
"schema": { "type": "string" }
}
],
"requestBody": {
"required": true,
"content": { "application/json": { "schema": { "type": "string" } } }
},
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to reset JWT" }
}
}
},
"/system/projects/{ref}/secrets/refresh": {
"post": {
"operationId": "SecretsRefreshController_refreshSecrets",
"summary": "Refreshes secrets",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"description": "Project ref",
"schema": { "minLength": 20, "maxLength": 20, "type": "string" }
}
],
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to refresh secrets" }
},
"security": [{ "apiKeyHeader": [], "apiKeyParam": [] }]
}
},
"/system/auth/{ref}/templates/{template}": {
"get": {
"operationId": "TemplateController_getTemplate",
"summary": "Gets GoTrue template",
"parameters": [
{
"name": "ref",
"required": true,
"in": "path",
"schema": { "type": "string" }
},
{
"name": "template",
"required": true,
"in": "path",
"schema": {
"enum": [
"confirmation",
"email-change",
"invite",
"magic-link",
"recovery"
],
"type": "string"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": { "schema": { "type": "string" } }
}
},
"500": { "description": "Failed to retrieve GoTrue template" }
},
"security": [{ "apiKeyHeader": [], "apiKeyParam": [] }]
}
},
"/system/stripe/subscriptions": {
"post": {
"operationId": "StripeSubscriptionsController_createSubscription",
"summary": "Creates Stripe subscription",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSubscriptionBody"
}
}
}
},
"responses": {
"201": { "description": "" },
"500": { "description": "Failed to create Stripe subscription" }
},
"security": [{ "apiKeyHeader": [], "apiKeyParam": [] }]
}
},
"/system/stripe/subscriptions/{projectId}": {
"delete": {
"operationId": "StripeSubscriptionsController_cancelSubscription",
"summary": "Cancels Stripe subscription",
"parameters": [
{
"name": "projectId",
"required": true,
"in": "path",
"schema": { "type": "number" }
}
],
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to cancel Stripe subscription" }
},
"security": [{ "apiKeyHeader": [], "apiKeyParam": [] }]
}
},
"/system/stripe/sync": {
"post": {
"operationId": "StripeSyncController_syncStripe",
"summary": "Sync Supabase organization with Stripe customer",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/StripeSyncBody" }
}
}
},
"responses": {
"201": { "description": "" },
"500": {
"description": "Failed to sync Supabase organization with Stripe customer"
}
},
"security": [{ "apiKeyHeader": [], "apiKeyParam": [] }]
}
},
"/system/stripe/webhooks": {
"post": {
"operationId": "StripeWebhooksController_processEvent",
"summary": "Processes Stripe event",
"parameters": [
{
"name": "stripe-signature",
"required": true,
"in": "header",
"schema": { "type": "string" }
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/Buffer" }
}
}
},
"responses": {
"200": { "description": "" },
"500": { "description": "Failed to process Stripe event" }
}
}
},
"/v1/organizations": {
"get": {
"operationId": "OrganizationsController_getOrganizations",
"summary": "Lists all organizations",
"parameters": [
{
"name": "owned_only",
"required": true,
"in": "query",
"description": "Only list organizations you own",
"schema": {}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrganizationResponse"
}
}
}
}
},
"500": { "description": "Unexpected error listing organizations" }
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "OrganizationsController_createOrganization_",
"summary": "Creates an organization",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateOrganizationBody"
}
}
}
},
"responses": {
"201": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationResponse"
}
}
}
},
"500": { "description": "Unexpected error creating an organization" }
},
"security": [{ "bearer": [] }]
}
},
"/v1/projects": {
"get": {
"operationId": "ProjectsController_getProjects",
"summary": "Gets all projects that belong to the authenticated user",
"description": "Only returns the minimal project info",
"parameters": [],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": { "$ref": "#/components/schemas/ProjectResponse" }
}
}
}
}
},
"security": [{ "bearer": [] }]
},
"post": {
"operationId": "ProjectsController_createProject",
"summary": "Creates a project",
"parameters": [],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/CreateProjectBody" }
}
}
},
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ProjectResponse" }
}
}
}
},
"security": [{ "bearer": [] }]
}
}
},
"info": {
"title": "Supabase API",
"description": "",
"version": "1.0.0",
"contact": {}
},
"tags": [],
"servers": [],
"components": {
"securitySchemes": {
"bearer": { "scheme": "bearer", "bearerFormat": "JWT", "type": "http" },
"apiKeyHeader": { "in": "header", "name": "apikey", "type": "apiKey" },
"apiKeyQuery": { "in": "query", "name": "apikey", "type": "apiKey" }
},
"schemas": {
"Notification": {
"type": "object",
"properties": {
"id": { "type": "string" },
"inserted_at": { "type": "string" },
"project_id": { "type": "number" },
"notification_name": { "type": "string" },
"notification_status": { "type": "string" },
"data": { "type": "object" },
"meta": { "type": "object" }
},
"required": [
"id",
"inserted_at",
"project_id",
"notification_name",
"notification_status",
"data",
"meta"
]
},
"UpdateNotificationsBody": {
"type": "object",
"properties": {
"ids": { "type": "array", "items": { "type": "string" } }
},
"required": ["ids"]
},
"SendFeedbackBody": {
"type": "object",
"properties": {
"message": { "type": "string" },
"category": { "type": "string" },
"subject": { "type": "string" },
"tags": { "type": "array", "items": { "type": "string" } },
"additionalRedirectUrls": { "type": "string" },
"pathname": { "type": "string" },
"projectRef": { "type": "string" },
"severity": { "type": "string" },
"siteUrl": { "type": "string" },
"urlToAirTable": { "type": "string" },
"verified": { "type": "boolean" }
},
"required": ["message", "category", "tags"]
},
"SubjectRoleParams": {
"type": "object",
"properties": {
"gotrue_id": { "type": "string" },
"role_id": { "type": "string" }
},
"required": ["gotrue_id", "role_id"]
},
"GetGoTrueConfigResponse": {
"type": "object",
"properties": {
"app_version": { "type": "string" },
"isFreeTier": { "type": "boolean" },
"id": { "type": "number" },
"project_id": { "type": "number" },
"updated_at": { "type": "string" },
"SITE_URL": { "type": "string" },
"OPERATOR_TOKEN": { "type": "string" },
"DISABLE_SIGNUP": { "type": "boolean" },
"RATE_LIMIT_HEADER": { "type": "string" },
"JWT_EXP": { "type": "number" },
"JWT_AUD": { "type": "string" },
"JWT_DEFAULT_GROUP_NAME": { "type": "string" },
"EXTERNAL_GITHUB_ENABLED": { "type": "boolean" },
"EXTERNAL_GITHUB_CLIENT_ID": { "type": "string" },
"EXTERNAL_GITHUB_SECRET": { "type": "string" },
"EXTERNAL_BITBUCKET_ENABLED": { "type": "boolean" },
"EXTERNAL_BITBUCKET_CLIENT_ID": { "type": "string" },
"EXTERNAL_BITBUCKET_SECRET": { "type": "string" },
"EXTERNAL_GOOGLE_ENABLED": { "type": "boolean" },
"EXTERNAL_GOOGLE_CLIENT_ID": { "type": "string" },
"EXTERNAL_GOOGLE_SECRET": { "type": "string" },
"EXTERNAL_GITLAB_ENABLED": { "type": "boolean" },
"EXTERNAL_GITLAB_CLIENT_ID": { "type": "string" },
"EXTERNAL_GITLAB_SECRET": { "type": "string" },
"EXTERNAL_GITLAB_REDIRECT_URI": { "type": "string" },
"EXTERNAL_GITLAB_URL": { "type": "string" },
"SMTP_ADMIN_EMAIL": { "type": "string" },
"SMTP_HOST": { "type": "string" },
"SMTP_PORT": { "type": "string" },
"SMTP_USER": { "type": "string" },
"SMTP_PASS": { "type": "string" },
"SMTP_MAX_FREQUENCY": { "type": "number" },
"MAILER_AUTOCONFIRM": { "type": "boolean" },
"MAILER_URLPATHS_INVITE": { "type": "string" },
"MAILER_URLPATHS_CONFIRMATION": { "type": "string" },
"MAILER_URLPATHS_RECOVERY": { "type": "string" },
"MAILER_URLPATHS_EMAIL_CHANGE": { "type": "string" },
"MAILER_SUBJECTS_INVITE": { "type": "string" },
"MAILER_SUBJECTS_CONFIRMATION": { "type": "string" },
"MAILER_SUBJECTS_RECOVERY": { "type": "string" },
"MAILER_SUBJECTS_EMAIL_CHANGE": { "type": "string" },
"MAILER_TEMPLATES_INVITE": { "type": "string" },
"MAILER_TEMPLATES_INVITE_CONTENT": { "type": "string" },
"MAILER_TEMPLATES_CONFIRMATION": { "type": "string" },
"MAILER_TEMPLATES_CONFIRMATION_CONTENT": { "type": "string" },
"MAILER_TEMPLATES_RECOVERY": { "type": "string" },
"MAILER_TEMPLATES_RECOVERY_CONTENT": { "type": "string" },
"MAILER_TEMPLATES_EMAIL_CHANGE": { "type": "string" },
"MAILER_TEMPLATES_EMAIL_CHANGE_CONTENT": { "type": "string" },
"MAILER_SUBJECTS_MAGIC_LINK": { "type": "string" },
"MAILER_TEMPLATES_MAGIC_LINK": { "type": "string" },
"MAILER_TEMPLATES_MAGIC_LINK_CONTENT": { "type": "string" },
"EXTERNAL_AZURE_ENABLED": { "type": "boolean" },
"EXTERNAL_AZURE_CLIENT_ID": { "type": "string" },
"EXTERNAL_AZURE_SECRET": { "type": "string" },
"EXTERNAL_FACEBOOK_ENABLED": { "type": "boolean" },
"EXTERNAL_FACEBOOK_CLIENT_ID": { "type": "string" },
"EXTERNAL_FACEBOOK_SECRET": { "type": "string" },
"URI_ALLOW_LIST": { "type": "string" },
"EXTERNAL_TWITTER_ENABLED": { "type": "boolean" },
"EXTERNAL_TWITTER_CLIENT_ID": { "type": "string" },
"EXTERNAL_TWITTER_SECRET": { "type": "string" },
"EXTERNAL_APPLE_ENABLED": { "type": "boolean" },
"EXTERNAL_APPLE_CLIENT_ID": { "type": "string" },
"EXTERNAL_APPLE_SECRET": { "type": "string" },
"EXTERNAL_DISCORD_ENABLED": { "type": "boolean" },
"EXTERNAL_DISCORD_CLIENT_ID": { "type": "string" },
"EXTERNAL_DISCORD_SECRET": { "type": "string" },
"EXTERNAL_TWITCH_ENABLED": { "type": "boolean" },
"EXTERNAL_TWITCH_CLIENT_ID": { "type": "string" },
"EXTERNAL_TWITCH_SECRET": { "type": "string" },
"SMTP_SENDER_NAME": { "type": "string" },
"EXTERNAL_EMAIL_ENABLED": { "type": "boolean" },
"EXTERNAL_PHONE_ENABLED": { "type": "boolean" },
"SMS_AUTOCONFIRM": { "type": "boolean" },
"SMS_MAX_FREQUENCY": { "type": "number" },
"SMS_OTP_EXP": { "type": "number" },
"SMS_OTP_LENGTH": { "type": "number" },
"SMS_PROVIDER": { "type": "string" },
"SMS_TWILIO_ACCOUNT_SID": { "type": "string" },
"SMS_TWILIO_AUTH_TOKEN": { "type": "string" },
"SMS_TWILIO_MESSAGE_SERVICE_SID": { "type": "string" },
"SMS_TEMPLATE": { "type": "string" },
"SECURITY_CAPTCHA_ENABLED": { "type": "boolean" },
"SECURITY_CAPTCHA_PROVIDER": { "type": "string" },
"SECURITY_CAPTCHA_SECRET": { "type": "string" },
"RATE_LIMIT_EMAIL_SENT": { "type": "number" },
"MAILER_SECURE_EMAIL_CHANGE_ENABLED": { "type": "boolean" },
"EXTERNAL_SPOTIFY_ENABLED": { "type": "boolean" },
"EXTERNAL_SPOTIFY_CLIENT_ID": { "type": "string" },
"EXTERNAL_SPOTIFY_SECRET": { "type": "string" },
"EXTERNAL_SLACK_ENABLED": { "type": "boolean" },
"EXTERNAL_SLACK_CLIENT_ID": { "type": "string" },
"EXTERNAL_SLACK_SECRET": { "type": "string" },
"SMS_MESSAGEBIRD_ACCESS_KEY": { "type": "string" },
"SMS_MESSAGEBIRD_ORIGINATOR": { "type": "string" },
"SMTP_PASS_ENCRYPTED": { "type": "string" },
"REFRESH_TOKEN_ROTATION_ENABLED": { "type": "boolean" },
"EXTERNAL_LINKEDIN_ENABLED": { "type": "boolean" },
"EXTERNAL_LINKEDIN_CLIENT_ID": { "type": "string" },
"EXTERNAL_LINKEDIN_SECRET": { "type": "string" },
"EXTERNAL_NOTION_ENABLED": { "type": "boolean" },
"EXTERNAL_NOTION_CLIENT_ID": { "type": "string" },
"EXTERNAL_NOTION_SECRET": { "type": "string" },
"SMS_VONAGE_API_KEY": { "type": "string" },
"SMS_VONAGE_API_SECRET": { "type": "string" },
"SMS_VONAGE_FROM": { "type": "string" },
"SMS_TEXTLOCAL_API_KEY": { "type": "string" },
"SMS_TEXTLOCAL_SENDER": { "type": "string" },
"EXTERNAL_ZOOM_ENABLED": { "type": "boolean" },
"EXTERNAL_ZOOM_CLIENT_ID": { "type": "string" },
"EXTERNAL_ZOOM_SECRET": { "type": "string" },
"EXTERNAL_AZURE_URL": { "type": "string" },
"PASSWORD_MIN_LENGTH": { "type": "number" },
"EXTERNAL_KEYCLOAK_ENABLED": { "type": "boolean" },
"EXTERNAL_KEYCLOAK_CLIENT_ID": { "type": "string" },
"EXTERNAL_KEYCLOAK_SECRET": { "type": "string" },
"EXTERNAL_KEYCLOAK_URL": { "type": "string" },
"EXTERNAL_WORKOS_ENABLED": { "type": "boolean" },
"EXTERNAL_WORKOS_CLIENT_ID": { "type": "string" },
"EXTERNAL_WORKOS_SECRET": { "type": "string" },
"EXTERNAL_WORKOS_URL": { "type": "string" },
"SECURITY_UPDATE_PASSWORD_REQUIRE_REAUTHENTICATION": {
"type": "boolean"
},
"SECURITY_REFRESH_TOKEN_REUSE_INTERVAL": { "type": "number" },
"MAILER_OTP_EXP": { "type": "number" },
"RATE_LIMIT_VERIFY": { "type": "number" },
"RATE_LIMIT_TOKEN_REFRESH": { "type": "number" }
},
"required": [
"app_version",
"isFreeTier",
"id",
"project_id",
"updated_at",
"SITE_URL",
"OPERATOR_TOKEN",
"DISABLE_SIGNUP",
"RATE_LIMIT_HEADER",
"JWT_EXP",
"JWT_AUD",
"JWT_DEFAULT_GROUP_NAME",
"EXTERNAL_GITHUB_ENABLED",
"EXTERNAL_GITHUB_CLIENT_ID",
"EXTERNAL_GITHUB_SECRET",
"EXTERNAL_BITBUCKET_ENABLED",
"EXTERNAL_BITBUCKET_CLIENT_ID",
"EXTERNAL_BITBUCKET_SECRET",
"EXTERNAL_GOOGLE_ENABLED",
"EXTERNAL_GOOGLE_CLIENT_ID",
"EXTERNAL_GOOGLE_SECRET",
"EXTERNAL_GITLAB_ENABLED",
"EXTERNAL_GITLAB_CLIENT_ID",
"EXTERNAL_GITLAB_SECRET",
"EXTERNAL_GITLAB_REDIRECT_URI",
"EXTERNAL_GITLAB_URL",
"SMTP_ADMIN_EMAIL",
"SMTP_HOST",
"SMTP_PORT",
"SMTP_USER",
"SMTP_PASS",
"SMTP_MAX_FREQUENCY",
"MAILER_AUTOCONFIRM",
"MAILER_URLPATHS_INVITE",
"MAILER_URLPATHS_CONFIRMATION",
"MAILER_URLPATHS_RECOVERY",
"MAILER_URLPATHS_EMAIL_CHANGE",
"MAILER_SUBJECTS_INVITE",
"MAILER_SUBJECTS_CONFIRMATION",
"MAILER_SUBJECTS_RECOVERY",
"MAILER_SUBJECTS_EMAIL_CHANGE",
"MAILER_TEMPLATES_INVITE",
"MAILER_TEMPLATES_INVITE_CONTENT",
"MAILER_TEMPLATES_CONFIRMATION",
"MAILER_TEMPLATES_CONFIRMATION_CONTENT",
"MAILER_TEMPLATES_RECOVERY",
"MAILER_TEMPLATES_RECOVERY_CONTENT",
"MAILER_TEMPLATES_EMAIL_CHANGE",
"MAILER_TEMPLATES_EMAIL_CHANGE_CONTENT",
"MAILER_SUBJECTS_MAGIC_LINK",
"MAILER_TEMPLATES_MAGIC_LINK",
"MAILER_TEMPLATES_MAGIC_LINK_CONTENT",
"EXTERNAL_AZURE_ENABLED",
"EXTERNAL_AZURE_CLIENT_ID",
"EXTERNAL_AZURE_SECRET",
"EXTERNAL_FACEBOOK_ENABLED",
"EXTERNAL_FACEBOOK_CLIENT_ID",
"EXTERNAL_FACEBOOK_SECRET",
"URI_ALLOW_LIST",
"EXTERNAL_TWITTER_ENABLED",
"EXTERNAL_TWITTER_CLIENT_ID",
"EXTERNAL_TWITTER_SECRET",
"EXTERNAL_APPLE_ENABLED",
"EXTERNAL_APPLE_CLIENT_ID",
"EXTERNAL_APPLE_SECRET",
"EXTERNAL_DISCORD_ENABLED",
"EXTERNAL_DISCORD_CLIENT_ID",
"EXTERNAL_DISCORD_SECRET",
"EXTERNAL_TWITCH_ENABLED",
"EXTERNAL_TWITCH_CLIENT_ID",
"EXTERNAL_TWITCH_SECRET",
"SMTP_SENDER_NAME",
"EXTERNAL_EMAIL_ENABLED",
"EXTERNAL_PHONE_ENABLED",
"SMS_AUTOCONFIRM",
"SMS_MAX_FREQUENCY",
"SMS_OTP_EXP",
"SMS_OTP_LENGTH",
"SMS_PROVIDER",
"SMS_TWILIO_ACCOUNT_SID",
"SMS_TWILIO_AUTH_TOKEN",
"SMS_TWILIO_MESSAGE_SERVICE_SID",
"SMS_TEMPLATE",
"SECURITY_CAPTCHA_ENABLED",
"SECURITY_CAPTCHA_PROVIDER",
"SECURITY_CAPTCHA_SECRET",
"RATE_LIMIT_EMAIL_SENT",
"MAILER_SECURE_EMAIL_CHANGE_ENABLED",
"EXTERNAL_SPOTIFY_ENABLED",
"EXTERNAL_SPOTIFY_CLIENT_ID",
"EXTERNAL_SPOTIFY_SECRET",
"EXTERNAL_SLACK_ENABLED",
"EXTERNAL_SLACK_CLIENT_ID",
"EXTERNAL_SLACK_SECRET",
"SMS_MESSAGEBIRD_ACCESS_KEY",
"SMS_MESSAGEBIRD_ORIGINATOR",
"SMTP_PASS_ENCRYPTED",
"REFRESH_TOKEN_ROTATION_ENABLED",
"EXTERNAL_LINKEDIN_ENABLED",
"EXTERNAL_LINKEDIN_CLIENT_ID",
"EXTERNAL_LINKEDIN_SECRET",
"EXTERNAL_NOTION_ENABLED",
"EXTERNAL_NOTION_CLIENT_ID",
"EXTERNAL_NOTION_SECRET",
"SMS_VONAGE_API_KEY",
"SMS_VONAGE_API_SECRET",
"SMS_VONAGE_FROM",
"SMS_TEXTLOCAL_API_KEY",
"SMS_TEXTLOCAL_SENDER",
"EXTERNAL_ZOOM_ENABLED",
"EXTERNAL_ZOOM_CLIENT_ID",
"EXTERNAL_ZOOM_SECRET",
"EXTERNAL_AZURE_URL",
"PASSWORD_MIN_LENGTH",
"EXTERNAL_KEYCLOAK_ENABLED",
"EXTERNAL_KEYCLOAK_CLIENT_ID",
"EXTERNAL_KEYCLOAK_SECRET",
"EXTERNAL_KEYCLOAK_URL",
"EXTERNAL_WORKOS_ENABLED",
"EXTERNAL_WORKOS_CLIENT_ID",
"EXTERNAL_WORKOS_SECRET",
"EXTERNAL_WORKOS_URL",
"SECURITY_UPDATE_PASSWORD_REQUIRE_REAUTHENTICATION",
"SECURITY_REFRESH_TOKEN_REUSE_INTERVAL",
"MAILER_OTP_EXP",
"RATE_LIMIT_VERIFY",
"RATE_LIMIT_TOKEN_REFRESH"
]
},
"UpdateGoTrueConfigBody": {
"type": "object",
"properties": {
"SITE_URL": { "type": "string" },
"OPERATOR_TOKEN": { "type": "string" },
"DISABLE_SIGNUP": { "type": "boolean" },
"RATE_LIMIT_HEADER": { "type": "string" },
"JWT_EXP": { "type": "number" },
"JWT_AUD": { "type": "string" },
"JWT_DEFAULT_GROUP_NAME": { "type": "string" },
"EXTERNAL_GITHUB_ENABLED": { "type": "boolean" },
"EXTERNAL_GITHUB_CLIENT_ID": { "type": "string" },
"EXTERNAL_GITHUB_SECRET": { "type": "string" },
"EXTERNAL_BITBUCKET_ENABLED": { "type": "boolean" },
"EXTERNAL_BITBUCKET_CLIENT_ID": { "type": "string" },
"EXTERNAL_BITBUCKET_SECRET": { "type": "string" },
"EXTERNAL_GOOGLE_ENABLED": { "type": "boolean" },
"EXTERNAL_GOOGLE_CLIENT_ID": { "type": "string" },
"EXTERNAL_GOOGLE_SECRET": { "type": "string" },
"EXTERNAL_GITLAB_ENABLED": { "type": "boolean" },
"EXTERNAL_GITLAB_CLIENT_ID": { "type": "string" },
"EXTERNAL_GITLAB_SECRET": { "type": "string" },
"EXTERNAL_GITLAB_REDIRECT_URI": { "type": "string" },
"EXTERNAL_GITLAB_URL": { "type": "string" },
"SMTP_ADMIN_EMAIL": { "type": "string" },
"SMTP_HOST": { "type": "string" },
"SMTP_PORT": { "type": "string" },
"SMTP_USER": { "type": "string" },
"SMTP_PASS": { "type": "string" },
"SMTP_MAX_FREQUENCY": { "type": "number" },
"MAILER_AUTOCONFIRM": { "type": "boolean" },
"MAILER_URLPATHS_INVITE": { "type": "string" },
"MAILER_URLPATHS_CONFIRMATION": { "type": "string" },
"MAILER_URLPATHS_RECOVERY": { "type": "string" },
"MAILER_URLPATHS_EMAIL_CHANGE": { "type": "string" },
"MAILER_SUBJECTS_INVITE": { "type": "string" },
"MAILER_SUBJECTS_CONFIRMATION": { "type": "string" },
"MAILER_SUBJECTS_RECOVERY": { "type": "string" },
"MAILER_SUBJECTS_EMAIL_CHANGE": { "type": "string" },
"MAILER_TEMPLATES_INVITE": { "type": "string" },
"MAILER_TEMPLATES_INVITE_CONTENT": { "type": "string" },
"MAILER_TEMPLATES_CONFIRMATION": { "type": "string" },
"MAILER_TEMPLATES_CONFIRMATION_CONTENT": { "type": "string" },
"MAILER_TEMPLATES_RECOVERY": { "type": "string" },
"MAILER_TEMPLATES_RECOVERY_CONTENT": { "type": "string" },
"MAILER_TEMPLATES_EMAIL_CHANGE": { "type": "string" },
"MAILER_TEMPLATES_EMAIL_CHANGE_CONTENT": { "type": "string" },
"MAILER_SUBJECTS_MAGIC_LINK": { "type": "string" },
"MAILER_TEMPLATES_MAGIC_LINK": { "type": "string" },
"MAILER_TEMPLATES_MAGIC_LINK_CONTENT": { "type": "string" },
"EXTERNAL_AZURE_ENABLED": { "type": "boolean" },
"EXTERNAL_AZURE_CLIENT_ID": { "type": "string" },
"EXTERNAL_AZURE_SECRET": { "type": "string" },
"EXTERNAL_FACEBOOK_ENABLED": { "type": "boolean" },
"EXTERNAL_FACEBOOK_CLIENT_ID": { "type": "string" },
"EXTERNAL_FACEBOOK_SECRET": { "type": "string" },
"URI_ALLOW_LIST": { "type": "string" },
"EXTERNAL_TWITTER_ENABLED": { "type": "boolean" },
"EXTERNAL_TWITTER_CLIENT_ID": { "type": "string" },
"EXTERNAL_TWITTER_SECRET": { "type": "string" },
"EXTERNAL_APPLE_ENABLED": { "type": "boolean" },
"EXTERNAL_APPLE_CLIENT_ID": { "type": "string" },
"EXTERNAL_APPLE_SECRET": { "type": "string" },
"EXTERNAL_DISCORD_ENABLED": { "type": "boolean" },
"EXTERNAL_DISCORD_CLIENT_ID": { "type": "string" },
"EXTERNAL_DISCORD_SECRET": { "type": "string" },
"EXTERNAL_TWITCH_ENABLED": { "type": "boolean" },
"EXTERNAL_TWITCH_CLIENT_ID": { "type": "string" },
"EXTERNAL_TWITCH_SECRET": { "type": "string" },
"SMTP_SENDER_NAME": { "type": "string" },
"EXTERNAL_EMAIL_ENABLED": { "type": "boolean" },
"EXTERNAL_PHONE_ENABLED": { "type": "boolean" },
"SMS_AUTOCONFIRM": { "type": "boolean" },
"SMS_MAX_FREQUENCY": { "type": "number" },
"SMS_OTP_EXP": { "type": "number" },
"SMS_OTP_LENGTH": { "type": "number" },
"SMS_PROVIDER": { "type": "string" },
"SMS_TWILIO_ACCOUNT_SID": { "type": "string" },
"SMS_TWILIO_AUTH_TOKEN": { "type": "string" },
"SMS_TWILIO_MESSAGE_SERVICE_SID": { "type": "string" },
"SMS_TEMPLATE": { "type": "string" },
"SECURITY_CAPTCHA_ENABLED": { "type": "boolean" },
"SECURITY_CAPTCHA_PROVIDER": { "type": "string" },
"SECURITY_CAPTCHA_SECRET": { "type": "string" },
"RATE_LIMIT_EMAIL_SENT": { "type": "number" },
"MAILER_SECURE_EMAIL_CHANGE_ENABLED": { "type": "boolean" },
"EXTERNAL_SPOTIFY_ENABLED": { "type": "boolean" },
"EXTERNAL_SPOTIFY_CLIENT_ID": { "type": "string" },
"EXTERNAL_SPOTIFY_SECRET": { "type": "string" },
"EXTERNAL_SLACK_ENABLED": { "type": "boolean" },
"EXTERNAL_SLACK_CLIENT_ID": { "type": "string" },
"EXTERNAL_SLACK_SECRET": { "type": "string" },
"SMS_MESSAGEBIRD_ACCESS_KEY": { "type": "string" },
"SMS_MESSAGEBIRD_ORIGINATOR": { "type": "string" },
"SMTP_PASS_ENCRYPTED": { "type": "string" },
"REFRESH_TOKEN_ROTATION_ENABLED": { "type": "boolean" },
"EXTERNAL_LINKEDIN_ENABLED": { "type": "boolean" },
"EXTERNAL_LINKEDIN_CLIENT_ID": { "type": "string" },
"EXTERNAL_LINKEDIN_SECRET": { "type": "string" },
"EXTERNAL_NOTION_ENABLED": { "type": "boolean" },
"EXTERNAL_NOTION_CLIENT_ID": { "type": "string" },
"EXTERNAL_NOTION_SECRET": { "type": "string" },
"SMS_VONAGE_API_KEY": { "type": "string" },
"SMS_VONAGE_API_SECRET": { "type": "string" },
"SMS_VONAGE_FROM": { "type": "string" },
"SMS_TEXTLOCAL_API_KEY": { "type": "string" },
"SMS_TEXTLOCAL_SENDER": { "type": "string" },
"EXTERNAL_ZOOM_ENABLED": { "type": "boolean" },
"EXTERNAL_ZOOM_CLIENT_ID": { "type": "string" },
"EXTERNAL_ZOOM_SECRET": { "type": "string" },
"EXTERNAL_AZURE_URL": { "type": "string" },
"PASSWORD_MIN_LENGTH": { "type": "number" },
"EXTERNAL_KEYCLOAK_ENABLED": { "type": "boolean" },
"EXTERNAL_KEYCLOAK_CLIENT_ID": { "type": "string" },
"EXTERNAL_KEYCLOAK_SECRET": { "type": "string" },
"EXTERNAL_KEYCLOAK_URL": { "type": "string" },
"EXTERNAL_WORKOS_ENABLED": { "type": "boolean" },
"EXTERNAL_WORKOS_CLIENT_ID": { "type": "string" },
"EXTERNAL_WORKOS_SECRET": { "type": "string" },
"EXTERNAL_WORKOS_URL": { "type": "string" },
"SECURITY_UPDATE_PASSWORD_REQUIRE_REAUTHENTICATION": {
"type": "boolean"
},
"SECURITY_REFRESH_TOKEN_REUSE_INTERVAL": { "type": "number" },
"MAILER_OTP_EXP": { "type": "number" },
"RATE_LIMIT_VERIFY": { "type": "number" },
"RATE_LIMIT_TOKEN_REFRESH": { "type": "number" }
},
"required": [
"SITE_URL",
"OPERATOR_TOKEN",
"DISABLE_SIGNUP",
"RATE_LIMIT_HEADER",
"JWT_EXP",
"JWT_AUD",
"JWT_DEFAULT_GROUP_NAME",
"EXTERNAL_GITHUB_ENABLED",
"EXTERNAL_GITHUB_CLIENT_ID",
"EXTERNAL_GITHUB_SECRET",
"EXTERNAL_BITBUCKET_ENABLED",
"EXTERNAL_BITBUCKET_CLIENT_ID",
"EXTERNAL_BITBUCKET_SECRET",
"EXTERNAL_GOOGLE_ENABLED",
"EXTERNAL_GOOGLE_CLIENT_ID",
"EXTERNAL_GOOGLE_SECRET",
"EXTERNAL_GITLAB_ENABLED",
"EXTERNAL_GITLAB_CLIENT_ID",
"EXTERNAL_GITLAB_SECRET",
"EXTERNAL_GITLAB_REDIRECT_URI",
"EXTERNAL_GITLAB_URL",
"SMTP_ADMIN_EMAIL",
"SMTP_HOST",
"SMTP_PORT",
"SMTP_USER",
"SMTP_PASS",
"SMTP_MAX_FREQUENCY",
"MAILER_AUTOCONFIRM",
"MAILER_URLPATHS_INVITE",
"MAILER_URLPATHS_CONFIRMATION",
"MAILER_URLPATHS_RECOVERY",
"MAILER_URLPATHS_EMAIL_CHANGE",
"MAILER_SUBJECTS_INVITE",
"MAILER_SUBJECTS_CONFIRMATION",
"MAILER_SUBJECTS_RECOVERY",
"MAILER_SUBJECTS_EMAIL_CHANGE",
"MAILER_TEMPLATES_INVITE",
"MAILER_TEMPLATES_INVITE_CONTENT",
"MAILER_TEMPLATES_CONFIRMATION",
"MAILER_TEMPLATES_CONFIRMATION_CONTENT",
"MAILER_TEMPLATES_RECOVERY",
"MAILER_TEMPLATES_RECOVERY_CONTENT",
"MAILER_TEMPLATES_EMAIL_CHANGE",
"MAILER_TEMPLATES_EMAIL_CHANGE_CONTENT",
"MAILER_SUBJECTS_MAGIC_LINK",
"MAILER_TEMPLATES_MAGIC_LINK",
"MAILER_TEMPLATES_MAGIC_LINK_CONTENT",
"EXTERNAL_AZURE_ENABLED",
"EXTERNAL_AZURE_CLIENT_ID",
"EXTERNAL_AZURE_SECRET",
"EXTERNAL_FACEBOOK_ENABLED",
"EXTERNAL_FACEBOOK_CLIENT_ID",
"EXTERNAL_FACEBOOK_SECRET",
"URI_ALLOW_LIST",
"EXTERNAL_TWITTER_ENABLED",
"EXTERNAL_TWITTER_CLIENT_ID",
"EXTERNAL_TWITTER_SECRET",
"EXTERNAL_APPLE_ENABLED",
"EXTERNAL_APPLE_CLIENT_ID",
"EXTERNAL_APPLE_SECRET",
"EXTERNAL_DISCORD_ENABLED",
"EXTERNAL_DISCORD_CLIENT_ID",
"EXTERNAL_DISCORD_SECRET",
"EXTERNAL_TWITCH_ENABLED",
"EXTERNAL_TWITCH_CLIENT_ID",
"EXTERNAL_TWITCH_SECRET",
"SMTP_SENDER_NAME",
"EXTERNAL_EMAIL_ENABLED",
"EXTERNAL_PHONE_ENABLED",
"SMS_AUTOCONFIRM",
"SMS_MAX_FREQUENCY",
"SMS_OTP_EXP",
"SMS_OTP_LENGTH",
"SMS_PROVIDER",
"SMS_TWILIO_ACCOUNT_SID",
"SMS_TWILIO_AUTH_TOKEN",
"SMS_TWILIO_MESSAGE_SERVICE_SID",
"SMS_TEMPLATE",
"SECURITY_CAPTCHA_ENABLED",
"SECURITY_CAPTCHA_PROVIDER",
"SECURITY_CAPTCHA_SECRET",
"RATE_LIMIT_EMAIL_SENT",
"MAILER_SECURE_EMAIL_CHANGE_ENABLED",
"EXTERNAL_SPOTIFY_ENABLED",
"EXTERNAL_SPOTIFY_CLIENT_ID",
"EXTERNAL_SPOTIFY_SECRET",
"EXTERNAL_SLACK_ENABLED",
"EXTERNAL_SLACK_CLIENT_ID",
"EXTERNAL_SLACK_SECRET",
"SMS_MESSAGEBIRD_ACCESS_KEY",
"SMS_MESSAGEBIRD_ORIGINATOR",
"SMTP_PASS_ENCRYPTED",
"REFRESH_TOKEN_ROTATION_ENABLED",
"EXTERNAL_LINKEDIN_ENABLED",
"EXTERNAL_LINKEDIN_CLIENT_ID",
"EXTERNAL_LINKEDIN_SECRET",
"EXTERNAL_NOTION_ENABLED",
"EXTERNAL_NOTION_CLIENT_ID",
"EXTERNAL_NOTION_SECRET",
"SMS_VONAGE_API_KEY",
"SMS_VONAGE_API_SECRET",
"SMS_VONAGE_FROM",
"SMS_TEXTLOCAL_API_KEY",
"SMS_TEXTLOCAL_SENDER",
"EXTERNAL_ZOOM_ENABLED",
"EXTERNAL_ZOOM_CLIENT_ID",
"EXTERNAL_ZOOM_SECRET",
"EXTERNAL_AZURE_URL",
"PASSWORD_MIN_LENGTH",
"EXTERNAL_KEYCLOAK_ENABLED",
"EXTERNAL_KEYCLOAK_CLIENT_ID",
"EXTERNAL_KEYCLOAK_SECRET",
"EXTERNAL_KEYCLOAK_URL",
"EXTERNAL_WORKOS_ENABLED",
"EXTERNAL_WORKOS_CLIENT_ID",
"EXTERNAL_WORKOS_SECRET",
"EXTERNAL_WORKOS_URL",
"SECURITY_UPDATE_PASSWORD_REQUIRE_REAUTHENTICATION",
"SECURITY_REFRESH_TOKEN_REUSE_INTERVAL",
"MAILER_OTP_EXP",
"RATE_LIMIT_VERIFY",
"RATE_LIMIT_TOKEN_REFRESH"
]
},
"GoTrueConfig": {
"type": "object",
"properties": {
"SITE_URL": { "type": "string" },
"OPERATOR_TOKEN": { "type": "string" },
"DISABLE_SIGNUP": { "type": "boolean" },
"RATE_LIMIT_HEADER": { "type": "string" },
"JWT_EXP": { "type": "number" },
"JWT_AUD": { "type": "string" },
"JWT_DEFAULT_GROUP_NAME": { "type": "string" },
"EXTERNAL_GITHUB_ENABLED": { "type": "boolean" },
"EXTERNAL_GITHUB_CLIENT_ID": { "type": "string" },
"EXTERNAL_GITHUB_SECRET": { "type": "string" },
"EXTERNAL_BITBUCKET_ENABLED": { "type": "boolean" },
"EXTERNAL_BITBUCKET_CLIENT_ID": { "type": "string" },
"EXTERNAL_BITBUCKET_SECRET": { "type": "string" },
"EXTERNAL_GOOGLE_ENABLED": { "type": "boolean" },
"EXTERNAL_GOOGLE_CLIENT_ID": { "type": "string" },
"EXTERNAL_GOOGLE_SECRET": { "type": "string" },
"EXTERNAL_GITLAB_ENABLED": { "type": "boolean" },
"EXTERNAL_GITLAB_CLIENT_ID": { "type": "string" },
"EXTERNAL_GITLAB_SECRET": { "type": "string" },
"EXTERNAL_GITLAB_REDIRECT_URI": { "type": "string" },
"EXTERNAL_GITLAB_URL": { "type": "string" },
"SMTP_ADMIN_EMAIL": { "type": "string" },
"SMTP_HOST": { "type": "string" },
"SMTP_PORT": { "type": "string" },
"SMTP_USER": { "type": "string" },
"SMTP_PASS": { "type": "string" },
"SMTP_MAX_FREQUENCY": { "type": "number" },
"MAILER_AUTOCONFIRM": { "type": "boolean" },
"MAILER_URLPATHS_INVITE": { "type": "string" },
"MAILER_URLPATHS_CONFIRMATION": { "type": "string" },
"MAILER_URLPATHS_RECOVERY": { "type": "string" },
"MAILER_URLPATHS_EMAIL_CHANGE": { "type": "string" },
"MAILER_SUBJECTS_INVITE": { "type": "string" },
"MAILER_SUBJECTS_CONFIRMATION": { "type": "string" },
"MAILER_SUBJECTS_RECOVERY": { "type": "string" },
"MAILER_SUBJECTS_EMAIL_CHANGE": { "type": "string" },
"MAILER_TEMPLATES_INVITE": { "type": "string" },
"MAILER_TEMPLATES_INVITE_CONTENT": { "type": "string" },
"MAILER_TEMPLATES_CONFIRMATION": { "type": "string" },
"MAILER_TEMPLATES_CONFIRMATION_CONTENT": { "type": "string" },
"MAILER_TEMPLATES_RECOVERY": { "type": "string" },
"MAILER_TEMPLATES_RECOVERY_CONTENT": { "type": "string" },
"MAILER_TEMPLATES_EMAIL_CHANGE": { "type": "string" },
"MAILER_TEMPLATES_EMAIL_CHANGE_CONTENT": { "type": "string" },
"MAILER_SUBJECTS_MAGIC_LINK": { "type": "string" },
"MAILER_TEMPLATES_MAGIC_LINK": { "type": "string" },
"MAILER_TEMPLATES_MAGIC_LINK_CONTENT": { "type": "string" },
"EXTERNAL_AZURE_ENABLED": { "type": "boolean" },
"EXTERNAL_AZURE_CLIENT_ID": { "type": "string" },
"EXTERNAL_AZURE_SECRET": { "type": "string" },
"EXTERNAL_FACEBOOK_ENABLED": { "type": "boolean" },
"EXTERNAL_FACEBOOK_CLIENT_ID": { "type": "string" },
"EXTERNAL_FACEBOOK_SECRET": { "type": "string" },
"URI_ALLOW_LIST": { "type": "string" },
"EXTERNAL_TWITTER_ENABLED": { "type": "boolean" },
"EXTERNAL_TWITTER_CLIENT_ID": { "type": "string" },
"EXTERNAL_TWITTER_SECRET": { "type": "string" },
"EXTERNAL_APPLE_ENABLED": { "type": "boolean" },
"EXTERNAL_APPLE_CLIENT_ID": { "type": "string" },
"EXTERNAL_APPLE_SECRET": { "type": "string" },
"EXTERNAL_DISCORD_ENABLED": { "type": "boolean" },
"EXTERNAL_DISCORD_CLIENT_ID": { "type": "string" },
"EXTERNAL_DISCORD_SECRET": { "type": "string" },
"EXTERNAL_TWITCH_ENABLED": { "type": "boolean" },
"EXTERNAL_TWITCH_CLIENT_ID": { "type": "string" },
"EXTERNAL_TWITCH_SECRET": { "type": "string" },
"SMTP_SENDER_NAME": { "type": "string" },
"EXTERNAL_EMAIL_ENABLED": { "type": "boolean" },
"EXTERNAL_PHONE_ENABLED": { "type": "boolean" },
"SMS_AUTOCONFIRM": { "type": "boolean" },
"SMS_MAX_FREQUENCY": { "type": "number" },
"SMS_OTP_EXP": { "type": "number" },
"SMS_OTP_LENGTH": { "type": "number" },
"SMS_PROVIDER": { "type": "string" },
"SMS_TWILIO_ACCOUNT_SID": { "type": "string" },
"SMS_TWILIO_AUTH_TOKEN": { "type": "string" },
"SMS_TWILIO_MESSAGE_SERVICE_SID": { "type": "string" },
"SMS_TEMPLATE": { "type": "string" },
"SECURITY_CAPTCHA_ENABLED": { "type": "boolean" },
"SECURITY_CAPTCHA_PROVIDER": { "type": "string" },
"SECURITY_CAPTCHA_SECRET": { "type": "string" },
"RATE_LIMIT_EMAIL_SENT": { "type": "number" },
"MAILER_SECURE_EMAIL_CHANGE_ENABLED": { "type": "boolean" },
"EXTERNAL_SPOTIFY_ENABLED": { "type": "boolean" },
"EXTERNAL_SPOTIFY_CLIENT_ID": { "type": "string" },
"EXTERNAL_SPOTIFY_SECRET": { "type": "string" },
"EXTERNAL_SLACK_ENABLED": { "type": "boolean" },
"EXTERNAL_SLACK_CLIENT_ID": { "type": "string" },
"EXTERNAL_SLACK_SECRET": { "type": "string" },
"SMS_MESSAGEBIRD_ACCESS_KEY": { "type": "string" },
"SMS_MESSAGEBIRD_ORIGINATOR": { "type": "string" },
"SMTP_PASS_ENCRYPTED": { "type": "string" },
"REFRESH_TOKEN_ROTATION_ENABLED": { "type": "boolean" },
"EXTERNAL_LINKEDIN_ENABLED": { "type": "boolean" },
"EXTERNAL_LINKEDIN_CLIENT_ID": { "type": "string" },
"EXTERNAL_LINKEDIN_SECRET": { "type": "string" },
"EXTERNAL_NOTION_ENABLED": { "type": "boolean" },
"EXTERNAL_NOTION_CLIENT_ID": { "type": "string" },
"EXTERNAL_NOTION_SECRET": { "type": "string" },
"SMS_VONAGE_API_KEY": { "type": "string" },
"SMS_VONAGE_API_SECRET": { "type": "string" },
"SMS_VONAGE_FROM": { "type": "string" },
"SMS_TEXTLOCAL_API_KEY": { "type": "string" },
"SMS_TEXTLOCAL_SENDER": { "type": "string" },
"EXTERNAL_ZOOM_ENABLED": { "type": "boolean" },
"EXTERNAL_ZOOM_CLIENT_ID": { "type": "string" },
"EXTERNAL_ZOOM_SECRET": { "type": "string" },
"EXTERNAL_AZURE_URL": { "type": "string" },
"PASSWORD_MIN_LENGTH": { "type": "number" },
"EXTERNAL_KEYCLOAK_ENABLED": { "type": "boolean" },
"EXTERNAL_KEYCLOAK_CLIENT_ID": { "type": "string" },
"EXTERNAL_KEYCLOAK_SECRET": { "type": "string" },
"EXTERNAL_KEYCLOAK_URL": { "type": "string" },
"EXTERNAL_WORKOS_ENABLED": { "type": "boolean" },
"EXTERNAL_WORKOS_CLIENT_ID": { "type": "string" },
"EXTERNAL_WORKOS_SECRET": { "type": "string" },
"EXTERNAL_WORKOS_URL": { "type": "string" },
"SECURITY_UPDATE_PASSWORD_REQUIRE_REAUTHENTICATION": {
"type": "boolean"
},
"SECURITY_REFRESH_TOKEN_REUSE_INTERVAL": { "type": "number" },
"MAILER_OTP_EXP": { "type": "number" },
"RATE_LIMIT_VERIFY": { "type": "number" },
"RATE_LIMIT_TOKEN_REFRESH": { "type": "number" },
"id": { "type": "number" },
"project_id": { "type": "number" },
"updated_at": { "type": "string" }
},
"required": [
"SITE_URL",
"OPERATOR_TOKEN",
"DISABLE_SIGNUP",
"RATE_LIMIT_HEADER",
"JWT_EXP",
"JWT_AUD",
"JWT_DEFAULT_GROUP_NAME",
"EXTERNAL_GITHUB_ENABLED",
"EXTERNAL_GITHUB_CLIENT_ID",
"EXTERNAL_GITHUB_SECRET",
"EXTERNAL_BITBUCKET_ENABLED",
"EXTERNAL_BITBUCKET_CLIENT_ID",
"EXTERNAL_BITBUCKET_SECRET",
"EXTERNAL_GOOGLE_ENABLED",
"EXTERNAL_GOOGLE_CLIENT_ID",
"EXTERNAL_GOOGLE_SECRET",
"EXTERNAL_GITLAB_ENABLED",
"EXTERNAL_GITLAB_CLIENT_ID",
"EXTERNAL_GITLAB_SECRET",
"EXTERNAL_GITLAB_REDIRECT_URI",
"EXTERNAL_GITLAB_URL",
"SMTP_ADMIN_EMAIL",
"SMTP_HOST",
"SMTP_PORT",
"SMTP_USER",
"SMTP_PASS",
"SMTP_MAX_FREQUENCY",
"MAILER_AUTOCONFIRM",
"MAILER_URLPATHS_INVITE",
"MAILER_URLPATHS_CONFIRMATION",
"MAILER_URLPATHS_RECOVERY",
"MAILER_URLPATHS_EMAIL_CHANGE",
"MAILER_SUBJECTS_INVITE",
"MAILER_SUBJECTS_CONFIRMATION",
"MAILER_SUBJECTS_RECOVERY",
"MAILER_SUBJECTS_EMAIL_CHANGE",
"MAILER_TEMPLATES_INVITE",
"MAILER_TEMPLATES_INVITE_CONTENT",
"MAILER_TEMPLATES_CONFIRMATION",
"MAILER_TEMPLATES_CONFIRMATION_CONTENT",
"MAILER_TEMPLATES_RECOVERY",
"MAILER_TEMPLATES_RECOVERY_CONTENT",
"MAILER_TEMPLATES_EMAIL_CHANGE",
"MAILER_TEMPLATES_EMAIL_CHANGE_CONTENT",
"MAILER_SUBJECTS_MAGIC_LINK",
"MAILER_TEMPLATES_MAGIC_LINK",
"MAILER_TEMPLATES_MAGIC_LINK_CONTENT",
"EXTERNAL_AZURE_ENABLED",
"EXTERNAL_AZURE_CLIENT_ID",
"EXTERNAL_AZURE_SECRET",
"EXTERNAL_FACEBOOK_ENABLED",
"EXTERNAL_FACEBOOK_CLIENT_ID",
"EXTERNAL_FACEBOOK_SECRET",
"URI_ALLOW_LIST",
"EXTERNAL_TWITTER_ENABLED",
"EXTERNAL_TWITTER_CLIENT_ID",
"EXTERNAL_TWITTER_SECRET",
"EXTERNAL_APPLE_ENABLED",
"EXTERNAL_APPLE_CLIENT_ID",
"EXTERNAL_APPLE_SECRET",
"EXTERNAL_DISCORD_ENABLED",
"EXTERNAL_DISCORD_CLIENT_ID",
"EXTERNAL_DISCORD_SECRET",
"EXTERNAL_TWITCH_ENABLED",
"EXTERNAL_TWITCH_CLIENT_ID",
"EXTERNAL_TWITCH_SECRET",
"SMTP_SENDER_NAME",
"EXTERNAL_EMAIL_ENABLED",
"EXTERNAL_PHONE_ENABLED",
"SMS_AUTOCONFIRM",
"SMS_MAX_FREQUENCY",
"SMS_OTP_EXP",
"SMS_OTP_LENGTH",
"SMS_PROVIDER",
"SMS_TWILIO_ACCOUNT_SID",
"SMS_TWILIO_AUTH_TOKEN",
"SMS_TWILIO_MESSAGE_SERVICE_SID",
"SMS_TEMPLATE",
"SECURITY_CAPTCHA_ENABLED",
"SECURITY_CAPTCHA_PROVIDER",
"SECURITY_CAPTCHA_SECRET",
"RATE_LIMIT_EMAIL_SENT",
"MAILER_SECURE_EMAIL_CHANGE_ENABLED",
"EXTERNAL_SPOTIFY_ENABLED",
"EXTERNAL_SPOTIFY_CLIENT_ID",
"EXTERNAL_SPOTIFY_SECRET",
"EXTERNAL_SLACK_ENABLED",
"EXTERNAL_SLACK_CLIENT_ID",
"EXTERNAL_SLACK_SECRET",
"SMS_MESSAGEBIRD_ACCESS_KEY",
"SMS_MESSAGEBIRD_ORIGINATOR",
"SMTP_PASS_ENCRYPTED",
"REFRESH_TOKEN_ROTATION_ENABLED",
"EXTERNAL_LINKEDIN_ENABLED",
"EXTERNAL_LINKEDIN_CLIENT_ID",
"EXTERNAL_LINKEDIN_SECRET",
"EXTERNAL_NOTION_ENABLED",
"EXTERNAL_NOTION_CLIENT_ID",
"EXTERNAL_NOTION_SECRET",
"SMS_VONAGE_API_KEY",
"SMS_VONAGE_API_SECRET",
"SMS_VONAGE_FROM",
"SMS_TEXTLOCAL_API_KEY",
"SMS_TEXTLOCAL_SENDER",
"EXTERNAL_ZOOM_ENABLED",
"EXTERNAL_ZOOM_CLIENT_ID",
"EXTERNAL_ZOOM_SECRET",
"EXTERNAL_AZURE_URL",
"PASSWORD_MIN_LENGTH",
"EXTERNAL_KEYCLOAK_ENABLED",
"EXTERNAL_KEYCLOAK_CLIENT_ID",
"EXTERNAL_KEYCLOAK_SECRET",
"EXTERNAL_KEYCLOAK_URL",
"EXTERNAL_WORKOS_ENABLED",
"EXTERNAL_WORKOS_CLIENT_ID",
"EXTERNAL_WORKOS_SECRET",
"EXTERNAL_WORKOS_URL",
"SECURITY_UPDATE_PASSWORD_REQUIRE_REAUTHENTICATION",
"SECURITY_REFRESH_TOKEN_REUSE_INTERVAL",
"MAILER_OTP_EXP",
"RATE_LIMIT_VERIFY",
"RATE_LIMIT_TOKEN_REFRESH",
"id",
"project_id",
"updated_at"
]
},
"UserBody": {
"type": "object",
"properties": {
"id": { "type": "string" },
"aud": { "type": "string" },
"banned_until": { "type": "string" },
"confirmation_sent_at": { "type": "string" },
"confirmation_token": { "type": "string" },
"confirmed_at": { "type": "string" },
"created_at": { "type": "string" },
"email": { "type": "string" },
"email_change": { "type": "string" },
"email_change_confirm_status": { "type": "number" },
"email_change_sent_at": { "type": "string" },
"email_change_token_current": { "type": "string" },
"email_change_token_new": { "type": "string" },
"email_confirmed_at": { "type": "string" },
"encrypted_password": { "type": "string" },
"instance_id": { "type": "string" },
"invited_at": { "type": "string" },
"is_super_admin": { "type": "boolean" },
"last_sign_in_at": { "type": "string" },
"phone": { "type": "string" },
"phone_change": { "type": "string" },
"phone_change_sent_at": { "type": "string" },
"phone_change_token": { "type": "string" },
"phone_confirmed_at": { "type": "string" },
"raw_app_meta_data": { "type": "object" },
"raw_user_meta_data": { "type": "object" },
"reauthentication_sent_at": { "type": "string" },
"reauthentication_token": { "type": "string" },
"recovery_sent_at": { "type": "string" },
"recovery_token": { "type": "string" },
"role": { "type": "string" },
"updated_at": { "type": "string" }
},
"required": [
"id",
"aud",
"banned_until",
"confirmation_sent_at",
"confirmation_token",
"confirmed_at",
"created_at",
"email",
"email_change",
"email_change_confirm_status",
"email_change_sent_at",
"email_change_token_current",
"email_change_token_new",
"email_confirmed_at",
"encrypted_password",
"instance_id",
"invited_at",
"is_super_admin",
"last_sign_in_at",
"phone",
"phone_change",
"phone_change_sent_at",
"phone_change_token",
"phone_confirmed_at",
"raw_app_meta_data",
"raw_user_meta_data",
"reauthentication_sent_at",
"reauthentication_token",
"recovery_sent_at",
"recovery_token",
"role",
"updated_at"
]
},
"Backup": {
"type": "object",
"properties": {
"id": { "type": "number" },
"data": { "type": "object" },
"project_id": { "type": "number" },
"status": { "type": "object" },
"s3_path": { "type": "string" },
"s3_bucket": { "type": "string" },
"inserted_at": { "type": "string" }
},
"required": [
"id",
"data",
"project_id",
"status",
"s3_path",
"s3_bucket",
"inserted_at"
]
},
"BackupsResponse": {
"type": "object",
"properties": {
"tierId": { "type": "string" },
"tierKey": { "type": "string" },
"region": { "type": "string" },
"walg_enabled": { "type": "boolean" },
"backups": {
"type": "array",
"items": { "$ref": "#/components/schemas/Backup" }
},
"physicalBackupData": {
"type": "object",
"properties": {
"earliestPhysicalBackupDateUnix": {
"required": true,
"type": "number"
},
"latestPhysicalBackupDateUnix": {
"required": true,
"type": "number"
}
}
}
},
"required": [
"tierId",
"tierKey",
"region",
"walg_enabled",
"backups",
"physicalBackupData"
]
},
"DownloadBackupBody": {
"type": "object",
"properties": {
"id": { "type": "number" },
"data": { "type": "object" },
"inserted_at": { "type": "string" },
"project_id": { "type": "number" },
"s3_bucket": { "type": "string" },
"s3_path": { "type": "string" },
"status": { "type": "string" }
},
"required": [
"id",
"data",
"inserted_at",
"project_id",
"s3_bucket",
"s3_path",
"status"
]
},
"DownloadBackupResponse": {
"type": "object",
"properties": { "fileUrl": { "type": "string" } },
"required": ["fileUrl"]
},
"RestoreBackupBody": {
"type": "object",
"properties": {
"id": { "type": "number" },
"data": { "type": "object" },
"inserted_at": { "type": "string" },
"project_id": { "type": "number" },
"s3_bucket": { "type": "string" },
"s3_path": { "type": "string" },
"status": { "type": "string" }
},
"required": [
"id",
"data",
"inserted_at",
"project_id",
"s3_bucket",
"s3_path",
"status"
]
},
"PointInTimeRestoreBody": {
"type": "object",
"properties": { "recovery_time_target_unix": { "type": "number" } },
"required": ["recovery_time_target_unix"]
},
"Organization": {
"type": "object",
"properties": {
"id": { "type": "number" },
"slug": { "type": "string" },
"name": { "type": "string" },
"billing_email": { "type": "string" },
"stripe_customer_id": { "type": "string" }
},
"required": [
"id",
"slug",
"name",
"billing_email",
"stripe_customer_id"
]
},
"CreateOrganizationBody": {
"type": "object",
"properties": { "name": { "type": "string" } },
"required": ["name"]
},
"UpdateOrganizationBody": {
"type": "object",
"properties": {
"name": { "type": "string" },
"billing_email": { "type": "string" }
},
"required": ["name", "billing_email"]
},
"RemovedOrganization": {
"type": "object",
"properties": {
"id": { "type": "number" },
"slug": { "type": "string" },
"name": { "type": "string" },
"billing_email": { "type": "string" },
"stripe_customer_id": { "type": "string" },
"status": { "type": "string", "enum": ["ACTIVE", "REMOVED"] }
},
"required": [
"id",
"slug",
"name",
"billing_email",
"stripe_customer_id",
"status"
]
},
"Member": {
"type": "object",
"properties": {
"gotrue_id": { "type": "string" },
"primary_email": { "type": "string" },
"role_ids": { "type": "array", "items": { "type": "number" } },
"username": { "type": "string" }
},
"required": ["gotrue_id", "primary_email", "role_ids", "username"]
},
"AddMemberBody": {
"type": "object",
"properties": {
"gotrue_id": { "type": "string" },
"org_id": { "type": "number" },
"user_id": { "type": "number" }
},
"required": ["gotrue_id", "user_id"]
},
"RemoveMemberBody": {
"type": "object",
"properties": { "member_id": { "type": "number" } },
"required": ["member_id"]
},
"CreateTaxIdBody": {
"type": "object",
"properties": {
"type": { "type": "object" },
"value": { "type": "string" }
},
"required": ["type", "value"]
},
"DeleteTaxIdBody": {
"type": "object",
"properties": { "id": { "type": "string" } },
"required": ["id"]
},
"TransferOrganizationBody": {
"type": "object",
"properties": {
"member_id": { "type": "number" },
"org_id": { "type": "number" }
},
"required": ["member_id", "org_id"]
},
"InviteUserBody": {
"type": "object",
"properties": {
"invited_email": { "type": "string" },
"owner_id": { "type": "number" }
},
"required": ["invited_email", "owner_id"]
},
"DetachPaymentMethodBody": {
"type": "object",
"properties": { "card_id": { "type": "string" } },
"required": ["card_id"]
},
"CreateColumnBody": {
"type": "object",
"properties": {
"tableId": { "type": "number" },
"name": { "type": "string" },
"type": { "type": "string" },
"check": { "type": "string" },
"comment": { "type": "string" },
"defaultValue": { "type": "object" },
"defaultValueFormat": {
"type": "string",
"enum": ["expression", "literal"]
},
"identityGeneration": {
"type": "string",
"enum": ["BY DEFAULT", "ALWAYS"]
},
"isIdentity": { "type": "boolean" },
"isNullable": { "type": "boolean" },
"isPrimaryKey": { "type": "boolean" },
"isUnique": { "type": "boolean" }
},
"required": ["tableId", "name", "type"]
},
"UpdateColumnBody": {
"type": "object",
"properties": {
"dropDefault": { "type": "boolean" },
"id": { "type": "number", "pattern": {} },
"name": { "type": "string" },
"comment": { "type": "string" },
"type": { "type": "string" },
"defaultValue": { "type": "object" },
"defaultValueFormat": {
"type": "string",
"enum": ["expression", "literal"]
},
"identityGeneration": {
"type": "string",
"enum": ["BY DEFAULT", "ALWAYS"]
},
"isIdentity": { "type": "boolean" },
"isNullable": { "type": "boolean" },
"isUnique": { "type": "boolean" }
}
},
"CreateExtensionBody": {
"type": "object",
"properties": {
"cascade": { "type": "boolean" },
"name": { "type": "string" },
"schema": { "type": "string" },
"version": { "type": "string" }
},
"required": ["cascade", "name", "schema", "version"]
},
"CreateFunctionBody": {
"type": "object",
"properties": {
"args": { "type": "array", "items": { "type": "string" } },
"behavior": {
"type": "string",
"enum": ["VOLATILE", "STABLE", "IMMUTABLE"]
},
"config_params": { "type": "object" },
"definition": { "type": "string" },
"language": { "type": "string" },
"name": { "type": "string" },
"return_type": { "type": "string" },
"schema": { "type": "string" },
"security_definer": { "type": "boolean" }
},
"required": [
"args",
"behavior",
"definition",
"language",
"name",
"return_type",
"schema",
"security_definer"
]
},
"UpdateFunctionBody": {
"type": "object",
"properties": {
"id": { "type": "number" },
"args": { "type": "array", "items": { "type": "string" } },
"behavior": {
"type": "string",
"enum": ["VOLATILE", "STABLE", "IMMUTABLE"]
},
"config_params": { "type": "object" },
"definition": { "type": "string" },
"language": { "type": "string" },
"name": { "type": "string" },
"return_type": { "type": "string" },
"schema": { "type": "string" },
"security_definer": { "type": "boolean" }
}
},
"CreatePolicyBody": {
"type": "object",
"properties": {
"name": { "type": "string" },
"table": { "type": "string" },
"schema": { "type": "string" },
"definition": { "type": "string" },
"check": { "type": "string" },
"action": { "type": "string", "enum": ["PERMISSIVE", "RESTRICTIVE"] },
"command": {
"type": "string",
"enum": ["SELECT", "INSERT", "UPDATE", "DELETE", "ALL"]
},
"roles": { "type": "array", "items": { "type": "string" } }
},
"required": ["name", "table"]
},
"UpdatePolicyBody": {
"type": "object",
"properties": {
"id": { "type": "number" },
"name": { "type": "string" },
"definition": { "type": "string" },
"check": { "type": "string" },
"roles": { "type": "array", "items": { "type": "string" } }
}
},
"CreatePublicationBody": {
"type": "object",
"properties": {
"name": { "type": "string" },
"owner": { "type": "string" },
"tables": { "type": "array", "items": { "type": "string" } },
"publish_insert": { "type": "boolean" },
"publish_update": { "type": "boolean" },
"publish_delete": { "type": "boolean" },
"publish_truncate": { "type": "boolean" }
},
"required": [
"name",
"owner",
"tables",
"publish_insert",
"publish_update",
"publish_delete",
"publish_truncate"
]
},
"UpdatePublicationBody": {
"type": "object",
"properties": {
"id": { "type": "number" },
"name": { "type": "string" },
"tables": { "type": "array", "items": { "type": "string" } },
"publish_insert": { "type": "boolean" },
"publish_update": { "type": "boolean" },
"publish_delete": { "type": "boolean" },
"publish_truncate": { "type": "boolean" }
}
},
"RunQueryBody": {
"type": "object",
"properties": { "query": { "type": "string" } },
"required": ["query"]
},
"FormatQueryBody": {
"type": "object",
"properties": { "query": { "type": "string" } },
"required": ["query"]
},
"ValidateQueryBody": {
"type": "object",
"properties": { "query": { "type": "string" } },
"required": ["query"]
},
"SearchTableBody": {
"type": "object",
"properties": {
"name": { "type": "string" },
"schema": { "type": "string" }
},
"required": ["name", "schema"]
},
"SearchColumnBody": {
"type": "object",
"properties": {
"name": { "type": "string" },
"schema": { "type": "string" }
},
"required": ["name", "schema"]
},
"CreateSchemaBody": {
"type": "object",
"properties": {
"name": { "type": "string" },
"owner": { "type": "string" }
},
"required": ["name", "owner"]
},
"UpdateSchemaBody": {
"type": "object",
"properties": {
"name": { "type": "string" },
"owner": { "type": "string" }
}
},
"CreateTableBody": {
"type": "object",
"properties": {
"name": { "type": "string" },
"schema": { "type": "string" },
"comment": { "type": "string" }
},
"required": ["name"]
},
"UpdateTableBody": {
"type": "object",
"properties": {
"id": { "type": "number" },
"rls_enabled": { "type": "boolean" },
"rls_forced": { "type": "boolean" },
"replica_identity": {
"type": "string",
"enum": ["DEFAULT", "INDEX", "FULL", "NOTHING"]
},
"replica_identity_index": { "type": "string" },
"name": { "type": "string" },
"schema": { "type": "string" },
"comment": { "type": "string" }
}
},
"CreateTriggerBody": {
"type": "object",
"properties": {
"activation": { "type": "string", "enum": ["AFTER", "BEFORE"] },
"enabled_mode": {
"type": "string",
"enum": ["ORIGIN", "REPLICA", "ALWAYS", "DISABLED"]
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": ["INSERT", "UPDATE", "DELETE"]
}
},
"function_args": { "type": "array", "items": { "type": "string" } },
"function_name": { "type": "string" },
"function_schema": { "type": "string" },
"name": { "type": "string" },
"orientation": { "type": "string", "enum": ["ROW", "STATEMENT"] },
"schema": { "type": "string" },
"table": { "type": "string" },
"table_id": { "type": "number" }
},
"required": [
"activation",
"enabled_mode",
"events",
"function_args",
"function_name",
"function_schema",
"name",
"orientation",
"schema",
"table"
]
},
"UpdateTriggerBody": {
"type": "object",
"properties": {
"id": { "type": "number" },
"activation": { "type": "string", "enum": ["AFTER", "BEFORE"] },
"enabled_mode": {
"type": "string",
"enum": ["ORIGIN", "REPLICA", "ALWAYS", "DISABLED"]
},
"events": {
"type": "array",
"items": {
"type": "string",
"enum": ["INSERT", "UPDATE", "DELETE"]
}
},
"function_args": { "type": "array", "items": { "type": "string" } },
"function_name": { "type": "string" },
"function_schema": { "type": "string" },
"name": { "type": "string" },
"orientation": { "type": "string", "enum": ["ROW", "STATEMENT"] },
"schema": { "type": "string" },
"table": { "type": "string" },
"table_id": { "type": "number" }
}
},
"AccessToken": {
"type": "object",
"properties": {
"created_at": { "type": "string" },
"id": { "type": "number" },
"token_alias": { "type": "string" },
"name": { "type": "string" }
},
"required": ["created_at", "id", "token_alias", "name"]
},
"CreateAccessTokenBody": {
"type": "object",
"properties": { "name": { "type": "string" } },
"required": ["name"]
},
"CreateAccessTokenResponse": {
"type": "object",
"properties": {
"created_at": { "type": "string" },
"id": { "type": "number" },
"token_alias": { "type": "string" },
"name": { "type": "string" },
"token": { "type": "string" }
},
"required": ["created_at", "id", "token_alias", "name", "token"]
},
"SearchProfileBody": {
"type": "object",
"properties": { "keywords": { "type": "string" } },
"required": ["keywords"]
},
"Profile": {
"type": "object",
"properties": {
"first_name": { "type": "string" },
"gotrue_id": { "type": "string" },
"id": { "type": "number" },
"last_name": { "type": "string" },
"username": { "type": "string" }
},
"required": ["first_name", "gotrue_id", "id", "last_name", "username"]
},
"SubscriptionStatisticsResponse": {
"type": "object",
"properties": {
"total_paid_projects": { "type": "number" },
"total_free_projects": { "type": "number" },
"total_active_free_projects": { "type": "number" },
"total_paused_free_projects": { "type": "number" },
"total_pro_projects": { "type": "number" },
"total_payg_projects": { "type": "number" },
"total_enterprise_projects": { "type": "number" }
},
"required": [
"total_paid_projects",
"total_free_projects",
"total_active_free_projects",
"total_paused_free_projects",
"total_pro_projects",
"total_payg_projects",
"total_enterprise_projects"
]
},
"PasswordCheckBody": {
"type": "object",
"properties": { "password": { "type": "string" } },
"required": ["password"]
},
"PasswordCheckResponse": {
"type": "object",
"properties": {
"result": {
"type": "object",
"properties": {
"feedback": {
"type": "object",
"properties": {
"warning": { "required": true, "type": "string" },
"suggestions": {
"required": true,
"type": "array",
"items": { "type": "string" }
}
}
},
"score": { "required": true, "type": "number" }
}
}
},
"required": ["result"]
},
"Permission": {
"type": "object",
"properties": {
"actions": {
"type": "array",
"items": {
"type": "string",
"enum": [
"analytics:Read",
"auth:Execute",
"billing:Read",
"billing:Write",
"functions:Read",
"functions:Write",
"infra:Execute",
"sql:Read:Select",
"sql:Write:Delete",
"sql:Write:Insert",
"sql:Write:Update",
"storage:Admin:Read",
"storage:Admin:Write",
"tenant:Sql:Admin:Read",
"tenant:Sql:Admin:Write",
"tenant:Sql:CreateTable",
"tenant:Sql:Write:Delete",
"tenant:Sql:Write:Insert",
"tenant:Sql:Query",
"tenant:Sql:Read:Select",
"tenant:Sql:Write:Update"
]
}
},
"condition": { "type": "object", "nullable": true },
"organization_id": { "type": "number" },
"resources": { "type": "array", "items": { "type": "string" } }
},
"required": ["actions", "condition", "organization_id", "resources"]
},
"ProfileResponse": {
"type": "object",
"properties": {
"id": { "type": "number" },
"auth0_id": { "type": "string" },
"primary_email": { "type": "string" },
"username": { "type": "string" },
"first_name": { "type": "string" },
"last_name": { "type": "string" },
"mobile": { "type": "string" },
"is_alpha_user": { "type": "boolean" },
"gotrue_id": { "type": "string" },
"free_project_limit": { "type": "number" }
},
"required": [
"id",
"auth0_id",
"primary_email",
"username",
"first_name",
"last_name",
"mobile",
"is_alpha_user",
"gotrue_id",
"free_project_limit"
]
},
"UpdateProfileBody": {
"type": "object",
"properties": {
"first_name": { "type": "string" },
"last_name": { "type": "string" }
},
"required": ["first_name", "last_name"]
},
"CreateProjectBody": {
"type": "object",
"properties": {
"db_pass": { "type": "string" },
"name": { "type": "string" },
"organization_id": { "type": "string" },
"plan": { "type": "string", "enum": ["free", "pro"] },
"region": {
"type": "string",
"enum": [
"us-east-1",
"us-west-1",
"ap-southeast-1",
"ap-northeast-1",
"ap-northeast-2",
"ap-southeast-2",
"eu-west-1",
"eu-west-2",
"eu-central-1",
"ca-central-1",
"ap-south-1",
"sa-east-1"
]
}
},
"required": ["db_pass", "name", "organization_id", "plan", "region"]
},
"UpdatePasswordBody": {
"type": "object",
"properties": { "password": { "type": "string" } },
"required": ["password"]
},
"PoolingConfig": {
"type": "object",
"properties": {
"db_dns_name": { "type": "string" },
"db_host": { "type": "string" },
"db_name": { "type": "string" },
"db_port": { "type": "number" },
"db_ssl": { "type": "boolean" },
"db_user": { "type": "string" },
"default_pool_size": { "type": "number" },
"ignore_startup_parameters": { "type": "string" },
"inserted_at": { "type": "string" },
"pgbouncer_enabled": { "type": "boolean" },
"pgbouncer_status": { "type": "string" },
"pool_mode": { "type": "string" }
},
"required": [
"db_dns_name",
"db_host",
"db_name",
"db_port",
"db_ssl",
"db_user",
"default_pool_size",
"ignore_startup_parameters",
"inserted_at",
"pgbouncer_enabled",
"pgbouncer_status",
"pool_mode"
]
},
"UpdatePoolingConfigBody": {
"type": "object",
"properties": {
"default_pool_size": { "type": "number" },
"ignore_startup_parameters": { "type": "string" },
"pgbouncer_enabled": { "type": "boolean" },
"pool_mode": {
"type": "string",
"enum": ["transaction", "session", "statement"]
}
},
"required": [
"default_pool_size",
"ignore_startup_parameters",
"pgbouncer_enabled",
"pool_mode"
]
},
"UpdatePoolingConfigResponse": {
"type": "object",
"properties": {
"default_pool_size": { "type": "number" },
"ignore_startup_parameters": { "type": "string" },
"pgbouncer_enabled": { "type": "boolean" },
"pool_mode": {
"enum": ["transaction", "session", "statement"],
"type": "string"
}
},
"required": [
"default_pool_size",
"ignore_startup_parameters",
"pgbouncer_enabled",
"pool_mode"
]
},
"UpdateProjectBody": {
"type": "object",
"properties": { "name": { "type": "string" } },
"required": ["name"]
},
"Project": { "type": "object", "properties": {} },
"RestartRequest": {
"type": "object",
"properties": {
"services": { "type": "array", "items": { "type": "string" } },
"source_notification_id": { "type": "string" },
"region": { "type": "string" }
},
"required": ["services", "region"]
},
"RestartServicesBody": {
"type": "object",
"properties": {
"restartRequest": { "$ref": "#/components/schemas/RestartRequest" }
},
"required": ["restartRequest"]
},
"UsageStatusResponse": {
"type": "object",
"properties": {
"database": {
"type": "string",
"enum": ["fine", "approaching", "over"]
},
"storage": {
"type": "string",
"enum": ["fine", "approaching", "over"]
},
"database_bandwidth": {
"type": "string",
"enum": ["fine", "approaching", "over"]
},
"storage_bandwidth": {
"type": "string",
"enum": ["fine", "approaching", "over"]
},
"active_users": {
"type": "string",
"enum": ["fine", "approaching", "over"]
}
},
"required": [
"database",
"storage",
"database_bandwidth",
"storage_bandwidth",
"active_users"
]
},
"SendEnterpriseRequestBody": {
"type": "object",
"properties": {
"company": { "type": "string" },
"email": { "type": "string" },
"message": { "type": "string" },
"name": { "type": "string" }
},
"required": ["company", "email", "message", "name"]
},
"PreviewSubscriptionBody": {
"type": "object",
"properties": {
"addons": { "type": "array", "items": { "type": "string" } },
"payment_method": { "type": "string" },
"proration_date": { "type": "number" },
"tier": { "type": "string" }
},
"required": ["addons", "payment_method", "proration_date", "tier"]
},
"UpdateSubscriptionBody": {
"type": "object",
"properties": {
"addons": { "type": "array", "items": { "type": "string" } },
"payment_method": { "type": "string" },
"proration_date": { "type": "number" },
"tier": { "type": "string" }
},
"required": ["addons", "payment_method", "proration_date", "tier"]
},
"UpdatePostgrestConfigBody": {
"type": "object",
"properties": {
"db_extra_search_path": { "type": "string" },
"db_schema": { "type": "string" },
"max_rows": { "type": "number" }
},
"required": ["db_extra_search_path", "db_schema", "max_rows"]
},
"UpdateSecretsConfigBody": {
"type": "object",
"properties": {
"jwt_secret": { "type": "string" },
"change_tracking_id": { "type": "string" }
},
"required": ["jwt_secret", "change_tracking_id"]
},
"UpdateStorageConfigBody": {
"type": "object",
"properties": { "fileSizeLimit": { "type": "number" } },
"required": ["fileSizeLimit"]
},
"OrganizationMembersResponse": {
"type": "object",
"properties": {
"members": {
"type": "array",
"items": { "$ref": "#/components/schemas/Member" }
}
},
"required": ["members"]
},
"PoolingRefConfig": {
"type": "object",
"properties": {
"db_dns_name": { "type": "string" },
"db_host": { "type": "string" },
"db_name": { "type": "string" },
"db_port": { "type": "number" },
"db_ssl": { "type": "boolean" },
"db_user": { "type": "string" },
"default_pool_size": { "type": "number" },
"ignore_startup_parameters": { "type": "string" },
"inserted_at": { "type": "string" },
"pgbouncer_enabled": { "type": "boolean" },
"pgbouncer_status": { "type": "string" },
"pool_mode": { "type": "string" }
},
"required": [
"db_dns_name",
"db_host",
"db_name",
"db_port",
"db_ssl",
"db_user",
"default_pool_size",
"ignore_startup_parameters",
"inserted_at",
"pgbouncer_enabled",
"pgbouncer_status",
"pool_mode"
]
},
"PoolingRefConfigResponse": {
"type": "object",
"properties": {
"project": { "$ref": "#/components/schemas/PoolingRefConfig" }
},
"required": ["project"]
},
"UpdatePoolingRefConfigBody": {
"type": "object",
"properties": {
"default_pool_size": { "type": "number" },
"ignore_startup_parameters": { "type": "string" },
"pgbouncer_enabled": { "type": "boolean" },
"pool_mode": {
"type": "string",
"enum": ["transaction", "session", "statement"]
}
},
"required": [
"default_pool_size",
"ignore_startup_parameters",
"pgbouncer_enabled",
"pool_mode"
]
},
"UpdatePoolingRefConfigResponse": {
"type": "object",
"properties": {
"project": {
"$ref": "#/components/schemas/UpdatePoolingRefConfigBody"
}
},
"required": ["project"]
},
"ServiceApiKey": {
"type": "object",
"properties": {
"api_key_encrypted": { "type": "string" },
"tags": { "type": "string" },
"name": { "type": "string" }
},
"required": ["api_key_encrypted", "tags", "name"]
},
"AutoApiService": {
"type": "object",
"properties": {
"endpoint": { "type": "string" },
"restUrl": { "type": "string" },
"project": {
"type": "object",
"properties": { "ref": { "required": true, "type": "string" } }
},
"defaultApiKey": { "type": "string" },
"serviceApiKey": { "type": "string" },
"id": { "type": "number" },
"name": { "type": "string" },
"app_config": { "type": "object" },
"app": {
"type": "object",
"properties": {
"id": { "required": true, "type": "number" },
"name": { "required": true, "type": "string" }
}
},
"service_api_keys": {
"type": "array",
"items": { "$ref": "#/components/schemas/ServiceApiKey" }
}
},
"required": [
"endpoint",
"restUrl",
"project",
"defaultApiKey",
"serviceApiKey",
"id",
"name",
"app_config",
"app",
"service_api_keys"
]
},
"ApiResponse": {
"type": "object",
"properties": {
"project": { "$ref": "#/components/schemas/Project" },
"autoApiService": { "$ref": "#/components/schemas/AutoApiService" }
},
"required": ["project", "autoApiService"]
},
"JwtSecretUpdateStatus": {
"type": "object",
"properties": {
"jwtSecretUpdateStatus": {
"type": "object",
"properties": {
"change_tracking_id": { "required": true, "type": "string" },
"error": {
"required": false,
"enum": [
"PostgreSQLRestartFailed",
"APIServicesConfigurationUpdateFailed",
"APIServicesRestartFailed",
"DatabaseAdminAPIConfigurationUpdateFailed",
"SupabaseAPIKeyUpdateFailed",
"APIGatewayUpdateFailed"
],
"type": "string"
},
"progress": {
"required": false,
"enum": [
"Started",
"RestartedPostgreSQL",
"UpdatedAPIServicesConfiguration",
"RestartedAPIServices",
"UpdatedDatabaseAdminAPIConfiguration",
"UpdatedAPIGatewayConfiguration"
],
"type": "string"
},
"status": {
"required": true,
"enum": ["Updating", "Updated", "Failed"],
"type": "string"
}
}
}
},
"required": ["jwtSecretUpdateStatus"]
},
"ServiceApiKeyResponse": {
"type": "object",
"properties": {
"api_key": { "type": "string" },
"api_key_encrypted": { "type": "string" },
"tags": { "type": "string" },
"name": { "type": "string" }
},
"required": ["api_key", "api_key_encrypted", "tags", "name"]
},
"ServiceResponse": {
"type": "object",
"properties": {
"service_api_keys": {
"type": "array",
"items": { "$ref": "#/components/schemas/ServiceApiKeyResponse" }
},
"id": { "type": "number" },
"name": { "type": "string" },
"app_config": { "type": "object" },
"app": {
"type": "object",
"properties": {
"id": { "required": true, "type": "number" },
"name": { "required": true, "type": "string" }
}
}
},
"required": ["service_api_keys", "id", "name", "app_config", "app"]
},
"ProjectResponse": {
"type": "object",
"properties": {
"id": { "type": "string" },
"organization_id": { "type": "string" },
"name": { "type": "string" },
"region": { "type": "string" },
"created_at": { "type": "string" }
},
"required": ["id", "organization_id", "name", "region", "created_at"]
},
"SettingsResponse": {
"type": "object",
"properties": {
"project": { "$ref": "#/components/schemas/ProjectResponse" },
"services": {
"type": "array",
"items": { "$ref": "#/components/schemas/ServiceResponse" }
}
},
"required": ["project", "services"]
},
"GetCustomerBody": {
"type": "object",
"properties": { "stripe_customer_id": { "type": "string" } },
"required": ["stripe_customer_id"]
},
"CreateCustomerPortalSessionBody": {
"type": "object",
"properties": {
"projectRef": { "type": "string", "minLength": 20, "maxLength": 20 },
"returnTo": { "type": "string" }
},
"required": ["projectRef", "returnTo"]
},
"TelemetryEventBody": {
"type": "object",
"properties": {
"category": { "type": "string" },
"action": { "type": "string" },
"label": { "type": "object" },
"value": { "type": "string" }
},
"required": ["category", "action"]
},
"CreateVercelEnvironmentVariableBody": {
"type": "object",
"properties": {
"key": { "type": "string" },
"target": { "type": "array", "items": { "type": "string" } },
"type": { "type": "string" },
"value": { "type": "string" }
},
"required": ["key", "target", "type", "value"]
},
"CreateSubscriptionBody": {
"type": "object",
"properties": { "projectId": { "type": "number" } },
"required": ["projectId"]
},
"StripeSyncBody": {
"type": "object",
"properties": { "organizationId": { "type": "number" } },
"required": ["organizationId"]
},
"Buffer": { "type": "object", "properties": {} },
"OrganizationResponse": {
"type": "object",
"properties": {
"id": { "type": "string" },
"name": { "type": "string" }
},
"required": ["id", "name"]
}
}
}
}