DataItem schema
Every work item in Ekso is a DataItem. When you fetch or create an item through the API, the JSON looks like this:Top-level properties
The field array
Thefield array is where most of the item’s data lives. Each entry is a simple pair:
All field values are strings. A date field stores
"2025-12-15T00:00:00Z", an integer stores "42", a toggle stores "true" or "false". Your integration must interpret the string according to the field’s type — use the screen endpoint to get the full field definition alongside each value.Field definitions
TheGET /api/field endpoint returns every field definition in your tenant. Each field definition describes the field’s type, validation rules, and configuration.
Field types
Ekso supports ten field types. Each type serializes its value as a string in thedata property:
For a full explanation of each type and the system fields, see Fields.
Key field properties
Every field definition includes these properties:Picker scopes
Picker fields reference a specific entity type. Thescope property tells you what kind of entity the picker selects:
List field values
List fields (e.g., Priority, Severity, Status, Resolution) have adata array containing the valid options:
Process field configuration
A process controls which fields appear on an item and whether each field is required. TheGET /api/process endpoint returns process definitions, each with a fields array:
The same field can be required in one process and optional in another. For example, Severity might be required for Defects but optional for Change Requests.
The screen endpoint
ThePOST /api/item/screen endpoint is the primary discovery tool for API consumers. It combines field definitions, current values, required flags, and permission filtering into a single response — giving you exactly the fields the current user can work with.
Request
Send anItemScreenRequest:
Screen stages
Thestage parameter controls which permission column the endpoint evaluates:
Response
The endpoint returns anItemScreenModel:
Each entry in the
field array contains:
The screen endpoint only returns fields the current user has permission to access. If a field is missing from the response, the user’s group does not have the required access level for that field at the requested stage.
Field-level permissions
Each container can configure per-field permissions for every process. Three access levels control who can interact with each field:
By default, all three levels are set to Everyone — all users in the workspace can see, set, and change every field. Admins can restrict any level to specific user groups.
The screen endpoint respects these permissions automatically. When you call it with a particular stage, the response includes only the fields that the authenticated user’s groups have access to for that stage.
For the conceptual explanation and configuration details, see Field-level access control.
Creating an item via the API
1
Discover available fields
Call the screen endpoint with stage The response
Set to find out which fields the current user can provide:field array tells you every field you can set, its type, default value, and whether it’s required.2
Build the field array
Using the screen response, build your Use the field definition’s
field array. Include all required fields and any optional fields you want to set:name as the fieldId. For List and Picker fields, use the list item id or entity id as the data value.3
Create the item
Send a The response includes the created item with its generated key (e.g.,
POST to /api/item with the container, process, and field values:GEM-42), all field values, and default values applied by the system.4
Handle validation errors
If required fields are missing or values are invalid, the API returns a Check the
400 with details:fields array to identify which values need correction.Updating an item via the API
1
Fetch the item
Retrieve the current item by ID:
2
Discover editable fields
Call the screen endpoint with stage The response includes each field’s current value in the
Change to find which fields the user can modify:data property. The workflow array shows the valid next statuses.3
Update the item
Send a Only include the fields you want to change. The API merges your updates with the existing field values.
PUT to /api/item/{id} with the updated field values:Next steps
Fields
Full reference for system fields, custom field types, and default values.
Processes
How processes define workflows, field configuration, and access control.
API reference
Complete endpoint documentation with request and response schemas.