Skip to main content
A custom attribute definition is the schema of one extra field your organization keeps on users, such as “Cost Center”, “Department”, or “Data Classification”. It describes the field, not any particular value of it. v1 lists only the custom attributes on users, and doesn’t list multi-select attributes. Values live on the users the field is attached to. A user returns its custom attribute values under custom_attributes when you expand them. List Custom Attribute Definitions tells you what those keys mean, what type each one holds, and where it came from.
The Custom Attribute Definition object

Attributes

Identifying a definition

id identifies a definition, and Get Custom Attribute Definition reads one by it. label is unique too. It’s what keys the custom_attributes map on a user, and what you filter the list on. One label returns one definition, even when several apps feed it. For example, ?label=Department returns a single unified definition, not a list of near-duplicates:
name comes from one source. Where several sources feed one label, name reflects one of them, so treat it as a hint about the upstream field rather than an authoritative mapping. Configs gives each source’s own name.

Configs

Each app that syncs the attribute adds a config to its definition, and so does a native attribute your team defines in Lumos. List Custom Attribute Definition Configs lists a definition’s configs, highest priority first:

Filtering

Five filters narrow the list, and you can combine them: label matches exactly rather than searching, so a partial label returns nothing rather than a shortlist. config_type, source_type, and attribute_type take the values in Attributes. Any other value, such as SINGLESELECT or multi-select, returns 400.

Managing definitions

v1 reads definitions and their configs, but can’t create or change them. Manage definitions in the Lumos UI.

Endpoints