CRMS has an HTTP interface under /crms. Through it, applications render reports, a template editor works on templates, and authorized people read, verify and erase final documents.
The interface itself decides almost nothing. CIAS says who is asking. The CRMS modules decide what this person may do, based on their roles. Every error comes back in the same shape, with a key instead of a sentence.
- The endpoints: all routes and who may call them
- The roles: which role allows what and where CRMS gets it from
- The error answer: the one shape, keys and status codes
- The client for a separate service:
crms-client, when CRMS does not run embedded