Operations API

Enterprise

Roles, user administration, and a tamper-evident history for every document.

Contents
GET/enterprise/me/access
GET/enterprise/roles
GET/enterprise/users
PATCH/enterprise/users/{uid}/role
PATCH/enterprise/users/{uid}/active
POST/enterprise/users/{uid}/scrub

GET /enterprise/me/access is the call to make on load: it returns what the current session may do, so a client renders from the server's answer rather than from its own copy of the rules.

Document history#

On enterprise organizations every create and modification of a document is stamped with the acting user and chained into a ledger. That is what makes a signed test report defensible months later: not that it exists, but that its history can be shown not to have been rewritten.

GET/enterprise/documents/{entity_type}/{entity_id}/history
GET/enterprise/documents/{entity_type}/{entity_id}/verify
GET/enterprise/ledger

/verify recomputes the chain and reports whether it is intact. /history lists the entries. /ledger is the organization-wide view.

/scrub is a data-subject erasure, not a deactivation

To stop someone signing in, set active to false. That is reversible and leaves their history attributable. /scrub removes personal data and is not reversible. The two are separate endpoints so that neither can be reached by accident from the other's client code.