mirror of
https://github.com/supabase/supabase.git
synced 2026-08-10 00:20:21 -04:00
## What kind of change does this PR introduce?
Revert
## What is the current behavior?
#48282 auto-updated the mgmt API docs spec files
(`apps/docs/spec/api_v1_openapi.json`,
`apps/docs/spec/api_v2_openapi.json`,
`apps/docs/spec/common-api-sections.json`, and the deparsed transform
files).
## What is the new behavior?
Reverts those spec/transform files back to their state prior to #48282.
This reverts commit 4adef69037.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Documentation**
* Updated API reference documentation with clearer authorization
requirements and more accurate request and response schemas.
* Improved validation details, examples, required fields, and response
variations across projects, authentication, storage, backups, SSO,
analytics, and functions.
* Documented separate paginated listing and count operations for action
runs.
* Added clearer JIT response definitions and refined API behavior
descriptions.
* Removed documentation entries for several retired analytics,
organization, invitation, and private-link operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
4226 lines
159 KiB
JSON
4226 lines
159 KiB
JSON
{
|
|
"openapi": "3.0.0",
|
|
"info": {
|
|
"title": "Supabase API (v2)",
|
|
"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": [],
|
|
"paths": {
|
|
"/v2/projects/{ref}/analytics/log-drains": {
|
|
"get": {
|
|
"operationId": "v2-list-log-drains",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"pattern": "^[a-z]+$",
|
|
"example": "abcdefghijklmnopqrst",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log_drain"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"nullable": true
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "postgres"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"http": {
|
|
"type": "string",
|
|
"enum": ["http1", "http2"]
|
|
},
|
|
"gzip": {
|
|
"type": "boolean"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "webhook"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string"
|
|
},
|
|
"dataset_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "bigquery"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"api_key": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "datadog"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "loki"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"dsn": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "sentry"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"api_token": {
|
|
"type": "string"
|
|
},
|
|
"dataset_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "axiom"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"tls": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"structured_data": {
|
|
"type": "string"
|
|
},
|
|
"cipher_key": {
|
|
"type": "string"
|
|
},
|
|
"ca_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "syslog"
|
|
}
|
|
]
|
|
},
|
|
"backend_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"postgres",
|
|
"bigquery",
|
|
"clickhouse",
|
|
"webhook",
|
|
"datadog",
|
|
"loki",
|
|
"sentry",
|
|
"s3",
|
|
"axiom",
|
|
"last9",
|
|
"otlp",
|
|
"syslog"
|
|
]
|
|
}
|
|
},
|
|
"required": ["name", "config", "backend_type"]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
},
|
|
"500": {
|
|
"description": "Failed to fetch log drains"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["analytics_config_read"]
|
|
}
|
|
],
|
|
"summary": "List project log drains",
|
|
"tags": ["Analytics"],
|
|
"x-badges": [
|
|
{
|
|
"name": "OAuth scope: analytics_config:read",
|
|
"position": "after"
|
|
}
|
|
],
|
|
"x-endpoint-owners": ["analytics"],
|
|
"x-oauth-scope": "analytics_config:read"
|
|
},
|
|
"post": {
|
|
"operationId": "v2-create-log-drain",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"pattern": "^[a-z]+$",
|
|
"example": "abcdefghijklmnopqrst",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log_drain"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"nullable": true
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "postgres"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"http": {
|
|
"type": "string",
|
|
"enum": ["http1", "http2"]
|
|
},
|
|
"gzip": {
|
|
"type": "boolean"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "webhook"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string"
|
|
},
|
|
"dataset_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "bigquery"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"api_key": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "datadog"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "loki"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"dsn": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "sentry"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"api_token": {
|
|
"type": "string"
|
|
},
|
|
"dataset_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "axiom"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"tls": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"structured_data": {
|
|
"type": "string"
|
|
},
|
|
"cipher_key": {
|
|
"type": "string"
|
|
},
|
|
"ca_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "syslog"
|
|
}
|
|
]
|
|
},
|
|
"backend_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"postgres",
|
|
"bigquery",
|
|
"clickhouse",
|
|
"webhook",
|
|
"datadog",
|
|
"loki",
|
|
"sentry",
|
|
"s3",
|
|
"axiom",
|
|
"last9",
|
|
"otlp",
|
|
"syslog"
|
|
]
|
|
}
|
|
},
|
|
"required": ["name", "config", "backend_type"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log_drain"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"nullable": true
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "postgres"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"http": {
|
|
"type": "string",
|
|
"enum": ["http1", "http2"]
|
|
},
|
|
"gzip": {
|
|
"type": "boolean"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "webhook"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string"
|
|
},
|
|
"dataset_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "bigquery"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"api_key": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "datadog"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "loki"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"dsn": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "sentry"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"api_token": {
|
|
"type": "string"
|
|
},
|
|
"dataset_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "axiom"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"tls": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"structured_data": {
|
|
"type": "string"
|
|
},
|
|
"cipher_key": {
|
|
"type": "string"
|
|
},
|
|
"ca_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "syslog"
|
|
}
|
|
]
|
|
},
|
|
"backend_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"postgres",
|
|
"bigquery",
|
|
"clickhouse",
|
|
"webhook",
|
|
"datadog",
|
|
"loki",
|
|
"sentry",
|
|
"s3",
|
|
"axiom",
|
|
"last9",
|
|
"otlp",
|
|
"syslog"
|
|
]
|
|
}
|
|
},
|
|
"required": ["name", "config", "backend_type"]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"402": {
|
|
"description": "This feature requires the Pro, Team, or Enterprise organization plan."
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
},
|
|
"500": {
|
|
"description": "Failed to create a log drain"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["analytics_config_write"]
|
|
}
|
|
],
|
|
"summary": "Create a log drain for a project",
|
|
"tags": ["Analytics"],
|
|
"x-allowed-plans": ["Pro", "Team", "Enterprise"],
|
|
"x-badges": [
|
|
{
|
|
"name": "Only available on Pro, Team, Enterprise",
|
|
"position": "before"
|
|
},
|
|
{
|
|
"name": "OAuth scope: analytics_config:write",
|
|
"position": "after"
|
|
}
|
|
],
|
|
"x-endpoint-owners": ["analytics"],
|
|
"x-oauth-scope": "analytics_config:write"
|
|
}
|
|
},
|
|
"/v2/projects/{ref}/analytics/log-drains/{id}": {
|
|
"put": {
|
|
"operationId": "v2-update-log-drain",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"pattern": "^[a-z]+$",
|
|
"example": "abcdefghijklmnopqrst",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Log drains identifier",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log_drain"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"nullable": true
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "postgres"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"http": {
|
|
"type": "string",
|
|
"enum": ["http1", "http2"]
|
|
},
|
|
"gzip": {
|
|
"type": "boolean"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "webhook"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string"
|
|
},
|
|
"dataset_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "bigquery"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"api_key": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "datadog"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "loki"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"dsn": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "sentry"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"api_token": {
|
|
"type": "string"
|
|
},
|
|
"dataset_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "axiom"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"tls": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"structured_data": {
|
|
"type": "string"
|
|
},
|
|
"cipher_key": {
|
|
"type": "string"
|
|
},
|
|
"ca_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "syslog"
|
|
}
|
|
]
|
|
},
|
|
"backend_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"postgres",
|
|
"bigquery",
|
|
"clickhouse",
|
|
"webhook",
|
|
"datadog",
|
|
"loki",
|
|
"sentry",
|
|
"s3",
|
|
"axiom",
|
|
"last9",
|
|
"otlp",
|
|
"syslog"
|
|
]
|
|
}
|
|
},
|
|
"required": ["backend_type"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log_drain"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"nullable": true
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "postgres"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"http": {
|
|
"type": "string",
|
|
"enum": ["http1", "http2"]
|
|
},
|
|
"gzip": {
|
|
"type": "boolean"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "webhook"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string"
|
|
},
|
|
"dataset_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "bigquery"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"api_key": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "datadog"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "loki"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"dsn": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "sentry"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"api_token": {
|
|
"type": "string"
|
|
},
|
|
"dataset_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "axiom"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"tls": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"structured_data": {
|
|
"type": "string"
|
|
},
|
|
"cipher_key": {
|
|
"type": "string"
|
|
},
|
|
"ca_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "syslog"
|
|
}
|
|
]
|
|
},
|
|
"backend_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"postgres",
|
|
"bigquery",
|
|
"clickhouse",
|
|
"webhook",
|
|
"datadog",
|
|
"loki",
|
|
"sentry",
|
|
"s3",
|
|
"axiom",
|
|
"last9",
|
|
"otlp",
|
|
"syslog"
|
|
]
|
|
}
|
|
},
|
|
"required": ["name", "config", "backend_type"]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
},
|
|
"500": {
|
|
"description": "Failed to update log drain"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["analytics_config_write"]
|
|
}
|
|
],
|
|
"summary": "Update a project log drain",
|
|
"tags": ["Analytics"],
|
|
"x-badges": [
|
|
{
|
|
"name": "OAuth scope: analytics_config:write",
|
|
"position": "after"
|
|
}
|
|
],
|
|
"x-endpoint-owners": ["analytics"],
|
|
"x-oauth-scope": "analytics_config:write"
|
|
},
|
|
"delete": {
|
|
"operationId": "v2-delete-log-drain",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"pattern": "^[a-z]+$",
|
|
"example": "abcdefghijklmnopqrst",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Log drains identifier",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
},
|
|
"500": {
|
|
"description": "Failed to delete a log drain"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["analytics_config_write"]
|
|
}
|
|
],
|
|
"summary": "Delete a project log drain",
|
|
"tags": ["Analytics"],
|
|
"x-badges": [
|
|
{
|
|
"name": "OAuth scope: analytics_config:write",
|
|
"position": "after"
|
|
}
|
|
],
|
|
"x-endpoint-owners": ["analytics"],
|
|
"x-oauth-scope": "analytics_config:write"
|
|
}
|
|
},
|
|
"/v2/projects/{ref}/transfers/previews": {
|
|
"post": {
|
|
"operationId": "v2-preview-a-project-transfer",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"pattern": "^[a-z]+$",
|
|
"example": "abcdefghijklmnopqrst",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["project_transfer_input"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"target_organization_slug": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["target_organization_slug"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["project_transfer_result"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"valid": {
|
|
"type": "boolean"
|
|
},
|
|
"warnings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["key", "message"]
|
|
}
|
|
},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["key", "message"]
|
|
}
|
|
},
|
|
"info": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["key", "message"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["valid", "warnings", "errors", "info"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["project_admin_read"]
|
|
}
|
|
],
|
|
"summary": "Previews transferring a project to a different organizations, shows eligibility and impact",
|
|
"tags": ["Projects"],
|
|
"x-endpoint-owners": ["management-api"]
|
|
}
|
|
},
|
|
"/v2/projects/{ref}/transfers": {
|
|
"post": {
|
|
"operationId": "v2-transfer-a-project",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"pattern": "^[a-z]+$",
|
|
"example": "abcdefghijklmnopqrst",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["project_transfer_input"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"target_organization_slug": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["target_organization_slug"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["organization_admin_write"]
|
|
}
|
|
],
|
|
"summary": "Transfers a project to a different organization",
|
|
"tags": ["Projects"],
|
|
"x-endpoint-owners": ["management-api"]
|
|
}
|
|
},
|
|
"/v2/projects/{ref}/private-link/associations": {
|
|
"get": {
|
|
"operationId": "v2-list-private-link-associations",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"pattern": "^[a-z]+$",
|
|
"example": "abcdefghijklmnopqrst",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["private_link_association"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aws_account_id": {
|
|
"type": "string",
|
|
"minLength": 12,
|
|
"maxLength": 12,
|
|
"pattern": "^\\d{12}$",
|
|
"description": "The AWS account ID this PrivateLink share is associated with."
|
|
},
|
|
"account_name": {
|
|
"type": "string",
|
|
"description": "Human-readable name for the AWS account."
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"CREATING",
|
|
"READY",
|
|
"ASSOCIATION_REQUEST_EXPIRED",
|
|
"ASSOCIATION_ACCEPTED",
|
|
"CREATION_FAILED",
|
|
"DELETING"
|
|
],
|
|
"description": "\n - `CREATING`: The PrivateLink resources and the Association are in the process of being created. The PrivateLink Share cannot be accepted yet.\n - `READY`: The PrivateLink resources have been created and the PrivateLink Share can be accepted for the duration of 12h after sharing. See `shared_at`.\n - `ASSOCIATION_REQUEST_EXPIRED`: The PrivateLink Share has not been accepted within the 12h time limit. This association can now be deleted.\n - `ASSOCIATION_ACCEPTED`: The PrivateLink Share was successfully accepted.\n - `CREATION_FAILED`: The PrivateLink resources failed to create. This likely means something went wrong on Supabase's and and support should be contacted.\n - `DELETING`: The PrivateLink resources and the Association are in the process of being deleted. The PrivateLink Share cannot be accepted yet.\n"
|
|
},
|
|
"shared_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"description": "The time and date at which the AWS Resource Share Association was requested from Supabase. `null` means that the association was not yet requested while the PrivateLink Association is pending."
|
|
}
|
|
},
|
|
"required": ["aws_account_id", "status", "shared_at"]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
},
|
|
"500": {
|
|
"description": "Failed to retrieve AWS accounts for project"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["project_admin_read"]
|
|
}
|
|
],
|
|
"summary": "List AWS accounts attached to the project PrivateLink share",
|
|
"tags": ["Projects"],
|
|
"x-endpoint-owners": ["platform-networking", "management-api"]
|
|
},
|
|
"post": {
|
|
"description": "Adds an AWS account to the project's PrivateLink configuration and schedules the AWS resources to be created.",
|
|
"operationId": "v2-create-private-link-association",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"pattern": "^[a-z]+$",
|
|
"example": "abcdefghijklmnopqrst",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["private_link_association"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aws_account_id": {
|
|
"type": "string",
|
|
"minLength": 12,
|
|
"maxLength": 12,
|
|
"pattern": "^\\d{12}$",
|
|
"description": "The AWS account ID to add to the project PrivateLink share."
|
|
},
|
|
"account_name": {
|
|
"type": "string",
|
|
"maxLength": 128,
|
|
"description": "Optional human-readable name for the AWS account."
|
|
}
|
|
},
|
|
"required": ["aws_account_id"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["private_link_association"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aws_account_id": {
|
|
"type": "string",
|
|
"minLength": 12,
|
|
"maxLength": 12,
|
|
"pattern": "^\\d{12}$",
|
|
"description": "The AWS account ID this PrivateLink share is associated with."
|
|
},
|
|
"account_name": {
|
|
"type": "string",
|
|
"description": "Human-readable name for the AWS account."
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"CREATING",
|
|
"READY",
|
|
"ASSOCIATION_REQUEST_EXPIRED",
|
|
"ASSOCIATION_ACCEPTED",
|
|
"CREATION_FAILED",
|
|
"DELETING"
|
|
],
|
|
"description": "\n - `CREATING`: The PrivateLink resources and the Association are in the process of being created. The PrivateLink Share cannot be accepted yet.\n - `READY`: The PrivateLink resources have been created and the PrivateLink Share can be accepted for the duration of 12h after sharing. See `shared_at`.\n - `ASSOCIATION_REQUEST_EXPIRED`: The PrivateLink Share has not been accepted within the 12h time limit. This association can now be deleted.\n - `ASSOCIATION_ACCEPTED`: The PrivateLink Share was successfully accepted.\n - `CREATION_FAILED`: The PrivateLink resources failed to create. This likely means something went wrong on Supabase's and and support should be contacted.\n - `DELETING`: The PrivateLink resources and the Association are in the process of being deleted. The PrivateLink Share cannot be accepted yet.\n"
|
|
},
|
|
"shared_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"description": "The time and date at which the AWS Resource Share Association was requested from Supabase. `null` means that the association was not yet requested while the PrivateLink Association is pending."
|
|
}
|
|
},
|
|
"required": ["aws_account_id", "status", "shared_at"]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"402": {
|
|
"description": "This feature requires the Team, or Enterprise organization plan."
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
},
|
|
"500": {
|
|
"description": "Failed to add AWS account to PrivateLink share"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["project_admin_write"]
|
|
}
|
|
],
|
|
"summary": "Add an AWS account to the project PrivateLink share",
|
|
"tags": ["Projects"],
|
|
"x-allowed-plans": ["Team", "Enterprise"],
|
|
"x-badges": [
|
|
{
|
|
"name": "Only available on Team, Enterprise",
|
|
"position": "before"
|
|
}
|
|
],
|
|
"x-endpoint-owners": ["platform-networking", "management-api"]
|
|
}
|
|
},
|
|
"/v2/projects/{ref}/private-link/associations/aws-account/{aws_account_id}": {
|
|
"delete": {
|
|
"description": "Removes an AWS account from the project's PrivateLink configuration. Cleans up the associated AWS resources.",
|
|
"operationId": "v2-delete-private-link-association",
|
|
"parameters": [
|
|
{
|
|
"name": "ref",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Project ref",
|
|
"schema": {
|
|
"minLength": 20,
|
|
"maxLength": 20,
|
|
"pattern": "^[a-z]+$",
|
|
"example": "abcdefghijklmnopqrst",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "aws_account_id",
|
|
"required": false,
|
|
"in": "path",
|
|
"description": "AWS account ID used in PrivateLink association",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
},
|
|
"500": {
|
|
"description": "Failed to remove AWS account from PrivateLink share"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["project_admin_write"]
|
|
}
|
|
],
|
|
"summary": "Remove an AWS account from the project PrivateLink share",
|
|
"tags": ["Projects"],
|
|
"x-endpoint-owners": ["platform-networking", "management-api"]
|
|
}
|
|
},
|
|
"/v2/organizations/{slug}/members": {
|
|
"get": {
|
|
"description": "Returns a cursor-paginated list of organization members including their roles and project-scoped permissions.",
|
|
"operationId": "v2-list-organization-members",
|
|
"parameters": [
|
|
{
|
|
"name": "slug",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Organization slug",
|
|
"schema": {
|
|
"pattern": "^[\\w-]+$",
|
|
"example": "tsrqponmlkjihgfedcba",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"properties": {
|
|
"size": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"maximum": 100,
|
|
"required": false
|
|
},
|
|
"after": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"required": false
|
|
},
|
|
"before": {
|
|
"type": "string",
|
|
"format": "uuid",
|
|
"required": false
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
},
|
|
{
|
|
"name": "filter",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"properties": {
|
|
"username": {
|
|
"type": "string",
|
|
"required": false
|
|
},
|
|
"primary_email": {
|
|
"type": "string",
|
|
"format": "email",
|
|
"required": false
|
|
}
|
|
},
|
|
"type": "object"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_member"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Member's username"
|
|
},
|
|
"primary_email": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Member's primary email"
|
|
},
|
|
"mfa_enabled": {
|
|
"type": "boolean",
|
|
"description": "Whether Multi-Factor Authentication is enabled for this member"
|
|
},
|
|
"is_sso_user": {
|
|
"type": "boolean",
|
|
"description": "Whether this member is a Single Sign-On user"
|
|
},
|
|
"avatar_url": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Member's avatar URL"
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Role name. For project-scoped roles this is the base role name.",
|
|
"example": "developer"
|
|
},
|
|
"scope": {
|
|
"type": "string",
|
|
"enum": ["organization", "project"],
|
|
"description": "Whether this role applies org-wide or is scoped to specific projects for the user."
|
|
},
|
|
"projects": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ref": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["ref", "name"]
|
|
},
|
|
"description": "Project refs this role is scoped to. Empty array for org-level roles."
|
|
}
|
|
},
|
|
"required": ["name", "scope", "projects"]
|
|
},
|
|
"description": "Roles assigned to this member. Includes both org-level and project-scoped roles."
|
|
}
|
|
},
|
|
"required": [
|
|
"username",
|
|
"primary_email",
|
|
"mfa_enabled",
|
|
"is_sso_user",
|
|
"avatar_url",
|
|
"roles"
|
|
]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "URL path to the first page if available.",
|
|
"example": "/v2/organizations/my-org/members?page[size]=10"
|
|
},
|
|
"prev": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "URL path to the previous page.",
|
|
"example": "/v2/organizations/my-org/members?page[size]=10&page[before]=019adf7d-4513-74c5-bb9a-f1bc0f7a95d7"
|
|
},
|
|
"next": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "URL path to the next page.",
|
|
"example": "/v2/organizations/my-org/members?page[size]=10&page[after]=019adf7d-4513-7062-b292-78b86cc470a4"
|
|
},
|
|
"last": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "URL path to the last page if available.",
|
|
"example": "/v2/organizations/my-org/members?page[size]=10&page[after]=019adf7d-4513-71ba-b264-21900edb4295"
|
|
}
|
|
},
|
|
"required": ["prev", "next"]
|
|
}
|
|
},
|
|
"required": ["data", "links"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["members_read"]
|
|
}
|
|
],
|
|
"summary": "List members of an organization",
|
|
"tags": ["Organizations"],
|
|
"x-badges": [
|
|
{
|
|
"name": "OAuth scope: organizations:read",
|
|
"position": "after"
|
|
}
|
|
],
|
|
"x-endpoint-owners": ["management-api"],
|
|
"x-oauth-scope": "organizations:read"
|
|
}
|
|
},
|
|
"/v2/organizations/{slug}/members/{user_id}/roles": {
|
|
"patch": {
|
|
"description": "Assigns an org-wide role when projects is omitted, or creates a project-scoped assignment when projects is provided. Uses an org-level role template id from GET /v2/organizations/{slug}/roles. Stale role assignments are automatically cleaned up: if a role no longer has any projects, it is deleted; overlapping project assignments in other roles are automatically removed to avoid duplication.",
|
|
"operationId": "v2-assign-organization-member-role",
|
|
"parameters": [
|
|
{
|
|
"name": "slug",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Organization slug",
|
|
"schema": {
|
|
"pattern": "^[\\w-]+$",
|
|
"example": "tsrqponmlkjihgfedcba",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "user_id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_member_role"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string",
|
|
"enum": ["owner", "administrator", "developer", "read-only"],
|
|
"description": "Role name to assign. Must be one of: owner, administrator, developer, read-only. Must be on a Team or Enterprise plan to use the read-only role.",
|
|
"example": "developer"
|
|
},
|
|
"projects": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ref": {
|
|
"type": "string",
|
|
"description": "Project ref",
|
|
"example": "abcjuqabhgwjjutfvtpa"
|
|
}
|
|
},
|
|
"required": ["ref"]
|
|
},
|
|
"minItems": 1,
|
|
"description": "The projects to assign a project-scoped role for. If omitted, assigns an org-wide role."
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_member_role"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Role name. For project-scoped assignments this is the base role name.",
|
|
"example": "developer"
|
|
},
|
|
"scope": {
|
|
"type": "string",
|
|
"enum": ["organization", "project"],
|
|
"description": "Whether this role applies org-wide or is scoped to specific projects for the user."
|
|
},
|
|
"projects": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ref": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["ref", "name"]
|
|
},
|
|
"description": "Project refs this role is scoped to. Empty array for org-level roles."
|
|
}
|
|
},
|
|
"required": ["name", "scope", "projects"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"402": {
|
|
"description": "This feature requires the Enterprise organization plan."
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
},
|
|
"500": {
|
|
"description": "Failed to assign organization member role"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["organization_admin_write"]
|
|
}
|
|
],
|
|
"summary": "Assign or change an organization member role",
|
|
"tags": ["Organizations"],
|
|
"x-allowed-plans": ["Enterprise"],
|
|
"x-badges": [
|
|
{
|
|
"name": "Only available on Enterprise",
|
|
"position": "before"
|
|
}
|
|
],
|
|
"x-endpoint-owners": ["management-api"]
|
|
}
|
|
},
|
|
"/v2/organizations/{slug}/roles": {
|
|
"get": {
|
|
"description": "Returns a list of org-level roles for the organization.",
|
|
"operationId": "v2-list-organization-roles",
|
|
"parameters": [
|
|
{
|
|
"name": "slug",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Organization slug",
|
|
"schema": {
|
|
"pattern": "^[\\w-]+$",
|
|
"example": "tsrqponmlkjihgfedcba",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_role"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Role name.",
|
|
"example": "developer"
|
|
}
|
|
},
|
|
"required": ["name"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["members_read"]
|
|
}
|
|
],
|
|
"summary": "List roles of an organization",
|
|
"tags": ["Organizations"],
|
|
"x-badges": [
|
|
{
|
|
"name": "OAuth scope: organizations:read",
|
|
"position": "after"
|
|
}
|
|
],
|
|
"x-endpoint-owners": ["management-api"],
|
|
"x-oauth-scope": "organizations:read"
|
|
}
|
|
},
|
|
"/v2/organizations/{slug}/members/invitations": {
|
|
"post": {
|
|
"description": "Creates member invitations for an organization. Each invitation can have different role and project scope settings.",
|
|
"operationId": "v2-create-organization-invitations",
|
|
"parameters": [
|
|
{
|
|
"name": "slug",
|
|
"required": true,
|
|
"in": "path",
|
|
"description": "Organization slug",
|
|
"schema": {
|
|
"pattern": "^[\\w-]+$",
|
|
"example": "tsrqponmlkjihgfedcba",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_invitation"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"enum": ["owner", "administrator", "developer", "read-only"],
|
|
"description": "Role name to assign. Must be on a Team or Enterprise plan to use the read-only role.",
|
|
"example": "developer"
|
|
},
|
|
"projects": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ref": {
|
|
"type": "string",
|
|
"description": "Project ref",
|
|
"example": "abcjuqabhgwjjutfvtpa"
|
|
}
|
|
},
|
|
"required": ["ref"]
|
|
},
|
|
"minItems": 1,
|
|
"description": "The projects to limit a user to. If omitted, user will have org-wide access with the provided role."
|
|
},
|
|
"require_sso": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["email", "role"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
},
|
|
"minItems": 1,
|
|
"maxItems": 50
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"href": {
|
|
"type": "string"
|
|
},
|
|
"rel": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"describedby": {
|
|
"type": "string"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": ["href"]
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
},
|
|
"issues": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"href": {
|
|
"type": "string"
|
|
},
|
|
"rel": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"describedby": {
|
|
"type": "string"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": ["href"]
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
}
|
|
},
|
|
"required": ["email"]
|
|
}
|
|
},
|
|
"required": ["code", "message", "meta"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["code", "message"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_invitation"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
}
|
|
},
|
|
"required": ["email"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized"
|
|
},
|
|
"402": {
|
|
"description": "This feature requires the Enterprise organization plan."
|
|
},
|
|
"403": {
|
|
"description": "Forbidden action"
|
|
},
|
|
"429": {
|
|
"description": "Rate limit exceeded"
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"fga_permissions": ["members_write"]
|
|
}
|
|
],
|
|
"summary": "Creates organization invitations",
|
|
"tags": ["Organizations Members Invitations"],
|
|
"x-allowed-plans": ["Enterprise"],
|
|
"x-badges": [
|
|
{
|
|
"name": "OAuth scope: organizations:write",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"name": "Only available on Enterprise",
|
|
"position": "before"
|
|
}
|
|
],
|
|
"x-endpoint-owners": ["management-api"],
|
|
"x-oauth-scope": "organizations:write"
|
|
}
|
|
}
|
|
},
|
|
"components": {
|
|
"securitySchemes": {
|
|
"bearer": {
|
|
"scheme": "bearer",
|
|
"bearerFormat": "JWT",
|
|
"type": "http"
|
|
}
|
|
},
|
|
"schemas": {
|
|
"ListLogDrainsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log_drain"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"nullable": true
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "postgres"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"http": {
|
|
"type": "string",
|
|
"enum": ["http1", "http2"]
|
|
},
|
|
"gzip": {
|
|
"type": "boolean"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "webhook"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string"
|
|
},
|
|
"dataset_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "bigquery"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"api_key": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "datadog"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "loki"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"dsn": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "sentry"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"api_token": {
|
|
"type": "string"
|
|
},
|
|
"dataset_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "axiom"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"tls": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"structured_data": {
|
|
"type": "string"
|
|
},
|
|
"cipher_key": {
|
|
"type": "string"
|
|
},
|
|
"ca_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "syslog"
|
|
}
|
|
]
|
|
},
|
|
"backend_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"postgres",
|
|
"bigquery",
|
|
"clickhouse",
|
|
"webhook",
|
|
"datadog",
|
|
"loki",
|
|
"sentry",
|
|
"s3",
|
|
"axiom",
|
|
"last9",
|
|
"otlp",
|
|
"syslog"
|
|
]
|
|
}
|
|
},
|
|
"required": ["name", "config", "backend_type"]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"CreateLogDrainRequestOpenApi": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log_drain"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"nullable": true
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "postgres"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"http": {
|
|
"type": "string",
|
|
"enum": ["http1", "http2"]
|
|
},
|
|
"gzip": {
|
|
"type": "boolean"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "webhook"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string"
|
|
},
|
|
"dataset_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "bigquery"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"api_key": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "datadog"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "loki"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"dsn": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "sentry"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"api_token": {
|
|
"type": "string"
|
|
},
|
|
"dataset_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "axiom"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"tls": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"structured_data": {
|
|
"type": "string"
|
|
},
|
|
"cipher_key": {
|
|
"type": "string"
|
|
},
|
|
"ca_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "syslog"
|
|
}
|
|
]
|
|
},
|
|
"backend_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"postgres",
|
|
"bigquery",
|
|
"clickhouse",
|
|
"webhook",
|
|
"datadog",
|
|
"loki",
|
|
"sentry",
|
|
"s3",
|
|
"axiom",
|
|
"last9",
|
|
"otlp",
|
|
"syslog"
|
|
]
|
|
}
|
|
},
|
|
"required": ["name", "config", "backend_type"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"LogDrainResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log_drain"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"nullable": true
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "postgres"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"http": {
|
|
"type": "string",
|
|
"enum": ["http1", "http2"]
|
|
},
|
|
"gzip": {
|
|
"type": "boolean"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "webhook"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string"
|
|
},
|
|
"dataset_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "bigquery"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"api_key": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "datadog"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "loki"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"dsn": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "sentry"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"api_token": {
|
|
"type": "string"
|
|
},
|
|
"dataset_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "axiom"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"tls": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"structured_data": {
|
|
"type": "string"
|
|
},
|
|
"cipher_key": {
|
|
"type": "string"
|
|
},
|
|
"ca_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "syslog"
|
|
}
|
|
]
|
|
},
|
|
"backend_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"postgres",
|
|
"bigquery",
|
|
"clickhouse",
|
|
"webhook",
|
|
"datadog",
|
|
"loki",
|
|
"sentry",
|
|
"s3",
|
|
"axiom",
|
|
"last9",
|
|
"otlp",
|
|
"syslog"
|
|
]
|
|
}
|
|
},
|
|
"required": ["name", "config", "backend_type"]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"UpdateLogDrainRequestOpenApi": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["log_drain"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"schema": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"nullable": true
|
|
},
|
|
"hostname": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "postgres"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"http": {
|
|
"type": "string",
|
|
"enum": ["http1", "http2"]
|
|
},
|
|
"gzip": {
|
|
"type": "boolean"
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "webhook"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"project_id": {
|
|
"type": "string"
|
|
},
|
|
"dataset_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "bigquery"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"api_key": {
|
|
"type": "string"
|
|
},
|
|
"region": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "datadog"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"headers": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "loki"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"dsn": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "sentry"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"domain": {
|
|
"type": "string"
|
|
},
|
|
"api_token": {
|
|
"type": "string"
|
|
},
|
|
"dataset_name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "axiom"
|
|
},
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"tls": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"structured_data": {
|
|
"type": "string"
|
|
},
|
|
"cipher_key": {
|
|
"type": "string"
|
|
},
|
|
"ca_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_cert": {
|
|
"type": "string"
|
|
},
|
|
"client_key": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"title": "syslog"
|
|
}
|
|
]
|
|
},
|
|
"backend_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"postgres",
|
|
"bigquery",
|
|
"clickhouse",
|
|
"webhook",
|
|
"datadog",
|
|
"loki",
|
|
"sentry",
|
|
"s3",
|
|
"axiom",
|
|
"last9",
|
|
"otlp",
|
|
"syslog"
|
|
]
|
|
}
|
|
},
|
|
"required": ["backend_type"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"V2TransferProjectBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["project_transfer_input"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"target_organization_slug": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["target_organization_slug"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"V2PreviewProjectTransferResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["project_transfer_result"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"valid": {
|
|
"type": "boolean"
|
|
},
|
|
"warnings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["key", "message"]
|
|
}
|
|
},
|
|
"errors": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["key", "message"]
|
|
}
|
|
},
|
|
"info": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"key": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["key", "message"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["valid", "warnings", "errors", "info"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"V2ListPrivateLinkAssociationsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["private_link_association"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aws_account_id": {
|
|
"type": "string",
|
|
"minLength": 12,
|
|
"maxLength": 12,
|
|
"pattern": "^\\d{12}$",
|
|
"description": "The AWS account ID this PrivateLink share is associated with."
|
|
},
|
|
"account_name": {
|
|
"type": "string",
|
|
"description": "Human-readable name for the AWS account."
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"CREATING",
|
|
"READY",
|
|
"ASSOCIATION_REQUEST_EXPIRED",
|
|
"ASSOCIATION_ACCEPTED",
|
|
"CREATION_FAILED",
|
|
"DELETING"
|
|
],
|
|
"description": "\n - `CREATING`: The PrivateLink resources and the Association are in the process of being created. The PrivateLink Share cannot be accepted yet.\n - `READY`: The PrivateLink resources have been created and the PrivateLink Share can be accepted for the duration of 12h after sharing. See `shared_at`.\n - `ASSOCIATION_REQUEST_EXPIRED`: The PrivateLink Share has not been accepted within the 12h time limit. This association can now be deleted.\n - `ASSOCIATION_ACCEPTED`: The PrivateLink Share was successfully accepted.\n - `CREATION_FAILED`: The PrivateLink resources failed to create. This likely means something went wrong on Supabase's and and support should be contacted.\n - `DELETING`: The PrivateLink resources and the Association are in the process of being deleted. The PrivateLink Share cannot be accepted yet.\n"
|
|
},
|
|
"shared_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"description": "The time and date at which the AWS Resource Share Association was requested from Supabase. `null` means that the association was not yet requested while the PrivateLink Association is pending."
|
|
}
|
|
},
|
|
"required": ["aws_account_id", "status", "shared_at"]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"V2CreatePrivateLinkAssociationRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["private_link_association"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aws_account_id": {
|
|
"type": "string",
|
|
"minLength": 12,
|
|
"maxLength": 12,
|
|
"pattern": "^\\d{12}$",
|
|
"description": "The AWS account ID to add to the project PrivateLink share."
|
|
},
|
|
"account_name": {
|
|
"type": "string",
|
|
"maxLength": 128,
|
|
"description": "Optional human-readable name for the AWS account."
|
|
}
|
|
},
|
|
"required": ["aws_account_id"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"V2PrivateLinkAssociationResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["private_link_association"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"aws_account_id": {
|
|
"type": "string",
|
|
"minLength": 12,
|
|
"maxLength": 12,
|
|
"pattern": "^\\d{12}$",
|
|
"description": "The AWS account ID this PrivateLink share is associated with."
|
|
},
|
|
"account_name": {
|
|
"type": "string",
|
|
"description": "Human-readable name for the AWS account."
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"CREATING",
|
|
"READY",
|
|
"ASSOCIATION_REQUEST_EXPIRED",
|
|
"ASSOCIATION_ACCEPTED",
|
|
"CREATION_FAILED",
|
|
"DELETING"
|
|
],
|
|
"description": "\n - `CREATING`: The PrivateLink resources and the Association are in the process of being created. The PrivateLink Share cannot be accepted yet.\n - `READY`: The PrivateLink resources have been created and the PrivateLink Share can be accepted for the duration of 12h after sharing. See `shared_at`.\n - `ASSOCIATION_REQUEST_EXPIRED`: The PrivateLink Share has not been accepted within the 12h time limit. This association can now be deleted.\n - `ASSOCIATION_ACCEPTED`: The PrivateLink Share was successfully accepted.\n - `CREATION_FAILED`: The PrivateLink resources failed to create. This likely means something went wrong on Supabase's and and support should be contacted.\n - `DELETING`: The PrivateLink resources and the Association are in the process of being deleted. The PrivateLink Share cannot be accepted yet.\n"
|
|
},
|
|
"shared_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"nullable": true,
|
|
"description": "The time and date at which the AWS Resource Share Association was requested from Supabase. `null` means that the association was not yet requested while the PrivateLink Association is pending."
|
|
}
|
|
},
|
|
"required": ["aws_account_id", "status", "shared_at"]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"V2ListMembersResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_member"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {
|
|
"type": "string",
|
|
"format": "uuid"
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"username": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Member's username"
|
|
},
|
|
"primary_email": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Member's primary email"
|
|
},
|
|
"mfa_enabled": {
|
|
"type": "boolean",
|
|
"description": "Whether Multi-Factor Authentication is enabled for this member"
|
|
},
|
|
"is_sso_user": {
|
|
"type": "boolean",
|
|
"description": "Whether this member is a Single Sign-On user"
|
|
},
|
|
"avatar_url": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "Member's avatar URL"
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Role name. For project-scoped roles this is the base role name.",
|
|
"example": "developer"
|
|
},
|
|
"scope": {
|
|
"type": "string",
|
|
"enum": ["organization", "project"],
|
|
"description": "Whether this role applies org-wide or is scoped to specific projects for the user."
|
|
},
|
|
"projects": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ref": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["ref", "name"]
|
|
},
|
|
"description": "Project refs this role is scoped to. Empty array for org-level roles."
|
|
}
|
|
},
|
|
"required": ["name", "scope", "projects"]
|
|
},
|
|
"description": "Roles assigned to this member. Includes both org-level and project-scoped roles."
|
|
}
|
|
},
|
|
"required": [
|
|
"username",
|
|
"primary_email",
|
|
"mfa_enabled",
|
|
"is_sso_user",
|
|
"avatar_url",
|
|
"roles"
|
|
]
|
|
}
|
|
},
|
|
"required": ["type", "id", "attributes"]
|
|
}
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "URL path to the first page if available.",
|
|
"example": "/v2/organizations/my-org/members?page[size]=10"
|
|
},
|
|
"prev": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "URL path to the previous page.",
|
|
"example": "/v2/organizations/my-org/members?page[size]=10&page[before]=019adf7d-4513-74c5-bb9a-f1bc0f7a95d7"
|
|
},
|
|
"next": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "URL path to the next page.",
|
|
"example": "/v2/organizations/my-org/members?page[size]=10&page[after]=019adf7d-4513-7062-b292-78b86cc470a4"
|
|
},
|
|
"last": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"description": "URL path to the last page if available.",
|
|
"example": "/v2/organizations/my-org/members?page[size]=10&page[after]=019adf7d-4513-71ba-b264-21900edb4295"
|
|
}
|
|
},
|
|
"required": ["prev", "next"]
|
|
}
|
|
},
|
|
"required": ["data", "links"]
|
|
},
|
|
"V2AssignOrganizationMemberRoleRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_member_role"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"role": {
|
|
"type": "string",
|
|
"enum": ["owner", "administrator", "developer", "read-only"],
|
|
"description": "Role name to assign. Must be one of: owner, administrator, developer, read-only. Must be on a Team or Enterprise plan to use the read-only role.",
|
|
"example": "developer"
|
|
},
|
|
"projects": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ref": {
|
|
"type": "string",
|
|
"description": "Project ref",
|
|
"example": "abcjuqabhgwjjutfvtpa"
|
|
}
|
|
},
|
|
"required": ["ref"]
|
|
},
|
|
"minItems": 1,
|
|
"description": "The projects to assign a project-scoped role for. If omitted, assigns an org-wide role."
|
|
}
|
|
},
|
|
"required": ["role"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"OrganizationMemberRoleResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_member_role"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Role name. For project-scoped assignments this is the base role name.",
|
|
"example": "developer"
|
|
},
|
|
"scope": {
|
|
"type": "string",
|
|
"enum": ["organization", "project"],
|
|
"description": "Whether this role applies org-wide or is scoped to specific projects for the user."
|
|
},
|
|
"projects": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ref": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["ref", "name"]
|
|
},
|
|
"description": "Project refs this role is scoped to. Empty array for org-level roles."
|
|
}
|
|
},
|
|
"required": ["name", "scope", "projects"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"V2ListRolesResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_role"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "Role name.",
|
|
"example": "developer"
|
|
}
|
|
},
|
|
"required": ["name"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"V2CreateInvitationsRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_invitation"],
|
|
"description": "Resource type."
|
|
},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
},
|
|
"role": {
|
|
"type": "string",
|
|
"enum": ["owner", "administrator", "developer", "read-only"],
|
|
"description": "Role name to assign. Must be on a Team or Enterprise plan to use the read-only role.",
|
|
"example": "developer"
|
|
},
|
|
"projects": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ref": {
|
|
"type": "string",
|
|
"description": "Project ref",
|
|
"example": "abcjuqabhgwjjutfvtpa"
|
|
}
|
|
},
|
|
"required": ["ref"]
|
|
},
|
|
"minItems": 1,
|
|
"description": "The projects to limit a user to. If omitted, user will have org-wide access with the provided role."
|
|
},
|
|
"require_sso": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": ["email", "role"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
},
|
|
"minItems": 1,
|
|
"maxItems": 50
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
},
|
|
"V2CreateInvitationsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"href": {
|
|
"type": "string"
|
|
},
|
|
"rel": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"describedby": {
|
|
"type": "string"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": ["href"]
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
},
|
|
"issues": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"code": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"links": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"properties": {
|
|
"href": {
|
|
"type": "string"
|
|
},
|
|
"rel": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string"
|
|
},
|
|
"describedby": {
|
|
"type": "string"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
}
|
|
},
|
|
"required": ["href"]
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
}
|
|
},
|
|
"required": ["email"]
|
|
}
|
|
},
|
|
"required": ["code", "message", "meta"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["code", "message"]
|
|
},
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["organization_invitation"],
|
|
"description": "Resource type."
|
|
},
|
|
"id": {},
|
|
"attributes": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email"
|
|
}
|
|
},
|
|
"required": ["email"]
|
|
}
|
|
},
|
|
"required": ["type", "attributes"]
|
|
}
|
|
}
|
|
},
|
|
"required": ["data"]
|
|
}
|
|
}
|
|
}
|
|
}
|