Prerequisites and key discovery
You need an application API key for the target organization and workspace. Send it in thex-api-key header.
An administrator creates definitions under Administration > Configuration > Profile Custom Fields. Record each definition’s immutable key and, for Choice fields, each option’s stored value. Use keys in requests. Do not use labels as JSON property names because labels can be renamed.
https://api.gominerva.com/clm/v1. See the API Reference for authentication and generated endpoint pages.
Request contract
profileCustomFields is a JSON object whose property names are definition keys. Each value must use the JSON type required by that definition.
On create or onboarding,
null is equivalent to omitting an optional custom value and fails validation when the field is required. A PATCH validates the custom fields supplied in that request. Custom fields omitted from the request remain unchanged, and null clears one named value. Required custom fields that are not included are not checked again.
Type matrix
Text values support up to 4,000 characters. Structured data must be an object or array and is limited to 16 KB per field. The combined custom values on one profile are limited to 64 KB. Exact integral Number values are accepted through the signed 64-bit range.
Choice requests use the option’s stored value, such as
funded, not its display label, such as Funded. After a Choice definition is saved, each existing option value remains valid and cannot be changed or removed in this release. Administrators can add options, change display labels, and reorder options. This preserves the identifiers already stored on profiles so historical values remain readable.
If the vocabulary must be replaced, contact Minerva Support. Archiving the field and creating a new one is another option, but the new field starts empty and does not inherit existing profile values.
Create a profile
Create and screen a profile
UsePOST /onboarding/profiles when profile creation should also perform the configured onboarding screen.
Update or clear values
PATCH updates only the profile fields and custom field keys supplied in the request. Omitted custom fields remain unchanged, andnull clears one named value.
cURL
JavaScript
Response contract
Single-profile and list responses can include an optionalprofileCustomFields array. Items are ordered by definition priority.
Profile reads may take up to 60 seconds to reflect a definition edit or
archive. During that period,
GET /profiles/{profileId}, GET /profiles, and
dashboard read views may return the prior field or Choice option label, or may
still include a newly archived field. Stored profile values do not change.
After the read view refreshes, renamed labels are updated and archived fields
are omitted. Profile writes always validate against the latest definition.value is the stable stored option value and valueLabel is the display label resolved for that response. Store or compare value; render valueLabel when present. After an administrator changes a field label or Choice option label, profile reads can return the previous label for up to 60 seconds. Profile writes always validate against the latest definition.
The list operation returns the same optional array on each item:
Validation errors
The response follows the standard Minerva error shape, and the message identifies the custom field path when available. For profile writes, HTTP 400 means the request is malformed or a value does not match the current definition; correct the request before retrying. HTTP 409 means a Text value exceeds 4,000 characters, a Structured data value exceeds 16 KB, or the combined custom values exceed 64 KB; shorten the values before retrying. Separately, a definition-management request returns HTTP 409 if it omits or changes a saved Choice option value. Retain the complete saved Choice set, with any additions or label and order changes, before retrying that request. Common failures include:
Example error handling:
JavaScript
Required-field rollout guidance
After a definition becomes required, the next profile create or onboarding request must include a valid non-null value. The change does not backfill existing profiles or make a PATCH fail when that required custom field is omitted. Supplied PATCH values still validate against the latest type, archive status, and Choice vocabulary. Before an administrator enables Required:- Inventory every profile creation path, including direct create, onboarding, CSV, and XLSX.
- Update producers to send the immutable key with a correctly typed value.
- Test missing,
null, wrong-type, unknown-key, and archived-key requests. - Coordinate the activation time with the administrator.
- Monitor HTTP 400 responses after activation. Prefer a forward edit that makes the field optional again. Historical rollback replays an old snapshot through current validation and can return HTTP 409 if it would omit a saved Choice value; see Archive, history, and rollback.
Backward compatibility
profileCustomFields is optional in both requests and responses. Existing clients can continue sending the old profile request shape. Responses omit the array when no stored values resolve to active definitions, preserving the previous response shape. Stored values are retained when a definition is archived. After the read view refreshes, archived definitions and values with no active definition are not emitted.
Clients that deserialize with strict schemas should allow the optional array before the feature is enabled. Each array item contains key, label, type, and value; valueLabel is optional and is used for Choice fields.
Endpoint reference
Use the Profiles - Endpoints section of the API Reference for generated schemas and operation details:- Create Profile:
POST /profiles - Create Profile (Onboarding):
POST /onboarding/profiles - Update Profile:
PATCH /profiles/{profileId} - Get Profile Details:
GET /profiles/{profileId} - List profiles:
GET /profiles