Appearance
Getting started with the CloudERM API
CloudERM has a REST API for connecting your own systems to it: an accounting package, a customer portal, or a script that keeps another system in step. Requests and responses are JSON, and every endpoint lives under one base URL:
https://api.clouderm.com/v1The API reference lists every endpoint, with its parameters, request and response bodies, and a Try it panel.
1. Get a service credential
An integration signs in with a service credential: a key id (cerm_k_…) and a secret (cerm_s_…). A CloudERM org admin creates one under Platform Settings → Service Credentials and chooses the role it acts as. The secret is shown once, so store it somewhere safe straight away. Authentication covers roles, expiry, rotation and revocation.
2. Sign a request
The secret never travels over the network. Instead, each request carries four headers, one of them a signature computed from the request and your secret. Copy one of the signing samples in Authentication (Node, Python or bash), then:
bash
export CLOUDERM_KEY_ID=cerm_k_...
export CLOUDERM_SECRET=cerm_s_...
node sign.mjs GET /v1/platform/facilitiesIt prints the four x-clouderm-… headers for that request.
3. Call an endpoint
Send the request with those headers. With the bash sample and curl:
bash
headers=()
while IFS= read -r line; do headers+=(-H "$line"); done \
< <(./sign.sh GET /v1/platform/facilities)
curl "https://api.clouderm.com/v1/platform/facilities" "${headers[@]}"You get back the organization's facilities as JSON. If you get a 401, the message says why: Unauthorized means the signature wasn't accepted, and Not Authorized. Needs Permissions PLATFORM_FACILITY_VIEW means the credential's role lacks that permission. See Authentication.
Next
- Authentication: credentials, roles, and how signing works.
- Trying requests in the docs: use Try it with your own login.
- Errors and pagination: the error format and paging lists.
- Changelog: changes to the API and to these docs.
The reference leaves out routes an integration can't use, such as the web app's own sign-in and password screens. The complete raw specification, including those staff-only and app-internal routes, is at api.clouderm.com/docs/openapi.json.