Skip to main content
Get detailed information for a cell measurement

Path Parameters

measurement_id
string
required

Query Parameters

target_rows
integer | null

Target rows for downsampled time series

Required range: x >= 1
columns
string | null

Comma-separated list of columns to load (e.g., 'time,voltage')

step_counts
string | null

Step numbers to keep, as singletons and/or ranges (e.g. '0-2,5,8-10')

cycle_counts
string | null

Comma-separated list of cycle counts to filter (e.g., '1,2,3')

x_min
number | null

Minimum x-axis value to filter

x_max
number | null

Maximum x-axis value to filter

x_column
string | null

Column name for x-axis filtering (e.g., 'Time [s]' or 'Capacity throughput [A.h]')

include_steps
boolean
default:true

Include steps in response.

include_time_series
boolean
default:true

Include time_series in response.

Response

Successful Response

Response model for the /detail endpoint for a single measurement.

name
string
required
Required string length: 1 - 255
id
string
required
cell_instance_id
string
required
organization_id
string
required

Organization this measurement belongs to.

project_id
string
required

Project this measurement belongs to

created_at
string<date-time>
required
updated_at
string<date-time>
required
specification
CellSpecification · object
required

Model representing a cell specification as returned by the API.

instance
CellInstance · object
required

Model representing a cell instance as returned by the API.

protocol
Protocol · object | null

Protocol information. Typical keys: 'name' (str), 'ambient_temperature_degc' (float), 'definition' (dict | str — a UCP protocol definition or another protocol format).

start_time
string<date-time> | null

ISO 8601 datetime with timezone (UTC preferred) marking when the test started.

end_time
string<date-time> | null

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.

estimated_end_time
string<date-time> | null

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.

estimated_end_time_note
string | null

Free-text explanation of how estimated_end_time was derived.

estimated_end_time_calculated_at
string<date-time> | null

ISO 8601 datetime with timezone marking when estimated_end_time was last computed.

test_setup
Test Setup · object | null

Physical test setup. Typical keys: 'cycler' (model), 'operator', 'lab', 'channel_number' (int).

step_labels_validated
boolean
default:false

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.

notes
string | null

Free-text notes about the cell measurement

measurement_type
enum<string>
default:time_series

What shape of data this measurement holds. Determines which fields are populated and which upload flow applies. See the class docstring.

Available options:
time_series,
file,
properties
properties
Properties · object | null

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'}}.

file_metadata
File Metadata · object | null

Metadata about uploaded files (MIME types, dimensions, etc.)

channel_id
string | null

Optional ID of the channel this measurement ran on.

protocol_id
string | null

Optional ID of the experiment template (protocol) this measurement was run against.

program_id
string | null

Optional catalog program for this measurement (copied from a linked planned measurement when present).

created_by
string | null

User ID of the user who created this measurement

created_by_email
string | null

Email of the user who created this measurement

processing_status
enum<string>
default:ready

Lifecycle of server-side step processing. 'ready' once steps are available; 'pending'/'running' while the upload is being processed asynchronously; 'failed' if processing failed (see processing_error).

Available options:
pending,
running,
ready,
failed,
awaiting_extend,
extending
processing_error
string | null

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.

source_etag
string | null
row_count
integer | null
time_series_bytes
integer | null
estimated_end_time_status
enum<string> | null

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.

Available options:
estimating,
ready,
failed
estimated_end_time_job_id
string | null
extend_claim_id
string | null

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'.

extend_in_progress_at
string<date-time> | null

Deprecated and always null. Use processing_status.

extend_claimed_at
string<date-time> | null

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.

steps
Steps · object | null
time_series
Time Series · object | null
cycles
Cycles · object | null