{"openapi":"3.1.0","info":{"title":"Stacktrace Fleet API","version":"0.1.0"},"paths":{"/healthz":{"get":{"summary":"Healthz","operationId":"healthz_healthz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Response Healthz Healthz Get"}}}}}}},"/api/v1/assets/register":{"post":{"summary":"Register Asset","operationId":"register_asset_api_v1_assets_register_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetRegisterRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetRegisterResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/me":{"get":{"summary":"Me","operationId":"me_api_v1_me_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policy":{"get":{"summary":"Get Endpoint Policy","description":"The org's policy, and beside it the org's cost baselines for an\nenvironment's thin cohorts (`stacktrace` ADR-0103), its similar-session\ngroups, and the runs marked expected, which the environment returns to\nits history (ADR-0081).","operationId":"get_endpoint_policy_api_v1_policy_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndpointPolicyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Replace Policy","description":"Replace the policy's entries, or, from today's console, its document and\ndetection entries; then publish all three at the next revision (policy\nentries spec, \"Writes\"). The four admission lists are the catalog's\ndecisions, never the draft's, so a draft read before a decision cannot\nundo it.","operationId":"replace_policy_api_v1_policy_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationPolicyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policy/current":{"get":{"summary":"Get Current Policy","operationId":"get_current_policy_api_v1_policy_current_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrganizationPolicyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policy/rules":{"get":{"summary":"Get Policy Rules","description":"The Policy page's read: each rule it lists and the org's row for it,\nunder the policy's revision (policy entries spec, \"Policy page\").","operationId":"get_policy_rules_api_v1_policy_rules_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyRulesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/policy/preview":{"post":{"summary":"Preview Organization Policy","operationId":"preview_organization_policy_api_v1_policy_preview_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyPreviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PolicyPreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/boms":{"post":{"summary":"Upload Bom","operationId":"upload_bom_api_v1_boms_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BomUploadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BomUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Boms Route","operationId":"list_boms_route_api_v1_boms_get","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"uploaded_at","title":"Sort"}},{"name":"direction","in":"query","required":false,"schema":{"type":"string","default":"desc","title":"Direction"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_BomHistoryRow_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/detect-runs":{"post":{"summary":"Upload Detect Run","description":"Accept one detect run, for one agent (ADR-0025).\n\nA sibling of `/boms` rather than a field on it: runtime reporting must not\nbe gated on composition sync, or an agent that skipped a BOM upload reports\nno alerts at all — and silence would be indistinguishable from safety.\n\nAlways 201. Every accepted run creates a row, including a byte-identical\nreplay, because a repeated collection event that leaves no trace makes\nfreshness lie (ADR-0012's property, applied here).","operationId":"upload_detect_run_api_v1_detect_runs_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectRunUpload"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/usage":{"post":{"summary":"Upload Usage","description":"Accept one page of one agent's token usage, or its heartbeat (ADR-0077).\n\nA sibling of `/detect-runs`: usage never travels on the detection document,\nand neither upload gates the other (`stacktrace` ADR-0100).","operationId":"upload_usage_api_v1_usage_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageUpload"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/exports/findings.csv":{"get":{"summary":"Export Findings Csv","operationId":"export_findings_csv_api_v1_exports_findings_csv_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/exports/components.csv":{"get":{"summary":"Export Components Csv","operationId":"export_components_csv_api_v1_exports_components_csv_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/boms/{bom_id}/diff":{"get":{"summary":"Get Bom Diff","operationId":"get_bom_diff_api_v1_boms__bom_id__diff_get","parameters":[{"name":"bom_id","in":"path","required":true,"schema":{"type":"string","title":"Bom Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BomDiffResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents":{"get":{"summary":"List Agents Route","operationId":"list_agents_route_api_v1_agents_get","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"agent_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"}},{"name":"asset_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}":{"get":{"summary":"Get Agent Route","operationId":"get_agent_route_api_v1_agents__agent_id__get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRow"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/boms":{"get":{"summary":"List Agent Boms Route","operationId":"list_agent_boms_route_api_v1_agents__agent_id__boms_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_BomSummary_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets":{"get":{"summary":"List Assets Route","operationId":"list_assets_route_api_v1_assets_get","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"asset_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Type"}},{"name":"team","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_AssetSummary_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/{asset_id}":{"get":{"summary":"Get Asset Route","operationId":"get_asset_route_api_v1_assets__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/assets/{asset_id}/boms":{"get":{"summary":"List Asset Boms Route","operationId":"list_asset_boms_route_api_v1_assets__asset_id__boms_get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_BomSummary_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/boms/{bom_id}":{"get":{"summary":"Get Bom Route","operationId":"get_bom_route_api_v1_boms__bom_id__get","parameters":[{"name":"bom_id","in":"path","required":true,"schema":{"type":"string","title":"Bom Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BomDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/boms/{bom_id}/components":{"get":{"summary":"List Bom Components Route","operationId":"list_bom_components_route_api_v1_boms__bom_id__components_get","parameters":[{"name":"bom_id","in":"path","required":true,"schema":{"type":"string","title":"Bom Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_BomComponentRow_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/inventory/components":{"get":{"summary":"List Inventory Components Route","operationId":"list_inventory_components_route_api_v1_inventory_components_get","parameters":[{"name":"component_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Type"}},{"name":"agent_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["reach","component","type","versions","first_seen"],"type":"string","default":"reach","title":"Sort"}},{"name":"direction","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Direction"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":200,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryComponentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/inventory/components/carriers":{"get":{"summary":"List Component Carriers Route","operationId":"list_component_carriers_route_api_v1_inventory_components_carriers_get","parameters":[{"name":"key","in":"query","required":true,"schema":{"type":"string","title":"Key"}},{"name":"component_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Type"}},{"name":"agent_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentCarriersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/inventory":{"get":{"summary":"List Inventory Route","operationId":"list_inventory_route_api_v1_inventory_get","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":50,"title":"Limit"}},{"name":"component_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Type"}},{"name":"agent_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"}},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"name","title":"Sort"}},{"name":"direction","in":"query","required":false,"schema":{"type":"string","default":"asc","title":"Direction"}},{"name":"include_not_installed","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Not Installed"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InventoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/composition-exposures":{"get":{"summary":"List Composition Exposures Route","operationId":"list_composition_exposures_route_api_v1_composition_exposures_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":8,"title":"Limit"}},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompositionExposureResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/findings":{"get":{"summary":"List Findings Route","operationId":"list_findings_route_api_v1_findings_get","parameters":[{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Severity"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"asset_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Id"}},{"name":"bom_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bom Id"}},{"name":"component_bom_ref","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Bom Ref"}},{"name":"component_identity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Identity"}},{"name":"purl","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purl"}},{"name":"version","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"}},{"name":"component_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Type"}},{"name":"agent_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"}},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/detections":{"get":{"summary":"List Detections Route","operationId":"list_detections_route_api_v1_detections_get","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Severity"}},{"name":"family","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"}},{"name":"rule_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rule Id"}},{"name":"agent_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"}},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"}},{"name":"asset_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"component","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component"}},{"name":"window","in":"query","required":false,"schema":{"anyOf":[{"enum":["1d","3d","7d","30d","all"],"type":"string"},{"type":"null"}],"title":"Window"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/detection-groups":{"get":{"summary":"List Detection Groups Route","description":"The same population as `/detections`, one row per (agent, rule, components).\n\nA sibling rather than a mode on `/detections`, because the two return\ndifferent shapes and a response whose fields depend on a query parameter is\na contract a client cannot type. Every filter is identical, so a reader can\nmove between the views without the numbers moving under them.","operationId":"list_detection_groups_route_api_v1_detection_groups_get","parameters":[{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Severity"}},{"name":"family","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"}},{"name":"rule_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rule Id"}},{"name":"agent_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"}},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"}},{"name":"asset_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"component","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component"}},{"name":"window","in":"query","required":false,"schema":{"anyOf":[{"enum":["1d","3d","7d","30d","all"],"type":"string"},{"type":"null"}],"title":"Window"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionGroupsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/detections/{detection_id}":{"get":{"summary":"Get Detection Route","operationId":"get_detection_route_api_v1_detections__detection_id__get","parameters":[{"name":"detection_id","in":"path","required":true,"schema":{"type":"string","title":"Detection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/detections/{detection_id}/occurrences":{"get":{"summary":"List Detection Occurrences Route","description":"The whole run history the detail payload only shows the head of.","operationId":"list_detection_occurrences_route_api_v1_detections__detection_id__occurrences_get","parameters":[{"name":"detection_id","in":"path","required":true,"schema":{"type":"string","title":"Detection Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionOccurrencesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/detections":{"get":{"summary":"List Agent Detections Route","description":"That agent's detections, mirroring `/agents/{id}/boms` (ADR-0022).\n\nA cross-tenant or unknown agent id 404s rather than returning an empty\npage, so a caller cannot distinguish \"no detections\" from \"not yours\".","operationId":"list_agent_detections_route_api_v1_agents__agent_id__detections_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Severity"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"window","in":"query","required":false,"schema":{"anyOf":[{"enum":["1d","3d","7d","30d","all"],"type":"string"},{"type":"null"}],"title":"Window"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetectionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/{agent_id}/activity":{"get":{"summary":"List Agent Activity Route","operationId":"list_agent_activity_route_api_v1_agents__agent_id__activity_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"window","in":"query","required":false,"schema":{"anyOf":[{"enum":["1d","3d","7d","30d","all"],"type":"string"},{"type":"null"}],"title":"Window"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentActivityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity":{"get":{"summary":"List Fleet Activity Route","operationId":"list_fleet_activity_route_api_v1_activity_get","parameters":[{"name":"agent_kind","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"}},{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"}},{"name":"asset_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Id"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"window","in":"query","required":false,"schema":{"anyOf":[{"enum":["1d","3d","7d","30d","all"],"type":"string"},{"type":"null"}],"title":"Window"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FleetActivityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bootstrap-status":{"get":{"summary":"Get Bootstrap Status","operationId":"get_bootstrap_status_api_v1_bootstrap_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BootstrapStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/collector-tokens":{"get":{"summary":"List Collector Tokens","operationId":"list_collector_tokens_api_v1_collector_tokens_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CollectorTokenSummary"},"title":"Response List Collector Tokens Api V1 Collector Tokens Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Create Collector Token","operationId":"create_collector_token_api_v1_collector_tokens_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCollectorTokenRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCollectorTokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/collector-tokens/{token_id}/revoke":{"post":{"summary":"Revoke Collector Token","operationId":"revoke_collector_token_api_v1_collector_tokens__token_id__revoke_post","parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Token Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/slack":{"get":{"tags":["integrations"],"summary":"Get Slack Status","operationId":"get_slack_status_api_v1_integrations_slack_get","parameters":[{"name":"failure_offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Failure Offset"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Slack Status Api V1 Integrations Slack Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/slack/connect":{"post":{"tags":["integrations"],"summary":"Start Slack Oauth","operationId":"start_slack_oauth_api_v1_integrations_slack_connect_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Start Slack Oauth Api V1 Integrations Slack Connect Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/slack/callback":{"get":{"tags":["integrations"],"summary":"Finish Slack Oauth","operationId":"finish_slack_oauth_api_v1_integrations_slack_callback_get","parameters":[{"name":"state","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"State"}},{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/slack/complete":{"post":{"tags":["integrations"],"summary":"Complete Slack Oauth","operationId":"complete_slack_oauth_api_v1_integrations_slack_complete_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackOAuthCompletion"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Complete Slack Oauth Api V1 Integrations Slack Complete Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/slack/test":{"post":{"tags":["integrations"],"summary":"Send Test Message","operationId":"send_test_message_api_v1_integrations_slack_test_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"string"},"title":"Response Send Test Message Api V1 Integrations Slack Test Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/slack/disconnect":{"post":{"tags":["integrations"],"summary":"Disconnect Slack","operationId":"disconnect_slack_api_v1_integrations_slack_disconnect_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/slack/retry":{"post":{"tags":["integrations"],"summary":"Retry Failed Notifications","operationId":"retry_failed_notifications_api_v1_integrations_slack_retry_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer"},"title":"Response Retry Failed Notifications Api V1 Integrations Slack Retry Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/feedback":{"post":{"tags":["feedback"],"summary":"Send Feedback","operationId":"send_feedback_api_v1_feedback_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/usage":{"get":{"summary":"Get Usage","description":"Tokens over the org's last days, by person, person and agent kind,\nrepo, model or agent.","operationId":"get_usage_api_v1_cost_usage_get","parameters":[{"name":"window","in":"query","required":false,"schema":{"enum":["1d","3d","7d","30d"],"type":"string","default":"7d","title":"Window"}},{"name":"by","in":"query","required":false,"schema":{"enum":["person","person_kind","repo","model","agent"],"type":"string","default":"person","title":"By"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageViewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/people":{"get":{"summary":"Get People","description":"The people the org's account cards describe (ADR-0080): each with the\nkey cost files under, a name, and the accounts behind it. What a budget\nis set for.","operationId":"get_people_api_v1_cost_people_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostPeopleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/components":{"get":{"summary":"Get Unused Components","description":"Skills and MCP servers sent with calls in the window that no call used.","operationId":"get_unused_components_api_v1_cost_components_get","parameters":[{"name":"window","in":"query","required":false,"schema":{"enum":["1d","3d","7d","30d"],"type":"string","default":"7d","title":"Window"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnusedComponentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/components/costs":{"get":{"summary":"Get Component Costs","description":"What each component adds to the org's context a day, its trend, reach\nand why it moved (`stacktrace` cost-notifications §7).","operationId":"get_component_costs_api_v1_cost_components_costs_get","parameters":[{"name":"window","in":"query","required":false,"schema":{"enum":["7d","30d"],"type":"string","default":"30d","title":"Window"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComponentCostsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/findings":{"get":{"summary":"List Fleet Findings","description":"Fleet's findings whose stretch reaches into the window, newest first.","operationId":"list_fleet_findings_api_v1_cost_findings_get","parameters":[{"name":"window","in":"query","required":false,"schema":{"enum":["1d","3d","7d","30d"],"type":"string","default":"7d","title":"Window"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FleetFindingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/findings/{finding_id}":{"get":{"summary":"Get Fleet Finding","operationId":"get_fleet_finding_api_v1_cost_findings__finding_id__get","parameters":[{"name":"finding_id","in":"path","required":true,"schema":{"type":"string","title":"Finding Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FleetFindingDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/findings/{finding_id}/expected":{"post":{"summary":"Mark Finding Expected","description":"Mark a Person stands out or Org spend rise finding as expected\n(ADR-0081): its day counts in the person's or the org's usual from the\nnext scoring pass, and its episode alerts no more. Marking twice keeps\nthe first mark. A Budget limit is raised, not marked expected.","operationId":"mark_finding_expected_api_v1_cost_findings__finding_id__expected_post","parameters":[{"name":"finding_id","in":"path","required":true,"schema":{"type":"string","title":"Finding Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FleetFindingDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/detections/{detection_id}/expected":{"post":{"summary":"Mark Run Expected","description":"Mark the run a Session cost detection was raised on as expected\n(ADR-0081). The policy pull carries it for 30 days, and the machine\nreturns the run to its own history. Marking twice keeps the first mark.","operationId":"mark_run_expected_api_v1_cost_detections__detection_id__expected_post","parameters":[{"name":"detection_id","in":"path","required":true,"schema":{"type":"string","title":"Detection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpectedRun"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Get Run Expected","description":"Whether a Session cost detection's run is marked expected: the mark,\nor 404 when it is not.","operationId":"get_run_expected_api_v1_cost_detections__detection_id__expected_get","parameters":[{"name":"detection_id","in":"path","required":true,"schema":{"type":"string","title":"Detection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpectedRun"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/detections/{detection_id}/run":{"get":{"summary":"Get Session Run Cost","description":"A Session cost run's cost so far, against the same person's other\nruns in the same repo on the same agent kind over the last 30 days: what\nthe detection's page draws (ADR-0087). 404 for another org's detection,\n409 for another rule's.","operationId":"get_session_run_cost_api_v1_cost_detections__detection_id__run_get","parameters":[{"name":"detection_id","in":"path","required":true,"schema":{"type":"string","title":"Detection Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionRunCost"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/budgets":{"get":{"summary":"Get Budgets","operationId":"get_budgets_api_v1_cost_budgets_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostBudgetsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Put Budgets","description":"Replace the org's budgets whole: a form saves what it shows. A budget\nset per key owner before people were known is not shown, so a save\ndrops it (ADR-0080).","operationId":"put_budgets_api_v1_cost_budgets_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostBudgetsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostBudgetsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cost/settings":{"get":{"summary":"Get Cost Settings","operationId":"get_cost_settings_api_v1_cost_settings_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"summary":"Put Cost Settings","description":"The org's time zone: every \"today\" and \"by this time of day\" is in it.","operationId":"put_cost_settings_api_v1_cost_settings_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostSettingsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CostSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/review":{"get":{"summary":"List Review Route","operationId":"list_review_route_api_v1_catalog_review_get","parameters":[{"name":"component_type","in":"query","required":false,"schema":{"anyOf":[{"enum":["mcp","plugin","skill"],"type":"string"},{"type":"null"}],"title":"Component Type"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":500,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/approved":{"get":{"summary":"List Approved Route","operationId":"list_approved_route_api_v1_catalog_approved_get","parameters":[{"name":"component_type","in":"query","required":false,"schema":{"anyOf":[{"enum":["mcp","plugin","skill"],"type":"string"},{"type":"null"}],"title":"Component Type"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":500,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/blocked":{"get":{"summary":"List Blocked Route","operationId":"list_blocked_route_api_v1_catalog_blocked_get","parameters":[{"name":"component_type","in":"query","required":false,"schema":{"anyOf":[{"enum":["mcp","plugin","skill"],"type":"string"},{"type":"null"}],"title":"Component Type"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":500,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/components/{key}":{"get":{"summary":"Get Component Route","operationId":"get_component_route_api_v1_catalog_components__key__get","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":100,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogComponentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/decisions":{"put":{"summary":"Put Decisions Route","operationId":"put_decisions_route_api_v1_catalog_decisions_put","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogDecisionsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogDecisionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/catalog/decisions/{decision_id}":{"delete":{"summary":"Delete Decision Route","operationId":"delete_decision_route_api_v1_catalog_decisions__decision_id__delete","parameters":[{"name":"decision_id","in":"path","required":true,"schema":{"type":"string","title":"Decision Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogDeleteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/org/reset":{"post":{"summary":"Reset Org","operationId":"reset_org_api_v1_org_reset_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrgResetResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/readyz":{"get":{"tags":["ops"],"summary":"Readyz","operationId":"readyz_readyz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/status":{"get":{"tags":["ops"],"summary":"Status","operationId":"status_status_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Status Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metrics":{"get":{"tags":["ops"],"summary":"Metrics","operationId":"metrics_metrics_get","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AccountCardPayload":{"properties":{"account":{"type":"string","maxLength":512,"minLength":1,"title":"Account"},"person_key":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}],"title":"Person Key"},"display_name":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Display Name"},"name_from":{"anyOf":[{"type":"string","enum":["account","email"]},{"type":"null"}],"title":"Name From"},"plan":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Plan"},"seen_at":{"type":"string","format":"date-time","title":"Seen At"}},"additionalProperties":false,"type":"object","required":["account","seen_at"],"title":"AccountCardPayload","description":"One account the host has read signed in, for the payload's agent kind\n(`stacktrace` ADR-0112, ADR-0080). Strict: every field is the type it\nnames on the wire, and a key the contract does not name is a 422.\n\n`display_name` is the account's display name, else the part of its email\nbefore the `@`, held to the bounds `session.person` has. A value the host\ndoes not know is null, and an empty one is refused, so a blank never\nstands in for a name."},"ActivityCategoryCount":{"properties":{"category":{"type":"string","title":"Category"},"invocations":{"type":"integer","title":"Invocations"},"components":{"type":"integer","title":"Components"}},"type":"object","required":["category","invocations","components"],"title":"ActivityCategoryCount","description":"One category's share of what ran — the demo console's `by_kind`.\n\n`components` is the distinct count, so a category with one very hot\ncomponent reads differently from one with fifty occasional ones."},"ActivityPayload":{"properties":{"session_id":{"type":"string","maxLength":256,"minLength":1,"title":"Session Id"},"session_started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Session Started At"},"category":{"type":"string","enum":["mcp","skill","subagent","command","tool","unresolved"],"title":"Category"},"component_identity":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Component Identity"},"component_name":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Component Name"},"component_type":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Component Type"},"invocations":{"type":"integer","maximum":2147483647.0,"minimum":0.0,"title":"Invocations"},"denied":{"type":"integer","maximum":2147483647.0,"minimum":0.0,"title":"Denied","default":0},"last_invoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Invoked At"}},"additionalProperties":false,"type":"object","required":["session_id","category","invocations"],"title":"ActivityPayload","description":"One counter: how often this agent invoked this component in this session.\n\nPer session rather than per window, because windows overlap by design and a\npre-aggregated total can only be summed — which double-counts. A\nper-session counter takes the greater of stored and incoming."},"AdvisoryDetailRow":{"properties":{"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"aliases":{"items":{"type":"string"},"type":"array","title":"Aliases"}},"type":"object","title":"AdvisoryDetailRow","description":"What OSV says about one advisory a finding names (ADR-0093)."},"AgentActivityResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AgentActivityRow"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total","default":0},"rows_total":{"type":"integer","title":"Rows Total","default":0},"coverage":{"$ref":"#/components/schemas/RuntimeCoverage"}},"type":"object","title":"AgentActivityResponse","description":"One agent's grouped activity, one page at a time.\n\nTwo counts, because they answer different questions and diverge whenever a\ncall went unattributed: `total` is components used, the figure the console\nshows as a KPI, and it excludes the unresolved bucket because that bucket\nis not a component (ADR-0027). `rows_total` is the population these pages\nwalk, and it includes that bucket, because the table has a row for it."},"AgentActivityRow":{"properties":{"category":{"type":"string","title":"Category"},"component_identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Identity"},"component_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Name"},"component_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Type"},"invocations":{"type":"integer","title":"Invocations"},"denied":{"type":"integer","title":"Denied","default":0},"sessions":{"type":"integer","title":"Sessions"},"last_invoked_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Invoked At"},"last_reported_at":{"type":"string","title":"Last Reported At"}},"type":"object","required":["category","invocations","sessions","last_reported_at"],"title":"AgentActivityRow","description":"What one agent invoked, aggregated across its sessions.\n\n`last_invoked_at` is frequently null: `openaidr`'s `ToolCall` carries no\ntimestamp, so it is not derivable per call. The console must show that\nhonestly rather than substituting a run or upload time — which is why\n`last_reported_at` sits beside it as the freshness that is always present\n(ADR-0032)."},"AgentRow":{"properties":{"id":{"type":"string","title":"Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"composition_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Composition Source"},"composition_coverage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Composition Coverage"},"latest_bom_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Bom Id"},"last_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen At"},"last_reevaluated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Reevaluated At"},"asset_id":{"type":"string","title":"Asset Id"},"asset_display_name":{"type":"string","title":"Asset Display Name"},"component_count":{"type":"integer","title":"Component Count"},"component_type_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Component Type Counts"},"finding_count":{"type":"integer","title":"Finding Count"},"vulnerability_count":{"type":"integer","title":"Vulnerability Count","default":0},"open_vulnerability_count":{"type":"integer","title":"Open Vulnerability Count","default":0},"open_detection_count":{"type":"integer","title":"Open Detection Count","default":0},"records_in_pair":{"type":"integer","title":"Records In Pair","default":1},"last_detect_run_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Detect Run At"}},"type":"object","required":["id","agent_kind","agent_id","composition_source","composition_coverage","latest_bom_id","last_seen_at","last_reevaluated_at","asset_id","asset_display_name","component_count","finding_count"],"title":"AgentRow","description":"An agent as a top-level resource (ADR-0022).\n\nFields are named for what they mean, not where they come from: asset_id and\nasset_display_name are machine context and say so, while a future ownership\nfield must be team_name rather than asset_team_name, or moving ownership from\nthe machine to the agent would force a breaking rename."},"AgentSummary":{"properties":{"id":{"type":"string","title":"Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"composition_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Composition Source"},"composition_coverage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Composition Coverage"},"latest_bom_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Latest Bom Id"},"last_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen At"},"last_reevaluated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Reevaluated At"}},"type":"object","required":["id","agent_kind","agent_id","composition_source","composition_coverage","latest_bom_id","last_seen_at","last_reevaluated_at"],"title":"AgentSummary","description":"One agent on an asset. Resolved from BOM content, never registered."},"AgentsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AgentRow"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total"},"summary":{"$ref":"#/components/schemas/AgentsSummary"}},"type":"object","required":["items","total"],"title":"AgentsResponse"},"AgentsSummary":{"properties":{"total_agents":{"type":"integer","title":"Total Agents","default":0},"agents_by_kind":{"additionalProperties":{"type":"integer"},"type":"object","title":"Agents By Kind"},"last_seen_by_kind":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Last Seen By Kind"},"component_count_by_kind":{"additionalProperties":{"type":"integer"},"type":"object","title":"Component Count By Kind"},"vulnerability_count_by_kind":{"additionalProperties":{"type":"integer"},"type":"object","title":"Vulnerability Count By Kind"},"total_assets":{"type":"integer","title":"Total Assets","default":0}},"type":"object","title":"AgentsSummary"},"AssetRegisterRequest":{"properties":{"asset_type":{"type":"string","enum":["endpoint","repo"],"title":"Asset Type"},"external_id":{"type":"string","title":"External Id"},"display_name":{"type":"string","title":"Display Name"},"owner_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Email"},"team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Name"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["asset_type","external_id","display_name"],"title":"AssetRegisterRequest"},"AssetRegisterResponse":{"properties":{"asset_id":{"type":"string","title":"Asset Id"},"dashboard_url":{"type":"string","title":"Dashboard Url"}},"type":"object","required":["asset_id","dashboard_url"],"title":"AssetRegisterResponse"},"AssetSummary":{"properties":{"id":{"type":"string","title":"Id"},"asset_type":{"type":"string","title":"Asset Type"},"external_id":{"type":"string","title":"External Id"},"display_name":{"type":"string","title":"Display Name"},"owner_clerk_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Clerk User Id"},"team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Name"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"agents":{"items":{"$ref":"#/components/schemas/AgentSummary"},"type":"array","title":"Agents"},"last_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen At"},"last_reevaluated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Reevaluated At"},"created_at":{"type":"string","title":"Created At"},"component_count":{"type":"integer","title":"Component Count"}},"type":"object","required":["id","asset_type","external_id","display_name","owner_clerk_user_id","team_name","metadata","agents","last_seen_at","created_at","component_count"],"title":"AssetSummary"},"BomComponentRow":{"properties":{"id":{"type":"string","title":"Id"},"identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity"},"purl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purl"},"component_type":{"type":"string","title":"Component Type"},"name":{"type":"string","title":"Name"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"source_manifest":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Manifest"},"source_locator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Locator"},"attributed_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Attributed To"},"properties":{"additionalProperties":true,"type":"object","title":"Properties"}},"type":"object","required":["id","identity","purl","component_type","name","version","source_manifest","source_locator","attributed_to","properties"],"title":"BomComponentRow"},"BomDetail":{"properties":{"id":{"type":"string","title":"Id"},"asset_id":{"type":"string","title":"Asset Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"agent_uuid":{"type":"string","title":"Agent Uuid"},"source":{"type":"string","title":"Source"},"openaca_version":{"type":"string","title":"Openaca Version"},"target_locator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Locator"},"content_hash":{"type":"string","title":"Content Hash"},"uploaded_at":{"type":"string","title":"Uploaded At"},"component_count":{"type":"integer","title":"Component Count"},"finding_count":{"type":"integer","title":"Finding Count"},"raw_bom":{"additionalProperties":true,"type":"object","title":"Raw Bom"},"summary":{"$ref":"#/components/schemas/EvidenceSummary"}},"type":"object","required":["id","asset_id","agent_kind","agent_id","agent_uuid","source","openaca_version","target_locator","content_hash","uploaded_at","component_count","finding_count","raw_bom","summary"],"title":"BomDetail"},"BomDiffResponse":{"properties":{"bom_id":{"type":"string","title":"Bom Id"},"prev_bom_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prev Bom Id"},"added_components":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Added Components"},"removed_components":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Removed Components"},"changed_components":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Changed Components"}},"type":"object","required":["bom_id","prev_bom_id","added_components","removed_components","changed_components"],"title":"BomDiffResponse"},"BomHistoryRow":{"properties":{"id":{"type":"string","title":"Id"},"asset_id":{"type":"string","title":"Asset Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"agent_uuid":{"type":"string","title":"Agent Uuid"},"source":{"type":"string","title":"Source"},"openaca_version":{"type":"string","title":"Openaca Version"},"target_locator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Locator"},"content_hash":{"type":"string","title":"Content Hash"},"uploaded_at":{"type":"string","title":"Uploaded At"},"component_count":{"type":"integer","title":"Component Count"},"finding_count":{"type":"integer","title":"Finding Count"},"asset_display_name":{"type":"string","title":"Asset Display Name"}},"type":"object","required":["id","asset_id","agent_kind","agent_id","agent_uuid","source","openaca_version","target_locator","content_hash","uploaded_at","component_count","finding_count","asset_display_name"],"title":"BomHistoryRow"},"BomSummary":{"properties":{"id":{"type":"string","title":"Id"},"asset_id":{"type":"string","title":"Asset Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"agent_uuid":{"type":"string","title":"Agent Uuid"},"source":{"type":"string","title":"Source"},"openaca_version":{"type":"string","title":"Openaca Version"},"target_locator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Locator"},"content_hash":{"type":"string","title":"Content Hash"},"uploaded_at":{"type":"string","title":"Uploaded At"},"component_count":{"type":"integer","title":"Component Count"},"finding_count":{"type":"integer","title":"Finding Count"}},"type":"object","required":["id","asset_id","agent_kind","agent_id","agent_uuid","source","openaca_version","target_locator","content_hash","uploaded_at","component_count","finding_count"],"title":"BomSummary"},"BomUploadRequest":{"properties":{"asset_id":{"type":"string","title":"Asset Id"},"source":{"type":"string","enum":["endpoint","repo","ci","manual"],"title":"Source"},"openaca_version":{"type":"string","title":"Openaca Version"},"target_locator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Locator"},"content_hash":{"type":"string","title":"Content Hash"},"bom":{"additionalProperties":true,"type":"object","title":"Bom"},"posture_findings":{"items":{"$ref":"#/components/schemas/PostureFindingPayload"},"type":"array","title":"Posture Findings"},"observations":{"items":{"$ref":"#/components/schemas/ObservationPayload"},"type":"array","title":"Observations"}},"type":"object","required":["asset_id","source","openaca_version","content_hash","bom"],"title":"BomUploadRequest"},"BomUploadResponse":{"properties":{"bom_id":{"type":"string","title":"Bom Id"},"asset_id":{"type":"string","title":"Asset Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"component_count":{"type":"integer","title":"Component Count"},"finding_count":{"type":"integer","title":"Finding Count"},"drift":{"$ref":"#/components/schemas/DriftSummary"},"dashboard_url":{"type":"string","title":"Dashboard Url"}},"type":"object","required":["bom_id","asset_id","agent_kind","agent_id","component_count","finding_count","drift","dashboard_url"],"title":"BomUploadResponse"},"BootstrapStatusResponse":{"properties":{"has_tokens":{"type":"boolean","title":"Has Tokens"},"has_boms":{"type":"boolean","title":"Has Boms"},"last_bom_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Bom At"},"user_synced":{"type":"boolean","title":"User Synced"}},"type":"object","required":["has_tokens","has_boms","last_bom_at","user_synced"],"title":"BootstrapStatusResponse"},"CatalogAgent":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"asset_display_name":{"type":"string","title":"Asset Display Name"},"versions":{"items":{"type":"string"},"type":"array","title":"Versions"},"last_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Seen At"}},"type":"object","required":["agent_id","agent_kind","asset_display_name","versions","last_seen_at"],"title":"CatalogAgent"},"CatalogComponentResponse":{"properties":{"row":{"$ref":"#/components/schemas/CatalogRow"},"agents":{"items":{"$ref":"#/components/schemas/CatalogAgent"},"type":"array","title":"Agents"},"agents_total":{"type":"integer","title":"Agents Total"},"history":{"items":{"$ref":"#/components/schemas/CatalogHistoryEntry"},"type":"array","title":"History"},"findings":{"items":{"$ref":"#/components/schemas/CatalogFinding"},"type":"array","title":"Findings"},"detections":{"items":{"$ref":"#/components/schemas/CatalogDetection"},"type":"array","title":"Detections"},"detections_total":{"type":"integer","title":"Detections Total","default":0}},"type":"object","required":["row","agents","agents_total","history"],"title":"CatalogComponentResponse"},"CatalogCounts":{"properties":{"mcp":{"type":"integer","title":"Mcp","default":0},"plugin":{"type":"integer","title":"Plugin","default":0},"skill":{"type":"integer","title":"Skill","default":0}},"type":"object","title":"CatalogCounts"},"CatalogDecisionRequest":{"properties":{"component_type":{"type":"string","enum":["mcp","plugin"],"title":"Component Type"},"target":{"additionalProperties":true,"type":"object","title":"Target"},"outcome":{"type":"string","enum":["allowed","blocked"],"title":"Outcome"},"source":{"type":"string","enum":["review","manual"],"title":"Source"},"name":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Name"},"note":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Note"}},"type":"object","required":["component_type","target","outcome","source"],"title":"CatalogDecisionRequest"},"CatalogDecisionView":{"properties":{"id":{"type":"string","title":"Id"},"outcome":{"type":"string","enum":["allowed","blocked"],"title":"Outcome"},"source":{"type":"string","enum":["review","manual"],"title":"Source"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"decided_by":{"type":"string","title":"Decided By"},"decided_by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decided By Name"},"decided_at":{"type":"string","format":"date-time","title":"Decided At"}},"type":"object","required":["id","outcome","source","note","decided_by","decided_at"],"title":"CatalogDecisionView"},"CatalogDecisionsRequest":{"properties":{"decisions":{"items":{"$ref":"#/components/schemas/CatalogDecisionRequest"},"type":"array","maxItems":100,"minItems":1,"title":"Decisions"}},"type":"object","required":["decisions"],"title":"CatalogDecisionsRequest"},"CatalogDecisionsResponse":{"properties":{"revision":{"type":"integer","title":"Revision"},"decisions":{"items":{"$ref":"#/components/schemas/CatalogRow"},"type":"array","title":"Decisions"}},"type":"object","required":["revision","decisions"],"title":"CatalogDecisionsResponse"},"CatalogDeleteResponse":{"properties":{"revision":{"type":"integer","title":"Revision"}},"type":"object","required":["revision"],"title":"CatalogDeleteResponse"},"CatalogDetection":{"properties":{"id":{"type":"string","title":"Id"},"rule_id":{"type":"string","title":"Rule Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"severity":{"type":"string","title":"Severity"},"agent_id":{"type":"string","title":"Agent Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"asset_display_name":{"type":"string","title":"Asset Display Name"},"at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"At"}},"type":"object","required":["id","rule_id","title","family","severity","agent_id","agent_kind","asset_display_name","at"],"title":"CatalogDetection","description":"One open detection, in the Findings window, that names the component."},"CatalogFinding":{"properties":{"kind":{"type":"string","enum":["advisory","posture"],"title":"Kind"},"id":{"type":"string","title":"Id"},"severity":{"type":"string","enum":["critical","high","medium","low"],"title":"Severity"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"agent_count":{"type":"integer","title":"Agent Count"},"versions":{"items":{"type":"string"},"type":"array","title":"Versions"},"identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity"}},"type":"object","required":["kind","id","severity","summary","agent_count","versions"],"title":"CatalogFinding","description":"One open advisory or posture rule on a component's current BOMs."},"CatalogHistoryEntry":{"properties":{"action":{"type":"string","enum":["allowed","blocked","deleted"],"title":"Action"},"source":{"type":"string","enum":["review","manual"],"title":"Source"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"actor":{"type":"string","title":"Actor"},"actor_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Name"},"at":{"type":"string","format":"date-time","title":"At"}},"type":"object","required":["action","source","note","actor","at"],"title":"CatalogHistoryEntry"},"CatalogListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CatalogRow"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"counts":{"$ref":"#/components/schemas/CatalogCounts"}},"type":"object","required":["items","total","counts"],"title":"CatalogListResponse"},"CatalogMarketplaceDecision":{"properties":{"id":{"type":"string","title":"Id"},"outcome":{"type":"string","enum":["allowed","blocked"],"title":"Outcome"},"source":{"type":"string","enum":["review","manual"],"title":"Source"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"decided_by":{"type":"string","title":"Decided By"},"decided_by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Decided By Name"},"decided_at":{"type":"string","format":"date-time","title":"Decided At"},"key":{"type":"string","title":"Key"},"name":{"type":"string","title":"Name"},"source_url":{"type":"string","title":"Source Url"}},"type":"object","required":["id","outcome","source","note","decided_by","decided_at","key","name","source_url"],"title":"CatalogMarketplaceDecision"},"CatalogRow":{"properties":{"key":{"type":"string","title":"Key"},"component_type":{"type":"string","enum":["mcp","plugin","skill"],"title":"Component Type"},"name":{"type":"string","title":"Name"},"target":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Target"},"unavailable":{"anyOf":[{"type":"string","enum":["not_an_mcp_server","no_identity","not_in_current_bom","controlled_by_plugin","no_exact_target","ambiguous","may_carry_credential","unidentified_service"]},{"type":"null"}],"title":"Unavailable"},"reach":{"type":"integer","title":"Reach"},"agent_kinds":{"items":{"type":"string"},"type":"array","title":"Agent Kinds"},"versions":{"items":{"$ref":"#/components/schemas/CatalogVersion"},"type":"array","title":"Versions"},"version_count":{"type":"integer","title":"Version Count"},"identities":{"items":{"type":"string"},"type":"array","title":"Identities"},"first_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"First Seen At"},"vulnerability_counts":{"$ref":"#/components/schemas/SeverityCounts"},"posture_counts":{"$ref":"#/components/schemas/SeverityCounts"},"open_detections":{"type":"integer","title":"Open Detections","default":0},"decision":{"anyOf":[{"$ref":"#/components/schemas/CatalogDecisionView"},{"type":"null"}]},"marketplace_decision":{"anyOf":[{"$ref":"#/components/schemas/CatalogMarketplaceDecision"},{"type":"null"}]},"by_default":{"anyOf":[{"type":"string","enum":["allowed","blocked"]},{"type":"null"}],"title":"By Default"},"observation_scope_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observation Scope Label"}},"type":"object","required":["key","component_type","name","target","reach","agent_kinds","versions","version_count","identities","first_seen_at","vulnerability_counts","posture_counts"],"title":"CatalogRow"},"CatalogVersion":{"properties":{"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"agent_count":{"type":"integer","title":"Agent Count"}},"type":"object","required":["version","agent_count"],"title":"CatalogVersion"},"CollectorTokenSummary":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"last4":{"type":"string","title":"Last4"},"created_at":{"type":"string","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Used At"},"revoked_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revoked At"},"created_by_me":{"type":"boolean","title":"Created By Me"},"can_revoke":{"type":"boolean","title":"Can Revoke"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"}},"type":"object","required":["id","name","last4","created_at","last_used_at","revoked_at","created_by_me","can_revoke","created_by"],"title":"CollectorTokenSummary"},"ComponentCarrier":{"properties":{"id":{"type":"string","title":"Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"asset_display_name":{"type":"string","title":"Asset Display Name"},"last_seen_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Seen At"},"versions":{"items":{"type":"string"},"type":"array","title":"Versions"}},"type":"object","required":["id","agent_kind","agent_id","asset_display_name","last_seen_at","versions"],"title":"ComponentCarrier"},"ComponentCarriersResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ComponentCarrier"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"ComponentCarriersResponse","description":"The instances carrying one component, newest report first. `total` is\nevery one; `items` the first `limit`."},"ComponentCost":{"properties":{"key":{"type":"string","title":"Key"},"kind":{"type":"string","enum":["skill","mcp_server","builtin","label"],"title":"Kind"},"name":{"type":"string","title":"Name"},"context_per_day":{"type":"integer","title":"Context Per Day"},"definition_tokens":{"type":"integer","title":"Definition Tokens"},"result_tokens_per_call":{"type":"integer","title":"Result Tokens Per Call"},"trend":{"$ref":"#/components/schemas/ComponentTrend"},"series":{"items":{"$ref":"#/components/schemas/ComponentPoint"},"type":"array","title":"Series"},"reach":{"$ref":"#/components/schemas/ComponentReach"},"evidence":{"items":{"$ref":"#/components/schemas/FleetFindingEvidence"},"type":"array","title":"Evidence"}},"type":"object","required":["key","kind","name","context_per_day","definition_tokens","result_tokens_per_call","trend","series","reach","evidence"],"title":"ComponentCost","description":"One component across the org (`stacktrace` cost-notifications §7),\nkeyed by its type and the name a session calls it. Raw tokens."},"ComponentCostsResponse":{"properties":{"window":{"type":"string","enum":["7d","30d"],"title":"Window"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"components":{"items":{"$ref":"#/components/schemas/ComponentCost"},"type":"array","title":"Components"},"truncated":{"type":"boolean","title":"Truncated","default":false}},"type":"object","required":["window","generated_at","components"],"title":"ComponentCostsResponse"},"ComponentPayloadRef":{"properties":{"identity":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Identity"},"name":{"type":"string","maxLength":512,"minLength":1,"title":"Name"},"version":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Version"},"component_type":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Component Type"}},"additionalProperties":false,"type":"object","required":["name"],"title":"ComponentPayloadRef","description":"A component this detection names, as the correlator resolved it.\n\n`identity` is nullable and is never synthesized from name, PURL or\ncategory (ADR-0016): an unknown-source component stays agent-local rather\nthan being falsely merged with a same-named one elsewhere."},"ComponentPoint":{"properties":{"day":{"type":"string","format":"date","title":"Day"},"tokens":{"type":"integer","title":"Tokens"}},"type":"object","required":["day","tokens"],"title":"ComponentPoint"},"ComponentPolicyTarget":{"properties":{"identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity"},"name":{"type":"string","title":"Name"},"target":{"anyOf":[{"$ref":"#/components/schemas/PolicyMcpTarget"},{"type":"null"}]},"unavailable":{"anyOf":[{"type":"string","enum":["not_an_mcp_server","no_identity","not_in_current_bom","controlled_by_plugin","no_exact_target","ambiguous","may_carry_credential","unidentified_service"]},{"type":"null"}],"title":"Unavailable"},"provider_plugin":{"anyOf":[{"$ref":"#/components/schemas/ProviderPlugin"},{"type":"null"}]}},"type":"object","required":["name"],"title":"ComponentPolicyTarget","description":"The exact policy target for one of a detection's `components`, or why not.\n\nEquivalent component roles and versions share current guidance. Built-ins\nand unplaced parties are omitted; ambiguous candidates get refusals.\n`target` and `unavailable` are never both set and never both null."},"ComponentReach":{"properties":{"people":{"type":"integer","title":"People"},"machines":{"type":"integer","title":"Machines"},"sessions":{"type":"integer","title":"Sessions"},"used_share":{"type":"number","title":"Used Share"}},"type":"object","required":["people","machines","sessions","used_share"],"title":"ComponentReach"},"ComponentTrend":{"properties":{"last_7d":{"type":"integer","title":"Last 7D"},"previous_7d":{"type":"integer","title":"Previous 7D"},"change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Change"}},"type":"object","required":["last_7d","previous_7d","change"],"title":"ComponentTrend","description":"The last 7 complete days against the 7 before."},"CompositionExposureItem":{"properties":{"id":{"type":"string","title":"Id"},"severity":{"type":"string","title":"Severity"},"record_type":{"type":"string","title":"Record Type"},"evidence_source":{"type":"string","title":"Evidence Source"},"external_id":{"type":"string","title":"External Id"},"title":{"type":"string","title":"Title"},"why_it_matters":{"type":"string","title":"Why It Matters"},"recommended_action":{"type":"string","title":"Recommended Action"},"affected_asset_count":{"type":"integer","title":"Affected Asset Count"},"affected_agent_count":{"type":"integer","title":"Affected Agent Count"},"affected_assets":{"items":{"type":"string"},"type":"array","title":"Affected Assets"},"affected_agents":{"items":{"type":"string"},"type":"array","title":"Affected Agents"},"component_identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Identity"},"composition_path":{"items":{"$ref":"#/components/schemas/CompositionPathNode"},"type":"array","title":"Composition Path"},"first_seen_at":{"type":"string","title":"First Seen At"},"last_seen_at":{"type":"string","title":"Last Seen At"},"finding_ids":{"items":{"type":"string"},"type":"array","title":"Finding Ids"}},"type":"object","required":["id","severity","record_type","evidence_source","external_id","title","why_it_matters","recommended_action","affected_asset_count","affected_agent_count","affected_assets","affected_agents","component_identity","first_seen_at","last_seen_at"],"title":"CompositionExposureItem"},"CompositionExposureResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CompositionExposureItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"CompositionExposureResponse"},"CompositionPathNode":{"properties":{"bom_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bom Ref"},"identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity"},"component_type":{"type":"string","title":"Component Type"},"name":{"type":"string","title":"Name"}},"type":"object","required":["bom_ref","identity","component_type","name"],"title":"CompositionPathNode"},"CostBudgetItem":{"properties":{"person":{"anyOf":[{"type":"string","maxLength":1024,"pattern":"^(person:[0-9a-f]{64}|account:[a-z0-9][a-z0-9._-]{0,63}:.+|asset:[0-9a-fA-F-]{36})$"},{"type":"null"}],"title":"Person"},"person_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Name"},"window":{"type":"string","enum":["hour","day"],"title":"Window"},"limit_usd":{"type":"number","maximum":1000000000.0,"minimum":0.01,"title":"Limit Usd"}},"additionalProperties":false,"type":"object","required":["window","limit_usd"],"title":"CostBudgetItem"},"CostBudgetsRequest":{"properties":{"budgets":{"items":{"$ref":"#/components/schemas/CostBudgetItem"},"type":"array","maxItems":1000,"title":"Budgets"}},"additionalProperties":false,"type":"object","title":"CostBudgetsRequest","description":"The org's whole set of budgets, replacing what was there."},"CostBudgetsResponse":{"properties":{"budgets":{"items":{"$ref":"#/components/schemas/CostBudgetItem"},"type":"array","title":"Budgets"}},"type":"object","required":["budgets"],"title":"CostBudgetsResponse"},"CostPeopleResponse":{"properties":{"people":{"items":{"$ref":"#/components/schemas/CostPerson"},"type":"array","title":"People"}},"type":"object","required":["people"],"title":"CostPeopleResponse"},"CostPerson":{"properties":{"person":{"type":"string","title":"Person"},"name":{"type":"string","title":"Name"},"kinds":{"items":{"type":"string"},"type":"array","title":"Kinds"},"accounts":{"items":{"$ref":"#/components/schemas/CostPersonAccount"},"type":"array","title":"Accounts"},"last_seen_at":{"type":"string","format":"date-time","title":"Last Seen At"}},"type":"object","required":["person","name","kinds","accounts","last_seen_at"],"title":"CostPerson","description":"One person the org's account cards describe (ADR-0080)."},"CostPersonAccount":{"properties":{"agent_kind":{"type":"string","title":"Agent Kind"},"account":{"type":"string","title":"Account"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"},"seen_at":{"type":"string","format":"date-time","title":"Seen At"}},"type":"object","required":["agent_kind","account","display_name","plan","seen_at"],"title":"CostPersonAccount","description":"One account card behind a person, as the host last read it."},"CostSettingsRequest":{"properties":{"time_zone":{"type":"string","maxLength":64,"minLength":1,"title":"Time Zone"}},"additionalProperties":false,"type":"object","required":["time_zone"],"title":"CostSettingsRequest"},"CostSettingsResponse":{"properties":{"time_zone":{"type":"string","title":"Time Zone"}},"type":"object","required":["time_zone"],"title":"CostSettingsResponse"},"CreateCollectorTokenRequest":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"CreateCollectorTokenRequest"},"CreateCollectorTokenResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"plaintext_token":{"type":"string","title":"Plaintext Token"},"last4":{"type":"string","title":"Last4"},"created_at":{"type":"string","title":"Created At"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"}},"type":"object","required":["id","name","plaintext_token","last4","created_at","created_by"],"title":"CreateCollectorTokenResponse"},"DecidedByPayload":{"properties":{"rules":{"type":"string","maxLength":64,"minLength":1,"title":"Rules"},"policy_revision":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Policy Revision"}},"additionalProperties":false,"type":"object","required":["rules"],"title":"DecidedByPayload","description":"What decided a gateway finding: the client release whose rules ran, and\nthe organization policy revision it held, if any."},"DecidedByRow":{"properties":{"rules":{"type":"string","title":"Rules"},"policy_revision":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Policy Revision"}},"type":"object","required":["rules"],"title":"DecidedByRow","description":"The client release and the policy revision behind a gateway finding."},"DetectRunResponse":{"properties":{"detect_run_id":{"type":"string","title":"Detect Run Id"},"agent_id":{"type":"string","title":"Agent Id"},"detections_ingested":{"type":"integer","title":"Detections Ingested"},"detections_new":{"type":"integer","title":"Detections New"},"activity_rows":{"type":"integer","title":"Activity Rows"},"dashboard_url":{"type":"string","title":"Dashboard Url"}},"type":"object","required":["detect_run_id","agent_id","detections_ingested","detections_new","activity_rows","dashboard_url"],"title":"DetectRunResponse"},"DetectRunUpload":{"properties":{"asset_id":{"type":"string","maxLength":512,"minLength":1,"title":"Asset Id"},"agent_kind":{"type":"string","maxLength":512,"minLength":1,"title":"Agent Kind"},"agent_instance_id":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Agent Instance Id"},"stacktrace_version":{"type":"string","maxLength":512,"minLength":1,"title":"Stacktrace Version"},"window_start":{"type":"string","format":"date-time","title":"Window Start"},"window_end":{"type":"string","format":"date-time","title":"Window End"},"detections":{"items":{"$ref":"#/components/schemas/DetectionPayload"},"type":"array","maxItems":5000,"title":"Detections"},"unknowns":{"items":{"$ref":"#/components/schemas/UnknownPayload"},"type":"array","maxItems":5000,"title":"Unknowns"},"activity":{"items":{"$ref":"#/components/schemas/ActivityPayload"},"type":"array","maxItems":20000,"title":"Activity"},"accounts":{"items":{"$ref":"#/components/schemas/AccountCardPayload"},"type":"array","maxItems":5000,"title":"Accounts"}},"additionalProperties":false,"type":"object","required":["asset_id","agent_kind","stacktrace_version","window_start","window_end"],"title":"DetectRunUpload","description":"One accepted detect run, for one agent.\n\nThe agent is the unit, exactly as it is for BOMs (ADR-0018, ADR-0022): the\ncollector splits its run output by agent kind before uploading, the same\nsplit the scanner already performs to emit one BOM per agent."},"DetectionComponentAttribution":{"properties":{"identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity"},"name":{"type":"string","title":"Name"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"component_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Type"},"kind":{"type":"string","enum":["component","ambiguous","builtin","unplaced"],"title":"Kind"},"role":{"type":"string","enum":["subject","source","context"],"title":"Role"}},"type":"object","required":["name","kind","role"],"title":"DetectionComponentAttribution","description":"One observation-time participant in the canonical detection collection."},"DetectionComponentGroup":{"properties":{"component":{"type":"string","title":"Component"},"component_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Label"},"subject_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject Kind"},"component_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Type"}},"type":"object","required":["component"],"title":"DetectionComponentGroup","description":"Finding membership metadata, independent of the expanded attribution list."},"DetectionDetail":{"properties":{"finding_targets":{"items":{"$ref":"#/components/schemas/FindingTargetView"},"type":"array","title":"Finding Targets"},"id":{"type":"string","title":"Id"},"rule_id":{"type":"string","title":"Rule Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"remediation_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remediation Key"},"severity":{"type":"string","title":"Severity"},"confidence":{"type":"string","title":"Confidence"},"scope":{"type":"string","title":"Scope"},"status":{"type":"string","title":"Status"},"session_id":{"type":"string","title":"Session Id"},"session_started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Started At"},"occurred_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Occurred Start"},"occurred_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Occurred End"},"session_turn_count":{"type":"integer","title":"Session Turn Count"},"session_surface":{"anyOf":[{"type":"string","const":"chatgpt-work"},{"type":"null"}],"title":"Session Surface"},"session_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Title"},"session_opening_words":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Opening Words"},"advisories":{"additionalProperties":{"$ref":"#/components/schemas/AdvisoryDetailRow"},"type":"object","title":"Advisories"},"session_person":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Person"},"action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"},"decided_by":{"anyOf":[{"$ref":"#/components/schemas/DecidedByRow"},{"type":"null"}]},"where":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Where"},"first_seen_at":{"type":"string","title":"First Seen At"},"last_seen_at":{"type":"string","title":"Last Seen At"},"agent_id":{"type":"string","title":"Agent Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"asset_id":{"type":"string","title":"Asset Id"},"asset_display_name":{"type":"string","title":"Asset Display Name"},"components":{"items":{"$ref":"#/components/schemas/DetectionComponentAttribution"},"type":"array","title":"Components"},"component_group":{"anyOf":[{"$ref":"#/components/schemas/DetectionComponentGroup"},{"type":"null"}]},"subject":{"anyOf":[{"$ref":"#/components/schemas/DetectionParticipantRef"},{"type":"null"}],"description":"Deprecated: read the subject-role entry in components."},"involved":{"items":{"$ref":"#/components/schemas/DetectionParticipantRef"},"type":"array","title":"Involved","description":"Deprecated: read source-role entries in components."},"policy_targets":{"items":{"$ref":"#/components/schemas/ComponentPolicyTarget"},"type":"array","title":"Policy Targets"},"remediation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remediation"},"anchor_span":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Anchor Span"},"observed_capabilities":{"items":{"type":"string"},"type":"array","title":"Observed Capabilities"},"evidence":{"items":{"$ref":"#/components/schemas/DetectionEvidenceRow"},"type":"array","title":"Evidence"},"run_history":{"items":{"$ref":"#/components/schemas/RunHistoryRow"},"type":"array","title":"Run History"},"run_history_total":{"type":"integer","title":"Run History Total","default":0}},"type":"object","required":["id","rule_id","severity","confidence","scope","status","session_id","session_turn_count","first_seen_at","last_seen_at","agent_id","agent_kind","asset_id","asset_display_name"],"title":"DetectionDetail"},"DetectionEvidenceRow":{"properties":{"position":{"type":"integer","title":"Position"},"span":{"type":"string","title":"Span"},"kind":{"type":"string","title":"Kind"},"detail":{"type":"string","title":"Detail"},"turn_occurred_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Turn Occurred At"}},"type":"object","required":["position","span","kind","detail"],"title":"DetectionEvidenceRow","description":"One citation. `position` 0 is the anchor — the call this is *about*."},"DetectionGroupRow":{"properties":{"rule_id":{"type":"string","title":"Rule Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"severity":{"type":"string","title":"Severity"},"detections":{"type":"integer","title":"Detections"},"sessions":{"type":"integer","title":"Sessions"},"agent_finding_sessions":{"type":"integer","title":"Agent Finding Sessions"},"first_session_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Session At"},"last_session_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Session At"},"component":{"type":"string","title":"Component"},"component_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Label"},"subject_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject Kind"},"component_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Type"},"agent_id":{"type":"string","title":"Agent Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"agent_instance_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Instance Id"},"asset_id":{"type":"string","title":"Asset Id"},"asset_display_name":{"type":"string","title":"Asset Display Name"},"people":{"items":{"$ref":"#/components/schemas/PersonRef"},"type":"array","title":"People"}},"type":"object","required":["rule_id","severity","detections","sessions","agent_finding_sessions","component","agent_id","agent_kind","asset_id","asset_display_name"],"title":"DetectionGroupRow","description":"One agent's history with one rule against one component set, stated once.\n\nThe grain is `(agent, rule, component set)` and deliberately not\n`(agent, rule, day)`. Day buckets fragment a continuing problem into\narbitrary pieces — a nightly stall becomes seven rows a week, which is the\nrepetitive list again, just slower. `first_session_at`/`last_session_at`\nsay the same thing in one row and say it more precisely.\n\nMachine is not the grain either: one machine can run several agents\n(ADR-0022), and merging them loses which one is misbehaving."},"DetectionGroupsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DetectionGroupRow"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total"},"summary":{"$ref":"#/components/schemas/DetectionsSummary"}},"type":"object","required":["items","total"],"title":"DetectionGroupsResponse","description":"`total` counts **groups**, not detections.\n\nThe detection count lives in `summary.by_rule`, deliberately a different\nnumber: one says how many distinct (agent, rule, component set) problems\nexist, the other how many times they fired. Both are on the page because a\nreader needs both."},"DetectionOccurrencesResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/RunHistoryRow"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"DetectionOccurrencesResponse","description":"The whole run history for one detection, a page at a time."},"DetectionParticipantRef":{"properties":{"kind":{"type":"string","title":"Kind"},"role":{"type":"string","title":"Role"},"name":{"type":"string","title":"Name"},"component_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Type"},"identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity"}},"type":"object","required":["kind","role","name"],"title":"DetectionParticipantRef","description":"One named party to a finding, as stored.\n\n`kind` is the field a client must read before it renders `name`. Only\n`component` is verified inventory with an identity behind it; `builtin` is\nthe agent's own tool, and `unplaced` was called and matched nothing on the\nmachine. A client **must** mark the latter two and **must not** link them\nor resolve a lookup by them -- two machines can call unrelated servers\n`support`, so a name is not an identity. `identity` is null for every kind\nbut `component`, enforced by a check constraint rather than convention."},"DetectionPayload":{"properties":{"rule_id":{"type":"string","maxLength":128,"minLength":1,"title":"Rule Id"},"scope":{"type":"string","enum":["call","session"],"title":"Scope"},"finding_targets":{"items":{"$ref":"#/components/schemas/FindingTargetPayload"},"type":"array","maxItems":32,"title":"Finding Targets"},"severity":{"type":"string","enum":["low","medium","high"],"title":"Severity"},"confidence":{"type":"string","enum":["low","medium","high"],"title":"Confidence"},"session":{"$ref":"#/components/schemas/SessionRefPayload"},"observed_capabilities":{"items":{"type":"string","maxLength":512,"minLength":1},"type":"array","maxItems":16,"title":"Observed Capabilities"},"components":{"items":{"$ref":"#/components/schemas/ComponentPayloadRef"},"type":"array","maxItems":50,"title":"Components"},"subject":{"anyOf":[{"$ref":"#/components/schemas/ParticipantPayload"},{"type":"null"}]},"involved":{"items":{"$ref":"#/components/schemas/ParticipantPayload"},"type":"array","maxItems":10,"title":"Involved"},"target":{"anyOf":[{"$ref":"#/components/schemas/TargetPayload"},{"type":"null"}]},"evidence":{"items":{"$ref":"#/components/schemas/EvidencePayload"},"type":"array","maxItems":100,"title":"Evidence"},"occurred_start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred Start"},"occurred_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Occurred End"},"action":{"anyOf":[{"type":"string","enum":["blocked","allowed","observed"]},{"type":"null"}],"title":"Action"},"decided_by":{"anyOf":[{"$ref":"#/components/schemas/DecidedByPayload"},{"type":"null"}]},"where":{"anyOf":[{"type":"string","enum":["hook","gateway","scan"]},{"type":"null"}],"title":"Where"}},"additionalProperties":false,"type":"object","required":["rule_id","scope","severity","confidence","session"],"title":"DetectionPayload","description":"One thing that failed.\n\nSelf-contained: it carries its own rule, grades, session, components and\ncitations, and resolves against nothing else in the payload."},"DetectionRow":{"properties":{"finding_targets":{"items":{"$ref":"#/components/schemas/FindingTargetView"},"type":"array","title":"Finding Targets"},"id":{"type":"string","title":"Id"},"rule_id":{"type":"string","title":"Rule Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Family"},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"remediation_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Remediation Key"},"severity":{"type":"string","title":"Severity"},"confidence":{"type":"string","title":"Confidence"},"scope":{"type":"string","title":"Scope"},"status":{"type":"string","title":"Status"},"session_id":{"type":"string","title":"Session Id"},"session_started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Started At"},"occurred_start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Occurred Start"},"occurred_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Occurred End"},"session_turn_count":{"type":"integer","title":"Session Turn Count"},"session_surface":{"anyOf":[{"type":"string","const":"chatgpt-work"},{"type":"null"}],"title":"Session Surface"},"session_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Title"},"session_opening_words":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Opening Words"},"advisories":{"additionalProperties":{"$ref":"#/components/schemas/AdvisoryDetailRow"},"type":"object","title":"Advisories"},"session_person":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Person"},"action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"},"decided_by":{"anyOf":[{"$ref":"#/components/schemas/DecidedByRow"},{"type":"null"}]},"where":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Where"},"first_seen_at":{"type":"string","title":"First Seen At"},"last_seen_at":{"type":"string","title":"Last Seen At"},"agent_id":{"type":"string","title":"Agent Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"asset_id":{"type":"string","title":"Asset Id"},"asset_display_name":{"type":"string","title":"Asset Display Name"},"components":{"items":{"$ref":"#/components/schemas/DetectionComponentAttribution"},"type":"array","title":"Components"},"component_group":{"anyOf":[{"$ref":"#/components/schemas/DetectionComponentGroup"},{"type":"null"}]},"subject":{"anyOf":[{"$ref":"#/components/schemas/DetectionParticipantRef"},{"type":"null"}],"description":"Deprecated: read the subject-role entry in components."},"involved":{"items":{"$ref":"#/components/schemas/DetectionParticipantRef"},"type":"array","title":"Involved","description":"Deprecated: read source-role entries in components."}},"type":"object","required":["id","rule_id","severity","confidence","scope","status","session_id","session_turn_count","first_seen_at","last_seen_at","agent_id","agent_kind","asset_id","asset_display_name"],"title":"DetectionRow","description":"One detection, as the console lists it.\n\nPresentation fields come from the seeded catalogue and are nullable on\npurpose: a rule that shipped upstream before Fleet's seed caught up still\ningests and still displays, as its bare identifier (ADR-0029)."},"DetectionRule":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"trigger":{"$ref":"#/components/schemas/DetectionTrigger"},"action":{"type":"string","enum":["block","allow"],"title":"Action"},"notify":{"type":"boolean","title":"Notify"}},"type":"object","required":["id","name","trigger","action","notify"],"title":"DetectionRule","description":"An entry as Fleet stores and serves it."},"DetectionRuleIn":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"trigger":{"$ref":"#/components/schemas/DetectionTrigger"},"action":{"type":"string","enum":["block","allow"],"title":"Action"},"notify":{"type":"boolean","title":"Notify"}},"additionalProperties":false,"type":"object","required":["name","trigger","action","notify"],"title":"DetectionRuleIn","description":"An entry as an administrator writes it. Fleet sets `id` when absent."},"DetectionSeverityCounts":{"properties":{"high":{"type":"integer","title":"High","default":0},"medium":{"type":"integer","title":"Medium","default":0},"low":{"type":"integer","title":"Low","default":0}},"type":"object","title":"DetectionSeverityCounts","description":"Three grades, not four. Detect emits no `critical` (its ADR-0010)."},"DetectionTrigger":{"properties":{"rule_id":{"type":"string","title":"Rule Id"},"params":{"additionalProperties":true,"type":"object","title":"Params"}},"additionalProperties":false,"type":"object","required":["rule_id","params"],"title":"DetectionTrigger"},"DetectionsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/DetectionRow"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total"},"summary":{"$ref":"#/components/schemas/DetectionsSummary"}},"type":"object","required":["items","total"],"title":"DetectionsResponse"},"DetectionsSummary":{"properties":{"by_severity":{"$ref":"#/components/schemas/DetectionSeverityCounts"},"by_family":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Family"},"uncatalogued_family_detections":{"type":"integer","title":"Uncatalogued Family Detections","default":0},"by_rule":{"items":{"$ref":"#/components/schemas/RuleCount"},"type":"array","title":"By Rule"},"agents_affected":{"type":"integer","title":"Agents Affected","default":0},"sessions_affected":{"type":"integer","title":"Sessions Affected","default":0},"coverage":{"$ref":"#/components/schemas/RuntimeCoverage"},"denied_attempts":{"type":"integer","title":"Denied Attempts","default":0},"has_detect_run":{"type":"boolean","title":"Has Detect Run","default":false}},"type":"object","title":"DetectionsSummary","description":"Computed over the whole filtered result, never over the page.\n\nEvery number here answers for the rows the caller's filters selected, so\nnone of them is named for a grade: under `status=resolved` a field called\n`open_*` would carry a resolved count. The row total the console captions\nlives on the response as `total`."},"DriftSummary":{"properties":{"added":{"type":"integer","title":"Added"},"removed":{"type":"integer","title":"Removed"},"changed":{"type":"integer","title":"Changed"}},"type":"object","required":["added","removed","changed"],"title":"DriftSummary"},"EndpointPolicyResponse":{"additionalProperties":true,"type":"object"},"EvidencePayload":{"properties":{"span":{"type":"string","maxLength":256,"pattern":"^[a-z0-9][a-z0-9._-]*(?::[A-Za-z0-9._-]+)+:[0-9]+$","title":"Span"},"kind":{"type":"string","maxLength":512,"minLength":1,"title":"Kind"},"detail":{"type":"string","maxLength":1024,"title":"Detail","default":""},"turn_occurred_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Turn Occurred At"}},"additionalProperties":false,"type":"object","required":["span","kind"],"title":"EvidencePayload","description":"One citation: where, and what class of thing was found there.\n\n`detail` describes a location and a match class — \"in argument 'url'\" —\nnever the matched value. A credential finding that quoted the credential\nwould itself be a disclosure."},"EvidenceSummary":{"properties":{"component_count":{"type":"integer","title":"Component Count","default":0},"impacted_component_count":{"type":"integer","title":"Impacted Component Count","default":0},"vulnerability_count":{"type":"integer","title":"Vulnerability Count","default":0},"posture_count":{"type":"integer","title":"Posture Count","default":0},"observation_count":{"type":"integer","title":"Observation Count","default":0},"vulnerability_counts":{"$ref":"#/components/schemas/SeverityCounts"},"posture_counts":{"$ref":"#/components/schemas/SeverityCounts"},"observation_counts":{"$ref":"#/components/schemas/SeverityCounts"},"component_type_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Component Type Counts"}},"type":"object","title":"EvidenceSummary"},"ExpectedRun":{"properties":{"agent_kind":{"type":"string","title":"Agent Kind"},"run_id":{"type":"string","title":"Run Id"},"detection_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detection Id"},"marked_at":{"type":"string","format":"date-time","title":"Marked At"}},"type":"object","required":["agent_kind","run_id","detection_id","marked_at"],"title":"ExpectedRun","description":"A run marked expected, as the console reads it back."},"ExpectedRunRef":{"properties":{"agent_kind":{"type":"string","title":"Agent Kind"},"run_id":{"type":"string","title":"Run Id"}},"type":"object","required":["agent_kind","run_id"],"title":"ExpectedRunRef","description":"A run marked expected, as the policy pull carries it (ADR-0081): the\nmachine returns it to its own history."},"FeedbackContext":{"properties":{"url":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Url"},"web_version":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Web Version"},"user_agent":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"User Agent"},"viewport":{"anyOf":[{"$ref":"#/components/schemas/Viewport"},{"type":"null"}]},"time_zone":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Time Zone"},"errors":{"items":{"oneOf":[{"$ref":"#/components/schemas/RequestFailure"},{"$ref":"#/components/schemas/ScriptError"}],"discriminator":{"propertyName":"kind","mapping":{"error":"#/components/schemas/ScriptError","rejection":"#/components/schemas/ScriptError","request":"#/components/schemas/RequestFailure"}}},"type":"array","maxItems":10,"title":"Errors","default":[]}},"additionalProperties":false,"type":"object","title":"FeedbackContext"},"FeedbackRequest":{"properties":{"message":{"type":"string","title":"Message"},"page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page"},"context":{"anyOf":[{"$ref":"#/components/schemas/FeedbackContext"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["message"],"title":"FeedbackRequest"},"FeedbackResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"reply_by_email":{"type":"boolean","title":"Reply By Email"}},"type":"object","required":["id","reply_by_email"],"title":"FeedbackResponse"},"FindingReasonPayload":{"properties":{"id":{"type":"string","maxLength":256,"minLength":1,"title":"Id"},"description":{"type":"string","maxLength":1000,"title":"Description"},"severity":{"type":"string","maxLength":30,"title":"Severity","default":""},"fixed_in":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Fixed In"}},"additionalProperties":false,"type":"object","required":["id","description"],"title":"FindingReasonPayload"},"FindingRow":{"properties":{"id":{"type":"string","title":"Id"},"bom_id":{"type":"string","title":"Bom Id"},"asset_id":{"type":"string","title":"Asset Id"},"asset_display_name":{"type":"string","title":"Asset Display Name"},"agent_kind":{"type":"string","title":"Agent Kind"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"bom_component_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bom Component Id"},"component_identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Identity"},"component_bom_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Bom Ref"},"evidence_record_id":{"type":"string","title":"Evidence Record Id"},"record_type":{"type":"string","title":"Record Type"},"evidence_source":{"type":"string","title":"Evidence Source"},"external_id":{"type":"string","title":"External Id"},"severity":{"type":"string","title":"Severity"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"fix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fix"},"fixed_in":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fixed In"},"update_target":{"anyOf":[{"$ref":"#/components/schemas/UpdateTarget"},{"type":"null"}]},"status":{"type":"string","title":"Status"},"first_seen_at":{"type":"string","title":"First Seen At"},"last_seen_at":{"type":"string","title":"Last Seen At"},"match_metadata":{"additionalProperties":true,"type":"object","title":"Match Metadata"},"component_state":{"type":"string","title":"Component State","default":"active"},"component_inactive_via":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Inactive Via"}},"type":"object","required":["id","bom_id","asset_id","asset_display_name","agent_kind","agent_id","bom_component_id","component_identity","component_bom_ref","evidence_record_id","record_type","evidence_source","external_id","severity","summary","fix","status","first_seen_at","last_seen_at","match_metadata"],"title":"FindingRow"},"FindingSummary":{"properties":{"vulnerability_count":{"type":"integer","title":"Vulnerability Count","default":0},"posture_count":{"type":"integer","title":"Posture Count","default":0},"observation_count":{"type":"integer","title":"Observation Count","default":0},"vulnerability_counts":{"$ref":"#/components/schemas/SeverityCounts"},"posture_counts":{"$ref":"#/components/schemas/SeverityCounts"},"observation_counts":{"$ref":"#/components/schemas/SeverityCounts"}},"type":"object","title":"FindingSummary"},"FindingTargetPayload":{"properties":{"schema_version":{"type":"integer","const":1,"title":"Schema Version","default":1},"kind":{"type":"string","enum":["credential","package","stored_credential","deleted_folder","switched_credential","spend_limit","safety_check","rate_limit","access_denied","personal_data"],"title":"Kind"},"fingerprint":{"type":"string","maxLength":64,"title":"Fingerprint","default":""},"masked_label":{"type":"string","maxLength":100,"title":"Masked Label","default":""},"credential_kind":{"type":"string","maxLength":50,"title":"Credential Kind","default":""},"ecosystem":{"type":"string","maxLength":20,"title":"Ecosystem","default":""},"package_name":{"type":"string","maxLength":256,"title":"Package Name","default":""},"version":{"type":"string","maxLength":100,"title":"Version","default":""},"span":{"type":"string","maxLength":256,"title":"Span","default":""},"folder":{"type":"string","maxLength":20,"title":"Folder","default":""},"service":{"type":"string","maxLength":200,"title":"Service","default":""},"status":{"type":"string","maxLength":3,"title":"Status","default":""},"account":{"type":"string","maxLength":512,"title":"Account","default":""},"session_id":{"type":"string","maxLength":256,"title":"Session Id","default":""},"previous_label":{"type":"string","maxLength":100,"title":"Previous Label","default":""},"reasons":{"items":{"$ref":"#/components/schemas/FindingReasonPayload"},"type":"array","maxItems":100,"title":"Reasons"}},"additionalProperties":false,"type":"object","required":["kind"],"title":"FindingTargetPayload"},"FindingTargetView":{"additionalProperties":true,"type":"object"},"FindingsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FindingRow"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total"},"summary":{"$ref":"#/components/schemas/FindingSummary"},"last_reevaluated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Reevaluated At"}},"type":"object","required":["items","total"],"title":"FindingsResponse"},"FleetActivityResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FleetActivityRow"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total","default":0},"rows_total":{"type":"integer","title":"Rows Total","default":0},"total_invocations":{"type":"integer","title":"Total Invocations","default":0},"by_category":{"items":{"$ref":"#/components/schemas/ActivityCategoryCount"},"type":"array","title":"By Category"},"coverage":{"$ref":"#/components/schemas/RuntimeCoverage"},"sessions":{"type":"integer","title":"Sessions","default":0},"agents":{"type":"integer","title":"Agents","default":0}},"type":"object","title":"FleetActivityResponse","description":"The fleet's grouped activity, one page at a time.\n\nThree totals that are deliberately not the same number:\n\n- `total` — components used across the *window*, unmoved by the selected\n  category, because it sits in a KPI strip whose every other card is also\n  at the window. It never counts the unresolved bucket (ADR-0027).\n- `rows_total` — the population the pages walk: every grouped row the\n  table would show under the current filters, unresolved bucket included.\n- `total_invocations` — calls, not components."},"FleetActivityRow":{"properties":{"category":{"type":"string","title":"Category"},"component_identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Identity"},"component_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Name"},"component_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Type"},"invocations":{"type":"integer","title":"Invocations"},"denied":{"type":"integer","title":"Denied","default":0},"sessions":{"type":"integer","title":"Sessions"},"agents":{"type":"integer","title":"Agents"},"last_invoked_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Invoked At"},"last_reported_at":{"type":"string","title":"Last Reported At","default":""},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"asset_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Display Name"},"agent_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"},"agent_instance_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Instance Id"}},"type":"object","required":["category","invocations","sessions","agents"],"title":"FleetActivityRow","description":"One component's usage across the whole org.\n\n`agents` is what answers the cross-machine question Inventory cannot:\nis this component behaving this way on one agent or forty."},"FleetFindingDetail":{"properties":{"id":{"type":"string","title":"Id"},"rule_id":{"type":"string","title":"Rule Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"family":{"type":"string","title":"Family","default":"cost"},"severity":{"type":"string","title":"Severity"},"status":{"type":"string","title":"Status"},"about":{"type":"string","enum":["person","org","unknown"],"title":"About"},"person":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person"},"person_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Name"},"people":{"items":{"$ref":"#/components/schemas/PersonRef"},"type":"array","title":"People"},"episode":{"type":"string","title":"Episode"},"cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost"},"expected_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Expected Cost"},"usual_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usual Cost"},"excess_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Excess Cost"},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens"},"expected":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expected"},"usual":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Usual"},"excess":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Excess"},"figures":{"additionalProperties":true,"type":"object","title":"Figures"},"evidence":{"items":{"$ref":"#/components/schemas/FleetFindingEvidence"},"type":"array","title":"Evidence"},"runs":{"items":{"$ref":"#/components/schemas/FleetFindingRun"},"type":"array","title":"Runs"},"notices":{"type":"integer","title":"Notices"},"grouped":{"type":"integer","title":"Grouped"},"occurred_start":{"type":"string","format":"date-time","title":"Occurred Start"},"occurred_end":{"type":"string","format":"date-time","title":"Occurred End"},"first_seen_at":{"type":"string","format":"date-time","title":"First Seen At"},"last_seen_at":{"type":"string","format":"date-time","title":"Last Seen At"},"expected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expected At"},"members":{"items":{"$ref":"#/components/schemas/FleetFindingMemberRow"},"type":"array","title":"Members"}},"type":"object","required":["id","rule_id","title","severity","status","about","person","person_name","people","episode","tokens","expected","usual","excess","figures","evidence","runs","notices","grouped","occurred_start","occurred_end","first_seen_at","last_seen_at","members"],"title":"FleetFindingDetail"},"FleetFindingEvidence":{"properties":{"kind":{"type":"string","title":"Kind"},"detail":{"type":"string","title":"Detail"}},"type":"object","required":["kind","detail"],"title":"FleetFindingEvidence"},"FleetFindingMemberRow":{"properties":{"detection_id":{"type":"string","title":"Detection Id"},"rule_id":{"type":"string","title":"Rule Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"asset_display_name":{"type":"string","title":"Asset Display Name"}},"type":"object","required":["detection_id","rule_id","agent_kind","asset_display_name"],"title":"FleetFindingMemberRow"},"FleetFindingRow":{"properties":{"id":{"type":"string","title":"Id"},"rule_id":{"type":"string","title":"Rule Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"family":{"type":"string","title":"Family","default":"cost"},"severity":{"type":"string","title":"Severity"},"status":{"type":"string","title":"Status"},"about":{"type":"string","enum":["person","org","unknown"],"title":"About"},"person":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person"},"person_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Name"},"people":{"items":{"$ref":"#/components/schemas/PersonRef"},"type":"array","title":"People"},"episode":{"type":"string","title":"Episode"},"cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost"},"expected_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Expected Cost"},"usual_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usual Cost"},"excess_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Excess Cost"},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens"},"expected":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expected"},"usual":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Usual"},"excess":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Excess"},"figures":{"additionalProperties":true,"type":"object","title":"Figures"},"evidence":{"items":{"$ref":"#/components/schemas/FleetFindingEvidence"},"type":"array","title":"Evidence"},"runs":{"items":{"$ref":"#/components/schemas/FleetFindingRun"},"type":"array","title":"Runs"},"notices":{"type":"integer","title":"Notices"},"grouped":{"type":"integer","title":"Grouped"},"occurred_start":{"type":"string","format":"date-time","title":"Occurred Start"},"occurred_end":{"type":"string","format":"date-time","title":"Occurred End"},"first_seen_at":{"type":"string","format":"date-time","title":"First Seen At"},"last_seen_at":{"type":"string","format":"date-time","title":"Last Seen At"},"expected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expected At"}},"type":"object","required":["id","rule_id","title","severity","status","about","person","person_name","people","episode","tokens","expected","usual","excess","figures","evidence","runs","notices","grouped","occurred_start","occurred_end","first_seen_at","last_seen_at"],"title":"FleetFindingRow"},"FleetFindingRun":{"properties":{"run_id":{"type":"string","title":"Run Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"repo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Repo"},"branch":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Branch"},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account"},"cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost"},"tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens"},"share":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Share"}},"type":"object","required":["run_id"],"title":"FleetFindingRun"},"FleetFindingsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FleetFindingRow"},"type":"array","title":"Items"},"truncated":{"type":"boolean","title":"Truncated","default":false}},"type":"object","required":["items"],"title":"FleetFindingsResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InventoryComponentGroup":{"properties":{"key":{"type":"string","title":"Key"},"component_type":{"type":"string","title":"Component Type"},"identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity"},"name":{"type":"string","title":"Name"},"bom_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bom Id"},"component_bom_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Bom Ref"},"purl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purl"},"versions":{"items":{"$ref":"#/components/schemas/InventoryComponentVersion"},"type":"array","title":"Versions"},"version_count":{"type":"integer","title":"Version Count"},"reach":{"type":"integer","title":"Reach"},"agent_kinds":{"items":{"type":"string"},"type":"array","title":"Agent Kinds"},"occurrence_count":{"type":"integer","title":"Occurrence Count"},"inactive_occurrence_count":{"type":"integer","title":"Inactive Occurrence Count"},"vulnerability_counts":{"$ref":"#/components/schemas/SeverityCounts"},"posture_counts":{"$ref":"#/components/schemas/SeverityCounts"},"first_seen_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"First Seen At"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"}},"type":"object","required":["key","component_type","identity","name","bom_id","component_bom_ref","purl","versions","version_count","reach","agent_kinds","occurrence_count","inactive_occurrence_count","vulnerability_counts","posture_counts"],"title":"InventoryComponentGroup","description":"One component across its versions (`_component_key`), every number\ncounted by the server under the response's filters (ADR-0070)."},"InventoryComponentRow":{"properties":{"key":{"type":"string","title":"Key"},"agent_kinds":{"items":{"type":"string"},"type":"array","title":"Agent Kinds"},"identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Identity"},"bom_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bom Id"},"component_bom_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Bom Ref"},"purl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purl"},"component_type":{"type":"string","title":"Component Type"},"name":{"type":"string","title":"Name"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"asset_count":{"type":"integer","title":"Asset Count"},"agent_count":{"type":"integer","title":"Agent Count"},"component_agent_count":{"type":"integer","title":"Component Agent Count"},"component_type_filters":{"items":{"type":"string"},"type":"array","title":"Component Type Filters"},"occurrence_count":{"type":"integer","title":"Occurrence Count"},"inactive_occurrence_count":{"type":"integer","title":"Inactive Occurrence Count","default":0},"not_installed_occurrence_count":{"type":"integer","title":"Not Installed Occurrence Count","default":0},"inactive_via":{"items":{"type":"string"},"type":"array","title":"Inactive Via"},"vulnerability_counts":{"$ref":"#/components/schemas/SeverityCounts"},"posture_counts":{"$ref":"#/components/schemas/SeverityCounts"},"observation_counts":{"$ref":"#/components/schemas/SeverityCounts"},"policy_target":{"anyOf":[{"$ref":"#/components/schemas/InventoryPolicyTarget"},{"type":"null"}]}},"type":"object","required":["key","agent_kinds","identity","bom_id","component_bom_ref","purl","component_type","name","version","asset_count","agent_count","component_agent_count","occurrence_count","vulnerability_counts","posture_counts","observation_counts"],"title":"InventoryComponentRow"},"InventoryComponentVersion":{"properties":{"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"agent_count":{"type":"integer","title":"Agent Count"}},"type":"object","required":["version","agent_count"],"title":"InventoryComponentVersion"},"InventoryComponentsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/InventoryComponentGroup"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"all_count":{"type":"integer","title":"All Count"},"type_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Type Counts"},"agent_counts":{"additionalProperties":{"type":"integer"},"type":"object","title":"Agent Counts"},"available_agent_kinds":{"items":{"type":"string"},"type":"array","title":"Available Agent Kinds"}},"type":"object","required":["items","total","all_count"],"title":"InventoryComponentsResponse","description":"Inventory › Components in one read: the rows and every count the page\nshows, from one population under the same filters."},"InventoryPolicyTarget":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Command"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"plugin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plugin"}},"type":"object","title":"InventoryPolicyTarget","description":"An MCP server's `command` or `url`, or a plugin's `name@marketplace`.\n\nExactly one is set; the others are sent as null."},"InventoryResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/InventoryComponentRow"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total"},"summary":{"$ref":"#/components/schemas/EvidenceSummary"},"available_agent_kinds":{"items":{"type":"string"},"type":"array","title":"Available Agent Kinds"},"hidden_not_installed_count":{"type":"integer","title":"Hidden Not Installed Count","default":0}},"type":"object","required":["items","total","summary"],"title":"InventoryResponse"},"MeResponse":{"properties":{"org":{"$ref":"#/components/schemas/OrgResponse"},"token":{"$ref":"#/components/schemas/TokenResponse"}},"type":"object","required":["org","token"],"title":"MeResponse"},"ObservationPayload":{"properties":{"source":{"type":"string","title":"Source"},"source_version":{"type":"string","title":"Source Version"},"finding_id":{"type":"string","title":"Finding Id"},"finding_version":{"type":"string","title":"Finding Version","default":"1"},"severity":{"type":"string","title":"Severity"},"confidence":{"type":"string","title":"Confidence"},"component_bom_ref":{"type":"string","title":"Component Bom Ref"},"subject_coordinate":{"type":"string","title":"Subject Coordinate"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"fix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fix"},"evidence":{"additionalProperties":true,"type":"object","title":"Evidence"},"taxonomies":{"additionalProperties":true,"type":"object","title":"Taxonomies"},"categories":{"items":{"type":"string"},"type":"array","title":"Categories"},"source_specific":{"additionalProperties":true,"type":"object","title":"Source Specific"},"declared_by":{"additionalProperties":true,"type":"object","title":"Declared By"}},"type":"object","required":["source","source_version","finding_id","severity","confidence","component_bom_ref","subject_coordinate"],"title":"ObservationPayload"},"OrgBaselineCohort":{"properties":{"repo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Repo"},"entrypoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entrypoint"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"n":{"type":"integer","title":"N"},"p5":{"additionalProperties":{"type":"number"},"type":"object","title":"P5"},"p50":{"additionalProperties":{"type":"number"},"type":"object","title":"P50"},"p95":{"additionalProperties":{"type":"number"},"type":"object","title":"P95"},"p99":{"additionalProperties":{"type":"number"},"type":"object","title":"P99"},"curve":{"items":{"items":{"type":"number"},"type":"array"},"type":"array","title":"Curve"},"burn":{"items":{"items":{"type":"number"},"type":"array"},"type":"array","title":"Burn"}},"type":"object","required":["repo","entrypoint","model","n","p5","p50","p95","p99","curve","burn"],"title":"OrgBaselineCohort","description":"One cohort's percentiles over the org's last 30 days (ADR-0103):\nnever a run's own figures, and never who ran it."},"OrgBaselines":{"properties":{"built_at":{"type":"string","format":"date-time","title":"Built At"},"cohorts":{"items":{"$ref":"#/components/schemas/OrgBaselineCohort"},"type":"array","title":"Cohorts"}},"type":"object","required":["built_at","cohorts"],"title":"OrgBaselines"},"OrgResetResponse":{"properties":{"org_id":{"type":"string","title":"Org Id"},"deleted":{"additionalProperties":{"type":"integer"},"type":"object","title":"Deleted"},"policy_revision":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Policy Revision"}},"type":"object","required":["org_id","deleted","policy_revision"],"title":"OrgResetResponse"},"OrgResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"}},"type":"object","required":["id","name"],"title":"OrgResponse"},"OrganizationPolicyResponse":{"additionalProperties":true,"type":"object"},"PaginatedResponse_AssetSummary_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AssetSummary"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"PaginatedResponse[AssetSummary]"},"PaginatedResponse_BomComponentRow_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BomComponentRow"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"PaginatedResponse[BomComponentRow]"},"PaginatedResponse_BomHistoryRow_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BomHistoryRow"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"PaginatedResponse[BomHistoryRow]"},"PaginatedResponse_BomSummary_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BomSummary"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"PaginatedResponse[BomSummary]"},"ParticipantPayload":{"properties":{"kind":{"type":"string","maxLength":512,"minLength":1,"title":"Kind"},"role":{"type":"string","maxLength":512,"minLength":1,"title":"Role","default":"subject"},"name":{"type":"string","maxLength":512,"minLength":1,"title":"Name"},"component_type":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Component Type"},"identity":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Identity"}},"additionalProperties":false,"type":"object","required":["kind","name"],"title":"ParticipantPayload","description":"One named party to a finding, labelled by how well it is known.\n\nDistinct from `ComponentPayloadRef` on purpose, and the distinction is the\nwhole point of the field. A component reference asserts *this is installed\nand here is its identity*; a participant asserts only *this is what the\nfinding was about*, which for three of the four kinds is something Fleet\nholds no inventory for at all -- the agent's own built-in tool, a server\nabsent from every composition, an unplaced skill.\n\n**`identity` is null for every kind except `component`.** A name is not an\nidentity, so an `unplaced` or `builtin` participant must never resolve a\nlookup or render as a link: two machines can call unrelated servers\n`support`. The validator below enforces that rather than trusting a\nproducer to, because the alternative failure is silent -- an unverified\nname displayed among verified ones reads as inventory, which is worse than\nthe blank it replaced."},"PersonRef":{"properties":{"person":{"type":"string","title":"Person"},"name":{"type":"string","title":"Name"}},"type":"object","required":["person","name"],"title":"PersonRef","description":"A person key (ADR-0080) and the name Fleet shows for it."},"PolicyEntryIn":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id"},"name":{"type":"string","title":"Name"},"rule_id":{"type":"string","title":"Rule Id"},"params":{"additionalProperties":true,"type":"object","title":"Params"},"action":{"type":"string","enum":["block","allow"],"title":"Action"},"notify":{"type":"boolean","title":"Notify"}},"additionalProperties":false,"type":"object","required":["name","rule_id","params","action","notify"],"title":"PolicyEntryIn","description":"An entry as an administrator writes it. Fleet sets `id` when absent."},"PolicyEntryResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"rule_id":{"type":"string","title":"Rule Id"},"params":{"additionalProperties":true,"type":"object","title":"Params"},"action":{"type":"string","enum":["block","allow"],"title":"Action"},"notify":{"type":"boolean","title":"Notify"}},"type":"object","required":["id","name","rule_id","params","action","notify"],"title":"PolicyEntryResponse","description":"One `policy_entries` row, in the served entry's shape."},"PolicyMcpTarget":{"properties":{"command":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Command"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","title":"PolicyMcpTarget","description":"One OpenACA `admission.mcps` target: exactly one of the two is set.\n\nDerived from the agent's current BOM the way OpenACA's matcher reads it, so\na policy that lists it under `blocked` blocks that component in a dry run."},"PolicyPreviewChange":{"properties":{"asset_id":{"type":"string","title":"Asset Id"},"agent_id":{"type":"string","title":"Agent Id"},"agent_kind":{"type":"string","title":"Agent Kind"},"component_bom_ref":{"type":"string","title":"Component Bom Ref"},"component_identity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Identity"},"component_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Name"},"component_type":{"type":"string","title":"Component Type"},"change":{"type":"string","enum":["add_restriction","remove_restriction"],"title":"Change"},"reasons":{"items":{"type":"string"},"type":"array","title":"Reasons"},"evidence_updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Evidence Updated At"}},"type":"object","required":["asset_id","agent_id","agent_kind","component_bom_ref","component_identity","component_name","component_type","change","reasons","evidence_updated_at"],"title":"PolicyPreviewChange"},"PolicyPreviewRequest":{"properties":{"document":{"additionalProperties":true,"type":"object","title":"Document"}},"type":"object","required":["document"],"title":"PolicyPreviewRequest"},"PolicyPreviewResponse":{"properties":{"changes":{"items":{"$ref":"#/components/schemas/PolicyPreviewChange"},"type":"array","title":"Changes"},"affected_agent_count":{"type":"integer","title":"Affected Agent Count"},"affected_asset_count":{"type":"integer","title":"Affected Asset Count"},"unevaluated_agent_count":{"type":"integer","title":"Unevaluated Agent Count"},"unevaluated_url_entries":{"items":{"$ref":"#/components/schemas/PolicyPreviewUrlEntry"},"type":"array","title":"Unevaluated Url Entries"}},"type":"object","required":["changes","affected_agent_count","affected_asset_count","unevaluated_agent_count","unevaluated_url_entries"],"title":"PolicyPreviewResponse"},"PolicyPreviewUrlEntry":{"properties":{"url":{"type":"string","title":"Url"},"agent_count":{"type":"integer","title":"Agent Count"}},"type":"object","required":["url","agent_count"],"title":"PolicyPreviewUrlEntry","description":"A URL entry the preview cannot judge on `agent_count` agents (ADR-0101)."},"PolicyRuleResponse":{"properties":{"rule_id":{"type":"string","title":"Rule Id"},"family":{"type":"string","enum":["security","reliability","cost"],"title":"Family"},"group":{"anyOf":[{"type":"string","enum":["Data loss","Risky actions","Component risk"]},{"type":"null"}],"title":"Group"},"section":{"type":"string","enum":["data_loss","risky_actions","component_risk","reliability","cost"],"title":"Section"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"settings":{"items":{"type":"string","enum":["off","detect","block"]},"type":"array","title":"Settings"},"condition":{"anyOf":[{"type":"string","enum":["vulnerability","posture"]},{"type":"null"}],"title":"Condition"},"entry":{"anyOf":[{"$ref":"#/components/schemas/PolicyEntryResponse"},{"type":"null"}]}},"type":"object","required":["rule_id","family","group","section","name","description","settings","condition","entry"],"title":"PolicyRuleResponse","description":"A rule the Policy page lists, and the organization's entry for it\n(policy entries spec, \"Policy page\"). Null `entry`: the rule's default."},"PolicyRulesResponse":{"properties":{"revision":{"type":"integer","title":"Revision"},"rules":{"items":{"$ref":"#/components/schemas/PolicyRuleResponse"},"type":"array","title":"Rules"}},"type":"object","required":["revision","rules"],"title":"PolicyRulesResponse","description":"The Policy page's read: the rules under the policy's revision."},"PolicyUpdateRequest":{"properties":{"expected_revision":{"type":"integer","maximum":2147483646.0,"minimum":0.0,"title":"Expected Revision"},"document":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Document"},"detection_rules":{"anyOf":[{"items":{"$ref":"#/components/schemas/DetectionRuleIn"},"type":"array"},{"type":"null"}],"title":"Detection Rules"},"entries":{"anyOf":[{"items":{"$ref":"#/components/schemas/PolicyEntryIn"},"type":"array"},{"type":"null"}],"title":"Entries"},"known_rule_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Known Rule Ids"}},"type":"object","required":["expected_revision"],"title":"PolicyUpdateRequest"},"PostureFindingPayload":{"properties":{"source":{"type":"string","title":"Source","default":"openaca"},"source_version":{"type":"string","title":"Source Version","default":"unknown"},"finding_id":{"type":"string","title":"Finding Id"},"finding_version":{"type":"string","title":"Finding Version"},"severity":{"type":"string","title":"Severity"},"confidence":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confidence"},"scope":{"type":"string","enum":["component","bom","asset"],"title":"Scope"},"component_bom_ref":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Component Bom Ref"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"fix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fix"},"evidence":{"additionalProperties":true,"type":"object","title":"Evidence"},"taxonomies":{"additionalProperties":true,"type":"object","title":"Taxonomies"},"source_specific":{"additionalProperties":true,"type":"object","title":"Source Specific"}},"type":"object","required":["finding_id","finding_version","severity","scope"],"title":"PostureFindingPayload"},"ProviderPlugin":{"properties":{"identity":{"type":"string","title":"Identity"},"name":{"type":"string","title":"Name"},"policy_target":{"type":"string","title":"Policy Target"}},"type":"object","required":["identity","name","policy_target"],"title":"ProviderPlugin","description":"A current BOM plugin and its exact admission target."},"RequestFailure":{"properties":{"kind":{"type":"string","const":"request","title":"Kind"},"method":{"type":"string","maxLength":10,"title":"Method"},"path":{"type":"string","maxLength":200,"title":"Path"},"status":{"anyOf":[{"type":"integer","maximum":599.0,"minimum":100.0},{"type":"null"}],"title":"Status"},"request_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9-]{1,64}$"},{"type":"null"}],"title":"Request Id"}},"additionalProperties":false,"type":"object","required":["kind","method","path"],"title":"RequestFailure"},"RuleCount":{"properties":{"rule_id":{"type":"string","title":"Rule Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"detections":{"type":"integer","title":"Detections"}},"type":"object","required":["rule_id","detections"],"title":"RuleCount","description":"One rule and how many detections it accounts for.\n\nA list rather than a mapping, because it arrives ordered by count and a\nJSON object has no order a client can rely on."},"RunHistoryRow":{"properties":{"detect_run_id":{"type":"string","title":"Detect Run Id"},"observed_through":{"type":"string","title":"Observed Through"},"recorded_at":{"type":"string","title":"Recorded At"}},"type":"object","required":["detect_run_id","observed_through","recorded_at"],"title":"RunHistoryRow","description":"One run that reported this detection.\n\n`observed_through` is the run's window end — the device period it read —\nand `recorded_at` is when Fleet received it. Both, because they answer\ndifferent questions and can differ by days: a run buffered on a laptop\nreports an old window at a recent receipt, and only the pair makes that\nlegible rather than looking like a clock error."},"RuntimeCoverage":{"properties":{"total":{"type":"integer","title":"Total","default":0},"resolved":{"type":"integer","title":"Resolved","default":0}},"type":"object","title":"RuntimeCoverage","description":"Derived by summing activity, never transmitted (ADR-0027).\n\n`resolved` counts calls the correlator could place. A low rate means the\ndetector could not *read* those sessions — not that they were clean."},"ScriptError":{"properties":{"kind":{"type":"string","enum":["error","rejection"],"title":"Kind"},"message":{"type":"string","maxLength":200,"title":"Message"}},"additionalProperties":false,"type":"object","required":["kind","message"],"title":"ScriptError"},"SessionRefPayload":{"properties":{"session_id":{"type":"string","maxLength":256,"minLength":1,"title":"Session Id"},"surface":{"anyOf":[{"type":"string","const":"chatgpt-work"},{"type":"null"}],"title":"Surface"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"turn_count":{"type":"integer","maximum":2147483647.0,"minimum":0.0,"title":"Turn Count","default":0},"title":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Title"},"opening_words":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Opening Words"},"person":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Person"},"account":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Account"}},"additionalProperties":false,"type":"object","required":["session_id"],"title":"SessionRefPayload","description":"Enough to find the session on the machine that produced it, and to say\nwhat it was and whose it was.\n\nUpstream's `SessionRef` minus `agent_kind`, which the request already\ncarries. `title` is the run's short title and `person` the Claude\naccount's display name or the part of its email before the `@`\n(`stacktrace` ADR-0109, ADR-0079). Both are left out when the client\ndoes not know them. No field here holds a prompt, an argument, a result\nor a path."},"SessionRunCost":{"properties":{"run_id":{"type":"string","title":"Run Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"repo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Repo"},"cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cost"},"unpriced":{"type":"integer","title":"Unpriced"},"similar":{"items":{"$ref":"#/components/schemas/SimilarRun"},"type":"array","title":"Similar"},"median":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Median"}},"type":"object","required":["run_id","title","repo","cost","unpriced","similar","median"],"title":"SessionRunCost","description":"`GET /api/v1/cost/detections/{id}/run`: what a Session cost run has\ncost, and the person's other runs in the same repo on the same agent\nkind over the last 30 days, which its chart draws (ADR-0087)."},"SeverityCounts":{"properties":{"critical":{"type":"integer","title":"Critical","default":0},"high":{"type":"integer","title":"High","default":0},"medium":{"type":"integer","title":"Medium","default":0},"low":{"type":"integer","title":"Low","default":0}},"type":"object","title":"SeverityCounts"},"SimilarBaselineGroup":{"properties":{"agent_kind":{"type":"string","title":"Agent Kind"},"repo":{"type":"string","title":"Repo"},"n":{"type":"integer","title":"N"},"p5":{"additionalProperties":{"type":"number"},"type":"object","title":"P5"},"p50":{"additionalProperties":{"type":"number"},"type":"object","title":"P50"},"p95":{"additionalProperties":{"type":"number"},"type":"object","title":"P95"},"p99":{"additionalProperties":{"type":"number"},"type":"object","title":"P99"},"curve":{"items":{"prefixItems":[{"type":"integer"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},"type":"array","title":"Curve"},"burn":{"items":{"prefixItems":[{"type":"integer"},{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array","maxItems":4,"minItems":4},"type":"array","title":"Burn"},"models":{"additionalProperties":{"type":"integer"},"type":"object","title":"Models"}},"type":"object","required":["agent_kind","repo","n","p5","p50","p95","p99","curve","burn","models"],"title":"SimilarBaselineGroup","description":"One group of similar sessions over the org's last 30 days (contract\n§4, ADR-0081): runs on the same agent kind in the same repo. Never a\nrun's own figures, and never who ran it."},"SimilarBaselines":{"properties":{"built_at":{"type":"string","format":"date-time","title":"Built At"},"groups":{"items":{"$ref":"#/components/schemas/SimilarBaselineGroup"},"type":"array","title":"Groups"}},"type":"object","required":["built_at","groups"],"title":"SimilarBaselines"},"SimilarRun":{"properties":{"run_id":{"type":"string","title":"Run Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"cost":{"type":"number","title":"Cost"}},"type":"object","required":["run_id","cost"],"title":"SimilarRun","description":"One of the person's other runs a Session cost run is drawn against.\nOnly a run priced whole is one: a run with tokens Fleet cannot price is\nleft out, so `cost` is never short of what the run spent."},"SlackOAuthCompletion":{"properties":{"state":{"type":"string","maxLength":512,"minLength":1,"title":"State"},"code":{"type":"string","maxLength":4096,"minLength":1,"title":"Code"}},"type":"object","required":["state","code"],"title":"SlackOAuthCompletion"},"TargetPayload":{"properties":{"key":{"type":"string","maxLength":128,"minLength":1,"title":"Key"},"label":{"type":"string","maxLength":64,"minLength":1,"title":"Label"}},"additionalProperties":false,"type":"object","required":["key","label"],"title":"TargetPayload","description":"What one remediation fixes: the credential a finding is about.\n\n`key` groups findings and is never shown. `label` is shown and never\ngroups, because two credentials can share it."},"TokenResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"last_used_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Used At"}},"type":"object","required":["id","name","last_used_at"],"title":"TokenResponse"},"UnknownPayload":{"properties":{"session_id":{"type":"string","maxLength":256,"minLength":1,"title":"Session Id"},"reason":{"type":"string","maxLength":512,"minLength":1,"title":"Reason"},"spans":{"items":{"type":"string","maxLength":256,"pattern":"^[a-z0-9][a-z0-9._-]*(?::[A-Za-z0-9._-]+)+:[0-9]+$"},"type":"array","maxItems":100,"title":"Spans"}},"additionalProperties":false,"type":"object","required":["session_id","reason"],"title":"UnknownPayload","description":"A question the detector could not settle, and why.\n\nNot a finding and not silence. Kept because the absence of findings in a\nsession the detector could not read is not the same as a clean session."},"UnusedComponentRow":{"properties":{"kind":{"type":"string","enum":["skill","mcp_server"],"title":"Kind"},"name":{"type":"string","title":"Name"},"tokens_per_call":{"type":"integer","title":"Tokens Per Call"},"calls":{"type":"integer","title":"Calls"},"tokens":{"type":"integer","title":"Tokens"},"tokens_per_day":{"type":"integer","title":"Tokens Per Day"},"sessions":{"type":"integer","title":"Sessions"},"agents":{"type":"integer","title":"Agents"},"people":{"type":"integer","title":"People"}},"type":"object","required":["kind","name","tokens_per_call","calls","tokens","tokens_per_day","sessions","agents","people"],"title":"UnusedComponentRow","description":"A skill or MCP server whose definition rode calls in the window and\nthat no call used: the tokens it added, never a finding."},"UnusedComponentsResponse":{"properties":{"window":{"type":"string","enum":["1d","3d","7d","30d"],"title":"Window"},"since":{"type":"string","format":"date","title":"Since"},"reported":{"type":"integer","title":"Reported"},"rows":{"items":{"$ref":"#/components/schemas/UnusedComponentRow"},"type":"array","title":"Rows"},"truncated":{"type":"boolean","title":"Truncated","default":false}},"type":"object","required":["window","since","reported","rows"],"title":"UnusedComponentsResponse"},"UpdateTarget":{"properties":{"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version"},"clears_all":{"type":"boolean","title":"Clears All"},"blocking_advisory_ids":{"items":{"type":"string"},"type":"array","title":"Blocking Advisory Ids"}},"type":"object","required":["version","clears_all"],"title":"UpdateTarget","description":"One release to update a vulnerable component to, and what it is known to clear.\n\nComputed per component identity over every advisory finding the same query\nmatches, not only the rows on this page. `version` is the highest\n`fixed_in` across those advisories, ordered the ecosystem's way: PEP 440\nfor PyPI, SemVer for npm.\n\n`clears_all` is true only when, for every advisory, `version` is outside\nevery affected range the advisory's OSV record gives this package, the\nlater `introduced` intervals included. It is a claim about `version`\nexactly: a later release can fall inside a later affected interval, so\nnothing here covers \"or later\". The three other cases:\n\n- `version` null, `blocking_advisory_ids` non-empty: those advisories have\n  no fixed version, so no release is named.\n- `version` set, `clears_all` false: `blocking_advisory_ids` are the\n  advisories not known to be fixed at `version`. It still affects them, or\n  their record cannot be read at that version.\n- `version` null, `blocking_advisory_ids` empty: the fixes cannot be\n  ordered (an unparsable version, or no single npm or PyPI package)."},"UsageBucketPayload":{"properties":{"run_id":{"type":"string","maxLength":256,"minLength":1,"title":"Run Id"},"session_id":{"type":"string","maxLength":256,"minLength":1,"title":"Session Id"},"model":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Model"},"start":{"type":"string","format":"date-time","title":"Start"},"grain":{"type":"string","enum":["minute","hour"],"title":"Grain"},"input":{"type":"integer","maximum":68719476736.0,"minimum":0.0,"title":"Input"},"output":{"type":"integer","maximum":68719476736.0,"minimum":0.0,"title":"Output"},"cache_read":{"type":"integer","maximum":68719476736.0,"minimum":0.0,"title":"Cache Read"},"cache_write":{"type":"integer","maximum":68719476736.0,"minimum":0.0,"title":"Cache Write"},"cache_write_1h":{"type":"integer","maximum":68719476736.0,"minimum":0.0,"title":"Cache Write 1H","default":0},"revision":{"type":"integer","maximum":9007199254740991.0,"minimum":1.0,"title":"Revision"}},"additionalProperties":false,"type":"object","required":["run_id","session_id","start","grain","input","output","cache_read","cache_write","revision"],"title":"UsageBucketPayload","description":"One session's tokens on one model in one minute or hour, by kind."},"UsageComponentPayload":{"properties":{"run_id":{"type":"string","maxLength":256,"minLength":1,"title":"Run Id"},"session_id":{"type":"string","maxLength":256,"minLength":1,"title":"Session Id"},"kind":{"type":"string","enum":["skill","mcp_server","builtin","label"],"title":"Kind"},"name":{"type":"string","maxLength":512,"minLength":1,"title":"Name"},"model":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Model"},"day":{"type":"string","format":"date","title":"Day"},"tokens_per_call":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Tokens Per Call"},"calls":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Calls"},"used":{"type":"boolean","title":"Used"},"result_tokens":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Result Tokens","default":0},"result_calls":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Result Calls","default":0},"revision":{"type":"integer","maximum":9007199254740991.0,"minimum":1.0,"title":"Revision"}},"additionalProperties":false,"type":"object","required":["run_id","session_id","kind","name","day","tokens_per_call","calls","used","revision"],"title":"UsageComponentPayload","description":"Per session, component, model and UTC day: the tokens a skill's or an\nMCP server's definition adds to every call, how many calls carried it, and\nwhether any call used it (`stacktrace` cost-phase-2 §1), and the tokens of\nits results that later calls re-sent and how many calls it answered\n(cost-notifications §7). Keyed by a name the agent's BOM declares, which\nits detect runs already carry, a built-in tool's own name, or one of\n`COMPONENT_LABELS`. Nothing read from the inventory travels on a row: no\nidentity, version or origin, which the contract forbids as extra keys."},"UsageEnvironment":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"agent_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"},"asset_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Display Name"},"tokens":{"type":"integer","title":"Tokens"},"cost":{"type":"number","title":"Cost","default":0.0},"unpriced":{"type":"integer","title":"Unpriced","default":0}},"type":"object","required":["agent_id","agent_kind","asset_display_name","tokens"],"title":"UsageEnvironment","description":"One agent: an agent kind on one environment, as the table's rows by\nagent are, with the window's tokens."},"UsageFigures":{"properties":{"cost":{"type":"number","title":"Cost","default":0.0},"input_cost":{"type":"number","title":"Input Cost","default":0.0},"output_cost":{"type":"number","title":"Output Cost","default":0.0},"cache_read_cost":{"type":"number","title":"Cache Read Cost","default":0.0},"cache_write_cost":{"type":"number","title":"Cache Write Cost","default":0.0},"unpriced":{"type":"integer","title":"Unpriced","default":0},"input":{"type":"integer","title":"Input"},"output":{"type":"integer","title":"Output"},"cache_read":{"type":"integer","title":"Cache Read"},"cache_write":{"type":"integer","title":"Cache Write"},"tokens":{"type":"integer","title":"Tokens"},"cache_read_share":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cache Read Share"},"uncached_input":{"type":"integer","title":"Uncached Input"}},"type":"object","required":["input","output","cache_read","cache_write","tokens","cache_read_share","uncached_input"],"title":"UsageFigures","description":"Tokens by kind, what they cost, and the two cache figures the console\nshows beside them (`stacktrace` cost-phase-2.md, \"Usage views\")."},"UsagePerson":{"properties":{"cost":{"type":"number","title":"Cost","default":0.0},"input_cost":{"type":"number","title":"Input Cost","default":0.0},"output_cost":{"type":"number","title":"Output Cost","default":0.0},"cache_read_cost":{"type":"number","title":"Cache Read Cost","default":0.0},"cache_write_cost":{"type":"number","title":"Cache Write Cost","default":0.0},"unpriced":{"type":"integer","title":"Unpriced","default":0},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"tokens":{"type":"integer","title":"Tokens"},"input":{"type":"integer","title":"Input","default":0},"output":{"type":"integer","title":"Output","default":0},"cache_read":{"type":"integer","title":"Cache Read","default":0},"cache_write":{"type":"integer","title":"Cache Write","default":0},"models":{"items":{"$ref":"#/components/schemas/UsageSlice"},"type":"array","title":"Models","default":[]},"agents":{"items":{"$ref":"#/components/schemas/UsageSlice"},"type":"array","title":"Agents","default":[]}},"type":"object","required":["key","name","tokens"],"title":"UsagePerson","description":"One of the window's top people: what the chart splits each point by,\nand what they used, by kind, model and agent kind."},"UsagePersonAgent":{"properties":{"person":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person"},"agent_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"},"tokens":{"type":"integer","title":"Tokens"},"cost":{"type":"number","title":"Cost","default":0.0},"unpriced":{"type":"integer","title":"Unpriced","default":0},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","required":["person","agent_kind","tokens"],"title":"UsagePersonAgent","description":"One person on one agent kind: a chart point's slice, or one of the\nwindow's top pairs, which carry the person's name (ADR-0080)."},"UsagePoint":{"properties":{"cost":{"type":"number","title":"Cost","default":0.0},"input_cost":{"type":"number","title":"Input Cost","default":0.0},"output_cost":{"type":"number","title":"Output Cost","default":0.0},"cache_read_cost":{"type":"number","title":"Cache Read Cost","default":0.0},"cache_write_cost":{"type":"number","title":"Cache Write Cost","default":0.0},"unpriced":{"type":"integer","title":"Unpriced","default":0},"start":{"type":"string","format":"date-time","title":"Start"},"tokens":{"type":"integer","title":"Tokens"},"input":{"type":"integer","title":"Input","default":0},"output":{"type":"integer","title":"Output","default":0},"cache_read":{"type":"integer","title":"Cache Read","default":0},"cache_write":{"type":"integer","title":"Cache Write","default":0},"models":{"items":{"$ref":"#/components/schemas/UsageSlice"},"type":"array","title":"Models","default":[]},"agents":{"items":{"$ref":"#/components/schemas/UsageSlice"},"type":"array","title":"Agents","default":[]},"environments":{"items":{"$ref":"#/components/schemas/UsageSlice"},"type":"array","title":"Environments","default":[]},"person_agents":{"items":{"$ref":"#/components/schemas/UsagePersonAgent"},"type":"array","title":"Person Agents","default":[]}},"type":"object","required":["start","tokens"],"title":"UsagePoint"},"UsageResponse":{"properties":{"runs_accepted":{"type":"integer","title":"Runs Accepted"},"buckets_accepted":{"type":"integer","title":"Buckets Accepted"},"figures_accepted":{"type":"integer","title":"Figures Accepted","default":0},"components_accepted":{"type":"integer","title":"Components Accepted","default":0}},"type":"object","required":["runs_accepted","buckets_accepted"],"title":"UsageResponse"},"UsageRow":{"properties":{"cost":{"type":"number","title":"Cost","default":0.0},"input_cost":{"type":"number","title":"Input Cost","default":0.0},"output_cost":{"type":"number","title":"Output Cost","default":0.0},"cache_read_cost":{"type":"number","title":"Cache Read Cost","default":0.0},"cache_write_cost":{"type":"number","title":"Cache Write Cost","default":0.0},"unpriced":{"type":"integer","title":"Unpriced","default":0},"input":{"type":"integer","title":"Input"},"output":{"type":"integer","title":"Output"},"cache_read":{"type":"integer","title":"Cache Read"},"cache_write":{"type":"integer","title":"Cache Write"},"tokens":{"type":"integer","title":"Tokens"},"cache_read_share":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cache Read Share"},"uncached_input":{"type":"integer","title":"Uncached Input"},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"},"agent_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"},"asset_display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Asset Display Name"},"person_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Name"},"runs":{"type":"integer","title":"Runs"},"usual":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Usual"},"usual_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usual Cost"}},"type":"object","required":["input","output","cache_read","cache_write","tokens","cache_read_share","uncached_input","key","runs","usual"],"title":"UsageRow"},"UsageRunFiguresPayload":{"properties":{"run_id":{"type":"string","maxLength":256,"minLength":1,"title":"Run Id"},"repo":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Repo"},"entrypoint":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Entrypoint"},"model":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Model"},"last_activity_at":{"type":"string","format":"date-time","title":"Last Activity At"},"tokens":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Tokens"},"curve":{"items":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0},"type":"array","maxItems":240,"title":"Curve"},"burn":{"items":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0},"type":"array","maxItems":240,"title":"Burn"},"subagents_in_10m":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Subagents In 10M"},"repeats":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Repeats"},"input_per_response":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Input Per Response"},"lowest_cache_share":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Lowest Cache Share"},"cache_rewrites":{"type":"integer","maximum":9007199254740991.0,"minimum":0.0,"title":"Cache Rewrites"},"revision":{"type":"integer","maximum":9007199254740991.0,"minimum":1.0,"title":"Revision"}},"additionalProperties":false,"type":"object","required":["run_id","last_activity_at","tokens","curve","burn","subagents_in_10m","repeats","input_per_response","cache_rewrites","revision"],"title":"UsageRunFiguresPayload","description":"A finished run as its baseline numbers (`stacktrace` ADR-0103): numbers\nonly, with its id, its cohort's names and its time. Never the trace."},"UsageRunPayload":{"properties":{"run_id":{"type":"string","maxLength":256,"minLength":1,"title":"Run Id"},"surface":{"anyOf":[{"type":"string","const":"chatgpt-work"},{"type":"null"}],"title":"Surface"},"repo":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Repo"},"branch":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Branch"},"title":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Title"},"account":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Account"},"revision":{"type":"integer","maximum":9007199254740991.0,"minimum":1.0,"title":"Revision"}},"additionalProperties":false,"type":"object","required":["run_id","revision"],"title":"UsageRunPayload","description":"What names one run (`stacktrace` ADR-0101). No field can hold a prompt,\na path or an email: the title is the session's own, the repo a name, and\nthe account an opaque id."},"UsageSlice":{"properties":{"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"},"tokens":{"type":"integer","title":"Tokens"},"cost":{"type":"number","title":"Cost","default":0.0},"unpriced":{"type":"integer","title":"Unpriced","default":0}},"type":"object","required":["key","tokens"],"title":"UsageSlice","description":"One model's or one person's part of a chart point."},"UsageTopRun":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"run_id":{"type":"string","title":"Run Id"},"surface":{"anyOf":[{"type":"string","const":"chatgpt-work"},{"type":"null"}],"title":"Surface"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"repo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Repo"},"branch":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Branch"},"agent_kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Kind"},"person":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person"},"person_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Person Name"},"models":{"items":{"type":"string"},"type":"array","title":"Models"},"tokens":{"type":"integer","title":"Tokens"},"cost":{"type":"number","title":"Cost","default":0.0},"unpriced":{"type":"integer","title":"Unpriced","default":0},"share":{"type":"number","title":"Share"},"cache_read_share":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cache Read Share"},"first_hour":{"type":"string","format":"date-time","title":"First Hour"},"last_hour":{"type":"string","format":"date-time","title":"Last Hour"}},"type":"object","required":["agent_id","run_id","title","repo","branch","agent_kind","person","person_name","models","tokens","share","cache_read_share","first_hour","last_hour"],"title":"UsageTopRun","description":"One of the window's largest runs: what names it, who ran it, and its\ntokens in the window. The title is the session's own (`stacktrace`\nADR-0101)."},"UsageUpload":{"properties":{"asset_id":{"type":"string","maxLength":512,"minLength":1,"title":"Asset Id"},"agent_kind":{"type":"string","maxLength":512,"minLength":1,"title":"Agent Kind"},"agent_instance_id":{"anyOf":[{"type":"string","maxLength":512,"minLength":1},{"type":"null"}],"title":"Agent Instance Id"},"store_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Store Id"},"stacktrace_version":{"type":"string","maxLength":512,"minLength":1,"title":"Stacktrace Version"},"sent_at":{"type":"string","format":"date-time","title":"Sent At"},"reported_through":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reported Through"},"covered_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Covered From"},"runs":{"items":{"$ref":"#/components/schemas/UsageRunPayload"},"type":"array","maxItems":5000,"title":"Runs"},"buckets":{"items":{"$ref":"#/components/schemas/UsageBucketPayload"},"type":"array","maxItems":20000,"title":"Buckets"},"run_figures":{"items":{"$ref":"#/components/schemas/UsageRunFiguresPayload"},"type":"array","maxItems":5000,"title":"Run Figures"},"components":{"items":{"$ref":"#/components/schemas/UsageComponentPayload"},"type":"array","maxItems":5000,"title":"Components"},"accounts":{"items":{"$ref":"#/components/schemas/AccountCardPayload"},"type":"array","maxItems":5000,"title":"Accounts"}},"additionalProperties":false,"type":"object","required":["asset_id","agent_kind","stacktrace_version","sent_at"],"title":"UsageUpload","description":"One page of one agent's token usage, or a heartbeat with none."},"UsageViewResponse":{"properties":{"window":{"type":"string","enum":["1d","3d","7d","30d"],"title":"Window"},"by":{"type":"string","enum":["person","person_kind","repo","model","agent"],"title":"By"},"time_zone":{"type":"string","title":"Time Zone"},"since":{"type":"string","format":"date-time","title":"Since"},"until":{"type":"string","format":"date-time","title":"Until"},"grain":{"type":"string","enum":["hour","day"],"title":"Grain"},"totals":{"$ref":"#/components/schemas/UsageFigures"},"rows":{"items":{"$ref":"#/components/schemas/UsageRow"},"type":"array","title":"Rows"},"series":{"items":{"$ref":"#/components/schemas/UsagePoint"},"type":"array","title":"Series"},"agents":{"type":"integer","title":"Agents"},"behind":{"type":"integer","title":"Behind"},"truncated":{"type":"boolean","title":"Truncated","default":false},"usual":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Usual"},"usual_day":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Usual Day"},"usual_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usual Cost"},"usual_day_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usual Day Cost"},"usual_by_now":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Usual By Now"},"usual_by_now_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Usual By Now Cost"},"today_scored":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Today Scored"},"today_scored_cost":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Today Scored Cost"},"people":{"type":"integer","title":"People","default":0},"runs":{"type":"integer","title":"Runs","default":0},"agents_used":{"type":"integer","title":"Agents Used","default":0},"top_people":{"items":{"$ref":"#/components/schemas/UsagePerson"},"type":"array","title":"Top People","default":[]},"top_person_agents":{"items":{"$ref":"#/components/schemas/UsagePersonAgent"},"type":"array","title":"Top Person Agents","default":[]},"top_environments":{"items":{"$ref":"#/components/schemas/UsageEnvironment"},"type":"array","title":"Top Environments","default":[]},"top_runs":{"items":{"$ref":"#/components/schemas/UsageTopRun"},"type":"array","title":"Top Runs","default":[]}},"type":"object","required":["window","by","time_zone","since","until","grain","totals","rows","series","agents","behind"],"title":"UsageViewResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"Viewport":{"properties":{"width":{"type":"integer","maximum":20000.0,"minimum":0.0,"title":"Width"},"height":{"type":"integer","maximum":20000.0,"minimum":0.0,"title":"Height"}},"additionalProperties":false,"type":"object","required":["width","height"],"title":"Viewport"}}}}