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