{"openapi":"3.1.0","info":{"title":"CapaOne MCP API","description":"Read-only access to your CapaOne organization for scripts, integrations and AI agents. Authenticate every request with an organization API key in the `X-Api-Key` header. The guides are in the [CapaOne documentation](https://docs.capaone.com/capaone/mcp-and-api/).","version":"v1.0"},"servers":[{"url":"https://mcp.capaone.com"}],"security":[{"ApiKey":[]}],"paths":{"/api/organizations/{orgIds}/mcp/organization":{"get":{"tags":["mcp"],"summary":"Get your organization","description":"The organization the API key belongs to: its ID, its name and the products it has an active contract for.","operationId":"getOrganization","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dash_McpOrganization"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/fleet/vulnerabilities":{"get":{"tags":["mcp"],"summary":"Get the vulnerability summary","description":"The latest nightly vulnerability scan: distinct CVEs by severity (`totalCritical` is CVSS 9.0 or higher), new, gone and persistent CVEs since the scan before, exploited CVEs, and exposed, scanned and secure endpoints. 204 when the organization has not been scanned yet. Requires the Security contract.","operationId":"getVulnerabilitySummary","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/fleet/vulnerabilities/top":{"get":{"tags":["mcp"],"summary":"Get the most severe CVEs","description":"The CVEs found in your organization with the highest CVSS score, highest first, with their description, publication date and, for known exploited CVEs, the CISA name and required action. Requires the Security contract.","operationId":"getTopVulnerabilities","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"limit","in":"query","description":"How many CVEs, at most 200.","required":false,"schema":{"type":"integer","format":"int32","default":20},"example":20}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/fleet/vulnerabilities/history":{"get":{"tags":["mcp"],"summary":"Get vulnerability history","description":"The last 30 nightly vulnerability scans, newest first, with the same fields as the summary. Requires the Security contract.","operationId":"getVulnerabilityHistory","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/fleet/vulnerabilities/changes/{change}":{"get":{"tags":["mcp"],"summary":"Get the CVEs behind the latest scan's changes","description":"The CVEs the latest nightly scan found `new`, `gone` or `persist`ing since the scan before, highest CVSS first, with their description. `total` is the size of the whole set. 204 when the organization has not been scanned yet. Requires the Security contract.","operationId":"getVulnerabilityChanges","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"change","in":"path","description":"Which change.","required":true,"schema":{"type":"string","enum":["new","gone","persist"]}},{"name":"limit","in":"query","description":"How many CVEs, at most 200.","required":false,"schema":{"type":"integer","format":"int32","default":50},"example":50}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/fleet/software-compliance":{"get":{"tags":["mcp"],"summary":"Get software patch compliance per application","description":"Per CapaPack application, how many devices have it up to date (`compliantCount`) and how many do not (`nonCompliantCount`: update available, restart required, installing or failed), most non-compliant first. With `status`, instead the number of devices per application with patches in that state (`deviceCount`), e.g. `failed` for the applications failing to install.","operationId":"getSoftwareCompliance","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"status","in":"query","description":"Count devices per application with patches in this state.","required":false,"schema":{"type":"string","enum":["available","pending","failed","upToDate"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/fleet/security/{area}":{"get":{"tags":["mcp"],"summary":"Get the security posture of one area","description":"How many devices score `good`, `fair` or `poor` on one Windows security area, and `none` for devices that have not reported it. For `software` and `drivers`: how many devices are `updated` and `outdated`. Requires the Security contract; `software` also accepts the Application Manager contract.","operationId":"getSecurityPosture","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"area","in":"path","description":"The security area.","required":true,"schema":{"type":"string","enum":["antivirus","encryption","firewall","windowsUpdate","pendingReboot","software","drivers"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/fleet/patch-compliance":{"get":{"tags":["mcp"],"summary":"Get current patch compliance","description":"Device count, how many devices are software-patch compliant, and patch queue totals, computed now.","operationId":"getPatchCompliance","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/fleet/patch-compliance/history":{"get":{"tags":["mcp"],"summary":"Get patch compliance history","description":"Patch compliance snapshots, oldest first, taken four times a day. Same fields as current patch compliance, so two dates can be compared. Default: the last 30 days.","operationId":"getPatchComplianceHistory","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"from","in":"query","description":"First day, ISO-8601 date.","required":false,"schema":{"type":"string","format":"date"},"example":"2026-09-07"},{"name":"to","in":"query","description":"Last day, ISO-8601 date.","required":false,"schema":{"type":"string","format":"date"},"example":"2026-09-14"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/dash_PatchComplianceSnapshot"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/fleet/os":{"get":{"tags":["mcp"],"summary":"Get the operating system distribution","description":"How many devices run each operating system and version, e.g. `Windows 11 Pro` / `Release 25H2 (…)`. `subName` is the version; `y` the number of devices.","operationId":"getOsDistribution","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dash_PieChart"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/events/{severity}/sources":{"get":{"tags":["mcp"],"summary":"Count Windows events by source","description":"The number of events of one severity per event source in a window, e.g. `Application Error` or `Microsoft-Windows-Kernel-Power`. Organization-wide, or one device with `deviceId`. Narrow by `eventId` to see which sources report a given event ID, or set `byEventId` to count each source's event IDs separately.","operationId":"getEventSources","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"severity","in":"path","description":"Event severity.","required":true,"schema":{"type":"string","enum":["CRITICAL","ERROR","WARNING","INFORMATIONAL"]}},{"name":"since","in":"query","description":"Start of the window, ISO-8601. Default: 7 days ago.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-07T00:00:00Z"},{"name":"until","in":"query","description":"End of the window, ISO-8601. Default: now.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-14T00:00:00Z"},{"name":"deviceId","in":"query","description":"Only this device: its `id` from Search devices.","required":false,"schema":{"type":"string"},"example":"65f1c0a2e4b0a1b2c3d4e5f6"},{"name":"logType","in":"query","description":"Only this log.","required":false,"schema":{"type":"string","enum":["Application","System"]}},{"name":"source","in":"query","description":"Only these event sources, e.g. `Application Error`.","required":false,"schema":{"type":"array","default":[],"items":{"type":"string"},"uniqueItems":true}},{"name":"eventId","in":"query","description":"Only these event IDs, e.g. `1000`.","required":false,"schema":{"type":"array","default":[],"items":{"type":"integer","format":"int32"},"uniqueItems":true}},{"name":"byEventId","in":"query","description":"One row per source and event ID instead of per source; the event ID is in `subName`.","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dash_PieChart"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/events/{severity}/list":{"get":{"tags":["mcp"],"summary":"List Windows events","description":"The events of one severity reported in a window, newest first: time (`timestamp`, epoch ms), device, event ID, source and the event's description. Organization-wide, or one device with `deviceId`. `rowCount` is how many matched in all.","operationId":"listEvents","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"severity","in":"path","description":"Event severity.","required":true,"schema":{"type":"string","enum":["CRITICAL","ERROR","WARNING","INFORMATIONAL"]}},{"name":"since","in":"query","description":"Start of the window, ISO-8601. Default: 7 days ago.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-07T00:00:00Z"},{"name":"until","in":"query","description":"End of the window, ISO-8601. Default: now.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-14T00:00:00Z"},{"name":"deviceId","in":"query","description":"Only this device: its `id` from Search devices.","required":false,"schema":{"type":"string"},"example":"65f1c0a2e4b0a1b2c3d4e5f6"},{"name":"logType","in":"query","description":"Only this log.","required":false,"schema":{"type":"string","enum":["Application","System"]}},{"name":"source","in":"query","description":"Only these event sources, e.g. `Application Error`.","required":false,"schema":{"type":"array","default":[],"items":{"type":"string"},"uniqueItems":true}},{"name":"eventId","in":"query","description":"Only these event IDs, e.g. `1000`.","required":false,"schema":{"type":"array","default":[],"items":{"type":"integer","format":"int32"},"uniqueItems":true}},{"name":"pageNumber","in":"query","description":"Page number, starting at 1","required":false,"schema":{"type":"integer","minimum":1}},{"name":"pageSize","in":"query","description":"Number of records per page","required":false,"schema":{"type":"integer","minimum":1}},{"name":"orderBy","in":"query","description":"Sort field and direction, e.g. name,asc or name,desc","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dash_MongoEventTableData"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/events/{severity}/devices":{"get":{"tags":["mcp"],"summary":"Get the devices with the most Windows events","description":"Per device, how many events of one severity it reported in a window, split into Application and System logs, most events first. Narrow by log, source or event ID, e.g. event 41 for the devices with unexpected shutdowns.","operationId":"getEventDevices","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"severity","in":"path","description":"Event severity.","required":true,"schema":{"type":"string","enum":["CRITICAL","ERROR","WARNING","INFORMATIONAL"]}},{"name":"since","in":"query","description":"Start of the window, ISO-8601. Default: 7 days ago.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-07T00:00:00Z"},{"name":"until","in":"query","description":"End of the window, ISO-8601. Default: now.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-14T00:00:00Z"},{"name":"logType","in":"query","description":"Only this log.","required":false,"schema":{"type":"string","enum":["Application","System"]}},{"name":"source","in":"query","description":"Only these event sources, e.g. `Application Error`.","required":false,"schema":{"type":"array","default":[],"items":{"type":"string"},"uniqueItems":true}},{"name":"eventId","in":"query","description":"Only these event IDs, e.g. `1000`.","required":false,"schema":{"type":"array","default":[],"items":{"type":"integer","format":"int32"},"uniqueItems":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/dash_AgentTable"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/events/{severity}/count":{"get":{"tags":["mcp"],"summary":"Count Windows events","description":"How many events of one severity were reported in a window, split into Application and System logs, and how many devices reported them. Organization-wide, or one device with `deviceId`. Only the events the CapaOne Experience Monitor collects are available.","operationId":"getEventCount","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"severity","in":"path","description":"Event severity.","required":true,"schema":{"type":"string","enum":["CRITICAL","ERROR","WARNING","INFORMATIONAL"]}},{"name":"since","in":"query","description":"Start of the window, ISO-8601. Default: 7 days ago.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-07T00:00:00Z"},{"name":"until","in":"query","description":"End of the window, ISO-8601. Default: now.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-14T00:00:00Z"},{"name":"deviceId","in":"query","description":"Only this device: its `id` from Search devices.","required":false,"schema":{"type":"string"},"example":"65f1c0a2e4b0a1b2c3d4e5f6"},{"name":"logType","in":"query","description":"Only this log.","required":false,"schema":{"type":"string","enum":["Application","System"]}},{"name":"source","in":"query","description":"Only these event sources, e.g. `Application Error`.","required":false,"schema":{"type":"array","default":[],"items":{"type":"string"},"uniqueItems":true}},{"name":"eventId","in":"query","description":"Only these event IDs, e.g. `1000`.","required":false,"schema":{"type":"array","default":[],"items":{"type":"integer","format":"int32"},"uniqueItems":true}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dash_EventCountData"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/events/values/{field}":{"get":{"tags":["mcp"],"summary":"Look up values for an event filter","description":"The distinct event sources, event IDs or logs devices reported in a window, to use as exact `source`, `eventId` or `logType` values in the event endpoints.","operationId":"getEventValues","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"field","in":"path","description":"Which values.","required":true,"schema":{"type":"string","enum":["source","eventId","logType"]}},{"name":"since","in":"query","description":"Start of the window, ISO-8601. Default: 7 days ago.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-07T00:00:00Z"},{"name":"until","in":"query","description":"End of the window, ISO-8601. Default: now.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-14T00:00:00Z"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/elevations/aggregate":{"get":{"tags":["mcp"],"summary":"Count elevations per user or process","description":"Admin On Demand elevations in a window, organization-wide. `groupBy=user`: per user, approved and rejected elevations, sessions included. `groupBy=process`: per process, how often it was run elevated. `categories` are the users or processes, `series` the counts in the same order. Requires the Privilege contract.","operationId":"getElevationAggregate","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"groupBy","in":"query","description":"What to count per.","required":true,"schema":{"type":"string","enum":["user","process"]}},{"name":"since","in":"query","description":"Start of the window, ISO-8601. Default: 30 days ago.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-07T00:00:00Z"},{"name":"until","in":"query","description":"End of the window, ISO-8601. Default: now.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-10-07T00:00:00Z"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dash_AODChart"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/device/{deviceId}":{"get":{"tags":["mcp"],"summary":"Get a device","description":"One device's details: name, operating system, agent, status, tags, users, and patch and driver compliance. Use the `id` Search devices returns.","operationId":"getDevice","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"deviceId","in":"path","description":"The device's `id`, from Search devices.","required":true,"schema":{"type":"string"},"example":"65f1c0a2e4b0a1b2c3d4e5f6"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/device/{deviceId}/patches/{kind}":{"get":{"tags":["mcp"],"summary":"Get a device's patches","description":"One device's patch queue. `software`: CapaPacks and repository apps with their status (e.g. `Update Available`, `Failed Install`), including every CapaPack not installed on it. `driver`: the device's driver pack and the driver updates it is missing. `custom`: the custom applications assigned to it and their install status.","operationId":"getDevicePatches","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"deviceId","in":"path","description":"The device's `id`, from Search devices.","required":true,"schema":{"type":"string"},"example":"65f1c0a2e4b0a1b2c3d4e5f6"},{"name":"kind","in":"path","description":"Which patches.","required":true,"schema":{"type":"string","enum":["software","driver","custom"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/device/{deviceId}/inventory/{inventory}":{"get":{"tags":["mcp"],"summary":"Get a device inventory","description":"The latest hardware, software, driver, security, user or custom inventory the device reported. Inventories grouped by category (e.g. hardware: Processors, Disks; security: Antivirus, Firewall) come back in `dictionaries`, keyed by category; flat ones (e.g. software) in `dictionary`. Custom inventory is the data the organization's own scripts have written on the device, always grouped by category; each item's `Instance` names it.","operationId":"getDeviceInventory","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"deviceId","in":"path","description":"The device's `id`, from Search devices.","required":true,"schema":{"type":"string"},"example":"65f1c0a2e4b0a1b2c3d4e5f6"},{"name":"inventory","in":"path","description":"Which inventory.","required":true,"schema":{"type":"string","enum":["hardware","software","driver","security","user","custom"]}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/device/{deviceId}/elevations":{"get":{"tags":["mcp"],"summary":"Get a device's elevations","description":"One device's Admin On Demand log in a window, newest first: who elevated or was refused, which process or installer (`source`), and when (`timestamp`, epoch ms). Requires the Privilege contract.","operationId":"getDeviceElevations","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"deviceId","in":"path","description":"The device's `id`, from Search devices.","required":true,"schema":{"type":"string"},"example":"65f1c0a2e4b0a1b2c3d4e5f6"},{"name":"since","in":"query","description":"Start of the window, ISO-8601. Default: 30 days ago.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-09-07T00:00:00Z"},{"name":"until","in":"query","description":"End of the window, ISO-8601. Default: now.","required":false,"schema":{"type":"string","format":"date-time"},"example":"2026-10-07T00:00:00Z"},{"name":"logType","in":"query","description":"Only this log type.","required":false,"schema":{"type":"string","enum":["Elevation","Rejected by Elevation Rule","Rejected by Validation","Session Elevation Started","Session Rejected by Validation","Session Elevation Unlimited Started","Install","Uninstall"]}},{"name":"pageNumber","in":"query","description":"Page number, starting at 1","required":false,"schema":{"type":"integer","minimum":1}},{"name":"pageSize","in":"query","description":"Number of records per page","required":false,"schema":{"type":"integer","minimum":1}},{"name":"orderBy","in":"query","description":"Sort field and direction, e.g. name,asc or name,desc","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/device/{deviceId}/configurations":{"get":{"tags":["mcp"],"summary":"Get a device's configurations","description":"The configurations linked to one device, directly or through a group: `name`, `type`, how it is linked (`linkingMethod`) and whether it is the one in effect (`active`). Narrow to one configuration type with `type`.","operationId":"getDeviceConfigurations","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"deviceId","in":"path","description":"The device's `id`, from Search devices.","required":true,"schema":{"type":"string"},"example":"65f1c0a2e4b0a1b2c3d4e5f6"},{"name":"type","in":"query","description":"Only configurations of this type, e.g. `AdminOnDemand`.","required":false,"schema":{"type":"string","default":""},"example":"AdminOnDemand"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/device/search":{"get":{"tags":["mcp"],"summary":"Search devices","description":"Lists the organization's devices, optionally filtered with a structured `$filterV2` document. `pageSize` is 25 by default and at most 200; page through with `pageNumber`, and read `totalElements` for how many match. With `projection`, each device is its `id` plus exactly those fields, e.g. `hardwareInventory.Computer.Model`; inventory fields come back as a list, one value per disk, battery or application. With conditions on that inventory in every `anyOf` group, only the rows the filter matched; software and driver fields need such a filter. `orderBy` takes any field `$filterV2` accepts; any other is refused.","operationId":"searchDevices","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"filter","in":"query","description":"A URL-encoded `$filterV2` JSON document. Omit it to list every device.","required":false,"schema":{"type":"string","default":"{}"},"example":"{\"$filterV2\":{\"anyOf\":[{\"allOf\":[{\"field\":\"online\",\"operator\":\"EQ\",\"values\":[\"true\"]}]}]}}"},{"name":"projection","in":"query","description":"Return only these fields per device, plus `id`: any field `$filterV2` accepts, at most 20. A software or driver field needs a condition on that inventory in every `anyOf` group, which picks the rows it returns. Omit for the default device summary.","required":false,"schema":{"type":"array","items":{"type":"string"}},"example":"name,motherboardSerial,hardwareInventory.Computer.Model"},{"name":"pageNumber","in":"query","description":"Page number, starting at 1","required":false,"schema":{"type":"integer","minimum":1}},{"name":"pageSize","in":"query","description":"Number of records per page","required":false,"schema":{"type":"integer","minimum":1}},{"name":"orderBy","in":"query","description":"Sort field and direction, e.g. name,asc or name,desc","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dash_PageObject"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/device/group-by":{"get":{"tags":["mcp"],"summary":"Group devices by a field","description":"How many devices have each value of one field, most devices first: e.g. each computer model, operating system version or agent version, across every device or those a `$filterV2` filter matches. Of an inventory, only the rows the filter matched count, so `softwareInventory.Version` with a filter on `softwareInventory.Name` gives the versions of that application. A device counts once per value. The values are exact, for use in Search devices' filter. `pageSize` is 25 groups by default and at most 100.","operationId":"groupDevices","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}},{"name":"field","in":"query","description":"The field to group by: any field `$filterV2` accepts.","required":true,"schema":{"type":"string"},"example":"hardwareInventory.Computer.Model"},{"name":"filter","in":"query","description":"A URL-encoded `$filterV2` JSON document. Omit it to group every device.","required":false,"schema":{"type":"string"},"example":"{\"$filterV2\":{\"anyOf\":[{\"allOf\":[{\"field\":\"softwareInventory.Name\",\"operator\":\"EQ\",\"values\":[\"TeamViewer\"]}]}]}}"},{"name":"pageNumber","in":"query","description":"Page number, starting at 1","required":false,"schema":{"type":"integer","minimum":1}},{"name":"pageSize","in":"query","description":"Number of records per page","required":false,"schema":{"type":"integer","minimum":1}},{"name":"orderBy","in":"query","description":"Sort field and direction, e.g. name,asc or name,desc","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/dash_DeviceGroups"}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/api/organizations/{orgIds}/mcp/customInventory/fields":{"get":{"tags":["mcp"],"summary":"List the custom inventory fields","description":"The custom inventory fields the organization's devices report - data its own scripts write - by category, each with its `path`, `type`, `unit` and how many `devices` report it. A field's `path` is what a `$filterV2` condition, `projection` or Group devices' `field` names, e.g. `customInventory.Office.City`; a value with a unit is filtered on its `.value`, in the unit given. The list is updated every hour, so a field a device reports for the first time is listed within an hour.","operationId":"getCustomInventoryFields","parameters":[{"name":"orgIds","in":"path","description":"Your organization ID. An API key belongs to exactly one organization.","required":true,"schema":{"type":"integer","format":"int32","example":123456}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/dash_CustomInventoryField"}}}}},"400":{"description":"Bad Request","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}},"401":{"description":"The `X-Api-Key` header is missing, or the key is unknown, expired or revoked."},"403":{"description":"The key is valid, but the organization in the path is not the key's organization, or it has no active contract."},"429":{"description":"Rate limited. Wait the number of seconds in `Retry-After` when present, otherwise back off exponentially.","headers":{"Retry-After":{"description":"Seconds to wait before retrying.","schema":{"type":"integer"}}}},"500":{"description":"Internal Server Error","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}}},"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"X-Api-Key","description":"An organization API key: 64 hexadecimal characters."}},"schemas":{"dash_CustomInventoryField":{"type":"object","properties":{"category":{"type":"string","description":"The category","example":"Demo Installations"},"field":{"type":"string","description":"The field","example":"Installer Size"},"path":{"type":"string","description":"The field a filter names, e.g. customInventory.Demo Installations.Installer Size.value"},"type":{"type":"string","description":"What a value of the field is","enum":["STRING","NUMBER","BOOLEAN","DATE","ID"]},"unit":{"type":["string","null"],"description":"The unit of the values, e.g. bytes, when they have one"},"devices":{"type":"integer","format":"int64","description":"How many devices report the field"}}},"dash_DeviceGroups":{"type":"object","properties":{"field":{"type":"string","description":"The field the devices are grouped by.","example":"hardwareInventory.Computer.Model"},"devices":{"type":"integer","format":"int64","description":"How many devices the filter matched. A device with several values is in several groups and one with none in no group, so the groups need not add up to this.","example":412},"totalGroups":{"type":"integer","format":"int64","description":"How many groups there are in all: one per distinct value.","example":12},"groups":{"type":"array","description":"This page of groups, most devices first.","items":{"$ref":"#/components/schemas/dash_Group"}}}},"dash_Group":{"type":"object","properties":{"value":{"description":"One value of the field.","example":"ThinkPad T16 Gen 4"},"devices":{"type":"integer","format":"int64","description":"How many devices have it.","example":41}}},"dash_PageObject":{"type":"object","properties":{"totalElements":{"type":"integer","format":"int64"},"totalPages":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"},"content":{"type":"array","items":{}},"number":{"type":"integer","format":"int32"},"sort":{"$ref":"#/components/schemas/dash_SortObject"},"pageable":{"$ref":"#/components/schemas/dash_PageableObject"},"numberOfElements":{"type":"integer","format":"int32"},"first":{"type":"boolean"},"last":{"type":"boolean"},"empty":{"type":"boolean"}}},"dash_PageableObject":{"type":"object","properties":{"offset":{"type":"integer","format":"int64"},"unpaged":{"type":"boolean"},"sort":{"$ref":"#/components/schemas/dash_SortObject"},"paged":{"type":"boolean"},"pageNumber":{"type":"integer","format":"int32"},"pageSize":{"type":"integer","format":"int32"}}},"dash_SortObject":{"type":"object","properties":{"empty":{"type":"boolean"},"unsorted":{"type":"boolean"},"sorted":{"type":"boolean"}}},"dash_AODChart":{"type":"object","properties":{"period":{"$ref":"#/components/schemas/dash_Period"},"categories":{"type":"array","items":{"type":"string"}},"toolboxPeriod":{"type":"array","items":{"$ref":"#/components/schemas/dash_ToolboxPeriod"}},"series":{"type":"array","items":{}}}},"dash_ToolboxPeriod":{"type":"object","properties":{"start":{"type":"string"},"end":{"type":"string"}}},"dash_Period":{"type":"object","properties":{"start":{"type":"integer","format":"int64"},"end":{"type":"integer","format":"int64"}}},"dash_EventCountData":{"type":"object","properties":{"application":{"type":"integer","format":"int32"},"system":{"type":"integer","format":"int32"},"affectedDevices":{"type":"integer","format":"int32"}}},"dash_AgentTable":{"type":"object","properties":{"mongoId":{"type":"string"},"deviceName":{"type":"string"},"events":{"$ref":"#/components/schemas/dash_Events"}}},"dash_Events":{"type":"object","properties":{"application":{"type":"integer","format":"int32"},"system":{"type":"integer","format":"int32"}}},"dash_MongoEventTableData":{"type":"object","properties":{"period":{"$ref":"#/components/schemas/dash_Period"},"rowCount":{"type":"integer","format":"int64"},"data":{"type":"array","items":{"$ref":"#/components/schemas/dash_EventTableData"}}}},"dash_EventTableData":{"type":"object","properties":{"timestamp":{"type":"integer","format":"int64"},"deviceName":{"type":"string"},"mongoId":{"type":"string"},"event":{"type":"integer","format":"int32"},"source":{"type":"string"},"description":{"type":"string"},"level":{"type":"string"}}},"dash_PieChart":{"type":"object","properties":{"period":{"$ref":"#/components/schemas/dash_Period"},"data":{"type":"array","items":{"$ref":"#/components/schemas/dash_PieChartData"}}}},"dash_PieChartData":{"type":"object","properties":{"name":{"type":"string"},"subName":{"type":"string"},"y":{"type":"number"}}},"dash_PatchComplianceSnapshot":{"type":"object","properties":{"orgId":{"type":"integer","format":"int32"},"timestamp":{"type":"string","format":"date-time"},"year":{"type":"integer","format":"int32"},"month":{"type":"integer","format":"int32"},"day":{"type":"integer","format":"int32"},"hour":{"type":"integer","format":"int32"},"totalDevices":{"type":"integer","format":"int32"},"compliantDevices":{"type":"integer","format":"int32"},"nonCompliantDevices":{"type":"integer","format":"int32"},"compliancePercentage":{"type":"number","format":"double"},"totalPatchCount":{"type":"integer","format":"int32"},"totalFailedPatchCount":{"type":"integer","format":"int32"},"totalAvailableUpdates":{"type":"integer","format":"int32"},"totalInstalledToday":{"type":"integer","format":"int32"},"totalUpToDate":{"type":"integer","format":"int32"},"totalPendingPatches":{"type":"integer","format":"int32"},"totalInProgressPatches":{"type":"integer","format":"int32"},"totalFailedPatches":{"type":"integer","format":"int32"},"notUpToDate":{"type":"integer","format":"int32"},"patchPercentage":{"type":"number","format":"double"}}},"dash_McpOrganization":{"type":"object","properties":{"orgId":{"type":"integer","format":"int32","example":123456},"name":{"type":"string","example":"Acme Inc."},"products":{"type":"array","description":"The product lines the organization has an active contract for.","items":{"type":"string"}}}}}},"tags":[{"name":"mcp","description":"Search the devices in your organization, group them by a field, and read one device's details, inventories and configurations. Authenticate with an organization API key in the X-Api-Key header."}]}