Cell Measurements

Get detailed information for a cell measurement

Changed on

Retrieves detailed information for a specific cell measurement by measurement ID.

Deprecated: prefer the individual endpoints GET /steps, GET /cycles, POST /series/query, and GET /steps_and_cycles instead.

Supports zoom-based resampling: specify x_min, x_max, and x_column to fetch higher resolution data for a specific x-axis range.

get/cell_measurements/{measurement_id}/detail

Request

  • Base URL
    https://api.ionworks.com
  • URL
    https://api.ionworks.com/cell_measurements/{measurement_id}/detail
  • Auth
    none declared

Path parameters

measurement_idstring uuid required

Query parameters

target_rowsinteger nullable

Target rows for downsampled time series

columnsstring nullable

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

step_countsstring nullable

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

cycle_countsstring nullable

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

x_minnumber nullable

Minimum x-axis value to filter

x_maxnumber nullable

Maximum x-axis value to filter

x_columnstring nullable

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

include_stepsboolean

Include steps in response.

include_time_seriesboolean

Include time_series in response.

Response

Successful Response

is_failedboolean

Whether it was reported as failed.

failure_reasonstring nullable

Why it failed.

failed_atstring date-time nullable

When it was reported.

failed_bystring nullable

User who reported it.

namestring required
protocolobject nullable

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

start_timestring date-time nullable

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

end_timestring date-time nullable

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_timestring date-time nullable

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_notestring nullable

Free-text explanation of how estimated_end_time was derived.

estimated_end_time_calculated_atstring date-time nullable

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

test_setupobject nullable

Physical test setup. Typical keys: 'cycler' (model), 'operator', 'lab', 'channel_number'. Readers also record what the cycler header carries, drawn from one shared vocabulary so the shape does not vary by cycler: 'test_name', 'cell_label' (the cycler's own label for the cell, which need not match the cell instance), 'instrument', 'cycler_serial_number', 'software_version', 'temperature_setpoint_degc', 'notes', 'end_time', plus export provenance -- 'export_date', 'source_file_path', 'barcode_comment', and 'source_file_id' (an id in the cycler's own id space, not a cross-system identifier). Which of these a file can fill depends on its format; keys the header does not carry are omitted rather than set empty.

notesstring nullable

Free-text notes about the cell measurement

measurement_type'time_series' | 'file' | 'properties'

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.
propertiesobject nullable

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_metadataobject nullable

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

channel_idstring nullable

Optional ID of the channel this measurement ran on.

protocol_idstring nullable

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

program_idstring nullable

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

tagsstring[]

Free-form labels for organising and filtering measurements, e.g. ['baseline', 'batch-7']. Whitespace is trimmed, duplicates are dropped case-insensitively, and a tag already used in the project keeps its existing spelling. At most 50 tags of up to 50 characters.

idstring required
cell_instance_idstring required
organization_idstring required

Organization this measurement belongs to.

project_idstring required

Project this measurement belongs to

created_bystring nullable

User ID of the user who created this measurement

created_by_emailstring nullable

Email of the user who created this measurement

processing_status'pending' | 'running' | 'ready' | 'failed' | 'awaiting_extend' | 'extending'

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.

processing_errorstring nullable

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_etagstring nullable
row_countinteger nullable
time_series_bytesinteger nullable
recorded_duration_snumber nullable
accepts_raw_updatesboolean
estimated_end_time_status'estimating' | 'ready' | 'failed'

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.

estimated_end_time_job_idstring nullable
created_atstring date-time required
updated_atstring date-time required
extend_claim_idstring nullable

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_atstring date-time nullable

Deprecated and always null. Use processing_status.

extend_claimed_atstring date-time nullable

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.

stepsobject nullable
time_seriesobject nullable
cyclesobject nullable

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property / to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status