List custom field definitions
Returns a paginated list of custom field definitions in the authenticated workspace. Optionally filter by `entity_type`.
Authorization
apiKey API key from your nodestash dashboard. Pass as a Bearer token in the Authorization header.
In: header
Query Parameters
Opaque pagination cursor returned as next_cursor in a previous response. Pass this to fetch the next page.
Maximum number of definitions to return per page.
"20"Filter by entity type.
"contact" | "company" | "deal" | "activity"Comma-separated sort fields. Prefix with - for descending order. Supported fields: created_at, updated_at, name, display_order. Default: -created_at.
Response Body
application/json
application/json
application/json
curl -X GET "https://api.nodestash.io/v1/custom-fields?entity_type=contact&sort=-created_at"{
"data": [
{
"id": "cf_5hJ3kM9pQrVwXyZaB2cD4",
"type": "custom_field_definition",
"attributes": {
"id": "cf_5hJ3kM9pQrVwXyZaB2cD4",
"entity_type": "contact",
"name": "Plan",
"slug": "plan",
"field_type": "select",
"description": "Subscription plan of the contact",
"is_required": false,
"options": [
"free",
"starter",
"pro",
"enterprise"
],
"display_order": 0,
"created_at": "2026-01-15T10:30:00Z",
"updated_at": "2026-01-15T10:30:00Z"
}
},
{
"id": "cf_9xK7mN2qTsYvAzCe4fG6",
"type": "custom_field_definition",
"attributes": {
"id": "cf_9xK7mN2qTsYvAzCe4fG6",
"entity_type": "contact",
"name": "Region",
"slug": "region",
"field_type": "text",
"description": null,
"is_required": false,
"options": null,
"display_order": 1,
"created_at": "2026-01-14T08:00:00Z",
"updated_at": "2026-01-14T08:00:00Z"
}
}
],
"meta": {
"request_id": "req_abc123def456",
"pagination": {
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wMS0xNFQwODowMDowMFoiLCJpZCI6ImNmZF85eEs3bU4ycVRzWXZBekNlNGZHNiJ9",
"has_more": true
}
}
}{
"error": {
"code": "INVALID_API_KEY",
"message": "Missing or invalid Authorization header"
},
"meta": {
"request_id": "req_abc123def456"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded"
},
"meta": {
"request_id": "req_abc123def456"
}
}Get custom field values for an entity
Returns all custom field values set on a specific entity. Each value includes the field definition metadata (slug, name, field_type) for convenience.
Set custom field values for an entity
Bulk set or update custom field values for a specific entity. Keys in the `fields` object are field slugs; values must match the corresponding field definition's type. Existing values for provided slugs are overwritten. Values for omitted slugs are left unchanged.