{"schema":"financegpt.openapi-index.v1","title":"FinanceGPT Enterprise API","api_version":"2.0.0","source":"docs\/openapi\/financegpt-v2.yaml","source_sha256":"228f3cf999f801d03634f0dad1fc6d296671bc13a8cf0d80994b00a57b62f910","base_path":"\/api\/v2","operation_count":349,"path_count":329,"scope_count":66,"groups":[{"name":"AI Runtime & Governance","operation_count":18},{"name":"Agents & MCP","operation_count":22},{"name":"Core Platform","operation_count":89},{"name":"Developer & Commercial","operation_count":29},{"name":"Financial Actions","operation_count":53},{"name":"Financial Data & Planning","operation_count":24},{"name":"Knowledge Intelligence","operation_count":5},{"name":"LQM Builder","operation_count":37},{"name":"Quant & Models","operation_count":26},{"name":"Workflows","operation_count":46}],"scopes":["actions:autonomous","actions:create","actions:execute","actions:read","agent:execution:execute","agent:execution:invoke","agent:execution:propose","agent:execution:read","agent:execution:submit","agent:execution:webhooks","agents:mcp:read","agents:spaces:read","agents:spaces:run","ai:connections:read","ai:credits:read","ai:governance:read","ai:governance:write","ai:models:read","ai:routing:read","benchmark:read","client:intelligence:read","client:intelligence:run","client:intelligence:write","commercial:read","commercial:write","data:economics:read","data:fundamentals:read","data:market:read","data:reference:read","data:tables:read","data:tables:run","financial:analysis:read","financial:analysis:run","financial:read","generative:inference","generative:models:read","infrastructure:lineage","infrastructure:read","integrations:read","intelligence:read","investment:execute","investment:read","investment:run","lqm:build:read","lqm:build:run","lqm:build:write","lqm:promote:write","lqm:publish:write","marketplace:invoke","marketplace:read","ml:inference","ml:read","planning:forecast:create","planning:read","quant:compute:read","quant:compute:run","quant:features:read","quant:models:read","quant:models:run","quant:research:read","quant:research:run","trust:read","trust:write","workflow:manage","workflow:read","workspace:read"],"operations":[{"key":"post-agent-execution-a2a","method":"POST","path":"\/agent-execution\/a2a","summary":"Invoke the signed FinanceGPT agent-to-agent execution gateway","description":"Dispatches only operations separately allowed by the active signed-client grant; external-agent identity never substitutes for Financial Actions or Machine Authority.","scope":"agent:execution:invoke","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Governed agent-to-agent operation result"},{"status":"422","description":"Operation outside grant or control boundary"}]},{"key":"get-agent-execution-actions-uid","method":"GET","path":"\/agent-execution\/actions\/{uid}","summary":"Read governed Financial Action status","description":"Returns the Financial Action control state and reconciliation status without transaction credentials.","scope":"agent:execution:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Financial Action status"}]},{"key":"get-agent-execution-actions-uid-assurance","method":"GET","path":"\/agent-execution\/actions\/{uid}\/assurance","summary":"Read Financial Actions assurance evidence","description":"Returns aggregate workspace assurance and the action envelope hash without customer transaction payloads or credentials.","scope":"agent:execution:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Financial Actions assurance evidence"}]},{"key":"post-agent-execution-actions-uid-execute","method":"POST","path":"\/agent-execution\/actions\/{uid}\/execute","summary":"Request execution of an already-authorized Financial Action","description":"Dispatches only through the existing Financial Actions execution boundary. Machine-delegated execution requires fresh signed Machine Authority evidence and autonomous live remains subject to Restricted Autonomous Operations.","scope":"agent:execution:execute","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Execution request accepted; reconciliation remains the completion boundary"},{"status":"422","description":"Execution not authorized or control gate failed"}]},{"key":"get-agent-execution-actions-uid-reconciliation","method":"GET","path":"\/agent-execution\/actions\/{uid}\/reconciliation","summary":"Read Financial Action reconciliation evidence","description":"Returns settlement\/reconciliation state. Execution acknowledgement alone is not represented as completion.","scope":"agent:execution:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Reconciliation evidence"}]},{"key":"post-agent-execution-actions-uid-submit","method":"POST","path":"\/agent-execution\/actions\/{uid}\/submit","summary":"Submit an external-agent Financial Action for approval","description":"Enters the normal Financial Actions approval lifecycle; the external client receives no approval authority from this endpoint.","scope":"agent:execution:submit","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Financial Action submitted for governed approval"},{"status":"422","description":"Submission rejected by Financial Actions controls"}]},{"key":"get-agent-execution-capabilities","method":"GET","path":"\/agent-execution\/capabilities","summary":"Read signed external-agent execution capabilities","description":"Returns the operations and financial-action scopes available to the authenticated signed execution client. External client identity authenticates the caller but does not grant transaction authority.","scope":"agent:execution:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Agent execution capabilities"}]},{"key":"post-agent-execution-mcp","method":"POST","path":"\/agent-execution\/mcp","summary":"Invoke the signed FinanceGPT Financial Actions MCP execution gateway","description":"Provides signed-client MCP access to governed Financial Action propose\/status\/submit\/execute\/reconciliation\/assurance operations. Existing general MCP remains compatible; this endpoint adds external execution-client grants and Ed25519 request signatures.","scope":"agent:execution:invoke","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Governed MCP Financial Actions result"},{"status":"422","description":"Tool outside grant or Financial Actions control boundary"}]},{"key":"post-agent-execution-proposals","method":"POST","path":"\/agent-execution\/proposals","summary":"Propose a governed Financial Action from an external agent","description":"Creates a governed Financial Action proposal. Machine-authorized proposals require separately valid Machine Authority evidence; ordinary external-agent proposals remain subject to human authority and approval.","scope":"agent:execution:propose","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Financial Action proposal recorded"},{"status":"422","description":"Proposal rejected by scope or Financial Actions controls"}]},{"key":"get-agent-execution-requests-uid","method":"GET","path":"\/agent-execution\/requests\/{uid}","summary":"Read agent-execution request evidence","description":null,"scope":"agent:execution:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Agent-execution request evidence"}]},{"key":"get-agent-execution-service-level","method":"GET","path":"\/agent-execution\/service-level","summary":"Read active agent-execution service level","description":"Returns rate and monthly request limits for the authenticated signed execution client.","scope":"agent:execution:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Service level and limits"}]},{"key":"get-agent-execution-usage","method":"GET","path":"\/agent-execution\/usage","summary":"Read external-agent execution usage evidence","description":"Returns request and operation evidence. API\/MCP commercial billing remains authoritative in the existing usage revenue engine rather than this request log.","scope":"agent:execution:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Agent-execution usage evidence"}]},{"key":"get-agent-execution-webhooks","method":"GET","path":"\/agent-execution\/webhooks","summary":"List signed Financial Action and workflow lifecycle webhooks","description":null,"scope":"agent:execution:webhooks","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Webhook registrations"}]},{"key":"post-agent-execution-webhooks","method":"POST","path":"\/agent-execution\/webhooks","summary":"Register a signed HTTPS Financial Action or workflow lifecycle webhook","description":"Webhook secrets are returned once and stored encrypted; production endpoints require separate approval and are SSRF screened. Supported events include governed Financial Action lifecycle events plus workflow.invoked, workflow.awaiting_review, workflow.completed, workflow.cancelled and workflow.failed.","scope":"agent:execution:webhooks","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Webhook registered"},{"status":"422","description":"Invalid or unsafe endpoint"}]},{"key":"delete-agent-execution-webhooks-uid","method":"DELETE","path":"\/agent-execution\/webhooks\/{uid}","summary":"Revoke an agent-execution lifecycle webhook","description":null,"scope":"agent:execution:webhooks","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Webhook revoked"}]},{"key":"get-agents-executions-uid","method":"GET","path":"\/agents\/executions\/{uid}","summary":"Read one queued Agent Space execution","description":null,"scope":"agents:spaces:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Queued"},{"status":"404","description":"Queued execution not found in this workspace"}]},{"key":"get-agents-invocations","method":"GET","path":"\/agents\/invocations","summary":"List hash-only MCP invocation audit metadata for this agent credential","description":null,"scope":"agents:mcp:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":25}],"request_body":null,"responses":[{"status":"200","description":"Agent invocation audit rows"}]},{"key":"get-agents-runs-runuid","method":"GET","path":"\/agents\/runs\/{runUid}","summary":"Read one governed FinanceGPT Agent Space run","description":null,"scope":"agents:spaces:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"runUid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Agent Space run output"},{"status":"404","description":"Agent Space run not found in this workspace"}]},{"key":"get-agents-spaces","method":"GET","path":"\/agents\/spaces","summary":"List production FinanceGPT Agent Spaces for the active workspace","description":null,"scope":"agents:spaces:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Production Agent Spaces with promoted version"}]},{"key":"get-agents-spaces-uid","method":"GET","path":"\/agents\/spaces\/{uid}","summary":"Read one production FinanceGPT Agent Space and its governed bindings","description":null,"scope":"agents:spaces:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Agent Space metadata and secret-free Knowledge"},{"status":"404","description":"Agent Space not found in this workspace"}]},{"key":"post-agents-spaces-uid-runs","method":"POST","path":"\/agents\/spaces\/{uid}\/runs","summary":"Run a promoted FinanceGPT Agent Space","description":null,"scope":"agents:spaces:run","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"},{"in":"header","name":"Idempotency-Key","required":false,"type":"string","description":"Optional idempotency key for queued Agent Space execution","example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"prompt":"string","execution_mode":"auto","model_selection":"auto_native"}},"responses":[{"status":"201","description":"Synchronous governed Agent Space run"},{"status":"202","description":"Agent Space execution accepted by the asynchronous worker fabric"},{"status":"503","description":"Asynchronous execution was required but no asynchronous queue driver is available"},{"status":"429","description":"Runtime or Agent queue capacity is temporarily exhausted; retry after the Retry-After interval"},{"status":"409","description":"Agent Space cannot run under the active version"}]},{"key":"get-agents-tools","method":"GET","path":"\/agents\/tools","summary":"List FinanceGPT MCP tools and credential grant state","description":null,"scope":"agents:mcp:read","group":"Agents & MCP","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Agent tool catalogue"}]},{"key":"get-ai-credits-balance","method":"GET","path":"\/ai-credits\/balance","summary":"Read the active workspace FinanceGPT AI Credit balance and subscription allocation","description":null,"scope":"ai:credits:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"FinanceGPT AI Credit wallet balance"}]},{"key":"get-ai-credits-controls","method":"GET","path":"\/ai-credits\/controls","summary":"Read workspace and caller FinanceGPT AI Credit spending controls","description":null,"scope":"ai:credits:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Managed AI enablement"}]},{"key":"post-ai-credits-estimate","method":"POST","path":"\/ai-credits\/estimate","summary":"Estimate the FinanceGPT AI Credit reservation for a Managed AI request without executing it","description":null,"scope":"ai:credits:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"financegpt_model":"financegpt-intelligence","messages":[{"role":"string"}],"max_tokens":1}},"responses":[{"status":"200","description":"Estimated and reserved credit amounts plus current wallet capacity"},{"status":"422","description":"Invalid model"}]},{"key":"get-ai-credits-packs","method":"GET","path":"\/ai-credits\/packs","summary":"List active FinanceGPT AI Credit packs available to the active workspace","description":null,"scope":"ai:credits:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Active administrator-configured FinanceGPT AI Credit packs and prepaid-service disclosure"}]},{"key":"get-ai-credits-purchases","method":"GET","path":"\/ai-credits\/purchases","summary":"Read verified FinanceGPT AI Credit purchase history for the active workspace","description":null,"scope":"ai:credits:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":50}],"request_body":null,"responses":[{"status":"200","description":"Workspace AI Credit purchase history without payment-method secrets"}]},{"key":"get-ai-credits-rates","method":"GET","path":"\/ai-credits\/rates","summary":"Read active FinanceGPT Managed AI Credit rate cards","description":null,"scope":"ai:credits:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Active FinanceGPT model credit-consumption rate cards and runtime enforcement mode"}]},{"key":"get-ai-credits-transactions","method":"GET","path":"\/ai-credits\/transactions","summary":"Read the active workspace immutable FinanceGPT AI Credit ledger","description":null,"scope":"ai:credits:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":50}],"request_body":null,"responses":[{"status":"200","description":"FinanceGPT AI Credit transaction history"}]},{"key":"get-ai-credits-usage","method":"GET","path":"\/ai-credits\/usage","summary":"Read FinanceGPT Managed AI usage, forecast and utilization for the active workspace","description":null,"scope":"ai:credits:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"period","required":false,"type":"string","description":null,"example":"month"}],"request_body":null,"responses":[{"status":"200","description":"Workspace usage totals"}]},{"key":"get-ai-byok-connections","method":"GET","path":"\/ai\/byok\/connections","summary":"Read customer-managed AI provider connection status for the active workspace","description":null,"scope":"ai:connections:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace BYOK connection inventory"}]},{"key":"get-ai-byok-usage","method":"GET","path":"\/ai\/byok\/usage","summary":"Read customer-managed AI provider usage for the active workspace","description":null,"scope":"ai:connections:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"days","required":false,"type":"integer","description":null,"example":30}],"request_body":null,"responses":[{"status":"200","description":"BYOK request"}]},{"key":"get-ai-evaluations","method":"GET","path":"\/ai\/evaluations","summary":"Read recent governed AI ground-truth evaluation runs","description":null,"scope":"ai:governance:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Evaluation run scores"}]},{"key":"post-ai-feedback","method":"POST","path":"\/ai\/feedback","summary":"Submit a quality signal for an existing FinanceGPT generated output","description":null,"scope":"ai:governance:write","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"source_type":"copilot_message","source_uid":"string","sentiment":"up","reason_code":"string","comment":"string"}},"responses":[{"status":"201","description":"Feedback recorded"}]},{"key":"get-ai-governance","method":"GET","path":"\/ai\/governance","summary":"Read AI quality and governance posture for the active workspace","description":null,"scope":"ai:governance:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Aggregate feedback"}]},{"key":"get-ai-model-selections","method":"GET","path":"\/ai\/model-selections","summary":"Read Universal Model Switching choices for the active workspace","description":"Returns Auto \u2014 FinanceGPT Native, eligible local language, permitted FinanceGPT managed models, administrator-enabled premium routes and valid workspace BYOK choices. Model selection affects eligible language generation only and never transfers deterministic calculation, policy, approval or Financial Actions authority to a language model.","scope":"ai:models:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"feature","required":false,"type":"string","description":null,"example":"api"}],"request_body":null,"responses":[{"status":"200","description":"Policy-filtered model-selection catalogue"}]},{"key":"get-ai-models","method":"GET","path":"\/ai\/models","summary":"Read the FinanceGPT Managed AI model catalogue","description":null,"scope":"ai:models:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"FinanceGPT customer-facing managed model catalogue and availability"}]},{"key":"get-ai-routing","method":"GET","path":"\/ai\/routing","summary":"Read the active workspace Hybrid AI routing policy and explicit rules","description":null,"scope":"ai:routing:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Managed AI\/BYOK routing defaults"}]},{"key":"post-ai-routing-resolve","method":"POST","path":"\/ai\/routing\/resolve","summary":"Simulate a Hybrid AI routing decision without executing model inference","description":null,"scope":"ai:routing:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"purpose":"chat","capability":"chat","data_classification":"public","environment":"production","financegpt_model":"financegpt-intelligence"}},"responses":[{"status":"200","description":"Dry-run routing result including runtime source"},{"status":"409","description":"No permitted runtime satisfies the active enterprise routing policy"}]},{"key":"get-ai-runtime","method":"GET","path":"\/ai\/runtime","summary":"Read the active workspace Managed AI runtime posture","description":null,"scope":"ai:models:read","group":"AI Runtime & Governance","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Managed AI status"}]},{"key":"get-benchmarking-comparisons","method":"GET","path":"\/benchmarking\/comparisons","summary":"List published privacy-safe benchmark comparisons","description":null,"scope":"benchmark:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"period_key","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"metric_key","required":false,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Published comparisons only"}]},{"key":"get-client-intelligence-calls","method":"GET","path":"\/client-intelligence\/calls","summary":"Read governed Client Intelligence conversation records","description":null,"scope":"client:intelligence:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace calls and meetings with consent"}]},{"key":"get-client-intelligence-calls-uid","method":"GET","path":"\/client-intelligence\/calls\/{uid}","summary":"Read one Client Intelligence conversation with transcript and review evidence","description":null,"scope":"client:intelligence:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Conversation"}]},{"key":"post-client-intelligence-calls-uid-analyse","method":"POST","path":"\/client-intelligence\/calls\/{uid}\/analyse","summary":"Run governed FinanceGPT post-call analysis through Hybrid AI routing","description":"Managed AI consumes FinanceGPT AI Credits under the active metering policy; BYOK remains customer-provider-direct. Generated compliance flags are human-review aids and are not legal determinations.","scope":"client:intelligence:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"model_selection":"auto_native","financegpt_model":"financegpt-intelligence"}},"responses":[{"status":"201","description":"Evidence-backed summary"},{"status":"409","description":"Hybrid AI route"}]},{"key":"post-client-intelligence-calls-uid-transcript","method":"POST","path":"\/client-intelligence\/calls\/{uid}\/transcript","summary":"Add a governed transcript version to a Client Intelligence conversation","description":null,"scope":"client:intelligence:write","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"transcript":"string","source":"manual","language":"en"}},"responses":[{"status":"201","description":"Versioned transcript stored with SHA-256 lineage and parsed evidence segments"}]},{"key":"get-infrastructure-data-entitlements","method":"GET","path":"\/infrastructure\/data-entitlements","summary":"Read workspace contractual data-entitlement overlays","description":null,"scope":"infrastructure:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Dataset use"}]},{"key":"post-infrastructure-lineage-exports","method":"POST","path":"\/infrastructure\/lineage-exports","summary":"Create a sealed FinanceGPT lineage manifest","description":null,"scope":"infrastructure:lineage","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"scope_type":"workspace","scope_id":"string"}},"responses":[{"status":"201","description":"SHA-256 sealed lineage export created"},{"status":"422","description":"Unsupported scope or unknown governed record"}]},{"key":"get-infrastructure-lineage-exports-uid","method":"GET","path":"\/infrastructure\/lineage-exports\/{uid}","summary":"Retrieve a sealed lineage manifest","description":null,"scope":"infrastructure:lineage","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Lineage manifest without secrets or raw ML training data"}]},{"key":"get-infrastructure-posture","method":"GET","path":"\/infrastructure\/posture","summary":"Read workspace institutional compute and licensing posture","description":null,"scope":"infrastructure:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Service class"}]},{"key":"get-infrastructure-regions","method":"GET","path":"\/infrastructure\/regions","summary":"List configured compute regions and explicit deployment state","description":null,"scope":"infrastructure:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Provisioned and planned region metadata"}]},{"key":"get-infrastructure-service-classes","method":"GET","path":"\/infrastructure\/service-classes","summary":"List FinanceGPT compute service classes","description":null,"scope":"infrastructure:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Compute service classes and service-target metadata"}]},{"key":"get-infrastructure-usage","method":"GET","path":"\/infrastructure\/usage","summary":"Read 30-day institutional compute telemetry","description":null,"scope":"infrastructure:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Queue"}]},{"key":"get-integrations","method":"GET","path":"\/integrations","summary":"Read workspace Integration Hub connections and secret-free tool definitions","description":null,"scope":"integrations:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace integration catalogue"}]},{"key":"get-intelligence-summary","method":"GET","path":"\/intelligence\/summary","summary":"Retrieve an embedded cross-domain FinanceGPT intelligence summary","description":null,"scope":"intelligence:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace intelligence summary"}]},{"key":"get-investment-book","method":"GET","path":"\/investment\/book","summary":"Read the workspace investment book control surface","description":"Returns portfolio-scoped book positions, cash projections, settlement obligations, corporate-action cases, NAV snapshots and existing reconciliation breaks. Financial Actions remains the sole execution authority.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"portfolio_id","required":false,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Investment book and front-to-back operating evidence"}]},{"key":"get-investment-collateral-xva","method":"GET","path":"\/investment\/collateral-xva","summary":"Read collateral, margin, treasury and XVA operating evidence","description":"Returns workspace-scoped netting sets, explicit collateral-eligibility policy, margin calls, non-executable allocation proposals, observed collateral inventory, treasury capacity and recent counterparty\/XVA evidence. No collateral or cash transfer is initiated.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"portfolio_id","required":false,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"IM11 operating evidence"}]},{"key":"post-investment-collateral-xva-exposures-exposure-xva","method":"POST","path":"\/investment\/collateral-xva\/exposures\/{exposure}\/xva","summary":"Calculate deterministic CVA\/DVA\/FVA\/MVA foundations","description":"Applies explicit horizon PD\/LGD, funding-spread, discount-rate and initial-margin inputs to a sealed IM11 exposure snapshot. This is a bounded deterministic XVA foundation, not full trade revaluation or regulatory capital.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"exposure","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"201","description":"SHA-256-sealed XVA foundation snapshot"}]},{"key":"post-investment-collateral-xva-netting-sets","method":"POST","path":"\/investment\/collateral-xva\/netting-sets","summary":"Record an evidence-backed netting set","description":"Records explicit bilateral or other agreement terms used by IM11 analytics. FinanceGPT does not infer legal enforceability or agreement thresholds.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"name":"string","counterparty_id":1,"agreement_type":"bilateral","currency":"string","threshold_minor":0,"minimum_transfer_minor":0,"independent_amount_minor":0,"amount_scale":2,"source_reference":"string","source_hash":"string"}},"responses":[{"status":"201","description":"Netting-set evidence recorded"}]},{"key":"post-investment-collateral-xva-netting-sets-nettingset-exposure","method":"POST","path":"\/investment\/collateral-xva\/netting-sets\/{nettingSet}\/exposure","summary":"Seal explicit counterparty\/netting-set exposure evidence","description":"Nets explicit source-referenced mark-to-market and add-on inputs under the selected netting set and explicit collateral balances. It is not an SA-CCR or legal enforceability determination.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"nettingSet","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"201","description":"Counterparty exposure foundation sealed"}]},{"key":"post-investment-collateral-xva-netting-sets-nettingset-margin-calls","method":"POST","path":"\/investment\/collateral-xva\/netting-sets\/{nettingSet}\/margin-calls","summary":"Record a margin-call evidence item","description":"Records source-referenced margin-call evidence and status. It does not send a margin call, transfer collateral or move cash.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"nettingSet","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"201","description":"Margin-call evidence recorded"}]},{"key":"post-investment-collateral-xva-rules","method":"POST","path":"\/investment\/collateral-xva\/rules","summary":"Record a collateral eligibility and haircut rule","description":"Records explicit cash\/security eligibility, haircut and HQLA classification evidence. Unmatched collateral remains ineligible and unclassified by default.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Collateral rule recorded"}]},{"key":"get-investment-companies-symbol","method":"GET","path":"\/investment\/companies\/{symbol}","summary":"Read governed Company 360 investment evidence","description":null,"scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"symbol","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Company profile and evidence available to the workspace"}]},{"key":"get-investment-construction-runs","method":"GET","path":"\/investment\/construction\/runs","summary":"Read governed Portfolio Construction 2.0 runs","description":"Returns workspace-scoped construction evidence including selected method, CVaR\/turnover metrics and SHA-256 evidence hashes. No run authorises execution.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"portfolio_id","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":30}],"request_body":null,"responses":[{"status":"200","description":"Construction run summaries"}]},{"key":"get-investment-construction-runs-uid","method":"GET","path":"\/investment\/construction\/runs\/{uid}","summary":"Read one Portfolio Construction 2.0 evidence record","description":"Returns the sealed request, observed market inputs, candidates, constraint evidence, selected candidate and research-only synthetic-options comparison where present.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Construction evidence record"},{"status":"404","description":"Construction run not found in the active workspace"}]},{"key":"get-investment-derivatives-futures","method":"GET","path":"\/investment\/derivatives\/futures","summary":"Analyze an observed futures contract curve","description":"Reads the quota-governed Axesso futures chain through the FinanceGPT Market Data Gateway and derives front-contract spreads plus descriptive contango\/backwardation diagnostics.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"symbol","required":true,"type":"string","description":null,"example":"string"},{"in":"query","name":"region","required":false,"type":"string","description":null,"example":"US"}],"request_body":null,"responses":[{"status":"200","description":"Observed futures curve with provider\/freshness evidence"},{"status":"503","description":"Axesso unavailable"}]},{"key":"get-investment-derivatives-options","method":"GET","path":"\/investment\/derivatives\/options","summary":"Analyze an observed option chain with IV, Greeks, smile and term-structure evidence","description":"Uses the FinanceGPT Market Data Gateway. Yahoo Free is preferred and quota-governed Axesso may be used only when the free chain is unavailable and paid fallback is permitted. Returned contracts are observed\/provider-backed; no synthetic option chain is substituted.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"symbol","required":true,"type":"string","description":null,"example":"string"},{"in":"query","name":"region","required":false,"type":"string","description":null,"example":"US"},{"in":"query","name":"expiration","required":false,"type":"string","description":null,"example":"2026-08-16"},{"in":"query","name":"risk_free_rate_pct","required":false,"type":"number","description":null,"example":0},{"in":"query","name":"dividend_yield_pct","required":false,"type":"number","description":null,"example":0},{"in":"query","name":"paid_fallback","required":false,"type":"boolean","description":null,"example":true}],"request_body":null,"responses":[{"status":"200","description":"Observed option-chain analysis with source\/freshness hashes and deterministic quantitative analytics"},{"status":"422","description":"Invalid symbol or analysis parameters"},{"status":"503","description":"Observed market data unavailable under configured provider\/freshness policy"}]},{"key":"get-investment-derivatives-snapshots","method":"GET","path":"\/investment\/derivatives\/snapshots","summary":"Read sealed observed-derivatives evidence snapshots","description":null,"scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"symbol","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"instrument_type","required":false,"type":"string","description":null,"example":"options"},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":20}],"request_body":null,"responses":[{"status":"200","description":"Workspace-scoped derived derivatives summaries\/surfaces and cryptographic evidence hashes"}]},{"key":"post-investment-derivatives-strategy","method":"POST","path":"\/investment\/derivatives\/strategy","summary":"Calculate a deterministic multi-leg option expiry payoff grid","description":null,"scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"spot":1.0000000000000000209225608301284726753266340892878361046314239501953125e-8,"legs":[{"option_type":"call","side":"long","strike":1.0000000000000000209225608301284726753266340892878361046314239501953125e-8,"premium":0,"contracts":1,"multiplier":100}]}},"responses":[{"status":"200","description":"Deterministic expiry payoff grid and approximate break-even crossings; no order created"}]},{"key":"post-investment-derivatives-synthetic-options","method":"POST","path":"\/investment\/derivatives\/synthetic-options","summary":"Generate a sealed FINANCEGPT SYNTHETIC option chain from a promoted LQM","description":"Uses a human-promoted derivatives-surface LQM plus a typed numeric conditioning envelope to generate a synthetic implied-volatility surface. FinanceGPT applies deterministic static no-arbitrage validation and repair before deriving option prices and Greeks. Outputs are explicitly synthetic, non-observed and never execution eligible or a substitute for observed market data.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"symbol":"string","promotion_uid":"string","spot":1.0000000000000000209225608301284726753266340892878361046314239501953125e-8,"risk_free_rate_pct":0,"dividend_yield_pct":0,"realized_vol_pct":0.1000000000000000055511151231257827021181583404541015625,"garch_vol_pct":0.1000000000000000055511151231257827021181583404541015625,"regime_code":0,"sector_factor":0,"theme_factor":0,"moneyness_min":0.75,"moneyness_max":1.25}},"responses":[{"status":"201","description":"Sealed synthetic option-chain run with LQM Evidence Packet"},{"status":"422","description":"Invalid conditioning input or no eligible promoted derivatives-surface LQM"},{"status":"503","description":"Required governed market data or LQM runtime unavailable"}]},{"key":"get-investment-derivatives-synthetic-options-runs","method":"GET","path":"\/investment\/derivatives\/synthetic-options\/runs","summary":"Read sealed FINANCEGPT SYNTHETIC option-chain runs","description":"Returns workspace-scoped synthetic runs and cryptographic evidence. Synthetic outputs remain non-executable.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"symbol","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":20}],"request_body":null,"responses":[{"status":"200","description":"Workspace-scoped sealed synthetic option-chain evidence"}]},{"key":"get-investment-execution-batches","method":"GET","path":"\/investment\/execution\/batches","summary":"List governed investment execution batches","description":null,"scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace execution batches and reconciliation state"}]},{"key":"post-investment-execution-batches","method":"POST","path":"\/investment\/execution\/batches","summary":"Create an execution batch from an approved rebalance proposal","description":null,"scope":"investment:execute","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"rebalance_proposal_id":1,"connector_id":1,"autonomy_mandate_uid":"00000000-0000-4000-8000-000000000001"}},"responses":[{"status":"201","description":"Execution batch created; approval or mandate boundaries still apply"}]},{"key":"post-investment-execution-batches-uid-execute","method":"POST","path":"\/investment\/execution\/batches\/{uid}\/execute","summary":"Execute an approved governed investment order batch","description":null,"scope":"investment:execute","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Provider submission result or sandbox simulation"},{"status":"422","description":"Rejected or uncertain execution outcome"}]},{"key":"post-investment-execution-batches-uid-reconcile","method":"POST","path":"\/investment\/execution\/batches\/{uid}\/reconcile","summary":"Reconcile an investment execution batch with broker\/custodian evidence","description":null,"scope":"investment:execute","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Reconciled execution state"}]},{"key":"post-investment-execution-batches-uid-submit","method":"POST","path":"\/investment\/execution\/batches\/{uid}\/submit","summary":"Submit an investment order batch for approval","description":null,"scope":"investment:execute","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Batch submitted for approval"}]},{"key":"get-investment-generative-markets-runs","method":"GET","path":"\/investment\/generative-markets\/runs","summary":"Read evidence-sealed generative market scenario runs","description":"Returns workspace-scoped synthetic counterfactual runs and SHA-256 evidence. Outputs remain non-executable.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"portfolio_id","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":20}],"request_body":null,"responses":[{"status":"200","description":"Workspace-scoped generative market scenario evidence"}]},{"key":"get-investment-governed-ai-operations","method":"GET","path":"\/investment\/governed-ai-operations","summary":"List governed AI investment operations","description":"Returns workspace-scoped evidence-governed investment operations. The surface composes existing thematic, LQM\/generative, risk, collateral\/XVA and downstream Financial Action evidence without creating execution authority.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"portfolio_id","required":false,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Governed AI investment operation register"}]},{"key":"post-investment-governed-ai-operations","method":"POST","path":"\/investment\/governed-ai-operations","summary":"Create a shadow or governed-review investment operation","description":"Creates an evidence workflow only. Shadow mode can never hand off an action. Governed review still requires sealed evidence, an approved model portfolio and the existing human approval and execution control planes.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"portfolio_id":"string","mode":"shadow","title":"string","investment_thesis":"string","thematic_universe_id":1,"model_portfolio_id":1,"synthetic_option_run_id":1,"xva_snapshot_id":1,"require_thematic":true,"require_theme_watch":true,"require_lqm":false,"require_generative_markets":true}},"responses":[{"status":"201","description":"Governed AI investment operation created"},{"status":"422","description":"Evidence references or operation configuration rejected"}]},{"key":"get-investment-governed-ai-operations-uid","method":"GET","path":"\/investment\/governed-ai-operations\/{uid}","summary":"Read a governed AI investment operation and evidence graph","description":"Returns the sealed\/live upstream evidence graph, readiness gates, append-only operation events and downstream approval\/execution linkage.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Governed AI investment operation detail"}]},{"key":"post-investment-governed-ai-operations-uid-rebalance","method":"POST","path":"\/investment\/governed-ai-operations\/{uid}\/rebalance","summary":"Create a governed rebalance proposal from sealed evidence","description":"Available only to governed-review operations with a human-approved model portfolio. Reuses the existing rebalance engine, observed market data and pre-trade controls. It does not create an order batch or Financial Action.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"201","description":"Non-executable rebalance proposal created"},{"status":"422","description":"Operation"}]},{"key":"post-investment-governed-ai-operations-uid-refresh","method":"POST","path":"\/investment\/governed-ai-operations\/{uid}\/refresh","summary":"Synchronize governed investment evidence and downstream state","description":"Before sealing, refreshes the latest eligible upstream evidence. After sealing, upstream evidence remains pinned and only downstream proposal, order-batch, Financial Action and reconciliation state is synchronized.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Operation synchronized"}]},{"key":"post-investment-governed-ai-operations-uid-seal","method":"POST","path":"\/investment\/governed-ai-operations\/{uid}\/seal","summary":"Seal the governed upstream investment evidence packet","description":"Requires every configured evidence gate to pass. The SHA-256 evidence packet is immutable for action handoff. Sealing does not approve or execute anything.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"201","description":"Evidence packet sealed"},{"status":"422","description":"Required evidence is missing or stale"}]},{"key":"post-investment-governed-ai-operations-uid-submit","method":"POST","path":"\/investment\/governed-ai-operations\/{uid}\/submit","summary":"Request human approval for the governed rebalance proposal","description":"Submits the existing rebalance proposal to FinanceGPT's human approval workflow. It cannot approve itself, create an order batch, submit broker orders or execute a Financial Action.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"201","description":"Human approval requested"},{"status":"422","description":"Proposal cannot be submitted"}]},{"key":"get-investment-ontology","method":"GET","path":"\/investment\/ontology","summary":"Read the published FinanceGPT Dynamic Industry Ontology","description":"Returns the workspace-scoped published five-tier controlled taxonomy, taxonomy-version evidence, exposure semantics and human-gated taxonomy-evolution state. IM5 is native-first and does not require an LLM. Taxonomy publication is never automatic.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Published taxonomy state"}]},{"key":"get-investment-ontology-companies-symbol","method":"GET","path":"\/investment\/ontology\/companies\/{symbol}","summary":"Read source-backed thematic exposure for a company","description":"Returns business-activity facts extracted from existing Company 360 evidence plus version-pinned economic, strategic and activity exposure components. Exposure weights are evidence-backed analytical classifications, not investment recommendations.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"symbol","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Company activity facts and thematic exposures for the current published taxonomy"},{"status":"422","description":"Invalid security symbol"}]},{"key":"post-investment-ontology-companies-symbol-refresh","method":"POST","path":"\/investment\/ontology\/companies\/{symbol}\/refresh","summary":"Extract and classify company activity against the published ontology","description":"Reuses source-backed Company 360 evidence, performs deterministic FinanceGPT native lexical extraction, maps facts through the published hierarchical taxonomy and writes SHA-256-sealed exposure evidence. No third-party market-data call, LLM call, investment action or Financial Action is performed.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"symbol","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"201","description":"Source-backed fact extraction and versioned exposure refresh result"},{"status":"422","description":"Invalid symbol or ontology input"},{"status":"503","description":"Published ontology or required Company 360 evidence unavailable"}]},{"key":"get-investment-ontology-nodes-node-universe","method":"GET","path":"\/investment\/ontology\/nodes\/{node}\/universe","summary":"Rank the classified company universe by one controlled taxonomy node","description":"Returns evidence-backed company rankings for a taxonomy node using composite, economic, strategic, activity and confidence fields. This controlled-node universe remains available as a low-level taxonomy endpoint. IM6 Concept2Universe adds governed free-text decomposition, saved universes, investability filters and non-executable handoffs.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"node","required":true,"type":"integer","description":null,"example":1},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":50}],"request_body":null,"responses":[{"status":"200","description":"Taxonomy-node ranked universe with exposure components and evidence hashes"},{"status":"503","description":"Published taxonomy unavailable"}]},{"key":"post-investment-portfolios-portfolio-book-nav","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/book\/nav","summary":"Seal an observed-data portfolio NAV snapshot","description":"Values settled book positions and cash using only observed Market Data Gateway quotes and FX. Missing required market data fails closed; pending settlement cash is disclosed separately and excluded from settled NAV.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"reporting_currency":"USD"}},"responses":[{"status":"201","description":"SHA-256-sealed observed-data NAV snapshot"},{"status":"503","description":"Required observed quote or FX evidence is unavailable"}]},{"key":"get-investment-portfolios-portfolio-book-nav-snapshots","method":"GET","path":"\/investment\/portfolios\/{portfolio}\/book\/nav-snapshots","summary":"Read sealed portfolio NAV snapshots","description":"Returns recent observed-data IM10 NAV evidence for the portfolio. Synthetic market data is never used for these snapshots.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":20}],"request_body":null,"responses":[{"status":"200","description":"Recent sealed NAV snapshots"}]},{"key":"get-investment-portfolios-portfolio-book-operations","method":"GET","path":"\/investment\/portfolios\/{portfolio}\/book\/operations","summary":"Read portfolio front-to-back operating state","description":"Returns current IM10 positions, cash, settlement obligations, corporate-action cases, NAV snapshots and operational reconciliation breaks without changing execution state.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Portfolio front-to-back operating state"}]},{"key":"post-investment-portfolios-portfolio-book-reconcile","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/book\/reconcile","summary":"Reconcile settled investment-book positions to the latest custodian import","description":"Compares IM10 settled quantities to the existing custodian position snapshot and writes differences into the existing investment reconciliation-break control plane. No settlement instruction is sent.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"201","description":"Book-to-custody reconciliation completed"},{"status":"503","description":"No reconciled custodian position import is available"}]},{"key":"post-investment-portfolios-portfolio-book-seed","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/book\/seed","summary":"Seed an empty portfolio book from opening evidence","description":"Captures current legacy portfolio assets as opening position evidence and optionally accepts explicit opening cash evidence. This is accounting initialization only and does not execute a trade or Financial Action.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"cash_balances":[{"currency":"string","amount_minor":1,"amount_scale":2,"source_reference":"string","source_hash":"string"}]}},"responses":[{"status":"201","description":"Opening book evidence recorded and projection sealed"},{"status":"422","description":"Book already contains entries or opening evidence is invalid"}]},{"key":"post-investment-portfolios-portfolio-book-synchronize","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/book\/synchronize","summary":"Synchronize governed trade and settlement evidence into the investment book","description":"Imports new Financial Action investment trade confirmations, reflects authoritative reconciliation settlement state, discovers applicable Financial Data Cloud corporate actions and rebuilds position\/cash projections. It never resubmits or retries execution.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"201","description":"Front-to-back synchronization completed"}]},{"key":"post-investment-portfolios-portfolio-collateral-inventory","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/collateral-inventory","summary":"Seal observed collateral and HQLA inventory","description":"Values settled IM10 book securities and positive cash using observed Market Data Gateway quotes\/FX, then applies explicit IM11 eligibility\/haircut policy. Synthetic market data is never substituted.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"201","description":"SHA-256-sealed collateral inventory snapshot"},{"status":"503","description":"Required observed market data is unavailable"}]},{"key":"post-investment-portfolios-portfolio-construct","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/construct","summary":"Run governed Portfolio Construction 2.0","description":"Runs observed-data portfolio construction with CVaR, tracking error, risk budgets, Black-Litterman, thematic bounds, turnover\/cost and verified tax-lot awareness. Fresh observed option IV may be used as a risk floor. Synthetic option surfaces are research comparison only and cannot select the model portfolio or execute a Financial Action.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"symbols":["string"],"restricted_symbols":["string"],"objective":"balanced","max_position_pct":1,"risk_aversion":0.01000000000000000020816681711721685132943093776702880859375,"history_months":12,"benchmark_symbol":"string","cvar_alpha_pct":95,"max_turnover_pct":100,"transaction_cost_bps":10,"min_monthly_dollar_volume_usd":0,"tax_rate_pct":0}},"responses":[{"status":"201","description":"Construction evidence created; no order placed"},{"status":"422","description":"Invalid input"}]},{"key":"post-investment-portfolios-portfolio-generative-markets","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/generative-markets","summary":"Generate an evidence-sealed synthetic counterfactual market scenario for a portfolio","description":"Uses an approved FinanceGPT time-series generative model to produce multi-step market-factor paths, then deterministically derives yield, credit, volatility and FX curve views and applies terminal factor states only through verified portfolio\/security sensitivities. Sample quantiles are descriptive statistics over generated counterfactuals, not probabilities, forecasts or confidence intervals. Outputs are synthetic and never execution eligible.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"regime":"contraction","sample_count":8,"horizon":6,"seed":42,"base_volatility_pct":20,"base_rate_pct":4,"yield_curve_slope_bps_per_year":20,"base_credit_spread_bps":150,"credit_curve_slope_bps_per_year":10,"base_fx_level":1,"stress":{"equity_pct":-100,"fx_pct":-100,"rates_bps":-10000,"credit_bps":-10000,"commodity_pct":-100,"volatility_pct":-100}}},"responses":[{"status":"201","description":"Evidence-sealed synthetic generative market run with paths"},{"status":"422","description":"Invalid conditioning input"},{"status":"503","description":"Approved generative model"}]},{"key":"post-investment-portfolios-portfolio-margin-calls-call-collateral-proposal","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/margin-calls\/{call}\/collateral-proposal","summary":"Generate a non-executable collateral allocation proposal","description":"Revalues the current IM10 portfolio inventory under the margin-call currency, applies explicit eligibility\/haircuts and greedily preserves HQLA while minimizing haircut. The proposal cannot initiate a custody or payment instruction.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"},{"in":"path","name":"call","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"201","description":"Non-executable collateral proposal sealed"},{"status":"422","description":"Margin call or collateral evidence is insufficient"}]},{"key":"get-investment-portfolios-portfolio-performance","method":"GET","path":"\/investment\/portfolios\/{portfolio}\/performance","summary":"Read evidence-linked portfolio time-weighted performance","description":null,"scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":12}],"request_body":null,"responses":[{"status":"200","description":"Performance runs and valuation subperiod observations"}]},{"key":"post-investment-portfolios-portfolio-performance-calculate","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/performance\/calculate","summary":"Geometrically chain-link non-overlapping portfolio subperiod returns","description":null,"scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"period_start":"2026-08-16","period_end":"2026-08-16"}},"responses":[{"status":"201","description":"Time-weighted return"},{"status":"422","description":"Missing"}]},{"key":"post-investment-portfolios-portfolio-performance-observations","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/performance\/observations","summary":"Record a valuation subperiod and explicit external cash flow for portfolio performance","description":null,"scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"period_start":"2026-08-16","period_end":"2026-08-16","opening_value":1.0000000000000000209225608301284726753266340892878361046314239501953125e-8,"closing_value":0,"external_flow":0,"flow_timing":"start","currency":"string","source_type":"manual","source_reference":"string"}},"responses":[{"status":"201","description":"Evidence-hashed performance observation"}]},{"key":"post-investment-portfolios-portfolio-risk-compliance","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/risk-compliance","summary":"Generate Institutional Risk & Compliance 2.0 evidence","description":"Generates observed-data historical VaR\/ES, liquidity and concentration risk, includes saved IM7 theme-factor risk when available, attaches observed IM2 derivatives-market context, aggregates derivative Greeks only from explicit supplied position inputs, and refreshes configured investment mandate controls. No synthetic market data or Financial Action execution is permitted.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"benchmark_symbol":"string","history_months":36,"derivative_positions":[{"symbol":"string","quantity":1,"multiplier":100,"delta":1,"gamma":1,"vega":1,"theta":1,"option_market_value_usd":1}]}},"responses":[{"status":"201","description":"Institutional risk evidence created; no order placed or Financial Action executed"},{"status":"503","description":"Institutional risk evidence unavailable because required observed data or portfolio valuation is missing"}]},{"key":"post-investment-portfolios-portfolio-scenarios","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/scenarios","summary":"Run a deterministic governed portfolio stress scenario","description":null,"scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"global_price_pct":-100,"symbols":[],"factors":[]}},"responses":[{"status":"201","description":"Scenario run with source and result hashes"}]},{"key":"post-investment-portfolios-portfolio-tax-harvest","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/tax-harvest","summary":"Create a tax-harvest proposal without executing a trade","description":null,"scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"tax_regime":"string","jurisdiction":"string","tax_rate_pct":0,"minimum_loss_usd":0,"restriction_window_days":0,"replacement_symbols":["string"]}},"responses":[{"status":"201","description":"Draft tax-harvest proposal; financial_action_executed is false"}]},{"key":"get-investment-portfolios-portfolio-tax-lots","method":"GET","path":"\/investment\/portfolios\/{portfolio}\/tax-lots","summary":"List governed tax-lot records for an adopted portfolio","description":null,"scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Tax lots and verification provenance"}]},{"key":"post-investment-portfolios-portfolio-theme-watch","method":"POST","path":"\/investment\/portfolios\/{portfolio}\/theme-watch","summary":"Seal a portfolio thematic attribution and drift snapshot","description":"Maps provider-valued current portfolio weights through source-backed thematic exposures, links the latest selected factor observation for static attribution and measures thematic concentration and drift versus the previous snapshot under the same taxonomy version. The snapshot is research evidence only and does not rebalance the portfolio or create a Financial Action.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"portfolio","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"run_id":1}},"responses":[{"status":"201","description":"Portfolio Theme Watch snapshot sealed"},{"status":"503","description":"Factor run"}]},{"key":"get-investment-reports","method":"GET","path":"\/investment\/reports","summary":"List approved\/finalized investment client reports","description":null,"scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Approved client reports"}]},{"key":"get-investment-risk","method":"GET","path":"\/investment\/risk","summary":"List EquityGPT Professional risk snapshots","description":null,"scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"portfolio_id","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":20}],"request_body":null,"responses":[{"status":"200","description":"Investment risk snapshots"}]},{"key":"get-investment-risk-compliance-runs","method":"GET","path":"\/investment\/risk-compliance\/runs","summary":"Read Institutional Risk & Compliance 2.0 runs","description":"Returns workspace-scoped observed-data risk evidence including historical VaR\/ES, theme-factor component risk, liquidity, concentration, derivative context and investment mandate\/risk-policy control status. This is not a legal compliance determination and does not authorise execution.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"portfolio_id","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":20}],"request_body":null,"responses":[{"status":"200","description":"Institutional risk run summaries"}]},{"key":"get-investment-risk-compliance-runs-uid","method":"GET","path":"\/investment\/risk-compliance\/runs\/{uid}","summary":"Read one Institutional Risk & Compliance 2.0 evidence record","description":"Returns one SHA-256-sealed institutional risk record from the active workspace.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Institutional risk evidence record"},{"status":"404","description":"Risk run not found in the active workspace"}]},{"key":"get-investment-theme-watch","method":"GET","path":"\/investment\/theme-watch","summary":"Read Thematic Factor Model and Theme Watch evidence","description":"Returns workspace-scoped point-in-time thematic factor runs, descriptive factor-return summaries, specific-risk estimates and exposure-weighted FinanceGPT research indices. Outputs use observed provider market history and version-pinned source-backed thematic exposures; they are not forecasts, expected returns, external benchmarks or execution instructions.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"run_id","required":false,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Theme Watch research evidence"}]},{"key":"post-investment-theme-watch-factors","method":"POST","path":"\/investment\/theme-watch\/factors","summary":"Estimate point-in-time thematic factor returns","description":"Runs the governed financegpt_theme_factor_ridge_v1 cross-sectional model on observed monthly market history and the latest taxonomy version published by the requested as-of date. It also derives descriptive specific risk and exposure-weighted theme indices. No synthetic market data, portfolio rebalance, Financial Action or trade is created.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"as_of_date":"2026-08-16","history_months":36,"ridge_lambda":0.1000000000000000055511151231257827021181583404541015625,"minimum_symbols_per_factor":3,"max_factors":25,"max_symbols":120}},"responses":[{"status":"201","description":"Thematic factor run sealed with SHA-256 market"},{"status":"503","description":"Point-in-time taxonomy exposure or observed market history coverage is insufficient"}]},{"key":"get-investment-themes","method":"GET","path":"\/investment\/themes","summary":"Read saved FinanceGPT thematic universes","description":"Returns workspace-scoped Concept2Universe discovery state and saved taxonomy-version-pinned thematic universes. Free-text decomposition is native-first and deterministic by default; results are thematic relevance evidence, not expected-return forecasts or investment recommendations.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"universe_id","required":false,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Saved thematic-universe summaries and optional selected universe evidence"}]},{"key":"post-investment-themes-discover","method":"POST","path":"\/investment\/themes\/discover","summary":"Discover and save an evidence-backed thematic universe from free text","description":"Maps the concept to non-overlapping branches of the current published Dynamic Industry Ontology, ranks source-backed IM5 company exposures and applies explicit profile\/provenance investability filters. No live market-data call, LLM requirement, Financial Action or trade execution is introduced by this endpoint.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"name":"string","concept":"string","exchanges":["string"],"countries":["string"],"currencies":["string"],"restricted_symbols":["string"],"require_company_profile":false,"min_relevance":0.01000000000000000020816681711721685132943093776702880859375,"min_confidence":0,"min_verified_facts":0,"max_results":50}},"responses":[{"status":"201","description":"Saved taxonomy-version-pinned thematic universe with decomposition and ranked members"},{"status":"422","description":"Invalid concept or investability-filter input"},{"status":"503","description":"Published ontology unavailable or concept cannot be mapped to the controlled taxonomy"}]},{"key":"get-investment-themes-universes-universe","method":"GET","path":"\/investment\/themes\/universes\/{universe}","summary":"Read one saved thematic universe and its evidence","description":"Returns the immutable concept text, controlled taxonomy decomposition, ranked member evidence, investability snapshots and prior watchlist\/model-portfolio handoffs for one workspace-scoped universe.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"universe","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Saved thematic-universe evidence"},{"status":"404","description":"Universe unavailable in the active workspace"}]},{"key":"get-investment-themes-universes-universe-analytics","method":"GET","path":"\/investment\/themes\/universes\/{universe}\/analytics","summary":"Read saved thematic-universe analytics","description":"Returns concentration metrics for an immutable Concept2Universe universe plus linked Theme Watch factor and research-index evidence when a compatible factor run exists. The analytics do not claim thematic relevance as expected return or performance.","scope":"investment:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"universe","required":true,"type":"integer","description":null,"example":1},{"in":"query","name":"run_id","required":false,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Saved thematic-universe analytics and linked factor evidence"}]},{"key":"post-investment-themes-universes-universe-model-portfolio","method":"POST","path":"\/investment\/themes\/universes\/{universe}\/model-portfolio","summary":"Hand a saved thematic universe to a draft model portfolio","description":"Creates a draft model portfolio using thematic-relevance or equal weights. Existing model-portfolio governance approval remains mandatory before rebalance use; this endpoint does not place trades or create Financial Actions.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"universe","required":true,"type":"integer","description":null,"example":1}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"name":"string","limit":20,"weighting":"relevance","benchmark_symbol":"string"}},"responses":[{"status":"201","description":"Draft model portfolio created with content hash and approval-required state"},{"status":"503","description":"Thematic-universe handoff unavailable"}]},{"key":"post-investment-themes-universes-universe-watchlist","method":"POST","path":"\/investment\/themes\/universes\/{universe}\/watchlist","summary":"Hand a saved thematic universe to an investment watchlist","description":"Copies ranked members to the existing watchlist workflow with universe\/member evidence hashes. This creates research state only and does not create, approve or execute a Financial Action.","scope":"investment:run","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"universe","required":true,"type":"integer","description":null,"example":1}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"name":"string","limit":50}},"responses":[{"status":"201","description":"Watchlist created from the saved thematic universe"},{"status":"503","description":"Thematic-universe handoff unavailable"}]},{"key":"get-marketplace-listings","method":"GET","path":"\/marketplace\/listings","summary":"Discover verified marketplace APIs, models, datasets and FinanceGPT-native workflows","description":null,"scope":"marketplace:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"category","required":false,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Platform-reviewed publisher listings and active commercial offers"}]},{"key":"post-marketplace-slug-invoke","method":"POST","path":"\/marketplace\/{slug}\/invoke","summary":"Invoke an actively subscribed verified marketplace listing, including a governed native workflow","description":null,"scope":"marketplace:invoke","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"slug","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":[]},"responses":[{"status":"200","description":"Publisher JSON response wrapped by the FinanceGPT gateway"},{"status":"403","description":"Active marketplace subscription required"},{"status":"429","description":"FinanceGPT or marketplace subscription request limit exceeded"},{"status":"502","description":"Publisher upstream failed security or invocation checks"}]},{"key":"post-ml-anomaly","method":"POST","path":"\/ml\/anomaly","summary":"Run approved financial anomaly inference on the latest synchronized derived feature vector","description":null,"scope":"ml:inference","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Anomaly inference result"},{"status":"409","description":"Approved model or synchronized features unavailable"}]},{"key":"get-ml-models","method":"GET","path":"\/ml\/models","summary":"List approved active FinanceGPT ML model cards available to the workspace","description":null,"scope":"ml:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Active model registry"}]},{"key":"post-ml-scenarios","method":"POST","path":"\/ml\/scenarios","summary":"Generate model-sampled financial stress scenarios from an approved VAE","description":null,"scope":"ml:inference","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"samples":5,"stress":[]}},"responses":[{"status":"201","description":"Generated scenario samples; not forecasts or probabilities"},{"status":"409","description":"Approved model or synchronized features unavailable"}]},{"key":"post-oauth-token","method":"POST","path":"\/oauth\/token","summary":"Issue an OAuth 2.0 client-credentials service token","description":null,"scope":null,"group":"Core Platform","authentication_required":false,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/x-www-form-urlencoded","schema_type":"object","example":{"grant_type":"client_credentials","client_id":"string","client_secret":"string","scope":"string"}},"responses":[{"status":"200","description":"Access token issued"},{"status":"400","description":"Invalid grant or scope"},{"status":"401","description":"Invalid client"},{"status":"403","description":"API entitlement unavailable"}]},{"key":"get-trust-evidence","method":"GET","path":"\/trust\/evidence","summary":"Read FinanceGPT enterprise trust evidence","description":"Returns aggregate measured Trust Center evidence and provenance posture. Public and API evidence excludes customer transaction payloads, raw prompts, provider credentials and private signing keys.","scope":"trust:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Aggregate trust evidence and provenance policy posture"}]},{"key":"post-trust-evidence-packs","method":"POST","path":"\/trust\/evidence-packs","summary":"Create a sealed workspace enterprise-evidence pack","description":"Creates a SHA-256 sealed evidence package from current governed trust evidence. The package contains aggregate control evidence and excludes customer transaction payloads, raw prompts, provider credentials and private signing keys.","scope":"trust:write","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Sealed workspace evidence pack created"}]},{"key":"get-trust-provenance","method":"GET","path":"\/trust\/provenance","summary":"Read workspace AI-content provenance records","description":"Returns workspace provenance state, disclosure requirements, SHA-256 evidence and machine-marking status without returning private signing key material.","scope":"trust:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace content-provenance records"}]},{"key":"post-trust-provenance","method":"POST","path":"\/trust\/provenance","summary":"Register governed AI-content provenance","description":"Creates a provenance record and determines visible-disclosure and machine-marking requirements from the configured internal policy profile. Registration does not itself publish or claim C2PA verification.","scope":"trust:write","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Provenance record created"},{"status":"422","description":"Invalid provenance request"}]},{"key":"post-trust-verify","method":"POST","path":"\/trust\/verify","summary":"Verify recorded FinanceGPT provenance evidence","description":"Verifies a FinanceGPT provenance UID and optional final-content\/manifest SHA-256 values against recorded evidence. A configured pipeline is not represented as C2PA verified until verification evidence exists.","scope":"trust:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Provenance verification result"},{"status":"422","description":"Invalid verification request"}]},{"key":"get-workspace","method":"GET","path":"\/workspace","summary":"Get the credential's FinanceGPT workspace","description":null,"scope":"workspace:read","group":"Core Platform","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace"}]},{"key":"get-acquisition-discovery-catalog","method":"GET","path":"\/acquisition\/discovery-catalog","summary":"Read the FinanceGPT authoritative public discovery catalog","description":null,"scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Canonical product"}]},{"key":"get-acquisition-metrics","method":"GET","path":"\/acquisition\/metrics","summary":"Read measured acquisition and AI-referral evidence for the active commercial context","description":null,"scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"days","required":false,"type":"integer","description":null,"example":30}],"request_body":null,"responses":[{"status":"200","description":"Acquisition page"}]},{"key":"get-commercial-billing","method":"GET","path":"\/commercial\/billing","summary":"Read verified workspace subscription state","description":"Returns the provider-synchronized plan, billing interval, current period end and payment state. Card details and provider secrets are never returned.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Verified self-service billing state"}]},{"key":"get-commercial-catalog","method":"GET","path":"\/commercial\/catalog","summary":"Read the canonical FinanceGPT commercial plan catalog","description":"Returns versioned plan pricing, commercial class and entitlement definitions. Restricted Autonomous Financial Operations remain application-only and are not ordinary subscription entitlements.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Canonical commercial plan catalog"}]},{"key":"post-commercial-checkout-intents","method":"POST","path":"\/commercial\/checkout-intents","summary":"Create an authenticated self-service FinanceGPT checkout intent","description":"Creates a continuation-preserving checkout intent for Professional, Team or Business only. Enterprise and Financial Operations remain sales-assisted and Restricted Autonomous Operations remain application-only. This call does not itself activate entitlements or create a financial authority.","scope":"commercial:write","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Checkout intent created"},{"status":"422","description":"Plan"}]},{"key":"get-commercial-checkout-intents-uid","method":"GET","path":"\/commercial\/checkout-intents\/{uid}","summary":"Read a FinanceGPT checkout intent","description":"Returns the authenticated user's checkout intent status, quote and continuation path without exposing payment credentials or provider session URLs.","scope":"commercial:write","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Checkout intent"},{"status":"403","description":"Intent belongs to another user"}]},{"key":"get-commercial-entitlements","method":"GET","path":"\/commercial\/entitlements","summary":"Read the active workspace commercial profile and entitlement matrix","description":"Returns the resolved plan version, source, grandfathering state and explainable capability decisions. Commercial entitlement never substitutes for runtime Financial Actions authority.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace commercial profile and capability matrix"}]},{"key":"post-commercial-entitlements-check","method":"POST","path":"\/commercial\/entitlements\/check","summary":"Evaluate a FinanceGPT commercial entitlement","description":"Evaluates one capability and optional requested quantity, returning allow\/deny, reason code, effective limit and commercial upgrade path. The decision is evidence-recorded and does not change billing.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Explainable commercial entitlement decision"},{"status":"422","description":"Unknown capability or invalid requested quantity"}]},{"key":"get-commercial-financial-operations","method":"GET","path":"\/commercial\/financial-operations","summary":"Read FinanceGPT Financial Operations commercial status","description":"Returns sales-assisted programme, qualification, approved implementation scope, readiness, active commercial contract and measured customer-success evidence. Commercial state never substitutes for Financial Actions authority, policy, risk, approval, execution or reconciliation controls.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace Financial Operations programme and readiness status"}]},{"key":"get-commercial-financial-operations-readiness","method":"GET","path":"\/commercial\/financial-operations\/readiness","summary":"Read Financial Operations implementation and live-readiness controls","description":"Returns evidence-backed commercial, authority, counterparty, risk\/approval, connector, reconciliation, assurance and operational-readiness controls.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Current Financial Operations readiness evidence"}]},{"key":"post-commercial-financial-operations-request","method":"POST","path":"\/commercial\/financial-operations\/request","summary":"Request FinanceGPT Financial Operations qualification","description":"Opens a sales-assisted Financial Operations pipeline and qualification programme. This is not self-service checkout and creates no live execution authority.","scope":"commercial:write","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Qualification programme requested"},{"status":"422","description":"Invalid request or an active programme already exists"}]},{"key":"post-commercial-financial-operations-snapshot","method":"POST","path":"\/commercial\/financial-operations\/snapshot","summary":"Capture a Financial Operations customer-success snapshot","description":"Captures measured workspace outcomes for an existing Financial Operations programme. It does not activate commercial entitlement or transaction authority.","scope":"commercial:write","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Customer-success snapshot captured"},{"status":"422","description":"No Financial Operations programme or invalid window"}]},{"key":"get-commercial-financial-operations-value","method":"GET","path":"\/commercial\/financial-operations\/value","summary":"Read measured Financial Operations customer-success evidence","description":"Returns source-backed action, approval, exception and reconciliation outcomes with monetary values separated by currency and no implicit FX conversion.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Latest Financial Operations customer-success snapshot"}]},{"key":"get-commercial-restricted-autonomy","method":"GET","path":"\/commercial\/restricted-autonomy","summary":"Read Restricted Autonomous Operations commercial status","description":"Returns application-only institutional commercial programme, annual contract, readiness, activation, renewal and measured operating evidence. Commercial state never grants admission, certification, mandate approval or autonomous execution authority.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Restricted Autonomous Operations commercial status"}]},{"key":"get-commercial-restricted-autonomy-readiness","method":"GET","path":"\/commercial\/restricted-autonomy\/readiness","summary":"Read Restricted Autonomous Operations commercial readiness","description":"Returns evidence-backed commercial, Financial Operations, certification, assurance, reconciliation, platform-control and renewal readiness.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Current restricted-autonomy commercial readiness"}]},{"key":"get-commercial-restricted-autonomy-renewal","method":"GET","path":"\/commercial\/restricted-autonomy\/renewal","summary":"Read Restricted Autonomous Operations renewal status","description":"Returns annual commercial renewal timing and contract state. Renewal does not extend institutional assessment or certification automatically.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Restricted Autonomous Operations renewal status"}]},{"key":"post-commercial-restricted-autonomy-request","method":"POST","path":"\/commercial\/restricted-autonomy\/request","summary":"Request Restricted Autonomous Operations commercial review","description":"Opens a sales-assisted institutional commercial programme for an existing autonomy application. This is not self-service checkout and payment never guarantees admission.","scope":"commercial:write","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Institutional commercial review requested"},{"status":"422","description":"Invalid request or missing institutional application"}]},{"key":"post-commercial-restricted-autonomy-snapshot","method":"POST","path":"\/commercial\/restricted-autonomy\/snapshot","summary":"Capture Restricted Autonomous Operations measured outcomes","description":"Captures a measured customer-success snapshot for an existing institutional programme. It grants no financial or autonomous authority.","scope":"commercial:write","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Customer-success snapshot captured"},{"status":"404","description":"Commercial programme not found"}]},{"key":"get-commercial-restricted-autonomy-value","method":"GET","path":"\/commercial\/restricted-autonomy\/value","summary":"Read measured Restricted Autonomous Operations outcomes","description":"Returns measured autonomous actions, reconciliation, human interventions, exceptions and currency-separated governed value.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Latest restricted-autonomy customer-success snapshot"}]},{"key":"get-commercial-upgrade-opportunities","method":"GET","path":"\/commercial\/upgrade-opportunities","summary":"List unresolved product-intent commercial upgrade opportunities for the active workspace","description":null,"scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Entitlement-driven upgrade opportunities with no payment credentials or financial authority"}]},{"key":"post-commercial-upgrade-opportunities-uid-interactions","method":"POST","path":"\/commercial\/upgrade-opportunities\/{uid}\/interactions","summary":"Record a bounded interaction with one product-led upgrade opportunity","description":null,"scope":"commercial:write","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"event":"exposed","channel":"api"}},"responses":[{"status":"200","description":"Recorded interaction and current opportunity status"},{"status":"403","description":"Opportunity belongs to another user or workspace"}]},{"key":"post-commercial-upgrade-recommendations","method":"POST","path":"\/commercial\/upgrade-recommendations","summary":"Resolve the lowest appropriate commercial path for a real product-intent trigger","description":null,"scope":"commercial:write","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"trigger_key":"string","requested_value":0,"return_to":"string","surface":"string"}},"responses":[{"status":"200","description":"Deterministic recommendation"},{"status":"422","description":"Unknown trigger or invalid request"}]},{"key":"get-commercial-usage","method":"GET","path":"\/commercial\/usage","summary":"Read normalized FinanceGPT commercial usage and allowances","description":"Returns source-distinct AI Credit, API, MCP and agent usage with snapshotted plan allowances and billing state. AI Credits are prepaid service entitlements, not transaction money, and Managed AI credit consumption is never double-billed as metered usage.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"days","required":false,"type":"integer","description":null,"example":30}],"request_body":null,"responses":[{"status":"200","description":"Workspace usage"}]},{"key":"post-commercial-usage-budgets","method":"POST","path":"\/commercial\/usage\/budgets","summary":"Configure a workspace commercial usage budget","description":"Records commercial usage-budget governance without granting runtime execution authority or replacing existing AI Credit spending controls.","scope":"commercial:write","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Updated commercial usage budget"},{"status":"422","description":"Invalid meter"}]},{"key":"get-commercial-usage-economics","method":"GET","path":"\/commercial\/usage\/economics","summary":"Read workspace usage economics evidence","description":"Returns usage, verified AI Credit and usage cash, provider-cost estimates and operational contribution evidence. Provider cost and contribution are operational estimates rather than statutory revenue-recognition measures; currencies are not implicitly converted.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"days","required":false,"type":"integer","description":null,"example":30}],"request_body":null,"responses":[{"status":"200","description":"Workspace usage economics evidence and source classifications"}]},{"key":"post-commercial-usage-policy","method":"POST","path":"\/commercial\/usage\/policy","summary":"Configure explicit workspace usage-billing consent","description":"Stores workspace consent and controls for usage billing. Provider invoicing remains independently fail-closed and plan entitlements must explicitly allow overage before any billable overage can be submitted.","scope":"commercial:write","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Updated workspace usage-billing policy"},{"status":"422","description":"Invalid or unsupported billing policy"}]},{"key":"get-commercial-value","method":"GET","path":"\/commercial\/value","summary":"Read FinanceGPT Value & Outcome Intelligence for the active workspace","description":"Returns measured, derived and explicitly labelled estimated outcomes for the requested period. Estimates are unavailable unless an evidence-backed methodology has been independently approved. Monetary outcomes remain separated by currency without implicit FX conversion.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"days","required":false,"type":"integer","description":null,"example":30}],"request_body":null,"responses":[{"status":"200","description":"Workspace value summary"}]},{"key":"get-commercial-value-evidence","method":"GET","path":"\/commercial\/value\/evidence","summary":"Export FinanceGPT value evidence for the active workspace","description":"Returns the current value summary, classification policy and latest seal without presenting estimates as measured savings.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"days","required":false,"type":"integer","description":null,"example":30}],"request_body":null,"responses":[{"status":"200","description":"Value evidence package and latest seal"}]},{"key":"get-commercial-value-snapshots","method":"GET","path":"\/commercial\/value\/snapshots","summary":"Read sealed FinanceGPT value metric snapshots","description":"Returns workspace-scoped historical metric snapshots plus the latest chained summary seal.","scope":"commercial:read","group":"Developer & Commercial","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":100}],"request_body":null,"responses":[{"status":"200","description":"Historical measured"}]},{"key":"get-actions-agentic","method":"GET","path":"\/actions\/agentic","summary":"Read machine financial identities, delegations, signed actions and kill switches","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Machine Authority operational evidence for the active workspace"}]},{"key":"post-actions-agentic-delegations-uid-approve","method":"POST","path":"\/actions\/agentic\/delegations\/{uid}\/approve","summary":"Independently approve a machine financial delegation","description":null,"scope":"actions:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Delegation activated after segregation-of-duties approval"}]},{"key":"post-actions-agentic-delegations-uid-revoke","method":"POST","path":"\/actions\/agentic\/delegations\/{uid}\/revoke","summary":"Revoke a machine delegation and release open reservations","description":null,"scope":"actions:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Delegation revoked"}]},{"key":"post-actions-agentic-identities","method":"POST","path":"\/actions\/agentic\/identities","summary":"Register a versioned machine financial identity","description":"Stores only an Ed25519 public verification key and non-secret signer reference. Private signing keys remain outside FinanceGPT and AI context.","scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Draft machine financial identity and immutable version evidence created"}]},{"key":"post-actions-agentic-identities-uid-activate","method":"POST","path":"\/actions\/agentic\/identities\/{uid}\/activate","summary":"Activate a machine financial identity after verification","description":null,"scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Machine identity activated"}]},{"key":"post-actions-agentic-identities-uid-delegations","method":"POST","path":"\/actions\/agentic\/identities\/{uid}\/delegations","summary":"Create a bounded machine financial delegation","description":"Delegations specify action, counterparty, connector, currency, execution-mode, T1\/T2 risk and per-action\/daily\/monthly integer-minor-unit budget scopes and require independent approval.","scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"201","description":"Draft delegation created"}]},{"key":"post-actions-agentic-identities-uid-versions","method":"POST","path":"\/actions\/agentic\/identities\/{uid}\/versions","summary":"Record a new machine financial-identity version","description":null,"scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"201","description":"New identity version created; prior delegations are superseded"}]},{"key":"post-actions-agentic-kill-switches","method":"POST","path":"\/actions\/agentic\/kill-switches","summary":"Engage a workspace, machine-identity or delegation execution kill switch","description":null,"scope":"actions:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Kill switch engaged and future machine execution fails closed"}]},{"key":"post-actions-agentic-kill-switches-uid-release","method":"POST","path":"\/actions\/agentic\/kill-switches\/{uid}\/release","summary":"Release a machine financial kill switch","description":null,"scope":"actions:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Kill switch released with evidence"}]},{"key":"post-actions-agentic-proposals","method":"POST","path":"\/actions\/agentic\/proposals","summary":"Submit an Ed25519-signed machine Financial Action proposal","description":"Replay-protected signed proposals may receive bounded T1\/T2 delegated authorization only when every delegation, policy, budget, counterparty, connector and dynamic-risk check passes; otherwise the action remains for human review.","scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Signed Action Envelope created with delegated-execution eligibility evidence"},{"status":"422","description":"Signature"}]},{"key":"post-actions-agentic-uid-execute","method":"POST","path":"\/actions\/agentic\/{uid}\/execute","summary":"Execute a machine-delegated Financial Action using a fresh signed execution instruction","description":"Requires a second replay-protected Ed25519 signature, an active agent-delegation authorization, an unexpired budget reservation and T1\/T2 dynamic risk. Sandbox remains available under Machine Authority. Human-approved live execution remains approval-gated. Autonomous live execution additionally requires application-only institutional admission, approved premium commercial terms, current multi-domain assessment and FinanceGPT certification, an exact platform-approved restricted autonomy mandate, aggregate institution\/mandate budget capacity, current workspace assurance\/reconciliation health and no engaged platform suspension. Completion remains reconciliation-gated.","scope":"actions:autonomous","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Machine action dispatched through the governed execution rail; completion remains reconciliation-gated"},{"status":"422","description":"Machine authority failed closed or execution outcome requires exception handling"}]},{"key":"get-actions-approval-graphs","method":"GET","path":"\/actions\/approval-graphs","summary":"List governed Financial Action approval graphs","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Approval graphs and ordered quorum nodes with role\/user constraints"}]},{"key":"get-actions-assurance","method":"GET","path":"\/actions\/assurance","summary":"Read workspace Financial Actions assurance status","description":"Returns the governed suite manifest, category coverage and latest workspace-scoped non-destructive assurance result.","scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Assurance suite and latest measured workspace result"}]},{"key":"post-actions-assurance-runs","method":"POST","path":"\/actions\/assurance\/runs","summary":"Run the workspace Financial Actions assurance suite","description":"Executes read-only control contracts and current workspace invariant checks. This endpoint does not dispatch production financial actions or expose transaction credentials.","scope":"actions:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Assurance run completed with pass\/fail counts and SHA-256 run seal"},{"status":"422","description":"Assurance suite or runtime prerequisite failed closed"}]},{"key":"get-actions-authorities","method":"GET","path":"\/actions\/authorities","summary":"List active and historical action-scoped authorities for the workspace","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Delegated user or role authority scopes with limits"}]},{"key":"get-actions-autonomy","method":"GET","path":"\/actions\/autonomy","summary":"Read restricted institutional autonomous-operations status","description":"Returns application, assessment, certification, mandate, budget and suspension evidence for the active workspace. Autonomous live access is restricted, application-only and cannot be self-enabled.","scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Restricted institutional autonomy status and evidence"}]},{"key":"post-actions-autonomy-application","method":"POST","path":"\/actions\/autonomy\/application","summary":"Request institutional assessment for autonomous financial operations","description":"Starts an application only. This does not grant autonomous execution authority and requires named executive, financial authority, risk, security, technical and autonomy owners.","scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Institutional application recorded for FinanceGPT review"},{"status":"422","description":"Institutional ownership or admission prerequisites failed"}]},{"key":"post-actions-autonomy-assessment-evidence","method":"POST","path":"\/actions\/autonomy\/assessment-evidence","summary":"Submit evidence to an open institutional autonomy assessment","description":"Evidence is classified into required organisation, financial-controls, security, technology, legal\/compliance, financial-risk, operational-resilience and governance domains.","scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Assessment evidence recorded; no execution authority granted"}]},{"key":"post-actions-autonomy-institutional-mandates","method":"POST","path":"\/actions\/autonomy\/institutional-mandates","summary":"Create a draft restricted autonomous financial mandate","description":"Creates an explicit, versioned customer proposal with non-empty machine identity, action, counterparty, connector, currency and execution-mode allowlists plus integer-minor-unit periodic limits. Platform approval is still required.","scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Draft institutional autonomous mandate created"},{"status":"422","description":"Scope or monetary limits failed restricted-autonomy controls"}]},{"key":"post-actions-autonomy-institutional-mandates-uid-submit","method":"POST","path":"\/actions\/autonomy\/institutional-mandates\/{uid}\/submit","summary":"Submit a restricted autonomous mandate for FinanceGPT platform approval","description":"Submission does not activate the mandate. FinanceGPT platform approval and current institutional certification remain mandatory.","scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Mandate submitted for platform review"},{"status":"422","description":"Mandate is not eligible for submission"}]},{"key":"get-actions-counterparties","method":"GET","path":"\/actions\/counterparties","summary":"List governed Financial Action counterparties and current settlement-destination status","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Counterparty identity"}]},{"key":"get-actions-credit-corporate","method":"GET","path":"\/actions\/credit-corporate","summary":"List governed credit, collections and corporate-action links","description":"Returns Action Envelope links to sealed obligations, accepted arrangements or corporate instructions plus the latest domain-control evidence. Source records remain distinct from execution instructions.","scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Governed domain action links and control status"}]},{"key":"post-actions-credit-corporate","method":"POST","path":"\/actions\/credit-corporate","summary":"Create a governed credit, collection or corporate action from a sealed source record","description":"Creates a canonical Action Envelope only after amount, currency, counterparty and source-record scope are validated. Supported execution modes are sandbox and approval-gated live; this endpoint does not execute the action.","scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"action_key":"loan_repayment","source_uid":"00000000-0000-4000-8000-000000000001","arrangement_uid":"00000000-0000-4000-8000-000000000001","connector_id":1,"counterparty_id":1,"currency":"string","amount":1,"purpose":"string","external_reference":"string","calculation_source":"string","calculation_reference":"string","execution_mode":"sandbox"}},"responses":[{"status":"201","description":"Source-bound Financial Action created; required domain controls must pass before approval"},{"status":"422","description":"Source"}]},{"key":"get-actions-credit-corporate-arrangements","method":"GET","path":"\/actions\/credit-corporate\/arrangements","summary":"List accepted settlement and repayment arrangements","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Version-evidenced arrangement records"}]},{"key":"post-actions-credit-corporate-arrangements","method":"POST","path":"\/actions\/credit-corporate\/arrangements","summary":"Register an accepted settlement or repayment arrangement","description":null,"scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"obligation_uid":"00000000-0000-4000-8000-000000000001","arrangement_type":"string","source_reference":"string","source_hash":"string","terms_hash":"string","currency":"string","agreed_amount":1,"discount_amount":0,"installment_count":1,"starts_on":"2026-08-16","expires_on":"2026-08-16","status":"string"}},"responses":[{"status":"201","description":"Accepted arrangement registered and bound to its obligation"},{"status":"422","description":"Invalid arrangement or evidence hash"}]},{"key":"get-actions-credit-corporate-instructions","method":"GET","path":"\/actions\/credit-corporate\/instructions","summary":"List governed corporate and treasury instructions","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Corporate instruction records with governing source evidence and authorized monetary scope"}]},{"key":"post-actions-credit-corporate-instructions","method":"POST","path":"\/actions\/credit-corporate\/instructions","summary":"Register a governed corporate instruction","description":null,"scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"counterparty_id":1,"instruction_type":"string","source_system":"string","source_reference":"string","source_hash":"string","governing_document_reference":"string","currency":"string","authorized_amount":1,"status":"string","effective_at":"2026-08-16T12:00:00Z","expires_at":"2026-08-16T12:00:00Z","condition_hash":"string"}},"responses":[{"status":"201","description":"Corporate instruction registered without granting execution authority"},{"status":"422","description":"Invalid instruction or evidence scope"}]},{"key":"get-actions-credit-corporate-obligations","method":"GET","path":"\/actions\/credit-corporate\/obligations","summary":"List governed credit and collection obligations","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Obligation records with sealed source evidence and integer-minor-unit economic scope"}]},{"key":"post-actions-credit-corporate-obligations","method":"POST","path":"\/actions\/credit-corporate\/obligations","summary":"Register a governed obligation source record","description":null,"scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"counterparty_id":1,"obligation_type":"string","source_system":"string","source_reference":"string","source_hash":"string","facility_reference":"string","currency":"string","original_amount":0,"outstanding_amount":0,"available_amount":0,"status":"string","due_date":"2026-08-16"}},"responses":[{"status":"201","description":"Governed obligation registered without granting execution authority"},{"status":"422","description":"Invalid or conflicting source evidence"}]},{"key":"post-actions-credit-corporate-uid-checks","method":"POST","path":"\/actions\/credit-corporate\/{uid}\/checks","summary":"Record a versioned credit, collection or corporate-action domain control","description":"Required source, amount, counterparty, facility, accepted-arrangement, escrow, entitlement, tax or corporate-authorization controls are append-only and become part of approval scope. All required checks must pass before approval.","scope":"actions:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"check_key":"string","status":"passed","source_type":"string","source_reference":"string","source_hash":"string","metrics":[],"metadata":[]}},"responses":[{"status":"200","description":"Versioned domain-control evidence recorded; material scope changes invalidate prior approval"},{"status":"422","description":"Unknown control"}]},{"key":"post-actions-credit-corporate-uid-refresh","method":"POST","path":"\/actions\/credit-corporate\/{uid}\/refresh","summary":"Refresh source-record scope and invalidate stale approval when material evidence changed","description":"Recomputes the authoritative source and terms hashes. Material changes reset domain controls and change the Action Envelope control-scope hash before any further approval or execution.","scope":"actions:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Source scope refreshed and stale controls or approval invalidated when required"},{"status":"422","description":"Source record cannot be safely refreshed"}]},{"key":"get-actions-execution-instructions","method":"GET","path":"\/actions\/execution-instructions","summary":"List governed Payments & Treasury execution instructions","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":25}],"request_body":null,"responses":[{"status":"200","description":"Secret-free dispatch instruction evidence with idempotency"}]},{"key":"get-actions-execution-profiles","method":"GET","path":"\/actions\/execution-profiles","summary":"List Payments & Treasury execution profiles and engaged kill switches","description":"Profiles expose governed action, account, currency, counterparty, monetary-limit, operating-mode, health and credential-boundary metadata. Secret credentials are never returned.","scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Versioned execution profiles plus currently engaged workspace or connector kill switches"}]},{"key":"get-actions-intents","method":"GET","path":"\/actions\/intents","summary":"List governed Financial Action envelopes for the active workspace","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":25}],"request_body":null,"responses":[{"status":"200","description":"Financial Action envelopes with control state"}]},{"key":"post-actions-intents","method":"POST","path":"\/actions\/intents","summary":"Create a governed Financial Action envelope","description":"Creation records intent, authoritative monetary provenance, policy screening and risk evidence. It does not move money.","scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"connector_id":1,"counterparty_id":1,"action_key":"vendor_payment","action_type":"payment","currency":"string","amount":1,"purpose":"string","calculation_source":"deterministic_calculation","calculation_reference":"string","execution_mode":"observe","external_reference":"string","idempotency_key":"string"}},"responses":[{"status":"201","description":"Financial Action envelope created with ten control checkpoints and T1-T4 risk evidence"},{"status":"422","description":"Invalid action"}]},{"key":"get-actions-intents-uid","method":"GET","path":"\/actions\/intents\/{uid}","summary":"Read one Financial Action envelope and current control-plane state","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Action envelope"}]},{"key":"get-actions-intents-uid-approval-run","method":"GET","path":"\/actions\/intents\/{uid}\/approval-run","summary":"Read the current Financial Action approval run and quorum progress","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Current approval graph run"},{"status":"404","description":"No current approval run exists for the action"}]},{"key":"get-actions-intents-uid-evidence","method":"GET","path":"\/actions\/intents\/{uid}\/evidence","summary":"Read structured Financial Action control and evidence lineage","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Checkpoints"}]},{"key":"post-actions-intents-uid-execute","method":"POST","path":"\/actions\/intents\/{uid}\/execute","summary":"Execute an authorized Financial Action through its separate execution authority","description":"Execution revalidates current policy and authorization scope. Governed payment, treasury, credit, collection and corporate-action keys additionally require an active execution profile whose action\/account\/currency\/counterparty limits, operating mode, credential boundary, health and kill-switch state pass immediately before dispatch. T3 and T4 actions require explicit human authorization; proposal and observe modes cannot execute. Investment action keys are deliberately rejected here and execute only through the governed investment-order bridge.","scope":"actions:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Execution evidence and resulting reconciliation state"},{"status":"422","description":"Authorization"}]},{"key":"post-actions-intents-uid-reconcile","method":"POST","path":"\/actions\/intents\/{uid}\/reconcile","summary":"Reconcile an executed Financial Action against settlement evidence","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Conservative settlement reconciliation result; an action is complete only when matched"}]},{"key":"post-actions-intents-uid-submit","method":"POST","path":"\/actions\/intents\/{uid}\/submit","summary":"Submit a Financial Action for governed human approval","description":null,"scope":"actions:create","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"approver_ids":[1]}},"responses":[{"status":"200","description":"Financial Action moved to the human approval gate after control revalidation"},{"status":"422","description":"Required pre-approval control"}]},{"key":"get-actions-investment-execution","method":"GET","path":"\/actions\/investment-execution","summary":"List investment order batches converged into governed Financial Actions","description":"Returns canonical Action Envelope linkage, material order hashes, pre-trade control state and trade-confirmation evidence while broker credentials remain in the investment execution runtime.","scope":"investment:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Linked investment batches plus eligible legacy order-batch candidates"}]},{"key":"post-actions-investment-execution","method":"POST","path":"\/actions\/investment-execution","summary":"Adopt an investment order batch into the Financial Actions control plane","description":"Creates one canonical Action Envelope for an existing governed investment order batch. This does not execute the order batch and does not copy broker credentials into AI or Financial Actions context.","scope":"investment:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"batch_uid":"string","connector_id":1,"action_key":"buy_sell_securities","currency":"string","amount":1,"purpose":"string","calculation_source":"deterministic_calculation","calculation_reference":"string","execution_mode":"sandbox","source_evidence":[]}},"responses":[{"status":"201","description":"Investment batch linked to a canonical Action Envelope with material-scope evidence"},{"status":"422","description":"Batch"}]},{"key":"get-actions-investment-execution-uid","method":"GET","path":"\/actions\/investment-execution\/{uid}","summary":"Read one governed investment execution convergence record","description":null,"scope":"investment:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Action linkage"}]},{"key":"post-actions-investment-execution-uid-checks","method":"POST","path":"\/actions\/investment-execution\/{uid}\/checks","summary":"Record a versioned investment pre-trade control result","description":"Required mandate, deterministic sizing, exposure, concentration, buying-power, instrument, venue, broker, custody, legacy integrity and order-idempotency evidence is bound into Financial Action approval scope.","scope":"investment:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"check_key":"string","status":"passed","source_type":"string","source_reference":"string","source_hash":"string","metrics":[],"metadata":[]}},"responses":[{"status":"200","description":"Append-only pre-trade control version recorded; stale approval is invalidated when applicable"},{"status":"422","description":"Invalid control status or required source evidence"}]},{"key":"post-actions-investment-execution-uid-confirmations","method":"POST","path":"\/actions\/investment-execution\/{uid}\/confirmations","summary":"Record broker trade-confirmation evidence without treating it as settlement","description":null,"scope":"investment:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"201","description":"Trade confirmation evidence recorded; Financial Action remains subject to custody reconciliation"}]},{"key":"post-actions-investment-execution-uid-custody","method":"POST","path":"\/actions\/investment-execution\/{uid}\/custody","summary":"Record independent custody settlement evidence and run canonical reconciliation","description":"Custody observations flow into the Financial Actions reconciliation engine. Trade confirmation alone does not close the action.","scope":"investment:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Custody observation evaluated through reconciliation and exception intelligence"},{"status":"422","description":"Invalid or insufficient custody settlement evidence"}]},{"key":"post-actions-investment-execution-uid-refresh","method":"POST","path":"\/actions\/investment-execution\/{uid}\/refresh","summary":"Refresh material investment-order scope and invalidate stale approval when needed","description":"Re-hashes the authoritative batch and order intents. Any material change resets required pre-trade evidence and invalidates current approval or execution authorization.","scope":"investment:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Refreshed material scope and control evidence"},{"status":"422","description":"Investment order batch could not be refreshed safely"}]},{"key":"get-actions-policies","method":"GET","path":"\/actions\/policies","summary":"List scoped Financial Actions policies and conditional rules","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Policy scope"}]},{"key":"get-actions-reconciliation","method":"GET","path":"\/actions\/reconciliation","summary":"List Financial Action settlement and reconciliation status","description":"Returns only governed action and settlement evidence. Provider submission is not treated as completion; successful actions require conservative settlement matching and a final reconciliation evidence seal.","scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":25}],"request_body":null,"responses":[{"status":"200","description":"Reconciliation state"}]},{"key":"get-actions-reconciliation-exceptions","method":"GET","path":"\/actions\/reconciliation-exceptions","summary":"List Financial Action reconciliation exceptions","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":25}],"request_body":null,"responses":[{"status":"200","description":"Amount"}]},{"key":"post-actions-reconciliation-exceptions-uid-resolve","method":"POST","path":"\/actions\/reconciliation-exceptions\/{uid}\/resolve","summary":"Resolve a Financial Action reconciliation exception with retained evidence","description":"Resolution records the investigation outcome and actor without deleting or rewriting the original exception evidence.","scope":"actions:execute","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"resolution":"string"}},"responses":[{"status":"200","description":"Exception resolved with updated evidence hash"},{"status":"422","description":"Exception is not open or the resolution evidence is invalid"}]},{"key":"get-actions-risk-rules","method":"GET","path":"\/actions\/risk-rules","summary":"List active and historical dynamic Financial Action risk rules","description":null,"scope":"actions:read","group":"Financial Actions","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace and policy-scoped risk rules with conditions"}]},{"key":"get-companies","method":"GET","path":"\/companies","summary":"List company-finance workspaces","description":null,"scope":"financial:analysis:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Companies with source and coverage metadata"}]},{"key":"get-companies-company","method":"GET","path":"\/companies\/{company}","summary":"Read company finance profile and data coverage","description":null,"scope":"financial:analysis:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"company","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Company finance profile"}]},{"key":"get-companies-company-analysis","method":"GET","path":"\/companies\/{company}\/analysis","summary":"Read company analysis, financial resilience, DCF and linked forecast","description":null,"scope":"financial:analysis:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"company","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Deterministic analysis with methodology disclosures"}]},{"key":"get-companies-company-financials","method":"GET","path":"\/companies\/{company}\/financials","summary":"Read normalized financial periods with source provenance","description":null,"scope":"financial:analysis:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"company","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Financial periods; unavailable values remain null"}]},{"key":"get-companies-company-ratios","method":"GET","path":"\/companies\/{company}\/ratios","summary":"Read deterministic financial ratios","description":null,"scope":"financial:analysis:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"company","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Liquidity"}]},{"key":"post-companies-company-scenarios","method":"POST","path":"\/companies\/{company}\/scenarios","summary":"Run deterministic company revenue and expense scenarios","description":null,"scope":"financial:analysis:run","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"company","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"201","description":"Scenario comparison against the latest recorded period"}]},{"key":"post-companies-company-valuations","method":"POST","path":"\/companies\/{company}\/valuations","summary":"Run free-cash-flow DCF valuation","description":null,"scope":"financial:analysis:run","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"company","required":true,"type":"integer","description":null,"example":1}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"wacc":1,"terminal_growth":1}},"responses":[{"status":"201","description":"DCF result with explicit assumptions and sensitivity evidence"},{"status":"422","description":"Insufficient free-cash-flow evidence or invalid assumptions"}]},{"key":"get-data-datasets","method":"GET","path":"\/data\/datasets","summary":"List datasets currently licensed for FinanceGPT API redistribution","description":null,"scope":"data:reference:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Redistributable dataset catalogue"}]},{"key":"get-data-economics-series","method":"GET","path":"\/data\/economics\/series","summary":"Search licence-governed economic series","description":null,"scope":"data:economics:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Economic series"}]},{"key":"get-data-economics-series-key","method":"GET","path":"\/data\/economics\/series\/{key}","summary":"Get an economic series profile","description":null,"scope":"data:economics:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"key","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Economic series profile"}]},{"key":"get-data-economics-series-key-observations","method":"GET","path":"\/data\/economics\/series\/{key}\/observations","summary":"Get economic observations and vintages","description":null,"scope":"data:economics:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"key","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Economic observations with vintages"}]},{"key":"get-data-instruments","method":"GET","path":"\/data\/instruments","summary":"Search the canonical FinanceGPT securities master","description":null,"scope":"data:reference:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Canonical instruments"}]},{"key":"get-data-instruments-uid","method":"GET","path":"\/data\/instruments\/{uid}","summary":"Get a canonical instrument, issuer, venue and identifiers","description":null,"scope":"data:reference:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Instrument profile"}]},{"key":"get-data-instruments-uid-corporate-actions","method":"GET","path":"\/data\/instruments\/{uid}\/corporate-actions","summary":"Get normalized corporate actions","description":null,"scope":"data:market:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Corporate actions"}]},{"key":"get-data-instruments-uid-fundamentals","method":"GET","path":"\/data\/instruments\/{uid}\/fundamentals","summary":"Get standardized fundamental facts","description":null,"scope":"data:fundamentals:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Fundamental facts with provenance"}]},{"key":"get-data-instruments-uid-prices","method":"GET","path":"\/data\/instruments\/{uid}\/prices","summary":"Get licence-governed normalized price history","description":null,"scope":"data:market:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Price bars with provenance"}]},{"key":"get-data-tables","method":"GET","path":"\/data\/tables","summary":"Read governed FinanceGPT Data Studio tables","description":null,"scope":"data:tables:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace Data Studio tables with source lineage"}]},{"key":"get-data-tables-uid","method":"GET","path":"\/data\/tables\/{uid}","summary":"Read one governed Data Studio table and bounded preview","description":null,"scope":"data:tables:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Table schema"}]},{"key":"post-data-tables-uid-ask","method":"POST","path":"\/data\/tables\/{uid}\/ask","summary":"Plan and execute a governed natural-language Data Studio operation","description":"Uses the NI6 Universal Model Switching contract for the language-planning stage, then executes only allow-listed deterministic table operations.","scope":"data:tables:run","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"prompt":"string","model_selection":"auto_native","financegpt_model":"string"}},"responses":[{"status":"201","description":"Deterministic Data Studio operation result"},{"status":"422","description":"Language planning or bounded operation validation failed"}]},{"key":"post-data-tables-uid-operations","method":"POST","path":"\/data\/tables\/{uid}\/operations","summary":"Execute an allow-listed deterministic Data Studio operation pipeline","description":null,"scope":"data:tables:run","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"operations":[[]]}},"responses":[{"status":"200","description":"Deterministic operation evidence with specification\/result hashes and bounded preview"},{"status":"422","description":"Invalid or unsupported operation specification"}]},{"key":"get-financial-snapshots","method":"GET","path":"\/financial\/snapshots","summary":"List normalized connected financial snapshots","description":null,"scope":"financial:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"provider","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"from","required":false,"type":"string","description":null,"example":"2026-08-16"},{"in":"query","name":"to","required":false,"type":"string","description":null,"example":"2026-08-16"},{"in":"query","name":"after_id","required":false,"type":"integer","description":null,"example":1},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":50}],"request_body":null,"responses":[{"status":"200","description":"Financial snapshots"}]},{"key":"get-financial-transactions","method":"GET","path":"\/financial\/transactions","summary":"List normalized connected financial transactions","description":null,"scope":"financial:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"provider","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"direction","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"status","required":false,"type":"string","description":null,"example":"string"},{"in":"query","name":"from","required":false,"type":"string","description":null,"example":"2026-08-16"},{"in":"query","name":"to","required":false,"type":"string","description":null,"example":"2026-08-16"},{"in":"query","name":"after_id","required":false,"type":"integer","description":null,"example":1},{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":100}],"request_body":null,"responses":[{"status":"200","description":"Financial transactions"}]},{"key":"get-planning-forecasts","method":"GET","path":"\/planning\/forecasts","summary":"List governed FinanceGPT forecasts","description":null,"scope":"planning:read","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Forecasts"}]},{"key":"post-planning-forecasts","method":"POST","path":"\/planning\/forecasts","summary":"Generate and persist a backtest-selected forecast","description":null,"scope":"planning:forecast:create","group":"Financial Data & Planning","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"metric":"string","company_id":1,"horizon":6,"reason":"string"}},"responses":[{"status":"201","description":"Forecast generated"},{"status":"422","description":"Insufficient history or invalid input"}]},{"key":"get-knowledge-bases","method":"GET","path":"\/knowledge\/bases","summary":"List accessible FinanceGPT Knowledge Intelligence bases","description":null,"scope":null,"group":"Knowledge Intelligence","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Knowledge base catalogue"}]},{"key":"get-knowledge-documents","method":"GET","path":"\/knowledge\/documents","summary":"List workspace-visible ready knowledge documents","description":null,"scope":null,"group":"Knowledge Intelligence","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Knowledge documents"}]},{"key":"post-knowledge-documents","method":"POST","path":"\/knowledge\/documents","summary":"Ingest a document into a workspace-visible knowledge base","description":"Stores the raw file privately and extracts deterministic source lineage. Image-only PDFs require a separately configured OCR-capable ingestion path.","scope":null,"group":"Knowledge Intelligence","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"multipart\/form-data","schema_type":"object","example":{"base_uid":"00000000-0000-4000-8000-000000000001","file":"string","title":"string","data_classification":"public"}},"responses":[{"status":"201","description":"Document ingested"},{"status":"422","description":"File stored but extraction failed or was unsupported"}]},{"key":"get-knowledge-documents-uid","method":"GET","path":"\/knowledge\/documents\/{uid}","summary":"Read knowledge document metadata and lineage counts","description":null,"scope":null,"group":"Knowledge Intelligence","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Knowledge document metadata"}]},{"key":"post-knowledge-query","method":"POST","path":"\/knowledge\/query","summary":"Ask FinanceGPT against permission-scoped Knowledge Intelligence evidence","description":"Retrieval fails closed when no accessible evidence matches. Managed AI consumes FinanceGPT AI Credits under AI3 enforcement; BYOK remains customer-provider-direct under AI6\/AI7 policy.","scope":null,"group":"Knowledge Intelligence","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"question":"string","base_uid":"00000000-0000-4000-8000-000000000001","document_uid":"00000000-0000-4000-8000-000000000001","model_selection":"auto_native","financegpt_model":"financegpt-research"}},"responses":[{"status":"200","description":"Source-grounded answer with citations and AI billing mode"},{"status":"409","description":"AI route unavailable or credit\/provider policy requires user action"}]},{"key":"get-lqm-commercial-model","method":"GET","path":"\/lqm\/commercial-model","summary":"Read the governed LQM commercial model","description":"Returns product-policy categories and authority guardrails. It does not assert a model is FinanceGPT-trained without supporting provenance and does not enable billing.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"LQM commercial categories and guardrails"}]},{"key":"post-lqm-datasets-dataset-contracts","method":"POST","path":"\/lqm\/datasets\/{dataset}\/contracts","summary":"Seal a numeric LQM training-data contract","description":"Validates the quantitative-only input boundary and seals source, feature-schema and lineage hashes without copying raw payload data into the lineage record.","scope":"lqm:build:write","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"dataset","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"201","description":"Immutable LQM dataset contract"},{"status":"409","description":"Dataset is ineligible"}]},{"key":"get-lqm-developer-manifest","method":"GET","path":"\/lqm\/developer-manifest","summary":"Read the machine-readable LQM developer platform contract","description":"Returns the canonical quantitative-only LQM definition, lifecycle, least-privilege capability profiles, API endpoint catalog, evidence contract and non-negotiable execution boundaries. Public model-hub publishing is reported separately and is not implied by internal promotion.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"LQM developer platform manifest"},{"status":"403","description":"Credential does not have lqm:build:read"}]},{"key":"get-lqm-evaluation-runs-evaluationuid","method":"GET","path":"\/lqm\/evaluation-runs\/{evaluationUid}","summary":"Read a governed LQM evaluation run","description":null,"scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"evaluationUid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Evaluation state"},{"status":"404","description":"LQM evaluation run not found in this workspace"}]},{"key":"get-lqm-evidence-packets-packetuid","method":"GET","path":"\/lqm\/evidence-packets\/{packetUid}","summary":"Read one immutable LQM Evidence Packet","description":null,"scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"packetUid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Typed packet"},{"status":"404","description":"Evidence Packet not found in this workspace"}]},{"key":"post-lqm-evidence-packets-packetuid-verify","method":"POST","path":"\/lqm\/evidence-packets\/{packetUid}\/verify","summary":"Independently verify an LQM Evidence Packet and model evidence chain","description":"Recomputes the schema hash, packet hash, output hash and hash-linked per-model evidence ledger and re-attests the checkpoint and evaluation hashes. Verification never grants model promotion or Financial Actions authority.","scope":"lqm:build:run","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"packetUid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Evidence Packet verification passed"},{"status":"409","description":"One or more packet or ledger integrity checks failed"}]},{"key":"get-lqm-models","method":"GET","path":"\/lqm\/models","summary":"List governed workspace LQM registry records","description":null,"scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace LQM registry records"}]},{"key":"post-lqm-models","method":"POST","path":"\/lqm\/models","summary":"Register a quantitative LQM before training","description":"Creates the canonical model identity in the existing FinanceGPT ML registry and attaches an LQM profile. This does not start training.","scope":"lqm:build:write","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"name":"string","task_family":"forecasting","intended_use":"string","license":"string"}},"responses":[{"status":"201","description":"LQM registered; training remains gated"},{"status":"422","description":"Invalid LQM registration"}]},{"key":"get-lqm-models-uid","method":"GET","path":"\/lqm\/models\/{uid}","summary":"Read an LQM registry record and its sealed training specifications","description":null,"scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"LQM registry record"},{"status":"404","description":"LQM not found in this workspace"}]},{"key":"get-lqm-models-uid-developer-manifest","method":"GET","path":"\/lqm\/models\/{uid}\/developer-manifest","summary":"Read model-specific LQM developer readiness","description":"Returns the exact workspace model lifecycle state and whether training, evaluation, Evidence Packet issuance, model-hub publishing, promotion and QLM composition are currently eligible. Gated operations include reason codes and never bypass their underlying governance checks.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Model-specific LQM developer manifest"},{"status":"404","description":"LQM not found in this workspace"}]},{"key":"get-lqm-models-uid-drift-assessments","method":"GET","path":"\/lqm\/models\/{uid}\/drift-assessments","summary":"List LQM drift assessments","description":null,"scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Deterministic data\/model-quality drift evidence"}]},{"key":"post-lqm-models-uid-drift-assessments","method":"POST","path":"\/lqm\/models\/{uid}\/drift-assessments","summary":"Run deterministic LQM drift assessment","description":"Compares a newer governed numeric dataset with the latest passing evaluated checkpoint, records metric evidence in the existing ML drift store and may create a review-gated retraining request.","scope":"lqm:build:run","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"dataset_id":1}},"responses":[{"status":"201","description":"Drift assessment sealed with SHA-256"},{"status":"409","description":"Dataset or evaluated checkpoint is ineligible"}]},{"key":"post-lqm-models-uid-evaluate","method":"POST","path":"\/lqm\/models\/{uid}\/evaluate","summary":"Evaluate a sealed LQM checkpoint","description":"Queues the versioned statistical-fidelity and financial robustness suite against an exact checkpoint SHA-256 and unchanged dataset contract. Passing does not activate, publish or promote the checkpoint.","scope":"lqm:build:run","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"training_run_uid":"string"}},"responses":[{"status":"202","description":"LQM evaluation queued"},{"status":"409","description":"Checkpoint"}]},{"key":"get-lqm-models-uid-evaluations","method":"GET","path":"\/lqm\/models\/{uid}\/evaluations","summary":"List LQM checkpoint evaluations","description":"Returns versioned statistical-fidelity, temporal, cross-series, tail, diversity and robustness gate evidence for this LQM.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Governed LQM evaluation records"}]},{"key":"get-lqm-models-uid-evidence-packets","method":"GET","path":"\/lqm\/models\/{uid}\/evidence-packets","summary":"List sealed Evidence Packets for an LQM","description":null,"scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Workspace-scoped immutable Evidence Packet history"}]},{"key":"post-lqm-models-uid-evidence-packets","method":"POST","path":"\/lqm\/models\/{uid}\/evidence-packets","summary":"Generate an Evidence Packet from a passed LQM checkpoint","description":"Runs bounded deterministic-seed inference against the exact evaluated checkpoint, records the existing ML inference run, seals typed quantitative output and appends a hash-linked model evidence ledger event. This does not activate, publish or promote the checkpoint.","scope":"lqm:build:run","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"evaluation_uid":"string","seed":0,"sample_count":5}},"responses":[{"status":"201","description":"Immutable LQM Evidence Packet issued"},{"status":"409","description":"Evaluation"}]},{"key":"get-lqm-models-uid-evidence-schema","method":"GET","path":"\/lqm\/models\/{uid}\/evidence-schema","summary":"Read the versioned LQM Evidence Packet schema","description":"Returns the immutable JSON contract and schema SHA-256 that a QLM language runtime may consume as typed quantitative evidence. It exposes no LQM latent state.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Versioned LQM Evidence Packet JSON schema and seal"},{"status":"404","description":"LQM not found in this workspace"}]},{"key":"get-lqm-models-uid-operations-policy","method":"GET","path":"\/lqm\/models\/{uid}\/operations-policy","summary":"Read governed LQM training operations policy","description":"Returns drift cadence, deterministic thresholds, cooldown, evaluation age policy and the mandatory human-review boundary.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"LQM operations policy or null when not configured"}]},{"key":"put-lqm-models-uid-operations-policy","method":"PUT","path":"\/lqm\/models\/{uid}\/operations-policy","summary":"Configure LQM drift and retraining operations","description":"Configures monitoring and retraining-request policy. This never changes the active model version and never grants automatic promotion.","scope":"lqm:build:write","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"cadence":"daily","scheduled_retraining_enabled":true,"drift_monitoring_enabled":true,"automatic_request_creation":true,"cooldown_hours":1,"evaluation_max_age_days":1,"thresholds":[]}},"responses":[{"status":"200","description":"Governed operations policy sealed with SHA-256"},{"status":"409","description":"Invalid policy or LQM context"}]},{"key":"post-lqm-models-uid-promote","method":"POST","path":"\/lqm\/models\/{uid}\/promote","summary":"Promote an evaluated LQM checkpoint into Quant Models","description":"Requires an attributable human approver, a passing evaluation, a verified Evidence Packet and an acceptable drift posture. Promotion may activate the exact governed ML and Quant Models version but never grants language or Financial Actions authority.","scope":"lqm:promote:write","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"model_version_id":1,"human_confirmation":true,"decision_note":"string"}},"responses":[{"status":"201","description":"Exact LQM checkpoint promoted into Quant Models"},{"status":"409","description":"Promotion rejected by evaluation"}]},{"key":"get-lqm-models-uid-promotions","method":"GET","path":"\/lqm\/models\/{uid}\/promotions","summary":"List governed LQM promotions for a workspace model","description":"Returns promotion decisions that project exact evaluated LQM checkpoints into the workspace Quant Models catalog.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"LQM promotion history and control evidence"}]},{"key":"get-lqm-models-uid-publications","method":"GET","path":"\/lqm\/models\/{uid}\/publications","summary":"List governed model-hub publications for an LQM","description":"Returns publication state, builder attribution, repository revision and immutable supply-chain hashes. Publication does not activate or promote the checkpoint inside FinanceGPT.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"LQM model-hub publication history and supply-chain evidence"},{"status":"404","description":"LQM not found in this workspace"}]},{"key":"post-lqm-models-uid-publish","method":"POST","path":"\/lqm\/models\/{uid}\/publish","summary":"Publish an evaluated LQM checkpoint to the configured model hub","description":"Requires an attributable human builder, an active workspace publishing connection, exact sealed checkpoint lineage, all required evaluation gates passing, an independently verified Evidence Packet, acceptable drift posture and explicit confirmation of the selected checkpoint and license. Publishing never changes an active model version or QLM binding.","scope":"lqm:publish:write","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"model_version_id":1,"license":"string","repository_name":"string","visibility":"public","human_confirmation":true}},"responses":[{"status":"202","description":"Governed model-hub publication queued"},{"status":"403","description":"No attributable human creator is available for the API application"},{"status":"409","description":"Publishing rejected by connection, evaluation, evidence, drift, repository or human-confirmation controls"}]},{"key":"get-lqm-models-uid-retraining-requests","method":"GET","path":"\/lqm\/models\/{uid}\/retraining-requests","summary":"List governed LQM retraining requests","description":null,"scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Review-gated retraining requests and candidate state"}]},{"key":"post-lqm-models-uid-retraining-requests","method":"POST","path":"\/lqm\/models\/{uid}\/retraining-requests","summary":"Create an LQM retraining request","description":"Creates a human-review request against a governed numeric dataset without starting training or changing active_version_id.","scope":"lqm:build:write","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"dataset_id":1,"reason_code":"string"}},"responses":[{"status":"201","description":"Retraining request created in pending review state"},{"status":"409","description":"Retraining request rejected by policy or lineage checks"}]},{"key":"get-lqm-models-uid-training-runs","method":"GET","path":"\/lqm\/models\/{uid}\/training-runs","summary":"List governed VAE-GAN training runs for an LQM","description":"Returns queued, running, failed and completed training runs. Completed runs include exact parameter count, checkpoint SHA-256, training metrics and runtime evidence, but remain non-promotable until the required LQM evaluation suite passes.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"LQM training-run records"}]},{"key":"post-lqm-models-uid-training-runs","method":"POST","path":"\/lqm\/models\/{uid}\/training-runs","summary":"Queue a sealed LQM VAE-GAN training run","description":"Binds an immutable training specification to the existing FinanceGPT ML training-job control plane and private numeric runtime. Successful training seals a model version but never activates or promotes it.","scope":"lqm:build:run","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"training_spec_uid":"string"}},"responses":[{"status":"202","description":"Governed VAE-GAN training queued"},{"status":"409","description":"Runtime unavailable"}]},{"key":"get-lqm-models-uid-training-specs","method":"GET","path":"\/lqm\/models\/{uid}\/training-specs","summary":"List immutable pre-training specifications for an LQM","description":null,"scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Sealed LQM training specifications"}]},{"key":"post-lqm-models-uid-training-specs","method":"POST","path":"\/lqm\/models\/{uid}\/training-specs","summary":"Seal a reproducible VAE-GAN training specification","description":"Fixes dataset contract, random seed, split, VAE-GAN architecture and bounded training configuration before compute execution. It does not itself create or run a training job.","scope":"lqm:build:write","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"dataset_contract_uid":"string","random_seed":0,"training_config":[]}},"responses":[{"status":"201","description":"Immutable pre-training lineage specification"},{"status":"409","description":"Dataset contract or training configuration rejected"}]},{"key":"get-lqm-platform","method":"GET","path":"\/lqm\/platform","summary":"Read the governed LQM Builder platform foundation","description":"Returns the canonical LQM terminology, reused FinanceGPT infrastructure, quantitative-only execution boundaries, required schema readiness and workspace-level foundation counts. LQMs are quantitative\/generative modules; language generation and Financial Actions authority remain outside this contract.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"LQM platform foundation contract and readiness"},{"status":"403","description":"Credential does not have lqm:build:read"}]},{"key":"post-lqm-promotions-promotionuid-retire","method":"POST","path":"\/lqm\/promotions\/{promotionUid}\/retire","summary":"Retire an active LQM Quant Models promotion","description":"Human retirement disables the promoted Quant Models version. Existing QLM versions remain immutable and fail closed rather than silently rebinding to another checkpoint.","scope":"lqm:promote:write","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"promotionUid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"decision_note":"string"}},"responses":[{"status":"200","description":"Promotion retired"},{"status":"409","description":"Promotion is not active or cannot be retired"}]},{"key":"get-lqm-publications-publicationuid","method":"GET","path":"\/lqm\/publications\/{publicationUid}","summary":"Read an LQM model-hub publication and supply-chain evidence","description":"Returns repository identity and revision, checkpoint\/evaluation\/Evidence Packet hashes, builder attribution, publication bundle hashes, remote artifact hashes and the hash-linked supply-chain head. Credential material is never returned.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"publicationUid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"LQM publication record and immutable artifact evidence"},{"status":"404","description":"Publication not found in this workspace"}]},{"key":"post-lqm-retraining-requests-requestuid-advance","method":"POST","path":"\/lqm\/retraining-requests\/{requestUid}\/advance","summary":"Advance an approved LQM retraining lifecycle","description":"Advances only an explicitly approved request through sealed training and the required evaluation suite. A passing result becomes candidate_ready for a separate governed promotion review; active_version_id remains unchanged by retraining.","scope":"lqm:build:run","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"requestUid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"202","description":"Retraining lifecycle advanced or remains waiting on queued compute"},{"status":"409","description":"Training or evaluation lineage failed"}]},{"key":"post-lqm-retraining-requests-requestuid-decision","method":"POST","path":"\/lqm\/retraining-requests\/{requestUid}\/decision","summary":"Decide an LQM retraining request","description":"Explicit human approval authorizes candidate training only. Reject and cancel remain non-executing decisions; none of these operations promote or activate a checkpoint.","scope":"lqm:build:write","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"requestUid","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"decision":"approve","note":"string"}},"responses":[{"status":"200","description":"Review decision recorded"},{"status":"409","description":"Request is not in a reviewable state"}]},{"key":"get-lqm-training-runs-runuid","method":"GET","path":"\/lqm\/training-runs\/{runUid}","summary":"Read a governed LQM training run and checkpoint evidence","description":null,"scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"runUid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Training state"},{"status":"404","description":"LQM training run not found in this workspace"}]},{"key":"get-lqm-usage-evidence","method":"GET","path":"\/lqm\/usage-evidence","summary":"Read workspace LQM usage evidence","description":"Returns permission-scoped LQM training, evaluation, inference, QLM Evidence Packet usage and explicitly recorded workflow-outcome measurements for the current workspace.","scope":"lqm:build:read","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"days","required":false,"type":"integer","description":null,"example":30}],"request_body":null,"responses":[{"status":"200","description":"Workspace LQM usage evidence"}]},{"key":"post-lqm-workflow-outcomes","method":"POST","path":"\/lqm\/workflow-outcomes","summary":"Record a workspace LQM workflow outcome observation","description":"Records an explicitly supplied measurement such as paired manual and assisted duration, task success, business-unit attribution or avoided premium calls. The observation is self-reported and remains unverified until separately reviewed.","scope":"lqm:build:write","group":"LQM Builder","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"source_reference":"string","business_unit_key":"string","model_id":1,"model_version_id":1,"manual_duration_ms":0,"assisted_duration_ms":0,"task_success":true,"quality_score_bps":0,"avoided_premium_calls":0,"cost_minor":0,"currency":"string","evidence_reference":"string"}},"responses":[{"status":"201","description":"Self-reported LQM workflow-outcome observation recorded"},{"status":"422","description":"Workflow-outcome evidence rejected by validation controls"}]},{"key":"get-generative-models","method":"GET","path":"\/generative\/models","summary":"List approved FinanceGPT generative financial models","description":null,"scope":"generative:models:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Approved model cards"}]},{"key":"post-generative-paths","method":"POST","path":"\/generative\/paths","summary":"Generate reproducible multi-period synthetic financial stress paths","description":null,"scope":"generative:inference","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"regime":"contraction","samples":3,"horizon":6,"seed":42,"stress":[]}},"responses":[{"status":"201","description":"Seeded multi-period path run with model\/version\/source hashes"},{"status":"409","description":"Approved time-series model or synchronized feature context unavailable"}]},{"key":"get-generative-runs","method":"GET","path":"\/generative\/runs","summary":"Read workspace generative-model run history","description":null,"scope":"generative:models:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":25},{"in":"query","name":"type","required":false,"type":"string","description":null,"example":"conditional_scenario"}],"request_body":null,"responses":[{"status":"200","description":"Workspace-scoped run history with seeds and reproducibility hashes"}]},{"key":"get-generative-runs-uid","method":"GET","path":"\/generative\/runs\/{uid}","summary":"Retrieve one reproducible generative finance run","description":null,"scope":"generative:models:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Generative run result"}]},{"key":"post-generative-scenarios","method":"POST","path":"\/generative\/scenarios","summary":"Generate reproducible regime-conditioned financial scenarios","description":null,"scope":"generative:inference","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"regime":"contraction","samples":5,"seed":42,"stress":[]}},"responses":[{"status":"201","description":"Seeded conditional scenario run with reproducibility hashes"},{"status":"409","description":"Approved model or synchronized feature context unavailable"}]},{"key":"post-quant-compute-backtests","method":"POST","path":"\/quant\/compute\/backtests","summary":"Queue a governed historical backtest","description":null,"scope":"quant:compute:run","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"input":[],"service_class":"string","region":"string"}},"responses":[{"status":"202","description":"Durable queued backtest job; poll the returned job URL"},{"status":"422","description":"Invalid or oversized compute input"}]},{"key":"get-quant-compute-jobs","method":"GET","path":"\/quant\/compute\/jobs","summary":"List workspace Quant Compute Cloud jobs","description":null,"scope":"quant:compute:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":25},{"in":"query","name":"type","required":false,"type":"string","description":null,"example":"backtest"}],"request_body":null,"responses":[{"status":"200","description":"Durable compute job history without decrypted submission inputs"}]},{"key":"get-quant-compute-jobs-uid","method":"GET","path":"\/quant\/compute\/jobs\/{uid}","summary":"Retrieve one Quant Compute Cloud job and completed result","description":null,"scope":"quant:compute:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Workspace-scoped job status"}]},{"key":"post-quant-compute-jobs-uid-cancel","method":"POST","path":"\/quant\/compute\/jobs\/{uid}\/cancel","summary":"Cancel a queued Quant Compute Cloud job","description":null,"scope":"quant:compute:run","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Queued job cancelled"},{"status":"409","description":"Running or terminal jobs cannot be cancelled"}]},{"key":"post-quant-compute-optimizations","method":"POST","path":"\/quant\/compute\/optimizations","summary":"Queue a bounded parameter-grid optimization over an approved FinanceGPT model","description":null,"scope":"quant:compute:run","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"input":[],"service_class":"string","region":"string"}},"responses":[{"status":"202","description":"Durable queued optimization job; poll the returned job URL"},{"status":"422","description":"Invalid model"}]},{"key":"post-quant-compute-simulations","method":"POST","path":"\/quant\/compute\/simulations","summary":"Queue a seeded Monte Carlo simulation","description":null,"scope":"quant:compute:run","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"input":[],"service_class":"string","region":"string"}},"responses":[{"status":"202","description":"Durable queued simulation job; poll the returned job URL"},{"status":"422","description":"Invalid or oversized compute input"}]},{"key":"get-quant-features","method":"GET","path":"\/quant\/features","summary":"List governed FinanceGPT point-in-time feature definitions","description":null,"scope":"quant:features:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Feature catalogue"}]},{"key":"get-quant-features-key","method":"GET","path":"\/quant\/features\/{key}","summary":"Get one governed financial feature definition","description":null,"scope":"quant:features:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"key","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Feature definition and methodology"}]},{"key":"get-quant-features-key-values","method":"GET","path":"\/quant\/features\/{key}\/values","summary":"Get look-ahead-safe API-releasable feature values for a canonical instrument","description":null,"scope":"quant:features:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"key","required":true,"type":"string","description":null,"example":"string"},{"in":"query","name":"instrument_uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Point-in-time feature values with lineage"}]},{"key":"get-quant-model-runs","method":"GET","path":"\/quant\/model-runs","summary":"Read workspace quantitative-model execution history","description":null,"scope":"quant:models:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":25}],"request_body":null,"responses":[{"status":"200","description":"Workspace model execution history without decrypted model inputs"}]},{"key":"get-quant-model-tournaments","method":"GET","path":"\/quant\/model-tournaments","summary":"List workspace forecast-model tournaments","description":null,"scope":"quant:models:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"query","name":"limit","required":false,"type":"integer","description":null,"example":25}],"request_body":null,"responses":[{"status":"200","description":"Workspace tournament history"}]},{"key":"post-quant-model-tournaments","method":"POST","path":"\/quant\/model-tournaments","summary":"Run a governed holdout forecast-model tournament","description":null,"scope":"quant:models:run","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"series":[1],"name":"string","holdout":2,"forecast_horizon":1,"metric":"mae","candidate_models":["string"]}},"responses":[{"status":"201","description":"Completed tournament with candidate errors and selected forecast"},{"status":"422","description":"Invalid tournament input or no successful candidates"}]},{"key":"get-quant-model-tournaments-uid","method":"GET","path":"\/quant\/model-tournaments\/{uid}","summary":"Retrieve one governed forecast-model tournament","description":null,"scope":"quant:models:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Tournament result and candidate evaluation metrics"}]},{"key":"get-quant-models","method":"GET","path":"\/quant\/models","summary":"List validated deterministic FinanceGPT quantitative models","description":null,"scope":"quant:models:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Quantitative model registry and active model cards"}]},{"key":"get-quant-models-key","method":"GET","path":"\/quant\/models\/{key}","summary":"Get one quantitative model card, schema, methodology and validation evidence","description":null,"scope":"quant:models:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"key","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Quantitative model card"}]},{"key":"post-quant-models-key-run","method":"POST","path":"\/quant\/models\/{key}\/run","summary":"Execute a validated deterministic quantitative model","description":null,"scope":"quant:models:run","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"key","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"input":[]}},"responses":[{"status":"201","description":"Versioned model output with reproducibility hashes"},{"status":"422","description":"Invalid model input"}]},{"key":"get-quant-projects","method":"GET","path":"\/quant\/projects","summary":"List workspace quantitative research projects","description":null,"scope":"quant:research:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace research projects"}]},{"key":"post-quant-research-runs","method":"POST","path":"\/quant\/research\/runs","summary":"Run a governed feature-quality experiment against a sealed snapshot","description":null,"scope":"quant:research:run","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"201","description":"Reproducible experiment result"}]},{"key":"post-quant-research-snapshots","method":"POST","path":"\/quant\/research\/snapshots","summary":"Generate a sealed point-in-time research feature matrix","description":null,"scope":"quant:research:run","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":{"project_id":1,"as_of_date":"2026-08-16"}},"responses":[{"status":"201","description":"Sealed research snapshot"}]},{"key":"get-quant-research-snapshots-uid","method":"GET","path":"\/quant\/research\/snapshots\/{uid}","summary":"Retrieve a sealed research snapshot and its point-in-time feature rows","description":null,"scope":"quant:research:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Sealed snapshot and feature matrix"}]},{"key":"get-quant-statistical-models","method":"GET","path":"\/quant\/statistical-models","summary":"List FinanceGPT forecasting, econometrics, volatility, factor and statistical-risk models","description":null,"scope":"quant:models:read","group":"Quant & Models","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"M19 statistical model registry cards"}]},{"key":"get-agent-execution-workflows","method":"GET","path":"\/agent-execution\/workflows","summary":"List published immutable Workflow Studio tools allowed for the signed external agent","description":"Returns only explicitly published, pinned immutable production workflow versions inside the active workflow-specific grant. Discovery does not grant human-review or Financial Action authority.","scope":"agent:execution:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Governed workflow tool catalogue"},{"status":"422","description":"No active workflow-specific grant or operation outside scope"}]},{"key":"post-agent-execution-workflows-a2a","method":"POST","path":"\/agent-execution\/workflows\/a2a","summary":"Invoke the signed Workflow Studio agent-to-agent gateway","description":"Dispatches workflow operations only inside an approved base Agent Execution grant plus a separate explicit workflow-tool allowlist.","scope":"agent:execution:invoke","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Governed A2A workflow result"},{"status":"202","description":"Workflow invocation accepted"},{"status":"422","description":"Operation outside grant or workflow control boundary"}]},{"key":"post-agent-execution-workflows-mcp","method":"POST","path":"\/agent-execution\/workflows\/mcp","summary":"Invoke the signed Workflow Studio MCP gateway","description":"Supports workflow tool discovery, use-case discovery, invocation, status, cancellation and outcome retrieval under the existing Ed25519 Agent Execution identity and grant controls.","scope":"agent:execution:invoke","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Governed MCP workflow result"},{"status":"202","description":"Workflow invocation accepted"},{"status":"422","description":"Tool or operation outside workflow grant"}]},{"key":"get-agent-execution-workflows-runs-uid","method":"GET","path":"\/agent-execution\/workflows\/runs\/{uid}","summary":"Read an external-agent workflow invocation","description":null,"scope":"agent:execution:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Durable Workflow Studio invocation state"}]},{"key":"post-agent-execution-workflows-runs-uid-cancel","method":"POST","path":"\/agent-execution\/workflows\/runs\/{uid}\/cancel","summary":"Request cancellation of the client's own non-terminal workflow invocation","description":"Cancellation is available only when the original workflow-specific grant permits it and does not reverse external side effects already governed by their systems of record.","scope":"agent:execution:invoke","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"202","description":"Cancellation requested"},{"status":"422","description":"Cancellation outside grant or run state"}]},{"key":"get-agent-execution-workflows-runs-uid-outcome","method":"GET","path":"\/agent-execution\/workflows\/runs\/{uid}\/outcome","summary":"Read measured workflow outcome evidence","description":"Returns measured run, node, retry, artifact, event and Financial Action outcome evidence. Estimated metrics appear only when an explicitly approved workspace baseline exists and remain labelled estimated.","scope":"agent:execution:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Workflow outcome evidence"},{"status":"422","description":"Outcome unavailable before terminal run state"}]},{"key":"post-agent-execution-workflows-tools-uid-runs","method":"POST","path":"\/agent-execution\/workflows\/tools\/{uid}\/runs","summary":"Invoke a published immutable production workflow","description":"Starts an asynchronous S4 Workflow Studio run through an explicit external-agent workflow grant. Human-review nodes remain human and Financial Action nodes enter the canonical Financial Actions control plane.","scope":"agent:execution:invoke","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"202","description":"Workflow invocation accepted"},{"status":"422","description":"Tool"}]},{"key":"get-agent-execution-workflows-use-cases","method":"GET","path":"\/agent-execution\/workflows\/use-cases","summary":"List the canonical FinanceGPT workflow use-case catalogue","description":"Returns the 55 governed use cases and their risk\/execution posture for external-agent discovery without installing or executing them.","scope":"agent:execution:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Canonical use-case catalogue"}]},{"key":"post-workflow-event-mesh-source-uid","method":"POST","path":"\/workflow-event-mesh\/{source_uid}","summary":"Deliver a signed external event to an immutable Workflow Studio version","description":"Public webhook ingress authenticated with FinanceGPT HMAC v1 headers. The source is workspace-scoped, payloads are encrypted at rest, event IDs are idempotent, production sources pin immutable production workflow versions, and Marketplace-managed workflows cannot bypass Marketplace runtime controls through this endpoint.","scope":null,"group":"Workflows","authentication_required":false,"deprecated":false,"parameters":[{"in":"path","name":"source_uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"},{"in":"header","name":"X-FinanceGPT-Event-Timestamp","required":true,"type":"string","description":null,"example":"string"},{"in":"header","name":"X-FinanceGPT-Event-Id","required":true,"type":"string","description":null,"example":"string"},{"in":"header","name":"X-FinanceGPT-Signature","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":true,"content_type":"application\/json","schema_type":"object","example":[]},"responses":[{"status":"202","description":"Event accepted"},{"status":"401","description":"Signature"},{"status":"404","description":"Event source not found"},{"status":"409","description":"Event source inactive"},{"status":"413","description":"Event payload exceeds source limit"},{"status":"422","description":"Invalid event payload or signed-event headers"},{"status":"429","description":"Source rate limit reached"},{"status":"503","description":"Runtime temporarily busy; retry the same event ID"}]},{"key":"get-workflow-studio","method":"GET","path":"\/workflow-studio","summary":"Read Workflow Studio templates, durable runs and catalogue status","description":null,"scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workflow Studio workspace overview"}]},{"key":"get-workflow-studio-admission","method":"GET","path":"\/workflow-studio\/admission","summary":"Read workload admission policy, capacity context and recent decisions","description":null,"scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workflow admission control status"}]},{"key":"get-workflow-studio-admission-decisions","method":"GET","path":"\/workflow-studio\/admission\/decisions","summary":"Read recent durable workflow admission decisions","description":null,"scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Recent admission decisions"}]},{"key":"put-workflow-studio-admission-policy","method":"PUT","path":"\/workflow-studio\/admission\/policy","summary":"Update the workspace workload admission policy","description":"Observe mode records pressure without blocking. Enforce mode must be explicitly configured and affects only new workflow starts. It does not change worker counts or topology.","scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace admission policy updated"}]},{"key":"post-workflow-studio-events-key","method":"POST","path":"\/workflow-studio\/events\/{key}","summary":"Trigger a configured Workflow Studio event idempotently","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"key","required":true,"type":"string","description":null,"example":"string"},{"in":"header","name":"Idempotency-Key","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"202","description":"Durable Workflow Studio run accepted"},{"status":"422","description":"Idempotency-Key is missing or payload is invalid"}]},{"key":"get-workflow-studio-finops","method":"GET","path":"\/workflow-studio\/finops","summary":"Read Workflow FinOps and capacity intelligence","description":null,"scope":null,"group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workflow FinOps status"}]},{"key":"post-workflow-studio-finops-alerts-uid-acknowledge","method":"POST","path":"\/workflow-studio\/finops\/alerts\/{uid}\/acknowledge","summary":"Acknowledge a Workflow FinOps alert","description":null,"scope":null,"group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Alert acknowledged"}]},{"key":"post-workflow-studio-finops-alerts-uid-resolve","method":"POST","path":"\/workflow-studio\/finops\/alerts\/{uid}\/resolve","summary":"Resolve a Workflow FinOps alert","description":null,"scope":null,"group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"string"}],"request_body":null,"responses":[{"status":"200","description":"Alert resolved"}]},{"key":"put-workflow-studio-finops-policy","method":"PUT","path":"\/workflow-studio\/finops\/policy","summary":"Update observational Workflow FinOps policy","description":null,"scope":null,"group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workflow FinOps policy updated"}]},{"key":"post-workflow-studio-finops-refresh","method":"POST","path":"\/workflow-studio\/finops\/refresh","summary":"Refresh workflow cost attribution and capacity evidence","description":null,"scope":null,"group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workflow FinOps refreshed without automatic capacity changes"}]},{"key":"post-workflow-studio-nodes-uid-review","method":"POST","path":"\/workflow-studio\/nodes\/{uid}\/review","summary":"Record a human review for a governed workflow node","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"202","description":"Node review recorded; Financial Action creation remains separately governed"}]},{"key":"get-workflow-studio-operations","method":"GET","path":"\/workflow-studio\/operations","summary":"Read workspace Workflow Reliability operations, SLO evidence and runtime incidents","description":null,"scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workflow reliability operations"}]},{"key":"post-workflow-studio-operations-incidents-uid-acknowledge","method":"POST","path":"\/workflow-studio\/operations\/incidents\/{uid}\/acknowledge","summary":"Acknowledge a workspace Workflow Reliability runtime incident","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Runtime incident acknowledged"}]},{"key":"post-workflow-studio-operations-incidents-uid-resolve","method":"POST","path":"\/workflow-studio\/operations\/incidents\/{uid}\/resolve","summary":"Resolve a workspace Workflow Reliability runtime incident","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Runtime incident resolved"}]},{"key":"get-workflow-studio-qos","method":"GET","path":"\/workflow-studio\/qos","summary":"Read Workflow Queue QoS policy, latest fairness evidence and recent dispatch decisions","description":"S20 Observe preserves FIFO dispatch while recording weighted-fair shadow ordering. Enforce uses weighted-fair ordering after S19 admission.","scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workflow Queue QoS status"}]},{"key":"get-workflow-studio-qos-decisions","method":"GET","path":"\/workflow-studio\/qos\/decisions","summary":"Read recent durable S20 dispatch decisions","description":null,"scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Recent queue QoS dispatch decisions"}]},{"key":"put-workflow-studio-qos-policy","method":"PUT","path":"\/workflow-studio\/qos\/policy","summary":"Update workspace weighted-fair dispatch and queue-age QoS policy","description":"Policy changes do not alter S19 admission priority, worker counts, topology, queue backend, billing or Financial Action authority.","scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workspace queue QoS policy updated"}]},{"key":"get-workflow-studio-runs-uid","method":"GET","path":"\/workflow-studio\/runs\/{uid}","summary":"Read durable Workflow Studio state and node evidence","description":null,"scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Durable workflow run state"}]},{"key":"post-workflow-studio-runs-uid-action","method":"POST","path":"\/workflow-studio\/runs\/{uid}\/{action}","summary":"Pause, resume, cancel or replay a durable workflow run","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"},{"in":"path","name":"action","required":true,"type":"string","description":null,"example":"pause"}],"request_body":null,"responses":[{"status":"202","description":"Durable control action recorded"}]},{"key":"put-workflow-studio-templates-id-admission-policy","method":"PUT","path":"\/workflow-studio\/templates\/{id}\/admission-policy","summary":"Update a workflow-specific admission policy and policy-controlled priority class","description":"API callers cannot self-select runtime priority. Priority is taken only from the stored workspace or workflow policy.","scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"id","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Workflow admission policy updated"}]},{"key":"get-workflow-studio-templates-id-change-safety","method":"GET","path":"\/workflow-studio\/templates\/{id}\/change-safety","summary":"Read Workflow Studio test suites, validation campaigns and production-promotion safety evidence","description":"Returns metadata only. Encrypted test inputs and assertions are never exposed by this endpoint.","scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"id","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Workflow change-safety status"}]},{"key":"put-workflow-studio-templates-id-finops-policy","method":"PUT","path":"\/workflow-studio\/templates\/{id}\/finops-policy","summary":"Update workflow-specific observational FinOps policy","description":null,"scope":null,"group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"id","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Workflow FinOps policy updated"}]},{"key":"put-workflow-studio-templates-id-qos-policy","method":"PUT","path":"\/workflow-studio\/templates\/{id}\/qos-policy","summary":"Update workflow-specific weighted-fair dispatch and queue-age QoS policy","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"id","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Workflow queue QoS policy updated"}]},{"key":"put-workflow-studio-templates-id-reliability","method":"PUT","path":"\/workflow-studio\/templates\/{id}\/reliability","summary":"Configure a workspace-owned workflow reliability policy","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"id","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Reliability policy updated"}]},{"key":"post-workflow-studio-templates-id-reliability-hold","method":"POST","path":"\/workflow-studio\/templates\/{id}\/reliability\/hold","summary":"Place a local hold on new production starts without cancelling existing runs","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"id","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Production hold placed"}]},{"key":"post-workflow-studio-templates-id-reliability-release-hold","method":"POST","path":"\/workflow-studio\/templates\/{id}\/reliability\/release-hold","summary":"Release a local workflow production hold after operator review","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"id","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Production hold released"}]},{"key":"post-workflow-studio-templates-id-runs","method":"POST","path":"\/workflow-studio\/templates\/{id}\/runs","summary":"Start an idempotent durable workflow run","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"id","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"202","description":"Workflow run accepted by the financegpt-workflows queue"}]},{"key":"post-workflow-studio-templates-id-test-suites","method":"POST","path":"\/workflow-studio\/templates\/{id}\/test-suites","summary":"Create a workspace-scoped workflow regression test suite","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"id","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"201","description":"Test suite created"}]},{"key":"post-workflow-studio-test-cases-uid-toggle","method":"POST","path":"\/workflow-studio\/test-cases\/{uid}\/toggle","summary":"Enable or disable a workflow test case","description":"Changing enabled cases changes the suite fingerprint and invalidates prior campaigns for future production promotion.","scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Test case state updated"}]},{"key":"post-workflow-studio-test-suites-uid-cases","method":"POST","path":"\/workflow-studio\/test-suites\/{uid}\/cases","summary":"Add an encrypted workflow test case and assertion contract","description":"Test inputs and assertions are encrypted at rest. Campaign results persist hashes and bounded summaries rather than raw simulated outputs.","scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"201","description":"Test case created"}]},{"key":"get-workflow-studio-use-cases","method":"GET","path":"\/workflow-studio\/use-cases","summary":"List the canonical FinanceGPT workflow use-case catalogue","description":null,"scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"55 governed reference use cases across 11 segments"}]},{"key":"post-workflow-studio-use-cases-uid-install","method":"POST","path":"\/workflow-studio\/use-cases\/{uid}\/install","summary":"Install a use case as an editable Workflow Studio draft","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"201","description":"Draft workflow installed; no financial authority granted"}]},{"key":"post-workflow-studio-validation-campaigns-uid-review","method":"POST","path":"\/workflow-studio\/validation-campaigns\/{uid}\/review","summary":"Explicitly approve or reject a high-risk workflow change after successful validation","description":"Review does not promote the workflow. Production promotion remains a separate explicit action and revalidates the exact version, production baseline and suite fingerprint.","scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"200","description":"Change-safety review recorded"}]},{"key":"post-workflow-studio-versions-uid-validate","method":"POST","path":"\/workflow-studio\/versions\/{uid}\/validate","summary":"Run a side-effect-free S16 validation campaign against an exact draft or testing version","description":"Deterministic computations and conditions may execute locally. Waits and artifacts are virtualized. Agent, Integration, Financial Action, code-runner, sub-workflow and external network execution are prohibited.","scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"uid","required":true,"type":"string","description":null,"example":"00000000-0000-4000-8000-000000000001"}],"request_body":null,"responses":[{"status":"202","description":"Validation campaign completed with durable evidence"},{"status":"422","description":"Invalid suite"}]},{"key":"post-workflows-events-key","method":"POST","path":"\/workflows\/events\/{key}","summary":"Submit an idempotent encrypted event into the FinanceGPT workflow runtime","description":null,"scope":"workflow:manage","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"key","required":true,"type":"string","description":null,"example":"string"},{"in":"header","name":"Idempotency-Key","required":true,"type":"string","description":null,"example":"string"}],"request_body":{"required":false,"content_type":"application\/json","schema_type":"object","example":{"template_id":1,"payload":[]}},"responses":[{"status":"201","description":"Event accepted"},{"status":"422","description":"Missing idempotency key or invalid event payload"},{"status":"429","description":"Workspace workflow execution capacity is temporarily exhausted"}]},{"key":"get-workflows-runs","method":"GET","path":"\/workflows\/runs","summary":"List finance workflow runs, task status and reporting-pack status","description":null,"scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[],"request_body":null,"responses":[{"status":"200","description":"Workflow runs"}]},{"key":"get-workflows-runtime-id","method":"GET","path":"\/workflows\/runtime\/{id}","summary":"Read durable node execution state for a finance workflow run","description":null,"scope":"workflow:read","group":"Workflows","authentication_required":true,"deprecated":false,"parameters":[{"in":"path","name":"id","required":true,"type":"integer","description":null,"example":1}],"request_body":null,"responses":[{"status":"200","description":"Workflow node graph execution state"},{"status":"404","description":"Workflow run not found in this workspace"}]}]}