Download OpenAPI specification:
The Vehicle Data Solutions (VDS) REST API: vehicles, devices, measurement configurations, data dictionaries, trips with their files, signals and status log, event definitions with cloud runs, data-volume accounting, and users.
Every request carries the tenant in X-Tenant-Id and a bearer token from
the tenant's user pool. Error responses are plain-text messages unless an
operation documents a JSON error body. Timestamps are Unix milliseconds
unless a field says otherwise.
The vds command-line tool covers every operation of this API; the user
documentation explains the concepts behind them.
Get List of all the available vehicles
| offset | integer <int32> >= 0 Default: 0 Number of items to skip before returning the results |
| limit | integer <int32> [ 1 .. 100 ] Default: 20 Limit on number of items to return |
| with_devices | boolean Include devices attached to vehicle |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "id": 0,
- "version_id": 0,
- "vehicle_name": "string",
- "attributes": [
- {
- "name": "string",
- "value": "string"
}
], - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "assigned_devices": [
- {
- "id": 0,
- "version_id": 0,
- "device_name": "string",
- "imei": "string",
- "vehicle_id": 0,
- "config_id": 0,
- "device_networks": [
- {
- "device_version_id": 0,
- "network_id": 0,
- "name": "string",
- "interface": "string"
}
], - "enabled": true,
- "status": {
- "id": 0,
- "last_generated": 0,
- "last_received": 0
}, - "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z"
}
]
}
]
}Create a new vehicle
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The vehicle to create: name and attribute values.
| id | integer Unique identifier of the vehicle |
| version_id | integer Unique version identifier of the vehicle |
| vehicle_name required | string Name of the vehicle |
Array of objects (VehicleAttribute) Attribute values keyed by attribute type name. | |
| enabled | boolean False once the vehicle has been disabled. |
| created_on | string <date-time> When the vehicle was created. |
| modified_on | string <date-time> When the record was last changed. |
{- "id": 0,
- "version_id": 0,
- "vehicle_name": "string",
- "attributes": [
- {
- "name": "string",
- "value": "string"
}
], - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z"
}{- "id": 0,
- "version_id": 0,
- "vehicle_name": "string",
- "attributes": [
- {
- "name": "string",
- "value": "string"
}
], - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "assigned_devices": [
- {
- "id": 0,
- "version_id": 0,
- "device_name": "string",
- "imei": "string",
- "vehicle_id": 0,
- "config_id": 0,
- "device_networks": [
- {
- "device_version_id": 0,
- "network_id": 0,
- "name": "string",
- "interface": "string"
}
], - "enabled": true,
- "status": {
- "id": 0,
- "last_generated": 0,
- "last_received": 0
}, - "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z"
}
]
}Get vehicle by id
| id required | integer |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": 0,
- "version_id": 0,
- "vehicle_name": "string",
- "attributes": [
- {
- "name": "string",
- "value": "string"
}
], - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "assigned_devices": [
- {
- "id": 0,
- "version_id": 0,
- "device_name": "string",
- "imei": "string",
- "vehicle_id": 0,
- "config_id": 0,
- "device_networks": [
- {
- "device_version_id": 0,
- "network_id": 0,
- "name": "string",
- "interface": "string"
}
], - "enabled": true,
- "status": {
- "id": 0,
- "last_generated": 0,
- "last_received": 0
}, - "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z"
}
]
}Update an existing vehicle
| id required | integer |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The vehicle fields to store: name and attribute values.
| id | integer Unique identifier of the vehicle |
| version_id | integer Unique version identifier of the vehicle |
| vehicle_name required | string Name of the vehicle |
Array of objects (VehicleAttribute) Attribute values keyed by attribute type name. | |
| enabled | boolean False once the vehicle has been disabled. |
| created_on | string <date-time> When the vehicle was created. |
| modified_on | string <date-time> When the record was last changed. |
{- "id": 0,
- "version_id": 0,
- "vehicle_name": "string",
- "attributes": [
- {
- "name": "string",
- "value": "string"
}
], - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z"
}{- "id": 0,
- "version_id": 0,
- "vehicle_name": "string",
- "attributes": [
- {
- "name": "string",
- "value": "string"
}
], - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "assigned_devices": [
- {
- "id": 0,
- "version_id": 0,
- "device_name": "string",
- "imei": "string",
- "vehicle_id": 0,
- "config_id": 0,
- "device_networks": [
- {
- "device_version_id": 0,
- "network_id": 0,
- "name": "string",
- "interface": "string"
}
], - "enabled": true,
- "status": {
- "id": 0,
- "last_generated": 0,
- "last_received": 0
}, - "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z"
}
]
}Get List of all the available vehicle attributes
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "name": "string",
- "group": "string",
- "description": "string"
}
]
}Describe a new Vehicle Attribute
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The attribute type to create: its name, group and description.
| name required | string Name of the attribute |
| group required | string Group of the attribute |
| description | string Description of the attribute |
{- "name": "string",
- "group": "string",
- "description": "string"
}{- "name": "string",
- "group": "string",
- "description": "string"
}Set an attribute to disabled, this simply removes it from the attribute list. It can be added to the list again via a createAttribute call.
| prop required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
Get List of all the available device networks
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "id": 0,
- "name": "string"
}
]
}Create a new device Network
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The network to create.
| id | integer Unique identifier of the device network |
| name required | string Name of the network |
{- "id": 0,
- "name": "string"
}{- "id": 0,
- "name": "string"
}Update an existing device network
| id required | integer |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The new network name.
| id | integer Unique identifier of the device network |
| name required | string Name of the network |
{- "id": 0,
- "name": "string"
}{- "id": 0,
- "name": "string"
}List all of the available devices
| offset | integer <int32> >= 0 Default: 0 Number of items to skip before returning the results |
| limit | integer <int32> [ 1 .. 100 ] Default: 20 Limit on number of items to return |
| details | boolean Include vehicle and configuration details |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "id": 0,
- "version_id": 0,
- "device_name": "string",
- "imei": "string",
- "vehicle_id": 0,
- "config_id": 0,
- "device_networks": [
- {
- "device_version_id": 0,
- "network_id": 0,
- "name": "string",
- "interface": "string"
}
], - "enabled": true,
- "status": {
- "id": 0,
- "last_generated": 0,
- "last_received": 0
}, - "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "vehicle": {
- "id": 0,
- "version_id": 0,
- "vehicle_name": "string",
- "attributes": [
- {
- "name": "string",
- "value": "string"
}
], - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z"
}, - "config": {
- "id": 0,
- "version_id": 0,
- "name": "string",
- "version": 0,
- "description": "string",
- "spec": {
- "id": "string",
- "title": "string",
- "description": "string",
- "obd": {
- "enabled": true,
- "timer": "string",
- "network": 0
}, - "gps": {
- "enabled": true,
- "timer": "1s",
- "network": 0,
- "excludeFromMdf": true
}, - "can": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": null,
- "telemetry_group": null,
- "selected_signals": [ ],
- "signal_mask": null
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "xcp": [
- {
- "version": "string",
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "instance": "string",
- "transport": "CCP_ON_CAN",
- "measurements": [
- {
- "definition": null,
- "telemetry_group": null,
- "xcp_raster": null
}
]
}, - "network": 0
}
], - "diag": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": null,
- "telemetry_group": null,
- "selected_signals": [ ],
- "signal_mask": null
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "rmba": [
- {
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "measurements": [
- {
- "definition": null,
- "telemetry_group": null
}
]
}, - "network": 0,
- "property1": "string",
- "property2": "string"
}
], - "log": {
- "level": "panic"
}, - "local": {
- "enabled": true,
- "filename": "string",
- "chunk_seconds": 0,
- "compress": true
}
}, - "validation": {
- "can": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- null
]
}
]
}
], - "xcp": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- null
]
}
]
}
], - "diag": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- null
]
}
]
}
], - "rmba": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- null
]
}
]
}
]
}, - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "modified_by": "string",
- "networks": [
- 0
]
}, - "version": 0
}
]
}Get device by id
| id required | integer |
| details | boolean Include vehicle and configuration details |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": 0,
- "version_id": 0,
- "device_name": "string",
- "imei": "string",
- "vehicle_id": 0,
- "config_id": 0,
- "device_networks": [
- {
- "device_version_id": 0,
- "network_id": 0,
- "name": "string",
- "interface": "string"
}
], - "enabled": true,
- "status": {
- "id": 0,
- "last_generated": 0,
- "last_received": 0
}, - "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "vehicle": {
- "id": 0,
- "version_id": 0,
- "vehicle_name": "string",
- "attributes": [
- {
- "name": "string",
- "value": "string"
}
], - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z"
}, - "config": {
- "id": 0,
- "version_id": 0,
- "name": "string",
- "version": 0,
- "description": "string",
- "spec": {
- "id": "string",
- "title": "string",
- "description": "string",
- "obd": {
- "enabled": true,
- "timer": "string",
- "network": 0
}, - "gps": {
- "enabled": true,
- "timer": "1s",
- "network": 0,
- "excludeFromMdf": true
}, - "can": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- null
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "xcp": [
- {
- "version": "string",
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "instance": "string",
- "transport": "CCP_ON_CAN",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string",
- "xcp_raster": "string"
}
]
}, - "network": 0
}
], - "diag": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- null
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "rmba": [
- {
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string"
}
]
}, - "network": 0,
- "property1": "string",
- "property2": "string"
}
], - "log": {
- "level": "panic"
}, - "local": {
- "enabled": true,
- "filename": "string",
- "chunk_seconds": 0,
- "compress": true
}
}, - "validation": {
- "can": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "xcp": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "diag": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "rmba": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
]
}, - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "modified_by": "string",
- "networks": [
- 0
]
}, - "version": 0
}Update an existing device
| id required | integer |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The device fields to store: name, vehicle and configuration assignment.
| id | integer Unique identifier of the device |
| version_id | integer Unique version identifier of the device |
| device_name required | string Name of the device |
| imei required | string IMEI of the device |
| vehicle_id | integer Vehicle that the device is connected to |
| config_id | integer Configuration that is assigned to the device |
Array of objects (DeviceNetwork) How the device's physical network interfaces map to the project's networks. | |
| enabled | boolean False once the device has been disabled. |
object (DeviceStatus) Last-seen information for a device. | |
| created_on | string <date-time> When the device was registered. |
| modified_on | string <date-time> When the record was last changed. |
{- "id": 0,
- "version_id": 0,
- "device_name": "string",
- "imei": "string",
- "vehicle_id": 0,
- "config_id": 0,
- "device_networks": [
- {
- "device_version_id": 0,
- "network_id": 0,
- "name": "string",
- "interface": "string"
}
], - "enabled": true,
- "status": {
- "id": 0,
- "last_generated": 0,
- "last_received": 0
}, - "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z"
}{- "id": 0,
- "version_id": 0,
- "device_name": "string",
- "imei": "string",
- "vehicle_id": 0,
- "config_id": 0,
- "device_networks": [
- {
- "device_version_id": 0,
- "network_id": 0,
- "name": "string",
- "interface": "string"
}
], - "enabled": true,
- "status": {
- "id": 0,
- "last_generated": 0,
- "last_received": 0
}, - "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "vehicle": {
- "id": 0,
- "version_id": 0,
- "vehicle_name": "string",
- "attributes": [
- {
- "name": "string",
- "value": "string"
}
], - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z"
}, - "config": {
- "id": 0,
- "version_id": 0,
- "name": "string",
- "version": 0,
- "description": "string",
- "spec": {
- "id": "string",
- "title": "string",
- "description": "string",
- "obd": {
- "enabled": true,
- "timer": "string",
- "network": 0
}, - "gps": {
- "enabled": true,
- "timer": "1s",
- "network": 0,
- "excludeFromMdf": true
}, - "can": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- null
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "xcp": [
- {
- "version": "string",
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "instance": "string",
- "transport": "CCP_ON_CAN",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string",
- "xcp_raster": "string"
}
]
}, - "network": 0
}
], - "diag": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- null
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "rmba": [
- {
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string"
}
]
}, - "network": 0,
- "property1": "string",
- "property2": "string"
}
], - "log": {
- "level": "panic"
}, - "local": {
- "enabled": true,
- "filename": "string",
- "chunk_seconds": 0,
- "compress": true
}
}, - "validation": {
- "can": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "xcp": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "diag": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "rmba": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
]
}, - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "modified_by": "string",
- "networks": [
- 0
]
}, - "version": 0
}Get data-ingest byte totals for a single device, bucketed by period. The trip period returns one row per trip for the device.
| id required | integer Device id. |
| period required | string Enum: "daily" "monthly" "trip" Aggregation granularity. |
| start required | string <date> Start date (inclusive) in YYYY-MM-DD format. |
| end required | string <date> End date (inclusive) in YYYY-MM-DD format. |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "period": "daily",
- "start": "2019-08-24",
- "end": "2019-08-24",
- "by_device": true,
- "data": [
- {
- "time": "string",
- "bytes_measurement": 0,
- "bytes_transfer": 0,
- "device": "string",
- "vehicle": "string",
- "trip": "string"
}
]
}The device's status log across trips, newest first. Defaults to the last 90 days, the hot window kept in the database; entries of older trips are reachable per trip through GET /trips/{trip}/status.
| id required | integer Device id. |
| start | integer <int64> Range start (inclusive) as Unix milliseconds. Defaults to 90 days ago. |
| end | integer <int64> Range end (exclusive) as Unix milliseconds. Defaults to now. |
| limit | integer Maximum number of entries to return. |
| offset | integer Number of entries to skip. |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
[- {
- "timestamp": 1757280000,
- "name": "vicar",
- "version": "",
- "severity": "warning",
- "record": "CAN1: bus-off recovered after 3 retries",
- "date": "2026-09-07T20:00:00.123456789Z"
}
]Get list of all available configurations
| offset | integer <int32> >= 0 Default: 0 Number of items to skip before returning the results |
| limit | integer <int32> [ 1 .. 100 ] Default: 20 Limit on number of items to return |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "id": 0,
- "version_id": 0,
- "name": "string",
- "version": 0,
- "description": "string",
- "spec": {
- "id": "string",
- "title": "string",
- "description": "string",
- "obd": {
- "enabled": true,
- "timer": "string",
- "network": 0
}, - "gps": {
- "enabled": true,
- "timer": "1s",
- "network": 0,
- "excludeFromMdf": true
}, - "can": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": null,
- "name": null,
- "description": null,
- "length": null,
- "cycle_time_ms": null,
- "signals": [ ]
}, - "telemetry_group": "string",
- "selected_signals": [
- null
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "xcp": [
- {
- "version": "string",
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "instance": "string",
- "transport": "CCP_ON_CAN",
- "measurements": [
- {
- "definition": {
- "name": null,
- "description": null,
- "ecu_address": null,
- "unit": null,
- "size": null,
- "disabled_reason": null
}, - "telemetry_group": "string",
- "xcp_raster": "string"
}
]
}, - "network": 0
}
], - "diag": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": null,
- "name": null,
- "description": null,
- "length": null,
- "cycle_time_ms": null,
- "signals": [ ]
}, - "telemetry_group": "string",
- "selected_signals": [
- null
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "rmba": [
- {
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "measurements": [
- {
- "definition": {
- "name": null,
- "description": null,
- "ecu_address": null,
- "unit": null,
- "size": null,
- "disabled_reason": null
}, - "telemetry_group": "string"
}
]
}, - "network": 0,
- "property1": "string",
- "property2": "string"
}
], - "log": {
- "level": "panic"
}, - "local": {
- "enabled": true,
- "filename": "string",
- "chunk_seconds": 0,
- "compress": true
}
}, - "validation": {
- "can": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "xcp": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "diag": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "rmba": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
]
}, - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "modified_by": "string",
- "networks": [
- 0
]
}
]
}Create a new configuration
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The configuration to create. Server-assigned fields (id, version, timestamps) are ignored.
| id | integer Unique identifier of the configuration |
| version_id | integer Unique version identifier of the configurations |
| name | string Name of the configuration |
| version | integer Version of the configuration |
| description | string Description of the configuration |
object (ConfigSpec) | |
object (ConfigValidation) Validation results per source type, one entry per selected dictionary. | |
| enabled | boolean Whether this configuration is active |
| created_on | string <date-time> When the configuration was created. |
| modified_on | string <date-time> When this version was saved. |
| modified_by | string User that last modified the configuration |
| networks | Array of integers Ids of the device networks the configuration records from. |
{- "id": 0,
- "version_id": 0,
- "name": "string",
- "version": 0,
- "description": "string",
- "spec": {
- "id": "string",
- "title": "string",
- "description": "string",
- "obd": {
- "enabled": true,
- "timer": "string",
- "network": 0
}, - "gps": {
- "enabled": true,
- "timer": "1s",
- "network": 0,
- "excludeFromMdf": true
}, - "can": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "xcp": [
- {
- "version": "string",
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "instance": "string",
- "transport": "CCP_ON_CAN",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string",
- "xcp_raster": "string"
}
]
}, - "network": 0
}
], - "diag": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "rmba": [
- {
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string"
}
]
}, - "network": 0,
- "property1": "string",
- "property2": "string"
}
], - "log": {
- "level": "panic"
}, - "local": {
- "enabled": true,
- "filename": "string",
- "chunk_seconds": 0,
- "compress": true
}
}, - "validation": {
- "can": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "xcp": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "diag": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "rmba": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
]
}, - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "modified_by": "string",
- "networks": [
- 0
]
}{- "id": 0,
- "version_id": 0,
- "name": "string",
- "version": 0,
- "description": "string",
- "spec": {
- "id": "string",
- "title": "string",
- "description": "string",
- "obd": {
- "enabled": true,
- "timer": "string",
- "network": 0
}, - "gps": {
- "enabled": true,
- "timer": "1s",
- "network": 0,
- "excludeFromMdf": true
}, - "can": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "xcp": [
- {
- "version": "string",
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "instance": "string",
- "transport": "CCP_ON_CAN",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string",
- "xcp_raster": "string"
}
]
}, - "network": 0
}
], - "diag": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "rmba": [
- {
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string"
}
]
}, - "network": 0,
- "property1": "string",
- "property2": "string"
}
], - "log": {
- "level": "panic"
}, - "local": {
- "enabled": true,
- "filename": "string",
- "chunk_seconds": 0,
- "compress": true
}
}, - "validation": {
- "can": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "xcp": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "diag": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "rmba": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
]
}, - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "modified_by": "string",
- "networks": [
- 0
]
}Get configuration by id
| id required | integer |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": 0,
- "version_id": 0,
- "name": "string",
- "version": 0,
- "description": "string",
- "spec": {
- "id": "string",
- "title": "string",
- "description": "string",
- "obd": {
- "enabled": true,
- "timer": "string",
- "network": 0
}, - "gps": {
- "enabled": true,
- "timer": "1s",
- "network": 0,
- "excludeFromMdf": true
}, - "can": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "xcp": [
- {
- "version": "string",
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "instance": "string",
- "transport": "CCP_ON_CAN",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string",
- "xcp_raster": "string"
}
]
}, - "network": 0
}
], - "diag": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "rmba": [
- {
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string"
}
]
}, - "network": 0,
- "property1": "string",
- "property2": "string"
}
], - "log": {
- "level": "panic"
}, - "local": {
- "enabled": true,
- "filename": "string",
- "chunk_seconds": 0,
- "compress": true
}
}, - "validation": {
- "can": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "xcp": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "diag": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "rmba": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
]
}, - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "modified_by": "string",
- "networks": [
- 0
]
}Update an existing configuration
| id required | integer |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The complete new configuration; stored as a new version that becomes the current one.
| id | integer Unique identifier of the configuration |
| version_id | integer Unique version identifier of the configurations |
| name | string Name of the configuration |
| version | integer Version of the configuration |
| description | string Description of the configuration |
object (ConfigSpec) | |
object (ConfigValidation) Validation results per source type, one entry per selected dictionary. | |
| enabled | boolean Whether this configuration is active |
| created_on | string <date-time> When the configuration was created. |
| modified_on | string <date-time> When this version was saved. |
| modified_by | string User that last modified the configuration |
| networks | Array of integers Ids of the device networks the configuration records from. |
{- "id": 0,
- "version_id": 0,
- "name": "string",
- "version": 0,
- "description": "string",
- "spec": {
- "id": "string",
- "title": "string",
- "description": "string",
- "obd": {
- "enabled": true,
- "timer": "string",
- "network": 0
}, - "gps": {
- "enabled": true,
- "timer": "1s",
- "network": 0,
- "excludeFromMdf": true
}, - "can": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "xcp": [
- {
- "version": "string",
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "instance": "string",
- "transport": "CCP_ON_CAN",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string",
- "xcp_raster": "string"
}
]
}, - "network": 0
}
], - "diag": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "rmba": [
- {
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string"
}
]
}, - "network": 0,
- "property1": "string",
- "property2": "string"
}
], - "log": {
- "level": "panic"
}, - "local": {
- "enabled": true,
- "filename": "string",
- "chunk_seconds": 0,
- "compress": true
}
}, - "validation": {
- "can": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "xcp": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "diag": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "rmba": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
]
}, - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "modified_by": "string",
- "networks": [
- 0
]
}{- "id": 0,
- "version_id": 0,
- "name": "string",
- "version": 0,
- "description": "string",
- "spec": {
- "id": "string",
- "title": "string",
- "description": "string",
- "obd": {
- "enabled": true,
- "timer": "string",
- "network": 0
}, - "gps": {
- "enabled": true,
- "timer": "1s",
- "network": 0,
- "excludeFromMdf": true
}, - "can": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "xcp": [
- {
- "version": "string",
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "instance": "string",
- "transport": "CCP_ON_CAN",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string",
- "xcp_raster": "string"
}
]
}, - "network": 0
}
], - "diag": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "rmba": [
- {
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string"
}
]
}, - "network": 0,
- "property1": "string",
- "property2": "string"
}
], - "log": {
- "level": "panic"
}, - "local": {
- "enabled": true,
- "filename": "string",
- "chunk_seconds": 0,
- "compress": true
}
}, - "validation": {
- "can": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "xcp": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "diag": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "rmba": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
]
}, - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "modified_by": "string",
- "networks": [
- 0
]
}Duplicate a configuration
| id required | integer |
| title required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": 0,
- "version_id": 0,
- "name": "string",
- "version": 0,
- "description": "string",
- "spec": {
- "id": "string",
- "title": "string",
- "description": "string",
- "obd": {
- "enabled": true,
- "timer": "string",
- "network": 0
}, - "gps": {
- "enabled": true,
- "timer": "1s",
- "network": 0,
- "excludeFromMdf": true
}, - "can": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "xcp": [
- {
- "version": "string",
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "instance": "string",
- "transport": "CCP_ON_CAN",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string",
- "xcp_raster": "string"
}
]
}, - "network": 0
}
], - "diag": [
- {
- "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "messages": [
- {
- "definition": {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": null,
- "description": null,
- "unit": null
}
]
}, - "telemetry_group": "string",
- "selected_signals": [
- "string"
], - "signal_mask": 0
}
]
}, - "busdefinition": "string",
- "network": 0
}
], - "rmba": [
- {
- "ecudefinition": "string",
- "seednkey": {
- "enabled": true,
- "algorithm": "string"
}, - "selection": {
- "plugin": "string",
- "miniplugin": "string",
- "measurements": [
- {
- "definition": {
- "name": "string",
- "description": "string",
- "ecu_address": "string",
- "unit": "string",
- "size": 0,
- "disabled_reason": "string"
}, - "telemetry_group": "string"
}
]
}, - "network": 0,
- "property1": "string",
- "property2": "string"
}
], - "log": {
- "level": "panic"
}, - "local": {
- "enabled": true,
- "filename": "string",
- "chunk_seconds": 0,
- "compress": true
}
}, - "validation": {
- "can": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "xcp": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "diag": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
], - "rmba": [
- {
- "issues": [
- {
- "id": 0,
- "name": "string",
- "messages": [
- "string"
]
}
]
}
]
}, - "enabled": true,
- "created_on": "2019-08-24T14:15:22Z",
- "modified_on": "2019-08-24T14:15:22Z",
- "modified_by": "string",
- "networks": [
- 0
]
}Manifest of the configuration's signal catalog for event-expression completion and validation: the immutable catalog pieces (one per miniplugin of the current version, plus the built-in OBD and GPS dictionaries when enabled) to fetch from GET /catalogs/{version}/{pieceId} and merge. Served with an ETag; answers 304 to a matching If-None-Match.
| id required | integer |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "catalog_version": 0,
- "config_version": 0,
- "pieces": [
- {
- "id": "string",
- "kind": "attached",
- "dictionary_id": "string",
- "source": "string",
- "group": "string"
}
]
}One immutable signal-catalog piece, addressed by catalog format version and content hash (see GET /configs/{id}/signal-catalog for the list of pieces a configuration needs). The response is a single-dictionary celcheck catalog JSON — data/eventmachine/emlite/celcheck is the source of truth for its shape — and is served with an immutable Cache-Control.
| version required | integer |
| pieceId required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{ }Get a list of all data dictionaries for the current project
| offset | integer <int32> >= 0 Default: 0 Number of items to skip before returning the results |
| limit | integer <int32> [ 1 .. 100 ] Default: 20 Limit on number of items to return |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "id": "string",
- "filename": "string",
- "filetype": "a2l",
- "definition_type": "CAN",
- "group": "string",
- "active_config_count": 0,
- "raw_path": "string",
- "processed_path": "string",
- "parse_error": "string",
- "created_on": "2019-08-24T14:15:22Z"
}
]
}Get a pre-signed URL for uploading a new data dictionary file to S3
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
File name, type and group of the dictionary to upload; the response carries the pre-signed upload URL.
| filename required | string Name of the file to upload |
| filetype required | string (DataDictionaryFiletype) Enum: "a2l" "arxml" "dbc" "xlsm" "xlsx" File extension type for data dictionaries |
| group | string Data group (InfluxDB measurement name) for the new dictionary. Omit for the default of the file type (can, ecu or uds). 1-64 characters of letters, digits, '_' and '-'; built-in measurement names and file extensions are reserved. |
{- "filename": "string",
- "filetype": "a2l",
- "group": "string"
}{- "upload_id": "string",
- "part_size": 0,
- "dictionary": {
- "id": "string",
- "filename": "string",
- "filetype": "a2l",
- "definition_type": "CAN",
- "group": "string",
- "active_config_count": 0,
- "raw_path": "string",
- "processed_path": "string",
- "parse_error": "string",
- "created_on": "2019-08-24T14:15:22Z"
}
}Get a specific data dictionary by ID
| id required | string ID of the data dictionary |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": "string",
- "filename": "string",
- "filetype": "a2l",
- "definition_type": "CAN",
- "group": "string",
- "active_config_count": 0,
- "raw_path": "string",
- "processed_path": "string",
- "parse_error": "string",
- "created_on": "2019-08-24T14:15:22Z"
}Change the data group for data dictionary
| id required | string ID of the data dictionary to update |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The new group name: 1-64 characters of letters, digits, _ and -; built-in measurement names and file extensions are reserved.
| group required | string Data group (InfluxDB measurement name). 1-64 characters of letters, digits, '_' and '-'; built-in measurement names and file extensions are reserved. Set to the file type's default (can, ecu or uds) to reset. |
{- "group": "string"
}{- "id": "string",
- "filename": "string",
- "filetype": "a2l",
- "definition_type": "CAN",
- "group": "string",
- "active_config_count": 0,
- "raw_path": "string",
- "processed_path": "string",
- "parse_error": "string",
- "created_on": "2019-08-24T14:15:22Z"
}Get the CloudFront URL for downloading the raw data dictionary file
| id required | string ID of the data dictionary to retrieve |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{
}Get the CAN definition from a data dictionary by ID
| id required | string ID of the data dictionary to retrieve CAN definition from |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{
}Get the XCP definition from a data dictionary by ID
| id required | string ID of the data dictionary to retrieve XCP definition from |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{
}Get the diagnostic definition from a data dictionary by ID
| id required | string ID of the data dictionary to retrieve diagnostic definition from |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{
}Complete a multipart upload by finalizing all uploaded parts in S3
| id required | string ID of the data dictionary |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The multipart upload id and the ETags of the uploaded parts.
| upload_id required | string S3 multipart upload ID returned by the initiate endpoint |
required | Array of objects (CompletedPart) List of completed parts with ETags |
{- "upload_id": "string",
- "parts": [
- {
- "etag": "string",
- "part_number": 0
}
]
}{- "id": "string",
- "filename": "string",
- "filetype": "a2l",
- "definition_type": "CAN",
- "group": "string",
- "active_config_count": 0,
- "raw_path": "string",
- "processed_path": "string",
- "parse_error": "string",
- "created_on": "2019-08-24T14:15:22Z"
}Abort a multipart upload and clean up S3 parts and the dictionary record
| id required | string ID of the data dictionary |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The multipart upload to abort.
| upload_id required | string S3 multipart upload ID to abort |
{- "upload_id": "string"
}{- "status": "string"
}Get the OBD definition from a data dictionary
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": "string",
- "messages": [
- {
- "id": 0,
- "name": "string",
- "description": "string",
- "length": 0,
- "cycle_time_ms": 0,
- "signals": [
- {
- "name": "string",
- "description": "string",
- "unit": "string"
}
]
}
]
}Get information about project trips
| offset | integer <int32> >= 0 Default: 0 Number of items to skip before returning the results |
| limit | integer <int32> [ 1 .. 100 ] Default: 20 Limit on number of items to return |
| search | string Search for trips that contain the provided string. |
| devices | string Comma-separated list of devices to limit trips to. |
| start | integer <int64> Consider only trips with first_seen time after start. Unix milliseconds timestamp. |
| end | integer <int64> Consider only trips with last_seen time before end. Unix milliseconds timestamp. |
| vehicle | string Comma-separated list of vehicle names. Only trips associated with any of the provided vehicle names are returned. Case-sensitive exact match. |
| config | string Comma-separated list of configuration names. Only trips associated with any of the provided configuration names are returned. Case-sensitive exact match. |
| signals | string Comma-separated list of signal names. Only trips that contain ALL of the specified signals are returned (AND semantics). Uses GIN index on trip_miniplugin_map for fast lookup. Case-insensitive via citext. |
| status | string Comma-separated list of trip status values (0=Error, 1=Warning, 2=OK, 3=Unknown). Only trips whose status matches any of the provided values are returned (OR semantics). |
| sort_by | string Enum: "vehicle_name" "configuration" "first_seen" "last_seen" "duration" Column to sort by. Omit or leave blank to use the default ordering (last_seen DESC, first_seen DESC). |
| sort_dir | string Enum: "asc" "desc" Sort direction. Only effective when sort_by is also provided. NULL values in vehicle_name and configuration always sort last. |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "id": "string",
- "device": "string",
- "device_name": "string",
- "vehicle_name": "string",
- "configuration": "string",
- "first_seen": 0,
- "last_seen": 0,
- "event_count": 0,
- "status": 0
}
]
}Get the distinct vehicle names, configuration names, and signal names that appear across trips in the project. Each list is narrowed by all OTHER active filters (faceted search) so dropdowns only show values compatible with current selections. When no filter parameters are provided, all values across all trips are returned.
| vehicles | string Comma-separated vehicle names. Narrows configs and signals facets to trips associated with these vehicles. |
| configs | string Comma-separated configuration names. Narrows vehicles and signals facets to trips with these configurations. |
| devices | string Comma-separated device IMEIs. Narrows all facets to trips from these devices. |
| signals | string Comma-separated signal names. Narrows vehicles and configs facets to trips containing ALL of these signals (AND semantics). |
| start | integer <int64> Consider only trips with first_seen after this time. Unix milliseconds timestamp. |
| end | integer <int64> Consider only trips with last_seen before this time. Unix milliseconds timestamp. |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "vehicles": [
- "string"
], - "configs": [
- "string"
], - "signals": [
- "string"
]
}The device's status log for one trip. Trips recorded since 1.7.0 are served from the status-log table, where limit and offset apply; older trips fall back to the archived per-trip history, which is returned whole.
| trip required | string Trip id. |
| limit | integer Maximum number of entries to return. |
| offset | integer Number of entries to skip. |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
[- {
- "timestamp": 1757280000,
- "name": "vicar",
- "version": "",
- "severity": "warning",
- "record": "CAN1: bus-off recovered after 3 retries",
- "date": "2026-09-07T20:00:00.123456789Z"
}
]Get detailed signal information from a trip
| trip required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": "string",
- "device": "string",
- "device_name": "string",
- "vehicle_name": "string",
- "configuration": "string",
- "first_seen": 0,
- "last_seen": 0,
- "event_count": 0,
- "status": 0,
- "miniplugins": [
- {
- "miniplugin_id": "string",
- "miniplugin_name": "string",
- "signals": [
- "string"
]
}
]
}List files associated with a trip
| trip required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "path": "string",
- "date": 0,
- "end_date": 0,
- "file_type": "raw-unsorted",
- "size": 0
}
]
}List the events the device detected during a trip. Events found by cloud runs are listed per run instead.
| trip required | string Trip id. |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "data": [
- {
- "instance_id": "string",
- "name": "string",
- "definition_id": "string",
- "start": 0,
- "end": 0,
- "summary": { }
}
]
}Event definitions, expression validation and cloud runs. Conditions and calculated signals are CEL expressions over a configuration's signal catalog: signals by name, dt (seconds since the previous step), time (timestamp of the step), and the functions last(signal[, default]), delay(condition, seconds) and filter(name, input, time_constant).
List the project's enabled event definitions, each at its current version.
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "data": [
- {
- "id": "3f1c0f0e-8d2a-4b8e-9d1f-2c7a5e6b4a10",
- "version_id": 42,
- "version": 3,
- "name": "Hard braking",
- "description": "Deceleration above 4 m/s² held for at least half a second.",
- "authoring_config_id": 17,
- "start_condition": "decel > 4.0",
- "end_condition": "decel < 1.0",
- "calculated_signals": [
- {
- "name": "decel",
- "expr": "-(Speed - last(Speed, Speed)) / dt / 3.6"
}
], - "extra_signals": [
- "Engine_RPM"
], - "min_duration_s": 0.5,
- "pre_roll_s": 5,
- "post_roll_s": 5,
- "cooldown_s": 10,
- "run_count": 2,
- "modified_by": "jane.doe",
- "modified": 1757280000000
}
]
}Create an event definition as version 1. The server mints id when the body has none. Only name and start_condition are checked here; use POST /events/validate-expression to check the expressions.
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The definition. version, version_id, run_count, modified and modified_by are ignored.
| id required | string Stable identifier referenced by ConfigSpec events mappings. Minted by the server when omitted on create. |
| version_id | integer <int64> Identifier of the current version. Read-only; PUT creates a new version. |
| version | integer Version number, starting at 1. Read-only; PUT creates a new version. |
| name required | string Display name; also the file name of the definition's YAML export. |
| description | string Free text shown with the definition. |
| authoring_config_id | integer Configuration whose signal catalog the definition is authored against. Workspace context only; changing it does not create a new version by itself and it does not restrict where the definition can run. |
| start_condition required | string CEL expression; the event starts when it becomes true. Must evaluate to a boolean. |
| end_condition | string CEL expression; the event ends when it becomes true. Must evaluate to a boolean. Empty means the event ends when start_condition becomes false. |
Array of objects (Calculated Signal) Named intermediate expressions. Each is available by name to the conditions and to the other calculated signals, and is summarised with every occurrence. | |
| extra_signals | Array of strings Catalog signals recorded and summarised with every occurrence although no condition or calculated signal references them. |
| min_duration_s | number Seconds. Events shorter than this are dropped at completion. |
| pre_roll_s | number Seconds of capture window before the start edge. |
| post_roll_s | number Seconds of capture window after the end edge. |
| cooldown_s | number Seconds after an event ends before the same definition may start another one. |
| modified_by | string User who saved the current version. |
| modified | integer <int64> Unix milliseconds of the last modification. |
{- "id": "3f1c0f0e-8d2a-4b8e-9d1f-2c7a5e6b4a10",
- "version_id": 42,
- "version": 3,
- "name": "Hard braking",
- "description": "Deceleration above 4 m/s² held for at least half a second.",
- "authoring_config_id": 17,
- "start_condition": "decel > 4.0",
- "end_condition": "decel < 1.0",
- "calculated_signals": [
- {
- "name": "decel",
- "expr": "-(Speed - last(Speed, Speed)) / dt / 3.6"
}
], - "extra_signals": [
- "Engine_RPM"
], - "min_duration_s": 0.5,
- "pre_roll_s": 5,
- "post_roll_s": 5,
- "cooldown_s": 10,
- "run_count": 2,
- "modified_by": "jane.doe",
- "modified": 1757280000000
}{- "id": "3f1c0f0e-8d2a-4b8e-9d1f-2c7a5e6b4a10",
- "version_id": 42,
- "version": 3,
- "name": "Hard braking",
- "description": "Deceleration above 4 m/s² held for at least half a second.",
- "authoring_config_id": 17,
- "start_condition": "decel > 4.0",
- "end_condition": "decel < 1.0",
- "calculated_signals": [
- {
- "name": "decel",
- "expr": "-(Speed - last(Speed, Speed)) / dt / 3.6"
}
], - "extra_signals": [
- "Engine_RPM"
], - "min_duration_s": 0.5,
- "pre_roll_s": 5,
- "post_roll_s": 5,
- "cooldown_s": 10,
- "run_count": 2,
- "modified_by": "jane.doe",
- "modified": 1757280000000
}Get an event definition at its current version.
| id required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": "3f1c0f0e-8d2a-4b8e-9d1f-2c7a5e6b4a10",
- "version_id": 42,
- "version": 3,
- "name": "Hard braking",
- "description": "Deceleration above 4 m/s² held for at least half a second.",
- "authoring_config_id": 17,
- "start_condition": "decel > 4.0",
- "end_condition": "decel < 1.0",
- "calculated_signals": [
- {
- "name": "decel",
- "expr": "-(Speed - last(Speed, Speed)) / dt / 3.6"
}
], - "extra_signals": [
- "Engine_RPM"
], - "min_duration_s": 0.5,
- "pre_roll_s": 5,
- "post_roll_s": 5,
- "cooldown_s": 10,
- "run_count": 2,
- "modified_by": "jane.doe",
- "modified": 1757280000000
}Replace the definition. The change is stored as a new version and becomes the current one; earlier versions stay readable through the runs that executed them. Only name and start_condition are checked here.
| id required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The complete new version. version, version_id, run_count, modified and modified_by are ignored.
| id required | string Stable identifier referenced by ConfigSpec events mappings. Minted by the server when omitted on create. |
| version_id | integer <int64> Identifier of the current version. Read-only; PUT creates a new version. |
| version | integer Version number, starting at 1. Read-only; PUT creates a new version. |
| name required | string Display name; also the file name of the definition's YAML export. |
| description | string Free text shown with the definition. |
| authoring_config_id | integer Configuration whose signal catalog the definition is authored against. Workspace context only; changing it does not create a new version by itself and it does not restrict where the definition can run. |
| start_condition required | string CEL expression; the event starts when it becomes true. Must evaluate to a boolean. |
| end_condition | string CEL expression; the event ends when it becomes true. Must evaluate to a boolean. Empty means the event ends when start_condition becomes false. |
Array of objects (Calculated Signal) Named intermediate expressions. Each is available by name to the conditions and to the other calculated signals, and is summarised with every occurrence. | |
| extra_signals | Array of strings Catalog signals recorded and summarised with every occurrence although no condition or calculated signal references them. |
| min_duration_s | number Seconds. Events shorter than this are dropped at completion. |
| pre_roll_s | number Seconds of capture window before the start edge. |
| post_roll_s | number Seconds of capture window after the end edge. |
| cooldown_s | number Seconds after an event ends before the same definition may start another one. |
| modified_by | string User who saved the current version. |
| modified | integer <int64> Unix milliseconds of the last modification. |
{- "id": "3f1c0f0e-8d2a-4b8e-9d1f-2c7a5e6b4a10",
- "version_id": 42,
- "version": 3,
- "name": "Hard braking",
- "description": "Deceleration above 4 m/s² held for at least half a second.",
- "authoring_config_id": 17,
- "start_condition": "decel > 4.0",
- "end_condition": "decel < 1.0",
- "calculated_signals": [
- {
- "name": "decel",
- "expr": "-(Speed - last(Speed, Speed)) / dt / 3.6"
}
], - "extra_signals": [
- "Engine_RPM"
], - "min_duration_s": 0.5,
- "pre_roll_s": 5,
- "post_roll_s": 5,
- "cooldown_s": 10,
- "run_count": 2,
- "modified_by": "jane.doe",
- "modified": 1757280000000
}{- "id": "3f1c0f0e-8d2a-4b8e-9d1f-2c7a5e6b4a10",
- "version_id": 42,
- "version": 3,
- "name": "Hard braking",
- "description": "Deceleration above 4 m/s² held for at least half a second.",
- "authoring_config_id": 17,
- "start_condition": "decel > 4.0",
- "end_condition": "decel < 1.0",
- "calculated_signals": [
- {
- "name": "decel",
- "expr": "-(Speed - last(Speed, Speed)) / dt / 3.6"
}
], - "extra_signals": [
- "Engine_RPM"
], - "min_duration_s": 0.5,
- "pre_roll_s": 5,
- "post_roll_s": 5,
- "cooldown_s": 10,
- "run_count": 2,
- "modified_by": "jane.doe",
- "modified": 1757280000000
}List the cloud runs of an event definition, newest first.
| id required | string |
| offset | integer <int32> >= 0 Default: 0 Number of items to skip before returning the results |
| limit | integer <int32> [ 1 .. 100 ] Default: 20 Limit on number of items to return |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "id": "9b7d2c0a-1e4f-4a6b-8c3d-5f0e7a9b1c2d",
- "definition_id": "3f1c0f0e-8d2a-4b8e-9d1f-2c7a5e6b4a10",
- "version_id": 42,
- "version": 3,
- "state": "succeeded",
- "filter": {
- "start": 1756684800000,
- "end": 1757289600000,
- "vehicles": [
- "Truck 12"
]
}, - "summary": {
- "events_found": 17,
- "trips_selected": 38,
- "trips_analyzed": 37,
- "trips_failed": 1,
- "trips_missing": 0,
- "occurrences_truncated": 0
}, - "error": "1 of 38 trips failed: trip has no raw-sorted chunks",
- "created_by": "jane.doe",
- "created": 1757290000000,
- "completed": 1757290185000,
- "output_prefix": "events/runs/9b7d2c0a-1e4f-4a6b-8c3d-5f0e7a9b1c2d/"
}
]
}Start an asynchronous run of the definition's current version over the trips matching the filter. The response is the run in state pending; poll GET /eventdefinitions/{id}/runs/{runId} until state is terminal, then list its occurrences. Before starting, the definition's expressions are compiled against the authoring configuration's catalog: a definition that does not compile is rejected with 400 and diagnostics, and a filter that selects no trip carrying every measured signal is rejected with 422. Use POST /eventdefinitions/{id}/runs/preview to check the selection first.
| id required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
Trip selection and an optional description. An empty object selects every trip.
| start | integer <int64> Unix milliseconds; trips whose last_seen is at or after this. Omit for no lower bound. |
| end | integer <int64> Unix milliseconds; trips whose first_seen is at or before this. Omit for no upper bound. |
| vehicles | Array of strings Vehicle names; any of. |
| devices | Array of strings Device IMEIs; any of. |
| configs | Array of strings Configuration names; any of. |
| description | string Free text recorded with the run. |
{- "start": 1756684800000,
- "end": 1757289600000,
- "vehicles": [
- "Truck 12",
- "Truck 14"
], - "description": "Week 36, both test trucks"
}{- "id": "9b7d2c0a-1e4f-4a6b-8c3d-5f0e7a9b1c2d",
- "definition_id": "3f1c0f0e-8d2a-4b8e-9d1f-2c7a5e6b4a10",
- "version_id": 42,
- "version": 3,
- "state": "succeeded",
- "filter": {
- "start": 1756684800000,
- "end": 1757289600000,
- "vehicles": [
- "Truck 12"
]
}, - "summary": {
- "events_found": 17,
- "trips_selected": 38,
- "trips_analyzed": 37,
- "trips_failed": 1,
- "trips_missing": 0,
- "occurrences_truncated": 0
}, - "error": "1 of 38 trips failed: trip has no raw-sorted chunks",
- "created_by": "jane.doe",
- "created": 1757290000000,
- "completed": 1757290185000,
- "output_prefix": "events/runs/9b7d2c0a-1e4f-4a6b-8c3d-5f0e7a9b1c2d/"
}Resolve a run filter without starting a run: how many trips would be analyzed, how many bytes they hold, how many matching trips lack a measured signal, and which signals the run would bind. Applies the same expression check as starting a run.
| id required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The trip selection to resolve. An empty object selects every trip.
| start | integer <int64> Unix milliseconds; trips whose last_seen is at or after this. Omit for no lower bound. |
| end | integer <int64> Unix milliseconds; trips whose first_seen is at or before this. Omit for no upper bound. |
| vehicles | Array of strings Vehicle names; any of. |
| devices | Array of strings Device IMEIs; any of. |
| configs | Array of strings Configuration names; any of. |
| description | string Free text recorded with the run. |
{- "start": 1756684800000,
- "end": 1757289600000,
- "vehicles": [
- "Truck 12",
- "Truck 14"
], - "description": "Week 36, both test trucks"
}{- "trips": 38,
- "bytes": 5242880000,
- "dropped_no_signals": 2,
- "signals": [
- "SpdAltTrq.Speed",
- "Engine.Engine_RPM"
], - "version": 3
}Get one cloud run. A run whose execution ended without reporting back is reconciled here and returned in its final state.
| id required | string |
| runId required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": "9b7d2c0a-1e4f-4a6b-8c3d-5f0e7a9b1c2d",
- "definition_id": "3f1c0f0e-8d2a-4b8e-9d1f-2c7a5e6b4a10",
- "version_id": 42,
- "version": 3,
- "state": "succeeded",
- "filter": {
- "start": 1756684800000,
- "end": 1757289600000,
- "vehicles": [
- "Truck 12"
]
}, - "summary": {
- "events_found": 17,
- "trips_selected": 38,
- "trips_analyzed": 37,
- "trips_failed": 1,
- "trips_missing": 0,
- "occurrences_truncated": 0
}, - "error": "1 of 38 trips failed: trip has no raw-sorted chunks",
- "created_by": "jane.doe",
- "created": 1757290000000,
- "completed": 1757290185000,
- "output_prefix": "events/runs/9b7d2c0a-1e4f-4a6b-8c3d-5f0e7a9b1c2d/"
}Stop a pending or running cloud run. The run moves to stopped and keeps the results written so far. A run that already finished is returned unchanged.
| id required | string |
| runId required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": "9b7d2c0a-1e4f-4a6b-8c3d-5f0e7a9b1c2d",
- "definition_id": "3f1c0f0e-8d2a-4b8e-9d1f-2c7a5e6b4a10",
- "version_id": 42,
- "version": 3,
- "state": "succeeded",
- "filter": {
- "start": 1756684800000,
- "end": 1757289600000,
- "vehicles": [
- "Truck 12"
]
}, - "summary": {
- "events_found": 17,
- "trips_selected": 38,
- "trips_analyzed": 37,
- "trips_failed": 1,
- "trips_missing": 0,
- "occurrences_truncated": 0
}, - "error": "1 of 38 trips failed: trip has no raw-sorted chunks",
- "created_by": "jane.doe",
- "created": 1757290000000,
- "completed": 1757290185000,
- "output_prefix": "events/runs/9b7d2c0a-1e4f-4a6b-8c3d-5f0e7a9b1c2d/"
}List the events a cloud run found, joined with the vehicle and device names. Paged by trip with limit and offset: a page holds every occurrence of up to limit trips, newest trip first and in time order within a trip, and the page info counts trips. The complete list is also available as results.json under the run's output_prefix.
| id required | string |
| runId required | string |
| offset | integer <int32> >= 0 Default: 0 Number of items to skip before returning the results |
| limit | integer <int32> [ 1 .. 100 ] Default: 20 Limit on number of items to return |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "id": 5081,
- "trip_id": "358700000000001-000123",
- "vehicle_name": "Truck 12",
- "device_name": "Cab unit",
- "device": "358700000000001",
- "start": 1756800123000,
- "end": 1756800125400,
- "trip_start": 1756798800000,
- "window_start": 1756800118000,
- "window_end": 1756800130400,
- "summary": {
- "decel": {
- "min": 4.1,
- "max": 6.8,
- "mean": 5.2
}, - "Speed": {
- "min": 31.5,
- "max": 48.2,
- "mean": 40.1
}
}
}
]
}Check one CEL expression against a configuration's signal catalog: syntax, signal names, result type for the given field, and whether it could also run on the device. Use it while authoring; a definition is saved without this check and checked again when a cloud run starts. The diagnostics carry character offsets into the expression and, where possible, quick-fix suggestions.
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The expression, the slot it fills, and the configuration whose catalog to check it against.
| config_id required | integer Configuration whose attached dictionaries form the signal catalog. |
| expression required | string The expression to check. For |
| field required | string Enum: "start" "end" "calc" "signal" Which slot of the definition the expression fills; it decides the required result type. |
| calc_signals | Array of strings Names of calculated signals declared alongside the expression, so that references to them are not reported as unknown signals. |
{- "config_id": 17,
- "expression": "decel > 4.0 && Speed > 30",
- "field": "start",
- "calc_signals": [
- "decel"
]
}{- "valid": false,
- "diagnostics": [
- {
- "from": 14,
- "to": 19,
- "severity": "error",
- "message": "unknown signal \"Sped\"",
- "code": "unknown-signal",
- "suggestions": [
- "Speed"
]
}
], - "liteCompat": false,
- "liteReasons": [
- "unknown signal \"Sped\""
], - "signals": [
- "decel"
], - "outputType": "",
- "references": [
- {
- "from": 0,
- "to": 5,
- "name": "decel",
- "signal": "decel",
- "runtimeName": "decel"
}
]
}Get data-ingest byte totals for the tenant, bucketed by period. Defaults to tenant-wide totals; set by_device=true to split daily/monthly totals per device. The trip period returns one row per trip.
| period required | string Enum: "daily" "monthly" "trip" Aggregation granularity. |
| start required | string <date> Start date (inclusive) in YYYY-MM-DD format. |
| end required | string <date> End date (inclusive) in YYYY-MM-DD format. |
| by_device | boolean When true, daily/monthly totals are split per device. Ignored for the trip period. |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "period": "daily",
- "start": "2019-08-24",
- "end": "2019-08-24",
- "by_device": true,
- "data": [
- {
- "time": "string",
- "bytes_measurement": 0,
- "bytes_transfer": 0,
- "device": "string",
- "vehicle": "string",
- "trip": "string"
}
]
}Get data-egress byte totals for the tenant, bucketed by period. The transfer period returns one row per export event with its S3 path.
| period required | string Enum: "daily" "monthly" "transfer" Aggregation granularity. |
| start required | string <date> Start date (inclusive) in YYYY-MM-DD format. |
| end required | string <date> End date (inclusive) in YYYY-MM-DD format. |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "period": "daily",
- "start": "2019-08-24",
- "end": "2019-08-24",
- "data": [
- {
- "time": "string",
- "bytes": 0,
- "path": "string"
}
]
}Get a list of all users for the current project
| offset | integer <int32> >= 0 Default: 0 Number of items to skip before returning the results |
| limit | integer <int32> [ 1 .. 100 ] Default: 20 Limit on number of items to return |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "info": {
- "filter": {
- "prop": "string",
- "val": "string"
}, - "page": {
- "offset": 0,
- "count": 0,
- "total": 0
}
}, - "data": [
- {
- "id": "string",
- "username": "string",
- "email": "string",
- "created_on": "2019-08-24T14:15:22Z",
- "roles": [
- "string"
]
}
]
}Create a new user in the project
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The user to create: email, name and role.
| email required | string <email> Email address of the user; also used as the Cognito username |
| name required | string Display name of the user |
| roles | Array of strings Cognito groups to enroll the user in |
{- "email": "user@example.com",
- "name": "string",
- "roles": [
- "string"
]
}{- "id": "string",
- "username": "string",
- "email": "string",
- "created_on": "2019-08-24T14:15:22Z",
- "roles": [
- "string"
]
}Get a single user by id
| id required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
{- "id": "string",
- "username": "string",
- "email": "string",
- "created_on": "2019-08-24T14:15:22Z",
- "roles": [
- "string"
]
}Update an existing user
| id required | string |
| X-Tenant-Id required | string Example: my-project-id Tenant ID for request |
The user fields to change.
| name | string Display name of the user |
| roles | Array of strings Full set of Cognito groups the user should be in; replaces the current set. Omit to leave the user's roles unchanged. |
{- "name": "string",
- "roles": [
- "string"
]
}{- "id": "string",
- "username": "string",
- "email": "string",
- "created_on": "2019-08-24T14:15:22Z",
- "roles": [
- "string"
]
}