mirror of
https://github.com/supabase/supabase.git
synced 2026-05-23 19:13:13 +08:00
16555 lines
497 KiB
JSON
16555 lines
497 KiB
JSON
{
|
|
"openapi": "3.0.0",
|
|
"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": {}
|
|
},
|
|
"servers": [],
|
|
"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"
|
|
}
|
|
],
|
|
"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": {
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pr_number": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"latest_check_run_id": {
|
|
"type": "number",
|
|
"deprecated": true,
|
|
"description": "This field is deprecated and will not be populated."
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"CREATING_PROJECT",
|
|
"RUNNING_MIGRATIONS",
|
|
"MIGRATIONS_PASSED",
|
|
"MIGRATIONS_FAILED",
|
|
"FUNCTIONS_DEPLOYED",
|
|
"FUNCTIONS_FAILED"
|
|
]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"workflow_run_id": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["workflow_run_id", "message"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"workflow_run_id": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["workflow_run_id", "message"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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": {
|
|
"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"]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"organization_id",
|
|
"name",
|
|
"region",
|
|
"created_at",
|
|
"status",
|
|
"database"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": ["Projects"],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "v1-create-a-project",
|
|
"summary": "Create a project",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "name"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["name"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "name"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "name"]
|
|
},
|
|
"owner": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "username"]
|
|
},
|
|
"updated_by": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "username"]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"inserted_at",
|
|
"updated_at",
|
|
"type",
|
|
"visibility",
|
|
"name",
|
|
"description",
|
|
"project",
|
|
"owner",
|
|
"updated_by"
|
|
]
|
|
}
|
|
},
|
|
"cursor": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "name"]
|
|
},
|
|
"owner": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "username"]
|
|
},
|
|
"updated_by": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "username"]
|
|
},
|
|
"content": {
|
|
"type": "object",
|
|
"properties": {
|
|
"favorite": {
|
|
"type": "boolean"
|
|
},
|
|
"schema_version": {
|
|
"type": "string"
|
|
},
|
|
"sql": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["favorite", "schema_version", "sql"]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"inserted_at",
|
|
"updated_at",
|
|
"type",
|
|
"visibility",
|
|
"name",
|
|
"description",
|
|
"project",
|
|
"owner",
|
|
"updated_by",
|
|
"content"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
]
|
|
},
|
|
"inserted_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"required": ["name", "api_key"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"enum": ["publishable", "secret"],
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"secret_jwt_template": {
|
|
"nullable": true,
|
|
"allOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["type"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"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": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
]
|
|
},
|
|
"inserted_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"required": ["name", "api_key"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"secret_jwt_template": {
|
|
"nullable": true,
|
|
"allOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"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": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
]
|
|
},
|
|
"inserted_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"required": ["name", "api_key"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
]
|
|
},
|
|
"inserted_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"required": ["name", "api_key"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
]
|
|
},
|
|
"inserted_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"required": ["name", "api_key"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"desired_instance_size": {
|
|
"type": "string",
|
|
"enum": [
|
|
"micro",
|
|
"small",
|
|
"medium",
|
|
"large",
|
|
"xlarge",
|
|
"2xlarge",
|
|
"4xlarge",
|
|
"8xlarge",
|
|
"12xlarge",
|
|
"16xlarge"
|
|
]
|
|
},
|
|
"release_channel": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"postgres_engine": {
|
|
"type": "string",
|
|
"description": "Postgres engine version. If not provided, the latest version will be used.",
|
|
"enum": ["15", "17-oriole"]
|
|
},
|
|
"branch_name": {
|
|
"type": "string"
|
|
},
|
|
"git_branch": {
|
|
"type": "string"
|
|
},
|
|
"persistent": {
|
|
"type": "boolean"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["branch_name"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"pr_number": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"latest_check_run_id": {
|
|
"type": "number",
|
|
"deprecated": true,
|
|
"description": "This field is deprecated and will not be populated."
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"CREATING_PROJECT",
|
|
"RUNNING_MIGRATIONS",
|
|
"MIGRATIONS_PASSED",
|
|
"MIGRATIONS_FAILED",
|
|
"FUNCTIONS_DEPLOYED",
|
|
"FUNCTIONS_FAILED"
|
|
]
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"messages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"result": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
},
|
|
"ssl": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"validation_records": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"txt_name": {
|
|
"type": "string"
|
|
},
|
|
"txt_value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["txt_name", "txt_value"]
|
|
}
|
|
},
|
|
"validation_errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["status", "validation_records"]
|
|
},
|
|
"ownership_verification": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "name", "value"]
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"required": ["success", "errors", "messages", "result"]
|
|
}
|
|
},
|
|
"required": ["status", "custom_hostname", "data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"custom_hostname": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["custom_hostname"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"messages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"result": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
},
|
|
"ssl": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"validation_records": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"txt_name": {
|
|
"type": "string"
|
|
},
|
|
"txt_value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["txt_name", "txt_value"]
|
|
}
|
|
},
|
|
"validation_errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["status", "validation_records"]
|
|
},
|
|
"ownership_verification": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "name", "value"]
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"required": ["success", "errors", "messages", "result"]
|
|
}
|
|
},
|
|
"required": ["status", "custom_hostname", "data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"messages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"result": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
},
|
|
"ssl": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"validation_records": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"txt_name": {
|
|
"type": "string"
|
|
},
|
|
"txt_value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["txt_name", "txt_value"]
|
|
}
|
|
},
|
|
"validation_errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["status", "validation_records"]
|
|
},
|
|
"ownership_verification": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "name", "value"]
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"required": ["success", "errors", "messages", "result"]
|
|
}
|
|
},
|
|
"required": ["status", "custom_hostname", "data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"messages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"result": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
},
|
|
"ssl": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"validation_records": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"txt_name": {
|
|
"type": "string"
|
|
},
|
|
"txt_value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["txt_name", "txt_value"]
|
|
}
|
|
},
|
|
"validation_errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["status", "validation_records"]
|
|
},
|
|
"ownership_verification": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "name", "value"]
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"required": ["success", "errors", "messages", "result"]
|
|
}
|
|
},
|
|
"required": ["status", "custom_hostname", "data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"banned_ipv4_addresses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": ["banned_ipv4_addresses"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ipv4_addresses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": ["ipv4_addresses"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"entitlement": {
|
|
"enum": ["disallowed", "allowed"],
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dbAllowedCidrs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"dbAllowedCidrsV6": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"old_config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dbAllowedCidrs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"dbAllowedCidrsV6": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"status": {
|
|
"enum": ["stored", "applied"],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["entitlement", "config", "status"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dbAllowedCidrs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"dbAllowedCidrsV6": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"entitlement": {
|
|
"enum": ["disallowed", "allowed"],
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dbAllowedCidrs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"dbAllowedCidrsV6": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"old_config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dbAllowedCidrs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"dbAllowedCidrsV6": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"status": {
|
|
"enum": ["stored", "applied"],
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["entitlement", "config", "status"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"root_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["root_key"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"root_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["root_key"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"root_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["root_key"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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": {
|
|
"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"]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"organization_id",
|
|
"name",
|
|
"region",
|
|
"created_at",
|
|
"status",
|
|
"database"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"ref": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "ref", "name"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["name", "value"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"currentConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"database": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["database"]
|
|
},
|
|
"appliedSuccessfully": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["currentConfig", "appliedSuccessfully"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"requestedConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"database": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["database"]
|
|
}
|
|
},
|
|
"required": ["requestedConfig"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"currentConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"database": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["database"]
|
|
},
|
|
"appliedSuccessfully": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["currentConfig", "appliedSuccessfully"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"types": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["types"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"enum": ["not-used", "custom-domain-used", "active"],
|
|
"type": "string"
|
|
},
|
|
"custom_domain": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["status"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"vanity_subdomain": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["vanity_subdomain"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"available": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["available"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"vanity_subdomain": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["vanity_subdomain"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"custom_domain": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["custom_domain"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"release_channel": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"target_version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["release_channel", "target_version"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tracking_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["tracking_id"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_app_version_release_channel": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"duration_estimate_hours": {
|
|
"type": "integer"
|
|
},
|
|
"eligible": {
|
|
"type": "boolean"
|
|
},
|
|
"current_app_version": {
|
|
"type": "string"
|
|
},
|
|
"latest_app_version": {
|
|
"type": "string"
|
|
},
|
|
"target_upgrade_versions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"postgres_version": {
|
|
"type": "string",
|
|
"description": "Postgres engine version. If not provided, the latest version will be used.",
|
|
"enum": ["15", "17-oriole"]
|
|
},
|
|
"release_channel": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"app_version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["postgres_version", "release_channel", "app_version"]
|
|
}
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databaseUpgradeStatus": {
|
|
"nullable": true,
|
|
"allOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"target_version": {
|
|
"type": "integer"
|
|
},
|
|
"status": {
|
|
"enum": [0, 1, 2],
|
|
"type": "integer"
|
|
},
|
|
"initiated_at": {
|
|
"type": "string"
|
|
},
|
|
"latest_status_at": {
|
|
"type": "string"
|
|
},
|
|
"error": {
|
|
"type": "string",
|
|
"enum": [
|
|
"1_upgraded_instance_launch_failed",
|
|
"2_volume_detachchment_from_upgraded_instance_failed",
|
|
"3_volume_attachment_to_original_instance_failed",
|
|
"4_data_upgrade_initiation_failed",
|
|
"5_data_upgrade_completion_failed",
|
|
"6_volume_detachchment_from_original_instance_failed",
|
|
"7_volume_attachment_to_upgraded_instance_failed",
|
|
"8_upgrade_completion_failed",
|
|
"9_post_physical_backup_failed"
|
|
]
|
|
},
|
|
"progress": {
|
|
"type": "string",
|
|
"enum": [
|
|
"0_requested",
|
|
"1_started",
|
|
"2_launched_upgraded_instance",
|
|
"3_detached_volume_from_upgraded_instance",
|
|
"4_attached_volume_to_original_instance",
|
|
"5_initiated_data_upgrade",
|
|
"6_completed_data_upgrade",
|
|
"7_detached_volume_from_original_instance",
|
|
"8_attached_volume_to_upgraded_instance",
|
|
"9_completed_upgrade",
|
|
"10_completed_post_physical_backup"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"target_version",
|
|
"status",
|
|
"initiated_at",
|
|
"latest_status_at"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["databaseUpgradeStatus"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"override_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"override_active_until": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["enabled", "override_enabled", "override_active_until"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"database_identifier": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["database_identifier"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"info": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["GoTrue"]
|
|
}
|
|
},
|
|
"required": ["name"]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"connected_cluster": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": ["connected_cluster"]
|
|
}
|
|
]
|
|
},
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"description": "Failed to retrieve project's service health status"
|
|
}
|
|
},
|
|
"tags": ["Projects"],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/v1/projects/{ref}/config/auth/signing-keys": {
|
|
"post": {
|
|
"operationId": "createSigningKeyForProject",
|
|
"summary": "[Alpha] Create a new signing key for the project in standby status",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"algorithm": {
|
|
"type": "string",
|
|
"enum": ["EdDSA", "ES256", "RS256", "HS256"]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "standby"]
|
|
}
|
|
},
|
|
"required": ["algorithm"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "[Alpha] Create a new signing key for the project in standby status",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"algorithm": {
|
|
"type": "string",
|
|
"enum": ["EdDSA", "ES256", "RS256", "HS256"]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "standby"]
|
|
}
|
|
},
|
|
"required": ["algorithm"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": ["Auth"],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "listSigningKeysForProject",
|
|
"summary": "[Alpha] List all signing keys for the project",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"algorithm": {
|
|
"type": "string",
|
|
"enum": ["EdDSA", "ES256", "RS256", "HS256"]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "previously_used", "revoked", "standby"]
|
|
},
|
|
"public_jwk": {
|
|
"nullable": true
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": ["id", "algorithm", "status", "created_at", "updated_at"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": ["Auth"],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/v1/projects/{ref}/config/auth/signing-keys/{id}": {
|
|
"get": {
|
|
"operationId": "getSigningKeyForProject",
|
|
"summary": "[Alpha] Get information about a signing key",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"algorithm": {
|
|
"type": "string",
|
|
"enum": ["EdDSA", "ES256", "RS256", "HS256"]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "previously_used", "revoked", "standby"]
|
|
},
|
|
"public_jwk": {
|
|
"nullable": true
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": ["id", "algorithm", "status", "created_at", "updated_at"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": ["Auth"],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteSigningKey",
|
|
"summary": "[Alpha] Remove a signing key from a project, where the status is previously_used",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"algorithm": {
|
|
"type": "string",
|
|
"enum": ["EdDSA", "ES256", "RS256", "HS256"]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "previously_used", "revoked", "standby"]
|
|
},
|
|
"public_jwk": {
|
|
"nullable": true
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": ["id", "algorithm", "status", "created_at", "updated_at"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": ["Auth"],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "patchSigningKey",
|
|
"summary": "[Alpha] Update a signing key, mainly its status",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "previously_used", "revoked", "standby"]
|
|
}
|
|
},
|
|
"required": ["status"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"algorithm": {
|
|
"type": "string",
|
|
"enum": ["EdDSA", "ES256", "RS256", "HS256"]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "previously_used", "revoked", "standby"]
|
|
},
|
|
"public_jwk": {
|
|
"nullable": true
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": ["id", "algorithm", "status", "created_at", "updated_at"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": ["Auth"],
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fileSizeLimit": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"features": {
|
|
"type": "object",
|
|
"properties": {
|
|
"imageTransformation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
},
|
|
"s3Protocol": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
}
|
|
},
|
|
"required": ["imageTransformation", "s3Protocol"]
|
|
}
|
|
},
|
|
"required": ["fileSizeLimit", "features"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fileSizeLimit": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 53687091200,
|
|
"format": "int64"
|
|
},
|
|
"features": {
|
|
"type": "object",
|
|
"properties": {
|
|
"imageTransformation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
},
|
|
"s3Protocol": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
}
|
|
},
|
|
"required": ["imageTransformation", "s3Protocol"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"
|
|
},
|
|
"connection_string": {
|
|
"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",
|
|
"connection_string",
|
|
"pool_mode"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"default_pool_size": {
|
|
"type": "integer",
|
|
"nullable": true,
|
|
"minimum": 0,
|
|
"maximum": 1000
|
|
},
|
|
"pool_mode": {
|
|
"enum": ["transaction", "session"],
|
|
"type": "string",
|
|
"description": "Dedicated pooler mode for the project"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"default_pool_size": {
|
|
"type": "integer",
|
|
"nullable": true
|
|
},
|
|
"pool_mode": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["default_pool_size", "pool_mode"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"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"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"oidc_issuer_url": {
|
|
"type": "string"
|
|
},
|
|
"jwks_url": {
|
|
"type": "string"
|
|
},
|
|
"custom_jwks": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"available_versions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "string"
|
|
},
|
|
"release_channel": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"postgres_engine": {
|
|
"type": "string",
|
|
"enum": ["13", "14", "15", "17", "17-oriole"]
|
|
}
|
|
},
|
|
"required": ["version", "release_channel", "postgres_engine"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["available_versions"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {},
|
|
"hideDefinitions": ["release_channel", "postgres_engine"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"query": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["query"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"version",
|
|
"created_at",
|
|
"updated_at",
|
|
"id",
|
|
"slug",
|
|
"name",
|
|
"status"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"description": "Failed to retrieve project's functions"
|
|
}
|
|
},
|
|
"tags": ["Edge Functions"],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "v1-create-a-function",
|
|
"summary": "Create a function",
|
|
"description": "This endpoint is deprecated - use the deploy endpoint. Creates a function and adds it to the specified project.",
|
|
"deprecated": true,
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"pattern": "/^[A-Za-z0-9_-]+$/",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "name",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "verify_jwt",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "import_map",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "entrypoint_path",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "import_map_path",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"slug": {
|
|
"type": "string",
|
|
"pattern": "/^[A-Za-z0-9_-]+$/"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["slug", "name", "body"]
|
|
}
|
|
},
|
|
"application/vnd.denoland.eszip": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"slug": {
|
|
"type": "string",
|
|
"pattern": "/^[A-Za-z0-9_-]+$/"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["slug", "name", "body"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"version",
|
|
"created_at",
|
|
"updated_at",
|
|
"id",
|
|
"slug",
|
|
"name",
|
|
"status"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"functions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"version",
|
|
"created_at",
|
|
"updated_at",
|
|
"id",
|
|
"slug",
|
|
"name",
|
|
"status"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": ["functions"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"format": "binary"
|
|
}
|
|
},
|
|
"metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
},
|
|
"static_patterns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["entrypoint_path"]
|
|
}
|
|
},
|
|
"required": ["file", "metadata"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["version", "id", "slug", "name", "status"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"version",
|
|
"created_at",
|
|
"updated_at",
|
|
"id",
|
|
"slug",
|
|
"name",
|
|
"status"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"403": {
|
|
"description": ""
|
|
},
|
|
"500": {
|
|
"description": "Failed to retrieve function with given slug"
|
|
}
|
|
},
|
|
"tags": ["Edge Functions"],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "v1-update-a-function",
|
|
"summary": "Update a function",
|
|
"description": "Updates a function with the specified slug and project.",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "function_slug",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Function slug",
|
|
"schema": {
|
|
"pattern": "/^[A-Za-z0-9_-]+$/",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"pattern": "/^[A-Za-z0-9_-]+$/",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "name",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "verify_jwt",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "import_map",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "entrypoint_path",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "import_map_path",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"application/vnd.denoland.eszip": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"version",
|
|
"created_at",
|
|
"updated_at",
|
|
"id",
|
|
"slug",
|
|
"name",
|
|
"status"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["type"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"saml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"saml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["items"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"saml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"saml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"saml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"region": {
|
|
"type": "string"
|
|
},
|
|
"walg_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"pitr_enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"backups": {
|
|
"type": "array",
|
|
"items": {
|
|
"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"]
|
|
}
|
|
},
|
|
"physical_backup_data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"earliest_physical_backup_date_unix": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"latest_physical_backup_date_unix": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"region",
|
|
"walg_enabled",
|
|
"pitr_enabled",
|
|
"backups",
|
|
"physical_backup_data"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"recovery_time_target_unix": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"format": "int64"
|
|
}
|
|
},
|
|
"required": ["recovery_time_target_unix"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"plan": {
|
|
"type": "string",
|
|
"enum": ["free", "pro", "team", "enterprise"]
|
|
},
|
|
"opt_in_tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["AI_SQL_GENERATOR_OPT_IN"]
|
|
}
|
|
},
|
|
"allowed_release_channels": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["opt_in_tags", "allowed_release_channels", "id", "name"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": ["Organizations"],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "name"]
|
|
},
|
|
"owner": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "username"]
|
|
},
|
|
"updated_by": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "username"]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"inserted_at",
|
|
"updated_at",
|
|
"type",
|
|
"visibility",
|
|
"name",
|
|
"description",
|
|
"project",
|
|
"owner",
|
|
"updated_by"
|
|
]
|
|
},
|
|
"SnippetList": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "name"]
|
|
},
|
|
"owner": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "username"]
|
|
},
|
|
"updated_by": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "username"]
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"inserted_at",
|
|
"updated_at",
|
|
"type",
|
|
"visibility",
|
|
"name",
|
|
"description",
|
|
"project",
|
|
"owner",
|
|
"updated_by"
|
|
]
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "name"]
|
|
},
|
|
"owner": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "username"]
|
|
},
|
|
"updated_by": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id", "username"]
|
|
},
|
|
"content": {
|
|
"type": "object",
|
|
"properties": {
|
|
"favorite": {
|
|
"type": "boolean"
|
|
},
|
|
"schema_version": {
|
|
"type": "string"
|
|
},
|
|
"sql": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["favorite", "schema_version", "sql"]
|
|
}
|
|
},
|
|
"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": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
]
|
|
},
|
|
"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": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": ["type"]
|
|
},
|
|
"UpdateApiKeyBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"secret_jwt_template": {
|
|
"nullable": true,
|
|
"allOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "string",
|
|
"enum": [
|
|
"micro",
|
|
"small",
|
|
"medium",
|
|
"large",
|
|
"xlarge",
|
|
"2xlarge",
|
|
"4xlarge",
|
|
"8xlarge",
|
|
"12xlarge",
|
|
"16xlarge"
|
|
]
|
|
},
|
|
"release_channel": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"postgres_engine": {
|
|
"type": "string",
|
|
"description": "Postgres engine version. If not provided, the latest version will be used.",
|
|
"enum": ["15", "17-oriole"]
|
|
},
|
|
"branch_name": {
|
|
"type": "string"
|
|
},
|
|
"git_branch": {
|
|
"type": "string"
|
|
},
|
|
"persistent": {
|
|
"type": "boolean"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"txt_name": {
|
|
"type": "string"
|
|
},
|
|
"txt_value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["txt_name", "txt_value"]
|
|
}
|
|
},
|
|
"validation_errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"]
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"validation_records": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"txt_name": {
|
|
"type": "string"
|
|
},
|
|
"txt_value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["txt_name", "txt_value"]
|
|
}
|
|
},
|
|
"validation_errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["status", "validation_records"]
|
|
},
|
|
"ownership_verification": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "name", "value"]
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
},
|
|
"ssl": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"validation_records": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"txt_name": {
|
|
"type": "string"
|
|
},
|
|
"txt_value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["txt_name", "txt_value"]
|
|
}
|
|
},
|
|
"validation_errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["status", "validation_records"]
|
|
},
|
|
"ownership_verification": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "name", "value"]
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"success": {
|
|
"type": "boolean"
|
|
},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"messages": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"result": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
},
|
|
"ssl": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"validation_records": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"txt_name": {
|
|
"type": "string"
|
|
},
|
|
"txt_value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["txt_name", "txt_value"]
|
|
}
|
|
},
|
|
"validation_errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["message"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["status", "validation_records"]
|
|
},
|
|
"ownership_verification": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["type", "name", "value"]
|
|
},
|
|
"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"
|
|
]
|
|
}
|
|
},
|
|
"required": ["success", "errors", "messages", "result"]
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dbAllowedCidrs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"dbAllowedCidrsV6": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"old_config": {
|
|
"type": "object",
|
|
"properties": {
|
|
"dbAllowedCidrs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"dbAllowedCidrsV6": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"updated_at": {
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"database": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["database"]
|
|
},
|
|
"appliedSuccessfully": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["currentConfig", "appliedSuccessfully"]
|
|
},
|
|
"SslEnforcementRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"requestedConfig": {
|
|
"type": "object",
|
|
"properties": {
|
|
"database": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["database"]
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"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": {
|
|
"type": "string",
|
|
"description": "Postgres engine version. If not provided, the latest version will be used.",
|
|
"enum": ["15", "17-oriole"]
|
|
},
|
|
"release_channel": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"app_version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["postgres_version", "release_channel", "app_version"]
|
|
},
|
|
"ProjectUpgradeEligibilityResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"current_app_version_release_channel": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"duration_estimate_hours": {
|
|
"type": "integer"
|
|
},
|
|
"eligible": {
|
|
"type": "boolean"
|
|
},
|
|
"current_app_version": {
|
|
"type": "string"
|
|
},
|
|
"latest_app_version": {
|
|
"type": "string"
|
|
},
|
|
"target_upgrade_versions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"postgres_version": {
|
|
"type": "string",
|
|
"description": "Postgres engine version. If not provided, the latest version will be used.",
|
|
"enum": ["15", "17-oriole"]
|
|
},
|
|
"release_channel": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"app_version": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["postgres_version", "release_channel", "app_version"]
|
|
}
|
|
},
|
|
"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": [
|
|
{
|
|
"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"]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"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": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"enum": ["GoTrue"]
|
|
}
|
|
},
|
|
"required": ["name"]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"connected_cluster": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": ["connected_cluster"]
|
|
}
|
|
]
|
|
},
|
|
"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"]
|
|
},
|
|
"CreateSigningKeyBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"algorithm": {
|
|
"type": "string",
|
|
"enum": ["EdDSA", "ES256", "RS256", "HS256"]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "standby"]
|
|
}
|
|
},
|
|
"required": ["algorithm"],
|
|
"additionalProperties": false
|
|
},
|
|
"SigningKeysResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"algorithm": {
|
|
"type": "string",
|
|
"enum": ["EdDSA", "ES256", "RS256", "HS256"]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "previously_used", "revoked", "standby"]
|
|
},
|
|
"public_jwk": {
|
|
"nullable": true
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": ["id", "algorithm", "status", "created_at", "updated_at"],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"],
|
|
"additionalProperties": false
|
|
},
|
|
"SigningKeyResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"algorithm": {
|
|
"type": "string",
|
|
"enum": ["EdDSA", "ES256", "RS256", "HS256"]
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "previously_used", "revoked", "standby"]
|
|
},
|
|
"public_jwk": {
|
|
"nullable": true
|
|
},
|
|
"created_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"updated_at": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
},
|
|
"required": ["id", "algorithm", "status", "created_at", "updated_at"],
|
|
"additionalProperties": false
|
|
},
|
|
"UpdateSigningKeyBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["in_use", "previously_used", "revoked", "standby"]
|
|
}
|
|
},
|
|
"required": ["status"],
|
|
"additionalProperties": false
|
|
},
|
|
"StorageFeatureImageTransformation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
},
|
|
"StorageFeatureS3Protocol": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
},
|
|
"StorageFeatures": {
|
|
"type": "object",
|
|
"properties": {
|
|
"imageTransformation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
},
|
|
"s3Protocol": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
}
|
|
},
|
|
"required": ["imageTransformation", "s3Protocol"]
|
|
},
|
|
"StorageConfigResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fileSizeLimit": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"features": {
|
|
"type": "object",
|
|
"properties": {
|
|
"imageTransformation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
},
|
|
"s3Protocol": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
}
|
|
},
|
|
"required": ["imageTransformation", "s3Protocol"]
|
|
}
|
|
},
|
|
"required": ["fileSizeLimit", "features"]
|
|
},
|
|
"UpdateStorageConfigBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"fileSizeLimit": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 53687091200,
|
|
"format": "int64"
|
|
},
|
|
"features": {
|
|
"type": "object",
|
|
"properties": {
|
|
"imageTransformation": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
},
|
|
"s3Protocol": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["enabled"]
|
|
}
|
|
},
|
|
"required": ["imageTransformation", "s3Protocol"]
|
|
}
|
|
}
|
|
},
|
|
"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"
|
|
},
|
|
"connection_string": {
|
|
"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",
|
|
"connection_string",
|
|
"pool_mode"
|
|
]
|
|
},
|
|
"UpdateSupavisorConfigBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"default_pool_size": {
|
|
"type": "integer",
|
|
"nullable": true,
|
|
"minimum": 0,
|
|
"maximum": 1000
|
|
},
|
|
"pool_mode": {
|
|
"enum": ["transaction", "session"],
|
|
"type": "string",
|
|
"description": "Dedicated pooler mode for the project"
|
|
}
|
|
}
|
|
},
|
|
"UpdateSupavisorConfigResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"default_pool_size": {
|
|
"type": "integer",
|
|
"nullable": true
|
|
},
|
|
"pool_mode": {
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "string"
|
|
},
|
|
"release_channel": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
},
|
|
"postgres_engine": {
|
|
"type": "string",
|
|
"enum": ["13", "14", "15", "17", "17-oriole"]
|
|
}
|
|
},
|
|
"required": ["version", "release_channel", "postgres_engine"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["available_versions"]
|
|
},
|
|
"RestoreProjectBodyDto": {
|
|
"type": "object",
|
|
"properties": {},
|
|
"hideDefinitions": ["release_channel", "postgres_engine"]
|
|
},
|
|
"V1AnalyticsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"oneOf": [
|
|
{
|
|
"properties": {
|
|
"code": {
|
|
"type": "number"
|
|
},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"location": {
|
|
"type": "string"
|
|
},
|
|
"locationType": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"reason": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "string"
|
|
}
|
|
]
|
|
},
|
|
"result": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"V1RunQueryBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"query": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["query"]
|
|
},
|
|
"GetProjectDbMetadataResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"databases": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"schemas": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["name"],
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"required": ["name", "schemas"],
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
},
|
|
"required": ["databases"]
|
|
},
|
|
"FunctionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["version", "created_at", "updated_at", "id", "slug", "name", "status"]
|
|
},
|
|
"V1CreateFunctionBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"slug": {
|
|
"type": "string",
|
|
"pattern": "/^[A-Za-z0-9_-]+$/"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["slug", "name", "body"]
|
|
},
|
|
"BulkUpdateFunctionBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["version", "id", "slug", "name", "status"]
|
|
},
|
|
"BulkUpdateFunctionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"functions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["version", "created_at", "updated_at", "id", "slug", "name", "status"]
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
},
|
|
"static_patterns": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["entrypoint_path"]
|
|
}
|
|
},
|
|
"required": ["file", "metadata"]
|
|
},
|
|
"DeployFunctionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["version", "id", "slug", "name", "status"]
|
|
},
|
|
"FunctionSlugResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"version": {
|
|
"type": "integer"
|
|
},
|
|
"created_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"updated_at": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"slug": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"status": {
|
|
"enum": ["ACTIVE", "REMOVED", "THROTTLED"],
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
},
|
|
"import_map": {
|
|
"type": "boolean"
|
|
},
|
|
"entrypoint_path": {
|
|
"type": "string"
|
|
},
|
|
"import_map_path": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["version", "created_at", "updated_at", "id", "slug", "name", "status"]
|
|
},
|
|
"V1UpdateFunctionBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"body": {
|
|
"type": "string"
|
|
},
|
|
"verify_jwt": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"V1StorageBucketResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"owner": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"public": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["id", "name", "owner", "created_at", "updated_at", "public"]
|
|
},
|
|
"AttributeValue": {
|
|
"type": "object",
|
|
"properties": {
|
|
"default": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object"
|
|
},
|
|
{
|
|
"type": "number"
|
|
},
|
|
{
|
|
"type": "string"
|
|
},
|
|
{
|
|
"type": "boolean"
|
|
}
|
|
]
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"names": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"array": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"AttributeMapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["type"]
|
|
},
|
|
"SamlDescriptor": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
},
|
|
"Provider": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"saml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
},
|
|
"ListProvidersResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"items": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"saml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["items"]
|
|
},
|
|
"GetProviderResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"saml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
}
|
|
},
|
|
"UpdateProviderResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"saml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
},
|
|
"DeleteProviderResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"saml": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"entity_id": {
|
|
"type": "string"
|
|
},
|
|
"metadata_url": {
|
|
"type": "string"
|
|
},
|
|
"metadata_xml": {
|
|
"type": "string"
|
|
},
|
|
"attribute_mapping": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keys": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"required": ["keys"]
|
|
}
|
|
},
|
|
"required": ["id", "entity_id"]
|
|
},
|
|
"domains": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["id"]
|
|
}
|
|
},
|
|
"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": {
|
|
"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"]
|
|
}
|
|
},
|
|
"physical_backup_data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"earliest_physical_backup_date_unix": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"latest_physical_backup_date_unix": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"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": {
|
|
"type": "string",
|
|
"enum": ["free", "pro", "team", "enterprise"]
|
|
},
|
|
"opt_in_tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["AI_SQL_GENERATOR_OPT_IN"]
|
|
}
|
|
},
|
|
"allowed_release_channels": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"enum": ["internal", "alpha", "beta", "ga", "withdrawn", "preview"]
|
|
}
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["opt_in_tags", "allowed_release_channels", "id", "name"]
|
|
}
|
|
}
|
|
}
|
|
}
|