{"openapi":"3.0.3","info":{"title":"Cencori Embedded Agents","version":"1.1.0","description":"The typed public contract for Cencori Embedded Agents: models, providers, tenants, versioned agents, installations, sessions, runs, knowledge, tools, approvals, webhooks, and attributed usage.","license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}},"servers":[{"url":"https://cencori.com"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Project secret (csk_*) for server ops; short-lived client token (ect_*) for browser execution."}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"type":{"type":"string","example":"invalid_request_error"},"code":{"type":"string","example":"invalid_request"},"message":{"type":"string"},"request_id":{"type":"string","nullable":true},"param":{"type":"string","nullable":true}},"required":["type","code","message"]},"status":{"type":"string","enum":["failed"]}},"required":["error"]},"DeletedResponse":{"type":"object","properties":{"id":{"type":"string"},"deleted":{"type":"boolean"},"status":{"type":"string"}}},"Tenant":{"type":"object","properties":{"id":{"type":"string","example":"ten_abc"},"external_id":{"type":"string"},"name":{"type":"string"},"status":{"type":"string","enum":["active","suspended","deleting","deleted"]},"region":{"type":"string","nullable":true},"metadata":{"type":"object","properties":{},"additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","external_id","name","status","metadata","created_at","updated_at"]},"TenantList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Tenant"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"TenantUser":{"type":"object","properties":{"id":{"type":"string"},"tenant_id":{"type":"string"},"external_id":{"type":"string"},"display_name":{"type":"string","nullable":true},"status":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"groups":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object","properties":{},"additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","tenant_id","external_id","status","roles","groups","metadata"]},"TenantUserList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/TenantUser"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"TenantExport":{"type":"object","properties":{"tenant":{"$ref":"#/components/schemas/Tenant"},"users":{"type":"array","items":{"$ref":"#/components/schemas/TenantUser"}},"exported_at":{"type":"string","format":"date-time"}},"required":["tenant","users","exported_at"]},"ClientToken":{"type":"object","properties":{"token":{"type":"string","example":"ect_..."},"expires_at":{"type":"string","format":"date-time"}},"required":["token","expires_at"]},"UnifiedModel":{"type":"object","properties":{"id":{"type":"string"},"object":{"type":"string","enum":["model"]},"created":{"type":"integer"},"owned_by":{"type":"string"},"name":{"type":"string"},"type":{"type":"string"},"types":{"type":"array","items":{"type":"string"}},"context_window":{"type":"integer"},"provider":{"type":"string"},"source":{"type":"string","enum":["cencori","byok","custom"]},"connection_id":{"type":"string","nullable":true},"status":{"type":"string"},"available":{"type":"boolean"},"unavailable_reason":{"type":"string","nullable":true},"pricing_status":{"type":"string"}},"required":["id","object","name","provider","source","status","available"]},"ModelList":{"type":"object","properties":{"object":{"type":"string","enum":["list"]},"data":{"type":"array","items":{"$ref":"#/components/schemas/UnifiedModel"}},"total":{"type":"integer","description":"Filtered catalog rows (connection variants stay addressable via connection_id)."},"distinct_model_ids":{"type":"integer","description":"Unique model IDs in the filtered catalog."},"next_cursor":{"type":"string","nullable":true},"partial":{"type":"boolean","description":"True when a source query failed or was truncated: the catalog is incomplete."},"providers":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}}},"required":["object","data","total","next_cursor","partial","providers"]},"ProviderConnection":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"provider":{"type":"string"},"api_format":{"type":"string"},"base_url":{"type":"string","nullable":true},"status":{"type":"string"},"last_tested_at":{"type":"string","nullable":true,"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","name","provider","status"]},"ProviderConnectionList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProviderConnection"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"ProviderValidation":{"type":"object","properties":{"valid":{"type":"boolean"},"provider":{"type":"string"},"api_format":{"type":"string"},"message":{"type":"string"},"models_discovered":{"type":"integer"}},"required":["valid"]},"ModelSync":{"type":"object","properties":{"id":{"type":"string"},"connection_id":{"type":"string"},"status":{"type":"string"},"counts":{"type":"object","properties":{},"additionalProperties":true},"changes":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"created_at":{"type":"string","format":"date-time"}},"required":["id","connection_id","status"]},"AgentConfig":{"type":"object","properties":{"model":{"type":"string","nullable":true},"system_prompt":{"type":"string","nullable":true},"tools":{"type":"array","items":{"type":"string"}},"temperature":{"type":"number","nullable":true}}},"Agent":{"type":"object","properties":{"id":{"type":"string","example":"agt_abc"},"name":{"type":"string"},"description":{"type":"string","nullable":true},"is_active":{"type":"boolean"},"shadow_mode":{"type":"boolean"},"config":{"$ref":"#/components/schemas/AgentConfig"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","name","is_active","shadow_mode","config","created_at"]},"AgentList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Agent"}}},"required":["data"]},"AgentKey":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"key_prefix":{"type":"string"},"full_key":{"type":"string","description":"Returned only once when the key is created."},"environment":{"type":"string"},"key_type":{"type":"string"},"agent_id":{"type":"string"},"created_at":{"type":"string","format":"date-time"}},"required":["id","name","key_prefix","environment","key_type","agent_id","created_at"]},"AgentVersion":{"type":"object","properties":{"id":{"type":"string"},"agent_id":{"type":"string"},"version":{"type":"string"},"status":{"type":"string","enum":["draft","ready_for_review","published","deprecated","retired"]},"config":{"type":"object","properties":{},"additionalProperties":true,"description":" Config may declare `connection_tools` (imported connector operations exposed as hosted tools)."},"requirements":{"type":"object","properties":{},"additionalProperties":true},"visibility":{"type":"string"},"validation":{"type":"object","properties":{},"additionalProperties":true},"test_result":{"type":"object","properties":{},"additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"published_at":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","agent_id","version","status","config"]},"AgentVersionList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/AgentVersion"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"AgentVersionValidation":{"type":"object","properties":{"valid":{"type":"boolean"},"status":{"type":"string"},"errors":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"warnings":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"version":{"$ref":"#/components/schemas/AgentVersion"}},"required":["valid","status"]},"AgentVersionTest":{"type":"object","properties":{"passed":{"type":"boolean"},"status":{"type":"string"},"output":{"type":"object","properties":{},"additionalProperties":true},"readiness":{"type":"object","properties":{},"additionalProperties":true},"version":{"$ref":"#/components/schemas/AgentVersion"}},"required":["passed","status"]},"MarketplaceAgent":{"type":"object","properties":{"version_id":{"type":"string"},"agent_id":{"type":"string"},"version":{"type":"string"},"visibility":{"type":"string"},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"config":{"type":"object","properties":{},"additionalProperties":true},"requirements":{"type":"object","properties":{},"additionalProperties":true},"published_at":{"type":"string","format":"date-time","nullable":true}},"required":["version_id","agent_id","version"]},"MarketplaceAgentList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MarketplaceAgent"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"Installation":{"type":"object","properties":{"id":{"type":"string","example":"ins_abc"},"tenant_id":{"type":"string"},"agent_id":{"type":"string"},"agent_version_id":{"type":"string"},"version":{"type":"string"},"status":{"type":"string"},"update_channel":{"type":"string"},"knowledge_base_ids":{"type":"array","items":{"type":"string"}},"connection_ids":{"type":"array","items":{"type":"string"}},"approval_policy":{"type":"object","properties":{},"additionalProperties":true},"overlay_config":{"type":"object","properties":{},"additionalProperties":true},"budget":{"type":"object","properties":{},"additionalProperties":true},"metadata":{"type":"object","properties":{},"additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","tenant_id","agent_id","status","knowledge_base_ids","connection_ids"]},"InstallationList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Installation"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"RunOutput":{"type":"object","properties":{"type":{"type":"string","example":"result"},"output":{},"model":{"type":"string"},"provider":{"type":"string"},"agent_version_id":{"type":"string","nullable":true},"agent_version":{"type":"string","nullable":true},"reasoning_effort_applied":{"type":"string","nullable":true,"description":"Manifest reasoning effort applied to provider requests (OpenAI family), or null."},"tool_calls":{"type":"array","description":"Hosted MCP tool calls executed during the run.","items":{"type":"object","properties":{"tool":{"type":"string"},"status":{"type":"string","enum":["executed","failed"]},"action_id":{"type":"string"}}}},"knowledge_citations":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"skills_used":{"type":"array","items":{"type":"string"}},"skills_failed":{"type":"boolean","description":"True when skill retrieval failed; the run proceeded without skill procedures and emitted a skills.unavailable event."},"manifest_tools":{"type":"array","items":{}},"manifest_policy":{"type":"object","properties":{},"additionalProperties":true},"usage":{"type":"object","properties":{"promptTokens":{"type":"integer"},"completionTokens":{"type":"integer"},"totalTokens":{"type":"integer"},"cacheReadTokens":{"type":"integer"}},"required":["promptTokens","completionTokens","totalTokens"]},"cost":{"type":"object","properties":{"providerCostUsd":{"type":"number"},"cencoriChargeUsd":{"type":"number"},"markupPercentage":{"type":"number"}},"required":["providerCostUsd","cencoriChargeUsd","markupPercentage"]}},"required":["type","output","model","provider","usage","cost"]},"Run":{"type":"object","properties":{"id":{"type":"string","example":"run_abc"},"agent_id":{"type":"string"},"agent_version_id":{"type":"string","nullable":true},"installation_id":{"type":"string","nullable":true},"tenant_id":{"type":"string","nullable":true},"external_user_id":{"type":"string","nullable":true},"session_id":{"type":"string","nullable":true},"parent_run_id":{"type":"string","nullable":true},"status":{"type":"string","enum":["queued","running","requires_action","completed","failed","cancelled","expired"]},"input":{},"output":{"allOf":[{"$ref":"#/components/schemas/RunOutput"}],"nullable":true},"error":{"type":"string","nullable":true},"citations":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","agent_id","status"]},"RunEvent":{"type":"object","properties":{"id":{"type":"string"},"run_id":{"type":"string"},"sequence":{"type":"integer"},"event_type":{"type":"string"},"payload":{"type":"object","properties":{},"additionalProperties":true},"created_at":{"type":"string","format":"date-time"}},"required":["id","run_id","sequence","event_type","payload","created_at"]},"RunEventList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RunEvent"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"Action":{"type":"object","properties":{"id":{"type":"string","example":"act_abc"},"project_id":{"type":"string"},"tenant_id":{"type":"string","nullable":true},"run_id":{"type":"string","nullable":true},"session_id":{"type":"string","nullable":true},"tool":{"type":"string"},"arguments":{"type":"object","properties":{},"additionalProperties":true},"status":{"type":"string","enum":["pending","approved","rejected","executing","completed","failed","expired"]},"result":{"type":"object","properties":{},"additionalProperties":true,"nullable":true},"expires_at":{"type":"string","nullable":true,"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","tool","arguments","status","created_at"]},"Connector":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"auth_type":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"capabilities":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object","properties":{},"additionalProperties":true},"managed_auth":{"type":"boolean","description":"Platform-managed OAuth client credentials are available — authorize without BYO client_id/secret."}},"required":["id","name","auth_type"]},"ConnectorList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Connector"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"Connection":{"type":"object","properties":{"id":{"type":"string"},"connector":{"type":"string"},"owner_type":{"type":"string"},"tenant_id":{"type":"string","nullable":true},"external_user_id":{"type":"string","nullable":true},"scopes":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"metadata":{"type":"object","properties":{},"additionalProperties":true},"expires_at":{"type":"string","nullable":true,"format":"date-time"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","connector","owner_type","status"]},"ConnectionList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Connection"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"OAuthAuthorization":{"type":"object","properties":{"authorize_url":{"type":"string","format":"uri"},"state":{"type":"string"}},"required":["authorize_url","state"]},"ConnectionTest":{"type":"object","properties":{"success":{"type":"boolean"},"has_credential":{"type":"boolean"},"expired":{"type":"boolean"},"expires_at":{"type":"string","nullable":true,"format":"date-time"}},"required":["success","has_credential","expired"]},"KnowledgeBase":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"tenant_id":{"type":"string","nullable":true},"scope_type":{"type":"string"},"region":{"type":"string","nullable":true},"status":{"type":"string"},"retention_policy":{"type":"object","properties":{},"additionalProperties":true},"source_count":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","name","scope_type","status"]},"KnowledgeBaseList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeBase"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"KnowledgeSource":{"type":"object","properties":{"id":{"type":"string"},"knowledge_base_id":{"type":"string"},"source_type":{"type":"string"},"status":{"type":"string"},"metadata":{"type":"object","properties":{},"additionalProperties":true},"checksum":{"type":"string","nullable":true},"error":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","knowledge_base_id","source_type","status"]},"KnowledgeSourceList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeSource"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"KnowledgeGrant":{"type":"object","properties":{"id":{"type":"string"},"knowledge_base_id":{"type":"string"},"subject_type":{"type":"string"},"subject_id":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}},"created_at":{"type":"string","format":"date-time"}},"required":["id","knowledge_base_id","subject_type","subject_id","permissions"]},"KnowledgeGrantList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeGrant"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"KnowledgeSearchResult":{"type":"object","properties":{"chunk_id":{"type":"string"},"source_id":{"type":"string"},"text":{"type":"string"},"score":{"type":"number"},"metadata":{"type":"object","properties":{},"additionalProperties":true}},"required":["chunk_id","source_id","text","score"]},"KnowledgeSearchResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/KnowledgeSearchResult"}}},"required":["data"]},"Skill":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string","nullable":true},"visibility":{"type":"string"},"tenant_id":{"type":"string","nullable":true},"status":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","name","slug","visibility","status"]},"SkillList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Skill"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"SkillVersion":{"type":"object","properties":{"id":{"type":"string"},"skill_id":{"type":"string"},"version":{"type":"string"},"status":{"type":"string"},"content":{"type":"string"},"files":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"scan":{"type":"object","properties":{},"additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"published_at":{"type":"string","nullable":true,"format":"date-time"}},"required":["id","skill_id","version","status"]},"SkillVersionList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SkillVersion"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"SkillImport":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string"},"source_type":{"type":"string"},"source":{"type":"object","properties":{},"additionalProperties":true},"files":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"findings":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"created_at":{"type":"string","format":"date-time"}},"required":["id","status","source_type","findings"]},"McpServer":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"transport":{"type":"string"},"tenant_id":{"type":"string","nullable":true},"auth_connection_id":{"type":"string","nullable":true},"status":{"type":"string"},"tool_snapshot":{"type":"object","description":"Last discovery snapshot: tool list and discovery timestamp.","additionalProperties":true},"identity_secret":{"type":"string","description":"Per-server shared secret returned once at creation (POST /v1/mcp/servers only). Standard remote-MCP servers use it to verify the HMAC-signed end-user identity headers (X-Cencori-User-Context, X-Cencori-User-Timestamp, X-Cencori-User-Signature) that Cencori attaches to every tools/call dispatch. Never returned afterwards."},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","name","url","transport","status"],"description":"A registered remote MCP server. On every tools/call Cencori sends HMAC-signed end-user identity headers (tenant_id as the customer-facing external id, external_user_id, installation/run/session ids) verifiable with identity_secret."},"McpServerList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/McpServer"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"McpTool":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string","nullable":true},"input_schema":{"type":"object","properties":{},"additionalProperties":true},"annotations":{"type":"object","properties":{},"additionalProperties":true}},"required":["name","input_schema"]},"McpToolList":{"type":"object","properties":{"tools":{"type":"array","items":{"$ref":"#/components/schemas/McpTool"}}},"required":["tools"]},"McpDiscoveryResult":{"type":"object","properties":{"server":{"$ref":"#/components/schemas/McpServer"},"tools":{"type":"array","items":{"$ref":"#/components/schemas/McpTool"}},"added":{"type":"array","items":{"type":"string"}},"removed":{"type":"array","items":{"type":"string"}},"changed":{"type":"array","items":{"type":"string"}}},"required":["server","tools"]},"McpTest":{"type":"object","properties":{"id":{"type":"string"},"success":{"type":"boolean"},"transport":{"type":"string"},"tool_count":{"type":"integer"},"latency_ms":{"type":"number"},"error":{"type":"string","nullable":true}},"required":["id","success","latency_ms"]},"ProviderTest":{"type":"object","properties":{"success":{"type":"boolean"},"reachable":{"type":"boolean","nullable":true},"authenticated":{"type":"boolean"},"latency_ms":{"type":"number"},"discovery_supported":{"type":"boolean"},"model_count":{"type":"integer","nullable":true},"status":{"type":"integer"},"error":{"type":"string","nullable":true}},"required":["success","authenticated","latency_ms"]},"EndUser":{"type":"object","properties":{"id":{"type":"string"},"external_id":{"type":"string"},"display_name":{"type":"string","nullable":true},"email":{"type":"string","nullable":true},"rate_plan_id":{"type":"string","nullable":true},"is_blocked":{"type":"boolean"},"metadata":{"type":"object","properties":{},"additionalProperties":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","external_id","is_blocked","metadata"]},"EndUserList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/EndUser"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"RatePlan":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"markup_percentage":{"type":"number"},"flat_rate":{"type":"number"},"currency":{"type":"string"},"created_at":{"type":"string","format":"date-time"}},"required":["id","name","slug","currency"]},"RatePlanList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RatePlan"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"Session":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["active","paused","completed","failed"]},"turn_count":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"agent_id":{"type":"string","nullable":true},"tenant_id":{"type":"string","nullable":true},"external_user_id":{"type":"string","nullable":true},"installation_id":{"type":"string","nullable":true},"metadata":{"type":"object","properties":{},"additionalProperties":true},"total_cost":{"type":"number"}},"required":["id","status","turn_count","created_at","updated_at","agent_id","tenant_id","external_user_id","installation_id","metadata","total_cost"]},"SessionList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Session"}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"total_pages":{"type":"integer"}},"required":["page","limit","total","total_pages"]}},"required":["data","pagination"]},"SessionEvent":{"type":"object","properties":{"id":{"type":"string"},"session_id":{"type":"string"},"turn_number":{"type":"integer"},"sequence":{"type":"integer"},"event_type":{"type":"string"},"payload":{"type":"object","properties":{},"additionalProperties":true},"created_at":{"type":"string","format":"date-time"}},"required":["id","session_id","turn_number","sequence","event_type","payload","created_at"]},"SessionEventList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SessionEvent"}},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"total_pages":{"type":"integer"}},"required":["page","limit","total","total_pages"]}},"required":["data","pagination"]},"SessionResolution":{"type":"object","properties":{"id":{"type":"string"},"action_id":{"type":"string"},"resolution":{"type":"string"},"status":{"type":"string"}},"required":["id","action_id","resolution","status"]},"UsageSummary":{"type":"object","properties":{"window":{"type":"object","properties":{"since":{"type":"string","format":"date-time"},"until":{"type":"string","format":"date-time"}}},"totals":{"type":"object","properties":{},"additionalProperties":true},"groups":{"type":"array","items":{"type":"object","properties":{},"additionalProperties":true}},"truncated":{"type":"boolean","description":"True when the scan hit the row cap: totals are partial, not complete."},"row_cap":{"type":"integer"},"unresolved_rows":{"type":"integer","description":"Rows whose charges are not yet reconciled (see billing_state)."}},"required":["totals","groups","truncated","row_cap","unresolved_rows"]},"UsageEvent":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"type":"string"},"tenant_id":{"type":"string","nullable":true},"external_user_id":{"type":"string","nullable":true},"agent_id":{"type":"string","nullable":true},"installation_id":{"type":"string","nullable":true},"session_id":{"type":"string","nullable":true},"run_id":{"type":"string","nullable":true},"model":{"type":"string","nullable":true},"provider":{"type":"string","nullable":true},"status":{"type":"string"},"total_tokens":{"type":"integer"},"cost_usd":{"type":"number"},"cencori_charge_usd":{"type":"number"},"end_user_id":{"type":"string","nullable":true},"billing_state":{"type":"string","enum":["final","unresolved"],"description":"Unresolved rows carry recorded-zero costs pending billing reconciliation and must not read as free."},"created_at":{"type":"string","format":"date-time"}},"required":["id","created_at","billing_state"]},"UsageEventList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/UsageEvent"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"UsageExport":{"type":"object","properties":{"generated_at":{"type":"string","format":"date-time"},"totals":{"type":"object","properties":{},"additionalProperties":true},"rows":{"type":"array","items":{"$ref":"#/components/schemas/UsageEvent"}}},"required":["generated_at","rows"]},"Webhook":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"}},"is_active":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","name","url","events","is_active"]},"WebhookList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"WebhookDelivery":{"type":"object","properties":{"id":{"type":"string"},"webhook_id":{"type":"string"},"event":{"type":"string"},"status":{"type":"string"},"response_status":{"type":"integer"},"attempts":{"type":"integer"},"next_attempt_at":{"type":"string","nullable":true,"format":"date-time"},"created_at":{"type":"string","format":"date-time"}},"required":["id","webhook_id","event","status","attempts"]},"WebhookDeliveryList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDelivery"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"CreateTenantRequest":{"type":"object","properties":{"external_id":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"metadata":{"type":"object","properties":{},"additionalProperties":true}},"required":["external_id","name"],"additionalProperties":false},"UpdateTenantRequest":{"type":"object","properties":{"name":{"type":"string"},"region":{"type":"string","nullable":true},"metadata":{"type":"object","properties":{},"additionalProperties":true},"status":{"type":"string"}},"additionalProperties":false},"UpsertTenantUserRequest":{"type":"object","properties":{"display_name":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"groups":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object","properties":{},"additionalProperties":true}},"additionalProperties":false},"PatchTenantUserRequest":{"type":"object","properties":{"display_name":{"type":"string"},"roles":{"type":"array","items":{"type":"string"}},"groups":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object","properties":{},"additionalProperties":true},"status":{"type":"string"}},"additionalProperties":false},"MintClientTokenRequest":{"type":"object","properties":{"tenant_id":{"type":"string"},"external_user_id":{"type":"string"},"installation_ids":{"type":"array","items":{"type":"string"}},"permissions":{"type":"array","items":{"type":"string"}},"expires_in":{"type":"integer","minimum":1,"maximum":900},"session_id":{"type":"string"}},"required":["tenant_id","external_user_id"],"additionalProperties":false},"CreateProviderConnectionRequest":{"type":"object","properties":{"name":{"type":"string"},"provider":{"type":"string"},"api_format":{"type":"string"},"base_url":{"type":"string","format":"uri"},"api_key":{"type":"string","format":"password","writeOnly":true}},"required":["name","provider"],"additionalProperties":false},"UpdateProviderConnectionRequest":{"type":"object","properties":{"name":{"type":"string"},"api_key":{"type":"string","format":"password","writeOnly":true},"status":{"type":"string"},"base_url":{"type":"string","format":"uri"}},"additionalProperties":false},"ValidateProviderConnectionRequest":{"type":"object","properties":{"provider":{"type":"string"},"base_url":{"type":"string","format":"uri"},"api_key":{"type":"string","format":"password","writeOnly":true},"api_format":{"type":"string"}},"required":["provider"],"additionalProperties":false},"CreateAgentRequest":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"config":{"$ref":"#/components/schemas/AgentConfig"}},"required":["name"],"additionalProperties":false},"UpdateAgentRequest":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"is_active":{"type":"boolean"},"shadow_mode":{"type":"boolean"},"config":{"$ref":"#/components/schemas/AgentConfig"}},"additionalProperties":false},"CreateAgentKeyRequest":{"type":"object","properties":{"name":{"type":"string"},"environment":{"type":"string","enum":["production","test"]},"key_type":{"type":"string","enum":["secret","publishable"]},"allowed_domains":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"CreateAgentVersionRequest":{"type":"object","properties":{"version":{"type":"string"},"config":{"type":"object","properties":{},"additionalProperties":true},"requirements":{"type":"object","properties":{},"additionalProperties":true},"visibility":{"type":"string"}},"required":["version"],"additionalProperties":false},"ReviewAgentVersionRequest":{"type":"object","properties":{"decision":{"type":"string","enum":["approve","reject"]},"reviewed_by":{"type":"string"},"reason":{"type":"string"},"visibility":{"type":"string"}},"required":["decision"],"additionalProperties":false},"TestAgentVersionRequest":{"type":"object","properties":{"input":{"type":"string","maxLength":2000},"test_connection_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},"CreateInstallationRequest":{"type":"object","properties":{"tenant_id":{"type":"string"},"agent_id":{"type":"string"},"version":{"type":"string"},"update_channel":{"type":"string"},"knowledge_base_ids":{"type":"array","items":{"type":"string"}},"connection_ids":{"type":"array","items":{"type":"string"}},"approval_policy":{"type":"object","properties":{},"additionalProperties":true}},"required":["tenant_id","agent_id"],"additionalProperties":false},"UpdateInstallationRequest":{"type":"object","properties":{"version":{"type":"string"},"update_channel":{"type":"string"},"knowledge_base_ids":{"type":"array","items":{"type":"string"}},"connection_ids":{"type":"array","items":{"type":"string"}},"approval_policy":{"type":"object","properties":{},"additionalProperties":true},"overlay_config":{"type":"object","properties":{},"additionalProperties":true},"status":{"type":"string"}},"additionalProperties":false},"UpgradeInstallationRequest":{"type":"object","properties":{"version":{"type":"string"}},"additionalProperties":false},"CreateRunRequest":{"type":"object","properties":{"installation_id":{"type":"string"},"tenant_id":{"type":"string"},"external_user_id":{"type":"string"},"mode":{"type":"string","enum":["background","sync","streaming"]},"input":{"description":"Any JSON value, at most 64 KiB when serialized as UTF-8."},"response_format":{"type":"object","properties":{"type":{"type":"string","enum":["json_schema"]},"json_schema":{"type":"object","properties":{"name":{"type":"string"},"strict":{"type":"boolean"},"schema":{"type":"object","properties":{},"additionalProperties":true}},"required":["schema"]}},"required":["type","json_schema"]},"session_id":{"type":"string"}},"additionalProperties":false},"DelegateRunRequest":{"type":"object","properties":{"agent_version_id":{"type":"string"},"input":{},"installation_id":{"type":"string"}},"required":["agent_version_id"],"additionalProperties":false},"CreateActionRequest":{"type":"object","properties":{"tool":{"type":"string"},"arguments":{"type":"object","properties":{},"additionalProperties":true},"run_id":{"type":"string"},"session_id":{"type":"string"},"tenant_id":{"type":"string"},"approval_policy":{"type":"object","properties":{},"additionalProperties":true}},"required":["tool"],"additionalProperties":false},"ApproveActionRequest":{"type":"object","properties":{"approved_by":{"type":"string"}},"additionalProperties":false},"RejectActionRequest":{"type":"object","properties":{"rejected_by":{"type":"string"},"reason":{"type":"string"}},"additionalProperties":false},"CreateKnowledgeBaseRequest":{"type":"object","properties":{"name":{"type":"string"},"tenant_id":{"type":"string"},"scope_type":{"type":"string"},"region":{"type":"string"}},"required":["name"],"additionalProperties":false},"UpdateKnowledgeBaseRequest":{"type":"object","properties":{"name":{"type":"string"},"status":{"type":"string"},"retention_policy":{"type":"object","properties":{},"additionalProperties":true}},"additionalProperties":false},"CreateKnowledgeSourceRequest":{"type":"object","properties":{"text":{"type":"string"},"metadata":{"type":"object","properties":{},"additionalProperties":true},"file_url":{"type":"string","format":"uri"},"source_type":{"type":"string"}},"additionalProperties":false},"SyncKnowledgeSourceRequest":{"type":"object","properties":{"text":{"type":"string"},"metadata":{"type":"object","properties":{},"additionalProperties":true}},"additionalProperties":false},"CreateKnowledgeGrantRequest":{"type":"object","properties":{"subject_type":{"type":"string"},"subject_id":{"type":"string"},"permissions":{"type":"array","items":{"type":"string"}}},"required":["subject_type","subject_id"],"additionalProperties":false},"SearchKnowledgeRequest":{"type":"object","properties":{"query":{"type":"string"},"top_k":{"type":"integer","minimum":1,"maximum":100},"installation_id":{"type":"string"}},"required":["query"],"additionalProperties":false},"CreateSkillRequest":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string"},"visibility":{"type":"string"},"tenant_id":{"type":"string"}},"required":["name"],"additionalProperties":false},"UpdateSkillRequest":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"visibility":{"type":"string"},"status":{"type":"string"}},"additionalProperties":false},"CreateSkillVersionRequest":{"type":"object","properties":{"version":{"type":"string"},"content":{"type":"string"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"content":{"type":"string"}}}}},"required":["version"],"additionalProperties":false},"PublishSkillVersionRequest":{"type":"object","properties":{"reviewed_by":{"type":"string"}},"additionalProperties":false},"CreateSkillImportRequest":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"Raw Markdown/text file or zip URL. HTML pages have readable text extracted (reported as an html_extracted warning); binary content-types are rejected with 415."},"repository":{"type":"string","description":"Public github.com URL (owner/repo, /tree/<ref>/<subdir> and /blob/ deep links accepted) or owner/repo shorthand. Fetched as a codeload zip and pre-filtered to Markdown/text."},"ref":{"type":"string","description":"Branch, tag, or commit SHA for repository imports. Defaults to HEAD."},"subdir":{"type":"string","description":"Repo-relative directory scoping a repository import (also derived from /tree/ deep links). Caps apply to the scoped files."},"filename":{"type":"string","description":"Stored path for text pastes."},"text":{"type":"string"},"files":{"type":"array","items":{"type":"object","properties":{"path":{"type":"string"},"content":{"type":"string"}}}},"tenant_id":{"type":"string"}},"additionalProperties":false,"minProperties":1},"PublishSkillImportRequest":{"type":"object","properties":{"name":{"type":"string"},"skill_id":{"type":"string"},"visibility":{"type":"string"},"version":{"type":"string"},"reviewed_by":{"type":"string"}},"additionalProperties":false},"CreateConnectionRequest":{"type":"object","properties":{"connector":{"type":"string"},"owner_type":{"type":"string"},"tenant_id":{"type":"string"},"external_user_id":{"type":"string"},"api_key":{"type":"string","format":"password","writeOnly":true},"scopes":{"type":"array","items":{"type":"string"}}},"required":["connector"],"additionalProperties":false},"UpdateConnectionRequest":{"type":"object","properties":{"scopes":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object","properties":{},"additionalProperties":true}},"additionalProperties":false},"AuthorizeConnectionRequest":{"type":"object","properties":{"redirect_uri":{"type":"string","format":"uri"},"scopes":{"type":"array","items":{"type":"string"}},"discovery_url":{"type":"string","format":"uri","description":"generic-oidc only: an OpenID Connect Discovery 1.0 document; Cencori resolves authorization_endpoint/token_endpoint (https only) for this connection."},"client_secret":{"type":"string","description":"Bring-your-own app secret paired with client_id; persisted as an org-scoped encrypted ref on the connection (write-only)."},"client_id":{"type":"string","description":"Bring-your-own OAuth app id when the connector has no platform-registered client; pairs with client_secret."}},"additionalProperties":false},"CreateMcpServerRequest":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"},"transport":{"type":"string"},"tenant_id":{"type":"string"},"auth_connection_id":{"type":"string"}},"required":["name","url"],"additionalProperties":false},"UpdateMcpServerRequest":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"},"status":{"type":"string"},"auth_connection_id":{"type":"string","nullable":true}},"additionalProperties":false},"UpsertEndUserRequest":{"type":"object","properties":{"external_id":{"type":"string"},"display_name":{"type":"string"},"email":{"type":"string","format":"email"},"rate_plan_id":{"type":"string","nullable":true},"is_blocked":{"type":"boolean"},"metadata":{"type":"object","properties":{},"additionalProperties":true}},"required":["external_id"],"additionalProperties":false},"CreateRatePlanRequest":{"type":"object","properties":{"name":{"type":"string"},"slug":{"type":"string"},"markup_percentage":{"type":"number"},"flat_rate":{"type":"number"},"currency":{"type":"string"}},"required":["name"],"additionalProperties":false},"CreateSessionRequest":{"type":"object","properties":{"agent_id":{"type":"string"},"tenant_id":{"type":"string"},"external_user_id":{"type":"string"},"installation_id":{"type":"string"},"metadata":{"type":"object","properties":{},"additionalProperties":true}},"additionalProperties":false},"SessionTurnRequest":{"type":"object","properties":{"input":{},"tools":{"type":"array","description":"Function tools appended for this turn. Honored for legacy (non-installation) sessions only; for installed agents the published manifest is the runtime tool authority and turn-level tools are rejected with 400 unsupported_turn_fields.","items":{"type":"object","properties":{},"additionalProperties":true}},"instructions":{"type":"string","description":"System instructions for this turn. Honored for legacy (non-installation) sessions only; for installed agents instructions come from the published manifest and turn-level instructions are rejected with 400 unsupported_turn_fields."},"agent_id":{"type":"string"},"model":{"type":"string"},"temperature":{"type":"number"},"max_output_tokens":{"type":"integer"},"top_p":{"type":"number"},"tool_choice":{},"response_format":{"type":"object","properties":{},"additionalProperties":true},"store":{"type":"boolean"},"metadata":{"type":"object","properties":{},"additionalProperties":true},"user":{"type":"string"},"stream":{"type":"boolean"},"parallel_tool_calls":{"type":"boolean"},"truncation":{"type":"string","enum":["auto","disabled"]},"pause_on_tool_calls":{"type":"boolean"},"memory":{"type":"object","properties":{},"additionalProperties":true}},"required":["input"],"additionalProperties":false},"SessionResolutionRequest":{"type":"object","properties":{"action_id":{"type":"string"},"tool_results":{"type":"array","items":{"type":"object","properties":{"action_id":{"type":"string"},"output":{"type":"string"}},"required":["action_id","output"]}}},"required":["action_id"],"additionalProperties":false},"CreateWebhookRequest":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"}}},"required":["name","url"],"additionalProperties":false},"UpdateWebhookRequest":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"},"events":{"type":"array","items":{"type":"string"}},"is_active":{"type":"boolean"}},"additionalProperties":false},"McpRegistryEntry":{"type":"object","description":"One curated remote MCP server in the Cencori registry. Register it with POST /v1/mcp/servers.","properties":{"slug":{"type":"string","description":"Stable catalog key (use with any naming you like; registration takes the url)."},"name":{"type":"string"},"description":{"type":"string","nullable":true},"category":{"type":"string"},"vendor":{"type":"string","nullable":true},"url":{"type":"string","format":"uri","description":"Remote MCP server endpoint to pass as `url` to POST /v1/mcp/servers."},"transport":{"type":"string"},"requires_auth":{"type":"boolean","description":"True when the server fronts OAuth-gated APIs; pair with an auth_connection_id at registration."},"docs_url":{"type":"string","nullable":true},"verified":{"type":"boolean","description":"Cencori probed the endpoint (reachable, auth-gated where expected) before listing."},"verified_at":{"type":"string","format":"date-time","nullable":true},"registered":{"type":"boolean","description":"True when this project already registered a server with this url."}},"required":["slug","name","category","url","transport","requires_auth","verified","registered"]},"McpRegistryList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/McpRegistryEntry"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]},"ConnectionImportRequest":{"type":"object","description":"Inline OpenAPI JSON document or a https URL to fetch; optional `operations` filter (all imported otherwise). Connector-catalog param overrides are merged into the parsed operations at import time.","properties":{"spec":{"type":"object","description":"Inline OpenAPI 3.x JSON document.","additionalProperties":true},"spec_url":{"type":"string","format":"uri","description":"https URL returning the OpenAPI document as JSON."},"operations":{"type":"array","items":{"type":"string"},"description":"Import only these operationIds; unknown ids are rejected."}}},"ConnectionImportResult":{"type":"object","properties":{"imported":{"type":"integer"},"base_url":{"type":"string"},"title":{"type":"string","nullable":true},"operations":{"type":"array","items":{"type":"string"}}},"required":["imported","base_url","operations"]}},"parameters":{"IdempotencyKey":{"name":"Idempotency-Key","in":"header","required":false,"description":"Caller-generated key used to safely retry this write within the authenticated project.","schema":{"type":"string","maxLength":255}},"AgentId":{"name":"agentId","in":"path","required":true,"schema":{"type":"string"}},"Version":{"name":"version","in":"path","required":true,"schema":{"type":"string"}},"VersionId":{"name":"versionId","in":"path","required":true,"schema":{"type":"string"}},"InstallationId":{"name":"installationId","in":"path","required":true,"schema":{"type":"string"}},"RunId":{"name":"runId","in":"path","required":true,"schema":{"type":"string"}},"ActionId":{"name":"actionId","in":"path","required":true,"schema":{"type":"string"}},"ConnectionId":{"name":"connectionId","in":"path","required":true,"schema":{"type":"string"}},"ConnectorId":{"name":"connectorId","in":"path","required":true,"schema":{"type":"string"}},"KnowledgeBaseId":{"name":"knowledgeBaseId","in":"path","required":true,"schema":{"type":"string"}},"SourceId":{"name":"sourceId","in":"path","required":true,"schema":{"type":"string"}},"GrantId":{"name":"grantId","in":"path","required":true,"schema":{"type":"string"}},"ServerId":{"name":"serverId","in":"path","required":true,"schema":{"type":"string"}},"SyncId":{"name":"syncId","in":"path","required":true,"schema":{"type":"string"}},"SessionId":{"name":"sessionId","in":"path","required":true,"schema":{"type":"string"}},"SkillId":{"name":"skillId","in":"path","required":true,"schema":{"type":"string"}},"ImportId":{"name":"importId","in":"path","required":true,"schema":{"type":"string"}},"TenantId":{"name":"tenantId","in":"path","required":true,"schema":{"type":"string"}},"ExternalUserId":{"name":"externalUserId","in":"path","required":true,"schema":{"type":"string"}},"DeliveryId":{"name":"deliveryId","in":"path","required":true,"schema":{"type":"string"}},"WebhookId":{"name":"webhookId","in":"path","required":true,"schema":{"type":"string"}}},"responses":{"Error":{"description":"The request failed. Inspect error.code for a stable machine-readable reason.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"paths":{"/v1/actions":{"post":{"summary":"Create approval-gated action","responses":{"201":{"description":"Action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postActions","tags":["Actions"],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateActionRequest"}}}}}},"/v1/actions/{actionId}":{"get":{"summary":"Get action (sanitized)","responses":{"200":{"description":"Action","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getActionsByActionId","tags":["Actions"]},"parameters":[{"$ref":"#/components/parameters/ActionId"}]},"/v1/actions/{actionId}/approve":{"post":{"summary":"Approve (idempotent, executes once)","responses":{"200":{"description":"Approved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postActionsByActionIdApprove","tags":["Actions"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveActionRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/ActionId"}]},"/v1/actions/{actionId}/reject":{"post":{"summary":"Reject (idempotent)","responses":{"200":{"description":"Rejected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Action"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postActionsByActionIdReject","tags":["Actions"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectActionRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/ActionId"}]},"/v1/agent-catalog":{"get":{"summary":"Published catalog (default public + unlisted)","responses":{"200":{"description":"Catalog","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersionList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getAgentCatalog","tags":["Agents"],"parameters":[{"name":"visibility","in":"query","required":false,"schema":{"type":"string"}},{"name":"agent_id","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/agent-installations":{"get":{"summary":"List installations","responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstallationList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getAgentInstallations","tags":["Installations"],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"agent_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}]},"post":{"summary":"Install agent for tenant","responses":{"201":{"description":"Installation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Installation"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postAgentInstallations","tags":["Installations"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInstallationRequest"}}}}}},"/v1/agent-installations/{installationId}":{"get":{"summary":"Get installation","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Installation"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getAgentInstallationsByInstallationId","tags":["Installations"]},"patch":{"summary":"Update installation overlays/policy","description":"Requires a secret project key (`secret_key_required` otherwise).","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Installation"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"patchAgentInstallationsByInstallationId","tags":["Installations"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateInstallationRequest"}}}}},"delete":{"summary":"Disable installation","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"deleteAgentInstallationsByInstallationId","tags":["Installations"]},"parameters":[{"$ref":"#/components/parameters/InstallationId"}]},"/v1/agent-installations/{installationId}/rollback":{"post":{"summary":"Roll back installation version","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Installation"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postAgentInstallationsByInstallationIdRollback","tags":["Installations"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/InstallationId"}]},"/v1/agent-installations/{installationId}/upgrade":{"post":{"summary":"Upgrade installation version","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Installation"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postAgentInstallationsByInstallationIdUpgrade","tags":["Installations"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpgradeInstallationRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/InstallationId"}]},"/v1/marketplace/agents":{"get":{"summary":"Discover public agents (anonymous)","description":"Cross-project discovery. Only published versions marked public; unlisted versions are addressable by id but never listed. No authentication.","responses":{"200":{"description":"Marketplace listing","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceAgentList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getMarketplaceAgents","tags":["Marketplace"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":50}},{"name":"cursor","in":"query","required":false,"description":"Opaque keyset cursor over (created_at, id).","schema":{"type":"string"}}]}},"/v1/marketplace/agents/{versionId}":{"get":{"summary":"Public agent version detail (anonymous)","description":"Public versions plus unlisted versions by id. Private and tenant versions return 404. No authentication.","responses":{"200":{"description":"Marketplace agent","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketplaceAgent"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getMarketplaceAgentsByVersionId","tags":["Marketplace"]},"parameters":[{"$ref":"#/components/parameters/VersionId"}]},"/v1/marketplace/installations":{"post":{"summary":"Install a public agent by fork","description":"Forks the public version into the caller's project (private copy, pinned installation) and bills spend there. Later publisher edits never move the fork. Requires a secret project key.","responses":{"201":{"description":"Installation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Installation"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postMarketplaceInstallations","tags":["Marketplace"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"version_id":{"type":"string"},"tenant_id":{"type":"string"},"knowledge_base_ids":{"type":"array","items":{"type":"string"}},"connection_ids":{"type":"array","items":{"type":"string"}},"approval_policy":{"type":"object","properties":{},"additionalProperties":true},"budget":{"type":"object","properties":{},"additionalProperties":true},"overlay_config":{"type":"object","properties":{},"additionalProperties":true}},"required":["version_id","tenant_id"],"additionalProperties":false}}}}}},"/v1/agents":{"get":{"summary":"List gateway agents","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Secret project key or dashboard session (project members).","operationId":"getAgents","tags":["Agents"]},"post":{"summary":"Create gateway agent","responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agent"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Secret project key or dashboard session (project members).","operationId":"postAgents","tags":["Agents"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentRequest"}}}}}},"/v1/agents/{agentId}":{"get":{"summary":"Get agent","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agent"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Secret project key or dashboard session (project members).","operationId":"getAgentsByAgentId","tags":["Agents"]},"patch":{"summary":"Update agent","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Agent"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Secret project key or dashboard session (project members).","operationId":"patchAgentsByAgentId","tags":["Agents"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAgentRequest"}}}}},"delete":{"summary":"Delete agent","responses":{"204":{"description":"Deleted"},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Secret project key or dashboard session (project members).","operationId":"deleteAgentsByAgentId","tags":["Agents"]},"parameters":[{"$ref":"#/components/parameters/AgentId"}]},"/v1/agents/{agentId}/keys":{"post":{"summary":"Mint an agent-scoped key (dashboard owners only)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentKey"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postAgentsByAgentIdKeys","tags":["Agents"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentKeyRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/AgentId"}]},"/v1/agents/{agentId}/runs":{"get":{"summary":"List agent run history","description":"Paginated run history for one agent: queued, running, cancelled, failed, and completed runs. Usage rows cannot substitute for this collection.","responses":{"200":{"description":"Run history","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Run"}},"next_cursor":{"type":"string","nullable":true}},"required":["data","next_cursor"]}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getAgentsByAgentIdRuns","tags":["Agents"],"parameters":[{"$ref":"#/components/parameters/AgentId"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque keyset cursor over (created_at, id).","schema":{"type":"string"}}]},"post":{"summary":"Create background run (idempotent)","description":"Modes: sync waits and returns the finished run (201); background enqueues and returns immediately (202); streaming executes inline while emitting server-sent events (200 text/event-stream: run.queued, run.started, text.delta, tool_call.completed, run.completed or run.failed, then [DONE]). Billing, metering, and the terminal row are identical across modes. Long streams are bounded by serverless execution time — on disconnect the run keeps going and stays pollable.","responses":{"200":{"description":"Run event stream (mode streaming)","content":{"text/event-stream":{"schema":{"type":"string"}}}},"202":{"description":"Run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postAgentsByAgentIdRuns","tags":["Agents"],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRunRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/AgentId"}]},"/v1/agents/{agentId}/versions":{"get":{"summary":"List agent versions","responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersionList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getAgentsByAgentIdVersions","tags":["Agent versions"],"parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string"}}]},"post":{"summary":"Create agent version draft","responses":{"201":{"description":"Version","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postAgentsByAgentIdVersions","tags":["Agent versions"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentVersionRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/AgentId"}]},"/v1/agents/{agentId}/versions/{version}":{"get":{"summary":"Get agent version","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getAgentsByAgentIdVersionsByVersion","tags":["Agent versions"]},"parameters":[{"$ref":"#/components/parameters/AgentId"},{"$ref":"#/components/parameters/Version"}]},"/v1/agents/{agentId}/versions/{version}/deprecate":{"post":{"summary":"Deprecate version","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postAgentsByAgentIdVersionsByVersionDeprecate","tags":["Agent versions"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/AgentId"},{"$ref":"#/components/parameters/Version"}]},"/v1/agents/{agentId}/versions/{version}/publish":{"post":{"summary":"Publish (self-serve fast path)","responses":{"200":{"description":"Published","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postAgentsByAgentIdVersionsByVersionPublish","tags":["Agent versions"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/AgentId"},{"$ref":"#/components/parameters/Version"}]},"/v1/agents/{agentId}/versions/{version}/retire":{"post":{"summary":"Retire version","responses":{"200":{"description":"Retired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postAgentsByAgentIdVersionsByVersionRetire","tags":["Agent versions"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/AgentId"},{"$ref":"#/components/parameters/Version"}]},"/v1/agents/{agentId}/versions/{version}/review":{"post":{"summary":"Review (approve → published, reject → draft)","responses":{"200":{"description":"Reviewed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postAgentsByAgentIdVersionsByVersionReview","tags":["Agent versions"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewAgentVersionRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/AgentId"},{"$ref":"#/components/parameters/Version"}]},"/v1/agents/{agentId}/versions/{version}/submit":{"post":{"summary":"Submit for review","responses":{"200":{"description":"In review","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postAgentsByAgentIdVersionsByVersionSubmit","tags":["Agent versions"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/AgentId"},{"$ref":"#/components/parameters/Version"}]},"/v1/agents/{agentId}/versions/{version}/test":{"post":{"summary":"Sandboxed model test and capability readiness check (capped tokens)","requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestAgentVersionRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersionTest"}}}},"400":{"$ref":"#/components/responses/Error"},"422":{"description":"Manifest or declared capability prerequisites are unavailable"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise). Stores pass/fail evidence on the draft version. Only the model is executed; skills, connectors, and MCP references are checked for readiness without invoking external tools.","operationId":"postAgentsByAgentIdVersionsByVersionTest","tags":["Agent versions"]},"parameters":[{"$ref":"#/components/parameters/AgentId"},{"$ref":"#/components/parameters/Version"}]},"/v1/agents/{agentId}/versions/{version}/validate":{"post":{"summary":"Validate draft (no side effects)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentVersionValidation"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postAgentsByAgentIdVersionsByVersionValidate","tags":["Agent versions"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/AgentId"},{"$ref":"#/components/parameters/Version"}]},"/v1/client-tokens":{"post":{"summary":"Mint browser-safe token (secret-key only, 15-min max)","responses":{"201":{"description":"Token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientToken"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postClientTokens","tags":["Tenants"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintClientTokenRequest"}}}}}},"/v1/connections":{"get":{"summary":"List tool connections (no secrets)","responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getConnections","tags":["Connections"],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"type":"string"}}]},"post":{"summary":"Create tool connection (secret-key only)","responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Connection"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postConnections","tags":["Connections"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConnectionRequest"}}}}}},"/v1/connections/oauth/callback":{"get":{"summary":"OAuth redirect (state-signed, public, no key)","responses":{"200":{"description":"Connected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Connection"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getConnectionsOauthCallback","tags":["Connections"],"parameters":[{"name":"code","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}},{"name":"error","in":"query","required":false,"schema":{"type":"string"}}],"security":[]}},"/v1/connections/{connectionId}":{"get":{"summary":"Get tool connection (no secrets)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Connection"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getConnectionsByConnectionId","tags":["Connections"]},"patch":{"summary":"Update tool connection","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Connection"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"patchConnectionsByConnectionId","tags":["Connections"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateConnectionRequest"}}}}},"delete":{"summary":"Revoke tool connection","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"deleteConnectionsByConnectionId","tags":["Connections"]},"parameters":[{"$ref":"#/components/parameters/ConnectionId"}]},"/v1/connections/{connectionId}/authorize":{"post":{"summary":"Start OAuth consent (returns authorize_url)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthAuthorization"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postConnectionsByConnectionIdAuthorize","tags":["Connections"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizeConnectionRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/ConnectionId"}]},"/v1/connections/{connectionId}/refresh":{"post":{"summary":"Rotate access token","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Connection"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postConnectionsByConnectionIdRefresh","tags":["Connections"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/ConnectionId"}]},"/v1/connections/{connectionId}/test":{"post":{"summary":"Connection health check","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionTest"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postConnectionsByConnectionIdTest","tags":["Connections"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/ConnectionId"}]},"/v1/connectors":{"get":{"summary":"Connector catalog","responses":{"200":{"description":"Catalog","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectorList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getConnectors","tags":["Connections"]}},"/v1/connectors/{connectorId}":{"get":{"summary":"Get connector type","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Connector"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getConnectorsByConnectorId","tags":["Connections"]},"parameters":[{"$ref":"#/components/parameters/ConnectorId"}]},"/v1/end-users":{"get":{"summary":"List end users (secret-key)","responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndUserList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getEndUsers","tags":["Billing"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}]},"post":{"summary":"Upsert end user (secret-key)","responses":{"201":{"description":"User","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndUser"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postEndUsers","tags":["Billing"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertEndUserRequest"}}}}}},"/v1/knowledge-bases":{"get":{"summary":"List knowledge bases","responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBaseList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getKnowledgeBases","tags":["Knowledge"],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"type":"string"}}]},"post":{"summary":"Create knowledge base","responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBase"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postKnowledgeBases","tags":["Knowledge"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKnowledgeBaseRequest"}}}}}},"/v1/knowledge-bases/{knowledgeBaseId}":{"get":{"summary":"Get knowledge base","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBase"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getKnowledgeBasesByKnowledgeBaseId","tags":["Knowledge"]},"patch":{"summary":"Update knowledge base","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeBase"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"patchKnowledgeBasesByKnowledgeBaseId","tags":["Knowledge"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateKnowledgeBaseRequest"}}}}},"delete":{"summary":"Delete knowledge base + chunks","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"deleteKnowledgeBasesByKnowledgeBaseId","tags":["Knowledge"]},"parameters":[{"$ref":"#/components/parameters/KnowledgeBaseId"}]},"/v1/knowledge-bases/{knowledgeBaseId}/grants":{"post":{"summary":"Grant knowledge base","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeGrant"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postKnowledgeBasesByKnowledgeBaseIdGrants","tags":["Knowledge"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKnowledgeGrantRequest"}}}}},"get":{"summary":"List grants","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeGrantList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getKnowledgeBasesByKnowledgeBaseIdGrants","tags":["Knowledge"]},"parameters":[{"$ref":"#/components/parameters/KnowledgeBaseId"}]},"/v1/knowledge-bases/{knowledgeBaseId}/grants/{grantId}":{"delete":{"summary":"Revoke grant","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"deleteKnowledgeBasesByKnowledgeBaseIdGrantsByGrantId","tags":["Knowledge"]},"parameters":[{"$ref":"#/components/parameters/KnowledgeBaseId"},{"$ref":"#/components/parameters/GrantId"}]},"/v1/knowledge-bases/{knowledgeBaseId}/search":{"post":{"summary":"Grant-filtered search with citations","responses":{"200":{"description":"Hits","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSearchResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postKnowledgeBasesByKnowledgeBaseIdSearch","tags":["Knowledge"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchKnowledgeRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/KnowledgeBaseId"}]},"/v1/knowledge-bases/{knowledgeBaseId}/sources":{"post":{"summary":"Ingest inline text or file","responses":{"201":{"description":"Source","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSource"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postKnowledgeBasesByKnowledgeBaseIdSources","tags":["Knowledge"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateKnowledgeSourceRequest"}}}}},"get":{"summary":"List sources","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSourceList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getKnowledgeBasesByKnowledgeBaseIdSources","tags":["Knowledge"]},"parameters":[{"$ref":"#/components/parameters/KnowledgeBaseId"}]},"/v1/knowledge-bases/{knowledgeBaseId}/sources/{sourceId}":{"get":{"summary":"Get source","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSource"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getKnowledgeBasesByKnowledgeBaseIdSourcesBySourceId","tags":["Knowledge"]},"delete":{"summary":"Delete source + chunks","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"deleteKnowledgeBasesByKnowledgeBaseIdSourcesBySourceId","tags":["Knowledge"]},"parameters":[{"$ref":"#/components/parameters/KnowledgeBaseId"},{"$ref":"#/components/parameters/SourceId"}]},"/v1/knowledge-bases/{knowledgeBaseId}/sources/{sourceId}/sync":{"post":{"summary":"Re-ingest source (checksum-idempotent)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KnowledgeSource"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postKnowledgeBasesByKnowledgeBaseIdSourcesBySourceIdSync","tags":["Knowledge"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncKnowledgeSourceRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/KnowledgeBaseId"},{"$ref":"#/components/parameters/SourceId"}]},"/v1/mcp/servers":{"post":{"summary":"Register remote MCP server + discover","responses":{"201":{"description":"Server","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpDiscoveryResult"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postMcpServers","tags":["MCP"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMcpServerRequest"}}}}},"get":{"summary":"List registered MCP servers","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpServerList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getMcpServers","tags":["MCP"],"parameters":[{"name":"tenant_id","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/mcp/servers/{serverId}":{"get":{"summary":"Get MCP server","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpServer"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getMcpServersByServerId","tags":["MCP"]},"patch":{"summary":"Update MCP server (URL re-validated)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpServer"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"patchMcpServersByServerId","tags":["MCP"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMcpServerRequest"}}}}},"delete":{"summary":"Disable MCP server","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpServer"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"deleteMcpServersByServerId","tags":["MCP"]},"parameters":[{"$ref":"#/components/parameters/ServerId"}]},"/v1/mcp/servers/{serverId}/refresh-tools":{"post":{"summary":"Re-discover MCP tools (diff)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpDiscoveryResult"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postMcpServersByServerIdRefreshTools","tags":["MCP"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/ServerId"}]},"/v1/mcp/servers/{serverId}/test":{"post":{"summary":"Live handshake probe (not persisted)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpTest"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postMcpServersByServerIdTest","tags":["MCP"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/ServerId"}]},"/v1/mcp/servers/{serverId}/tools":{"get":{"summary":"Stored tool snapshot","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpToolList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getMcpServersByServerIdTools","tags":["MCP"]},"parameters":[{"$ref":"#/components/parameters/ServerId"}]},"/v1/models":{"get":{"summary":"Unified model registry (only discovery surface)","description":"Pages rebuild the live catalog per request: concurrent catalog changes can shift entries between pages. Consume a single consistent view by paging quickly without interleaving writes, and treat partial:true as incomplete.","parameters":[{"name":"provider","in":"query","required":false,"schema":{"type":"string"}},{"name":"type","in":"query","required":false,"schema":{"type":"string"}},{"name":"available","in":"query","required":false,"schema":{"type":"boolean"}},{"name":"source","in":"query","required":false,"schema":{"type":"string"}},{"name":"connection_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":1000}},{"name":"cursor","in":"query","required":false,"description":"Opaque offset cursor into the filtered catalog.","schema":{"type":"string"}}],"responses":{"200":{"description":"Registry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getModels","tags":["Models"]}},"/v1/provider-connections":{"get":{"summary":"List provider connections","responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderConnectionList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getProviderConnections","tags":["Providers"]},"post":{"summary":"Create provider connection (secret-key only)","responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderConnection"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postProviderConnections","tags":["Providers"],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateProviderConnectionRequest"}}}}}},"/v1/provider-connections/validate":{"post":{"summary":"Ephemeral provider validation","responses":{"200":{"description":"Valid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderValidation"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postProviderConnectionsValidate","tags":["Providers"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateProviderConnectionRequest"}}}}}},"/v1/provider-connections/{connectionId}":{"get":{"summary":"Get provider connection","responses":{"200":{"description":"Connection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderConnection"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getProviderConnectionsByConnectionId","tags":["Providers"]},"patch":{"summary":"Update provider connection","responses":{"200":{"description":"Updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderConnection"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"patchProviderConnectionsByConnectionId","tags":["Providers"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProviderConnectionRequest"}}}}},"delete":{"summary":"Delete provider connection","responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"deleteProviderConnectionsByConnectionId","tags":["Providers"]},"parameters":[{"$ref":"#/components/parameters/ConnectionId"}]},"/v1/provider-connections/{connectionId}/model-syncs":{"post":{"summary":"Preview model sync","responses":{"201":{"description":"Preview","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelSync"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postProviderConnectionsByConnectionIdModelSyncs","tags":["Providers"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/ConnectionId"}]},"/v1/provider-connections/{connectionId}/model-syncs/{syncId}":{"get":{"summary":"Get model sync preview","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelSync"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getProviderConnectionsByConnectionIdModelSyncsBySyncId","tags":["Providers"]},"parameters":[{"$ref":"#/components/parameters/ConnectionId"},{"$ref":"#/components/parameters/SyncId"}]},"/v1/provider-connections/{connectionId}/model-syncs/{syncId}/apply":{"post":{"summary":"Apply model sync (idempotent)","responses":{"200":{"description":"Applied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelSync"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postProviderConnectionsByConnectionIdModelSyncsBySyncIdApply","tags":["Providers"],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/ConnectionId"},{"$ref":"#/components/parameters/SyncId"}]},"/v1/provider-connections/{connectionId}/test":{"post":{"summary":"Test saved connection","responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderTest"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postProviderConnectionsByConnectionIdTest","tags":["Providers"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/ConnectionId"}]},"/v1/rate-plans":{"get":{"summary":"List rate plans (secret-key)","responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatePlanList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getRatePlans","tags":["Billing"]},"post":{"summary":"Create rate plan (secret-key)","responses":{"201":{"description":"Plan","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RatePlan"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postRatePlans","tags":["Billing"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRatePlanRequest"}}}}}},"/v1/runs/{runId}":{"get":{"summary":"Get run","responses":{"200":{"description":"Run","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getRunsByRunId","tags":["Runs"]},"parameters":[{"$ref":"#/components/parameters/RunId"}]},"/v1/runs/{runId}/cancel":{"post":{"summary":"Cancel run","responses":{"200":{"description":"Cancelled","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postRunsByRunIdCancel","tags":["Runs"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/RunId"}]},"/v1/runs/{runId}/delegate":{"post":{"summary":"Delegate a bounded task to an allowed subagent","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DelegateRunRequest"}}}},"responses":{"201":{"description":"Child run claimed or idempotent prior result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Run"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postRunsByRunIdDelegate","tags":["Runs"],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}]},"parameters":[{"$ref":"#/components/parameters/RunId"}]},"/v1/runs/{runId}/events":{"get":{"summary":"Run event log","responses":{"200":{"description":"Events","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunEventList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getRunsByRunIdEvents","tags":["Runs"],"parameters":[{"name":"after","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}}]},"parameters":[{"$ref":"#/components/parameters/RunId"}]},"/v1/sessions":{"get":{"summary":"List sessions (tenant+user scoped for ect_)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getSessions","tags":["Sessions"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}},{"name":"agent_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"tenant_id","in":"query","required":false,"schema":{"type":"string"}}]},"post":{"summary":"Create scoped session (csk_* or ect_)","responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Session"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postSessions","tags":["Sessions"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSessionRequest"}}}}}},"/v1/sessions/{sessionId}":{"get":{"summary":"Get session (scope-checked)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Session"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getSessionsBySessionId","tags":["Sessions"]},"delete":{"summary":"Delete session","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"deleteSessionsBySessionId","tags":["Sessions"]},"parameters":[{"$ref":"#/components/parameters/SessionId"}]},"/v1/sessions/{sessionId}/approve":{"post":{"summary":"Approve paused tool call (secret-key)","responses":{"200":{"description":"SSE stream","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postSessionsBySessionIdApprove","tags":["Sessions"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResolutionRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/SessionId"}]},"/v1/sessions/{sessionId}/events":{"get":{"summary":"Session event replay (secret-key)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionEventList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getSessionsBySessionIdEvents","tags":["Sessions"],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"turn_number","in":"query","required":false,"schema":{"type":"integer","minimum":1}}]},"parameters":[{"$ref":"#/components/parameters/SessionId"}]},"/v1/sessions/{sessionId}/reject":{"post":{"summary":"Reject paused tool call (secret-key)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResolution"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postSessionsBySessionIdReject","tags":["Sessions"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResolutionRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/SessionId"}]},"/v1/sessions/{sessionId}/turns":{"post":{"summary":"Submit turn (csk_* or ect_ with sessions:turn)","responses":{"200":{"description":"SSE stream","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postSessionsBySessionIdTurns","tags":["Sessions"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionTurnRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/SessionId"}]},"/v1/skill-imports":{"post":{"summary":"Stage an import (one source, never auto-publishes)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillImport"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise). Alpha caps: 50 Markdown/text files (.md/.markdown/.mdx/.txt), 200KB per file, 2MB total. Oversize failures return 413 with actual-vs-limit details under error.details (code stays invalid_request_error).","operationId":"postSkillImports","tags":["Skills"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSkillImportRequest"}}}}}},"/v1/skill-imports/{importId}":{"get":{"summary":"Get staged import with findings","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillImport"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getSkillImportsByImportId","tags":["Skills"]},"parameters":[{"$ref":"#/components/parameters/ImportId"}]},"/v1/skill-imports/{importId}/publish":{"post":{"summary":"Review-gate publish of a staged import","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillImport"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postSkillImportsByImportIdPublish","tags":["Skills"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishSkillImportRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/ImportId"}]},"/v1/skills":{"get":{"summary":"List skills","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getSkills","tags":["Skills"],"parameters":[{"name":"visibility","in":"query","required":false,"schema":{"type":"string"}},{"name":"tenant_id","in":"query","required":false,"schema":{"type":"string"}}]},"post":{"summary":"Create skill identity","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Skill"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postSkills","tags":["Skills"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSkillRequest"}}}}}},"/v1/skills/{skillId}":{"get":{"summary":"Get skill","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Skill"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getSkillsBySkillId","tags":["Skills"]},"patch":{"summary":"Update skill metadata","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Skill"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"patchSkillsBySkillId","tags":["Skills"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSkillRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/SkillId"}]},"/v1/skills/{skillId}/versions":{"get":{"summary":"List skill versions","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillVersionList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getSkillsBySkillIdVersions","tags":["Skills"]},"post":{"summary":"Draft skill version (scanned)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postSkillsBySkillIdVersions","tags":["Skills"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSkillVersionRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/SkillId"}]},"/v1/skills/{skillId}/versions/{version}":{"get":{"summary":"Get skill version with content","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getSkillsBySkillIdVersionsByVersion","tags":["Skills"]},"parameters":[{"$ref":"#/components/parameters/SkillId"},{"$ref":"#/components/parameters/Version"}]},"/v1/skills/{skillId}/versions/{version}/deprecate":{"post":{"summary":"Deprecate skill version","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postSkillsBySkillIdVersionsByVersionDeprecate","tags":["Skills"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/SkillId"},{"$ref":"#/components/parameters/Version"}]},"/v1/skills/{skillId}/versions/{version}/publish":{"post":{"summary":"Publish skill version (blockers reject)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillVersion"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postSkillsBySkillIdVersionsByVersionPublish","tags":["Skills"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishSkillVersionRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/SkillId"},{"$ref":"#/components/parameters/Version"}]},"/v1/tenants":{"get":{"summary":"List tenants","responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getTenants","tags":["Tenants"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"status","in":"query","required":false,"schema":{"type":"string"}}]},"post":{"summary":"Create/upsert tenant (idempotent by external_id)","responses":{"201":{"description":"Tenant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tenant"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postTenants","tags":["Tenants"],"parameters":[{"$ref":"#/components/parameters/IdempotencyKey"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTenantRequest"}}}}}},"/v1/tenants/{tenantId}":{"get":{"summary":"Get tenant","responses":{"200":{"description":"Tenant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tenant"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getTenantsByTenantId","tags":["Tenants"]},"patch":{"summary":"Update tenant","responses":{"200":{"description":"Tenant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tenant"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"patchTenantsByTenantId","tags":["Tenants"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTenantRequest"}}}}},"delete":{"summary":"Hard-delete tenant (cascades)","responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"deleteTenantsByTenantId","tags":["Tenants"]},"parameters":[{"$ref":"#/components/parameters/TenantId"}]},"/v1/tenants/{tenantId}/export":{"post":{"summary":"Export tenant data (compliance)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantExport"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"postTenantsByTenantIdExport","tags":["Tenants"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/TenantId"}]},"/v1/tenants/{tenantId}/users":{"get":{"summary":"List tenant users","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUserList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getTenantsByTenantIdUsers","tags":["Tenants"]},"parameters":[{"$ref":"#/components/parameters/TenantId"}]},"/v1/tenants/{tenantId}/users/{externalUserId}":{"put":{"summary":"Upsert user","responses":{"201":{"description":"User","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUser"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"putTenantsByTenantIdUsersByExternalUserId","tags":["Tenants"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertTenantUserRequest"}}}}},"get":{"summary":"Get user","responses":{"200":{"description":"User","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUser"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getTenantsByTenantIdUsersByExternalUserId","tags":["Tenants"]},"delete":{"summary":"Delete user (?hard=true forgets)","responses":{"200":{"description":"Deleted","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"deleteTenantsByTenantIdUsersByExternalUserId","tags":["Tenants"],"parameters":[{"name":"hard","in":"query","required":false,"schema":{"type":"boolean"}}]},"patch":{"summary":"Update user","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TenantUser"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"patchTenantsByTenantIdUsersByExternalUserId","tags":["Tenants"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PatchTenantUserRequest"}}}}},"parameters":[{"$ref":"#/components/parameters/TenantId"},{"$ref":"#/components/parameters/ExternalUserId"}]},"/v1/usage":{"get":{"summary":"Usage summary by tenant/agent/installation","description":"Scans at most 10,000 rows (see truncated/row_cap). Totals over a truncated scan are partial.","responses":{"200":{"description":"Summary","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageSummary"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getUsage","tags":["Usage"],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":90}},{"name":"since","in":"query","required":false,"description":"Window start (ISO-8601). Defaults to until minus days.","schema":{"type":"string","format":"date-time"}},{"name":"until","in":"query","required":false,"description":"Window end (ISO-8601). Defaults to now. Windows are capped at 90 days.","schema":{"type":"string","format":"date-time"}},{"name":"tenant_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"agent_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"installation_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"model","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/usage/events":{"get":{"summary":"Attributed request rows (cursor)","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageEventList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getUsageEvents","tags":["Usage"],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":90}},{"name":"since","in":"query","required":false,"description":"Window start (ISO-8601). Defaults to until minus days.","schema":{"type":"string","format":"date-time"}},{"name":"until","in":"query","required":false,"description":"Window end (ISO-8601). Defaults to now. Windows are capped at 90 days.","schema":{"type":"string","format":"date-time"}},{"name":"tenant_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"agent_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"installation_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"model","in":"query","required":false,"schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"cursor","in":"query","required":false,"description":"Opaque keyset cursor over (created_at, id).","schema":{"type":"string"}}]}},"/v1/usage/export":{"get":{"summary":"Invoice export (csv|json)","responses":{"200":{"description":"Export","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageExport"}},"text/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getUsageExport","tags":["Usage"],"parameters":[{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["json","csv"]}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":365}},{"name":"tenant_id","in":"query","required":false,"schema":{"type":"string"}},{"name":"agent_id","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/usage/focus":{"get":{"summary":"Usage as FOCUS 1.2 records (json|csv)","description":"FinOps export: usage as FOCUS 1.2 billing records. Auth with an organization usage export key (cuk_) for every project in the organization (optionally narrowed with project_id), or a secret project key for that project only.","responses":{"200":{"description":"FOCUS records","content":{"application/json":{"schema":{"type":"object","properties":{"records":{"type":"array","items":{"type":"object"}},"next_cursor":{"type":"string","nullable":true}}}},"text/csv":{"schema":{"type":"string","format":"binary"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getUsageFocus","tags":["Usage"],"parameters":[{"name":"start","in":"query","required":false,"description":"RFC 3339 or YYYY-MM-DD; default yesterday UTC","schema":{"type":"string"}},{"name":"end","in":"query","required":false,"description":"RFC 3339 or YYYY-MM-DD; window max 92 days","schema":{"type":"string"}},{"name":"sub_account","in":"query","required":false,"schema":{"type":"string","enum":["project","end_user","tenant","none"]}},{"name":"format","in":"query","required":false,"schema":{"type":"string","enum":["json","csv"]}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":5000}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"project_id","in":"query","required":false,"description":"Export-key callers only: narrow to one project","schema":{"type":"string"}}]}},"/v1/webhook-deliveries":{"get":{"summary":"Delivery log","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"getWebhookDeliveries","tags":["Webhooks"]}},"/v1/webhook-deliveries/{deliveryId}/replay":{"post":{"summary":"Replay a delivery","responses":{"200":{"description":"Replayed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDelivery"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postWebhookDeliveriesByDeliveryIdReplay","tags":["Webhooks"],"x-cencori-empty-body":true},"parameters":[{"$ref":"#/components/parameters/DeliveryId"}]},"/v1/webhooks":{"get":{"summary":"List webhook subscriptions","responses":{"200":{"description":"List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"getWebhooks","tags":["Webhooks"]},"post":{"summary":"Create webhook subscription","responses":{"201":{"description":"Created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"operationId":"postWebhooks","tags":["Webhooks"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookRequest"}}}}}},"/v1/webhooks/{webhookId}":{"patch":{"summary":"Update webhook subscription","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"patchWebhooksByWebhookId","tags":["Webhooks"],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookRequest"}}}}},"delete":{"summary":"Delete webhook subscription","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedResponse"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise).","operationId":"deleteWebhooksByWebhookId","tags":["Webhooks"]},"parameters":[{"$ref":"#/components/parameters/WebhookId"}]},"/v1/mcp/registry":{"get":{"summary":"Curated remote MCP server registry","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/McpRegistryList"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Requires a secret project key (`secret_key_required` otherwise). Verified first-party servers (Notion, Linear, Atlassian, Sentry, GitHub, Stripe, Figma, PayPal, Cloudflare Docs); filter with ?category=.","operationId":"getMcpRegistry","tags":["MCP"],"parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string"}}]}},"/v1/connections/{connectionId}/import":{"parameters":[{"$ref":"#/components/parameters/ConnectionId"}],"post":{"summary":"Import OpenAPI operations onto a connection","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionImportResult"}}}},"400":{"$ref":"#/components/responses/Error"},"default":{"$ref":"#/components/responses/Error"}},"description":"Parses an OpenAPI 3.x (JSON) spec — inline `spec` or a https `spec_url` — into connector operations stored on the connection metadata; capped at 60 operations. Manifest `connection_tools` grants then expose hosted `conn__` tools. Requires a secret project key (`secret_key_required` otherwise).","operationId":"postConnectionsByConnectionIdImport","tags":["Connections"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionImportRequest"}}}}}}},"externalDocs":{"description":"Embedded Agents documentation","url":"https://cencori.com/docs/embedded-agents/overview"},"tags":[{"name":"Actions","description":"Approval-gated external side effects."},{"name":"Agents","description":"Agent identities and the published catalog."},{"name":"Agent versions","description":"Immutable manifests and their validate, test, review, and publish lifecycle."},{"name":"Installations","description":"Tenant-scoped runtime bindings for published agents."},{"name":"Models","description":"The unified Cencori and BYOK model registry."},{"name":"Providers","description":"Project-owned model-provider connections and catalog synchronization."},{"name":"Tenants","description":"Customer tenants, users, and short-lived browser tokens."},{"name":"Sessions","description":"Durable, scoped interactive agent sessions."},{"name":"Runs","description":"Observable background execution and bounded delegation."},{"name":"Knowledge","description":"Tenant-aware knowledge bases, sources, grants, and retrieval."},{"name":"Skills","description":"Versioned passive instruction packages and reviewed imports."},{"name":"Connections","description":"OAuth and API-backed tool connections."},{"name":"MCP","description":"Authenticated MCP servers and discovered tool snapshots."},{"name":"Webhooks","description":"Signed subscriptions, delivery history, and replay."},{"name":"Usage","description":"Attributed usage summaries, events, and invoice exports."},{"name":"Billing","description":"End users and rate-plan administration."}]}