API reference
Configuration
5 operations in this area of the contract. Every one declares the permission it requires.
Contract version 0.2.0All areas
Operations
/v1/config/documents/{key}Propose a configuration change
Validates the payload against the key's registered JSON Schema before anything is written, then routes it through maker-checker if the schema requires approval.
This is the Phase 0 proof that configuration-over-code and four-eyes hold together: a threshold change is data, it is validated, it needs a second pair of eyes, and both the proposal and the decision land in the audit chain.
Show parameters and responsesHide parameters and responses
Parameters
| Name | In | Type | Description |
|---|---|---|---|
keyrequired | path | string | A configuration key such as `monitoring.thresholds`. |
Responses
201Proposal recorded. `approval` is present when the key requires four-eyes; when it does not, the document is already active.object400—422—
/v1/config/documents/{key}/versionsVersion history for a configuration key
Documents are immutable, so this answers "what was the threshold on 12 March" directly rather than by reconstructing it from the audit trail.
Show parameters and responsesHide parameters and responses
Parameters
| Name | In | Type | Description |
|---|---|---|---|
keyrequired | path | string | A configuration key such as `monitoring.thresholds`. |
limit | query | integer | Page size, capped at 200. |
cursor | query | string | Opaque keyset cursor from a previous response. Offset pagination is deliberately not offered: `OFFSET 500000` is a table scan, and if it were offered it would be used (ADR-0012). Only the collections that document this parameter can be resumed. The rest report `truncated: true` and refuse a cursor rather than silently returning the first page again — see the `truncated` field on the page schemas. |
Responses
200Versions, newest firstConfigDocumentPage
/v1/config/effectiveThe whole effective configuration, with provenance
Show parameters and responsesHide parameters and responses
Responses
200Effective configuration keyed by configuration keyobject
/v1/config/effective/{key}The effective value for one key
Returns the value and where it came from - the tenant's own override or the content-pack default. Provenance is not decoration: when an examiner asks why an alert fired at one threshold rather than another, the answer requires knowing which layer supplied the number and who approved it.
Show parameters and responsesHide parameters and responses
Parameters
| Name | In | Type | Description |
|---|---|---|---|
keyrequired | path | string | A configuration key such as `monitoring.thresholds`. |
Responses
200Effective valueResolvedConfig404—
/v1/config/schemasThe configurable surface
Every key a compliance administrator may change, with its JSON Schema and whether it requires four-eyes. This endpoint is what makes BRD §7.2 auditable: what is configurable is data returned by the API, not a claim in a document.
Show parameters and responsesHide parameters and responses
Parameters
| Name | In | Type | Description |
|---|---|---|---|
category | query | risk | monitoring | screening | workflow | onboarding | reporting | iam | ui | platform | compliance | — |
Responses
200Registered configuration keysConfigSchemaPage