Skip to main content
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-fields

Query 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 a custom_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_fields array, and a field left blank on a record is omitted rather than returned with a null value.
  • 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, not field_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, and query_platform(kind="custom_fields") lists the definitions.