Attributes
Dynamic attributes extend the standard lead schema with arbitrary custom fields. Five types are supported:
| Type | Use for | Example value |
|---|---|---|
text | Single string values | "Italian" |
number | Numeric values (integer or float) | 500 |
bool | True/false flags | true |
list | Arrays of strings | ["CRM", "ERP"] |
object | Nested key-value data | { "linkedin": "https://..." } |
List Attributes
Section titled “List Attributes”GET /leads/{id}/attributesResponse 200 OK:
[ { "id": "uuid", "name": "industry", "type": "text", "value": "Software" }, { "id": "uuid", "name": "employees", "type": "number", "value": 500 }, { "id": "uuid", "name": "verified", "type": "bool", "value": true }, { "id": "uuid", "name": "products", "type": "list", "value": ["CRM", "ERP"] }, { "id": "uuid", "name": "social", "type": "object", "value": { "linkedin": "https://..." } }]Create Attribute
Section titled “Create Attribute”POST /leads/{id}/attributes{ "name": "cuisine", "type": "text", "value": "Italian" }Response 201 Created: Full attribute object.
Update Attribute
Section titled “Update Attribute”PUT /leads/{id}/attributes/{attr_id}{ "value": "Mediterranean" }Response 200 OK: Updated attribute object.
Delete Attribute
Section titled “Delete Attribute”DELETE /leads/{id}/attributes/{attr_id}Response 204 No Content.
Filtering by attribute
Section titled “Filtering by attribute”Use attr:field_name in filter expressions:
?filter=and.eq.attr:cuisine.Italian?filter=and.gt.attr:employees.100See Filtering for all supported operators.