Skip to main content
Create a properties-type measurement directly
curl --request POST \
  --url https://api.ionworks.com/cell_instances/{cell_instance_id}/cell_measurements/create \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "properties": {},
  "protocol": {},
  "start_time": "2023-11-07T05:31:56Z",
  "test_setup": {},
  "step_labels_validated": false,
  "notes": "<string>",
  "measurement_type": "properties",
  "file_metadata": {}
}
'
{
  "name": "<string>",
  "id": "<string>",
  "cell_instance_id": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z",
  "protocol": {},
  "start_time": "2023-11-07T05:31:56Z",
  "test_setup": {},
  "step_labels_validated": false,
  "notes": "<string>",
  "measurement_type": "time_series",
  "properties": {},
  "file_metadata": {},
  "organization_id": "<string>",
  "created_by": "<string>",
  "created_by_email": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt

Use this file to discover all available pages before exploring further.

Path Parameters

cell_instance_id
string
required

Body

application/json

Request model for creating a properties-type measurement directly (no upload).

Inherits field validation (including validate_properties) from CellMeasurementBase. Overrides measurement_type default and makes properties required.

name
string
required
Required string length: 1 - 255
properties
Properties · object
required

Key-value measurements using Quantity format for numerics. Example: {'thickness': {'value': 0.52, 'unit': 'mm'}}

protocol
Protocol · object

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.

test_setup
Test Setup · object

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:properties

Must be 'properties' for this endpoint.

Available options:
time_series,
file,
properties
file_metadata
File Metadata · object

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

Response

Successful Response

name
string
required
Required string length: 1 - 255
id
string
required
cell_instance_id
string
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
protocol
Protocol · object

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.

test_setup
Test Setup · object

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

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

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

organization_id
string | null

Organization 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