{ "openapi": "3.1.1", "info": { "title": "Template API", "version": "v1" }, "paths": { "/api/v1/auth/capabilities": { "get": { "tags": [ "Template.Api" ], "operationId": "GetAuthCapabilities", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAuthCapabilitiesResponse" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/auth/session": { "get": { "tags": [ "Template.Api" ], "operationId": "GetAuthSession", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAuthSessionResponse" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/auth/csrf": { "get": { "tags": [ "Template.Api" ], "operationId": "GetAuthCsrf", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAuthCsrfResponse" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/auth/logout": { "post": { "tags": [ "Template.Api" ], "operationId": "Logout", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAuthSessionResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/auth/external/{provider}/challenge": { "post": { "tags": [ "ExternalAuthEndpointModule" ], "description": "The signIn intent requires an anonymous browser. The connect intent requires the current cookieAuth BrowserSession.", "operationId": "ChallengeExternalAuth", "parameters": [ { "name": "provider", "in": "path", "required": true, "schema": { "enum": [ "google", "github", "gitlab", "vk", "yandex" ], "type": "string" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ExternalAuthChallengeRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfExternalAuthChallengeResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { }, { "cookieAuth": [ ] } ] } }, "/api/v1/account": { "get": { "tags": [ "AccountEndpointModule" ], "operationId": "GetAccount", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAccountResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] }, "delete": { "tags": [ "AccountEndpointModule" ], "operationId": "DeleteAccount", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteAccountRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAccountDeletionResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/account/profile": { "patch": { "tags": [ "AccountEndpointModule" ], "operationId": "UpdateAccountProfile", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateProfileRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAccountResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/account/connections": { "get": { "tags": [ "AccountEndpointModule" ], "operationId": "GetAccountConnections", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAccountConnectionsResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/account/connections/{provider}": { "delete": { "tags": [ "AccountEndpointModule" ], "operationId": "DisconnectAccountProvider", "parameters": [ { "name": "provider", "in": "path", "required": true, "schema": { "enum": [ "google", "github", "gitlab", "vk", "yandex" ], "type": "string" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAccountDisconnectionResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/account/sessions": { "get": { "tags": [ "AccountEndpointModule" ], "operationId": "GetAccountSessions", "parameters": [ { "name": "cursor", "in": "query", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 20 } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAccountSessionsResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/account/sessions/others": { "delete": { "tags": [ "AccountEndpointModule" ], "operationId": "RevokeOtherAccountSessions", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAccountSessionsRevocationResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/account/sessions/{sessionId}": { "delete": { "tags": [ "AccountEndpointModule" ], "operationId": "RevokeAccountSession", "parameters": [ { "name": "sessionId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAccountSessionRevocationResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/organizations": { "post": { "tags": [ "OrganizationEndpointModule" ], "operationId": "CreateOrganization", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateOrganizationRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "headers": { "Location": { "description": "URI reference for the created resource.", "required": true, "schema": { "type": "string", "format": "uri-reference" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfOrganizationDetailResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] }, "get": { "tags": [ "OrganizationEndpointModule" ], "operationId": "GetOrganizations", "parameters": [ { "name": "cursor", "in": "query", "schema": { "type": "string", "description": "Opaque versioned cursor returned by the preceding page. Organizations are ordered by the actor membership's immutable joinedAt and membership id." } }, { "name": "limit", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 50 } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfOrganizationPageResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Retry-After": { "description": "Whole seconds until this API key's fixed rate-limit window permits another request.", "required": true, "schema": { "maximum": 86400, "minimum": 1, "type": "integer", "format": "int32" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] }, { "apiKeyAuth": [ ] } ], "x-cache-control": "no-store", "x-api-key-scopes": [ "organization:read" ] } }, "/api/v1/organizations/by-key/{organizationKey}": { "get": { "tags": [ "OrganizationEndpointModule" ], "operationId": "GetOrganizationByKey", "parameters": [ { "name": "organizationKey", "in": "path", "required": true, "schema": { "oneOf": [ { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, { "maxLength": 64, "minLength": 1, "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "type": "string", "not": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string" } } ], "description": "Canonical organization UUID or lowercase non-UUID-shaped slug. UUID keys resolve only by organization ID. The response canonicalKey is always the preferred slug." } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfOrganizationDetailResponse" } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/organizations/{organizationId}": { "patch": { "tags": [ "OrganizationEndpointModule" ], "operationId": "UpdateOrganization", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateOrganizationRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfOrganizationDetailResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] }, "delete": { "tags": [ "OrganizationEndpointModule" ], "operationId": "DeleteOrganization", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DeleteOrganizationRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfOrganizationDeletionResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] }, "get": { "tags": [ "OrganizationEndpointModule" ], "operationId": "GetMachineOrganization", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfMachineOrganizationDetailResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Retry-After": { "description": "Whole seconds until this API key's fixed rate-limit window permits another request.", "required": true, "schema": { "maximum": 86400, "minimum": 1, "type": "integer", "format": "int32" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "apiKeyAuth": [ ] } ], "x-cache-control": "no-store", "x-api-key-scopes": [ "organization:read" ] } }, "/api/v1/auth/session/active-organization": { "put": { "tags": [ "OrganizationEndpointModule" ], "operationId": "SetActiveOrganization", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetActiveOrganizationRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfActiveOrganizationResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/organizations/{organizationId}/members": { "post": { "tags": [ "OrganizationEndpointModule" ], "operationId": "AddOrganizationMember", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddOrganizationMemberRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "headers": { "Location": { "description": "URI reference for the created resource.", "required": true, "schema": { "type": "string", "format": "uri-reference" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfOrganizationMemberResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] }, "get": { "tags": [ "OrganizationEndpointModule" ], "operationId": "GetOrganizationMembers", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "schema": { "type": "string", "description": "Opaque versioned cursor returned by the preceding page. Members are ordered by immutable joinedAt and member id." } }, { "name": "limit", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 50 } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfOrganizationMemberPageResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Retry-After": { "description": "Whole seconds until this API key's fixed rate-limit window permits another request.", "required": true, "schema": { "maximum": 86400, "minimum": 1, "type": "integer", "format": "int32" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] }, { "apiKeyAuth": [ ] } ], "x-cache-control": "no-store", "x-api-key-scopes": [ "organization:read", "member:read" ] } }, "/api/v1/organizations/{organizationId}/members/{memberId}": { "patch": { "tags": [ "OrganizationEndpointModule" ], "operationId": "UpdateOrganizationMemberRole", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "memberId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateOrganizationMemberRoleRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfOrganizationMemberResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/organizations/{organizationId}/teams": { "post": { "tags": [ "TeamEndpointModule" ], "operationId": "CreateTeam", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamNameRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Location": { "description": "URI reference for the created resource.", "required": true, "schema": { "type": "string", "format": "uri-reference" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfTeamResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" }, "get": { "tags": [ "TeamEndpointModule" ], "operationId": "GetTeams", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "schema": { "type": "string", "description": "Opaque versioned cursor." } }, { "name": "limit", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 50 } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfTeamPageResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Retry-After": { "description": "Whole seconds until this API key's fixed rate-limit window permits another request.", "required": true, "schema": { "maximum": 86400, "minimum": 1, "type": "integer", "format": "int32" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] }, { "apiKeyAuth": [ ] } ], "x-cache-control": "no-store", "x-api-key-scopes": [ "organization:read", "team:read" ] } }, "/api/v1/organizations/{organizationId}/teams/{teamId}": { "patch": { "tags": [ "TeamEndpointModule" ], "operationId": "UpdateTeam", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "teamId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TeamNameRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfTeamResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" }, "delete": { "tags": [ "TeamEndpointModule" ], "operationId": "DeleteTeam", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "teamId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfTeamDeletionResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/organizations/{organizationId}/teams/{teamId}/members": { "post": { "tags": [ "TeamEndpointModule" ], "operationId": "AddTeamMember", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "teamId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddTeamMemberRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Location": { "description": "URI reference for the created resource.", "required": true, "schema": { "type": "string", "format": "uri-reference" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfTeamMemberResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" }, "get": { "tags": [ "TeamEndpointModule" ], "operationId": "GetTeamMembers", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "teamId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "cursor", "in": "query", "schema": { "type": "string", "description": "Opaque versioned cursor." } }, { "name": "limit", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 50 } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfTeamMemberPageResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Retry-After": { "description": "Whole seconds until this API key's fixed rate-limit window permits another request.", "required": true, "schema": { "maximum": 86400, "minimum": 1, "type": "integer", "format": "int32" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] }, { "apiKeyAuth": [ ] } ], "x-cache-control": "no-store", "x-api-key-scopes": [ "organization:read", "team:read", "teamMember:read" ] } }, "/api/v1/organizations/{organizationId}/teams/{teamId}/members/{userId}": { "delete": { "tags": [ "TeamEndpointModule" ], "operationId": "RemoveTeamMember", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "teamId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "userId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfTeamMemberRemovalResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/organizations/{organizationId}/teams/{teamId}/member-candidates": { "get": { "tags": [ "TeamEndpointModule" ], "operationId": "GetTeamMemberCandidates", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "teamId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "q", "in": "query", "schema": { "maxLength": 100, "type": "string", "description": "Optional trimmed case-insensitive name or email search, at most 100 characters." } }, { "name": "cursor", "in": "query", "schema": { "type": "string", "description": "Opaque versioned cursor." } }, { "name": "limit", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 50 } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfTeamCandidatePageResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/organizations/{organizationId}/invitations": { "get": { "tags": [ "InvitationEndpointModule" ], "operationId": "GetOrganizationInvitations", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "status", "in": "query", "schema": { "enum": [ "pending", "accepted", "rejected", "canceled", "expired" ], "type": "string", "description": "Optional invitation display-state filter. Omit to return all activity." } }, { "name": "cursor", "in": "query", "schema": { "type": "string", "description": "Opaque versioned cursor." } }, { "name": "limit", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 50 } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfOrganizationInvitationPageResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" }, "post": { "tags": [ "InvitationEndpointModule" ], "operationId": "CreateInvitation", "parameters": [ { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateInvitationRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Location": { "description": "URI reference for the created resource.", "required": true, "schema": { "type": "string", "format": "uri-reference" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfInvitationResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Retry-After": { "description": "Decimal integer seconds until the caller may retry.", "required": true, "schema": { "pattern": "^[0-9]+$", "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/account/invitations": { "get": { "tags": [ "InvitationEndpointModule" ], "operationId": "GetAccountInvitations", "parameters": [ { "name": "cursor", "in": "query", "schema": { "type": "string", "description": "Opaque versioned cursor." } }, { "name": "limit", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 50 } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAccountInvitationPageResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/invitations/{invitationId}": { "get": { "tags": [ "InvitationEndpointModule" ], "operationId": "GetInvitationDecision", "parameters": [ { "name": "invitationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfInvitationDecisionResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/invitations/{invitationId}/accept": { "post": { "tags": [ "InvitationEndpointModule" ], "operationId": "AcceptInvitation", "parameters": [ { "name": "invitationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAcceptedInvitationResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Retry-After": { "description": "Decimal integer seconds until the caller may retry.", "required": true, "schema": { "pattern": "^[0-9]+$", "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/invitations/{invitationId}/reject": { "post": { "tags": [ "InvitationEndpointModule" ], "operationId": "RejectInvitation", "parameters": [ { "name": "invitationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfInvitationDecisionResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Retry-After": { "description": "Decimal integer seconds until the caller may retry.", "required": true, "schema": { "pattern": "^[0-9]+$", "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/account/api-keys": { "get": { "tags": [ "ApiKeyEndpointModule" ], "operationId": "ListPersonalApiKeys", "parameters": [ { "name": "cursor", "in": "query", "schema": { "type": "string", "description": "Opaque, typed, versioned, checksum-protected canonical base64url cursor for (createdAt DESC, apiKeyId DESC). Return nextCursor verbatim; do not decode or synthesize it." } }, { "name": "limit", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 50 } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeyPageResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" }, "post": { "tags": [ "ApiKeyEndpointModule" ], "description": "Returns the raw API key exactly once. Store it securely before discarding this response; it cannot be retrieved later.", "operationId": "CreatePersonalApiKey", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateApiKeyRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Location": { "description": "URI reference for the created API key resource.", "required": true, "schema": { "type": "string", "format": "uri-reference" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeySecretResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/account/api-keys/{apiKeyId}": { "patch": { "tags": [ "ApiKeyEndpointModule" ], "operationId": "UpdatePersonalApiKey", "parameters": [ { "name": "apiKeyId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateApiKeyRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeyResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" }, "delete": { "tags": [ "ApiKeyEndpointModule" ], "operationId": "RevokePersonalApiKey", "parameters": [ { "name": "apiKeyId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeyRevocationResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/account/api-keys/{apiKeyId}/rotate": { "post": { "tags": [ "ApiKeyEndpointModule" ], "description": "Returns the raw API key exactly once. Store it securely before discarding this response; it cannot be retrieved later.", "operationId": "RotatePersonalApiKey", "parameters": [ { "name": "apiKeyId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeySecretResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/organizations/{organizationId}/api-keys": { "get": { "tags": [ "ApiKeyEndpointModule" ], "operationId": "ListOrganizationApiKeys", "parameters": [ { "name": "cursor", "in": "query", "schema": { "type": "string", "description": "Opaque, typed, versioned, checksum-protected canonical base64url cursor for (createdAt DESC, apiKeyId DESC). Return nextCursor verbatim; do not decode or synthesize it." } }, { "name": "limit", "in": "query", "schema": { "maximum": 100, "minimum": 1, "type": "integer", "format": "int32", "default": 50 } }, { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeyPageResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" }, "post": { "tags": [ "ApiKeyEndpointModule" ], "description": "Returns the raw API key exactly once. Store it securely before discarding this response; it cannot be retrieved later.", "operationId": "CreateOrganizationApiKey", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } }, { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateApiKeyRequest" } } }, "required": true }, "responses": { "201": { "description": "Created", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Location": { "description": "URI reference for the created API key resource.", "required": true, "schema": { "type": "string", "format": "uri-reference" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeySecretResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/organizations/{organizationId}/api-keys/{apiKeyId}": { "patch": { "tags": [ "ApiKeyEndpointModule" ], "operationId": "UpdateOrganizationApiKey", "parameters": [ { "name": "apiKeyId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } }, { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateApiKeyRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeyResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" }, "delete": { "tags": [ "ApiKeyEndpointModule" ], "operationId": "RevokeOrganizationApiKey", "parameters": [ { "name": "apiKeyId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } }, { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeyRevocationResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/organizations/{organizationId}/api-keys/{apiKeyId}/rotate": { "post": { "tags": [ "ApiKeyEndpointModule" ], "description": "Returns the raw API key exactly once. Store it securely before discarding this response; it cannot be retrieved later.", "operationId": "RotateOrganizationApiKey", "parameters": [ { "name": "apiKeyId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } }, { "name": "organizationId", "in": "path", "required": true, "schema": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeySecretResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store" } }, "/api/v1/documents-system/search": { "get": { "tags": [ "DocumentSearchEndpointModule" ], "operationId": "SearchDocumentsSystem", "parameters": [ { "name": "q", "in": "query", "schema": { "maxLength": 120, "type": "string" } }, { "name": "locale", "in": "query", "schema": { "enum": [ "en", "ru" ], "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfDocumentSearchResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "406": { "description": "Not Acceptable", "headers": { "Cache-Control": { "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ ], "x-cache-control": "no-store" } }, "/api/v1/system/status": { "get": { "tags": [ "Template.Api" ], "summary": "Returns API status and echoes a validated optional value.", "operationId": "GetSystemStatus", "parameters": [ { "name": "echo", "in": "query", "schema": { "maxLength": 64, "minLength": 1, "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfSystemStatusResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/HttpValidationProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/v1/system/authenticated": { "get": { "tags": [ "Template.Api" ], "summary": "Confirms that cookie authentication and authorization succeeded.", "operationId": "GetAuthenticatedStatus", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAuthenticatedResponse" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ] } }, "/api/v1/me": { "get": { "tags": [ "ApiKeyEndpointModule" ], "operationId": "GetApiKeyPrincipal", "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfApiKeyMeResponse" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } }, "Retry-After": { "description": "Whole seconds until this API key's fixed rate-limit window permits another request.", "required": true, "schema": { "maximum": 86400, "minimum": 1, "type": "integer", "format": "int32" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "apiKeyAuth": [ ] } ], "x-cache-control": "no-store", "x-api-key-scopes": [ "basic:read" ] } }, "/api/local-auth/scenario": { "post": { "tags": [ "local-only" ], "operationId": "CreateLocalAutomationScenario", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateLocalAutomationScenarioRequest" } } } }, "responses": { "201": { "description": "Created", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfLocalAutomationScenarioResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "x-local-only": true }, "delete": { "tags": [ "local-only" ], "operationId": "DeleteLocalAutomationScenario", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfLocalAutomationCleanupResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "409": { "description": "Conflict", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-local-only": true } }, "/api/local-auth/sign-in": { "post": { "tags": [ "local-only" ], "operationId": "SignInLocalAutomation", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LocalAutomationSignInRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAuthSessionResponse" } } } }, "400": { "description": "Bad Request", "content": { "application/problem+json": { "schema": { "oneOf": [ { "$ref": "#/components/schemas/ProblemDetails" }, { "$ref": "#/components/schemas/HttpValidationProblemDetails" } ] } } } }, "401": { "description": "Unauthorized", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "429": { "description": "Too Many Requests", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "x-local-only": true } }, "/api/local-auth/confirm-email": { "post": { "tags": [ "local-only" ], "description": "Development/Test only; requires LocalAutomationAuth enabled. Production returns 404. This is not production account verification.", "operationId": "ConfirmLocalAutomationEmail", "parameters": [ { "name": "X-CSRF-TOKEN", "in": "header", "description": "Request token returned by GET /api/v1/auth/csrf.", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfAuthSessionResponse" } } } }, "400": { "description": "Bad Request", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "401": { "description": "Unauthorized", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "403": { "description": "Forbidden", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "404": { "description": "Not Found", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "headers": { "Cache-Control": { "description": "All responses are non-cacheable.", "required": true, "schema": { "enum": [ "no-store" ], "type": "string" } } }, "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } }, "security": [ { "cookieAuth": [ ] } ], "x-cache-control": "no-store", "x-local-only": true } }, "/api/health": { "get": { "tags": [ "Template.Api" ], "summary": "Reports whether the API is ready to receive traffic.", "operationId": "GetHealth", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfHealthResponse" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfHealthResponse" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/health/live": { "get": { "tags": [ "Template.Api" ], "summary": "Reports whether the API process can answer requests.", "operationId": "GetLiveness", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfHealthResponse" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfHealthResponse" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } }, "/api/health/ready": { "get": { "tags": [ "Template.Api" ], "summary": "Reports whether the API is ready to receive traffic.", "operationId": "GetReadiness", "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfHealthResponse" } } } }, "503": { "description": "Service Unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ApiResponseOfHealthResponse" } } } }, "404": { "description": "Not Found", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "405": { "description": "Method Not Allowed", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } }, "500": { "description": "Internal Server Error", "content": { "application/problem+json": { "schema": { "$ref": "#/components/schemas/ProblemDetails" } } } } } } } }, "components": { "schemas": { "AcceptedInvitationResponse": { "required": [ "invitationId", "organizationId", "canonicalOrganizationKey" ], "type": "object", "properties": { "invitationId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "organizationId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "canonicalOrganizationKey": { "type": "string" } } }, "AccountConnectionResponse": { "required": [ "provider", "displayName", "configured", "connected", "email", "connectedAt", "lastUsedAt", "isCurrentAuthenticationMethod", "canConnect", "canDisconnect", "disabledReason" ], "type": "object", "properties": { "provider": { "enum": [ "google", "github", "gitlab", "vk", "yandex" ], "type": "string" }, "displayName": { "type": "string" }, "configured": { "type": "boolean" }, "connected": { "type": "boolean" }, "email": { "maxLength": 254, "type": [ "null", "string" ], "format": "email" }, "connectedAt": { "type": [ "null", "string" ], "format": "date-time" }, "lastUsedAt": { "type": [ "null", "string" ], "format": "date-time" }, "isCurrentAuthenticationMethod": { "type": "boolean" }, "canConnect": { "type": "boolean" }, "canDisconnect": { "type": "boolean" }, "disabledReason": { "enum": [ "external_connection_required", null ], "type": [ "null", "string" ] } } }, "AccountConnectionsResponse": { "required": [ "items" ], "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/AccountConnectionResponse" } } } }, "AccountDeletionResponse": { "required": [ "deleted" ], "type": "object", "properties": { "deleted": { "type": "boolean" } } }, "AccountDisconnectionResponse": { "required": [ "provider" ], "type": "object", "properties": { "provider": { "enum": [ "google", "github", "gitlab", "vk", "yandex" ], "type": "string" } } }, "AccountEmailResponse": { "required": [ "email", "isPrimary", "providers" ], "type": "object", "properties": { "email": { "maxLength": 254, "type": "string", "format": "email" }, "isPrimary": { "type": "boolean" }, "providers": { "type": "array", "items": { "enum": [ "google", "github", "gitlab", "vk", "yandex" ], "type": "string" } } } }, "AccountInvitationPageResponse": { "required": [ "items", "nextCursor" ], "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/InvitationResponse" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "AccountResponse": { "required": [ "id", "displayName", "primaryEmail", "imageUrl", "createdAt", "verifiedEmails" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "displayName": { "maxLength": 50, "minLength": 2, "type": "string" }, "primaryEmail": { "maxLength": 254, "type": "string", "format": "email" }, "imageUrl": { "type": [ "null", "string" ], "format": "uri", "x-uri-scheme": "https" }, "createdAt": { "type": "string", "format": "date-time" }, "verifiedEmails": { "type": "array", "items": { "$ref": "#/components/schemas/AccountEmailResponse" } } } }, "AccountSessionResponse": { "required": [ "id", "createdAt", "lastSeenAt", "expiresAt", "isCurrent", "authenticationMethod", "ipAddress", "userAgent" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "lastSeenAt": { "type": "string", "format": "date-time" }, "expiresAt": { "type": "string", "format": "date-time" }, "isCurrent": { "type": "boolean" }, "authenticationMethod": { "enum": [ "local", "google", "github", "gitlab", "vk", "yandex" ], "type": "string" }, "ipAddress": { "type": [ "null", "string" ] }, "userAgent": { "maxLength": 512, "type": [ "null", "string" ] } } }, "AccountSessionRevocationResponse": { "required": [ "sessionId" ], "type": "object", "properties": { "sessionId": { "type": "string", "format": "uuid" } } }, "AccountSessionsResponse": { "required": [ "items", "nextCursor" ], "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/AccountSessionResponse" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "AccountSessionsRevocationResponse": { "required": [ "revokedCount" ], "type": "object", "properties": { "revokedCount": { "minimum": 0, "type": "integer", "format": "int32" } } }, "ActiveOrganizationResponse": { "required": [ "organizationId" ], "type": "object", "properties": { "organizationId": { "type": "string", "format": "uuid" } } }, "AddOrganizationMemberRequest": { "required": [ "userId", "role" ], "type": "object", "properties": { "userId": { "type": "string", "format": "uuid" }, "role": { "enum": [ "member", "admin", "owner" ], "type": "string" }, "acknowledgeDomainRestriction": { "type": [ "null", "boolean" ] } }, "additionalProperties": false }, "AddTeamMemberRequest": { "required": [ "userId" ], "type": "object", "properties": { "userId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } }, "additionalProperties": false }, "ApiKeyMeKeyResponse": { "required": [ "id", "start", "configId" ], "type": "object", "properties": { "id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "start": { "type": "string", "description": "Safe non-secret credential prefix for identification only." }, "configId": { "enum": [ "user-keys", "org-keys" ], "type": "string" } } }, "ApiKeyMePrincipalResponse": { "required": [ "ownerKind", "userId", "organizationId" ], "type": "object", "oneOf": [ { "required": [ "ownerKind", "userId", "organizationId" ], "type": "object", "properties": { "ownerKind": { "enum": [ "user" ], "type": "string" }, "userId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "organizationId": { "type": "null" } } }, { "required": [ "ownerKind", "userId", "organizationId" ], "type": "object", "properties": { "ownerKind": { "enum": [ "organization" ], "type": "string" }, "userId": { "type": "null" }, "organizationId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } } } ], "properties": { "ownerKind": { "enum": [ "user", "organization" ], "type": "string", "description": "user means a personal key; organization means an organization-owned key." }, "userId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": [ "null", "string" ], "format": "uuid" }, "organizationId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": [ "null", "string" ], "format": "uuid" } }, "discriminator": { "propertyName": "ownerKind" } }, "ApiKeyMeResponse": { "required": [ "principal", "key", "scopes" ], "type": "object", "properties": { "principal": { "$ref": "#/components/schemas/ApiKeyMePrincipalResponse" }, "key": { "$ref": "#/components/schemas/ApiKeyMeKeyResponse" }, "scopes": { "type": "array", "items": { "enum": [ "basic:read", "organization:read", "member:read", "team:read", "teamMember:read" ], "type": "string" } } } }, "ApiKeyPageResponse": { "required": [ "items", "nextCursor" ], "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/ApiKeyResponse" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "ApiKeyResponse": { "required": [ "id", "ownerKind", "ownerId", "name", "start", "status", "enabled", "scopes", "rateLimitEnabled", "rateLimitMax", "rateLimitWindow", "requestCount", "windowStartedAt", "lastRequestAt", "expiresAt", "rotatedAt", "createdAt", "updatedAt" ], "type": "object", "properties": { "id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "ownerKind": { "enum": [ "user", "organization" ], "type": "string" }, "ownerId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "name": { "maxLength": 32, "minLength": 1, "type": "string" }, "start": { "maxLength": 16, "minLength": 16, "type": "string", "description": "Safe non-secret credential prefix for identification only." }, "status": { "enum": [ "active", "disabled", "expired" ], "type": "string" }, "enabled": { "type": "boolean" }, "scopes": { "type": "array", "items": { "enum": [ "basic:read", "organization:read", "member:read", "team:read", "teamMember:read" ], "type": "string" } }, "rateLimitEnabled": { "type": "boolean" }, "rateLimitMax": { "maximum": 1000000, "minimum": 1, "type": "integer", "format": "int32" }, "rateLimitWindow": { "enum": [ "1m", "1h", "1d" ], "type": "string" }, "requestCount": { "minimum": 0, "type": "integer", "format": "int32" }, "windowStartedAt": { "type": [ "null", "string" ], "format": "date-time" }, "lastRequestAt": { "type": [ "null", "string" ], "format": "date-time" }, "expiresAt": { "type": [ "null", "string" ], "format": "date-time" }, "rotatedAt": { "type": [ "null", "string" ], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } } }, "ApiKeyRevocationResponse": { "required": [ "id", "revokedAt" ], "type": "object", "properties": { "id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "revokedAt": { "type": "string", "format": "date-time" } } }, "ApiKeySecretResponse": { "required": [ "id", "ownerKind", "ownerId", "name", "start", "status", "enabled", "scopes", "rateLimitEnabled", "rateLimitMax", "rateLimitWindow", "requestCount", "windowStartedAt", "lastRequestAt", "expiresAt", "rotatedAt", "createdAt", "updatedAt", "key" ], "type": "object", "properties": { "id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "ownerKind": { "enum": [ "user", "organization" ], "type": "string" }, "ownerId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "name": { "maxLength": 32, "minLength": 1, "type": "string" }, "start": { "maxLength": 16, "minLength": 16, "type": "string", "description": "Safe non-secret credential prefix for identification only." }, "status": { "enum": [ "active", "disabled", "expired" ], "type": "string" }, "enabled": { "type": "boolean" }, "scopes": { "type": "array", "items": { "enum": [ "basic:read", "organization:read", "member:read", "team:read", "teamMember:read" ], "type": "string" } }, "rateLimitEnabled": { "type": "boolean" }, "rateLimitMax": { "maximum": 1000000, "minimum": 1, "type": "integer", "format": "int32" }, "rateLimitWindow": { "enum": [ "1m", "1h", "1d" ], "type": "string" }, "requestCount": { "minimum": 0, "type": "integer", "format": "int32" }, "windowStartedAt": { "type": [ "null", "string" ], "format": "date-time" }, "lastRequestAt": { "type": [ "null", "string" ], "format": "date-time" }, "expiresAt": { "type": [ "null", "string" ], "format": "date-time" }, "rotatedAt": { "type": [ "null", "string" ], "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "key": { "type": "string", "description": "Reveal-once credential. Store it securely now; it is never returned by list, update, revoke, /me, or resource-read operations." } } }, "ApiResponseOfAcceptedInvitationResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AcceptedInvitationResponse" } } }, "ApiResponseOfAccountConnectionsResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AccountConnectionsResponse" } } }, "ApiResponseOfAccountDeletionResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AccountDeletionResponse" } } }, "ApiResponseOfAccountDisconnectionResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AccountDisconnectionResponse" } } }, "ApiResponseOfAccountInvitationPageResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AccountInvitationPageResponse" } } }, "ApiResponseOfAccountResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AccountResponse" } } }, "ApiResponseOfAccountSessionRevocationResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AccountSessionRevocationResponse" } } }, "ApiResponseOfAccountSessionsResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AccountSessionsResponse" } } }, "ApiResponseOfAccountSessionsRevocationResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AccountSessionsRevocationResponse" } } }, "ApiResponseOfActiveOrganizationResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ActiveOrganizationResponse" } } }, "ApiResponseOfApiKeyMeResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ApiKeyMeResponse" } } }, "ApiResponseOfApiKeyPageResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ApiKeyPageResponse" } } }, "ApiResponseOfApiKeyResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ApiKeyResponse" } } }, "ApiResponseOfApiKeyRevocationResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ApiKeyRevocationResponse" } } }, "ApiResponseOfApiKeySecretResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ApiKeySecretResponse" } } }, "ApiResponseOfAuthCapabilitiesResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AuthCapabilitiesResponse" } } }, "ApiResponseOfAuthCsrfResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AuthCsrfResponse" } } }, "ApiResponseOfAuthenticatedResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AuthenticatedResponse" } } }, "ApiResponseOfAuthSessionResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/AuthSessionResponse" } } }, "ApiResponseOfDocumentSearchResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/DocumentSearchResponse" } } }, "ApiResponseOfExternalAuthChallengeResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/ExternalAuthChallengeResponse" } } }, "ApiResponseOfHealthResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/HealthResponse" } } }, "ApiResponseOfInvitationDecisionResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/InvitationDecisionResponse" } } }, "ApiResponseOfInvitationResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/InvitationResponse" } } }, "ApiResponseOfLocalAutomationCleanupResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/LocalAutomationCleanupResponse" } } }, "ApiResponseOfLocalAutomationScenarioResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/LocalAutomationScenarioResponse" } } }, "ApiResponseOfMachineOrganizationDetailResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/MachineOrganizationDetailResponse" } } }, "ApiResponseOfOrganizationDeletionResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/OrganizationDeletionResponse" } } }, "ApiResponseOfOrganizationDetailResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/OrganizationDetailResponse" } } }, "ApiResponseOfOrganizationInvitationPageResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/OrganizationInvitationPageResponse" } } }, "ApiResponseOfOrganizationMemberPageResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/OrganizationMemberPageResponse" } } }, "ApiResponseOfOrganizationMemberResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/OrganizationMemberResponse" } } }, "ApiResponseOfOrganizationPageResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/OrganizationPageResponse" } } }, "ApiResponseOfSystemStatusResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/SystemStatusResponse" } } }, "ApiResponseOfTeamCandidatePageResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/TeamCandidatePageResponse" } } }, "ApiResponseOfTeamDeletionResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/TeamDeletionResponse" } } }, "ApiResponseOfTeamMemberPageResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/TeamMemberPageResponse" } } }, "ApiResponseOfTeamMemberRemovalResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/TeamMemberRemovalResponse" } } }, "ApiResponseOfTeamMemberResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/TeamMemberResponse" } } }, "ApiResponseOfTeamPageResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/TeamPageResponse" } } }, "ApiResponseOfTeamResponse": { "required": [ "data" ], "type": "object", "properties": { "data": { "$ref": "#/components/schemas/TeamResponse" } } }, "AuthCapabilitiesResponse": { "required": [ "localAutomationEnabled", "providers" ], "type": "object", "properties": { "localAutomationEnabled": { "type": "boolean" }, "providers": { "type": "array", "items": { "$ref": "#/components/schemas/AuthProviderResponse" } } } }, "AuthCsrfResponse": { "required": [ "requestToken" ], "type": "object", "properties": { "requestToken": { "type": "string" } } }, "AuthenticatedResponse": { "required": [ "status" ], "type": "object", "properties": { "status": { "type": "string" } } }, "AuthProviderResponse": { "required": [ "id", "displayName" ], "type": "object", "properties": { "id": { "enum": [ "google", "github", "gitlab", "vk", "yandex" ], "type": "string" }, "displayName": { "type": "string" } } }, "AuthSessionMetadataResponse": { "required": [ "id", "createdAt", "updatedAt", "expiresAt", "activeOrganizationId" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "expiresAt": { "type": "string", "format": "date-time" }, "activeOrganizationId": { "type": [ "null", "string" ], "format": "uuid" } } }, "AuthSessionResponse": { "required": [ "authenticated", "user", "session" ], "type": "object", "properties": { "authenticated": { "type": "boolean" }, "user": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/AuthUserResponse" } ] }, "session": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/AuthSessionMetadataResponse" } ] } } }, "AuthUserResponse": { "required": [ "id", "name", "email", "emailVerified", "image" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "email": { "type": "string" }, "emailVerified": { "type": "boolean" }, "image": { "type": [ "null", "string" ] } } }, "CreateApiKeyRequest": { "required": [ "name", "presetIds", "expiresIn", "rateLimitEnabled", "rateLimitMax", "rateLimitWindow" ], "type": "object", "properties": { "name": { "type": "string", "description": "Trimmed before use; the result must contain 1 to 32 Unicode scalars and no control characters.", "x-trimmed-min-length": 1, "x-trimmed-max-length": 32, "x-length-unit": "unicode-scalar", "x-control-characters": false }, "presetIds": { "minItems": 1, "type": "array", "items": { "enum": [ "basic-read", "organization-read", "organization-members-read", "organization-teams-read", "organization-team-members-read", "organization-read-all" ], "type": "string" }, "description": "Nonempty closed preset selection expanded server-side into canonical scopes; clients never submit raw scopes." }, "expiresIn": { "enum": [ "never", "7d", "30d", "90d", "365d" ], "type": "string", "description": "Closed expiry duration applied from successful creation; never has no expiry." }, "rateLimitEnabled": { "type": "boolean" }, "rateLimitMax": { "maximum": 1000000, "minimum": 1, "type": "integer", "format": "int32" }, "rateLimitWindow": { "enum": [ "1m", "1h", "1d" ], "type": "string", "description": "Closed fixed-window duration." } }, "additionalProperties": false }, "CreateInvitationRequest": { "required": [ "email", "role" ], "type": "object", "properties": { "email": { "type": "string", "description": "Trimmed and lowercased before use; the trimmed value must be a valid ASCII-only email without control characters and contain at most 254 characters.", "x-trimmed-max-length": 254, "x-trimmed-format": "email", "x-trimmed-pattern": "^[\\x20-\\x7E]+$" }, "role": { "enum": [ "member", "admin", "owner" ], "type": "string" }, "teamId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": [ "null", "string" ], "format": "uuid" } }, "additionalProperties": false }, "CreateLocalAutomationScenarioRequest": { "type": "object", "properties": { "name": { "type": [ "null", "string" ], "description": "Trimmed before use; the trimmed name must contain 2 to 50 characters.", "x-trimmed-min-length": 2, "x-trimmed-max-length": 50 }, "email": { "type": [ "null", "string" ], "description": "Trimmed and lowercased before use; the trimmed value must be a valid email of at most 254 characters in the case-insensitive local-agent+...@local-agent.test namespace.", "x-trimmed-max-length": 254, "x-trimmed-format": "email", "x-trimmed-pattern": "^[lL][oO][cC][aA][lL]-[aA][gG][eE][nN][tT]\\+[^@\\s]+@[lL][oO][cC][aA][lL]-[aA][gG][eE][nN][tT]\\.[tT][eE][sS][tT]$" }, "password": { "maxLength": 128, "minLength": 12, "type": [ "null", "string" ] } }, "additionalProperties": false }, "CreateOrganizationRequest": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "Trimmed before use; the trimmed name must contain 1 to 50 Unicode letters, digits, ordinary spaces, hyphens, or underscores.", "x-trimmed-min-length": 1, "x-trimmed-max-length": 50, "x-trimmed-pattern": "^[\\p{L}\\p{Nd} _-]+$" } }, "additionalProperties": false }, "DeleteAccountRequest": { "required": [ "confirmationEmail" ], "type": "object", "properties": { "confirmationEmail": { "type": "string", "description": "Trimmed before comparison; the value must be a valid email of at most 254 characters and exactly match the current primary email.", "x-trimmed-max-length": 254, "x-trimmed-format": "email" } }, "additionalProperties": false }, "DeleteOrganizationRequest": { "required": [ "confirmationName" ], "type": "object", "properties": { "confirmationName": { "maxLength": 50, "minLength": 1, "type": "string", "description": "Case-sensitive organization name confirmation." } }, "additionalProperties": false }, "DocumentSearchHeadingResponse": { "required": [ "type", "title", "href", "pageTitle", "group", "parentItem" ], "type": "object", "properties": { "type": { "enum": [ "heading" ], "type": "string" }, "title": { "type": "string" }, "href": { "type": "string" }, "pageTitle": { "type": "string" }, "group": { "type": "string" }, "parentItem": { "type": "string" } } }, "DocumentSearchPageResponse": { "required": [ "type", "title", "description", "href", "group", "parentItem" ], "type": "object", "properties": { "type": { "enum": [ "page" ], "type": "string" }, "title": { "type": "string" }, "description": { "type": "string" }, "href": { "type": "string" }, "group": { "type": "string" }, "parentItem": { "type": "string" } } }, "DocumentSearchResponse": { "required": [ "pages", "headings" ], "type": "object", "properties": { "pages": { "type": "array", "items": { "$ref": "#/components/schemas/DocumentSearchPageResponse" } }, "headings": { "type": "array", "items": { "$ref": "#/components/schemas/DocumentSearchHeadingResponse" } } } }, "ExternalAuthChallengeRequest": { "required": [ "intent" ], "type": "object", "properties": { "intent": { "enum": [ "signIn", "connect" ], "type": "string" }, "returnUrl": { "maxLength": 4096, "pattern": "^/(?!/)", "type": [ "null", "string" ], "description": "Optional same-origin application path. Absolute, protocol-relative, /api/**, and /auth/** return paths are rejected.", "x-safe-return-path": true } }, "additionalProperties": false }, "ExternalAuthChallengeResponse": { "required": [ "authorizationUrl" ], "type": "object", "properties": { "authorizationUrl": { "type": "string", "format": "uri", "x-uri-scheme": "https" } } }, "ExternalAuthIntent": { "enum": [ "signIn", "connect" ], "type": "string" }, "HealthResponse": { "required": [ "status", "timestamp" ], "type": "object", "properties": { "status": { "type": "string" }, "timestamp": { "type": "string", "format": "date-time" } } }, "HttpValidationProblemDetails": { "required": [ "type", "title", "status", "detail", "instance", "code", "traceId", "errors" ], "type": "object", "properties": { "type": { "type": "string" }, "title": { "type": "string" }, "status": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "detail": { "type": "string" }, "instance": { "type": "string" }, "errors": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } }, "code": { "enum": [ "invalid_request", "validation_failed", "unauthorized", "forbidden", "not_found", "method_not_allowed", "internal_error", "antiforgery_failed", "local_auth_invalid_credentials", "local_auth_user_required", "local_auth_disabled", "local_auth_user_exists", "rate_limited", "invalid_return_url", "external_provider_not_configured", "already_authenticated", "external_auth_failed", "external_email_required", "external_email_unverified", "external_identity_conflict", "external_email_conflict", "oauth_flow_context_changed", "invalid_cursor", "external_connection_required", "external_connection_not_found", "account_session_not_found", "current_session_cannot_be_revoked", "concurrency_conflict", "organization_ownership_transfer_required", "organization_not_found", "organization_permission_denied", "organization_name_conflict", "organization_slug_conflict", "last_organization_required", "organization_confirmation_mismatch", "member_not_found", "target_user_not_found", "member_already_exists", "member_role_unchanged", "role_assignment_forbidden", "member_domain_acknowledgement_required", "team_not_found", "team_permission_denied", "team_name_conflict", "team_name_unchanged", "team_member_not_found", "team_member_already_exists", "invitation_not_found", "invitation_permission_denied", "invitation_already_exists", "invitation_recipient_already_member", "invitation_team_invalid", "invitation_domain_restricted", "invitation_recipient_mismatch", "invitation_email_verification_required", "invitation_expired", "invitation_not_pending", "invitation_membership_conflict", "invitation_limit_reached", "api_key_not_found", "api_key_permission_denied", "api_key_update_unchanged", "api_key_missing", "api_key_invalid", "api_key_rate_limited", "organization_access_denied" ], "type": "string" }, "traceId": { "type": "string" }, "email": { "maxLength": 254, "type": [ "null", "string" ], "description": "Target email for member_domain_acknowledgement_required.", "format": "email" }, "emailDomain": { "maxLength": 253, "pattern": "^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": [ "null", "string" ], "description": "Normalized target domain for member_domain_acknowledgement_required." }, "allowedEmailDomains": { "type": [ "null", "array" ], "items": { "maxLength": 253, "pattern": "^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "description": "Ordered allowed domains for member_domain_acknowledgement_required." } } }, "InvitationDecisionResponse": { "required": [ "invitation", "state", "canRespond" ], "type": "object", "properties": { "invitation": { "oneOf": [ { "type": "null" }, { "$ref": "#/components/schemas/InvitationResponse" } ] }, "state": { "enum": [ "pending", "accepted", "rejected", "canceled", "expired", "recipient-mismatch", "email-verification-required", "domain-restricted", "already-member" ], "type": "string" }, "canRespond": { "type": "boolean" } } }, "InvitationResponse": { "required": [ "id", "organizationId", "organizationName", "canonicalOrganizationKey", "teamId", "teamName", "email", "role", "status", "displayState", "expiresAt", "createdAt", "inviterId", "inviterName", "invitationPath" ], "type": "object", "properties": { "id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "organizationId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "organizationName": { "type": "string" }, "canonicalOrganizationKey": { "type": "string" }, "teamId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": [ "null", "string" ], "format": "uuid" }, "teamName": { "type": [ "null", "string" ] }, "email": { "maxLength": 254, "type": "string", "format": "email" }, "role": { "enum": [ "member", "admin", "owner" ], "type": "string" }, "status": { "enum": [ "pending", "accepted", "rejected", "canceled" ], "type": "string" }, "displayState": { "enum": [ "pending", "accepted", "rejected", "canceled", "expired" ], "type": "string" }, "expiresAt": { "type": "string", "format": "date-time" }, "createdAt": { "type": "string", "format": "date-time" }, "inviterId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "inviterName": { "type": "string" }, "invitationPath": { "pattern": "^/invite/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "description": "Relative same-origin invitation path." }, "warning": { "enum": [ "notification_failed", null ], "type": [ "null", "string" ], "description": "Optional stable post-commit warning; omitted when no warning occurred." } } }, "LocalAutomationCleanupResponse": { "required": [ "deletedOrganizations" ], "type": "object", "properties": { "deletedOrganizations": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" } } }, "LocalAutomationScenarioResponse": { "required": [ "user", "email", "password", "cleanupUrl" ], "type": "object", "properties": { "user": { "$ref": "#/components/schemas/AuthUserResponse" }, "email": { "type": "string" }, "password": { "type": "string" }, "cleanupUrl": { "type": "string" } } }, "LocalAutomationSignInRequest": { "required": [ "email", "password" ], "type": "object", "properties": { "email": { "type": "string" }, "password": { "maxLength": 128, "minLength": 12, "type": "string" } }, "additionalProperties": false }, "MachineOrganizationDetailResponse": { "required": [ "id", "name", "slug", "canonicalKey", "createdAt", "updatedAt", "accessPrincipal", "currentRole", "capabilities" ], "type": "object", "oneOf": [ { "required": [ "accessPrincipal", "currentRole", "capabilities" ], "type": "object", "properties": { "accessPrincipal": { "enum": [ "user" ], "type": "string" }, "currentRole": { "enum": [ "member", "admin", "owner" ], "type": "string" }, "capabilities": { "required": [ "canUpdateOrganization", "canDeleteOrganization", "canAddMembers", "canUpdateMemberRoles", "canManageTeams", "canManageInvitations", "canManageApiKeys" ], "type": "object", "properties": { "canUpdateOrganization": { "type": "boolean" }, "canDeleteOrganization": { "type": "boolean" }, "canAddMembers": { "type": "boolean" }, "canUpdateMemberRoles": { "type": "boolean" }, "canManageTeams": { "type": "boolean" }, "canManageInvitations": { "type": "boolean" }, "canManageApiKeys": { "type": "boolean" } } } } }, { "required": [ "accessPrincipal", "currentRole", "capabilities" ], "type": "object", "properties": { "accessPrincipal": { "enum": [ "organization" ], "type": "string" }, "currentRole": { "enum": [ "organization" ], "type": "string" }, "capabilities": { "required": [ "canUpdateOrganization", "canDeleteOrganization", "canAddMembers", "canUpdateMemberRoles", "canManageTeams", "canManageInvitations", "canManageApiKeys" ], "type": "object", "properties": { "canUpdateOrganization": { "enum": [ false ], "type": "boolean" }, "canDeleteOrganization": { "enum": [ false ], "type": "boolean" }, "canAddMembers": { "enum": [ false ], "type": "boolean" }, "canUpdateMemberRoles": { "enum": [ false ], "type": "boolean" }, "canManageTeams": { "enum": [ false ], "type": "boolean" }, "canManageInvitations": { "enum": [ false ], "type": "boolean" }, "canManageApiKeys": { "enum": [ false ], "type": "boolean" } } } } } ], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "slug": { "type": "string" }, "canonicalKey": { "type": "string" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "accessPrincipal": { "enum": [ "user", "organization" ], "type": "string", "description": "Principal used for organization access. user uses the current stored membership role and capabilities; organization uses the non-membership currentRole sentinel organization and has every browser mutation capability set to false." }, "currentRole": { "enum": [ "member", "admin", "owner", "organization" ], "type": "string" }, "capabilities": { "$ref": "#/components/schemas/OrganizationCapabilitiesResponse" } }, "discriminator": { "propertyName": "accessPrincipal" } }, "OrganizationCapabilitiesResponse": { "required": [ "canUpdateOrganization", "canDeleteOrganization", "canAddMembers", "canUpdateMemberRoles", "canManageTeams", "canManageInvitations", "canManageApiKeys" ], "type": "object", "properties": { "canUpdateOrganization": { "type": "boolean" }, "canDeleteOrganization": { "type": "boolean" }, "canAddMembers": { "type": "boolean" }, "canUpdateMemberRoles": { "type": "boolean" }, "canManageTeams": { "type": "boolean" }, "canManageInvitations": { "type": "boolean" }, "canManageApiKeys": { "type": "boolean" } } }, "OrganizationDeletionResponse": { "required": [ "organizationId" ], "type": "object", "properties": { "organizationId": { "type": "string", "format": "uuid" } } }, "OrganizationDetailResponse": { "required": [ "id", "name", "slug", "canonicalKey", "createdAt", "updatedAt", "accessPrincipal", "currentRole", "capabilities", "allowedEmailDomains" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "maxLength": 50, "minLength": 1, "pattern": "^[\\p{L}\\p{Nd} _-]+$", "type": "string" }, "slug": { "maxLength": 64, "minLength": 1, "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "type": "string", "not": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string" } }, "canonicalKey": { "maxLength": 64, "minLength": 1, "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "type": "string", "not": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string" } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "accessPrincipal": { "enum": [ "user" ], "type": "string" }, "currentRole": { "enum": [ "member", "admin", "owner" ], "type": "string" }, "capabilities": { "$ref": "#/components/schemas/OrganizationCapabilitiesResponse" }, "allowedEmailDomains": { "type": "array", "items": { "maxLength": 253, "pattern": "^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string", "x-format": "email-domain" } } } }, "OrganizationInvitationPageResponse": { "required": [ "items", "nextCursor" ], "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/InvitationResponse" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "OrganizationMemberPageResponse": { "required": [ "items", "nextCursor" ], "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/OrganizationMemberResponse" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "OrganizationMemberResponse": { "required": [ "id", "userId", "name", "email", "imageUrl", "role", "joinedAt", "emailDomain", "isOutsideAllowedEmailDomains" ], "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "userId": { "type": "string", "format": "uuid" }, "name": { "type": "string" }, "email": { "maxLength": 254, "type": "string", "format": "email" }, "imageUrl": { "type": [ "null", "string" ], "format": "uri", "x-uri-scheme": "https" }, "role": { "enum": [ "member", "admin", "owner" ], "type": "string" }, "joinedAt": { "type": "string", "format": "date-time" }, "emailDomain": { "maxLength": 253, "pattern": "^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": [ "null", "string" ], "x-format": "email-domain" }, "isOutsideAllowedEmailDomains": { "type": "boolean" } } }, "OrganizationPageResponse": { "required": [ "items", "nextCursor" ], "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/OrganizationSummaryResponse" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "OrganizationSummaryResponse": { "required": [ "id", "name", "slug", "canonicalKey", "createdAt", "updatedAt", "accessPrincipal", "currentRole", "capabilities" ], "type": "object", "oneOf": [ { "required": [ "accessPrincipal", "currentRole", "capabilities" ], "type": "object", "properties": { "accessPrincipal": { "enum": [ "user" ], "type": "string" }, "currentRole": { "enum": [ "member", "admin", "owner" ], "type": "string" }, "capabilities": { "required": [ "canUpdateOrganization", "canDeleteOrganization", "canAddMembers", "canUpdateMemberRoles", "canManageTeams", "canManageInvitations", "canManageApiKeys" ], "type": "object", "properties": { "canUpdateOrganization": { "type": "boolean" }, "canDeleteOrganization": { "type": "boolean" }, "canAddMembers": { "type": "boolean" }, "canUpdateMemberRoles": { "type": "boolean" }, "canManageTeams": { "type": "boolean" }, "canManageInvitations": { "type": "boolean" }, "canManageApiKeys": { "type": "boolean" } } } } }, { "required": [ "accessPrincipal", "currentRole", "capabilities" ], "type": "object", "properties": { "accessPrincipal": { "enum": [ "organization" ], "type": "string" }, "currentRole": { "enum": [ "organization" ], "type": "string" }, "capabilities": { "required": [ "canUpdateOrganization", "canDeleteOrganization", "canAddMembers", "canUpdateMemberRoles", "canManageTeams", "canManageInvitations", "canManageApiKeys" ], "type": "object", "properties": { "canUpdateOrganization": { "enum": [ false ], "type": "boolean" }, "canDeleteOrganization": { "enum": [ false ], "type": "boolean" }, "canAddMembers": { "enum": [ false ], "type": "boolean" }, "canUpdateMemberRoles": { "enum": [ false ], "type": "boolean" }, "canManageTeams": { "enum": [ false ], "type": "boolean" }, "canManageInvitations": { "enum": [ false ], "type": "boolean" }, "canManageApiKeys": { "enum": [ false ], "type": "boolean" } } } } } ], "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "maxLength": 50, "minLength": 1, "pattern": "^[\\p{L}\\p{Nd} _-]+$", "type": "string" }, "slug": { "maxLength": 64, "minLength": 1, "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "type": "string", "not": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string" } }, "canonicalKey": { "maxLength": 64, "minLength": 1, "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "type": "string", "not": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string" } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "accessPrincipal": { "enum": [ "user", "organization" ], "type": "string", "description": "Principal used for organization access. user uses the current stored membership role and capabilities; organization uses the non-membership currentRole sentinel organization and has every browser mutation capability set to false." }, "currentRole": { "enum": [ "member", "admin", "owner", "organization" ], "type": "string" }, "capabilities": { "$ref": "#/components/schemas/OrganizationCapabilitiesResponse" } }, "discriminator": { "propertyName": "accessPrincipal" } }, "ProblemDetails": { "required": [ "type", "title", "status", "detail", "instance", "code", "traceId" ], "type": "object", "properties": { "type": { "type": "string" }, "title": { "type": "string" }, "status": { "pattern": "^-?(?:0|[1-9]\\d*)$", "type": [ "integer", "string" ], "format": "int32" }, "detail": { "type": "string" }, "instance": { "type": "string" }, "code": { "enum": [ "invalid_request", "validation_failed", "unauthorized", "forbidden", "not_found", "method_not_allowed", "internal_error", "antiforgery_failed", "local_auth_invalid_credentials", "local_auth_user_required", "local_auth_disabled", "local_auth_user_exists", "rate_limited", "invalid_return_url", "external_provider_not_configured", "already_authenticated", "external_auth_failed", "external_email_required", "external_email_unverified", "external_identity_conflict", "external_email_conflict", "oauth_flow_context_changed", "invalid_cursor", "external_connection_required", "external_connection_not_found", "account_session_not_found", "current_session_cannot_be_revoked", "concurrency_conflict", "organization_ownership_transfer_required", "organization_not_found", "organization_permission_denied", "organization_name_conflict", "organization_slug_conflict", "last_organization_required", "organization_confirmation_mismatch", "member_not_found", "target_user_not_found", "member_already_exists", "member_role_unchanged", "role_assignment_forbidden", "member_domain_acknowledgement_required", "team_not_found", "team_permission_denied", "team_name_conflict", "team_name_unchanged", "team_member_not_found", "team_member_already_exists", "invitation_not_found", "invitation_permission_denied", "invitation_already_exists", "invitation_recipient_already_member", "invitation_team_invalid", "invitation_domain_restricted", "invitation_recipient_mismatch", "invitation_email_verification_required", "invitation_expired", "invitation_not_pending", "invitation_membership_conflict", "invitation_limit_reached", "api_key_not_found", "api_key_permission_denied", "api_key_update_unchanged", "api_key_missing", "api_key_invalid", "api_key_rate_limited", "organization_access_denied" ], "type": "string" }, "traceId": { "type": "string" }, "email": { "maxLength": 254, "type": [ "null", "string" ], "description": "Target email for member_domain_acknowledgement_required.", "format": "email" }, "emailDomain": { "maxLength": 253, "pattern": "^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": [ "null", "string" ], "description": "Normalized target domain for member_domain_acknowledgement_required." }, "allowedEmailDomains": { "type": [ "null", "array" ], "items": { "maxLength": 253, "pattern": "^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$", "type": "string" }, "description": "Ordered allowed domains for member_domain_acknowledgement_required." } } }, "SetActiveOrganizationRequest": { "required": [ "organizationId" ], "type": "object", "properties": { "organizationId": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "SystemStatusResponse": { "required": [ "status", "apiVersion", "timestamp", "echo" ], "type": "object", "properties": { "status": { "type": "string" }, "apiVersion": { "type": "string" }, "timestamp": { "type": "string", "format": "date-time" }, "echo": { "type": [ "null", "string" ] } } }, "TeamCandidatePageResponse": { "required": [ "items", "nextCursor" ], "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/TeamCandidateResponse" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "TeamCandidateResponse": { "required": [ "memberId", "userId", "name", "email", "imageUrl", "role", "joinedAt" ], "type": "object", "properties": { "memberId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "userId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "name": { "type": "string" }, "email": { "maxLength": 254, "type": "string", "format": "email" }, "imageUrl": { "type": [ "null", "string" ], "format": "uri", "x-uri-scheme": "https" }, "role": { "enum": [ "member", "admin", "owner" ], "type": "string" }, "joinedAt": { "type": "string", "format": "date-time" } } }, "TeamDeletionResponse": { "required": [ "teamId" ], "type": "object", "properties": { "teamId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } } }, "TeamMemberPageResponse": { "required": [ "items", "nextCursor" ], "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/TeamMemberResponse" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "TeamMemberRemovalResponse": { "required": [ "teamId", "userId" ], "type": "object", "properties": { "teamId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "userId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" } } }, "TeamMemberResponse": { "required": [ "id", "userId", "name", "email", "imageUrl", "role", "organizationJoinedAt", "teamJoinedAt" ], "type": "object", "properties": { "id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "userId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "name": { "type": "string" }, "email": { "maxLength": 254, "type": "string", "format": "email" }, "imageUrl": { "type": [ "null", "string" ], "format": "uri", "x-uri-scheme": "https" }, "role": { "enum": [ "member", "admin", "owner" ], "type": "string" }, "organizationJoinedAt": { "type": "string", "format": "date-time" }, "teamJoinedAt": { "type": "string", "format": "date-time" } } }, "TeamNameRequest": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "Trimmed before use; the trimmed name must contain 1 to 50 Unicode letters, digits, ordinary spaces, hyphens, or underscores.", "x-trimmed-min-length": 1, "x-trimmed-max-length": 50, "x-trimmed-pattern": "^[\\p{L}\\p{Nd} _-]+$" } }, "additionalProperties": false }, "TeamPageResponse": { "required": [ "items", "nextCursor" ], "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/components/schemas/TeamResponse" } }, "nextCursor": { "type": [ "null", "string" ] } } }, "TeamResponse": { "required": [ "id", "organizationId", "name", "memberCount", "members", "createdAt", "updatedAt", "membersIncluded" ], "type": "object", "properties": { "id": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "organizationId": { "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "type": "string", "format": "uuid" }, "name": { "maxLength": 50, "minLength": 1, "pattern": "^[\\p{L}\\p{Nd} _-]+$", "type": "string" }, "memberCount": { "minimum": 0, "type": "integer", "format": "int32" }, "members": { "$ref": "#/components/schemas/TeamMemberPageResponse" }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" }, "membersIncluded": { "type": "boolean", "description": "Whether the embedded members page is included. Browser reads return true; machine reads without teamMember:read return false with an empty embedded page while memberCount remains available." } } }, "UpdateApiKeyRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "Trimmed before use; the result must contain 1 to 32 Unicode scalars and no control characters.", "x-trimmed-min-length": 1, "x-trimmed-max-length": 32, "x-length-unit": "unicode-scalar", "x-control-characters": false }, "presetIds": { "minItems": 1, "type": "array", "items": { "enum": [ "basic-read", "organization-read", "organization-members-read", "organization-teams-read", "organization-team-members-read", "organization-read-all" ], "type": "string" }, "description": "Nonempty closed preset selection expanded server-side into canonical scopes; clients never submit raw scopes." }, "expiresIn": { "enum": [ "never", "7d", "30d", "90d", "365d" ], "type": "string" }, "enabled": { "type": "boolean" }, "rateLimitEnabled": { "type": "boolean" }, "rateLimitMax": { "maximum": 1000000, "minimum": 1, "type": "integer", "format": "int32" }, "rateLimitWindow": { "enum": [ "1m", "1h", "1d" ], "type": "string", "description": "Closed fixed-window duration." } }, "additionalProperties": false, "description": "Every supplied member is non-null. Omitted members are preserved; an empty or semantically unchanged update returns 409 api_key_update_unchanged. Supplying expiresIn restarts that duration from the successful update time." }, "UpdateOrganizationMemberRoleRequest": { "required": [ "role" ], "type": "object", "properties": { "role": { "enum": [ "member", "admin", "owner" ], "type": "string" } }, "additionalProperties": false }, "UpdateOrganizationRequest": { "minProperties": 1, "type": "object", "anyOf": [ { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string" } } }, { "required": [ "slug" ], "type": "object", "properties": { "slug": { "type": "string" } } }, { "required": [ "allowedEmailDomains" ], "type": "object", "properties": { "allowedEmailDomains": { "type": "array", "items": { "type": "string" } } } } ], "properties": { "name": { "type": [ "null", "string" ], "description": "Trimmed before use; the trimmed name must contain 1 to 50 Unicode letters, digits, ordinary spaces, hyphens, or underscores.", "x-trimmed-min-length": 1, "x-trimmed-max-length": 50, "x-trimmed-pattern": "^[\\p{L}\\p{Nd} _-]+$" }, "slug": { "type": [ "null", "string" ], "description": "Trimmed and lowercased before use; the normalized slug must contain 1 to 64 lowercase ASCII letters or digits separated by single hyphens and must not be UUID-shaped.", "x-trimmed-min-length": 1, "x-trimmed-max-length": 64, "x-trimmed-pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$", "x-trimmed-not-pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$" }, "allowedEmailDomains": { "maxItems": 100, "type": [ "null", "array" ], "items": { "type": "string", "description": "Trimmed, lowercased, and stripped of at most one leading @ before validation as an exact DNS-like email domain of at most 253 characters.", "x-trimmed-max-length": 253, "x-trimmed-format": "email-domain", "x-trimmed-pattern": "^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$" } } }, "additionalProperties": false }, "UpdateProfileRequest": { "required": [ "displayName" ], "type": "object", "properties": { "displayName": { "type": "string", "description": "Trimmed before use; the trimmed display name must contain 2 to 50 characters and must not contain control characters.", "x-trimmed-min-length": 2, "x-trimmed-max-length": 50 } }, "additionalProperties": false } }, "securitySchemes": { "cookieAuth": { "type": "apiKey", "description": "Secure HttpOnly same-origin session cookie.", "name": "__Host-template.session", "in": "cookie" }, "apiKeyAuth": { "type": "apiKey", "description": "Reveal-once personal or organization API key.", "name": "x-api-key", "in": "header" } } }, "tags": [ { "name": "Template.Api" }, { "name": "ExternalAuthEndpointModule" }, { "name": "AccountEndpointModule" }, { "name": "OrganizationEndpointModule" }, { "name": "TeamEndpointModule" }, { "name": "InvitationEndpointModule" }, { "name": "ApiKeyEndpointModule" }, { "name": "DocumentSearchEndpointModule" }, { "name": "local-only" } ] }