Custom fields
Get a custom field definition
Retrieves a single custom field definition by ID.
Authorization
apiKey AuthorizationBearer <token>
API key from your nodestash dashboard. Pass as a Bearer token in the Authorization header.
In: header
Path Parameters
id*string
Custom field definition ID (prefixed with cf_).
Match
^cf_Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://api.nodestash.io/v1/custom-fields/cf_5hJ3kM9pQrVwXyZaB2cD4"{
"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"
}
},
"meta": {
"request_id": "req_abc123def456"
}
}{
"error": {
"code": "INVALID_API_KEY",
"message": "Missing or invalid Authorization header"
},
"meta": {
"request_id": "req_abc123def456"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Contact not found"
},
"meta": {
"request_id": "req_abc123def456"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Rate limit exceeded"
},
"meta": {
"request_id": "req_abc123def456"
}
}Delete a custom field definition
Permanently deletes a custom field definition and all associated values. This action cannot be undone.
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.