{ "openapi": "3.1.0", "info": { "title": "Agience Platform API", "version": "0.3.2", "description": "Consolidated REST surface for the Agience core platform: Origin (identity, OIDC, grants, keys) and Mantle (artifacts, search, secrets, stream, events, types). MCP tool surfaces (Chorus personas, Beacon) are documented separately." }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } }, { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ], "paths": { "/.well-known/openid-configuration": { "get": { "tags": [ "Authentication" ], "summary": "Openid Configuration", "operationId": "openid_configuration__well_known_openid_configuration_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts": { "post": { "tags": [ "Artifacts" ], "summary": "Create Artifact", "description": "Create a new artifact.\n\nIf the resolved content type declares a ``create`` operation in its\n``type.json``, dispatches through the operation dispatcher. Otherwise\nfalls back to default artifact creation via ``workspace_service``.", "operationId": "create_artifact_artifacts_post", "requestBody": { "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Body" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/activate": { "post": { "tags": [ "Artifacts" ], "summary": "Activate", "description": "Activate a signal in the meaning manifold (canonical plan §7).\n\nFeed-forward, one shot: present text *or* an embedding → reconcile to the\nnative language (the grounded anchors it activates) + its density-zoom layer\n→ optionally return the nearest authorized artifacts. The embedding is the\ncarrier; classic ``/search`` and this share the same manifold.", "operationId": "activate_artifacts_activate_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ActivateRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/batch": { "post": { "tags": [ "Artifacts" ], "summary": "Batch Fetch Artifacts", "description": "Batch fetch artifacts by IDs across all containers.", "operationId": "batch_fetch_artifacts_artifacts_batch_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BatchFetchRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/search": { "post": { "tags": [ "Artifacts" ], "summary": "Search Artifacts", "description": "Search across accessible artifacts.\n\nSupports the same query syntax as the legacy ``POST /search`` endpoint:\n+term (AND), !term (exclude), ~term (semantic), =\"phrase\" (exact),\nfield:value filters, and @hybrid:on/off control.\n\nScope can be narrowed with ``scope`` (list of container IDs).", "operationId": "search_artifacts_artifacts_search_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ArtifactSearchRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ArtifactSearchResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/visible": { "get": { "tags": [ "Artifacts" ], "summary": "List Visible", "operationId": "list_visible_artifacts_visible_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "content_type", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Filter by exact content_type (MIME). Omit to list every accessible artifact.", "title": "Content Type" }, "description": "Filter by exact content_type (MIME). Omit to list every accessible artifact." }, { "name": "action", "in": "query", "required": false, "schema": { "type": "string", "description": "CRUDEASIO action to filter by (read, create, add, update, ...). Returns only artifacts the caller may perform this action on. Defaults to 'read' (everything visible). Use 'create' to list collections an artifact may be assigned into — read-only platform collections are excluded.", "default": "read", "title": "Action" }, "description": "CRUDEASIO action to filter by (read, create, add, update, ...). Returns only artifacts the caller may perform this action on. Defaults to 'read' (everything visible). Use 'create' to list collections an artifact may be assigned into — read-only platform collections are excluded." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{artifact_id}": { "get": { "tags": [ "Artifacts" ], "summary": "Read Artifact", "description": "Read a single artifact by ID.", "operationId": "read_artifact_artifacts__artifact_id__get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "Artifacts" ], "summary": "Update Artifact", "description": "Partially update an artifact or container.", "operationId": "update_artifact_artifacts__artifact_id__patch", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateArtifactRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Artifacts" ], "summary": "Delete Artifact", "description": "Delete or archive an artifact.", "operationId": "delete_artifact_artifacts__artifact_id__delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{artifact_id}/children": { "get": { "tags": [ "Artifacts" ], "summary": "List Children", "description": "List children of any artifact (universal container model).\n\nOptional filters:\n- content_type: filter children by their content_type\n- workspace_id: include draft children from this workspace\n\nEach child is enriched with `committed_collection_ids` — the set of committed\ncontainers it currently appears in.", "operationId": "list_children_artifacts__artifact_id__children_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } }, { "name": "content_type", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Content Type" } }, { "name": "workspace_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Workspace Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{artifact_id}/children/order": { "patch": { "tags": [ "Artifacts" ], "summary": "Reorder Children", "description": "Reorder children of any artifact (any container).", "operationId": "reorder_children_artifacts__artifact_id__children_order_patch", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ReorderRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{artifact_id}/content-url": { "get": { "tags": [ "Artifacts" ], "summary": "Content Url", "description": "Get a signed content URL for an artifact's stored content.", "operationId": "content_url_artifacts__artifact_id__content_url_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{artifact_id}/multipart-part-url": { "get": { "tags": [ "Artifacts" ], "summary": "Multipart Part Url", "description": "Get a presigned URL for uploading a specific multipart part.", "operationId": "multipart_part_url_artifacts__artifact_id__multipart_part_url_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } }, { "name": "part_number", "in": "query", "required": true, "schema": { "type": "integer", "minimum": 1, "title": "Part Number" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{artifact_id}/op/{op_name}": { "post": { "tags": [ "Artifacts" ], "summary": "Run Artifact Operation", "description": "Generic operation-dispatch endpoint.\n\nDispatches the operation declared in the artifact's `type.json`\n`operations.{op_name}` block through `operation_dispatcher.dispatch`.\n\nReserved op names (`create`, `read`, `update`, `delete`, `add`, `search`)\nare handled by their dedicated CRUD routes above and are **not** accepted\nhere. `invoke` is accepted here — it carries an extra body-merge pass\n(workspace_id / artifacts / resources binding injection) that the\ndispatched handler can consume; see `_build_invoke_dispatch_body`.\n\nThe dispatcher enforces the grant check (`requires_grant`), runs the\ndeclared handler (`dispatch.kind`), and emits every event in\n`operations.{op_name}.emits` around the call.", "operationId": "run_artifact_operation_artifacts__artifact_id__op__op_name__post", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } }, { "name": "op_name", "in": "path", "required": true, "schema": { "type": "string", "title": "Op Name" } } ], "requestBody": { "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Body" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{artifact_id}/remove": { "post": { "tags": [ "Artifacts" ], "summary": "Remove Artifact From Container Endpoint", "description": "Detach an artifact from a container without hard-deleting the root.", "operationId": "remove_artifact_from_container_endpoint_artifacts__artifact_id__remove_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RemoveItemRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{artifact_id}/revert": { "post": { "tags": [ "Artifacts" ], "summary": "Revert Artifact Endpoint", "description": "Restore the artifact's last committed version, discarding the draft delta.\n\nPhase D.1 carves this out as a distinct endpoint instead of routing through\n`op/revert`. Revert touches version history (it doesn't just flip a state\nfield) so it warrants its own verb. If the artifact has no committed\nversion yet, returns `204 No Content` per the design doc's \"no-op\" rule.", "operationId": "revert_artifact_endpoint_artifacts__artifact_id__revert_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{artifact_id}/upload-initiate": { "post": { "tags": [ "Artifacts" ], "summary": "Upload Initiate", "description": "Initiate an S3 upload for an artifact.\n\nThe artifact_id here is the *container* (workspace) the upload belongs to.\nDelegates to workspace_service.initiate_upload_and_create_artifact().", "operationId": "upload_initiate_artifacts__artifact_id__upload_initiate_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UploadInitiateRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{artifact_id}/upload-status": { "patch": { "tags": [ "Artifacts" ], "summary": "Upload Status", "description": "Update upload progress or mark complete/failed.", "operationId": "upload_status_artifacts__artifact_id__upload_status_patch", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "artifact_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Artifact Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UploadStatusRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/artifacts/{container_id}/commits": { "get": { "tags": [ "Artifacts" ], "summary": "List Commits", "description": "List commits for a collection container.", "operationId": "list_commits_artifacts__container_id__commits_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "container_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Container Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/authorize": { "get": { "tags": [ "Authentication" ], "summary": "Authorize", "description": "OAuth2 authorization endpoint. Redirects to the upstream OIDC provider.\n\nValidates `client_id` + `redirect_uri`. Built-in platform clients are\nvalidated against config; third-party MCP clients are looked up in Mantle\nvia `MantleClient.find_mcp_client`.", "operationId": "authorize_auth_authorize_get", "parameters": [ { "name": "response_type", "in": "query", "required": true, "schema": { "type": "string", "title": "Response Type" } }, { "name": "client_id", "in": "query", "required": true, "schema": { "type": "string", "title": "Client Id" } }, { "name": "redirect_uri", "in": "query", "required": true, "schema": { "type": "string", "title": "Redirect Uri" } }, { "name": "provider", "in": "query", "required": false, "schema": { "type": "string", "default": "google", "title": "Provider" } }, { "name": "scope", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Scope" } }, { "name": "state", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "State" } }, { "name": "code_challenge", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Code Challenge" } }, { "name": "code_challenge_method", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": "S256", "title": "Code Challenge Method" } }, { "name": "setup_operator_token", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Setup Operator Token" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/bootstrap/claim": { "post": { "tags": [ "Authentication" ], "summary": "Bootstrap Claim", "description": "Claim the platform's bootstrap token to create the first operator.\n\nOn first boot the init container generates a random token, prints it to\nstdout, and stores its sha256 in the platform authority manifest. The\noperator presents the cleartext token here exactly once; in exchange they\nget a person record, a `can_admin` grant on the authority artifact, and\nan access token. After this call, `platform.setup_complete=true` blocks\nany further claim attempts.\n\nSingle-use. Consumes the bootstrap regardless of email/password — if\nthose fields are absent, the operator is created passwordless and can\nlater link an OAuth provider, set a password, or register a passkey.", "operationId": "bootstrap_claim_auth_bootstrap_claim_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BootstrapClaimRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BootstrapClaimResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/callback": { "get": { "tags": [ "Authentication" ], "summary": "Auth Callback", "operationId": "auth_callback_auth_callback_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/clients": { "get": { "tags": [ "OAuth Clients" ], "summary": "List Server Credentials", "operationId": "list_server_credentials_auth_clients_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/ServerCredentialResponse" }, "type": "array", "title": "Response List Server Credentials Auth Clients Get" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "post": { "tags": [ "OAuth Clients" ], "summary": "Register Server Credential", "operationId": "register_server_credential_auth_clients_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerCredentialCreate" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerCredentialCreateResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/clients/{client_id}": { "get": { "tags": [ "OAuth Clients" ], "summary": "Get Server Credential", "operationId": "get_server_credential_auth_clients__client_id__get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "client_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Client Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerCredentialResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "OAuth Clients" ], "summary": "Update Server Credential", "operationId": "update_server_credential_auth_clients__client_id__patch", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "client_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Client Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerCredentialUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerCredentialResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "OAuth Clients" ], "summary": "Delete Server Credential Endpoint", "operationId": "delete_server_credential_endpoint_auth_clients__client_id__delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "client_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Client Id" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/clients/{client_id}/rotate": { "post": { "tags": [ "OAuth Clients" ], "summary": "Rotate Server Credential", "operationId": "rotate_server_credential_auth_clients__client_id__rotate_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "client_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Client Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ServerCredentialRotateResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/grants": { "get": { "tags": [ "Grants" ], "summary": "List Grants Endpoint", "operationId": "list_grants_endpoint_auth_grants_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "resource_id", "in": "query", "required": true, "schema": { "type": "string", "title": "Resource Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Grants" ], "summary": "Create Grant Endpoint", "operationId": "create_grant_endpoint_auth_grants_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateGrantRequest" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/grants/claim": { "post": { "tags": [ "Grants" ], "summary": "Claim Invite Endpoint", "operationId": "claim_invite_endpoint_auth_grants_claim_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ClaimInviteRequest" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/grants/invite-context": { "get": { "tags": [ "Grants" ], "summary": "Get Invite Context Endpoint", "operationId": "get_invite_context_endpoint_auth_grants_invite_context_get", "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string", "title": "Token" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/grants/invite-details": { "get": { "tags": [ "Grants" ], "summary": "Get Invite Details Endpoint", "operationId": "get_invite_details_endpoint_auth_grants_invite_details_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string", "title": "Token" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/grants/mine-sent": { "get": { "tags": [ "Grants" ], "summary": "List Invites Sent Endpoint", "operationId": "list_invites_sent_endpoint_auth_grants_mine_sent_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "include_revoked", "in": "query", "required": false, "schema": { "type": "boolean", "default": false, "title": "Include Revoked" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/grants/{grant_id}": { "get": { "tags": [ "Grants" ], "summary": "Read Grant", "operationId": "read_grant_auth_grants__grant_id__get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "grant_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Grant Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Grants" ], "summary": "Revoke Grant", "operationId": "revoke_grant_auth_grants__grant_id__delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "grant_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Grant Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/grants/{grant_id}/accept": { "post": { "tags": [ "Grants" ], "summary": "Accept Grant", "operationId": "accept_grant_auth_grants__grant_id__accept_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "grant_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Grant Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/keys": { "get": { "tags": [ "Personal API Keys" ], "summary": "List Api Keys", "operationId": "list_api_keys_auth_keys_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/APIKeyResponse" }, "type": "array", "title": "Response List Api Keys Auth Keys Get" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "post": { "tags": [ "Personal API Keys" ], "summary": "Create Api Key", "operationId": "create_api_key_auth_keys_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyCreate" } } }, "required": true }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyCreateResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/keys/{key_id}": { "get": { "tags": [ "Personal API Keys" ], "summary": "Get Api Key", "operationId": "get_api_key_auth_keys__key_id__get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "key_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Key Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "patch": { "tags": [ "Personal API Keys" ], "summary": "Update Api Key", "operationId": "update_api_key_auth_keys__key_id__patch", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "key_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Key Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyUpdate" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/APIKeyResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Personal API Keys" ], "summary": "Delete Api Key", "operationId": "delete_api_key_auth_keys__key_id__delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "key_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Key Id" } } ], "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/me/link-provider": { "post": { "tags": [ "Authentication" ], "summary": "Link Provider", "operationId": "link_provider_auth_me_link_provider_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LinkProviderRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/me/link-provider/{provider}": { "delete": { "tags": [ "Authentication" ], "summary": "Unlink Provider", "operationId": "unlink_provider_auth_me_link_provider__provider__delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "provider", "in": "path", "required": true, "schema": { "type": "string", "title": "Provider" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/me/preferences": { "get": { "tags": [ "Authentication" ], "summary": "Get Preferences", "operationId": "get_preferences_auth_me_preferences_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "patch": { "tags": [ "Authentication" ], "summary": "Update Preferences", "operationId": "update_preferences_auth_me_preferences_patch", "requestBody": { "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Preferences" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/nonce": { "get": { "tags": [ "Authentication" ], "summary": "Issue Challenge Nonce", "operationId": "issue_challenge_nonce_auth_nonce_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/otp/request": { "post": { "tags": [ "Authentication" ], "summary": "Request Otp", "operationId": "request_otp_auth_otp_request_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OTPRequestBody" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OTPRequestResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/otp/verify": { "post": { "tags": [ "Authentication" ], "summary": "Verify Otp", "operationId": "verify_otp_auth_otp_verify_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OTPVerifyBody" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OTPVerifyResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/passkey/credentials": { "get": { "tags": [ "Authentication" ], "summary": "List Passkeys", "operationId": "list_passkeys_auth_passkey_credentials_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CredentialListResponse" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/passkey/credentials/{credential_id}": { "delete": { "tags": [ "Authentication" ], "summary": "Delete Passkey", "operationId": "delete_passkey_auth_passkey_credentials__credential_id__delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "credential_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Credential Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/passkey/login-complete": { "post": { "tags": [ "Authentication" ], "summary": "Complete Login", "operationId": "complete_login_auth_passkey_login_complete_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginCompleteRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginCompleteResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/passkey/login-options": { "post": { "tags": [ "Authentication" ], "summary": "Get Login Options", "operationId": "get_login_options_auth_passkey_login_options_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginOptionsRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LoginOptionsResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/passkey/register-complete": { "post": { "tags": [ "Authentication" ], "summary": "Complete Registration", "operationId": "complete_registration_auth_passkey_register_complete_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterCompleteRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterCompleteResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/passkey/register-options": { "post": { "tags": [ "Authentication" ], "summary": "Get Register Options", "operationId": "get_register_options_auth_passkey_register_options_post", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RegisterOptionsResponse" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/password/login": { "post": { "tags": [ "Authentication" ], "summary": "Password Login", "operationId": "password_login_auth_password_login_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordLoginRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/password/register": { "post": { "tags": [ "Authentication" ], "summary": "Password Register", "operationId": "password_register_auth_password_register_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PasswordRegisterRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/providers": { "get": { "tags": [ "Authentication" ], "summary": "List Providers", "operationId": "list_providers_auth_providers_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/token": { "post": { "tags": [ "Authentication" ], "summary": "Token Endpoint", "operationId": "token_endpoint_auth_token_post", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "$ref": "#/components/schemas/Body_token_endpoint_auth_token_post" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/auth/userinfo": { "get": { "tags": [ "Authentication" ], "summary": "User Info Endpoint", "operationId": "user_info_endpoint_auth_userinfo_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/events/emit": { "post": { "tags": [ "Events" ], "summary": "Emit Event", "description": "Push an event into the bus. Used by MCP persona servers to send\nreal-time updates (e.g. chat token deltas) that reach the browser via\nthe ``/events`` WebSocket.\n\nAuth: delegation JWT (persona acting on behalf of user) or server token.", "operationId": "emit_event_events_emit_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/EmitEventRequest" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/internal/beacon/anchorset": { "get": { "tags": [ "Beacon (premium)" ], "summary": "Read Anchorset", "description": "Return the live AnchorSet (model, dim, labels, unit-norm matrix) for the\nBeacon add-on to analyze. Premium interaction, hence gated — the anchors are\nopen elsewhere, but feeding them to the Beacon add-on is the premium part.", "operationId": "read_anchorset_internal_beacon_anchorset_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/internal/beacon/profile": { "get": { "tags": [ "Beacon (premium)" ], "summary": "Get Profile", "description": "Return the most recently applied Beacon profile (empty object if none).", "operationId": "get_profile_internal_beacon_profile_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "post": { "tags": [ "Beacon (premium)" ], "summary": "Apply Profile", "description": "Accept a Beacon-computed profile and hold it for this instance. The\nmetrics are opaque to Core.", "operationId": "apply_profile_internal_beacon_profile_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BeaconProfile" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/internal/gate/set-limits": { "post": { "tags": [ "Gate (internal)" ], "summary": "Set Limits", "description": "Upsert entitlement limits for a person. Called by Ophan after Stripe events.", "operationId": "set_limits_internal_gate_set_limits_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetLimitsRequest" } } }, "required": true }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "HTTPBearer": [] } ] }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/internal/gate/usage/{person_id}": { "get": { "tags": [ "Gate (internal)" ], "summary": "Get Usage", "description": "Return limits + current usage for a person. Called by Ophan for the billing UI.", "operationId": "get_usage_internal_gate_usage__person_id__get", "security": [ { "HTTPBearer": [] } ], "parameters": [ { "name": "person_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Person Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/platform/settings": { "get": { "tags": [ "Platform" ], "summary": "Get All Settings", "operationId": "get_all_settings_platform_settings_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": true, "type": "object", "title": "Response Get All Settings Platform Settings Get" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "patch": { "tags": [ "Platform" ], "summary": "Update Settings", "operationId": "update_settings_platform_settings_patch", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSettingsRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateSettingsResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/platform/settings/{category}": { "get": { "tags": [ "Platform" ], "summary": "Get Settings By Category", "operationId": "get_settings_by_category_platform_settings__category__get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "category", "in": "path", "required": true, "schema": { "type": "string", "title": "Category" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object", "additionalProperties": true }, "title": "Response Get Settings By Category Platform Settings Category Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/platform/users": { "get": { "tags": [ "Platform" ], "summary": "List Users", "operationId": "list_users_platform_users_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PlatformUsersListResponse" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/platform/users/{user_id}/grant-admin": { "post": { "tags": [ "Platform" ], "summary": "Grant Platform Admin", "operationId": "grant_platform_admin_platform_users__user_id__grant_admin_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/platform/users/{user_id}/revoke-admin": { "delete": { "tags": [ "Platform" ], "summary": "Revoke Platform Admin", "operationId": "revoke_platform_admin_platform_users__user_id__revoke_admin_delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "user_id", "in": "path", "required": true, "schema": { "type": "string", "title": "User Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/relay/download": { "get": { "tags": [ "Downloads" ], "summary": "Relay Download", "description": "Redirect to the Desktop Host Relay installer for the requested platform.", "operationId": "relay_download_relay_download_get", "parameters": [ { "name": "platform", "in": "query", "required": true, "schema": { "type": "string", "description": "Target platform: windows, macos, or linux", "title": "Platform" }, "description": "Target platform: windows, macos, or linux" } ], "responses": { "302": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/search/query": { "post": { "tags": [ "Search" ], "summary": "Raw Query", "description": "Return the authorized candidate set for a query. Auth = the calling user;\ncandidates are filtered to that user's light-cone inside the accessor.", "operationId": "raw_query_search_query_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RawQueryRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] } ] }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/secrets": { "get": { "tags": [ "Secrets" ], "summary": "List Secrets", "description": "List stored secrets. Encrypted values only returned when include_encrypted=True.", "operationId": "list_secrets_secrets_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "type", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Filter by secret type", "title": "Type" }, "description": "Filter by secret type" }, { "name": "provider", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Filter by provider", "title": "Provider" }, "description": "Filter by provider" }, { "name": "id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Filter by exact secret ID", "title": "Id" }, "description": "Filter by exact secret ID" }, { "name": "authorizer_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Filter by authorizer artifact ID", "title": "Authorizer Id" }, "description": "Filter by authorizer artifact ID" }, { "name": "include_encrypted", "in": "query", "required": false, "schema": { "type": "boolean", "description": "Include encrypted_value in response", "default": false, "title": "Include Encrypted" }, "description": "Include encrypted_value in response" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SecretResponse" }, "title": "Response List Secrets Secrets Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Secrets" ], "summary": "Add Secret", "description": "Store a new secret (value encrypted before storage). Returns all secrets.", "operationId": "add_secret_secrets_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SecretCreateRequest" } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SecretResponse" }, "title": "Response Add Secret Secrets Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/secrets/fetch": { "post": { "tags": [ "Secrets" ], "summary": "Fetch Secret For Server", "description": "Return a secret wrapped as JWE for the requesting server.\n\nAuth: The caller must present a **delegation JWT** (RFC 8693) issued by\nCore. ``sub`` is the user whose secret is being fetched; ``act.sub`` is\nthe ``client_id`` of the server requesting the secret. The JWE envelope\nis encrypted with the server's registered RSA public key so only that\nserver can decrypt it. Plaintext never leaves Core unencrypted.", "operationId": "fetch_secret_for_server_secrets_fetch_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SecretFetchRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SecretFetchResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/secrets/{secret_id}": { "delete": { "tags": [ "Secrets" ], "summary": "Delete Secret", "description": "Delete a stored secret. Returns remaining secrets.", "operationId": "delete_secret_secrets__secret_id__delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "secret_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Secret Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SecretResponse" }, "title": "Response Delete Secret Secrets Secret Id Delete" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/secrets/{secret_id}/set-default": { "post": { "tags": [ "Secrets" ], "summary": "Set Default Secret", "description": "Mark a secret as the default for its (type, provider) combination.", "operationId": "set_default_secret_secrets__secret_id__set_default_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "secret_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Secret Id" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/SecretResponse" }, "title": "Response Set Default Secret Secrets Secret Id Set Default Post" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/server-credentials/{client_id}/key": { "put": { "tags": [ "Server Credentials" ], "summary": "Register Server Jwk", "description": "Register or update a server's RSA public JWK.\n\nOnly the server identified by `client_id` may register its own key. The\nserver presents its platform JWT (from Origin via client_credentials).\n`client_id` in the path must match `client_id` in the token so servers\ncannot register keys on behalf of other servers.", "operationId": "register_server_jwk_server_credentials__client_id__key_put", "parameters": [ { "name": "client_id", "in": "path", "required": true, "schema": { "type": "string", "title": "Client Id" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/_RegisterJwkRequest" } } } }, "responses": { "204": { "description": "Successful Response" }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/setup/complete": { "post": { "tags": [ "Setup" ], "summary": "Complete Setup", "operationId": "complete_setup_setup_complete_post", "parameters": [ { "name": "X-Setup-Token", "in": "header", "required": true, "schema": { "type": "string", "title": "X-Setup-Token" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetupCompleteRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetupCompleteResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/setup/status": { "get": { "tags": [ "Setup" ], "summary": "Get Setup Status", "operationId": "get_setup_status_setup_status_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/SetupStatusResponse" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/setup/validate-connection": { "post": { "tags": [ "Setup" ], "summary": "Validate Connection", "description": "Validate Anthropic / embeddings / email provider configs.\n\nArango / OpenSearch validation is intentionally not handled here in\nOrigin (no Arango client available). Operators verify those by\ncompleting setup and observing Mantle's startup logs.", "operationId": "validate_connection_setup_validate_connection_post", "parameters": [ { "name": "X-Setup-Token", "in": "header", "required": true, "schema": { "type": "string", "title": "X-Setup-Token" } } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateConnectionRequest" } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateConnectionResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/setup/validate-token": { "post": { "tags": [ "Setup" ], "summary": "Validate Setup Token", "operationId": "validate_setup_token_setup_validate_token_post", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateTokenRequest" } } }, "required": true }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ValidateTokenResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://origin.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/stream/publish": { "post": { "tags": [ "Stream" ], "summary": "On Publish", "description": "SRS on_publish webhook — creates or resumes a stream session artifact.\n\nThis endpoint is called by SRS from inside the Docker network. It is\nnot protected by the standard user-auth middleware. The stream key in\nthe payload serves as the credential.\n\nSRS expects a ``{\"code\": 0}`` response to allow the stream through.\nAny non-zero code or 4xx/5xx causes SRS to reject the publisher.", "operationId": "on_publish_stream_publish_post", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/stream/sessions": { "get": { "tags": [ "Stream" ], "summary": "List Sessions", "description": "List active stream sessions visible to the authenticated principal.\n\nIf ``source_artifact_id`` is provided, the caller must have read access\nto that artifact and only its sessions are returned. Without a filter\nall sessions where the caller has read access to the source are returned.", "operationId": "list_sessions_stream_sessions_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] } ], "parameters": [ { "name": "source_artifact_id", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "Filter to a specific source artifact", "title": "Source Artifact Id" }, "description": "Filter to a specific source artifact" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/stream/unpublish": { "post": { "tags": [ "Stream" ], "summary": "On Unpublish", "description": "SRS on_unpublish webhook — marks the session artifact as ended.\n\nCalled when OBS stops streaming or disconnects. The session artifact's\ncontext.status is set to \"ended\" and the ended_at timestamp is recorded.\n\nThe stream gateway itself does not record or transcode. If a recording\nis needed, configure a workspace event handler that reacts to the\n``stream.session.ended`` event (handled by Astra or a custom handler).", "operationId": "on_unpublish_stream_unpublish_post", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": {} } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/types/index": { "get": { "tags": [ "Types" ], "summary": "List Types", "operationId": "list_types_types_index_get", "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "type": "object", "title": "Response List Types Types Index Get" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] }, "/types/resolve": { "get": { "tags": [ "Types" ], "summary": "Resolve Type", "operationId": "resolve_type_types_resolve_get", "parameters": [ { "name": "content_type", "in": "query", "required": true, "schema": { "type": "string", "title": "Content Type" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "additionalProperties": true, "title": "Response Resolve Type Types Resolve Get" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "servers": [ { "url": "https://mantle.{install}", "variables": { "install": { "default": "agience.ai", "description": "Install root domain — agience.ai (SaaS), a dedicated install (e.g. foresight.on.agience.ai), or your self-hosted domain." } } } ] } }, "components": { "schemas": { "APIKeyCreate": { "properties": { "name": { "type": "string", "maxLength": 100, "minLength": 1, "title": "Name" }, "scopes": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Scopes" }, "resource_filters": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Resource Filters" }, "client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Client Id" }, "host_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Host Id" }, "server_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Server Id" }, "agent_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Agent Id" }, "display_label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Display Label" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expires At" } }, "type": "object", "required": [ "name" ], "title": "APIKeyCreate" }, "APIKeyCreateResponse": { "properties": { "id": { "type": "string", "title": "Id" }, "user_id": { "type": "string", "title": "User Id" }, "name": { "type": "string", "title": "Name" }, "client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Client Id" }, "host_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Host Id" }, "server_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Server Id" }, "agent_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Agent Id" }, "display_label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Display Label" }, "issued_by_user_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Issued By User Id" }, "created_from_client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created From Client Id" }, "scopes": { "items": { "type": "string" }, "type": "array", "title": "Scopes" }, "resource_filters": { "additionalProperties": true, "type": "object", "title": "Resource Filters" }, "created_time": { "type": "string", "title": "Created Time" }, "modified_time": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Modified Time" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expires At" }, "last_used_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Used At" }, "is_active": { "type": "boolean", "title": "Is Active" }, "key": { "type": "string", "title": "Key", "description": "Raw API key — store securely, will not be shown again" } }, "type": "object", "required": [ "id", "user_id", "name", "scopes", "resource_filters", "created_time", "is_active", "key" ], "title": "APIKeyCreateResponse" }, "APIKeyResponse": { "properties": { "id": { "type": "string", "title": "Id" }, "user_id": { "type": "string", "title": "User Id" }, "name": { "type": "string", "title": "Name" }, "client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Client Id" }, "host_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Host Id" }, "server_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Server Id" }, "agent_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Agent Id" }, "display_label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Display Label" }, "issued_by_user_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Issued By User Id" }, "created_from_client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created From Client Id" }, "scopes": { "items": { "type": "string" }, "type": "array", "title": "Scopes" }, "resource_filters": { "additionalProperties": true, "type": "object", "title": "Resource Filters" }, "created_time": { "type": "string", "title": "Created Time" }, "modified_time": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Modified Time" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expires At" }, "last_used_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Used At" }, "is_active": { "type": "boolean", "title": "Is Active" } }, "type": "object", "required": [ "id", "user_id", "name", "scopes", "resource_filters", "created_time", "is_active" ], "title": "APIKeyResponse" }, "APIKeyUpdate": { "properties": { "name": { "anyOf": [ { "type": "string", "maxLength": 100, "minLength": 1 }, { "type": "null" } ], "title": "Name" }, "scopes": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Scopes" }, "resource_filters": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Resource Filters" }, "client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Client Id" }, "host_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Host Id" }, "server_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Server Id" }, "agent_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Agent Id" }, "display_label": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Display Label" }, "is_active": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Active" } }, "type": "object", "title": "APIKeyUpdate" }, "ActivateRequest": { "properties": { "text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Text" }, "embedding": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, { "type": "null" } ], "title": "Embedding" }, "model_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Model Id" }, "scope": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Scope" }, "top_k": { "type": "integer", "title": "Top K", "default": 10 }, "top_anchors": { "type": "integer", "title": "Top Anchors", "default": 8 }, "act": { "type": "boolean", "title": "Act", "default": true } }, "type": "object", "title": "ActivateRequest", "description": "Native embedding interaction — present a signal, see its grounded meaning." }, "ArtifactSearchRequest": { "properties": { "query_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Query Text" }, "embedding": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, { "type": "null" } ], "title": "Embedding" }, "scope": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Scope" }, "content_types": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Content Types" }, "use_hybrid": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Use Hybrid" }, "aperture": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Aperture" }, "from_": { "type": "integer", "title": "From", "default": 0 }, "size": { "type": "integer", "title": "Size", "default": 20 }, "sort": { "anyOf": [ { "type": "string", "enum": [ "relevance", "recency" ] }, { "type": "null" } ], "title": "Sort" }, "highlight": { "type": "boolean", "title": "Highlight", "default": true } }, "type": "object", "title": "ArtifactSearchRequest", "description": "Search across accessible artifacts.\n\nProvide exactly one of ``query_text`` (text → embedded + hybrid BM25/kNN) or\n``embedding`` (a raw query vector → kNN directly, skipping the text-embed\nstep — \"embedding activation\" for callers that already hold a vector)." }, "ArtifactSearchResponse": { "properties": { "hits": { "items": { "$ref": "#/components/schemas/SearchHitResponse" }, "type": "array", "title": "Hits" }, "total": { "type": "integer", "title": "Total" }, "query_text": { "type": "string", "title": "Query Text" }, "parsed_query": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Parsed Query" }, "corrections": { "items": { "type": "string" }, "type": "array", "title": "Corrections" }, "used_hybrid": { "type": "boolean", "title": "Used Hybrid" }, "from_": { "type": "integer", "title": "From", "default": 0 }, "size": { "type": "integer", "title": "Size" } }, "type": "object", "required": [ "hits", "total", "query_text", "used_hybrid", "size" ], "title": "ArtifactSearchResponse" }, "BatchFetchRequest": { "properties": { "artifact_ids": { "items": { "type": "string" }, "type": "array", "title": "Artifact Ids" } }, "type": "object", "required": [ "artifact_ids" ], "title": "BatchFetchRequest", "description": "Batch fetch artifacts by IDs." }, "BeaconProfile": { "properties": { "model_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Model Id" }, "thresholds": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Thresholds" }, "metrics": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Metrics" }, "proposals": { "anyOf": [ { "items": {}, "type": "array" }, { "type": "null" } ], "title": "Proposals" } }, "type": "object", "title": "BeaconProfile", "description": "A profile the Beacon add-on computes over the manifold and writes back.\n\nThe contents are opaque to Core — it stores and serves them without\ninterpreting the add-on's metrics." }, "Body_token_endpoint_auth_token_post": { "properties": { "grant_type": { "type": "string", "title": "Grant Type" }, "code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Code" }, "redirect_uri": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Redirect Uri" }, "client_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Client Id" }, "client_secret": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Client Secret" }, "code_verifier": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Code Verifier" }, "refresh_token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Refresh Token" } }, "type": "object", "required": [ "grant_type" ], "title": "Body_token_endpoint_auth_token_post" }, "BootstrapClaimRequest": { "properties": { "token": { "type": "string", "title": "Token" }, "email": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Email" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "password": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Password" } }, "additionalProperties": false, "type": "object", "required": [ "token" ], "title": "BootstrapClaimRequest", "description": "Body for `POST /auth/bootstrap/claim`. The token comes from init's stdout." }, "BootstrapClaimResponse": { "properties": { "access_token": { "type": "string", "title": "Access Token" }, "refresh_token": { "type": "string", "title": "Refresh Token" }, "token_type": { "type": "string", "title": "Token Type", "default": "bearer" }, "person_id": { "type": "string", "title": "Person Id" } }, "type": "object", "required": [ "access_token", "refresh_token", "person_id" ], "title": "BootstrapClaimResponse" }, "ClaimInviteRequest": { "properties": { "token": { "type": "string", "title": "Token" } }, "type": "object", "required": [ "token" ], "title": "ClaimInviteRequest" }, "CreateGrantRequest": { "properties": { "resource_id": { "type": "string", "title": "Resource Id" }, "can_create": { "type": "boolean", "title": "Can Create", "default": false }, "can_read": { "type": "boolean", "title": "Can Read", "default": true }, "can_update": { "type": "boolean", "title": "Can Update", "default": false }, "can_delete": { "type": "boolean", "title": "Can Delete", "default": false }, "can_invoke": { "type": "boolean", "title": "Can Invoke", "default": false }, "can_add": { "type": "boolean", "title": "Can Add", "default": false }, "can_share": { "type": "boolean", "title": "Can Share", "default": false }, "can_admin": { "type": "boolean", "title": "Can Admin", "default": false }, "grantee_type": { "type": "string", "title": "Grantee Type", "default": "user" }, "grantee_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Grantee Id" }, "target_entity": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Entity" }, "target_entity_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Target Entity Type" }, "max_claims": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Claims" }, "requires_identity": { "type": "boolean", "title": "Requires Identity", "default": false }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "notes": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Notes" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expires At" }, "state": { "type": "string", "title": "State", "default": "active" }, "role": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Role" }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Message" } }, "type": "object", "required": [ "resource_id" ], "title": "CreateGrantRequest" }, "CredentialListResponse": { "properties": { "credentials": { "items": { "additionalProperties": true, "type": "object" }, "type": "array", "title": "Credentials" } }, "type": "object", "required": [ "credentials" ], "title": "CredentialListResponse" }, "EmitEventRequest": { "properties": { "event": { "type": "string", "title": "Event" }, "payload": { "additionalProperties": true, "type": "object", "title": "Payload", "default": {} }, "container_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Container Id" }, "artifact_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Artifact Id" } }, "type": "object", "required": [ "event" ], "title": "EmitEventRequest", "description": "Body for POST /events/emit — lets MCP servers broadcast events." }, "HTTPValidationError": { "properties": { "detail": { "items": { "$ref": "#/components/schemas/ValidationError" }, "type": "array", "title": "Detail" } }, "type": "object", "title": "HTTPValidationError" }, "LinkProviderRequest": { "properties": { "code": { "type": "string", "title": "Code" }, "code_verifier": { "type": "string", "title": "Code Verifier" }, "redirect_uri": { "type": "string", "title": "Redirect Uri" } }, "type": "object", "required": [ "code", "code_verifier", "redirect_uri" ], "title": "LinkProviderRequest" }, "LoginCompleteRequest": { "properties": { "credential": { "additionalProperties": true, "type": "object", "title": "Credential" }, "challenge": { "type": "string", "title": "Challenge" }, "user_id": { "type": "string", "title": "User Id" } }, "type": "object", "required": [ "credential", "challenge", "user_id" ], "title": "LoginCompleteRequest" }, "LoginCompleteResponse": { "properties": { "access_token": { "type": "string", "title": "Access Token" }, "refresh_token": { "type": "string", "title": "Refresh Token" }, "token_type": { "type": "string", "title": "Token Type", "default": "bearer" } }, "type": "object", "required": [ "access_token", "refresh_token" ], "title": "LoginCompleteResponse" }, "LoginOptionsRequest": { "properties": { "email": { "type": "string", "title": "Email" } }, "type": "object", "required": [ "email" ], "title": "LoginOptionsRequest" }, "LoginOptionsResponse": { "properties": { "options": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Options" }, "has_passkeys": { "type": "boolean", "title": "Has Passkeys", "default": false } }, "type": "object", "title": "LoginOptionsResponse" }, "OTPRequestBody": { "properties": { "email": { "type": "string", "title": "Email" } }, "type": "object", "required": [ "email" ], "title": "OTPRequestBody" }, "OTPRequestResponse": { "properties": { "sent": { "type": "boolean", "title": "Sent" }, "expires_in": { "type": "integer", "title": "Expires In", "default": 600 } }, "type": "object", "required": [ "sent" ], "title": "OTPRequestResponse" }, "OTPVerifyBody": { "properties": { "email": { "type": "string", "title": "Email" }, "code": { "type": "string", "title": "Code" } }, "type": "object", "required": [ "email", "code" ], "title": "OTPVerifyBody" }, "OTPVerifyResponse": { "properties": { "access_token": { "type": "string", "title": "Access Token" }, "refresh_token": { "type": "string", "title": "Refresh Token" }, "token_type": { "type": "string", "title": "Token Type", "default": "bearer" } }, "type": "object", "required": [ "access_token", "refresh_token" ], "title": "OTPVerifyResponse" }, "OperatorAccount": { "properties": { "email": { "anyOf": [ { "type": "string", "format": "email" }, { "type": "null" } ], "title": "Email" }, "password": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Password" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" } }, "type": "object", "title": "OperatorAccount" }, "PasswordLoginRequest": { "properties": { "identifier": { "type": "string", "title": "Identifier" }, "password": { "type": "string", "title": "Password" } }, "additionalProperties": false, "type": "object", "required": [ "identifier", "password" ], "title": "PasswordLoginRequest" }, "PasswordRegisterRequest": { "properties": { "username": { "type": "string", "title": "Username" }, "password": { "type": "string", "title": "Password" }, "name": { "type": "string", "title": "Name", "default": "" }, "email": { "type": "string", "title": "Email", "default": "" } }, "additionalProperties": false, "type": "object", "required": [ "username", "password" ], "title": "PasswordRegisterRequest" }, "PlatformUserResponse": { "properties": { "id": { "type": "string", "title": "Id" }, "email": { "type": "string", "title": "Email" }, "name": { "type": "string", "title": "Name" }, "picture": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Picture" }, "is_platform_admin": { "type": "boolean", "title": "Is Platform Admin" }, "created_time": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Created Time" } }, "type": "object", "required": [ "id", "email", "name", "is_platform_admin" ], "title": "PlatformUserResponse" }, "PlatformUsersListResponse": { "properties": { "users": { "items": { "$ref": "#/components/schemas/PlatformUserResponse" }, "type": "array", "title": "Users" } }, "type": "object", "required": [ "users" ], "title": "PlatformUsersListResponse" }, "RawQueryRequest": { "properties": { "query_text": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Query Text" }, "embedding": { "anyOf": [ { "items": { "type": "number" }, "type": "array" }, { "type": "null" } ], "title": "Embedding" }, "scope": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Scope" }, "candidate_budget": { "type": "integer", "title": "Candidate Budget", "default": 200 }, "include_vectors": { "type": "boolean", "title": "Include Vectors", "default": false } }, "type": "object", "title": "RawQueryRequest" }, "RegisterCompleteRequest": { "properties": { "credential": { "additionalProperties": true, "type": "object", "title": "Credential" }, "device_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Device Name" }, "challenge": { "type": "string", "title": "Challenge" } }, "type": "object", "required": [ "credential", "challenge" ], "title": "RegisterCompleteRequest" }, "RegisterCompleteResponse": { "properties": { "credential_id": { "type": "string", "title": "Credential Id" }, "device_name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Device Name" } }, "type": "object", "required": [ "credential_id" ], "title": "RegisterCompleteResponse" }, "RegisterOptionsResponse": { "properties": { "options": { "additionalProperties": true, "type": "object", "title": "Options" } }, "type": "object", "required": [ "options" ], "title": "RegisterOptionsResponse" }, "RemoveItemRequest": { "properties": { "container_id": { "type": "string", "title": "Container Id" } }, "type": "object", "required": [ "container_id" ], "title": "RemoveItemRequest", "description": "Remove an item (artifact root/current version) from a workspace container." }, "ReorderRequest": { "properties": { "ordered_ids": { "items": { "type": "string" }, "type": "array", "title": "Ordered Ids" }, "order_version": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Order Version" } }, "type": "object", "required": [ "ordered_ids" ], "title": "ReorderRequest", "description": "Reorder artifacts in a workspace." }, "SearchHitResponse": { "properties": { "id": { "type": "string", "title": "Id" }, "score": { "type": "number", "title": "Score" }, "root_id": { "type": "string", "title": "Root Id" }, "version_id": { "type": "string", "title": "Version Id" }, "collection_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Collection Id" }, "title": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Title" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" }, "content": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Content" }, "tags": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Tags" }, "highlights": { "anyOf": [ { "additionalProperties": { "items": { "type": "string" }, "type": "array" }, "type": "object" }, { "type": "null" } ], "title": "Highlights" } }, "type": "object", "required": [ "id", "score", "root_id", "version_id" ], "title": "SearchHitResponse", "description": "Search hit with content fields for downstream consumers." }, "SecretCreateRequest": { "properties": { "type": { "type": "string", "title": "Type", "description": "Secret type: 'llm_key', 'github_token', 'integration_key', etc." }, "provider": { "type": "string", "title": "Provider", "description": "Provider: 'anthropic', 'google', 'github', 'azure', etc." }, "label": { "type": "string", "title": "Label", "description": "User-friendly name for this credential." }, "value": { "type": "string", "title": "Value", "description": "Plaintext secret value (encrypted on server)." }, "is_default": { "type": "boolean", "title": "Is Default", "default": false }, "authorizer_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorizer Id", "description": "Authorizer artifact that owns this secret" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expires At", "description": "ISO-8601 UTC expiry timestamp (for bearer tokens)" } }, "type": "object", "required": [ "type", "provider", "label", "value" ], "title": "SecretCreateRequest", "description": "Request to store a new secret." }, "SecretFetchRequest": { "properties": { "type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Type", "description": "Filter by secret type" }, "provider": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Provider", "description": "Filter by provider" }, "authorizer_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorizer Id", "description": "Filter by authorizer artifact ID" }, "secret_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Secret Id", "description": "Exact secret ID" } }, "type": "object", "title": "SecretFetchRequest", "description": "Filter criteria for fetching a secret via delegation JWT." }, "SecretFetchResponse": { "properties": { "id": { "type": "string", "title": "Id" }, "type": { "type": "string", "title": "Type" }, "jwe": { "additionalProperties": true, "type": "object", "title": "Jwe" } }, "type": "object", "required": [ "id", "type", "jwe" ], "title": "SecretFetchResponse", "description": "Secret wrapped as JWE for the requesting server." }, "SecretResponse": { "properties": { "id": { "type": "string", "title": "Id" }, "type": { "type": "string", "title": "Type" }, "provider": { "type": "string", "title": "Provider" }, "label": { "type": "string", "title": "Label" }, "created_time": { "type": "string", "title": "Created Time" }, "is_default": { "type": "boolean", "title": "Is Default" }, "authorizer_id": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Authorizer Id" }, "encrypted_value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Encrypted Value" }, "expires_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Expires At" } }, "type": "object", "required": [ "id", "type", "provider", "label", "created_time", "is_default" ], "title": "SecretResponse", "description": "A stored secret (encrypted value only populated when include_encrypted=True)." }, "ServerCredentialCreate": { "properties": { "client_id": { "type": "string", "title": "Client Id", "description": "Well-known server identifier (e.g. agience-server-seraph)" }, "name": { "type": "string", "title": "Name", "description": "Human-readable label" }, "server_id": { "type": "string", "title": "Server Id", "description": "Which code (e.g. seraph)" }, "host_id": { "type": "string", "title": "Host Id", "description": "Which compute (e.g. aria.ikailo.com)" }, "scopes": { "items": { "type": "string" }, "type": "array", "title": "Scopes", "default": [ "tool:*:invoke", "resource:*:read" ] }, "resource_filters": { "additionalProperties": true, "type": "object", "title": "Resource Filters", "default": { "workspaces": "*", "collections": "*" } } }, "type": "object", "required": [ "client_id", "name", "server_id", "host_id" ], "title": "ServerCredentialCreate" }, "ServerCredentialCreateResponse": { "properties": { "client_id": { "type": "string", "title": "Client Id" }, "client_secret": { "type": "string", "title": "Client Secret" }, "name": { "type": "string", "title": "Name" }, "server_id": { "type": "string", "title": "Server Id" }, "host_id": { "type": "string", "title": "Host Id" }, "authority": { "type": "string", "title": "Authority" }, "scopes": { "items": { "type": "string" }, "type": "array", "title": "Scopes" }, "resource_filters": { "additionalProperties": true, "type": "object", "title": "Resource Filters" }, "created_time": { "type": "string", "title": "Created Time" } }, "type": "object", "required": [ "client_id", "client_secret", "name", "server_id", "host_id", "authority", "scopes", "resource_filters", "created_time" ], "title": "ServerCredentialCreateResponse" }, "ServerCredentialResponse": { "properties": { "id": { "type": "string", "title": "Id" }, "client_id": { "type": "string", "title": "Client Id" }, "name": { "type": "string", "title": "Name" }, "server_id": { "type": "string", "title": "Server Id" }, "host_id": { "type": "string", "title": "Host Id" }, "authority": { "type": "string", "title": "Authority" }, "scopes": { "items": { "type": "string" }, "type": "array", "title": "Scopes" }, "resource_filters": { "additionalProperties": true, "type": "object", "title": "Resource Filters" }, "is_active": { "type": "boolean", "title": "Is Active" }, "created_time": { "type": "string", "title": "Created Time" }, "last_used_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Used At" }, "last_rotated_at": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Last Rotated At" } }, "type": "object", "required": [ "id", "client_id", "name", "server_id", "host_id", "authority", "scopes", "resource_filters", "is_active", "created_time" ], "title": "ServerCredentialResponse" }, "ServerCredentialRotateResponse": { "properties": { "client_id": { "type": "string", "title": "Client Id" }, "client_secret": { "type": "string", "title": "Client Secret" }, "last_rotated_at": { "type": "string", "title": "Last Rotated At" } }, "type": "object", "required": [ "client_id", "client_secret", "last_rotated_at" ], "title": "ServerCredentialRotateResponse" }, "ServerCredentialUpdate": { "properties": { "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "scopes": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Scopes" }, "resource_filters": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Resource Filters" }, "is_active": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "title": "Is Active" } }, "type": "object", "title": "ServerCredentialUpdate" }, "SetLimitsRequest": { "properties": { "person_id": { "type": "string", "title": "Person Id" }, "max_workspaces": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Workspaces" }, "max_artifacts": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Max Artifacts" }, "vu_limit": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "title": "Vu Limit" }, "features": { "anyOf": [ { "items": { "type": "string" }, "type": "array" }, { "type": "null" } ], "title": "Features" } }, "type": "object", "required": [ "person_id" ], "title": "SetLimitsRequest" }, "SettingInput": { "properties": { "key": { "type": "string", "title": "Key" }, "value": { "type": "string", "title": "Value" }, "category": { "type": "string", "title": "Category" }, "is_secret": { "type": "boolean", "title": "Is Secret", "default": false } }, "type": "object", "required": [ "key", "value", "category" ], "title": "SettingInput" }, "SettingItem": { "properties": { "key": { "type": "string", "title": "Key" }, "value": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Value" }, "is_secret": { "type": "boolean", "title": "Is Secret", "default": false } }, "type": "object", "required": [ "key" ], "title": "SettingItem" }, "SetupCompleteRequest": { "properties": { "operator": { "anyOf": [ { "$ref": "#/components/schemas/OperatorAccount" }, { "type": "null" } ] }, "settings": { "items": { "$ref": "#/components/schemas/SettingInput" }, "type": "array", "title": "Settings", "default": [] } }, "type": "object", "title": "SetupCompleteRequest" }, "SetupCompleteResponse": { "properties": { "access_token": { "type": "string", "title": "Access Token" }, "refresh_token": { "type": "string", "title": "Refresh Token" }, "token_type": { "type": "string", "title": "Token Type", "default": "bearer" } }, "type": "object", "required": [ "access_token", "refresh_token" ], "title": "SetupCompleteResponse" }, "SetupStatusResponse": { "properties": { "needs_setup": { "type": "boolean", "title": "Needs Setup" }, "ready": { "type": "boolean", "title": "Ready" }, "version": { "type": "string", "title": "Version" }, "env_defaults": { "additionalProperties": { "anyOf": [ { "type": "boolean" }, { "type": "string" } ] }, "type": "object", "title": "Env Defaults", "default": {} } }, "type": "object", "required": [ "needs_setup", "ready", "version" ], "title": "SetupStatusResponse" }, "UpdateArtifactRequest": { "properties": { "context": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Context" }, "content": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Content" }, "state": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "State" }, "content_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Content Type" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Name" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Description" } }, "type": "object", "title": "UpdateArtifactRequest", "description": "Partial update to an artifact or container." }, "UpdateSettingsRequest": { "properties": { "settings": { "items": { "$ref": "#/components/schemas/SettingItem" }, "type": "array", "title": "Settings" } }, "type": "object", "required": [ "settings" ], "title": "UpdateSettingsRequest" }, "UpdateSettingsResponse": { "properties": { "updated": { "type": "integer", "title": "Updated" }, "restart_required": { "type": "boolean", "title": "Restart Required", "default": false } }, "type": "object", "required": [ "updated" ], "title": "UpdateSettingsResponse" }, "UploadInitiateRequest": { "properties": { "filename": { "type": "string", "title": "Filename" }, "content_type": { "type": "string", "title": "Content Type" }, "size": { "type": "integer", "title": "Size" }, "order_key": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Order Key" }, "context": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Context" } }, "type": "object", "required": [ "filename", "content_type", "size" ], "title": "UploadInitiateRequest", "description": "Initiate an S3 upload for an artifact." }, "UploadStatusRequest": { "properties": { "status": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Status" }, "progress": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "title": "Progress" }, "parts": { "anyOf": [ { "items": { "additionalProperties": true, "type": "object" }, "type": "array" }, { "type": "null" } ], "title": "Parts" }, "context_patch": { "anyOf": [ { "additionalProperties": true, "type": "object" }, { "type": "null" } ], "title": "Context Patch" } }, "type": "object", "title": "UploadStatusRequest", "description": "Update upload progress/completion." }, "ValidateConnectionRequest": { "properties": { "service": { "type": "string", "title": "Service" }, "config": { "additionalProperties": true, "type": "object", "title": "Config" } }, "type": "object", "required": [ "service", "config" ], "title": "ValidateConnectionRequest" }, "ValidateConnectionResponse": { "properties": { "success": { "type": "boolean", "title": "Success" }, "error": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "title": "Error" } }, "type": "object", "required": [ "success" ], "title": "ValidateConnectionResponse" }, "ValidateTokenRequest": { "properties": { "token": { "type": "string", "title": "Token" } }, "type": "object", "required": [ "token" ], "title": "ValidateTokenRequest" }, "ValidateTokenResponse": { "properties": { "valid": { "type": "boolean", "title": "Valid" } }, "type": "object", "required": [ "valid" ], "title": "ValidateTokenResponse" }, "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" }, "_RegisterJwkRequest": { "properties": { "public_jwk": { "additionalProperties": true, "type": "object", "title": "Public Jwk" } }, "type": "object", "required": [ "public_jwk" ], "title": "_RegisterJwkRequest" } }, "securitySchemes": { "OAuth2AuthorizationCodeBearer": { "type": "oauth2", "flows": { "authorizationCode": { "scopes": {}, "authorizationUrl": "/auth/authorize", "tokenUrl": "/auth/token" } } }, "HTTPBearer": { "type": "http", "scheme": "bearer" } } }, "x-tagGroups": [ { "name": "Origin (identity / OIDC / grants)", "tags": [ "Authentication", "Personal API Keys", "OAuth Clients", "Grants", "Setup", "Platform" ] }, { "name": "Mantle (artifacts / search / stream)", "tags": [ "Server Credentials", "Secrets", "Downloads", "Events", "Types", "Artifacts", "Gate (internal)", "Beacon (premium)", "Search", "Stream" ] } ] }