For AI agents: a documentation index is available at https://docs.coverbase.com/llms.txt — this page is also available in markdown by appending .md to the URL.
An obligation (cboblg_...) is a compliance obligation tracked against the org. Obligations created through this API are of type CUEC (complementary user-entity controls). This API exists for GRC sync and external visibility.
All endpoints are org-scoped to the API key. See API conventions for shared behavior, including pagination.
| Method | Path |
|---|---|
GET | /v1/obligations |
POST | /v1/obligations |
GET | /v1/obligations/{obligation_id} |
PATCH | /v1/obligations/{obligation_id} |
Idempotency-Key.
Status values
Thestatus field accepts exactly:
| Value | Meaning |
|---|---|
satisfied | The obligation is met. |
not_satisfied | The obligation is not met (default on create). |
400 invalid_status listing the accepted values.
List obligations
GET /v1/obligationsQuery parameters
Filter to obligations associated with a vendor (
cbvndr_...).Filter by status —
satisfied or not_satisfied.Page size. Default
50, range 1–200.Page offset. Default
0.Example request
cURL
Example response
Obligation object
Obligation ID (
cboblg_...).The obligation statement.
satisfied or not_satisfied.Always
cuec for obligations created via this API.How compliance is established (
manual, internal_control, or similar_obligation), if set.Source vendor document (
cbvdoc_...), if linked.Assigned user (
cbuser_...).Assigned group, if assigned to a group instead of a user.
Unix timestamp (seconds), if set.
true if archived.Unix timestamp (seconds).
Unix timestamp (seconds).
total, limit, offset — see pagination.
Create an obligation
POST /v1/obligations201 Created. obligation_type is always set to cuec.
Request body
The obligation statement.
satisfied or not_satisfied. Defaults to not_satisfied.Link to a source vendor document (
cbvdoc_...).Assign to a user (
cbuser_...).Assign to a group instead of a user.
Unix timestamp (seconds).
Example request
cURL
Error responses
| Status | Body | When |
|---|---|---|
| 400 | {"detail": {"code": "invalid_status", "message": "Invalid status '...'. Expected one of: satisfied, not_satisfied."}} | status not one of the accepted values. |
| 400 | {"detail": {"code": "invalid_obligation", "message": "..."}} | Other business-rule rejection. |
| 422 | Standard validation error | statement missing or body malformed. |
Retrieve an obligation
GET /v1/obligations/{obligation_id}cURL
| Status | Body | When |
|---|---|---|
| 404 | {"detail": {"code": "obligation_not_found", "message": "Obligation not found."}} | Not found / not in the API key’s org. |
Update / status-sync an obligation
PATCH /v1/obligations/{obligation_id}Request body
Updated statement.
satisfied or not_satisfied.Reassign to a user (
cbuser_...).Reassign to a group.
New due date (Unix seconds).
Archive (
true) or restore (false).Example request
cURL
Error responses
| Status | Body | When |
|---|---|---|
| 400 | {"detail": {"code": "invalid_status", "message": "Invalid status '...'. Expected one of: satisfied, not_satisfied."}} | status not accepted. |
| 400 | {"detail": {"code": "invalid_update", "message": "..."}} | Update otherwise rejected. |
| 404 | {"detail": {"code": "obligation_not_found", "message": "Obligation not found."}} | Not found / not in the API key’s org. |
| 422 | Standard validation error | Body failed schema validation. |