Model Fields

Fields define the individual data points within a model — their types, validation rules, resolution policies, and computed expressions. Fields can be managed individually on active models, supporting both UI-driven configuration and programmatic modification without re-pushing the entire model definition.

Scoped endpoints

These endpoints address fields by their human-readable name, which is unique within a model:

Method
Path
Description

POST

/models/{modelId}/fields

Add a field

GET

/models/{modelId}/fields

List all fields on a model

GET

/models/{modelId}/fields/{fieldName}

Get a field by name

PUT

/models/{modelId}/fields/{fieldName}

Update a field

DELETE

/models/{modelId}/fields/{fieldName}

Remove a field

Global endpoints

These endpoints address fields by their UUID-based fieldId, which is globally unique:

Method
Path
Description

GET

/fields

List fields across models

GET

/fields/{fieldId}

Get a field by ID

PUT

/fields/{fieldId}

Update a field

DELETE

/fields/{fieldId}

Remove a field

Both the scoped and global paths reference the same underlying resource. Scoped paths are readable for humans; global paths are unambiguous for machines.

Add a field

Request

Response 201 Created

Each field is assigned an immutable fieldId on creation.

Get a field

Both return the same response shape.

Response 200 OK

List fields

The global endpoint supports filtering: ?filter[modelId][eq]=uuid to narrow by model.

Update a field

Request

Response 200 OK

Returns the full updated field.

Remove a field

Removing a field from an active model is a soft operation — the field is excluded from the compiled model definition, the processing pipeline stops producing it, and existing contributions referencing the field are preserved for audit.

Response 204 No Content

Field naming

The human-readable name is mutable — renaming a field does not break contributions or bindings because the platform references fieldId internally. When you rename a field, all existing data continues to resolve correctly.

Last updated