A valid request URL is required to generate request examples{
"items": [
{
"deviceId": "device_01",
"deviceName": "Test Android",
"platform": "android",
"scope": {
"scopeId": "scope_01",
"label": "Managed Android profile",
"kind": "android_profile",
"effectScopeVerified": true
},
"inventoryRead": {
"state": "supported",
"reason": null
},
"install": {
"state": "supported",
"reason": null
},
"update": {
"state": "unknown",
"reason": "Signature compatibility collection is not confirmed."
},
"uninstall": {
"state": "supported",
"reason": null
},
"updatedAt": "2026-09-30T18:00:00Z"
}
],
"nextCursor": null,
"snapshotId": "snapshot_01",
"snapshotExpiresAt": "2026-09-30T18:05:00Z"
}{
"error": {
"code": "invalid_argument",
"message": "The request could not be accepted. See the error code for the next step.",
"requestId": "req_01",
"field": null,
"retry": "none",
"retryAfterSeconds": null
}
}{
"error": {
"code": "unauthenticated",
"message": "Authenticate before continuing.",
"requestId": "req_01",
"field": null,
"retry": "none",
"retryAfterSeconds": null
}
}{
"error": {
"code": "permission_denied",
"message": "You do not have permission for this action.",
"requestId": "req_01",
"field": null,
"retry": "none",
"retryAfterSeconds": null
}
}{
"error": {
"code": "not_found",
"message": "Resource not found.",
"requestId": "req_01",
"field": null,
"retry": "none",
"retryAfterSeconds": null
}
}{
"error": {
"code": "idempotency_conflict",
"message": "The request could not be accepted. See the error code for the next step.",
"requestId": "req_01",
"field": null,
"retry": "none",
"retryAfterSeconds": null
}
}{
"error": {
"code": "rate_limited",
"message": "The request could not be accepted. See the error code for the next step.",
"requestId": "req_01",
"field": null,
"retry": "same_key_after_delay",
"retryAfterSeconds": 3
}
}{
"error": {
"code": "service_unavailable",
"message": "The request could not be confirmed. Check the original request before continuing.",
"requestId": "req_01",
"field": null,
"retry": "same_key_after_delay",
"retryAfterSeconds": 3
}
}Discover visible devices and authoritative application scopes
Read-only adapter capability projection. No inventory collection, wake, boot, lease acquisition/renewal or device action. Return independent supported/unsupported/unknown for inventoryRead/install/update/uninstall and authoritative scope or null; updatedAt is capability knowledge time only. Invisible devices omitted; explicit invisible deviceId ->404. Clients use non-null authoritative scope to request an inventory refresh; null remains unselectable.
A valid request URL is required to generate request examples{
"items": [
{
"deviceId": "device_01",
"deviceName": "Test Android",
"platform": "android",
"scope": {
"scopeId": "scope_01",
"label": "Managed Android profile",
"kind": "android_profile",
"effectScopeVerified": true
},
"inventoryRead": {
"state": "supported",
"reason": null
},
"install": {
"state": "supported",
"reason": null
},
"update": {
"state": "unknown",
"reason": "Signature compatibility collection is not confirmed."
},
"uninstall": {
"state": "supported",
"reason": null
},
"updatedAt": "2026-09-30T18:00:00Z"
}
],
"nextCursor": null,
"snapshotId": "snapshot_01",
"snapshotExpiresAt": "2026-09-30T18:05:00Z"
}{
"error": {
"code": "invalid_argument",
"message": "The request could not be accepted. See the error code for the next step.",
"requestId": "req_01",
"field": null,
"retry": "none",
"retryAfterSeconds": null
}
}{
"error": {
"code": "unauthenticated",
"message": "Authenticate before continuing.",
"requestId": "req_01",
"field": null,
"retry": "none",
"retryAfterSeconds": null
}
}{
"error": {
"code": "permission_denied",
"message": "You do not have permission for this action.",
"requestId": "req_01",
"field": null,
"retry": "none",
"retryAfterSeconds": null
}
}{
"error": {
"code": "not_found",
"message": "Resource not found.",
"requestId": "req_01",
"field": null,
"retry": "none",
"retryAfterSeconds": null
}
}{
"error": {
"code": "idempotency_conflict",
"message": "The request could not be accepted. See the error code for the next step.",
"requestId": "req_01",
"field": null,
"retry": "none",
"retryAfterSeconds": null
}
}{
"error": {
"code": "rate_limited",
"message": "The request could not be accepted. See the error code for the next step.",
"requestId": "req_01",
"field": null,
"retry": "same_key_after_delay",
"retryAfterSeconds": 3
}
}{
"error": {
"code": "service_unavailable",
"message": "The request could not be confirmed. Check the original request before continuing.",
"requestId": "req_01",
"field": null,
"retry": "same_key_after_delay",
"retryAfterSeconds": 3
}
}Authorizations
The control surface credential. Send Authorization: Bearer <token>.
Two kinds of token are accepted and they are told apart by shape, not by a separate header. A token beginning pbk_ is an org scoped API key, whose public half and secret half are generated together and of which only a hash of the secret is ever stored; anything else is treated as an OAuth 2.1 access token and verified against the authorization server's keys.
Both resolve to the same context: an org, a principal and a set of scopes. Nothing downstream branches on which channel you used, with one deliberate exception, key management, which requires a signed-in person so that a key can never mint another key.
Scopes are enforced when MCP tools are REGISTERED rather than when they are called, so a tool your credential cannot use is absent from tools/list rather than refused mid gesture.
Query Parameters
Opaque org/principal/filter/sort/snapshot-bound cursor. Do not combine with changed filters. 409 cursor_expired requires restart; no hidden mutation.
Bounded by runtime policy.maxPageSize.
1 <= x <= 100Search visible device names/IDs.
200Optional single visible device.
^[A-Za-z0-9][A-Za-z0-9_-]{0,127}$"app_01"