When to use this. Compliance custom fields are admin-level definitions that extend the data
model for certificates, institutes, and quality topics. You create a field once — choosing its
type, allowed values, and whether it is mandatory or internal-only — and it then appears on
every relevant record across your organisation. Use these endpoints to automate that setup, keep
field definitions in sync with an ERP, or bulk-update a field library as regulations evolve.
The workflow
Custom fields are standalone definitions: create them, optionally deactivate or soft-delete them when they are no longer needed, and list them to build filter UIs or validate incoming data.1
Create the field definitions
POST /api/compliance-custom-fields with an array of one or more field definitions. A single
call creates all fields in one all-or-nothing transaction. Choose the type carefully — it
cannot be changed after creation. For dropdown fields, pass allowedValues in the same request.2
Retrieve a specific field
GET /api/compliance-custom-fields/{id} to fetch a single definition by its ID, including its
current allowed values and active property flags.3
List and filter fields
GET /api/compliance-custom-fields to page through all definitions. Filter by type, state,
IsMandatory, or InternalOnly to build admin UIs or validate that an ERP code (userDefinedId)
already exists before creating a duplicate.4
Update or retire fields
PUT /api/compliance-custom-fields/{id} for a full replacement (including a new allowed-value
list). To retire a field, either set state: inactive to hide it from new records, or DELETE /api/compliance-custom-fields/{id} to soft-delete it. Use the bulk PUT /api/compliance-custom-fields to mix updates and deletes in a single transaction.Walkthrough
Create anallowedValue field called Facility Country with three options. The body is an
array — one or many fields are created in a single all-or-nothing transaction.
id — use it
when updating, deleting, or linking child fields under a nestedAllowedValue parent.
Field reference
Fields that matter most when creating or updating a compliance custom field:PUT /api/compliance-custom-fields/{id} is a full replacement. Omitting isMandatory or
internalOnly lands them as false. The bulk PUT /api/compliance-custom-fields supports
state: deleted per item to mix updates and soft-deletes in a single transaction.For a partial update,
PATCH /api/compliance-custom-fields/{id} accepts an RFC 6902 JSON Patch
document (Content-Type: application/json-patch+json) and touches only the paths you send — e.g.
/isMandatory, /internalOnly, /name, /state. Unlike the full-replace PUT, a flag you do
not patch is left unchanged. /position is read-only and state cannot be set to deleted.Roles & permissions
Managing compliance custom fields requires thecompliance permission on a designer (brand)
account. In practice, this means the user must hold the CompanyAdmin role (and optionally
Compliance Admin) — supplier accounts cannot create or modify custom field definitions.
Fields marked internalOnly: true are not shown to supplier users anywhere in the platform
(Classic or 2.0), but they are always returned via this API regardless of the calling user’s role.
When things go wrong
Errors use the standard envelope (status: "error", a code, and error.details[]). See
Errors & responses for the full list of codes and how to resolve them.
Common cases for compliance custom fields:
What to call next
Compliance categories
Group certificates by category before applying custom fields.
Size ranges
Another admin-level definition: the size sets that styles and items reference.
Style categories
Organise styles with categories — a similar admin setup pattern.
Authentication
How to get and send your
X-Auth-Token API key.