Skip to main content

Contact Custom Fields

Manage custom field values for individual contacts. These endpoints allow you to get, set, and delete custom field values on specific contacts.

Overview

While the Custom Fields endpoints define the structure of custom fields, the Contact Custom Fields endpoints manage the actual values stored for each contact. A contact can have values for any of the defined custom fields.

Value Types by Field Type

Field TypeValue TypeExample
textstring"Acme Inc"
numbernumber42, 3.14
booleanbooleantrue, false
datestring"2025-01-15"
datetimestring"2025-01-15T10:30:00Z"
selectstring"enterprise"
listarray of strings["Webinar X", "Webinar Y"]

Endpoints

MethodEndpointDescription
GET/contacts/{contactUuid}/custom-fieldsGet all custom field values for a contact
PUT/contacts/{contactUuid}/custom-fields/{fieldUuid}Set a custom field value (replaces the whole value)
POST/contacts/{contactUuid}/custom-fields/{fieldUuid}/itemsAdd a single element to a list field
DELETE/contacts/{contactUuid}/custom-fields/{fieldUuid}/itemsRemove a single element from a list field
DELETE/contacts/{contactUuid}/custom-fields/{fieldUuid}Remove a custom field value entirely

Working with list fields

A list field holds multiple free-form string values. You can manage it two ways:

  • Replace the whole list with PUT .../custom-fields/{fieldUuid} by sending an array as value (also works via Update Contact bulk custom_fields).
  • Add/remove single elements with the .../items endpoints — ideal for event-driven updates (e.g. a webhook firing when a contact attends a meeting).

Constraints for list values: each element is a non-empty string up to 255 characters, max 100 elements per contact. Elements are trimmed and de-duplicated; order is preserved.