CriticalArc SafeZone API
Operations are grouped by tag; each tag describes its area.
Responses
A successful response is an envelope carrying the payload in data. An error is RFC 9457 application/problem+json: branch on type, and read errors for per-field validation messages. Every response carries a request_id — quote it in support requests.
Authentication
Send a JWT bearer token. An operation you hold no permission for answers 403.
Pagination
A paged response carries its rows in items. Where more remains it also carries a next_cursor: send that back as the request's cursor to read the next page, leaving the rest of the request as you first sent it, because a cursor is bound to the request that produced it. A response with no next_cursor is the last page. A .../list operation takes its filters in the body — send {} for the first page of everything, and max to size the page.
Machine-readable metadata
Every operation declares an x-safety block — whether it mutates, how it is reversed, what it causes beyond the record it writes, and what its response discloses — against the vocabulary in x-safety-contract at the root of this document, and an x-permissions block naming the permissions it needs. Automated callers should gate on both.
Set {subdomain} to your tenant's subdomain CNAME (e.g. eastuniversity) or an explicit region (sz-au, sz-uk, sz-us). Avoid the geo-routing alias "safezone": it resolves to the nearest region, which may not host your tenant. Every request then fails with 403 urn:criticalarc:problems:wrong-region, whose host member carries the base URI to send it to.
Asset History (Collapsed)
Time-ranged asset history, point-in-time snapshots, and per-region presence-duration reports.
Assets (Collapsed)
Tracked assets: lookup, search, create/update, location, status and type.
- post/api/v2/safezones/{safezone_id}/assets/list
- get/api/v2/safezones/{safezone_id}/assets/{asset_id}
- put/api/v2/safezones/{safezone_id}/assets/{asset_id}
- get/api/v2/safezones/{safezone_id}/assets/desktop-computers/{desktop_computer_id}/location
- put/api/v2/safezones/{safezone_id}/assets/{asset_id}/location
- put/api/v2/safezones/{safezone_id}/assets/{asset_id}/status
Notifications (Collapsed)
Sending a notification and searching what a SafeZone has sent, with the per-notification delivery report; and the templates, categories, tokens and subscription groups a notification is composed and addressed from.
Short Links (Collapsed)
Following a short link to whatever it stands for.
User Credentials (Collapsed)
Email address, password reset, email verification, SAML/SSO identity linking, and restricted-token issuance.
- put/api/v2/safezones/{safezone_id}/users/{user_id}/email
- put/api/v2/safezones/{safezone_id}/users/{user_id}/saml-identities
- delete/api/v2/safezones/{safezone_id}/users/{user_id}/saml-identities
- put/api/v2/safezones/{safezone_id}/users/{user_id}/msal-identities
- delete/api/v2/safezones/{safezone_id}/users/{user_id}/msal-identities
User Groups (Collapsed)
User groups and group membership.
- post/api/v2/safezones/{safezone_id}/user-groups/list
- get/api/v2/safezones/{safezone_id}/user-groups/{group_id}
- put/api/v2/safezones/{safezone_id}/user-groups/{group_id}
- delete/api/v2/safezones/{safezone_id}/user-groups/{group_id}
- put/api/v2/safezones/{safezone_id}/user-groups/{group_id}/users/{user_id}
- delete/api/v2/safezones/{safezone_id}/user-groups/{group_id}/users/{user_id}
User Images (Collapsed)
User profile photos.
User Roles (Collapsed)
Reading, granting and revoking a user's roles.
User States (Collapsed)
User status and lifecycle transitions: enable/disable, protect and soft-delete/restore.
- post/api/v2/safezones/{safezone_id}/users/{user_id}/disable
- post/api/v2/safezones/{safezone_id}/users/{user_id}/enable
- post/api/v2/safezones/{safezone_id}/users/{user_id}/soft-delete
- post/api/v2/safezones/{safezone_id}/users/{user_id}/restore
- post/api/v2/safezones/{safezone_id}/users/{user_id}/protect
- post/api/v2/safezones/{safezone_id}/users/{user_id}/unprotect
Users (Collapsed)
User records: lookup, search, profiles, creation and deletion, invites, sign-up, sign-in status and statistics.
- get/api/v2/safezones/{safezone_id}/users/{user_id}
- delete/api/v2/safezones/{safezone_id}/users/{user_id}
- post/api/v2/safezones/{safezone_id}/users/list
- get/api/v2/safezones/{safezone_id}/users/{user_id}/profile
- put/api/v2/safezones/{safezone_id}/users/{user_id}/profile
- post/api/v2/safezones/{safezone_id}/users
Utility (Collapsed)
Service liveness probe and phone-number metadata helpers.