field, time history in time, and free-form metadata in meta. Every human attribute (name, description, status, priority, …) lives in field rather than as a top-level property.
Sample JSON
Copy, edit, paste. Server-set fields (id, created, tenantId, …) are omitted from the example — they’re populated by the server on response.
What Ekso fills in
These fields are managed by the server. You don’t pass them on writes — they appear on the response.sequence— Auto-incrementing per-container number — the123inFEN-123. Server assigns it when the item is created.clockStart— Set by the clock subsystem when the item enters a clock-eligible state.clockFinish— Set by the clock subsystem when the item exits a clock-eligible state.clockDelta— Computed elapsed duration betweenclockStartandclockFinish. Server-maintained.clockHours— Convenience integer-hour view ofclockDelta. Server-maintained.clockStatus—Active/Paused/Breached/Stopped. Updated by the clock subsystem as the item moves through workflow states.dependencyKey— Hierarchy path for tree views. Maintained by the dependency engine when parent/child links change.dependencyIndent— Indent depth in the dependency tree. Server-maintained.dependencyChild— Child ordering within the dependency tree. Server-maintained.
Fields
Used by
Request body
POST /api/itemPUT /api/item/{id}
Response body
GET /api/board/{boardId}/cycle/{cycleId}/itemGET /api/item/{id}/dependencyPOST /api/item/copyPOST /api/item/findPOST /api/item/listPOST /api/item/resourcePOST /api/item/{id}POST /api/time/resource/{userId}
CLI
ekso item — see the command branches page for available verbs. Body for create / update verbs typically passed via --data @file.json matching the sample JSON above.