{ "openapi": "3.1.0", "info": { "title": "LongLink Platform API", "version": "1.0.0" }, "paths": { "/api/v1/auth/oauth": { "get": { "tags": [ "auth" ], "summary": "Get Oauth Availability", "description": "Return which external sign-in providers have complete configuration.", "operationId": "get_oauth_availability_api_v1_auth_oauth_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthAvailability" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "description": "Default Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v1/auth/password/login": { "post": { "tags": [ "auth" ], "summary": "Password Login", "description": "Authenticate a local account and create one signed browser session.", "operationId": "password_login_api_v1_auth_password_login_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordLogin" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "description": "Default Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v1/auth/forgot-password": { "post": { "tags": [ "auth" ], "summary": "Request Password Reset", "description": "Queue password reset delivery without disclosing account existence.", "operationId": "request_password_reset_api_v1_auth_forgot_password_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_request_password_reset_api_v1_auth_forgot_password_post" } } }, "required": true }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "description": "Default Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v1/auth/reset-password/verify": { "post": { "tags": [ "auth" ], "summary": "Verify Password Reset Token", "description": "Exchange an emailed reset bearer token for browser-only proof.", "operationId": "verify_password_reset_token_api_v1_auth_reset_password_verify_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenPayload" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "description": "Default Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v1/auth/reset-password/setup": { "get": { "tags": [ "auth" ], "summary": "Get Password Reset Setup", "description": "Restore password reset state from browser-only proof.", "operationId": "get_password_reset_setup_api_v1_auth_reset_password_setup_get", "parameters": [ { "name": "longlink_password_reset", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Password Reset" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/auth/reset-password": { "post": { "tags": [ "auth" ], "summary": "Reset Password", "description": "Replace a password using browser-only reset proof.", "operationId": "reset_password_api_v1_auth_reset_password_post", "parameters": [ { "name": "longlink_password_reset", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Password Reset" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordResetComplete" } } } }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/auth/register": { "post": { "tags": [ "auth" ], "summary": "Request Registration", "description": "Send a stateless registration link when the email has no account.", "operationId": "request_registration_api_v1_auth_register_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Body_request_registration_api_v1_auth_register_post" } } }, "required": true }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "description": "Default Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v1/auth/verify": { "post": { "tags": [ "auth" ], "summary": "Verify Registration Token", "description": "Validate an emailed registration token without creating an account.", "operationId": "verify_registration_token_api_v1_auth_verify_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TokenPayload" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailPayload" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "description": "Default Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v1/auth/register/setup": { "get": { "tags": [ "auth" ], "summary": "Get Registration Setup", "description": "Restore verified registration state from its browser-only cookie.", "operationId": "get_registration_setup_api_v1_auth_register_setup_get", "parameters": [ { "name": "longlink_registration", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Registration" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmailPayload" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/auth/register/complete": { "post": { "tags": [ "auth" ], "summary": "Complete Registration", "description": "Create and authenticate an account after stateless email verification.", "operationId": "complete_registration_api_v1_auth_register_complete_post", "parameters": [ { "name": "longlink_registration", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Registration" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistrationComplete" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserSummary" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/solutions": { "get": { "summary": "List Solutions", "description": "Return all solutions for administrator views.", "operationId": "list_solutions_api_v1_solutions_get", "parameters": [ { "name": "page", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "default": 1, "title": "Page" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "default": 25, "title": "Page Size" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_SolutionResponse_" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations/{organization_id}/solutions": { "post": { "summary": "Create Solution", "description": "Create Solution state and queue its explicit deployment lifecycle.", "operationId": "create_solution_api_v1_organizations__organization_id__solutions_post", "parameters": [ { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SolutionCreate" } } } }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } }, "get": { "summary": "Get Organization Solutions", "description": "Return solutions visible to the current organization member.", "operationId": "get_organization_solutions_api_v1_organizations__organization_id__solutions_get", "parameters": [ { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OrganizationSolutionSummary" }, "title": "Response Get Organization Solutions Api V1 Organizations Organization Id Solutions Get" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/solutions/{solution_id}/update": { "get": { "summary": "Check Update", "description": "Inspect the desired release source without changing deployment state.", "operationId": "check_update_api_v1_solutions__solution_id__update_get", "parameters": [ { "name": "solution_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Solution Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SolutionUpdateCheck" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } }, "post": { "summary": "Apply Update", "description": "Re-resolve the desired source and deploy a changed image or configuration.", "operationId": "apply_update_api_v1_solutions__solution_id__update_post", "parameters": [ { "name": "solution_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Solution Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SolutionPatch" } } } }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/solutions/{solution_id}/logs": { "get": { "summary": "Get Solution Logs", "description": "Return recent pod logs for one managed solution.", "operationId": "get_solution_logs_api_v1_solutions__solution_id__logs_get", "parameters": [ { "name": "solution_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Solution Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "string" }, "title": "Response Get Solution Logs Api V1 Solutions Solution Id Logs Get" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/solutions/{solution_id}": { "delete": { "summary": "Delete Solution", "description": "Mark one Solution absent and queue explicit lifecycle cleanup.", "operationId": "delete_solution_api_v1_solutions__solution_id__delete", "parameters": [ { "name": "solution_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Solution Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/computes": { "post": { "summary": "Create Compute Registry", "description": "Register a compute target after verifying its infrastructure inline.", "operationId": "create_compute_registry_api_v1_computes_post", "parameters": [ { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ComputeRegistryCreate" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ComputeRegistryResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } }, "get": { "summary": "List Compute Registries", "description": "Return all registered compute backends.", "operationId": "list_compute_registries_api_v1_computes_get", "parameters": [ { "name": "page", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "default": 1, "title": "Page" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "default": 25, "title": "Page Size" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_ComputeRegistryResponse_" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/computes/{registry_id}": { "delete": { "summary": "Delete Compute Registry", "description": "Remove one unused compute registration without changing its cluster.", "operationId": "delete_compute_registry_api_v1_computes__registry_id__delete", "parameters": [ { "name": "registry_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Registry Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/healthz": { "get": { "summary": "Healthz", "description": "Return a simple liveness response.", "operationId": "healthz_api_v1_healthz_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "boolean" }, "type": "object", "title": "Response Healthz Api V1 Healthz Get" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "description": "Default Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v1/readyz": { "get": { "summary": "Readyz", "description": "Return readiness after verifying Platform database connectivity.", "operationId": "readyz_api_v1_readyz_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "type": "boolean" }, "type": "object", "title": "Response Readyz Api V1 Readyz Get" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "description": "Default Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/api/v1/image": { "get": { "summary": "Inspect Image", "description": "Inspect a container image and return its LongLink metadata.", "operationId": "inspect_image_api_v1_image_get", "parameters": [ { "name": "image", "in": "query", "required": true, "schema": { "type": "string", "title": "Image" } }, { "name": "organization_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LongLinkMetadata" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/operations": { "get": { "summary": "List Operations", "description": "Return Platform reconciliation history for administrators.", "operationId": "list_operations_api_v1_operations_get", "parameters": [ { "name": "page", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "default": 1, "title": "Page" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "default": 25, "title": "Page Size" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_OperationResponse_" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations": { "get": { "summary": "List Organizations", "description": "Return all organizations for administrator views.", "operationId": "list_organizations_api_v1_organizations_get", "parameters": [ { "name": "page", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "default": 1, "title": "Page" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "default": 25, "title": "Page Size" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_OrganizationIdentity_" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } }, "post": { "summary": "Create Organization", "description": "Create Organization desired state and queue infrastructure creation.", "operationId": "create_organization_api_v1_organizations_post", "parameters": [ { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationCreate" } } } }, "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationIdentity" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations/slug/{organization_slug}": { "get": { "summary": "Get Organization By Slug", "description": "Return the current user's membership for one Organization slug.", "operationId": "get_organization_by_slug_api_v1_organizations_slug__organization_slug__get", "parameters": [ { "name": "organization_slug", "in": "path", "required": true, "schema": { "type": "string", "title": "Organization Slug" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserOrganizationMembership" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations/{organization_id}": { "get": { "summary": "Get Organization", "description": "Return one organization and its metadata.", "operationId": "get_organization_api_v1_organizations__organization_id__get", "parameters": [ { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationDetails" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } }, "delete": { "summary": "Delete Organization", "description": "Mark one Organization absent and queue lifecycle cleanup.", "operationId": "delete_organization_api_v1_organizations__organization_id__delete", "parameters": [ { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "202": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationIdentity" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations/{organization_id}/quotas": { "get": { "summary": "Get Organization Quotas", "description": "Return stored Organization quotas for administrator views.", "operationId": "get_organization_quotas_api_v1_organizations__organization_id__quotas_get", "parameters": [ { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationQuotasResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations/{organization_id}/storage": { "get": { "summary": "Get Organization Storage Usage", "description": "Return live usage for the Organization bucket.", "operationId": "get_organization_storage_usage_api_v1_organizations__organization_id__storage_get", "parameters": [ { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationStorageUsageResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations/{organization_id}/invitations": { "post": { "summary": "Create Organization Invitation", "description": "Create one invitation for an organization member.", "operationId": "create_organization_invitation_api_v1_organizations__organization_id__invitations_post", "parameters": [ { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationInvitationCreate" } } } }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations/{organization_id}/invitations/{invitation_id}": { "delete": { "summary": "Revoke Organization Invitation", "description": "Revoke one pending Organization invitation.", "operationId": "revoke_organization_invitation_api_v1_organizations__organization_id__invitations__invitation_id__delete", "parameters": [ { "name": "invitation_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Invitation Id" } }, { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations/{organization_id}/members/{member_id}": { "patch": { "summary": "Update Organization Member", "description": "Update one organization member role.", "operationId": "update_organization_member_api_v1_organizations__organization_id__members__member_id__patch", "parameters": [ { "name": "member_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Member Id" } }, { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OrganizationMemberUpdate" } } } }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/me": { "get": { "summary": "Get Me", "description": "Return the authenticated user's details.", "operationId": "get_me_api_v1_me_get", "parameters": [ { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserSummary" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } }, "patch": { "summary": "Patch Me", "description": "Update the authenticated user's details.", "operationId": "patch_me_api_v1_me_patch", "parameters": [ { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserSummary" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/me/organizations": { "get": { "summary": "Get My Organizations", "description": "Return the authenticated user's organization memberships.", "operationId": "get_my_organizations_api_v1_me_organizations_get", "parameters": [ { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/UserOrganizationMembership" }, "title": "Response Get My Organizations Api V1 Me Organizations Get" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/users": { "get": { "summary": "List Users", "description": "Return all user summaries for administrator views.", "operationId": "list_users_api_v1_users_get", "parameters": [ { "name": "page", "in": "query", "required": false, "schema": { "type": "integer", "minimum": 1, "default": 1, "title": "Page" } }, { "name": "page_size", "in": "query", "required": false, "schema": { "type": "integer", "maximum": 100, "minimum": 1, "default": 25, "title": "Page Size" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Page_AdminUserSummary_" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations/{organization_id}/registries": { "get": { "summary": "List Registries", "description": "List connection identities visible to organization members.", "operationId": "list_registries_api_v1_organizations__organization_id__registries_get", "parameters": [ { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/RegistryResponse" }, "title": "Response List Registries Api V1 Organizations Organization Id Registries Get" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } }, "post": { "summary": "Create Registry", "description": "Create an organization-owned connection and queue secret synchronization.", "operationId": "create_registry_api_v1_organizations__organization_id__registries_post", "parameters": [ { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistryCreate" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegistryResponse" } } } }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/api/v1/organizations/{organization_id}/registries/{connection_id}": { "delete": { "summary": "Delete Registry", "description": "Remove unused credentials without breaking retained deployment revisions.", "operationId": "delete_registry_api_v1_organizations__organization_id__registries__connection_id__delete", "parameters": [ { "name": "connection_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Connection Id" } }, { "name": "organization_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Organization Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Unprocessable Entity", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "default": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } }, "description": "Default Response" } } } }, "/.well-known/oauth-authorization-server": { "get": { "tags": [ "mcp" ], "summary": "Server Metadata", "description": "Advertise only the implemented public authorization-code and PKCE flow.", "operationId": "server_metadata__well_known_oauth_authorization_server_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerMetadata" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthFailure" } } } } } } }, "/.well-known/oauth-protected-resource/api/v1/solutions/{solution_id}/proxy/mcp": { "get": { "tags": [ "mcp" ], "summary": "Resource Metadata", "description": "Expose authentication discovery without revealing whether a Solution exists.", "operationId": "resource_metadata__well_known_oauth_protected_resource_api_v1_solutions__solution_id__proxy_mcp_get", "parameters": [ { "name": "solution_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Solution Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ResourceMetadata" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthFailure" } } }, "description": "Bad Request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/mcp/register": { "post": { "tags": [ "mcp" ], "summary": "Register", "description": "Register immutable callbacks for a public client; registration grants no access.", "operationId": "register_api_v1_mcp_register_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClientRegistration" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisteredClient" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthFailure" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/mcp/authorize": { "get": { "tags": [ "mcp" ], "summary": "Authorize", "description": "Validate the client request before navigating to first-party login and consent.", "operationId": "authorize_api_v1_mcp_authorize_get", "parameters": [ { "name": "state", "in": "query", "required": true, "schema": { "type": "string", "minLength": 1, "maxLength": 1024, "title": "State" } }, { "name": "scope", "in": "query", "required": false, "schema": { "const": "mcp", "type": "string", "default": "mcp", "title": "Scope" } }, { "name": "resource", "in": "query", "required": true, "schema": { "type": "string", "maxLength": 2048, "title": "Resource" } }, { "name": "client_id", "in": "query", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Client Id" } }, { "name": "redirect_uri", "in": "query", "required": true, "schema": { "type": "string", "maxLength": 2048, "title": "Redirect Uri" } }, { "name": "response_type", "in": "query", "required": true, "schema": { "const": "code", "type": "string", "title": "Response Type" } }, { "name": "code_challenge", "in": "query", "required": true, "schema": { "type": "string", "pattern": "^[A-Za-z0-9_-]{43}$", "title": "Code Challenge" } }, { "name": "code_challenge_method", "in": "query", "required": true, "schema": { "const": "S256", "type": "string", "title": "Code Challenge Method" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthFailure" } } }, "description": "Bad Request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/mcp/consent": { "get": { "tags": [ "mcp" ], "summary": "Consent", "description": "Describe the registered callback and Solution only after current permission checks.", "operationId": "consent_api_v1_mcp_consent_get", "parameters": [ { "name": "state", "in": "query", "required": true, "schema": { "type": "string", "minLength": 1, "maxLength": 1024, "title": "State" } }, { "name": "scope", "in": "query", "required": false, "schema": { "const": "mcp", "type": "string", "default": "mcp", "title": "Scope" } }, { "name": "resource", "in": "query", "required": true, "schema": { "type": "string", "maxLength": 2048, "title": "Resource" } }, { "name": "client_id", "in": "query", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Client Id" } }, { "name": "redirect_uri", "in": "query", "required": true, "schema": { "type": "string", "maxLength": 2048, "title": "Redirect Uri" } }, { "name": "response_type", "in": "query", "required": true, "schema": { "const": "code", "type": "string", "title": "Response Type" } }, { "name": "code_challenge", "in": "query", "required": true, "schema": { "type": "string", "pattern": "^[A-Za-z0-9_-]{43}$", "title": "Code Challenge" } }, { "name": "code_challenge_method", "in": "query", "required": true, "schema": { "const": "S256", "type": "string", "title": "Code Challenge Method" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Consent" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthFailure" } } }, "description": "Bad Request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "mcp" ], "summary": "Approve", "description": "Issue one short-lived PKCE code only after an explicit same-origin browser decision.", "operationId": "approve_api_v1_mcp_consent_post", "parameters": [ { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Approval" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AuthorizationRedirect" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthFailure" } } }, "description": "Bad Request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/mcp/token": { "post": { "tags": [ "mcp" ], "summary": "Exchange", "description": "Exchange a single-use code with exact client, resource, redirect, and PKCE binding.", "operationId": "exchange_api_v1_mcp_token_post", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Body_exchange_api_v1_mcp_token_post" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AccessToken" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthFailure" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/mcp/revoke": { "post": { "tags": [ "mcp" ], "summary": "Revoke", "description": "Let a public client revoke its credential without exposing credential existence.", "operationId": "revoke_api_v1_mcp_revoke_post", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Body_revoke_api_v1_mcp_revoke_post" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthFailure" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/mcp/tokens": { "get": { "tags": [ "mcp" ], "summary": "Tokens", "description": "List the current user's revocation handles without exposing credentials.", "operationId": "tokens_api_v1_mcp_tokens_get", "parameters": [ { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TokenSummary" }, "title": "Response Tokens Api V1 Mcp Tokens Get" } } } }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthFailure" } } }, "description": "Bad Request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/api/v1/mcp/tokens/{token_id}": { "delete": { "tags": [ "mcp" ], "summary": "Delete Token", "description": "Revoke only grants owned by the authenticated browser user.", "operationId": "delete_token_api_v1_mcp_tokens__token_id__delete", "parameters": [ { "name": "token_id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid", "title": "Token Id" } }, { "name": "longlink_auth", "in": "cookie", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Longlink Auth" } } ], "responses": { "204": { "description": "Successful Response" }, "400": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OAuthFailure" } } }, "description": "Bad Request" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } } }, "components": { "schemas": { "AccessToken": { "properties": { "scope": { "type": "string", "const": "mcp", "title": "Scope", "default": "mcp" }, "token_type": { "type": "string", "const": "Bearer", "title": "Token Type", "default": "Bearer" }, "expires_in": { "type": "integer", "title": "Expires In" }, "access_token": { "type": "string", "title": "Access Token" } }, "type": "object", "required": [ "expires_in", "access_token" ], "title": "AccessToken", "description": "Return a short-lived opaque MCP access credential." }, "AdminUserSummary": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "email": { "type": "string", "format": "email", "title": "Email" }, "avatar": { "type": "string", "title": "Avatar" }, "administrator": { "type": "boolean", "title": "Administrator" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" } }, "type": "object", "required": [ "id", "name", "email", "avatar", "administrator", "created_at" ], "title": "AdminUserSummary", "description": "Represent a user with its creation time for platform administrators." }, "Approval": { "properties": { "state": { "type": "string", "maxLength": 1024, "minLength": 1, "title": "State" }, "scope": { "type": "string", "const": "mcp", "title": "Scope", "default": "mcp" }, "resource": { "type": "string", "maxLength": 2048, "title": "Resource" }, "client_id": { "type": "string", "format": "uuid", "title": "Client Id" }, "redirect_uri": { "type": "string", "maxLength": 2048, "title": "Redirect Uri" }, "response_type": { "type": "string", "const": "code", "title": "Response Type" }, "code_challenge": { "type": "string", "pattern": "^[A-Za-z0-9_-]{43}$", "title": "Code Challenge" }, "code_challenge_method": { "type": "string", "const": "S256", "title": "Code Challenge Method" }, "approve": { "type": "boolean", "title": "Approve" } }, "type": "object", "required": [ "state", "resource", "client_id", "redirect_uri", "response_type", "code_challenge", "code_challenge_method", "approve" ], "title": "Approval", "description": "Bind explicit browser approval to the validated authorization request." }, "AuthorizationRedirect": { "properties": { "url": { "type": "string", "title": "Url" } }, "type": "object", "required": [ "url" ], "title": "AuthorizationRedirect", "description": "Return a validated client redirect after a browser consent decision." }, "Body_exchange_api_v1_mcp_token_post": { "properties": { "code": { "type": "string", "maxLength": 128, "title": "Code" }, "resource": { "type": "string", "maxLength": 2048, "title": "Resource" }, "client_id": { "type": "string", "format": "uuid", "title": "Client Id" }, "redirect_uri": { "type": "string", "maxLength": 2048, "title": "Redirect Uri" }, "code_verifier": { "type": "string", "pattern": "^[A-Za-z0-9._~-]{43,128}$", "title": "Code Verifier" }, "grant_type": { "type": "string", "maxLength": 64, "title": "Grant Type" } }, "type": "object", "required": [ "code", "resource", "client_id", "redirect_uri", "code_verifier", "grant_type" ], "title": "Body_exchange_api_v1_mcp_token_post" }, "Body_request_password_reset_api_v1_auth_forgot_password_post": { "properties": { "email": { "type": "string", "format": "email", "title": "Email" } }, "type": "object", "required": [ "email" ], "title": "Body_request_password_reset_api_v1_auth_forgot_password_post" }, "Body_request_registration_api_v1_auth_register_post": { "properties": { "email": { "type": "string", "format": "email", "title": "Email" } }, "type": "object", "required": [ "email" ], "title": "Body_request_registration_api_v1_auth_register_post" }, "Body_revoke_api_v1_mcp_revoke_post": { "properties": { "token": { "type": "string", "maxLength": 128, "title": "Token" }, "client_id": { "type": "string", "format": "uuid", "title": "Client Id" } }, "type": "object", "required": [ "token", "client_id" ], "title": "Body_revoke_api_v1_mcp_revoke_post" }, "ClientRegistration": { "properties": { "client_name": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Client Name", "default": "MCP client" }, "grant_types": { "items": { "type": "string", "enum": [ "authorization_code", "refresh_token" ] }, "type": "array", "maxItems": 2, "minItems": 1, "title": "Grant Types", "default": [ "authorization_code" ] }, "redirect_uris": { "items": { "type": "string" }, "type": "array", "maxItems": 10, "minItems": 1, "title": "Redirect Uris" }, "response_types": { "items": { "type": "string", "const": "code" }, "type": "array", "maxItems": 1, "minItems": 1, "title": "Response Types", "default": [ "code" ] }, "token_endpoint_auth_method": { "type": "string", "const": "none", "title": "Token Endpoint Auth Method", "default": "none" } }, "type": "object", "required": [ "redirect_uris" ], "title": "ClientRegistration", "description": "Negotiate public authorization-code clients with fixed safe callbacks." }, "ComputeRegistryCreate": { "properties": { "gateway_url": { "type": "string", "maxLength": 512, "title": "Gateway Url" }, "storage_endpoint": { "type": "string", "maxLength": 512, "title": "Storage Endpoint" }, "name": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Name" }, "kubeconfig": { "additionalProperties": true, "type": "object", "title": "Kubeconfig" } }, "type": "object", "required": [ "gateway_url", "storage_endpoint", "name", "kubeconfig" ], "title": "ComputeRegistryCreate", "description": "Validate one compute registry creation payload." }, "ComputeRegistryResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "gateway_url": { "type": "string", "title": "Gateway Url" }, "database_storage_class": { "type": "string", "title": "Database Storage Class" }, "storage_endpoint": { "type": "string", "title": "Storage Endpoint" } }, "type": "object", "required": [ "id", "name", "gateway_url", "database_storage_class", "storage_endpoint" ], "title": "ComputeRegistryResponse", "description": "Describe one compute backend without exposing its private connection state or secrets." }, "Consent": { "properties": { "client_name": { "type": "string", "title": "Client Name" }, "redirect_uri": { "type": "string", "title": "Redirect Uri" }, "solution_name": { "type": "string", "title": "Solution Name" } }, "type": "object", "required": [ "client_name", "redirect_uri", "solution_name" ], "title": "Consent", "description": "Describe the actual client callback and selected Solution to the user." }, "EmailPayload": { "properties": { "email": { "type": "string", "format": "email", "title": "Email" } }, "type": "object", "required": [ "email" ], "title": "EmailPayload", "description": "Return one verified email address." }, "EnvironmentMetadata": { "properties": { "name": { "type": "string", "title": "Name" }, "required": { "type": "boolean", "title": "Required" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" } }, "type": "object", "required": [ "name", "required" ], "title": "EnvironmentMetadata", "description": "Typed metadata for a single environment variable." }, "ErrorResponse": { "properties": { "detail": { "type": "string", "title": "Detail" } }, "type": "object", "required": [ "detail" ], "title": "ErrorResponse", "description": "Describe the public error contract without internal diagnostics." }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "LongLinkMetadata": { "properties": { "image": { "type": "string", "title": "Image" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "environments": { "items": { "$ref": "#/components/schemas/EnvironmentMetadata" }, "type": "array", "title": "Environments" } }, "type": "object", "required": [ "image" ], "title": "LongLinkMetadata", "description": "Structured metadata extracted from OCI and LongLink image labels." }, "OAuthAvailability": { "properties": { "github": { "type": "boolean", "title": "Github" }, "google": { "type": "boolean", "title": "Google" } }, "type": "object", "required": [ "github", "google" ], "title": "OAuthAvailability", "description": "Return the external sign-in providers enabled for this Platform." }, "OAuthFailure": { "properties": { "error": { "type": "string", "title": "Error" }, "error_description": { "type": "string", "title": "Error Description" } }, "type": "object", "required": [ "error", "error_description" ], "title": "OAuthFailure", "description": "Describe OAuth errors without returning submitted credentials." }, "OperationKind": { "type": "string", "enum": [ "solution.deploy", "solution.delete", "organization.create", "organization.delete" ], "title": "OperationKind", "description": "Supported registered operation handlers." }, "OperationResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "kind": { "$ref": "#/components/schemas/OperationKind" }, "target_id": { "type": "string", "format": "uuid", "title": "Target Id" }, "resource_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Resource Name" }, "status": { "$ref": "#/components/schemas/OperationStatus" }, "failed": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Failed" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" }, "finished_at": { "anyOf": [ { "type": "string", "format": "date-time" }, { "type": "null" } ], "title": "Finished At" } }, "type": "object", "required": [ "id", "kind", "target_id", "resource_name", "status", "failed", "created_at", "finished_at" ], "title": "OperationResponse", "description": "Expose administrative asynchronous reconciliation state for one Platform resource target." }, "OperationStatus": { "type": "string", "enum": [ "active", "completed", "failed", "scheduled" ], "title": "OperationStatus", "description": "Supported long-running operation lifecycle states." }, "OrganizationCreate": { "properties": { "name": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Name" } }, "type": "object", "required": [ "name" ], "title": "OrganizationCreate", "description": "Validate organization creation payloads." }, "OrganizationDetails": { "properties": { "organization": { "$ref": "#/components/schemas/OrganizationIdentity" }, "members": { "items": { "$ref": "#/components/schemas/OrganizationMemberAccessResponse" }, "type": "array", "title": "Members" }, "invitations": { "items": { "$ref": "#/components/schemas/OrganizationInvitationResponse" }, "type": "array", "title": "Invitations" } }, "type": "object", "required": [ "organization", "members", "invitations" ], "title": "OrganizationDetails", "description": "Represent an Organization with its member access." }, "OrganizationIdentity": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "slug": { "type": "string", "title": "Slug" }, "status": { "$ref": "#/components/schemas/Status" } }, "type": "object", "required": [ "id", "name", "slug", "status" ], "title": "OrganizationIdentity", "description": "Represent a compact Organization in nested API responses." }, "OrganizationInvitationCreate": { "properties": { "email": { "type": "string", "format": "email", "title": "Email" }, "role": { "$ref": "#/components/schemas/OrganizationRoles" } }, "type": "object", "required": [ "email", "role" ], "title": "OrganizationInvitationCreate", "description": "Validate organization invitation payloads." }, "OrganizationInvitationResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "email": { "type": "string", "title": "Email" }, "role": { "$ref": "#/components/schemas/OrganizationRoles" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" } }, "type": "object", "required": [ "id", "email", "role", "created_at" ], "title": "OrganizationInvitationResponse", "description": "Represent one organization invitation in API responses." }, "OrganizationMemberAccessResponse": { "properties": { "user": { "$ref": "#/components/schemas/UserIdentity" }, "role": { "$ref": "#/components/schemas/OrganizationRoles" } }, "type": "object", "required": [ "user", "role" ], "title": "OrganizationMemberAccessResponse", "description": "Represent one Organization member and their access role." }, "OrganizationMemberUpdate": { "properties": { "role": { "$ref": "#/components/schemas/OrganizationRoles" } }, "type": "object", "required": [ "role" ], "title": "OrganizationMemberUpdate", "description": "Validate organization member update payloads." }, "OrganizationQuotasResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "database_size_mib": { "type": "integer", "title": "Database Size Mib" }, "database_instances": { "type": "integer", "title": "Database Instances" }, "storage_quota_bytes": { "type": "integer", "title": "Storage Quota Bytes" } }, "type": "object", "required": [ "id", "database_size_mib", "database_instances", "storage_quota_bytes" ], "title": "OrganizationQuotasResponse", "description": "Represent stored per-Organization quotas in administrator responses." }, "OrganizationRoles": { "type": "string", "enum": [ "read", "write", "maintain", "admin", "owner" ], "title": "OrganizationRoles", "description": "Supported organization membership roles." }, "OrganizationSolutionSummary": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "slug": { "type": "string", "title": "Slug" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "status": { "$ref": "#/components/schemas/Status" }, "deployment_pending": { "type": "boolean", "title": "Deployment Pending" }, "desired_revision_id": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Desired Revision Id" } }, "type": "object", "required": [ "id", "name", "slug", "status", "deployment_pending", "desired_revision_id" ], "title": "OrganizationSolutionSummary", "description": "Represent a compact LongLink Solution in nested Organization responses." }, "OrganizationStorageUsageResponse": { "properties": { "space_used": { "type": "integer", "minimum": 0.0, "title": "Space Used" }, "quota_bytes": { "type": "integer", "minimum": 0.0, "title": "Quota Bytes" } }, "type": "object", "required": [ "space_used", "quota_bytes" ], "title": "OrganizationStorageUsageResponse", "description": "Report current logical object usage and quota for one Organization bucket." }, "Page_AdminUserSummary_": { "properties": { "items": { "items": { "$ref": "#/components/schemas/AdminUserSummary" }, "type": "array", "title": "Items" }, "total": { "type": "integer", "minimum": 0.0, "title": "Total" } }, "type": "object", "required": [ "items", "total" ], "title": "Page[AdminUserSummary]" }, "Page_ComputeRegistryResponse_": { "properties": { "items": { "items": { "$ref": "#/components/schemas/ComputeRegistryResponse" }, "type": "array", "title": "Items" }, "total": { "type": "integer", "minimum": 0.0, "title": "Total" } }, "type": "object", "required": [ "items", "total" ], "title": "Page[ComputeRegistryResponse]" }, "Page_OperationResponse_": { "properties": { "items": { "items": { "$ref": "#/components/schemas/OperationResponse" }, "type": "array", "title": "Items" }, "total": { "type": "integer", "minimum": 0.0, "title": "Total" } }, "type": "object", "required": [ "items", "total" ], "title": "Page[OperationResponse]" }, "Page_OrganizationIdentity_": { "properties": { "items": { "items": { "$ref": "#/components/schemas/OrganizationIdentity" }, "type": "array", "title": "Items" }, "total": { "type": "integer", "minimum": 0.0, "title": "Total" } }, "type": "object", "required": [ "items", "total" ], "title": "Page[OrganizationIdentity]" }, "Page_SolutionResponse_": { "properties": { "items": { "items": { "$ref": "#/components/schemas/SolutionResponse" }, "type": "array", "title": "Items" }, "total": { "type": "integer", "minimum": 0.0, "title": "Total" } }, "type": "object", "required": [ "items", "total" ], "title": "Page[SolutionResponse]" }, "PasswordLogin": { "properties": { "email": { "type": "string", "maxLength": 254, "format": "email", "title": "Email" }, "password": { "type": "string", "maxLength": 1024, "minLength": 1, "title": "Password" } }, "type": "object", "required": [ "email", "password" ], "title": "PasswordLogin", "description": "Validate one local password login request." }, "PasswordResetComplete": { "properties": { "password": { "type": "string", "maxLength": 1024, "minLength": 1, "title": "Password" } }, "type": "object", "required": [ "password" ], "title": "PasswordResetComplete", "description": "Validate a new password supplied with browser-only reset proof." }, "RegisteredClient": { "properties": { "client_name": { "type": "string", "maxLength": 128, "minLength": 1, "title": "Client Name", "default": "MCP client" }, "grant_types": { "items": { "type": "string", "const": "authorization_code" }, "type": "array", "maxItems": 1, "minItems": 1, "title": "Grant Types", "default": [ "authorization_code" ] }, "redirect_uris": { "items": { "type": "string" }, "type": "array", "maxItems": 10, "minItems": 1, "title": "Redirect Uris" }, "response_types": { "items": { "type": "string", "const": "code" }, "type": "array", "maxItems": 1, "minItems": 1, "title": "Response Types", "default": [ "code" ] }, "token_endpoint_auth_method": { "type": "string", "const": "none", "title": "Token Endpoint Auth Method", "default": "none" }, "client_id": { "type": "string", "format": "uuid", "title": "Client Id" } }, "type": "object", "required": [ "redirect_uris", "client_id" ], "title": "RegisteredClient", "description": "Return public registration metadata, never a confidential client credential." }, "RegistrationComplete": { "properties": { "name": { "type": "string", "maxLength": 255, "minLength": 1, "title": "Name" }, "password": { "type": "string", "maxLength": 1024, "minLength": 1, "title": "Password" } }, "type": "object", "required": [ "name", "password" ], "title": "RegistrationComplete", "description": "Validate profile and password setup after email authentication." }, "RegistryCreate": { "properties": { "provider": { "type": "string", "const": "ghcr", "title": "Provider", "default": "ghcr" }, "credential": { "type": "string", "maxLength": 4096, "minLength": 1, "format": "password", "title": "Credential", "writeOnly": true } }, "type": "object", "required": [ "credential" ], "title": "RegistryCreate", "description": "Validate the registry provider and write-only credentials." }, "RegistryResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "host": { "type": "string", "title": "Host" }, "provider": { "type": "string", "const": "ghcr", "title": "Provider" }, "username": { "type": "string", "title": "Username" } }, "type": "object", "required": [ "id", "host", "provider", "username" ], "title": "RegistryResponse", "description": "Expose registry connection identity without encrypted credentials." }, "ResourceMetadata": { "properties": { "resource": { "type": "string", "title": "Resource" }, "scopes_supported": { "items": { "type": "string" }, "type": "array", "title": "Scopes Supported" }, "authorization_servers": { "items": { "type": "string" }, "type": "array", "title": "Authorization Servers" }, "bearer_methods_supported": { "items": { "type": "string" }, "type": "array", "title": "Bearer Methods Supported", "default": [ "header" ] } }, "type": "object", "required": [ "resource", "scopes_supported", "authorization_servers" ], "title": "ResourceMetadata", "description": "Publish RFC 9728 resource discovery for one Solution endpoint." }, "ServerMetadata": { "properties": { "issuer": { "type": "string", "title": "Issuer" }, "token_endpoint": { "type": "string", "title": "Token Endpoint" }, "scopes_supported": { "items": { "type": "string" }, "type": "array", "title": "Scopes Supported" }, "revocation_endpoint": { "type": "string", "title": "Revocation Endpoint" }, "grant_types_supported": { "items": { "type": "string" }, "type": "array", "title": "Grant Types Supported" }, "registration_endpoint": { "type": "string", "title": "Registration Endpoint" }, "authorization_endpoint": { "type": "string", "title": "Authorization Endpoint" }, "response_types_supported": { "items": { "type": "string" }, "type": "array", "title": "Response Types Supported" }, "code_challenge_methods_supported": { "items": { "type": "string" }, "type": "array", "title": "Code Challenge Methods Supported" }, "token_endpoint_auth_methods_supported": { "items": { "type": "string" }, "type": "array", "title": "Token Endpoint Auth Methods Supported" } }, "type": "object", "required": [ "issuer", "token_endpoint", "scopes_supported", "revocation_endpoint", "grant_types_supported", "registration_endpoint", "authorization_endpoint", "response_types_supported", "code_challenge_methods_supported", "token_endpoint_auth_methods_supported" ], "title": "ServerMetadata", "description": "Publish the supported public-client OAuth authorization flow." }, "SolutionCreate": { "properties": { "envs": { "additionalProperties": { "type": "string" }, "type": "object", "title": "Envs" }, "image": { "type": "string", "title": "Image" }, "name": { "type": "string", "maxLength": 100, "minLength": 1, "title": "Name" }, "min_scale": { "type": "integer", "enum": [ 0, 1 ], "title": "Min Scale", "default": 0 }, "idle_seconds": { "type": "integer", "maximum": 3600.0, "minimum": 0.0, "title": "Idle Seconds", "default": 60 }, "description": { "anyOf": [ { "type": "string", "maxLength": 255 }, { "type": "null" } ], "title": "Description" } }, "type": "object", "required": [ "image", "name" ], "title": "SolutionCreate", "description": "Validate solution creation metadata and release configuration." }, "SolutionPatch": { "properties": { "envs": { "additionalProperties": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "type": "object", "title": "Envs" }, "min_scale": { "anyOf": [ { "type": "integer", "enum": [ 0, 1 ] }, { "type": "null" } ], "title": "Min Scale" }, "idle_seconds": { "anyOf": [ { "type": "integer", "maximum": 3600.0, "minimum": 0.0 }, { "type": "null" } ], "title": "Idle Seconds" }, "expected_revision_id": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Expected Revision Id" } }, "type": "object", "title": "SolutionPatch", "description": "Preserve omitted values and remove variables explicitly set to null." }, "SolutionResponse": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "slug": { "type": "string", "title": "Slug" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "status": { "$ref": "#/components/schemas/Status" }, "deployment_pending": { "type": "boolean", "title": "Deployment Pending" }, "desired_revision_id": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Desired Revision Id" }, "organization": { "$ref": "#/components/schemas/OrganizationIdentity" }, "image_desired": { "type": "string", "title": "Image Desired" }, "deployed_revision_id": { "anyOf": [ { "type": "string", "format": "uuid" }, { "type": "null" } ], "title": "Deployed Revision Id" }, "created_at": { "type": "string", "format": "date-time", "title": "Created At" } }, "type": "object", "required": [ "id", "name", "slug", "description", "status", "deployment_pending", "desired_revision_id", "organization", "image_desired", "deployed_revision_id", "created_at" ], "title": "SolutionResponse", "description": "Represent one solution in API responses." }, "SolutionUpdateCheck": { "properties": { "min_scale": { "type": "integer", "enum": [ 0, 1 ], "title": "Min Scale" }, "idle_seconds": { "type": "integer", "title": "Idle Seconds" }, "revision_id": { "type": "string", "format": "uuid", "title": "Revision Id" }, "current_image": { "type": "string", "title": "Current Image", "description": "Immutable image of the desired revision used for this update check." }, "configured_envs": { "items": { "type": "string" }, "type": "array", "title": "Configured Envs" }, "metadata": { "$ref": "#/components/schemas/LongLinkMetadata" } }, "type": "object", "required": [ "min_scale", "idle_seconds", "revision_id", "current_image", "configured_envs", "metadata" ], "title": "SolutionUpdateCheck", "description": "Expose a candidate and configured names, never environment values." }, "Status": { "type": "string", "enum": [ "creating", "failed", "running" ], "title": "Status", "description": "Lifecycle states shared by Platform-managed resources." }, "TokenPayload": { "properties": { "token": { "type": "string", "maxLength": 4096, "minLength": 1, "title": "Token" } }, "type": "object", "required": [ "token" ], "title": "TokenPayload", "description": "Validate one unchanged authentication token." }, "TokenSummary": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "client_id": { "type": "string", "format": "uuid", "title": "Client Id" }, "expires_at": { "type": "string", "format": "date-time", "title": "Expires At" }, "solution_id": { "type": "string", "format": "uuid", "title": "Solution Id" } }, "type": "object", "required": [ "id", "client_id", "expires_at", "solution_id" ], "title": "TokenSummary", "description": "Expose revocation handles without access credentials or hashes." }, "UserIdentity": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "email": { "type": "string", "format": "email", "title": "Email" }, "avatar": { "type": "string", "title": "Avatar" } }, "type": "object", "required": [ "id", "name", "email", "avatar" ], "title": "UserIdentity", "description": "Represent a user identity in nested API responses." }, "UserOrganizationMembership": { "properties": { "organization": { "$ref": "#/components/schemas/OrganizationIdentity" }, "role": { "$ref": "#/components/schemas/OrganizationRoles" } }, "type": "object", "required": [ "organization", "role" ], "title": "UserOrganizationMembership", "description": "Represent one current-user Organization membership." }, "UserSummary": { "properties": { "id": { "type": "string", "format": "uuid", "title": "Id" }, "name": { "type": "string", "title": "Name" }, "email": { "type": "string", "format": "email", "title": "Email" }, "avatar": { "type": "string", "title": "Avatar" }, "administrator": { "type": "boolean", "title": "Administrator" } }, "type": "object", "required": [ "id", "name", "email", "avatar", "administrator" ], "title": "UserSummary", "description": "Represent a compact user object in nested responses." }, "UserUpdate": { "properties": { "name": { "anyOf": [ { "type": "string", "maxLength": 255, "minLength": 1 }, { "type": "null" } ], "title": "Name" }, "avatar": { "anyOf": [ { "type": "string", "maxLength": 2048 }, { "type": "null" } ], "title": "Avatar" } }, "type": "object", "title": "UserUpdate", "description": "Payload to update mutable user profile fields." }, "ValidationError": { "properties": { "loc": { "items": { "anyOf": [ { "type": "string" }, { "type": "integer" } ] }, "type": "array", "title": "Location" }, "msg": { "type": "string", "title": "Message" }, "type": { "type": "string", "title": "Error Type" }, "input": { "title": "Input" }, "ctx": { "type": "object", "title": "Context" } }, "type": "object", "required": [ "loc", "msg", "type" ], "title": "ValidationError" } } } }