Custom Fields API
Eos supports organization-defined custom fields on existing objects. It does not support customer-created object types, so v1 has no Custom Objects API.
Custom fields use the same object endpoints as standard fields. The Custom Fields API provides read-only schema discovery so an integration can understand each organization's effective field definitions before reading, filtering, or writing records.
Authorization
A custom field never creates a separate authorization path. Access is the intersection of:
- the API Client's license and Eos Roles;
- access to the containing object and operation;
- the field's role visibility and read/write configuration; and
- the object's workflow and validation rules.
Fields the client cannot read are omitted from record responses and schema results. Writes to unknown, read-only, hidden, or Role-forbidden fields fail explicitly; Eos never silently drops them.
List object schemas
GET /v1/schemas
Operation ID: listObjectSchemas.
Returns the Eos object types exposed through API v1 and visible to the API Client. This is a catalog of supported existing objects, not a facility for creating object types.
{
"object": "list",
"data": [
{
"object": "object_schema_summary",
"object_type": "project",
"label": "Project",
"schema_version": 7,
"custom_field_count": 3
}
],
"has_more": false,
"next_cursor": null
}
Get an object schema
GET /v1/schemas/{object_type}
Operation ID: getObjectSchema.
{
"object": "object_schema",
"object_type": "project",
"schema_version": 7,
"fields": [
{
"api_name": "customer_tier",
"label": "Customer tier",
"field_type": "select",
"custom_field": true,
"required": false,
"readable": true,
"writable": true,
"filterable": true,
"options": [
{"value": "strategic", "label": "Strategic"},
{"value": "standard", "label": "Standard"}
]
}
]
}
The schema contains only fields visible to the caller. It declares types, validation, allowed values, relationship targets, and whether each field may be read, written, filtered, sorted, grouped, or used by Skills.
Read custom field values
Resources expose organization-defined values in a stable custom_fields object keyed by the field's api_name:
{
"object": "project",
"id": "prj_01J8Q8QFXT2Y3QAD6M0MPB75GC",
"name": "Northwind implementation",
"custom_fields": {
"customer_tier": "strategic",
"implementation_region": "north_america"
}
}
Unknown readable values may be returned after a schema change. Clients must ignore fields they do not understand and refresh the schema when schema_version changes.
Write custom field values
Create and update operations for the containing object accept custom_fields alongside standard fields:
{
"custom_fields": {
"customer_tier": "strategic"
}
}
PATCH changes only the supplied custom fields. A JSON null clears a nullable field; omitting a key leaves it unchanged. Validation is atomic with the rest of the object write.
Configuration is not part of v1
API Clients cannot create, change, hide, reorder, or delete custom-field definitions. Configuration remains an administrator action in Eos Object Designer. API v1 discovers and uses the resulting effective schema.
Common errors
OBJECT_SCHEMA_NOT_FOUND, CUSTOM_FIELD_NOT_FOUND, CUSTOM_FIELD_FORBIDDEN, CUSTOM_FIELD_READ_ONLY, CUSTOM_FIELD_VALUE_INVALID, CUSTOM_FIELD_REQUIRED, and OBJECT_SCHEMA_CHANGED.
Next: Webhooks API.