Update a cell measurement by id
Update an existing cell measurement's metadata.
Only metadata fields can be updated (name, protocol, test_setup, notes, properties, channel_id, protocol_id). Time series and steps data cannot be modified.
Path parameters
Request body
Protocol information as a dict with: name (str), ambient_temperature_degc (float), definition (dict | str - UCP or other protocol format)
Test setup: cycler, operator, lab, etc.
When the test finished (ISO 8601 with timezone). Set this to mark the measurement complete; leave null while it is still running.
Forecast of when a still-running test will finish (ISO 8601 with timezone). Distinct from end_time. Null when no estimate exists.
Free-text explanation of how estimated_end_time was derived.
When estimated_end_time was last computed (ISO 8601, tz).
Optional ID of the channel this measurement ran on.
Optional ID of the experiment template (protocol) this measurement was run against.
Optional catalog program for this measurement.
Key-value measurements using Quantity format for numerics. Only for measurement_type='properties'. Example: {'thickness': {'value': 0.52, 'unit': 'mm'}}
Response
Successful Response
Protocol information. Typical keys: 'name' (str), 'ambient_temperature_degc' (float), 'definition' (dict | str — a UCP protocol definition or another protocol format).
ISO 8601 datetime with timezone (UTC preferred) marking when the test started.
ISO 8601 datetime with timezone (UTC preferred) marking when the test finished. Leave null while the test is still running; set it once the measurement is complete. A null end_time means the cell is still considered 'on test' in the Lab view.
ISO 8601 datetime with timezone (UTC preferred) forecasting when a still-running test will finish. Distinct from end_time (the actual finish): this is an estimate. Null when no estimate has been computed yet.
Free-text explanation of how estimated_end_time was derived.
ISO 8601 datetime with timezone marking when estimated_end_time was last computed.
Physical test setup. Typical keys: 'cycler' (model), 'operator', 'lab', 'channel_number' (int).
Set to true only once step-type labels (Rest, CC charge, CV, discharge, etc.) have been manually reviewed. Server-inferred labels should leave this false.
Free-text notes about the cell measurement
Shape of the data stored in a cell measurement.
- time_series — cycling / diagnostic data uploaded as columnar time series (and optional step summaries). Default for new measurements.
- file — an opaque file upload (raw cycler export, image, other binary). Metadata about the file is captured in file_metadata; the file content lives in object storage.
- properties — a flat key/value set of measured properties (thickness, mass, DCIR, initial capacity, …) with no time-series data. Numeric values use the Quantity format.
Flat key/value measurements, populated only when measurement_type is 'properties'. Numeric values use the Quantity format. Example: {'thickness': {'value': 0.52, 'unit': 'mm'}, 'DCIR': {'value': 12, 'unit': 'mohm'}}.
Metadata about uploaded files (MIME types, dimensions, etc.)
Optional ID of the channel this measurement ran on.
Optional ID of the experiment template (protocol) this measurement was run against.
Optional catalog program for this measurement (copied from a linked planned measurement when present).
Organization this measurement belongs to.
Project this measurement belongs to
User ID of the user who created this measurement
Email of the user who created this measurement
Lifecycle of a measurement's step processing, shared with extend.
- pending — confirm-upload task enqueued.
- running — worker parsing the upload or calculating steps.
- ready — terminal success; default for file/properties.
- failed — permanent; see processing_error.
- awaiting_extend — claim held, signed URL out, no task queued.
- extending — delta staged, stitch queued or running.
Only ready may start an extend, so it cannot overlap step processing (both write steps.parquet). A failed extend returns to ready.
Reason processing failed, when processing_status is 'failed'. Also carries why an extend did not apply, in which case the status is back to 'ready' and this is advisory only.
Lifecycle of a duration estimate computed by a background simulation.
Used by both estimates: a planned test's total duration (planned_measurements.estimated_duration_*) and a running test's remaining duration (cell_measurements.estimated_end_time_*). One enum because the lifecycle is identical -- only what is being estimated differs.
estimating while the job is in flight, ready once a value came from it, failed with the reason in the accompanying note. None means no estimate was ever requested.
Opaque token identifying the in-flight extend that holds this measurement, and the staging prefix its delta is uploaded to. Non-null exactly while processing_status is 'awaiting_extend' or 'extending'.
Deprecated and always null. Use processing_status.
When the in-flight extend claim was taken. Written only by the claim itself, so an unrelated update to the measurement does not age it. Null when no extend holds the measurement.
Changes
No recorded changes to this endpoint across all 1 revision of this API.