Skip to main content
Confirm a signed URL upload and finalize the measurement

Path Parameters

measurement_id
string
required

Body

application/json

Request model for confirming a signed URL upload.

cell_instance_id
string
required

Parent cell instance ID

measurement
Measurement · object
required

Measurement data with custom fields

measurement_type
enum<string>
default:time_series

Type of measurement being confirmed.

Available options:
time_series,
file,
properties
steps
Steps · object

Optional steps. Auto-calculated from time series if omitted

filenames
string[] | null

Filenames that were uploaded (for file-type measurements). When provided, skips the slow storage listing verification.

Response

Successful Response

Flat response after confirming a signed URL upload.

Measurement fields (id, name, measurement_type, etc.) are at the top level, alongside the parent instance and upload metadata.

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.

created_at
string<date-time>
required
updated_at
string<date-time>
required
instance
CellInstance · object
required

Model representing a cell instance as returned by the API.

steps_created
integer
required
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.

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.

project_id
string | null

Project this measurement belongs to

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