{"openapi":"3.1.0","info":{"title":"cz-ai-router","description":"CZ-AI Router is CityZeen's owned intelligence gateway — Python/FastAPI on Vercel at api.cityzeen.co. Fronts Anthropic, Cohere, OpenAI, NVIDIA NIM behind Clerk-gated, audited, OpenAI-compatible endpoints. Architecturally analogous to Cloudflare AI Gateway, CityZeen-owned code. Every response is ed25519-signed for EU AI Act Article 13 explainability.","version":"0.1.0"},"paths":{"/v1/info":{"get":{"tags":["meta"],"summary":"Product metadata (JSON)","operationId":"info_v1_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Info V1 Info Get"}}}}}}},"/":{"get":{"tags":["meta"],"summary":"Browser-friendly product landing","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/health":{"get":{"tags":["meta"],"summary":"Health, provider status, guardrails posture, and orchestrator gate","operationId":"health_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health V1 Health Get"}}}}}}},"/v1/status":{"get":{"tags":["meta"],"summary":"SLO surface: rail health, spine reachability, latency percentiles.","operationId":"status_surface_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Status Surface V1 Status Get"}}}}}}},"/trust":{"get":{"tags":["meta"],"summary":"Public trust page — live SLOs from the signed audit rail.","operationId":"trust_page_trust_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/portal/summary":{"get":{"tags":["portal"],"summary":"Tenant-scoped usage + recent signed envelopes (Bearer).","description":"Everything the portal dashboard renders, scoped by the calling key.\n\nTenant key → that tenant only (the key pins the scope; there is no\nparameter to widen it). Platform key → operator view across tenants.\nDegrades to empty lists when the spine is unreachable — the portal\nnever shows a broken page to a counterparty.","operationId":"portal_summary_v1_portal_summary_get","parameters":[{"name":"window_hours","in":"query","required":false,"schema":{"type":"integer","maximum":2160,"minimum":1,"default":24,"title":"Window Hours"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Portal Summary V1 Portal Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/portal":{"get":{"tags":["portal"],"summary":"Tenant portal — signed usage, cost and replay, scoped by your key.","description":"Public HTML shell. Contains no data and no secrets — everything\nrenders client-side after the tenant unlocks with their Bearer key.","operationId":"portal_page_portal_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/providers":{"get":{"tags":["providers"],"summary":"List providers","operationId":"list_providers_v1_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ProviderInfo"},"type":"array","title":"Response List Providers V1 Providers Get"}}}}}}},"/v1/inference":{"post":{"tags":["inference"],"summary":"Run a signed AI inference","operationId":"run_inference_v1_inference_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InferenceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/chat/completions":{"post":{"tags":["gateway"],"summary":"OpenAI-compatible multi-provider chat completion (service key / platform / Clerk).","description":"Provider-agnostic chat completion. Returns the OpenAI Chat Completions\nshape (`choices[0].message.content` + `usage`). Every call is audited on\nthe regulated spine with the resolved provider. Auth: a `czk_` service key\n(the one-env-var product path), a platform key, or a Clerk `gtm:write` JWT.","operationId":"chat_completions_v1_chat_completions_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCompletionBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Chat Completions V1 Chat Completions Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/passport/run":{"post":{"tags":["passport"],"summary":"Run one governed Passport decision prompt (service key only)","operationId":"run_passport_prompt_v1_passport_run_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PassportRuntimeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PassportRuntimeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/replay/{response_id}":{"get":{"tags":["inference"],"summary":"Regulator replay of a signed inference record","operationId":"replay_v1_replay__response_id__get","parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReplayRecord"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/signing-key":{"get":{"tags":["meta"],"summary":"Public ed25519 verification key(s)","operationId":"signing_key_v1_signing_key_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Signing Key V1 Signing Key Get"}}}}}}},"/v1/tools/status":{"get":{"tags":["agent-tools"],"summary":"Tool registry status (flag, count, credential health)","operationId":"tools_status_v1_tools_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools":{"get":{"tags":["agent-tools"],"summary":"List registered tools (optionally for one agent)","operationId":"tools_list_v1_tools_get","parameters":[{"name":"agent","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tools/invoke":{"post":{"tags":["agent-tools"],"summary":"Invoke a registered tool (off by default)","description":"Runner contract, with caller-to-agent binding (CZ-AI 100% gate item D):\nthe request body's `agent` is no longer trusted on its own — the Bearer\ntoken must be a CZ_AGENT_KEYS credential bound to that exact agent.\nAUDIT_OLAF_CODEX.md P1: \"the registry verifies the named agent may call\nthe named tool, but does not establish that the bearer represents that\nagent.\" A bare platform/tenant/service key (no agent binding) can list\nand inspect tools but cannot invoke one — there is no identity to bind\nthe resulting side effect / audit row to.","operationId":"tools_invoke_v1_tools_invoke_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvokeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/pricing/demo":{"post":{"tags":["pricing"],"summary":"DP V3 demo — fixture for keynote addresses, deterministic fallback otherwise","operationId":"pricing_demo_v1_pricing_demo_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingDemoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PricingDemoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/lead-capture":{"post":{"tags":["lead-capture"],"summary":"Capture a qualified lead from cityzeen.co","operationId":"lead_capture_api_lead_capture_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadCapturePayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadCaptureResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/linkedin/conversion/status":{"get":{"tags":["linkedin-capi"],"summary":"CAPI configuration / readiness","description":"Report whether CAPI can actually send, without exposing secrets.","operationId":"conversion_status_v1_linkedin_conversion_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Conversion Status V1 Linkedin Conversion Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/linkedin/conversion":{"post":{"tags":["linkedin-capi"],"summary":"Relay a DESK stage-change conversion to LinkedIn (hashed)","operationId":"post_conversion_v1_linkedin_conversion_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionEvent"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/concierge/score":{"post":{"tags":["concierge"],"summary":"Score","operationId":"score_v1_concierge_score_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScoreRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScoreResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/concierge/rephrase":{"post":{"tags":["concierge"],"summary":"Rephrase","operationId":"rephrase_v1_concierge_rephrase_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RephraseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RephraseResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/concierge/assistant":{"post":{"tags":["concierge"],"summary":"Assistant","operationId":"assistant_v1_concierge_assistant_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssistantRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssistantResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/concierge/ask":{"post":{"tags":["concierge"],"summary":"Ask","operationId":"ask_v1_concierge_ask_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/concierge/selfcheck":{"get":{"tags":["concierge"],"summary":"Live smoke of the DESK nose + retrieval","operationId":"concierge_selfcheck_v1_concierge_selfcheck_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Concierge Selfcheck V1 Concierge Selfcheck Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/automation":{"get":{"tags":["automation"],"summary":"List all automation lanes","description":"Return every registered automation lane name.","operationId":"list_lanes_v1_automation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response List Lanes V1 Automation Get"}}}}}}},"/v1/automation/geostamp_intake":{"post":{"tags":["automation"],"summary":"GeoStamp application intake (durable + fan-out)","operationId":"geostamp_intake_v1_automation_geostamp_intake_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Geostamp Intake V1 Automation Geostamp Intake Post"}}}}}}},"/v1/automation/proposal_intake":{"post":{"tags":["automation"],"summary":"Tokenization proposal intake (durable + fan-out)","operationId":"proposal_intake_v1_automation_proposal_intake_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Proposal Intake V1 Automation Proposal Intake Post"}}}}}}},"/v1/automation/tokenization_proposal":{"post":{"tags":["automation"],"summary":"Tokenization proposal v1 fast path (durable + fan-out)","operationId":"tokenization_proposal_v1_automation_tokenization_proposal_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Tokenization Proposal V1 Automation Tokenization Proposal Post"}}}}}}},"/v1/orchestrator/digest":{"get":{"tags":["orchestrator"],"summary":"Preview a board digest (read-only; no send). GETting POST /digest returns the preview instead of 405.","description":"GET on /v1/orchestrator/digest returns the current board preview\n(read-only, no send, no logging). This makes clicking the URL in a browser\nJust Work — no more `{\"detail\":\"Method Not Allowed\"}` friction.\n\nFire an actual digest with **POST** /v1/orchestrator/digest.","operationId":"get_digest_preview_v1_orchestrator_digest_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["orchestrator"],"summary":"Fire one M2 board digest (Bearer-gated test-fire)","description":"W28 M2 board emitter test-fire. Reads ctrl.v_orchestrator_health via the\ndefiner wrapper, formats the board, sends via Resend to CZ_ORCH_DIGEST_TO\n(or cz_lead_notify_to), and writes an ops checkpoint. Fail-soft: always\nreturns 200 with the outcome (never raises).\n\nUse to verify the PR: `POST /v1/orchestrator/digest` with the router\nBearer, then check the recipient's inbox.","operationId":"fire_digest_v1_orchestrator_digest_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/orchestrator/digest/preview":{"get":{"tags":["orchestrator"],"summary":"Preview a board digest (read-only; no send)","description":"Alias for GET /v1/orchestrator/digest — kept for the explicit /preview\npath used in earlier PR verify docs. Same shape, no writes.","operationId":"preview_digest_v1_orchestrator_digest_preview_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/orchestrator/tick":{"get":{"tags":["orchestrator"],"summary":"Run one scheduler tick","description":"Run one tick. Always returns the cockpit JSON contract.\n\nOn success: 200 with {shift, open_p0, open_p1, active, dispatched, configured}.\nIf a *configured* tick raises (e.g. ctrl.* unreachable — registry env not\nwired, schema not exposed, migration not applied): 503 with the same shape +\n`configured:false` and an `error` string, so the cron and the CEO Cockpit get\nparseable JSON instead of a raw FUNCTION_INVOCATION_FAILED.\n\nAuth: `x-cron-secret: <CRON_SECRET>` or `Authorization: Bearer <CRON_SECRET>`\n(see module docstring). When CRON_SECRET is unset, the endpoint is open\nunless CZ_CRON_STRICT=true.","operationId":"run_tick_v1_orchestrator_tick_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-cron-secret","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cron-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TickResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent/run":{"post":{"tags":["agent-console"],"summary":"Agent Run","operationId":"agent_run_v1_agent_run_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRunRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/preflight":{"get":{"tags":["agent-dispatch"],"summary":"Fleet execution preflight — every gate between the fleet and real runs","description":"One honest view of what still blocks autonomous fleet execution.\n\nThe fleet's execution path is: Vercel cron → /v1/orchestrator/tick →\ndispatch_executor (gated on ctrl.orchestrator_status.olaf_dispatch_enabled)\n→ agent_runner (tool loop when CZ_AGENT_TOOLS_ENABLED). Each gate below\nreports its live state plus whether it currently BLOCKS execution, so\narming the fleet is a checklist, not archaeology. Read-only; degrades\nper-gate rather than failing the whole surface.\n\nHonesty note (contract §11): `providers` reports which API keys are\nCONFIGURED — configuration is not billability; only a real run proves a\nleg serves.","operationId":"fleet_preflight_v1_agents_preflight_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/{agent}/run":{"post":{"tags":["agent-dispatch"],"summary":"Execute one dispatched task for an agent (runner contract)","operationId":"agent_run_dispatch_v1_agents__agent__run_post","parameters":[{"name":"agent","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":64,"title":"Agent"}},{"name":"x-cz-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cz-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agents/activation":{"get":{"tags":["agent-activation"],"summary":"Real active/dormant classification per registered agent (ctrl.run_event execution counts, not the static ctrl.agents.status field).","operationId":"activation_v1_agents_activation_get","parameters":[{"name":"window_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":90,"title":"Window Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Activation V1 Agents Activation Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/olaf/memory":{"get":{"tags":["agent-memory"],"summary":"Recall an agent's recent memory (olaf.knowledge, kind='intel').","description":"Last `limit` intel rows this agent has produced (via\nservices.agent_memory.remember), newest first.","operationId":"agent_memory_v1_olaf_memory_get","parameters":[{"name":"agent","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Agent"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Agent Memory V1 Olaf Memory Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/finn/cost-report":{"get":{"tags":["finn-cost-report"],"summary":"Per-agent AI spend vs. its chartered model (ADR-0003), trailing window.","description":"Real cost from ai_inference_log, grouped by agent then (provider, model),\neach row tagged primary/failover/off_charter/no_charter against ADR-0003.\n`off_charter_cost_usd` is the number to watch — spend on a model that\nisn't the agent's chartered primary or failover.","operationId":"cost_report_v1_finn_cost_report_get","parameters":[{"name":"window_hours","in":"query","required":false,"schema":{"type":"integer","maximum":8760,"minimum":1,"default":168,"title":"Window Hours"}},{"name":"agent","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cost Report V1 Finn Cost Report Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/finn/desk-baseline":{"get":{"tags":["finn-cost-report"],"summary":"DESK's real AI spend baseline — the number a tier reroute has to beat.","description":"Real DESK-attributed spend (filtered on the tags DESK traffic actually\ncarries, not a literal \"desk\" substring match). Returns has_baseline=False\nhonestly when DESK has made zero calls in the window — never a fabricated\nsavings percentage against a $0 baseline.","operationId":"desk_baseline_v1_finn_desk_baseline_get","parameters":[{"name":"window_hours","in":"query","required":false,"schema":{"type":"integer","maximum":8760,"minimum":1,"default":336,"title":"Window Hours"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Desk Baseline V1 Finn Desk Baseline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/finn/ask-ladder":{"get":{"tags":["finn-cost-report"],"summary":"ASK ladder tier mix — the model calls the ladder AVOIDED (W37-10).","description":"The other half of the cost picture.\n\n/cost-report measures what was SPENT. This measures what was NOT: a question\nanswered at a deterministic tier never reaches a provider, so it leaves no\nrow in ai_inference_log and is invisible to every spend surface. Without\nthis, a ladder that eliminates 70% of model calls looks identical to one\nthat eliminates none.\n\nReturns has_telemetry=False and a NULL ratio — never 0%, never an estimate —\nuntil the requested migration 20260907a_ask_ladder_telemetry.sql is applied\nand a real window has accumulated. No cost-reduction percentage is claimed\nfrom routing design alone.","operationId":"ask_ladder_v1_finn_ask_ladder_get","parameters":[{"name":"window_hours","in":"query","required":false,"schema":{"type":"integer","maximum":8760,"minimum":1,"default":168,"title":"Window Hours"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Ask Ladder V1 Finn Ask Ladder Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/metering/completeness":{"get":{"tags":["metering"],"summary":"Metering-field completeness over ai_inference_log (product/agent/task/correlation_id/cost/latency/status).","operationId":"completeness_v1_metering_completeness_get","parameters":[{"name":"window_hours","in":"query","required":false,"schema":{"type":"integer","maximum":8760,"minimum":1,"default":720,"title":"Window Hours"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Completeness V1 Metering Completeness Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/metering/redemption":{"post":{"tags":["metering"],"summary":"Credit the Meter for one delivered unit of value (GEO scene / DP valuation / AME match / CT mint).","description":"Every product engine's real per-redemption credit call site\n(GEO/DP/AME/CT — CZ-AI 100% gate, Engines line). Writes one row into\nczai.usage_ledger via services/czai_keys.py::log_redemption, then calls\nthe retain-against-balance stub (services/balance_retain.py) — a no-op\ntoday (no Wallet exists), a real decrement once one does.\n\nczk_* service-key auth only: a redemption is a billable-account event,\nsame restriction `/v1/chat/completions`' billing block already applies\n(only service-key callers carry an `account_id` to credit against).","operationId":"redemption_v1_metering_redemption_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedemptionBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Redemption V1 Metering Redemption Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/snapshot":{"get":{"tags":["cockpit"],"summary":"Live cockpit state (single call)","operationId":"cockpit_snapshot_v1_cockpit_snapshot_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/health":{"get":{"tags":["cockpit"],"summary":"Product URL liveness","operationId":"cockpit_health_v1_cockpit_health_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/approve":{"post":{"tags":["cockpit"],"summary":"Human decision on an approval-queue item","operationId":"cockpit_approve_v1_cockpit_approve_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/risk":{"get":{"tags":["cockpit"],"summary":"Live risk rail (doctrine/secret/RLS/heartbeat)","operationId":"cockpit_risk_v1_cockpit_risk_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/sources":{"get":{"tags":["cockpit"],"summary":"Sources & provenance","operationId":"cockpit_sources_v1_cockpit_sources_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/kpis":{"get":{"tags":["cockpit"],"summary":"Commercial KPIs (pipeline, GMV, matching, audit)","operationId":"cockpit_kpis_v1_cockpit_kpis_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/assets":{"get":{"tags":["cockpit"],"summary":"Asset list for the Match Intelligence picker","operationId":"cockpit_assets_v1_cockpit_assets_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/match/{asset_id}":{"get":{"tags":["cockpit"],"summary":"Match demand-book preview (read-only, unsigned)","description":"Operator preview — reuses the shared run_match() engine path but writes\nnothing: no signature, no desk_ai_audit_log row, no queue emit. Browsing is\nnot a disclosure; the signed record is reserved for /v1/match/taxonomy.","operationId":"cockpit_match_v1_cockpit_match__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/audit":{"get":{"tags":["cockpit"],"summary":"Recent signed audit trail (match·approval·agent-run)","operationId":"cockpit_audit_v1_cockpit_audit_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/telemetry":{"get":{"tags":["cockpit"],"summary":"Agent telemetry — runs/latency/tokens per agent","operationId":"cockpit_telemetry_v1_cockpit_telemetry_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/command":{"post":{"tags":["cockpit"],"summary":"Operate by intent — enqueue a routed task","operationId":"cockpit_command_v1_cockpit_command_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommandBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/status":{"get":{"tags":["cockpit"],"summary":"System status line — autonomy posture, last tick, P0s","operationId":"cockpit_status_v1_cockpit_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/autonomy":{"post":{"tags":["cockpit"],"summary":"Promote / demote an agent — ceo only (audited)","description":"Audited autonomy-level change via PR-11's olaf_promote_agent RPC.\nEvery call writes ctrl.agent_autonomy_event + ctrl.run_event\n(autonomy_promote / autonomy_demote). CT/SM blocked from L3 by DB trigger.","operationId":"cockpit_autonomy_change_v1_cockpit_autonomy_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutonomyChangeBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/agent":{"post":{"tags":["cockpit"],"summary":"Set a per-agent setting (autonomy tier) — ceo only","description":"Edit an agent's autonomy tier from the FLEET view. CEO-gated; validated\nserver-side. Safe while dispatch is held (nothing runs); when armed, the tier\ngoverns whether an agent runs autonomously (read/draft tiers) or stays human-gated.","operationId":"cockpit_set_agent_v1_cockpit_agent_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentSettingBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/ask-company":{"post":{"tags":["cockpit"],"summary":"Ask the Company — grounded, signed answer over the whole spine","description":"Natural-language BI over the registry: OLAF answers from live spine aggregates\n(taxonomy + assets + matches + tokenization + audit), cite-or-refuse, and the\nanswer is ed25519-signed and corpus-hash-bound — the Glass Box payload (signature,\nmodel, corpus hash, cited sources) is returned for click-to-verify.","operationId":"cockpit_ask_company_v1_cockpit_ask_company_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskCompanyBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/team":{"get":{"tags":["cockpit"],"summary":"List cockpit team members (roster, no key material)","description":"The team roster from ctrl.cockpit_user — name/role/active/last-seen, never any\nkey. Any signed-in cockpit user may view who's on the team.","operationId":"cockpit_team_v1_cockpit_team_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["cockpit"],"summary":"Add / re-key a team member (CEO) — access key shown once","description":"Onboard a hire or rotate a key. CEO-gated. Returns the plaintext access key\nONCE (hash-at-rest); share it via /cockpit?key=… — it can't be read again.","operationId":"cockpit_team_upsert_v1_cockpit_team_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamMemberBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/team/active":{"post":{"tags":["cockpit"],"summary":"Activate / revoke a team member (CEO)","description":"Revoke or restore a member's access without deleting their audit row. CEO-gated.","operationId":"cockpit_team_active_v1_cockpit_team_active_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamActiveBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/geo":{"get":{"tags":["cockpit"],"summary":"Earthloom — assets geolocated for the map","description":"Spine assets for the geographic twin — internal code + jurisdiction + GeoStamp +\ntokenization + taxonomy node (no legal names). Showcase-safe. The map plots by jurisdiction.","operationId":"cockpit_geo_v1_cockpit_geo_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/showcase":{"get":{"tags":["cockpit"],"summary":"Showcase — safe public-facing aggregates (no ops/costs/team)","description":"Sanitized headline figures for the external showcase: taxonomy depth, asset/\nmatch/tokenization counts, signed-audit count. No queue, no costs, no team, no\nnames — safe to put in front of a client/partner/investor.","operationId":"cockpit_showcase_v1_cockpit_showcase_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/tick":{"post":{"tags":["cockpit"],"summary":"Run one orchestrator tick now (CEO) — grounded drafts on demand","description":"Fire the grounded M5 loop once, on demand, instead of waiting for cron.\nCEO-gated. Same code path as the scheduled tick: when armed, read-tier agents\nrun via the grounded runner → guardrails → gated drafts into the approval queue.","operationId":"cockpit_tick_v1_cockpit_tick_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/map":{"get":{"tags":["cockpit"],"summary":"Connectivity map — client → taxonomy → agents → output (real counts)","operationId":"cockpit_map_v1_cockpit_map_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/costs":{"get":{"tags":["cockpit"],"summary":"AI spend — tokens × model price, by provider/agent","operationId":"cockpit_costs_v1_cockpit_costs_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/handoff-integrity":{"get":{"tags":["cockpit"],"summary":"Handoff integrity — was a real agent_handoff task targeted AND claimed","description":"DIFFERENT surface from GET /v1/cockpit/handoffs above: that one lists recent\nCEO-initiated manual /v1/cockpit/delegate calls (ctrl.agent_handoff). This measures\nthe autonomous agent_handoff TOOL's real olaf.task rows — did a queued handoff\nactually get claimed and finish, not just whether the handoff prose read well.","operationId":"cockpit_handoff_integrity_v1_cockpit_handoff_integrity_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Days"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/board":{"get":{"tags":["cockpit"],"summary":"Agent work board — what each agent is doing","operationId":"cockpit_board_v1_cockpit_board_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/console":{"get":{"tags":["cockpit"],"summary":"One agent's console — tasks + recent outputs","operationId":"cockpit_console_v1_cockpit_console_get","parameters":[{"name":"agent","in":"query","required":true,"schema":{"type":"string","title":"Agent"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/assign":{"post":{"tags":["cockpit"],"summary":"Assign a task to an agent — ceo only","description":"Direct work to an agent (the human piloting the team). CEO-gated. The task\nlands in ctrl.agent_queue; you then Ask/Run the agent (grounded) and approve.","operationId":"cockpit_assign_v1_cockpit_assign_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/handoffs":{"get":{"tags":["cockpit"],"summary":"Recent agent-to-agent handoffs (coordination)","operationId":"cockpit_handoffs_v1_cockpit_handoffs_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/delegate":{"post":{"tags":["cockpit"],"summary":"One agent delegates to another — grounded answer + recorded edge (ceo)","description":"Agent-to-agent handoff: from_agent delegates a request to to_agent, which answers\nGROUNDED in its own corpus; the A→B edge is recorded with provenance. CEO-gated,\nread-only (no dispatch/write). This is coordination beyond the shared queue.","operationId":"cockpit_delegate_v1_cockpit_delegate_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegateBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/ask":{"post":{"tags":["cockpit"],"summary":"Grounded answer — cites real records or refuses","description":"Ask a grounded agent. It may answer ONLY from the live operations records;\nevery claim is cited and the exact `sources` are returned for verification. If\nit can't ground the answer it refuses (grounded=false) — by design. Read-only:\nnothing is queued or dispatched.","operationId":"cockpit_ask_v1_cockpit_ask_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AskBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/run":{"post":{"tags":["cockpit"],"summary":"Run an agent → signed draft into the approval gate","operationId":"cockpit_run_v1_cockpit_run_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/cockpit":{"get":{"tags":["cockpit"],"summary":"OLAF cockpit console","description":"Cookie-gated console — no password typing.\n\nSign-in paths: \"Sign in with Google\" (allowlisted email → cz_session cookie), or\na one-time activation link /cockpit?key=<access-key> → 30-day cz_cockpit cookie.\nThereafter just open /cockpit. If neither a password nor Google SSO is configured,\nthe page is served openly (data stays token-gated).\n\nJ7-6 retirement path: set CZ_COCKPIT_REDIRECT_URL (e.g.\nhttps://www.cityzeen.co/desk/command) once the desk Providers panel is\nlive — this HTML console then 307s there while every /v1/cockpit/* API\nroute keeps serving the panel's data. Unset = no behavior change.","operationId":"cockpit_page_cockpit_get","parameters":[{"name":"key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/ai-keys":{"get":{"tags":["cockpit"],"summary":"List czk service keys + cz_ai-entitled accounts (CEO)","operationId":"list_ai_keys_v1_cockpit_ai_keys_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["cockpit"],"summary":"Issue a czk service key — shown ONCE (CEO)","operationId":"issue_ai_key_v1_cockpit_ai_keys_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IssueKeyBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/ai-keys/revoke":{"post":{"tags":["cockpit"],"summary":"Revoke a czk service key (CEO)","operationId":"revoke_ai_key_v1_cockpit_ai_keys_revoke_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeKeyBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cockpit/certification/run-fleet":{"post":{"tags":["certification"],"summary":"Run the independent-judge certification harness against real agents (CEO)","description":"Fires `benchmark_runner.run_benchmark()` for each requested agent and\nreturns real, scored results — not a preview, not a dry run. A missing\noperating profile is reported and skipped, never silently dropped (see\n`agent_role_benchmarks.missing_profiles()`).","operationId":"run_fleet_certification_v1_cockpit_certification_run_fleet_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_cockpit","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Cockpit"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunFleetBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/data-exhaust/indices":{"get":{"tags":["data-exhaust"],"summary":"Latest computed cross-engine indices/benchmark run","operationId":"get_indices_v1_data_exhaust_indices_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Indices V1 Data Exhaust Indices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/data-exhaust/compute":{"post":{"tags":["data-exhaust"],"summary":"Force a fresh cross-engine indices/benchmark computation","operationId":"compute_v1_data_exhaust_compute_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Compute V1 Data Exhaust Compute Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/embeddings/nim":{"post":{"tags":["embeddings"],"summary":"Embeddings gateway (NVIDIA NIM default, Cohere via provider=\"cohere\") — audited","operationId":"embed_v1_embeddings_nim_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cz_ai_router__api__embeddings__EmbedBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/embeddings/rerank":{"post":{"tags":["embeddings"],"summary":"Rerank gateway (NVIDIA NIM default, Cohere via provider=\"cohere\") — audited","operationId":"rerank_v1_embeddings_rerank_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RerankBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/guardrails/check":{"post":{"tags":["guardrails"],"summary":"Run a NeMo Guardrails safety check","operationId":"guardrails_check_v1_guardrails_check_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/guardrails/state":{"get":{"tags":["guardrails"],"summary":"Report the guardrails gate's configured state (no secrets)","description":"Public regulator/operator probe. Reveals the configured posture only —\nno API keys, no URLs with credentials. Use this to verify a Vercel env flip\n(CZ_GUARDRAILS_MODE=hosted) took effect on the next deploy.","operationId":"guardrails_state_v1_guardrails_state_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/match/taxonomy":{"post":{"tags":["match-intelligence"],"summary":"Match Taxonomy","operationId":"match_taxonomy_v1_match_taxonomy_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Match Taxonomy V1 Match Taxonomy Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/desk/match/{asset_id}":{"get":{"tags":["desk-client"],"summary":"Client demand-book (issuer-banded, no identities)","operationId":"desk_match_v1_desk_match__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Desk Match V1 Desk Match  Asset Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/discovery/enrich":{"post":{"tags":["discovery"],"summary":"Enrich","operationId":"enrich_v1_discovery_enrich_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/score":{"post":{"tags":["score-signal"],"summary":"CityZeen Asset Score + institutional demand signal (signed)","operationId":"score_v1_score_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Score V1 Score Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/score":{"get":{"tags":["score-signal"],"summary":"CityZeen Asset Score — client artifact","operationId":"score_page_score_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/v1/feeds/coverage_cells":{"get":{"tags":["feeds"],"summary":"Coverage Cells","operationId":"coverage_cells_v1_feeds_coverage_cells_get","parameters":[{"name":"active","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Active"}},{"name":"min_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Score"}},{"name":"band","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Band"}},{"name":"product","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product"}},{"name":"segment","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment"}},{"name":"market","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Market"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Coverage Cells V1 Feeds Coverage Cells Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/tasking_board":{"get":{"tags":["feeds"],"summary":"Tasking Board","operationId":"tasking_board_v1_feeds_tasking_board_get","parameters":[{"name":"priority","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"}},{"name":"owner","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Tasking Board V1 Feeds Tasking Board Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/olaf/roster":{"get":{"tags":["feeds"],"summary":"Fleet liveness — every agent + last-seen","operationId":"olaf_roster_v1_feeds_olaf_roster_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Olaf Roster V1 Feeds Olaf Roster Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/olaf/tasks":{"get":{"tags":["feeds"],"summary":"Task queue depth per agent","operationId":"olaf_tasks_v1_feeds_olaf_tasks_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Olaf Tasks V1 Feeds Olaf Tasks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/olaf/schedules":{"get":{"tags":["feeds"],"summary":"Schedule overview per agent","operationId":"olaf_schedules_v1_feeds_olaf_schedules_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Olaf Schedules V1 Feeds Olaf Schedules Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/olaf/stale":{"get":{"tags":["feeds"],"summary":"Watchdog — agents not seen within the threshold","operationId":"olaf_stale_v1_feeds_olaf_stale_get","parameters":[{"name":"threshold_seconds","in":"query","required":false,"schema":{"type":"integer","maximum":2592000,"minimum":1,"default":900,"title":"Threshold Seconds"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Olaf Stale V1 Feeds Olaf Stale Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/olaf/snapshot":{"get":{"tags":["feeds"],"summary":"One-call cockpit snapshot (fleet/queue/approvals)","operationId":"olaf_snapshot_v1_feeds_olaf_snapshot_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Olaf Snapshot V1 Feeds Olaf Snapshot Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/olaf/trust":{"get":{"tags":["feeds"],"summary":"Per-agent trust score + autonomy view (fleet)","operationId":"trust_fleet_v1_feeds_olaf_trust_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Trust Fleet V1 Feeds Olaf Trust Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/olaf/trust/{agent}":{"get":{"tags":["feeds"],"summary":"One agent's trust score detail (7-day window)","operationId":"trust_one_v1_feeds_olaf_trust__agent__get","parameters":[{"name":"agent","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":64,"title":"Agent"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Trust One V1 Feeds Olaf Trust  Agent  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/feeds/olaf/autonomy_events":{"get":{"tags":["feeds"],"summary":"Recent autonomy-level changes (promote/demote audit)","operationId":"autonomy_events_v1_feeds_olaf_autonomy_events_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"cz_session","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cz Session"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Autonomy Events V1 Feeds Olaf Autonomy Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/gate/selfcheck":{"get":{"tags":["gate"],"summary":"Fire the external-action gate on a synthetic action","operationId":"gate_selfcheck_v1_gate_selfcheck_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Gate Selfcheck V1 Gate Selfcheck Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/nvidia/health":{"get":{"tags":["nvidia"],"summary":"Liveness probe against NVIDIA NIM (cockpit:read).","description":"Probe NIM with a tiny 8B prompt. Returns ok/latency/model on success;\n503 on env-missing; the raw provider error otherwise. Always audited.","operationId":"nvidia_health_v1_nvidia_health_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nvidia Health V1 Nvidia Health Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/nvidia/chat":{"post":{"tags":["nvidia"],"summary":"Chat completion via NVIDIA NIM (gtm:write).","description":"OpenAI-compatible chat completion. Uses the existing NimProvider surface\nfor the actual call so model validation stays consistent.","operationId":"nvidia_chat_v1_nvidia_chat_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nvidia Chat V1 Nvidia Chat Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/nvidia/match":{"post":{"tags":["nvidia"],"summary":"Semantic match via NeMo Retriever rerank (gtm:write).","description":"Rerank candidates against a query using the NeMo Retriever rerank NIM.\nReturns the top-K by score, preserving candidate order for ties.","operationId":"nvidia_match_v1_nvidia_match_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nvidia Match V1 Nvidia Match Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/nvidia/embed":{"post":{"tags":["nvidia"],"summary":"NeMo Retriever embedding vectors (gtm:write).","description":"Return dense embedding vectors for a batch of texts. Uses the\nNeMo Retriever embedding NIM (settings.nim_embed_model).","operationId":"nvidia_embed_v1_nvidia_embed_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cz_ai_router__api__nvidia__EmbedBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nvidia Embed V1 Nvidia Embed Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/nvidia/rerank":{"post":{"tags":["nvidia"],"summary":"NeMo Retriever rerank (gtm:write). Alias for /match.","description":"Rerank alias of `/v1/nvidia/match` — returns the full ranking (not\njust top-K) so callers can implement custom thresholds. Same audit.","operationId":"nvidia_rerank_v1_nvidia_rerank_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MatchBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nvidia Rerank V1 Nvidia Rerank Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/nvidia/spine":{"get":{"tags":["nvidia"],"summary":"NVIDIA spine connectivity + 24h traffic summary (cockpit:read).","description":"Cockpit-facing status: is the spine connected? how much traffic in\n24h / 5m? Read via the SECURITY DEFINER wrapper `public.cockpit_nvidia_spine`\non the same Supabase client the audit uses.\n\nNever leaks the NVIDIA API key. Fail-soft: if the RPC errors, returns\n503 with a short reason instead of raising.","operationId":"nvidia_spine_v1_nvidia_spine_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Nvidia Spine V1 Nvidia Spine Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/papers/context":{"get":{"tags":["papers"],"summary":"Retrieve formatted paper context for a query (no reasoning).","description":"Retrieve paper chunks matching the query and format them as context.\n\nThis endpoint does NOT perform reasoning or call Claude — it only retrieves\nand formats context. The caller (e.g., DESK concierge) is responsible for\nthe actual inference step.\n\nReturns formatted context (markdown-like) ready to append to a prompt.\nLogs the retrieval to ai_inference_log for audit trail.","operationId":"papers_context_api_v1_papers_context_get","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":2000,"description":"Search query for papers.","title":"Query"},"description":"Search query for papers."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Papers Context Api V1 Papers Context Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/papers/query":{"get":{"tags":["papers"],"summary":"Search papers by query (internal endpoint).","description":"Internal endpoint: search papers by query.\n\nReturns a list of matching chunks with relevance scores.\nThis is called by /api/v1/papers/context; not intended for direct client use.","operationId":"papers_query_v1_papers_query_get","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":2000,"title":"Query"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Papers Query V1 Papers Query Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/cohere/retrieval-pilot":{"get":{"tags":["cohere-pilot"],"summary":"Run the Cohere Embed 4 + Rerank 4 + Command R/R7B retrieval pilot.","description":"Runs the full embed -> cosine rank -> rerank -> generate pipeline over\na fixed 8-query set against the real CityZeen doctrine corpus (16 docs).\nReturns retrieval@k, MRR (pre/post rerank), cost, latency, and sample\ngrounded generations. Every call is audited (kind='cohere_retrieval_pilot').","operationId":"retrieval_pilot_v1_cohere_retrieval_pilot_get","parameters":[{"name":"embed_model","in":"query","required":false,"schema":{"type":"string","default":"embed-v4.0","title":"Embed Model"}},{"name":"rerank_model","in":"query","required":false,"schema":{"type":"string","default":"rerank-v4.0-pro","title":"Rerank Model"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Retrieval Pilot V1 Cohere Retrieval Pilot Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/audit/recent":{"get":{"tags":["audit"],"summary":"Recent ctrl.run_event rows (cockpit:read).","description":"Paginated audit stream for the Providers + Audit panel. Fail-soft:\nreturns 503 on spine errors instead of raising the underlying exception.","operationId":"audit_recent_v1_audit_recent_get","parameters":[{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"description":"Filter by run_event.provider (e.g. 'nvidia','anthropic','cohere'). NULL = any.","title":"Provider"},"description":"Filter by run_event.provider (e.g. 'nvidia','anthropic','cohere'). NULL = any."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"description":"Filter by status ('ok','error','refused','timeout','skipped'). NULL = any.","title":"Status"},"description":"Filter by status ('ok','error','refused','timeout','skipped'). NULL = any."},{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"description":"Filter by kind (e.g. 'digest','dispatch_proposed','agent_run'). NULL = any.","title":"Kind"},"description":"Filter by kind (e.g. 'digest','dispatch_proposed','agent_run'). NULL = any."},{"name":"window_hours","in":"query","required":false,"schema":{"type":"integer","maximum":720,"minimum":1,"default":24,"title":"Window Hours"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Audit Recent V1 Audit Recent Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/tenants/usage":{"get":{"tags":["tenants"],"summary":"Per-tenant usage + cost rollup (cockpit:read).","operationId":"tenants_usage_v1_tenants_usage_get","parameters":[{"name":"window_hours","in":"query","required":false,"schema":{"type":"integer","maximum":2160,"minimum":1,"default":24,"title":"Window Hours"}},{"name":"tenant","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Tenant"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Tenants Usage V1 Tenants Usage Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccountIn":{"properties":{"id":{"type":"string","maxLength":64,"title":"Id"},"legal_name":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Legal Name"},"display_name":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Display Name"},"domain":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Domain"},"jurisdiction":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Jurisdiction"},"account_type":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Account Type"},"stage":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Stage"},"mandate":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Mandate"}},"type":"object","required":["id"],"title":"AccountIn"},"AgentRunRequest":{"properties":{"agent":{"type":"string","maxLength":40,"minLength":1,"title":"Agent","description":"One of the GTM coworkers (case-insensitive), e.g. 'FLAGSHIP'."},"message":{"type":"string","maxLength":8000,"minLength":1,"title":"Message"}},"type":"object","required":["agent","message"],"title":"AgentRunRequest"},"AgentRunResponse":{"properties":{"agent":{"type":"string","title":"Agent"},"draft":{"type":"string","title":"Draft"},"status":{"type":"string","title":"Status","default":"draft_pending_approval"},"audit":{"$ref":"#/components/schemas/AuditStamp"}},"type":"object","required":["agent","draft","audit"],"title":"AgentRunResponse"},"AgentSettingBody":{"properties":{"agent":{"type":"string","title":"Agent"},"autonomy_level":{"type":"string","title":"Autonomy Level"}},"type":"object","required":["agent","autonomy_level"],"title":"AgentSettingBody"},"ApproveBody":{"properties":{"id":{"type":"string","title":"Id"},"decision":{"type":"string","title":"Decision"},"decided_by":{"type":"string","title":"Decided By","default":"Andrew"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["id","decision"],"title":"ApproveBody"},"AskBody":{"properties":{"question":{"type":"string","title":"Question"},"agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent","default":"NOVA"}},"type":"object","required":["question"],"title":"AskBody"},"AskCompanyBody":{"properties":{"question":{"type":"string","title":"Question"}},"type":"object","required":["question"],"title":"AskCompanyBody"},"AskRequest":{"properties":{"question":{"type":"string","maxLength":4000,"title":"Question"},"products":{"items":{"type":"string"},"type":"array","title":"Products"},"locale":{"type":"string","maxLength":8,"title":"Locale","default":"en"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","required":["question"],"title":"AskRequest"},"AskResponse":{"properties":{"answer":{"type":"string","title":"Answer"},"citations":{"items":{"type":"string"},"type":"array","title":"Citations"},"next_step":{"type":"string","title":"Next Step"},"qualify":{"additionalProperties":true,"type":"object","title":"Qualify"},"visitor_type":{"type":"string","title":"Visitor Type"},"visitor_label":{"type":"string","title":"Visitor Label"},"threat_band":{"type":"string","title":"Threat Band"},"confidence":{"type":"number","title":"Confidence"},"session_id":{"type":"string","title":"Session Id"},"audit_id":{"type":"string","title":"Audit Id"},"signing_key_id":{"type":"string","title":"Signing Key Id"},"signature":{"type":"string","title":"Signature"}},"type":"object","required":["answer","citations","next_step","qualify","visitor_type","visitor_label","threat_band","confidence","session_id","audit_id","signing_key_id","signature"],"title":"AskResponse"},"AssetIn":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}],"title":"Name"},"sector":{"type":"string","maxLength":40,"title":"Sector","default":"office"},"jurisdiction":{"type":"string","maxLength":2,"title":"Jurisdiction","default":"FR"},"sfdr":{"type":"string","maxLength":8,"title":"Sfdr","default":"art_8"},"esg_composite":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Esg Composite","default":75},"risk_class":{"type":"integer","maximum":7.0,"minimum":1.0,"title":"Risk Class","default":4},"lock_up_months":{"type":"integer","maximum":240.0,"minimum":0.0,"title":"Lock Up Months","default":84},"ticket_eur":{"type":"number","minimum":0.0,"title":"Ticket Eur","default":250000000},"target_irr_pct":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Target Irr Pct","default":7.0}},"type":"object","title":"AssetIn"},"AssignBody":{"properties":{"agent":{"type":"string","title":"Agent"},"task":{"type":"string","title":"Task"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority","default":"P1"}},"type":"object","required":["agent","task"],"title":"AssignBody"},"AssistantRequest":{"properties":{"question":{"type":"string","maxLength":4000,"title":"Question"},"products":{"items":{"type":"string"},"type":"array","title":"Products"},"locale":{"type":"string","maxLength":8,"title":"Locale","default":"en"}},"type":"object","required":["question"],"title":"AssistantRequest"},"AssistantResponse":{"properties":{"answer":{"type":"string","title":"Answer"},"citations":{"items":{"type":"string"},"type":"array","title":"Citations"},"audit_id":{"type":"string","title":"Audit Id"},"signing_key_id":{"type":"string","title":"Signing Key Id"},"signature":{"type":"string","title":"Signature"}},"type":"object","required":["answer","citations","audit_id","signing_key_id","signature"],"title":"AssistantResponse"},"AuditStamp":{"properties":{"input_sha256":{"type":"string","title":"Input Sha256"},"ed25519_signature":{"type":"string","title":"Ed25519 Signature"},"signing_key_id":{"type":"string","title":"Signing Key Id"}},"type":"object","required":["input_sha256","ed25519_signature","signing_key_id"],"title":"AuditStamp"},"AutonomyChangeBody":{"properties":{"agent":{"type":"string","title":"Agent"},"to_level":{"type":"string","title":"To Level"},"reason":{"type":"string","title":"Reason"},"meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Meta"}},"type":"object","required":["agent","to_level","reason"],"title":"AutonomyChangeBody","description":"Promote / demote via the PR-11 audited path (not the legacy cockpit_set_agent)."},"ChatBody":{"properties":{"prompt":{"type":"string","maxLength":32000,"minLength":1,"title":"Prompt"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model","description":"One of NimProvider.models. Defaults to settings.nim_model."},"max_tokens":{"type":"integer","maximum":4096.0,"minimum":1.0,"title":"Max Tokens","default":512}},"type":"object","required":["prompt"],"title":"ChatBody"},"ChatCompletionBody":{"properties":{"model":{"type":"string","minLength":1,"title":"Model","description":"Provider-prefixed model id."},"messages":{"items":{"$ref":"#/components/schemas/ChatMessage"},"type":"array","minItems":1,"title":"Messages"},"temperature":{"anyOf":[{"type":"number","maximum":2.0,"minimum":0.0},{"type":"null"}],"title":"Temperature"},"max_tokens":{"type":"integer","maximum":8192.0,"minimum":1.0,"title":"Max Tokens","default":512},"stream":{"type":"boolean","title":"Stream","default":false},"agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent","description":"Caller/product label; defaults to Clerk sub."},"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correlation Id"},"product":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product","description":"One of KNOWN_PRODUCTS."},"task":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task","description":"Free-text task label for attribution."},"response_format":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Response Format","description":"OpenAI-compatible. Only {\"type\": \"json_object\"} is implemented — a best-effort request for syntactically-valid JSON with no schema enforcement (put your schema in the prompt). {\"type\": \"json_schema\", ...} is accepted by clients that send it but rejected with 400 here, not silently downgraded, since nothing actually enforces the schema yet."}},"type":"object","required":["model","messages"],"title":"ChatCompletionBody"},"ChatMessage":{"properties":{"role":{"type":"string","title":"Role","description":"system | user | assistant"},"content":{"type":"string","maxLength":100000,"title":"Content"}},"type":"object","required":["role","content"],"title":"ChatMessage"},"CheckBody":{"properties":{"text":{"type":"string","title":"Text"},"role":{"type":"string","title":"Role","default":"assistant"}},"type":"object","required":["text"],"title":"CheckBody"},"CommandBody":{"properties":{"text":{"type":"string","title":"Text"}},"type":"object","required":["text"],"title":"CommandBody"},"ComplianceAttestation":{"properties":{"eu_ai_act_art_13":{"type":"boolean","title":"Eu Ai Act Art 13","default":true},"audit_logged":{"type":"boolean","title":"Audit Logged"},"regulator_replay_url":{"type":"string","title":"Regulator Replay Url"}},"type":"object","required":["audit_logged","regulator_replay_url"],"title":"ComplianceAttestation"},"ConfidenceBand":{"type":"string","enum":["HIGH","MEDIUM","LOW","UNKNOWN"],"title":"ConfidenceBand"},"ConversionEvent":{"properties":{"email":{"type":"string","format":"email","title":"Email","description":"Lead email. Hashed (SHA-256, lowercased) before send; never transmitted or logged in clear."},"stage":{"type":"string","enum":["lead","qualified","closed"],"title":"Stage","description":"DESK deal stage; selects the Conversion Rule URN to post to.","default":"lead"},"conversion_urn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversion Urn","description":"Explicit Conversion Rule URN; overrides the stage→rule map."},"value":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Value","description":"Conversion value (e.g. deal amount). Omit for none."},"currency":{"type":"string","maxLength":3,"minLength":3,"title":"Currency","description":"ISO-4217 currency code for `value`.","default":"EUR"},"happened_at":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Happened At","description":"Conversion time in epoch MILLISECONDS. Defaults to now."},"event_id":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Event Id","description":"Idempotency / dedupe key — e.g. the DESK deal id."},"first_name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Last Name"}},"type":"object","required":["email"],"title":"ConversionEvent"},"ConversionResponse":{"properties":{"sent":{"type":"boolean","title":"Sent","description":"True if LinkedIn accepted the event."},"detail":{"type":"string","title":"Detail","description":"'ok' or a short failure code."},"stage":{"type":"string","title":"Stage"},"conversion_urn":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversion Urn","description":"The Conversion Rule URN the event targeted."},"event_ref":{"type":"string","title":"Event Ref","description":"Internal reference id for tracing."}},"type":"object","required":["sent","detail","stage","event_ref"],"title":"ConversionResponse"},"DecisionRequired":{"properties":{"type":{"$ref":"#/components/schemas/DecisionType","default":"REVIEW"},"human_gate":{"type":"boolean","title":"Human Gate","default":true},"reason":{"type":"string","maxLength":2000,"minLength":1,"title":"Reason","default":"Human review is required by default."}},"additionalProperties":false,"type":"object","title":"DecisionRequired","description":"A requested human decision, never an execution authorization."},"DecisionType":{"type":"string","enum":["APPROVE","REVIEW","HOLD","NONE"],"title":"DecisionType"},"DelegateBody":{"properties":{"from_agent":{"type":"string","title":"From Agent"},"to_agent":{"type":"string","title":"To Agent"},"question":{"type":"string","title":"Question"}},"type":"object","required":["from_agent","to_agent","question"],"title":"DelegateBody"},"EnrichRequest":{"properties":{"account":{"$ref":"#/components/schemas/AccountIn"}},"type":"object","required":["account"],"title":"EnrichRequest"},"EnrichResponse":{"properties":{"profile":{"additionalProperties":true,"type":"object","title":"Profile"},"source_evidence":{"type":"string","title":"Source Evidence"},"audit_id":{"type":"string","title":"Audit Id"},"signing_key_id":{"type":"string","title":"Signing Key Id"},"signature":{"type":"string","title":"Signature"}},"type":"object","required":["profile","source_evidence","audit_id","signing_key_id","signature"],"title":"EnrichResponse"},"EvidenceRef":{"properties":{"ref":{"type":"string","maxLength":512,"minLength":1,"title":"Ref"},"source_product":{"type":"string","maxLength":64,"minLength":1,"title":"Source Product"},"truth_state":{"$ref":"#/components/schemas/TruthState"},"environment":{"$ref":"#/components/schemas/SourceEnvironment","default":"UNKNOWN"},"as_of":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},"additionalProperties":false,"type":"object","required":["ref","source_product","truth_state"],"title":"EvidenceRef","description":"Reference to evidence owned by an authoritative product/source."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InferenceRequest":{"properties":{"provider":{"type":"string","title":"Provider","description":"Provider id (e.g., 'anthropic', 'cohere')."},"model":{"type":"string","title":"Model","description":"Provider-specific model identifier."},"prompt":{"type":"string","minLength":1,"title":"Prompt"},"max_tokens":{"type":"integer","maximum":32000.0,"minimum":1.0,"title":"Max Tokens","default":1000},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"product":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product","description":"One of KNOWN_PRODUCTS."},"task":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task","description":"Free-text task label for attribution."},"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correlation Id"}},"type":"object","required":["provider","model","prompt"],"title":"InferenceRequest"},"InferenceResponse":{"properties":{"response_id":{"type":"string","title":"Response Id"},"provider":{"type":"string","title":"Provider"},"model":{"type":"string","title":"Model"},"output":{"type":"string","title":"Output"},"input_hash":{"type":"string","title":"Input Hash"},"output_hash":{"type":"string","title":"Output Hash"},"signature":{"type":"string","title":"Signature"},"signing_key_id":{"type":"string","title":"Signing Key Id"},"timestamp":{"type":"string","title":"Timestamp"},"tokens":{"$ref":"#/components/schemas/TokenUsage"},"compliance_attestation":{"$ref":"#/components/schemas/ComplianceAttestation"}},"type":"object","required":["response_id","provider","model","output","input_hash","output_hash","signature","signing_key_id","timestamp","tokens","compliance_attestation"],"title":"InferenceResponse"},"InvokeRequest":{"properties":{"tool":{"type":"string","maxLength":80,"minLength":1,"title":"Tool"},"agent":{"type":"string","maxLength":64,"minLength":1,"title":"Agent"},"params":{"additionalProperties":true,"type":"object","title":"Params"}},"type":"object","required":["tool","agent"],"title":"InvokeRequest"},"IssueKeyBody":{"properties":{"account_id":{"type":"string","minLength":8,"title":"Account Id","description":"client.accounts UUID"},"label":{"type":"string","maxLength":120,"minLength":1,"title":"Label","description":"What this key powers, e.g. 'talent-prod'"},"scopes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Scopes"},"ttl_days":{"type":"integer","maximum":1825.0,"minimum":0.0,"title":"Ttl Days","default":365},"grant_entitlement":{"type":"boolean","title":"Grant Entitlement","description":"Grant the cz_ai product to the account first if missing.","default":false}},"type":"object","required":["account_id","label"],"title":"IssueKeyBody"},"JsonValue":{},"LeadCapturePayload":{"properties":{"source":{"type":"string","maxLength":120,"minLength":1,"title":"Source","description":"Origin surface, e.g. 'cityzeen.co/sales'."},"userType":{"type":"string","maxLength":40,"minLength":1,"title":"Usertype","description":"investor | issuer | partner | institutional"},"firstName":{"type":"string","maxLength":120,"minLength":1,"title":"Firstname"},"lastName":{"type":"string","maxLength":120,"minLength":1,"title":"Lastname"},"email":{"type":"string","format":"email","title":"Email"},"firm":{"type":"string","maxLength":240,"minLength":1,"title":"Firm"},"role":{"type":"string","maxLength":120,"minLength":1,"title":"Role"},"portfolioSize":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Portfoliosize"},"assetClass":{"anyOf":[{"type":"string","maxLength":240},{"type":"null"}],"title":"Assetclass"},"ticketSize":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Ticketsize"},"geography":{"anyOf":[{"type":"string","maxLength":240},{"type":"null"}],"title":"Geography"},"strategy":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Strategy"},"timing":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Timing"},"authority":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Authority"},"evaluate":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Evaluate"},"match_score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Match Score"},"match_product":{"type":"string","maxLength":40,"minLength":1,"title":"Match Product","description":"sm | geo | pricing | ame"},"greeter_score":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Greeter Score"},"greeter_session":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Greeter Session"},"greeter_product":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Greeter Product"},"page_url":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Page Url"},"referrer":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Referrer"},"user_agent":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"User Agent"},"timestamp":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Timestamp"}},"type":"object","required":["source","userType","firstName","lastName","email","firm","role","match_score","match_product"],"title":"LeadCapturePayload"},"LeadCaptureResponse":{"properties":{"received":{"type":"boolean","title":"Received"},"ref_id":{"type":"string","title":"Ref Id"},"follow_up_eta":{"type":"string","title":"Follow Up Eta"},"notified":{"type":"boolean","title":"Notified","description":"True if Resend sales notification sent."},"confirmed":{"type":"boolean","title":"Confirmed","description":"True if Resend user confirmation sent."}},"type":"object","required":["received","ref_id","follow_up_eta","notified","confirmed"],"title":"LeadCaptureResponse"},"MatchBody":{"properties":{"query":{"type":"string","maxLength":2000,"minLength":1,"title":"Query"},"candidates":{"items":{"type":"string"},"type":"array","maxItems":200,"minItems":1,"title":"Candidates","description":"Candidate passages to rerank against the query. Bounded at 200 so a single call can't overshoot NeMo Retriever."},"top_k":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Top K","default":5}},"type":"object","required":["query","candidates"],"title":"MatchBody"},"MatchRequest":{"properties":{"asset_id":{"type":"string","maxLength":256,"title":"Asset Id"}},"type":"object","required":["asset_id"],"title":"MatchRequest"},"NextActionOwner":{"type":"string","enum":["CLIENT","CITYZEEN","AGENT","HUMAN","THIRD_PARTY"],"title":"NextActionOwner"},"PassportComplianceAttestation":{"properties":{"eu_ai_act_art_13":{"type":"boolean","title":"Eu Ai Act Art 13","default":true},"audit_logged":{"type":"boolean","title":"Audit Logged"},"regulator_replay_url":{"type":"string","maxLength":2048,"minLength":1,"title":"Regulator Replay Url"}},"additionalProperties":false,"type":"object","required":["audit_logged","regulator_replay_url"],"title":"PassportComplianceAttestation"},"PassportConfidence":{"properties":{"score":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Score"},"band":{"$ref":"#/components/schemas/ConfidenceBand"},"basis":{"type":"string","maxLength":2000,"minLength":1,"title":"Basis"}},"additionalProperties":false,"type":"object","required":["score","band","basis"],"title":"PassportConfidence","description":"Normalized Passport confidence using the repository's 0-100 convention."},"PassportDecisionResult":{"properties":{"decision_id":{"type":"string","maxLength":128,"minLength":1,"title":"Decision Id"},"request_id":{"type":"string","maxLength":128,"minLength":1,"title":"Request Id"},"passport_id":{"type":"string","maxLength":128,"minLength":1,"title":"Passport Id"},"passport_mode":{"$ref":"#/components/schemas/PassportMode"},"stage":{"$ref":"#/components/schemas/PassportStage"},"result":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"type":"null"}],"title":"Result"},"evidence_refs":{"items":{"$ref":"#/components/schemas/EvidenceRef"},"type":"array","title":"Evidence Refs"},"confidence":{"$ref":"#/components/schemas/PassportConfidence"},"risks":{"items":{"$ref":"#/components/schemas/PassportRisk"},"type":"array","title":"Risks"},"missing":{"items":{"$ref":"#/components/schemas/PassportMissingItem"},"type":"array","title":"Missing"},"next_actions":{"items":{"$ref":"#/components/schemas/PassportNextAction"},"type":"array","title":"Next Actions"},"decision_required":{"$ref":"#/components/schemas/DecisionRequired"},"truth_state":{"$ref":"#/components/schemas/TruthState"},"source_products":{"items":{"type":"string"},"type":"array","title":"Source Products"},"source_versions":{"additionalProperties":{"type":"string"},"type":"object","title":"Source Versions"},"prompt_id":{"type":"string","maxLength":128,"minLength":1,"title":"Prompt Id"},"prompt_version":{"type":"string","maxLength":64,"minLength":5,"pattern":"^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]+)?$","title":"Prompt Version"},"prompt_content_hash":{"type":"string","maxLength":71,"minLength":71,"pattern":"^sha256:[0-9a-f]{64}$","title":"Prompt Content Hash"},"model":{"type":"string","maxLength":256,"minLength":1,"title":"Model"},"provider":{"type":"string","maxLength":64,"minLength":1,"title":"Provider"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"as_of":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"},"view_scope":{"$ref":"#/components/schemas/ViewScope"},"public_safe":{"type":"boolean","title":"Public Safe","default":false},"external_safe":{"type":"boolean","title":"External Safe","default":false},"requires_sage_review":{"type":"boolean","title":"Requires Sage Review","default":true}},"additionalProperties":false,"type":"object","required":["decision_id","request_id","passport_id","passport_mode","stage","result","confidence","truth_state","prompt_id","prompt_version","prompt_content_hash","model","provider","generated_at","as_of","view_scope"],"title":"PassportDecisionResult","description":"Signed-decision payload shared by Passport stages.\n\nThe envelope is strict. ``result`` remains a JSON object because each\nauthoritative product owns its stage-specific output contract; those typed\nadapters are deliberately deferred to later BUILD stages."},"PassportMissingItem":{"properties":{"field":{"type":"string","maxLength":512,"minLength":1,"title":"Field"},"impact":{"type":"string","maxLength":2000,"minLength":1,"title":"Impact"},"why_needed":{"anyOf":[{"type":"string","maxLength":2000,"minLength":1},{"type":"null"}],"title":"Why Needed"}},"additionalProperties":false,"type":"object","required":["field","impact","why_needed"],"title":"PassportMissingItem","description":"A missing input and its decision impact; missing never means zero."},"PassportMode":{"type":"string","enum":["BUSINESS","GOV"],"title":"PassportMode","description":"Actor/problem domain selected by an authenticated product caller."},"PassportNextAction":{"properties":{"action":{"type":"string","maxLength":2000,"minLength":1,"title":"Action"},"owner":{"$ref":"#/components/schemas/NextActionOwner"},"reason":{"type":"string","maxLength":2000,"minLength":1,"title":"Reason"},"due_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due At"},"depends_on":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Depends On"},"human_gate":{"type":"boolean","title":"Human Gate","default":true}},"additionalProperties":false,"type":"object","required":["action","owner","reason","due_at"],"title":"PassportNextAction","description":"A proposed action, never an execution authorization."},"PassportRisk":{"properties":{"severity":{"$ref":"#/components/schemas/RiskSeverity"},"statement":{"type":"string","maxLength":2000,"minLength":1,"title":"Statement"},"evidence_ref":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Evidence Ref"}},"additionalProperties":false,"type":"object","required":["severity","statement","evidence_ref"],"title":"PassportRisk","description":"A material risk, optionally linked to supporting evidence."},"PassportRuntimeRequest":{"properties":{"prompt_id":{"type":"string","maxLength":128,"minLength":8,"pattern":"^PASS-(?:0[1-9]|10)-[A-Z0-9-]+$","title":"Prompt Id"},"request_id":{"type":"string","maxLength":128,"minLength":1,"title":"Request Id"},"passport_id":{"type":"string","maxLength":128,"minLength":1,"title":"Passport Id"},"account_id":{"type":"string","maxLength":128,"minLength":1,"title":"Account Id"},"passport_mode":{"$ref":"#/components/schemas/PassportMode"},"view_scope":{"$ref":"#/components/schemas/ViewScope"},"locale":{"type":"string","maxLength":35,"minLength":2,"title":"Locale"},"objective":{"type":"string","maxLength":4000,"minLength":1,"title":"Objective"},"taxonomy_context":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Taxonomy Context"},"source_results":{"items":{"$ref":"#/components/schemas/PassportSourceResult"},"type":"array","title":"Source Results"},"evidence":{"items":{"$ref":"#/components/schemas/EvidenceRef"},"type":"array","title":"Evidence"},"commercial_context":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object"},{"type":"null"}],"title":"Commercial Context"},"constraints":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Constraints"},"as_of":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"}},"additionalProperties":false,"type":"object","required":["prompt_id","request_id","passport_id","account_id","passport_mode","view_scope","locale","objective","taxonomy_context","commercial_context","as_of"],"title":"PassportRuntimeRequest","description":"Authenticated server/product request for one Passport prompt stage.\n\n``account_id``, ``passport_mode``, and ``view_scope`` are caller proposals.\nThe request body is not an authorization source: the API binds the account\nto a server-resolved service-key identity, and the runtime independently\nenforces the registered mode and reviewed view policies."},"PassportRuntimeResponse":{"properties":{"decision":{"$ref":"#/components/schemas/PassportDecisionResult"},"validation_verdict":{"$ref":"#/components/schemas/TruthValidationVerdict"},"requested_model":{"type":"string","maxLength":256,"minLength":1,"title":"Requested Model"},"served_model":{"type":"string","maxLength":256,"minLength":1,"title":"Served Model"},"provider":{"type":"string","maxLength":64,"minLength":1,"title":"Provider"},"fallback_from":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Fallback From"},"response_id":{"type":"string","maxLength":128,"minLength":1,"title":"Response Id"},"input_hash":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","title":"Input Hash"},"output_hash":{"type":"string","pattern":"^sha256:[0-9a-f]{64}$","title":"Output Hash"},"signature":{"type":"string","maxLength":1024,"minLength":1,"title":"Signature"},"signing_key_id":{"type":"string","maxLength":256,"minLength":1,"title":"Signing Key Id"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"compliance_attestation":{"$ref":"#/components/schemas/PassportComplianceAttestation"}},"additionalProperties":false,"type":"object","required":["decision","validation_verdict","requested_model","served_model","provider","response_id","input_hash","output_hash","signature","signing_key_id","timestamp","compliance_attestation"],"title":"PassportRuntimeResponse","description":"Passport decision plus the existing signed-rail success evidence."},"PassportSourceResult":{"properties":{"source_product":{"type":"string","maxLength":64,"minLength":1,"title":"Source Product"},"source_version":{"type":"string","maxLength":128,"minLength":1,"title":"Source Version"},"truth_state":{"$ref":"#/components/schemas/TruthState"},"environment":{"$ref":"#/components/schemas/SourceEnvironment"},"as_of":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"As Of"},"payload":{"additionalProperties":{"$ref":"#/components/schemas/JsonValue"},"type":"object","title":"Payload"}},"additionalProperties":false,"type":"object","required":["source_product","source_version","truth_state","environment","as_of","payload"],"title":"PassportSourceResult","description":"Typed product-engine output supplied to the Passport runtime."},"PassportStage":{"type":"string","enum":["understand","verify","price","match","liquidity","synthesize","sales"],"title":"PassportStage"},"PricingDemoRequest":{"properties":{"address":{"type":"string","maxLength":240,"minLength":3,"title":"Address","description":"Free-text address. French addresses preferred; any string accepted.","examples":["1 Rue de Rivoli, 75001"]}},"type":"object","required":["address"],"title":"PricingDemoRequest"},"PricingDemoResponse":{"properties":{"address":{"type":"string","title":"Address"},"static_eur_m":{"type":"number","title":"Static Eur M","description":"Static (DCF / appraisal) valuation, €M."},"dynamic_eur_m":{"type":"number","title":"Dynamic Eur M","description":"Dynamic Bayesian posterior, €M."},"delta_pct":{"type":"number","title":"Delta Pct","description":"Dynamic minus static, percent."},"confidence_pct":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Confidence Pct"},"layers":{"items":{"$ref":"#/components/schemas/PricingLayer"},"type":"array","title":"Layers"},"audit_hash":{"type":"string","maxLength":64,"minLength":64,"title":"Audit Hash","description":"SHA-256 of the canonical envelope (address + layers + date)."},"fixture":{"type":"boolean","title":"Fixture","description":"True if the response came from the curated 3-address fixture set; False if produced by the deterministic fallback for an arbitrary address."},"rate_limit_remaining":{"type":"integer","title":"Rate Limit Remaining","description":"Calls remaining in the current per-IP window. Window resets every 60s."}},"type":"object","required":["address","static_eur_m","dynamic_eur_m","delta_pct","confidence_pct","layers","audit_hash","fixture","rate_limit_remaining"],"title":"PricingDemoResponse"},"PricingLayer":{"properties":{"num":{"type":"string","title":"Num","description":"Layer identifier (L1..L5).","examples":["L1"]},"name":{"type":"string","title":"Name","description":"Layer name."},"detail":{"type":"string","title":"Detail","description":"One-phrase description of the input source."},"contribution_eur_m":{"type":"string","title":"Contribution Eur M","description":"Contribution to posterior, formatted in €M.","examples":["+€3.4M"]},"confidence_pct":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Confidence Pct"}},"type":"object","required":["num","name","detail","contribution_eur_m","confidence_pct"],"title":"PricingLayer"},"ProviderInfo":{"properties":{"id":{"type":"string","title":"Id"},"models":{"items":{"type":"string"},"type":"array","title":"Models"},"capabilities":{"items":{"type":"string"},"type":"array","title":"Capabilities"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","models","capabilities","status"],"title":"ProviderInfo"},"RedemptionBody":{"properties":{"product":{"type":"string","title":"Product","description":"One of KNOWN_PRODUCTS (GEO, DP, AME, CT, ...)."},"redemption_type":{"type":"string","maxLength":64,"minLength":1,"title":"Redemption Type","description":"What was delivered, e.g. geo_scene_score | dp_valuation | ame_match | ct_mint."},"value_weight":{"type":"number","exclusiveMinimum":0.0,"title":"Value Weight","description":"Relative delivered-value weight (NOT EUR — no per-redemption-type Rate Book/ADR exists yet; see docs/PRODUCT_METERING.md). Illustrative: GEO scene ~0.55, DP valuation ~15, AME match ~6."},"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correlation Id"},"meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Meta"}},"type":"object","required":["product","redemption_type","value_weight"],"title":"RedemptionBody"},"RephraseRequest":{"properties":{"text":{"type":"string","maxLength":2000,"title":"Text"},"target_tone":{"type":"string","maxLength":32,"title":"Target Tone","default":"institutional"},"locale":{"type":"string","maxLength":8,"title":"Locale","default":"en"}},"type":"object","required":["text"],"title":"RephraseRequest"},"RephraseResponse":{"properties":{"rephrased":{"type":"string","title":"Rephrased"},"audit_id":{"type":"string","title":"Audit Id"},"signing_key_id":{"type":"string","title":"Signing Key Id"},"signature":{"type":"string","title":"Signature"}},"type":"object","required":["rephrased","audit_id","signing_key_id","signature"],"title":"RephraseResponse"},"ReplayRecord":{"properties":{"response_id":{"type":"string","title":"Response Id"},"provider":{"type":"string","title":"Provider"},"model":{"type":"string","title":"Model"},"prompt":{"type":"string","title":"Prompt"},"output":{"type":"string","title":"Output"},"input_hash":{"type":"string","title":"Input Hash"},"output_hash":{"type":"string","title":"Output Hash"},"signature":{"type":"string","title":"Signature"},"signing_key_id":{"type":"string","title":"Signing Key Id"},"tokens":{"$ref":"#/components/schemas/TokenUsage"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["response_id","provider","model","prompt","output","input_hash","output_hash","signature","signing_key_id","tokens","metadata","created_at"],"title":"ReplayRecord"},"RerankBody":{"properties":{"query":{"type":"string","title":"Query"},"passages":{"items":{"type":"string"},"type":"array","title":"Passages"},"top_k":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top K"},"provider":{"type":"string","enum":["nim","cohere"],"title":"Provider","default":"nim"},"agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent"},"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correlation Id"}},"type":"object","required":["query","passages"],"title":"RerankBody"},"RevokeKeyBody":{"properties":{"api_key_id":{"type":"string","minLength":8,"title":"Api Key Id"}},"type":"object","required":["api_key_id"],"title":"RevokeKeyBody"},"RiskSeverity":{"type":"string","enum":["HIGH","MEDIUM","LOW"],"title":"RiskSeverity"},"RunBody":{"properties":{"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent"},"task":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task"}},"type":"object","title":"RunBody"},"RunFleetBody":{"properties":{"agents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Agents","description":"Agents to certify; omit to run the entire live fleet (LIVE_FLEET_36)."},"concurrency":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Concurrency","default":6}},"type":"object","title":"RunFleetBody"},"RunRequest":{"properties":{"task_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Task Id"},"agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent"},"task_type":{"type":"string","maxLength":120,"minLength":1,"title":"Task Type"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correlation Id"},"priority":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priority"},"attempts":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Attempts"}},"type":"object","required":["task_type"],"title":"RunRequest"},"ScoreRequest":{"properties":{"intent":{"type":"string","maxLength":2000,"title":"Intent"},"user_type":{"type":"string","maxLength":64,"title":"User Type"},"aum_band":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aum Band"},"jurisdiction":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jurisdiction"},"products_of_interest":{"items":{"type":"string"},"type":"array","title":"Products Of Interest"}},"type":"object","required":["intent","user_type"],"title":"ScoreRequest"},"ScoreResponse":{"properties":{"score":{"type":"integer","title":"Score"},"recommended_product":{"type":"string","title":"Recommended Product"},"rationale":{"type":"string","title":"Rationale"},"citations":{"items":{"type":"string"},"type":"array","title":"Citations"},"audit_id":{"type":"string","title":"Audit Id"},"signing_key_id":{"type":"string","title":"Signing Key Id"},"signature":{"type":"string","title":"Signature"},"spine_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Spine Code"},"spine_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Spine Label"}},"type":"object","required":["score","recommended_product","rationale","citations","audit_id","signing_key_id","signature"],"title":"ScoreResponse"},"SourceEnvironment":{"type":"string","enum":["PRODUCTION","TEST","SANDBOX","DEMO","UNKNOWN"],"title":"SourceEnvironment","description":"Operational environment asserted by an evidence producer."},"TeamActiveBody":{"properties":{"email":{"type":"string","title":"Email"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["email","active"],"title":"TeamActiveBody"},"TeamMemberBody":{"properties":{"email":{"type":"string","title":"Email"},"name":{"type":"string","title":"Name","default":""},"role":{"type":"string","title":"Role","default":"viewer"},"regen":{"type":"boolean","title":"Regen","default":true}},"type":"object","required":["email"],"title":"TeamMemberBody"},"TickResult":{"properties":{"shift":{"type":"string","title":"Shift"},"open_p0":{"type":"integer","title":"Open P0","default":0},"open_p1":{"type":"integer","title":"Open P1","default":0},"active":{"items":{},"type":"array","title":"Active"},"dispatched":{"items":{},"type":"array","title":"Dispatched"},"as_of":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of"},"configured":{"type":"boolean","title":"Configured","default":true},"drafts_enqueued":{"type":"integer","title":"Drafts Enqueued","default":0},"dispatch_enabled":{"type":"boolean","title":"Dispatch Enabled","default":false},"planned":{"items":{},"type":"array","title":"Planned"},"runs_executed":{"type":"integer","title":"Runs Executed","default":0},"runs_blocked":{"type":"integer","title":"Runs Blocked","default":0},"checkpoint_written":{"type":"boolean","title":"Checkpoint Written","default":false},"digest_sent":{"type":"boolean","title":"Digest Sent","default":false},"billing_alert_sent":{"items":{"type":"string"},"type":"array","title":"Billing Alert Sent"},"dispatch_proposals_logged":{"type":"integer","title":"Dispatch Proposals Logged","default":0},"watchdog_moved":{"type":"integer","title":"Watchdog Moved","default":0},"intake_classified":{"type":"integer","title":"Intake Classified","default":0},"intake_skipped":{"type":"integer","title":"Intake Skipped","default":0},"executor_claimed":{"type":"integer","title":"Executor Claimed","default":0},"executor_done":{"type":"integer","title":"Executor Done","default":0},"executor_failed":{"type":"integer","title":"Executor Failed","default":0},"executor_deferred":{"type":"integer","title":"Executor Deferred","default":0},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["shift"],"title":"TickResult","description":"What one scheduler tick returns — also the /v1/orchestrator/tick body.\n\nKeys are snake_case (shift, open_p0, open_p1, active, dispatched) — this is\nthe contract the CEO Cockpit reads. `configured` is an additive operational\nflag (false when no registry Supabase is wired); cockpit consumers can ignore\nit."},"TokenUsage":{"properties":{"input":{"type":"integer","title":"Input","default":0},"output":{"type":"integer","title":"Output","default":0}},"type":"object","title":"TokenUsage"},"TruthState":{"type":"string","enum":["LIVE","VERIFIED","ESTIMATED","ILLUSTRATIVE","DEMO","UNAVAILABLE"],"title":"TruthState"},"TruthValidationVerdict":{"type":"string","enum":["PASS","PASS_WITH_REVIEW","FAIL"],"title":"TruthValidationVerdict"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ViewScope":{"type":"string","enum":["INTERNAL","CLIENT","SHARED","PUBLIC"],"title":"ViewScope"},"cz_ai_router__api__embeddings__EmbedBody":{"properties":{"texts":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Texts"},"input_type":{"type":"string","title":"Input Type","default":"query"},"provider":{"type":"string","enum":["nim","cohere"],"title":"Provider","default":"nim"},"agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent","description":"Caller/product label for the audit row."},"correlation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Correlation Id"}},"type":"object","required":["texts"],"title":"EmbedBody"},"cz_ai_router__api__nvidia__EmbedBody":{"properties":{"texts":{"items":{"type":"string"},"type":"array","maxItems":200,"minItems":1,"title":"Texts","description":"Batch of texts to embed (bounded so one call can't overshoot)."},"input_type":{"type":"string","pattern":"^(query|passage)$","title":"Input Type","description":"NeMo Retriever input type: 'query' for search queries, 'passage' for indexed docs.","default":"query"}},"type":"object","required":["texts"],"title":"EmbedBody"}}}}