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 custom field (cbcfc_...) is a field your organization defines on top of Coverbase’s built-in ones — a risk exception owner, an internal tier, a review date. This API lets an integration discover which fields exist and read the values set on your records.
Values are returned on vendors, services, and assessments. Use GET /v1/custom-fields first to learn the config_id, type, and allowed options behind each value.
All endpoints are org-scoped to the API key. See API conventions for shared behavior.
Reading and writing values happens through the record’s own endpoint — see Where values appear. This API is read-only; setting a value over the public API is not yet supported.
List custom field definitions
GET
GET /v1/custom-fieldsQuery parameters
string
Only return fields that apply to this object type. One of
vendor, service, assessment, control, eval, contract, task, review, engagement. An unrecognized value returns 422.boolean
Include fields your organization has disabled. Default
false.Example request
cURL
Example response
Response fields
string
The field’s
config_id (cbcfc_...). This is the value that appears as config_id on each custom field value.string
The display name your organization gave the field. Names can be renamed at any time — match on
id, not field_name.string
One of
string, number, boolean, date, user, select, multiselect. Determines the shape of value wherever this field appears.boolean
Whether the field is currently in use. Disabled fields are excluded unless you pass
include_disabled=true, and their values never appear on records.string[]
The object types this field can be set on.
object[]
For
select and multiselect, the allowed label values (each with an optional color). Empty for every other type.Where values appear
Set values are returned as acustom_fields array on these endpoints:
Listing vendors leaves values out by default so paging stays cheap; pass
include_custom_fields=true when you need them.
Create responses return an empty
custom_fields array — a record has no values at the moment it is created.Example
cURL
Value types
value is typed by field_type:
Resolve
user IDs to names and emails through the Users API.
Behavior worth knowing
- Only set values are returned. A record with nothing filled in returns an empty
custom_fieldsarray, and a field left blank on a record is omitted rather than returned with anullvalue. - Disabled and archived fields are hidden. Their values stay in Coverbase but never appear on API responses, so retiring a field cleanly removes it from your integration.
- Match on
config_id, notfield_name. Display names are editable in the dashboard and change with no deploy.
Reading custom fields from an AI assistant
The Coverbase MCP server exposes the same data to AI assistants. Custom field values are already included in vendor, service, assessment, control, and engagement reads, andquery_platform(kind="custom_fields") lists the definitions.