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.
A finding (cbtask_...) is an issue raised against a vendor or an assessment. This API exists for GRC sync and external visibility: pull findings into your GRC tool, push status changes back.
Findings are internally modeled as “tasks”, so finding IDs use the
cbtask_ prefix. A cbtask_... value is a finding ID.| Method | Path |
|---|---|
GET | /v1/findings |
POST | /v1/findings |
GET | /v1/findings/{finding_id} |
PATCH | /v1/findings/{finding_id} |
Idempotency-Key.
List findings
GET /v1/findingsQuery parameters
Filter to findings on a vendor (
cbvndr_...).Filter to findings on an assessment (
cbqsrw_...).Page size. Default
50, range 1–200.Page offset. Default
0.Example request
cURL
Example response
Finding object
Finding ID (
cbtask_...).Human-readable index (e.g.
F-142), if assigned.Vendor the finding is on, if any.
Assessment the finding is on, if any.
Status record ID (
cbst_...).Unix timestamp (seconds), if set.
true if archived.Unix timestamp (seconds).
Unix timestamp (seconds).
total (full filtered count), limit, and offset — see pagination.
Create a finding
POST /v1/findings201 Created. Exactly one of vendor_id or assessment_id must be provided — supplying neither or both is rejected with 422 (“Exactly one of vendor_id or assessment_id must be provided.”).
Request body
Finding title.
Finding detail / description.
Vendor the finding is raised against (
cbvndr_...). Provide this or assessment_id, not both.Assessment the finding is raised against (
cbqsrw_...). Provide this or vendor_id, not both.Initial status record ID (
cbst_...).Unix timestamp (seconds).
Example request
cURL
Error responses
| Status | Body | When |
|---|---|---|
| 422 | Standard validation error (msg: “Exactly one of vendor_id or assessment_id must be provided.”) | Neither or both of vendor_id/assessment_id supplied, title missing, or body malformed. |
| 400 | {"detail": {"code": "invalid_finding", "message": "..."}} | Business-rule rejection (e.g. a bad reference ID). |
Retrieve a finding
GET /v1/findings/{finding_id}cURL
| Status | Body | When |
|---|---|---|
| 404 | {"detail": {"code": "finding_not_found", "message": "Finding not found."}} | Not found / not in the API key’s org. |
Update / status-sync a finding
PATCH /v1/findings/{finding_id}Request body
New status record ID (
cbst_...).New due date (Unix seconds).
Archive (
true) or restore (false) the finding.Example request
cURL
Error responses
| Status | Body | When |
|---|---|---|
| 400 | {"detail": {"code": "invalid_update", "message": "..."}} | Update rejected (e.g. invalid status ID). |
| 404 | {"detail": {"code": "finding_not_found", "message": "Finding not found."}} | Not found / not in the API key’s org. |
| 422 | Standard validation error | Body failed schema validation. |