Reference
Attribute sets
Group custom fields into a named set, and choose which set a strategy uses.
An attribute set is a named group of custom fields for one record type. The field definitions themselves stay on Custom fields.
A token needs fields:read to list, and fields:write to change. A change also needs admin.custom_fields.manage.
| Method | Path | What it does |
|---|---|---|
| GET | /api/v1/x/attribute-sets | Sets. Optional entityType |
| GET | /api/v1/x/attribute-sets/{id} | One set |
| POST | /api/v1/x/attribute-sets | Create |
| PUT | /api/v1/x/attribute-sets/{id} | Name, description, or display order. The record type stays |
| POST | /api/v1/x/attribute-sets/{id}/archive | Archive |
| PUT | /api/v1/x/attribute-sets/{id}/sections | Section order. Body is orderedNames |
| PUT | /api/v1/x/attribute-sets/fields/{fieldId} | Assign a field. attributeSetId null clears it |
| GET | /api/v1/x/attribute-sets/strategy-assignments?entityType= | Which set each strategy uses |
| PUT | /api/v1/x/attribute-sets/strategy-assignments?entityType= | Replace those assignments |
entityType accepts a catalog key or the stored custom-field key. Company and company are both stored as company. LegalEntity is stored as legal_entity. A name this screen does not store is 400 unknown_entity.
{ "name": "SaaS metrics", "description": "The fields on the SaaS company screen.", "entityType": "Company", "displayOrder": 0}Assign a field that already exists:
{ "attributeSetId": "the-set-id" }capsure attribute-sets push set.json creates the set. capsure attribute-sets assign <field-id> --file assignment.json puts a field in it.
Strategy assignments use the stored key in the query, entityType=company. Each item is strategyId and attributeSetId. attributeSetId null clears that strategy’s override.