feat: update mgmt api docs (#46955)

This PR updates mgmt api docs automatically.

Co-authored-by: jbergstroem <176984+jbergstroem@users.noreply.github.com>
This commit is contained in:
supabase-supabase-autofixer[bot]andjbergstroem authored and GitHub committed 2026-06-16 09:22:42 +02:00
1 parent 0717e1a8cb
commit 7d4ec098ea
5 files changed
+1344 -24

No files matched your search

+100 -10
View File
@@ -700,6 +700,7 @@
},
"/v1/oauth/token": {
"post": {
"description": "Supports `authorization_code`, `refresh_token`, and `urn:ietf:params:oauth:grant-type:jwt-bearer` grant types. The `jwt-bearer` grant type (IDJAG — identity-directed JWT assertion) is in beta and available on Team and Enterprise plans only.",
"operationId": "v1-exchange-oauth-token",
"parameters": [],
"requestBody": {
@@ -3222,7 +3223,7 @@
}
},
"responses": {
"201": { "description": "" },
"204": { "description": "" },
"401": { "description": "Unauthorized" },
"402": {
"description": "This feature requires the Pro, Team, or Enterprise organization plan."
@@ -3266,7 +3267,7 @@
}
},
"responses": {
"201": { "description": "" },
"204": { "description": "" },
"401": { "description": "Unauthorized" },
"403": { "description": "Forbidden action" },
"429": { "description": "Rate limit exceeded" },
@@ -3956,6 +3957,38 @@
"x-oauth-scope": "projects:write"
}
},
"/v1/projects/{ref}/restart": {
"post": {
"operationId": "v1-restart-a-project",
"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": "" },
"401": { "description": "Unauthorized" },
"403": { "description": "Forbidden action" },
"429": { "description": "Rate limit exceeded" }
},
"security": [{ "bearer": [] }, { "fga_permissions": ["project_admin_write"] }],
"summary": "Restarts the given project",
"tags": ["Projects"],
"x-badges": [{ "name": "OAuth scope: projects:write", "position": "after" }],
"x-endpoint-owners": ["infra", "management-api"],
"x-oauth-scope": "projects:write"
}
},
"/v1/projects/{ref}/restore": {
"get": {
"operationId": "v1-list-available-restore-versions",
@@ -7965,13 +7998,24 @@
"OAuthTokenBody": {
"type": "object",
"properties": {
"grant_type": { "type": "string", "enum": ["authorization_code", "refresh_token"] },
"grant_type": {
"type": "string",
"enum": [
"authorization_code",
"refresh_token",
"urn:ietf:params:oauth:grant-type:jwt-bearer"
]
},
"client_id": { "type": "string", "format": "uuid" },
"client_secret": { "type": "string" },
"code": { "type": "string" },
"code_verifier": { "type": "string" },
"redirect_uri": { "type": "string" },
"refresh_token": { "type": "string" },
"assertion": {
"type": "string",
"description": "IDJAG assertion JWT for grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer. Beta - available on Team and Enterprise plans only."
},
"resource": {
"type": "string",
"format": "uri",
@@ -7994,11 +8038,14 @@
"type": "object",
"properties": {
"access_token": { "type": "string" },
"refresh_token": { "type": "string" },
"refresh_token": {
"type": "string",
"description": "The `urn:ietf:params:oauth:grant-type:jwt-bearer` grant type issues access tokens only, no refresh token is returned and the token cannot be revoked via `/v1/oauth/revoke`."
},
"expires_in": { "type": "integer" },
"token_type": { "type": "string", "enum": ["Bearer"] }
},
"required": ["access_token", "refresh_token", "expires_in", "token_type"],
"required": ["access_token", "expires_in", "token_type"],
"additionalProperties": false
},
"OAuthRevokeTokenBody": {
@@ -10309,7 +10356,8 @@
"ipv4",
"auth_mfa_phone",
"auth_mfa_web_authn",
"log_drain"
"log_drain",
"etl_pipeline"
]
},
"variant": {
@@ -10345,7 +10393,8 @@
{ "type": "string", "enum": ["ipv4_default"] },
{ "type": "string", "enum": ["auth_mfa_phone_default"] },
{ "type": "string", "enum": ["auth_mfa_web_authn_default"] },
{ "type": "string", "enum": ["log_drain_default"] }
{ "type": "string", "enum": ["log_drain_default"] },
{ "type": "string", "enum": ["etl_pipeline_default"] }
]
},
"name": { "type": "string" },
@@ -10381,7 +10430,8 @@
"ipv4",
"auth_mfa_phone",
"auth_mfa_web_authn",
"log_drain"
"log_drain",
"etl_pipeline"
]
},
"name": { "type": "string" },
@@ -10420,7 +10470,8 @@
{ "type": "string", "enum": ["ipv4_default"] },
{ "type": "string", "enum": ["auth_mfa_phone_default"] },
{ "type": "string", "enum": ["auth_mfa_web_authn_default"] },
{ "type": "string", "enum": ["log_drain_default"] }
{ "type": "string", "enum": ["log_drain_default"] },
{ "type": "string", "enum": ["etl_pipeline_default"] }
]
},
"name": { "type": "string" },
@@ -10488,7 +10539,8 @@
"ipv4",
"auth_mfa_phone",
"auth_mfa_web_authn",
"log_drain"
"log_drain",
"etl_pipeline"
]
}
},
@@ -11525,6 +11577,25 @@
"properties": {
"effective_cache_size": { "type": "string" },
"logical_decoding_work_mem": { "type": "string" },
"cron.log_statement": { "type": "boolean" },
"log_autovacuum_min_duration": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_checkpoints": { "type": "boolean" },
"log_connections": { "type": "boolean" },
"log_disconnections": { "type": "boolean" },
"log_duration": { "type": "boolean" },
"log_lock_waits": { "type": "boolean" },
"log_recovery_conflict_waits": { "type": "boolean" },
"log_replication_commands": { "type": "boolean" },
"log_startup_progress_interval": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_temp_files": { "type": "string" },
"maintenance_work_mem": { "type": "string" },
"track_activity_query_size": { "type": "string" },
"max_connections": { "type": "integer", "minimum": 1, "maximum": 262143 },
@@ -11567,6 +11638,25 @@
"properties": {
"effective_cache_size": { "type": "string" },
"logical_decoding_work_mem": { "type": "string" },
"cron.log_statement": { "type": "boolean" },
"log_autovacuum_min_duration": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_checkpoints": { "type": "boolean" },
"log_connections": { "type": "boolean" },
"log_disconnections": { "type": "boolean" },
"log_duration": { "type": "boolean" },
"log_lock_waits": { "type": "boolean" },
"log_recovery_conflict_waits": { "type": "boolean" },
"log_replication_commands": { "type": "boolean" },
"log_startup_progress_interval": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_temp_files": { "type": "string" },
"maintenance_work_mem": { "type": "string" },
"track_activity_query_size": { "type": "string" },
"max_connections": { "type": "integer", "minimum": 1, "maximum": 262143 },
+318
View File
@@ -265,6 +265,135 @@
"tags": ["Projects"],
"x-endpoint-owners": ["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": { "$ref": "#/components/schemas/V2ListMembersResponse" }
}
}
},
"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}/roles": {
"get": {
"description": "Returns a cursor-paginated list of organization roles including both org-scoped and project-scoped roles.",
"operationId": "v2-list-organization-roles",
"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", "required": false },
"before": { "type": "string", "required": false }
},
"type": "object"
}
},
{
"name": "filter",
"required": false,
"in": "query",
"schema": {
"properties": {
"scope": {
"type": "string",
"enum": ["organization", "project"],
"required": false
}
},
"type": "object"
}
}
],
"responses": {
"200": {
"description": "",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/V2ListRolesResponse" }
}
}
},
"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"
}
}
},
"info": {
@@ -893,6 +1022,195 @@
}
},
"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"
},
"roles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": { "type": "integer", "description": "Role ID." },
"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": ["id", "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", "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"]
},
"V2ListRolesResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["organization_role"],
"description": "Resource type."
},
"id": { "type": "string" },
"attributes": {
"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."
},
"base_role_id": {
"type": "integer",
"nullable": true,
"description": "null for org-level roles; the base role ID for project-scoped roles."
},
"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", "base_role_id", "projects"]
}
},
"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/roles?page[size]=10"
},
"prev": {
"type": "string",
"nullable": true,
"description": "URL path to the previous page.",
"example": "/v2/organizations/my-org/roles?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/roles?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/roles?page[size]=10&page[after]=019adf7d-4513-71ba-b264-21900edb4295"
}
},
"required": ["prev", "next"]
}
},
"required": ["data", "links"]
}
}
}
+18
View File
@@ -735,6 +735,18 @@
"title": "List organization members",
"slug": "v1-list-organization-members",
"type": "operation"
},
{
"id": "v2-list-organization-members",
"title": "List organization members",
"slug": "v2-list-organization-members",
"type": "operation"
},
{
"id": "v2-list-organization-roles",
"title": "List organization roles",
"slug": "v2-list-organization-roles",
"type": "operation"
}
]
},
@@ -886,6 +898,12 @@
"slug": "v2-preview-a-project-transfer",
"type": "operation"
},
{
"id": "v1-restart-a-project",
"title": "Restart a project",
"slug": "v1-restart-a-project",
"type": "operation"
},
{
"id": "v1-restore-a-project",
"title": "Restore a project",
@@ -1858,6 +1858,7 @@
},
"/v1/oauth/token": {
"post": {
"description": "Supports `authorization_code`, `refresh_token`, and `urn:ietf:params:oauth:grant-type:jwt-bearer` grant types. The `jwt-bearer` grant type (IDJAG — identity-directed JWT assertion) is in beta and available on Team and Enterprise plans only.",
"operationId": "v1-exchange-oauth-token",
"parameters": [],
"requestBody": {
@@ -1869,7 +1870,11 @@
"properties": {
"grant_type": {
"type": "string",
"enum": ["authorization_code", "refresh_token"]
"enum": [
"authorization_code",
"refresh_token",
"urn:ietf:params:oauth:grant-type:jwt-bearer"
]
},
"client_id": {
"type": "string",
@@ -1890,6 +1895,10 @@
"refresh_token": {
"type": "string"
},
"assertion": {
"type": "string",
"description": "IDJAG assertion JWT for grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer. Beta - available on Team and Enterprise plans only."
},
"resource": {
"type": "string",
"format": "uri",
@@ -1925,7 +1934,8 @@
"type": "string"
},
"refresh_token": {
"type": "string"
"type": "string",
"description": "The `urn:ietf:params:oauth:grant-type:jwt-bearer` grant type issues access tokens only, no refresh token is returned and the token cannot be revoked via `/v1/oauth/revoke`."
},
"expires_in": {
"type": "integer"
@@ -1935,7 +1945,7 @@
"enum": ["Bearer"]
}
},
"required": ["access_token", "refresh_token", "expires_in", "token_type"],
"required": ["access_token", "expires_in", "token_type"],
"additionalProperties": false
}
}
@@ -8483,7 +8493,7 @@
}
},
"responses": {
"201": {
"204": {
"description": ""
},
"401": {
@@ -8560,7 +8570,7 @@
}
},
"responses": {
"201": {
"204": {
"description": ""
},
"401": {
@@ -13622,6 +13632,58 @@
"x-oauth-scope": "projects:write"
}
},
"/v1/projects/{ref}/restart": {
"post": {
"operationId": "v1-restart-a-project",
"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": ""
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden action"
},
"429": {
"description": "Rate limit exceeded"
}
},
"security": [
{
"bearer": []
},
{
"fga_permissions": ["project_admin_write"]
}
],
"summary": "Restarts the given project",
"tags": ["Projects"],
"x-badges": [
{
"name": "OAuth scope: projects:write",
"position": "after"
}
],
"x-endpoint-owners": ["infra", "management-api"],
"x-oauth-scope": "projects:write"
}
},
"/v1/projects/{ref}/restore": {
"get": {
"operationId": "v1-list-available-restore-versions",
@@ -13847,7 +13909,8 @@
"ipv4",
"auth_mfa_phone",
"auth_mfa_web_authn",
"log_drain"
"log_drain",
"etl_pipeline"
]
},
"variant": {
@@ -13901,6 +13964,10 @@
{
"type": "string",
"enum": ["log_drain_default"]
},
{
"type": "string",
"enum": ["etl_pipeline_default"]
}
]
},
@@ -13951,7 +14018,8 @@
"ipv4",
"auth_mfa_phone",
"auth_mfa_web_authn",
"log_drain"
"log_drain",
"etl_pipeline"
]
},
"name": {
@@ -14010,6 +14078,10 @@
{
"type": "string",
"enum": ["log_drain_default"]
},
{
"type": "string",
"enum": ["etl_pipeline_default"]
}
]
},
@@ -14151,7 +14223,8 @@
"ipv4",
"auth_mfa_phone",
"auth_mfa_web_authn",
"log_drain"
"log_drain",
"etl_pipeline"
]
}
},
@@ -19469,6 +19542,43 @@
"logical_decoding_work_mem": {
"type": "string"
},
"cron.log_statement": {
"type": "boolean"
},
"log_autovacuum_min_duration": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_checkpoints": {
"type": "boolean"
},
"log_connections": {
"type": "boolean"
},
"log_disconnections": {
"type": "boolean"
},
"log_duration": {
"type": "boolean"
},
"log_lock_waits": {
"type": "boolean"
},
"log_recovery_conflict_waits": {
"type": "boolean"
},
"log_replication_commands": {
"type": "boolean"
},
"log_startup_progress_interval": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_temp_files": {
"type": "string"
},
"maintenance_work_mem": {
"type": "string"
},
@@ -19624,6 +19734,43 @@
"logical_decoding_work_mem": {
"type": "string"
},
"cron.log_statement": {
"type": "boolean"
},
"log_autovacuum_min_duration": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_checkpoints": {
"type": "boolean"
},
"log_connections": {
"type": "boolean"
},
"log_disconnections": {
"type": "boolean"
},
"log_duration": {
"type": "boolean"
},
"log_lock_waits": {
"type": "boolean"
},
"log_recovery_conflict_waits": {
"type": "boolean"
},
"log_replication_commands": {
"type": "boolean"
},
"log_startup_progress_interval": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_temp_files": {
"type": "string"
},
"maintenance_work_mem": {
"type": "string"
},
@@ -19741,6 +19888,43 @@
"logical_decoding_work_mem": {
"type": "string"
},
"cron.log_statement": {
"type": "boolean"
},
"log_autovacuum_min_duration": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_checkpoints": {
"type": "boolean"
},
"log_connections": {
"type": "boolean"
},
"log_disconnections": {
"type": "boolean"
},
"log_duration": {
"type": "boolean"
},
"log_lock_waits": {
"type": "boolean"
},
"log_recovery_conflict_waits": {
"type": "boolean"
},
"log_replication_commands": {
"type": "boolean"
},
"log_startup_progress_interval": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_temp_files": {
"type": "string"
},
"maintenance_work_mem": {
"type": "string"
},
@@ -23558,7 +23742,11 @@
"properties": {
"grant_type": {
"type": "string",
"enum": ["authorization_code", "refresh_token"]
"enum": [
"authorization_code",
"refresh_token",
"urn:ietf:params:oauth:grant-type:jwt-bearer"
]
},
"client_id": {
"type": "string",
@@ -23579,6 +23767,10 @@
"refresh_token": {
"type": "string"
},
"assertion": {
"type": "string",
"description": "IDJAG assertion JWT for grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer. Beta - available on Team and Enterprise plans only."
},
"resource": {
"type": "string",
"format": "uri",
@@ -23606,7 +23798,8 @@
"type": "string"
},
"refresh_token": {
"type": "string"
"type": "string",
"description": "The `urn:ietf:params:oauth:grant-type:jwt-bearer` grant type issues access tokens only, no refresh token is returned and the token cannot be revoked via `/v1/oauth/revoke`."
},
"expires_in": {
"type": "integer"
@@ -23616,7 +23809,7 @@
"enum": ["Bearer"]
}
},
"required": ["access_token", "refresh_token", "expires_in", "token_type"],
"required": ["access_token", "expires_in", "token_type"],
"additionalProperties": false
},
"OAuthRevokeTokenBody": {
@@ -28019,7 +28212,8 @@
"ipv4",
"auth_mfa_phone",
"auth_mfa_web_authn",
"log_drain"
"log_drain",
"etl_pipeline"
]
},
"variant": {
@@ -28073,6 +28267,10 @@
{
"type": "string",
"enum": ["log_drain_default"]
},
{
"type": "string",
"enum": ["etl_pipeline_default"]
}
]
},
@@ -28123,7 +28321,8 @@
"ipv4",
"auth_mfa_phone",
"auth_mfa_web_authn",
"log_drain"
"log_drain",
"etl_pipeline"
]
},
"name": {
@@ -28182,6 +28381,10 @@
{
"type": "string",
"enum": ["log_drain_default"]
},
{
"type": "string",
"enum": ["etl_pipeline_default"]
}
]
},
@@ -28273,7 +28476,8 @@
"ipv4",
"auth_mfa_phone",
"auth_mfa_web_authn",
"log_drain"
"log_drain",
"etl_pipeline"
]
}
},
@@ -30021,6 +30225,43 @@
"logical_decoding_work_mem": {
"type": "string"
},
"cron.log_statement": {
"type": "boolean"
},
"log_autovacuum_min_duration": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_checkpoints": {
"type": "boolean"
},
"log_connections": {
"type": "boolean"
},
"log_disconnections": {
"type": "boolean"
},
"log_duration": {
"type": "boolean"
},
"log_lock_waits": {
"type": "boolean"
},
"log_recovery_conflict_waits": {
"type": "boolean"
},
"log_replication_commands": {
"type": "boolean"
},
"log_startup_progress_interval": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_temp_files": {
"type": "string"
},
"maintenance_work_mem": {
"type": "string"
},
@@ -30120,6 +30361,43 @@
"logical_decoding_work_mem": {
"type": "string"
},
"cron.log_statement": {
"type": "boolean"
},
"log_autovacuum_min_duration": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_checkpoints": {
"type": "boolean"
},
"log_connections": {
"type": "boolean"
},
"log_disconnections": {
"type": "boolean"
},
"log_duration": {
"type": "boolean"
},
"log_lock_waits": {
"type": "boolean"
},
"log_recovery_conflict_waits": {
"type": "boolean"
},
"log_replication_commands": {
"type": "boolean"
},
"log_startup_progress_interval": {
"type": "string",
"description": "Default unit: ms",
"pattern": "^(-?[0-9]+(?:\\.[0-9]+)?)(us|ms|s|min|h|d)?$"
},
"log_temp_files": {
"type": "string"
},
"maintenance_work_mem": {
"type": "string"
},
@@ -1581,6 +1581,414 @@
"tags": ["Projects"],
"x-endpoint-owners": ["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"
},
"roles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Role ID."
},
"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": ["id", "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",
"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}/roles": {
"get": {
"description": "Returns a cursor-paginated list of organization roles including both org-scoped and project-scoped roles.",
"operationId": "v2-list-organization-roles",
"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",
"required": false
},
"before": {
"type": "string",
"required": false
}
},
"type": "object"
}
},
{
"name": "filter",
"required": false,
"in": "query",
"schema": {
"properties": {
"scope": {
"type": "string",
"enum": ["organization", "project"],
"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_role"],
"description": "Resource type."
},
"id": {
"type": "string"
},
"attributes": {
"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."
},
"base_role_id": {
"type": "integer",
"nullable": true,
"description": "null for org-level roles; the base role ID for project-scoped roles."
},
"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", "base_role_id", "projects"]
}
},
"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/roles?page[size]=10"
},
"prev": {
"type": "string",
"nullable": true,
"description": "URL path to the previous page.",
"example": "/v2/organizations/my-org/roles?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/roles?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/roles?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 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"
}
}
},
"components": {
@@ -2545,6 +2953,214 @@
}
},
"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"
},
"roles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Role ID."
},
"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": ["id", "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", "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"]
},
"V2ListRolesResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["organization_role"],
"description": "Resource type."
},
"id": {
"type": "string"
},
"attributes": {
"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."
},
"base_role_id": {
"type": "integer",
"nullable": true,
"description": "null for org-level roles; the base role ID for project-scoped roles."
},
"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", "base_role_id", "projects"]
}
},
"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/roles?page[size]=10"
},
"prev": {
"type": "string",
"nullable": true,
"description": "URL path to the previous page.",
"example": "/v2/organizations/my-org/roles?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/roles?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/roles?page[size]=10&page[after]=019adf7d-4513-71ba-b264-21900edb4295"
}
},
"required": ["prev", "next"]
}
},
"required": ["data", "links"]
}
}
}