Fill
Where an output field’s value comes from — orthogonal to how it renders. Only user and session fields show a widget.
Every variant shares the keys below. Which further keys are legal depends on kind.
| Key | Type | Required | Notes |
|---|---|---|---|
kind |
"user" | "copy" | "session" | "timestamp" |
yes | Selects which shape the rest of this object takes. Every other key is validated against the variant named here. |
"kind": "user"
Section titled “"kind": "user"”The labeler answers this field on every record.
No keys beyond the shared ones.
"kind": "copy"
Section titled “"kind": "copy"”Carried over from an input column. Renders no widget.
| Key | Type | Required | Notes |
|---|---|---|---|
from |
string | no | Input field to copy from. Defaults to this field’s own name; naming one explicitly is how a copied column gets renamed on the way out. Its type must match this field’s type. min length 1, matches ^[A-Za-z0-9_-][A-Za-z0-9_ -]*[A-Za-z0-9_-]$|^[A-Za-z0-9_-]$ |
"kind": "session"
Section titled “"kind": "session"”The labeler answers this once, on the setup step, and the answer is written to every exported row.
No keys beyond the shared ones.
"kind": "timestamp"
Section titled “"kind": "timestamp"”Stamped by the app when the record becomes complete, and again on every later edit. Renders no widget.
No keys beyond the shared ones.