curl --request GET \
--url https://studio.edgeimpulse.com/v1/api/{projectId}/ai-actions \
--header 'x-api-key: <api-key>'{
"success": true,
"actions": [
{
"id": 123,
"displayName": "<string>",
"config": {
"dataCategory": "allData",
"steps": [
{
"transformationBlockId": 123,
"parameters": {}
}
],
"dataMetadataKey": "<string>",
"dataMetadataValue": "<string>"
},
"previewConfig": {
"dataCategory": "allData",
"steps": [
{
"transformationBlockId": 123,
"parameters": {}
}
],
"dataMetadataKey": "<string>",
"dataMetadataValue": "<string>"
},
"maxDataPreviewCount": 123,
"gridColumnCount": 123,
"setMetadataAfterRunning": [
{
"key": "<string>",
"value": "<string>"
}
],
"cacheUnchangedSteps": true,
"name": "<string>",
"lastPreviewState": {
"samples": [
{
"id": 2,
"filename": "idle01.d8Ae",
"signatureValidate": true,
"created": "2023-11-07T05:31:56Z",
"lastModified": "2023-11-07T05:31:56Z",
"category": "training",
"coldstorageFilename": "<string>",
"label": "healthy-machine",
"intervalMs": 16,
"frequency": 62.5,
"originalIntervalMs": 16,
"originalFrequency": 62.5,
"deviceType": "<string>",
"sensors": [
{
"name": "accX",
"units": "<string>"
}
],
"valuesCount": 123,
"added": "2023-11-07T05:31:56Z",
"boundingBoxes": [
{
"label": "<string>",
"x": 123,
"y": 123,
"width": 123,
"height": 123
}
],
"boundingBoxesType": "object_detection",
"chartType": "chart",
"isDisabled": true,
"isProcessing": true,
"processingError": true,
"isCropped": true,
"projectId": 123,
"sha256Hash": "<string>",
"signatureMethod": "HS256",
"signatureKey": "<string>",
"deviceName": "<string>",
"totalLengthMs": 123,
"thumbnailVideo": "<string>",
"thumbnailVideoFull": "<string>",
"processingJobId": 123,
"processingErrorString": "<string>",
"metadata": {},
"projectOwnerName": "<string>",
"projectName": "<string>",
"projectLabelingMethod": "single_label",
"structuredLabels": [
{
"startIndex": 123,
"endIndex": 123,
"label": "<string>"
}
],
"structuredLabelsList": [
"<string>"
],
"createdBySyntheticDataJobId": 123,
"imageDimensions": {
"width": 123,
"height": 123
},
"videoUrl": "<string>",
"videoUrlFull": "<string>"
}
],
"proposedChanges": [
{
"sampleId": 123,
"step": 123,
"proposedChanges": {
"label": "<string>",
"isDisabled": true,
"boundingBoxes": [
{
"label": "<string>",
"x": 123,
"y": 123,
"width": 123,
"height": 123
}
],
"metadata": {},
"structuredLabels": [
{
"startIndex": 123,
"endIndex": 123,
"label": "<string>"
}
]
}
}
]
}
}
],
"error": "<string>"
}Get all AI actions.
curl --request GET \
--url https://studio.edgeimpulse.com/v1/api/{projectId}/ai-actions \
--header 'x-api-key: <api-key>'{
"success": true,
"actions": [
{
"id": 123,
"displayName": "<string>",
"config": {
"dataCategory": "allData",
"steps": [
{
"transformationBlockId": 123,
"parameters": {}
}
],
"dataMetadataKey": "<string>",
"dataMetadataValue": "<string>"
},
"previewConfig": {
"dataCategory": "allData",
"steps": [
{
"transformationBlockId": 123,
"parameters": {}
}
],
"dataMetadataKey": "<string>",
"dataMetadataValue": "<string>"
},
"maxDataPreviewCount": 123,
"gridColumnCount": 123,
"setMetadataAfterRunning": [
{
"key": "<string>",
"value": "<string>"
}
],
"cacheUnchangedSteps": true,
"name": "<string>",
"lastPreviewState": {
"samples": [
{
"id": 2,
"filename": "idle01.d8Ae",
"signatureValidate": true,
"created": "2023-11-07T05:31:56Z",
"lastModified": "2023-11-07T05:31:56Z",
"category": "training",
"coldstorageFilename": "<string>",
"label": "healthy-machine",
"intervalMs": 16,
"frequency": 62.5,
"originalIntervalMs": 16,
"originalFrequency": 62.5,
"deviceType": "<string>",
"sensors": [
{
"name": "accX",
"units": "<string>"
}
],
"valuesCount": 123,
"added": "2023-11-07T05:31:56Z",
"boundingBoxes": [
{
"label": "<string>",
"x": 123,
"y": 123,
"width": 123,
"height": 123
}
],
"boundingBoxesType": "object_detection",
"chartType": "chart",
"isDisabled": true,
"isProcessing": true,
"processingError": true,
"isCropped": true,
"projectId": 123,
"sha256Hash": "<string>",
"signatureMethod": "HS256",
"signatureKey": "<string>",
"deviceName": "<string>",
"totalLengthMs": 123,
"thumbnailVideo": "<string>",
"thumbnailVideoFull": "<string>",
"processingJobId": 123,
"processingErrorString": "<string>",
"metadata": {},
"projectOwnerName": "<string>",
"projectName": "<string>",
"projectLabelingMethod": "single_label",
"structuredLabels": [
{
"startIndex": 123,
"endIndex": 123,
"label": "<string>"
}
],
"structuredLabelsList": [
"<string>"
],
"createdBySyntheticDataJobId": 123,
"imageDimensions": {
"width": 123,
"height": 123
},
"videoUrl": "<string>",
"videoUrlFull": "<string>"
}
],
"proposedChanges": [
{
"sampleId": 123,
"step": 123,
"proposedChanges": {
"label": "<string>",
"isDisabled": true,
"boundingBoxes": [
{
"label": "<string>",
"x": 123,
"y": 123,
"width": 123,
"height": 123
}
],
"metadata": {},
"structuredLabels": [
{
"startIndex": 123,
"endIndex": 123,
"label": "<string>"
}
]
}
}
]
}
}
],
"error": "<string>"
}Project ID
OK
Whether the operation succeeded
Show child attributes
Name to show to the user when interacting with this action (e.g. in a table, or when running the action). Will return either "name" (if present), or a name derived from the transformation block.
Show child attributes
Type of data to run this AI action on.
allData, unlabeledData, enabledData, dataWithoutMetadataKey, dataWithMetadata Show child attributes
The selected transformation block ID.
Metadata key to filter on. Required if dataCategory is equal to "dataWithoutMetadataKey" or "dataWithMetadata".
Metadata value to filter on. Required if dataCategory is equal to "dataWithMetadata".
Show child attributes
Type of data to run this AI action on.
allData, unlabeledData, enabledData, dataWithoutMetadataKey, dataWithMetadata Show child attributes
The selected transformation block ID.
Metadata key to filter on. Required if dataCategory is equal to "dataWithoutMetadataKey" or "dataWithMetadata".
Metadata value to filter on. Required if dataCategory is equal to "dataWithMetadata".
When rendering preview items, the max amount of items to show (pass this into the previewAIActionsSamples)
Number of grid columns to use during preview.
If enabled, will load cached results from the previous preview job for unchanged jobs. Disable this if you're developing your own custom AI Labeling job, and want to always re-run all steps.
Manually set name (optional)
Contains the last preview state, this is filled with whatever was ran last, so when you refresh an AI Action it'll always have the exact same state as before refresh.
Show child attributes
Show child attributes
2
"idle01.d8Ae"
Whether signature validation passed
true
Timestamp when the sample was created on device, or if no accurate time was known on device, the time that the file was processed by the ingestion service.
Timestamp when the sample was last modified.
training, testing, post-processing "training"
"healthy-machine"
Interval between two windows (1000 / frequency). If the data was resampled, then this lists the resampled interval.
16
Frequency of the sample. If the data was resampled, then this lists the resampled frequency.
62.5
Interval between two windows (1000 / frequency) in the source data (before resampling).
16
Frequency of the sample in the source data (before resampling).
62.5
Show child attributes
Name of the axis
"accX"
Type of data on this axis. Needs to comply to SenML units (see https://www.iana.org/assignments/senml/senml.xhtml).
Number of readings in this file
Timestamp when the sample was added to the current acquisition bucket.
Show child attributes
object_detection, constrained_object_detection chart, image, video, table True if the current sample is excluded from use
True if the current sample is still processing (e.g. for video)
Set when processing this sample failed
Whether the sample is cropped from another sample (and has crop start / end info)
Unique identifier of the project this sample belongs to
Data sample SHA 256 hash (including CBOR envelope if applicable)
"HS256"
Either the shared key or the public key that was used to validate the sample
Total length (in ms.) of this file
Set when sample is processing and a job has picked up the request
Error (only set when processing this sample failed)
Name of the owner of the project this sample belongs to
Name of the project this sample belongs to
What labeling flow the project this sample belongs to uses
single_label, object_detection Show child attributes
Start index of the label (e.g. 0)
End index of the label (e.g. 3). This value is inclusive, so { startIndex: 0, endIndex: 3 } covers 0, 1, 2, 3.
The label for this section.
If this sample was created by a synthetic data job, it's referenced here.
Video link, cropped and in original resolution.
Video link in original resolution.
Show child attributes
Show child attributes
New label (single-label)
True if the current sample should be disabled; or false if it should not be disabled.
List of bounding boxes. The existing bounding boxes on the sample will be replaced (so if you want to add new bounding boxes, use the existing list as a basis).
Show child attributes
Free form associated metadata. The existing metadata on the sample will be replaced (so if you want to add new metadata, use the existing list as a basis).
Show child attributes
New label (multi-label)
Show child attributes
Start index of the label (e.g. 0)
End index of the label (e.g. 3). This value is inclusive, so { startIndex: 0, endIndex: 3 } covers 0, 1, 2, 3.
The label for this section.
Optional error description (set if 'success' was false)
Was this page helpful?