CARM API
Integration documentation
Use the versioned REST API to submit catalogues, run ratings, value assets, and verify certificates.
Quick start
curl -X POST /v1/ratings \
-H "Authorization: Bearer sk_sandbox_..." \
-H "Idempotency-Key: your-unique-operation-id" \
-H "Content-Type: application/json" \
-d '{"catalogue_id":"..."}'Authentication and safety
- Send bearer API keys only from a protected server.
- Keys are workspace-scoped, environment-specific, revocable, and never shown again.
- Use an idempotency key for retryable writes and never log credentials or raw evidence.
Resource lifecycle
- 1. Upsert a workspace-owned catalogue.
- 2. Create an immutable rating snapshot.
- 3. Value that exact rating identifier.
- 4. Request human-reviewed certificate processing.
Errors and versioning
Treat 4xx responses as request or authorization failures and 5xx responses as safely retryable only when the operation supports idempotency. The /v1 path versions the public contract; methodology versions remain independently recorded on results.
Rate limits and webhooks
Respect Retry-After when returned. Sandbox webhook records use HMAC-SHA256, timestamps, delivery IDs, replay-resistant signatures, bounded retry state, and audited manual replay. Outbound delivery requires the approved server-side encryption key; live delivery remains gated.
Catalogue
Upsert a partner-owned catalogue object.
Rating
Receive the CARM score and M/L/T breakdown.
Certificate
Request a human-reviewed, verifiable certificate.
OpenAPI document: /v1/openapi.json