Supercoach API

Supercoach API (1.0)

Download OpenAPI specification:Download

Settings

Enable or disable release control

Request Body schema: application/json
release_control_enabled
boolean

Responses

Request samples

Content type
application/json
{
  • "release_control_enabled": true
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Assembly Revisions

Retrieve all assembly revisions

Each Assembly is made up of one or more Assembly Revisions, which act as "versions" of a given assembly. This endpoint retrieves every revision of every assembly.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Create a new assembly revision

Request Body schema: application/json
name
string

Responses

Request samples

Content type
application/json
{
  • "name": "Contactor Installation"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Retrieve a specific assembly revision

path Parameters
revision_id
required
string
Example: d8dc6895-da23-4f4e-9eec-b508b8f9b3e2

The ID of the assembly revision

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Create or Update a specific assembly revision

path Parameters
revision_id
required
string
Example: d8dc6895-da23-4f4e-9eec-b508b8f9b3e2

The ID of the assembly revision

Request Body schema: application/json
name
string
description
string
image_link
string
tenant_id
string
training_complete
boolean
active_revision
string
published
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "Contactor Installation",
  • "description": "A new description",
  • "image_link": "/model/sample/image/57618016-cd00-4fc8-85f5-e4b26304c6ba/step-3_good",
  • "training_complete": true,
  • "active_revision": "57618016-cd00-4fc8-85f5-e4b26304c6ba",
  • "published": true
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Set the active revision for a specific assembly revision

path Parameters
revision_id
required
string
Example: d8dc6895-da23-4f4e-9eec-b508b8f9b3e2

The ID of the assembly revision

Request Body schema: application/json
assembly_id
string

Responses

Request samples

Content type
application/json
{
  • "assembly_id": "57618016-cd00-4fc8-85f5-e4b26304c6ba"
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Retrieve all revisions of a specific assembly

path Parameters
revision_id
required
string
Example: d8dc6895-da23-4f4e-9eec-b508b8f9b3e2

The ID of the assembly revision

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Assemblies

Retrieve all assemblies

Recall that Assembly Revisions are made up of one or more assemblies. Assemblies are the discrete items you perform coaching on. This endpoint retrieves every assembly in the database.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Create an assembly

Deprecated. We recommend using POST /model/new/{assembly_id} and navigating the training workflow to create an assembly.

Request Body schema: application/json
name
string
description
string
image_link
string
tenant_id
string
training_complete
boolean
object (AssemblyId)
object (AssemblyId)
revision
integer <int32>
object (Steps)
object (Augmentation)
object (DatabaseOptions)
classes
Array of strings
product_version
string
published
boolean
approver
string
notes
string
record_videos
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "image_link": "string",
  • "tenant_id": "string",
  • "training_complete": true,
  • "revision_id": {
    },
  • "parent_id": {
    },
  • "revision": 0,
  • "steps": {
    },
  • "augmentation": {
    },
  • "options": {
    },
  • "classes": [
    ],
  • "product_version": "string",
  • "published": true,
  • "approver": "string",
  • "notes": "string",
  • "record_videos": true
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Retrieve a specific assembly

path Parameters
assembly_id
required
string
Example: 57618016-cd00-4fc8-85f5-e4b26304c6ba

The ID of the assembly

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Create or Update a specific assembly

path Parameters
assembly_id
required
string
Request Body schema: application/json
object (AssemblyId)
name
string
description
string
image_link
string
tenant_id
string
training_complete
boolean
object (AssemblyId)
object (AssemblyId)
revision
integer <int32>
object (Steps)
object (Augmentation)
object (DatabaseOptions)
classes
Array of strings
product_version
string
published
boolean
approver
string
notes
string
record_videos
boolean

Responses

Request samples

Content type
application/json
{
  • "id": {
    },
  • "name": "string",
  • "description": "string",
  • "image_link": "string",
  • "tenant_id": "string",
  • "training_complete": true,
  • "revision_id": {
    },
  • "parent_id": {
    },
  • "revision": 0,
  • "steps": {
    },
  • "augmentation": {
    },
  • "options": {
    },
  • "classes": [
    ],
  • "product_version": "string",
  • "published": true,
  • "approver": "string",
  • "notes": "string",
  • "record_videos": true
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Delete a specific assembly

path Parameters
assembly_id
required
string
Example: 3c1a7eba-500e-4744-a967-0c095b1356cb

The ID of the assembly

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Retrieve all defined OCR Capture Variables

An OCR Capture Variable is a variable defined in a Serial Number Capture step. This retrieves all variables defined in every Serial Number Capture step for a specific assembly.

path Parameters
assembly_id
required
string
Example: af7ad140-9548-4bef-8c9b-792e80d3f687

The ID of the assembly

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Get all steps for a specific assembly

Each assembly is made up of Steps. During coaching, these steps are shown to the operator chronologically to guide them from start to completion of the assembly. This endpoint retrieves every Step for a specific assembly.

path Parameters
assembly_id
required
string
Example: 57618016-cd00-4fc8-85f5-e4b26304c6ba

The ID of the assembly

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Append a new step to a specific assembly

path Parameters
assembly_id
required
string
Request Body schema: application/json
name
string
description
string
image_link
string
video_link
string
overlay_link
string
minimum_predict
number <float>
benchmark
number <float>
roi_zoom
string
camera_id
string
object (AssemblyId)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "image_link": "string",
  • "video_link": "string",
  • "overlay_link": "string",
  • "minimum_predict": 0,
  • "benchmark": 0,
  • "roi_zoom": "string",
  • "camera_id": "string",
  • "assembly_id": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0
}

Get a step from a specific assembly

path Parameters
assembly_id
required
string
step_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Update information about a specific step

path Parameters
assembly_id
required
string
step_id
required
string
Request Body schema: application/json
id
string
name
string
description
string
image_link
string
video_link
string
overlay_link
string
minimum_predict
number <float>
benchmark
number <float>
roi_zoom
string
camera_id
string
perspective_change
boolean
object (AssemblyId)
next_step_id
string
previous_step_id
string
object (DatabaseOptions)
Array of objects (StepData)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "description": "string",
  • "image_link": "string",
  • "video_link": "string",
  • "overlay_link": "string",
  • "minimum_predict": 0,
  • "benchmark": 0,
  • "roi_zoom": "string",
  • "camera_id": "string",
  • "perspective_change": true,
  • "assembly_id": {
    },
  • "next_step_id": "string",
  • "previous_step_id": "string",
  • "options": {
    },
  • "step_data": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete a specific step

path Parameters
assembly_id
required
string
step_id
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0
}

Get the augmentations for a specific assembly

path Parameters
assembly_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Add or Update information of an augmentation for a specific assembly

path Parameters
assembly_id
required
string
Request Body schema: application/json
id
string
object (AssemblyId)
lighting_aug
number <float>
placement_aug
number <float>
color_aug
number <float>

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "assembly_id": {
    },
  • "lighting_aug": 0,
  • "placement_aug": 0,
  • "color_aug": 0
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Retrieve performance information of an operator for a specific assembly.

path Parameters
record_id
required
string
operator_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Steps

Retrieve all defined OCR Capture Variables for a specific step

An OCR Capture Variable is a variable defined in a Serial Number Capture step. Given a Step ID, this retrieves all variables defined for that specific step.

path Parameters
step_id
required
integer
Example: 245

The Step ID in question

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Delete all OCR Capture Variables for a specific step

An OCR Capture Variable is a variable defined in a Serial Number Capture step. Given a Step ID, this retrieves all variables defined for that specific step.

path Parameters
step_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Retrieve step data for a specific step

Each Step is made up of StepData, an array of actions that describe what occurs in this Step. This returns all StepData for a specific Step.

path Parameters
step_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Add step data to a specific step

path Parameters
step_id
required
string
Request Body schema: application/json
Array of objects (StepDataInfo)
data_type
string

Describes what this StepData's action refers to. Possible values are: 'ml', 'ocr-check', 'ocr-capture', 'ocr-verify', 'torque', 'input', 'output', 'qa'.

units
string
name
string
tolerance
number <float>
object (DatabaseOptions)
Array of objects (OCRCaptureVariableInfo)

Responses

Request samples

Content type
application/json
{
  • "step_data_info": [
    ],
  • "data_type": "ml",
  • "units": "string",
  • "name": "string",
  • "tolerance": 0,
  • "options": {
    },
  • "ocr_capture_variable_info": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Get all StepDataInfo from specific StepData

Just like Steps are made up of StepData, StepData is made up of StepDataInfo. StepDataInfo is primarily key/value pairs that the are utilized for coaching in some way. The Key/Values that the StepDataInfo contains depends on the context of the StepData's data_type field.

path Parameters
step_id
required
string
step_data_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Add a new StepDataInfo to a specific Step

path Parameters
step_id
required
string
step_data_id
required
string
Request Body schema: application/json
label
string
link
string
value
string
step_data_id
string
type
string
name
string
object (DatabaseOptions)

Responses

Request samples

Content type
application/json
{
  • "label": "string",
  • "link": "string",
  • "value": "string",
  • "step_data_id": "string",
  • "type": "string",
  • "name": "string",
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0
}

Add or Update information about a specific StepData

path Parameters
step_id
required
string
step_data_id
required
string
Request Body schema: application/json
Array of objects (StepDataInfo)
id
string
step_id
string
data_type
string

Describes what this StepData's action refers to. Possible values are: 'ml', 'ocr-check', 'ocr-capture', 'ocr-verify', 'torque', 'input', 'output', 'qa'.

units
string
name
string
tolerance
number <float>
object (DatabaseOptions)
Array of objects (OCRCaptureVariableInfo)

Responses

Request samples

Content type
application/json
{
  • "step_data_info": [
    ],
  • "id": "string",
  • "step_id": "string",
  • "data_type": "ml",
  • "units": "string",
  • "name": "string",
  • "tolerance": 0,
  • "options": {
    },
  • "ocr_capture_variable_info": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Add or Update information about a specific StepDataInfo

path Parameters
step_data_info_id
required
string
Request Body schema: application/json
id
string
label
string
link
string
value
string
step_data_id
string
type
string
name
string
object (DatabaseOptions)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "label": "string",
  • "link": "string",
  • "value": "string",
  • "step_data_id": "string",
  • "type": "string",
  • "name": "string",
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete a specific StepDataInfo

path Parameters
step_data_info_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Assembly Records

Retrieve metrics info from a specific assembly record

Each assembly record is a coaching session performed by a particular operator. Although redundant, the operator ID of the assembly record is required as well.

path Parameters
assembly_record_id
required
string
Example: 796f3b09-b3a1-4410-8d1a-c8ba38c0f751

The ID of the assembly record

operator_id
required
integer
Example: 1

The ID of the assembly

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Retrieve information about all previous coaching sessions of a specific assembly

path Parameters
assembly_id
required
string
Example: 57618016-cd00-4fc8-85f5-e4b26304c6ba

The ID of the assembly

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Retrieve information about a specific record

path Parameters
record_id
required
string
Example: 796f3b09-b3a1-4410-8d1a-c8ba38c0f751

The ID of the assembly record

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Add or Update information about a specific record

path Parameters
record_id
required
string
Example: 796f3b09-b3a1-4410-8d1a-c8ba38c0f751

The ID of the assembly record

Request Body schema: application/json
object (AssemblyId)
object (Operator)
benchmark
number <float>
complete
boolean
assembly_record_datetime
string

Responses

Request samples

Content type
application/json
{
  • "ref_assembly_id": {
    },
  • "operator": {
    },
  • "benchmark": 7.8,
  • "complete": true,
  • "assembly_record_datetime": "2024-05-04 07:00:00"
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Create a QA Report for a specific assembly record

path Parameters
assembly_record_id
required
string

Responses

Response samples

Content type
application/json
{
  • "assembly_record_id": "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

Retrieve a QA Report from a specific assembly record

path Parameters
assembly_record_id
required
string

Responses

Get the most recent assembly record for a specific assembly

Despite this returning an array, it only returns the most recent record.

path Parameters
assembly_id
required
string
Example: 57618016-cd00-4fc8-85f5-e4b26304c6ba

The ID of the assembly to retrieve records from

limit
required
integer
Example: 1

Required, but currently unused. Only returns one result.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Get the most recent record for a specific operator

Despite this returning an array, it only returns the most recent record.

path Parameters
operator_id
required
integer
Example: 1

The ID of the Operator to retrieve most recent record from

limit
required
integer
Example: 1

Required, but currently unused. Only returns one result.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Retrieve performance information of specific step, performed by a specific operator, of a previously coached assembly

path Parameters
record_id
required
string
operator_id
required
string
step_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Add an OCR Capture Variable to an Assembly Record

path Parameters
assembly_record_id
required
string
Request Body schema: application/json
assembly_record_id
string
variable_name
string
variable_value
string

Responses

Request samples

Content type
application/json
{
  • "assembly_record_id": "string",
  • "variable_name": "string",
  • "variable_value": "string"
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Operators

Get information about every operator

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Add a new operator

Request Body schema: application/json
id
string
first_name
string
last_name
string
num_records
integer <int32>
object (DatabaseOptions)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "first_name": "string",
  • "last_name": "string",
  • "num_records": 0,
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "id": 0
}

Get information about a specific operator

path Parameters
operator_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Get all metrics of a specific operator

path Parameters
operator_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Get metrics on a previously coached assembly performed by a specific operator

path Parameters
operator_id
required
string
assembly_record_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Retrieve performance information of specific step, performed by a specific operator, of a previously coached assembly

path Parameters
operator_id
required
string
assembly_record_id
required
string
step_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Add metric information about a specific step, performed by a specific operator, on an assembly record

path Parameters
operator_id
required
string
assembly_record_id
required
string
step_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Retrieve all records of a specific operator

path Parameters
operator_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Coaching

Begin coaching on a specific assembly on a specific step

path Parameters
assembly_id
required
string
step_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Pauses coaching of the assembly

path Parameters
assembly_id
required
string
Example: 57618016-cd00-4fc8-85f5-e4b26304c6ba

The ID of the assembly

Request Body schema: application/json
assembly_record_id
string

Responses

Request samples

Content type
application/json
{
  • "frequency": "WEEKLY",
  • "recipients": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Complete coaching session

Declare that the ongoing coaching session is complete.

path Parameters
assembly_id
required
string
Request Body schema: application/json
step_index
integer <int32>
assembly_record_id
string
auto_coach_enabled
string

Responses

Request samples

Content type
application/json
{
  • "step_index": 0,
  • "assembly_record_id": "string",
  • "auto_coach_enabled": "string"
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Restart hardware IO event monitor

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Gets info about all previously coached assemblies

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Set coaching context to a new step

Set coaching to a specific assembly's step. Must provide an end-time for the current step and an assembly_record_id to report the endtime to.

path Parameters
assembly_id
required
string
step
required
string
Request Body schema: application/json
assembly_record_id
string
end_time
string

The end-time for the currently coached step

auto_coach_enabled
boolean

Responses

Request samples

Content type
application/json
{
  • "assembly_record_id": "string",
  • "end_time": "string",
  • "auto_coach_enabled": true
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Camera

Gets info all cameras in database

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Adds a new camera to the database

Request Body schema: application/json
id
string
name
string
mfg
string
serial_number
string
object (DatabaseOptions)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "mfg": "string",
  • "serial_number": "string",
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Deletes camera from the database

Request Body schema: application/json
id
string
name
string
mfg
string
serial_number
string
object (DatabaseOptions)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "mfg": "string",
  • "serial_number": "string",
  • "options": {
    }
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Gets an M-JPEG stream of the active camera

Gets an M-JPEG stream of the active camera. Make sure to start the camera pipeline first via POST /camera_stream.

Request Body schema: application/json
id
string
name
string
mfg
string
serial_number
string
object (DatabaseOptions)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "mfg": "string",
  • "serial_number": "string",
  • "options": {
    }
}

Resume the streaming pipeline for the active camera

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Pause the streaming pipeline for the active camera

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Retrieve a single frame from the active camera

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Get the config of a specific camera

path Parameters
camera_name
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Update the configuration of a specific camera

Request Body schema: application/json
resolution
string
resize_pipeline
string
resize_web
string
framerate
integer <int32>
iso
integer <int32>
rotation
integer <int32>
zoom
string
ip
string
port
string
stream_path
string
pipeline_color_format
string
device_user_name
string
camera_type
string

Possible values are: UNKNOWN BASLER_ACE BASLER_GIGE BASLER_AC2 BASLER_USB BASLER_EMULATOR RASPBERRY_PI

device_serial_number
string
emulation
boolean
user_set
string
Width
integer <int32>
Height
integer <int32>
OffsetX
integer <int32>
OffsetY
integer <int32>
ReverseX
integer <int32>
ReverseY
integer <int32>
PixelFormat
string
AcquisitionMode
string
ExposureAuto
string
ExposureMode
string
AcquisitionFrameRateAbs
integer <int32>
AcquisitionFrameRate
integer <int32>
PylonIgnoreCaps
integer <int32>
DeviceUserID
string
ImageFilepath
string
CameraWidth
integer <int32>
CameraHeight
integer <int32>
CameraOffsetX
integer <int32>
CameraOffsetY
integer <int32>
MaxGain
number <float>
MaxExposureTime
integer <int32>
AutoReconnect
boolean
WidthMax
integer <int32>
HeightMax
integer <int32>
object (CameraTestConfig)

Responses

Request samples

Content type
application/json
{
  • "resolution": "string",
  • "resize_pipeline": "string",
  • "resize_web": "string",
  • "framerate": 0,
  • "iso": 0,
  • "rotation": 0,
  • "zoom": "string",
  • "ip": "string",
  • "port": "string",
  • "stream_path": "string",
  • "pipeline_color_format": "string",
  • "device_user_name": "string",
  • "camera_type": "string",
  • "device_serial_number": "string",
  • "emulation": true,
  • "user_set": "string",
  • "Width": 0,
  • "Height": 0,
  • "OffsetX": 0,
  • "OffsetY": 0,
  • "ReverseX": 0,
  • "ReverseY": 0,
  • "PixelFormat": "string",
  • "AcquisitionMode": "string",
  • "ExposureAuto": "string",
  • "ExposureMode": "string",
  • "AcquisitionFrameRateAbs": 0,
  • "AcquisitionFrameRate": 0,
  • "PylonIgnoreCaps": 0,
  • "DeviceUserID": "string",
  • "ImageFilepath": "string",
  • "CameraWidth": 0,
  • "CameraHeight": 0,
  • "CameraOffsetX": 0,
  • "CameraOffsetY": 0,
  • "MaxGain": 0,
  • "MaxExposureTime": 0,
  • "AutoReconnect": true,
  • "WidthMax": 0,
  • "HeightMax": 0,
  • "test_config": {
    }
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Get the active camera

This returns the Basler device user name. EG. "RAP_CAM_01"

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Get the active camera's zoom level

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Get all Basler device usernames

Some Camera endpoints require a "device_user_name", which is an identifier for a given Basler camera. This endpoint returns all configured basler device user names. Response is returned in a JSON serialized string. Sample response:

{
    "status": "ok",
    "msg": "[\"RAP_CAM_01\", \"RAP_CAM_02\"]"
}

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Capture an 896x896 picture from the active camera

Responses

Triggers the Auto Adjust functionality of a specific camera

Request Body schema: application/json
device_user_name
required
string

A Basler device username

Responses

Request samples

Content type
application/json
{
  • "device_user_name": "string"
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Set the max gain of a specific camera

Request Body schema: application/json
device_user_name
required
string

A Basler device username

max_gain
number <float>

Responses

Request samples

Content type
application/json
{
  • "device_user_name": "string",
  • "max_gain": 0
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Set the max exposure time for each camera

Request Body schema: application/json
max
integer <int32>

Exposure time in microseconds

Responses

Request samples

Content type
application/json
{
  • "max": 0
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Set the max exposure time of a specific camera

Request Body schema: application/json
device_user_name
string
max_exposure_time
integer <int32>

Exposure time in microseconds

Responses

Request samples

Content type
application/json
{
  • "device_user_name": "string",
  • "max_exposure_time": 0
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

System

Get the health status of system components

Request Body schema: application/json
_compute_sensor_camera_basler
string

Possible values are: UNKNOWN UP DOWN RESET

_compute_sensor_mechanical_io
string

Possible values are: UNKNOWN UP DOWN RESET

_buslog_scheduler
string

Possible values are: UNKNOWN UP DOWN RESET

_store_filesys
string

Possible values are: UNKNOWN UP DOWN RESET

_store_database
string

Possible values are: UNKNOWN UP DOWN RESET

_compute_predict
string

Possible values are: UNKNOWN UP DOWN RESET

_compute_sequencer
string

Possible values are: UNKNOWN UP DOWN RESET

_compute_train.*?
string

Possible values are: UNKNOWN UP DOWN RESET

_compute_recorder
string

Possible values are: UNKNOWN UP DOWN RESET

_ui_webserver
string

Possible values are: UNKNOWN UP DOWN RESET

_buslog_reporting
string

Possible values are: UNKNOWN UP DOWN RESET

Request samples

Content type
application/json
{
  • "_compute_sensor_camera_basler": "UP",
  • "_compute_sensor_mechanical_io": "UP",
  • "_buslog_scheduler": "UP",
  • "_store_filesys": "UP",
  • "_store_database": "UP",
  • "_compute_predict": "UP",
  • "_compute_sequencer": "UP",
  • "_compute_train.*?": "UP",
  • "_compute_recorder": "UP",
  • "_ui_webserver": "UP",
  • "_buslog_reporting": "UP"
}

Get link to file within a bucket

path Parameters
bucket
required
string
key
required
string

Responses

Check if running a SUPERCHARGER or a regular system

Return values may be "SUPER", or "REGULAR"

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Reset the system

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Shutdown the system

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Returns info of GPIO ports in use

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Train

Create a new model for a specific assembly

If not already done, this will change the global training context to this assembly.

path Parameters
assembly_id
required
string
Request Body schema: application/json
name
string
description
string
parent_id
string
revision_id
string
epochs
integer <int32>
batch_size
integer <int32>
complete_callback
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "parent_id": "string",
  • "revision_id": "string",
  • "epochs": 0,
  • "batch_size": 0,
  • "complete_callback": "string"
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Edit a model for a specific assembly

If not already done, this will change the global training context to this assembly

path Parameters
assembly_id
required
string
Request Body schema: application/json
complete_callback
string
object (Assembly)

Responses

Request samples

Content type
application/json
{
  • "complete_callback": "string",
  • "assembly": {
    }
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Inform model of the start of a new step

If not already done, this will change the global training context to this assembly

path Parameters
assembly_id
required
string
Request Body schema: application/json
step_roi_zoom
string
step_description
string
step_camera_name
string
step_minimum_predict
number <float>
step_benchmark
number <float>
step_index
integer <int32>
label_index
integer <int32>
Array of objects (StepDataInfo)
record_step
boolean
Array of objects (OCRCaptureVariableInfo)
actions
string

Possible values are: ML OCR_CHECK OCR_CAPTURE OCR_VERIFY TORQUE INPUT OUTPUT QA

data_ops
string

Possible values are: ADD DELETE INSERT UPDATE MOVE

step_type
string

Possible values are: MASTER CORRECT INCORRECT PERSPECTIVE IO

Responses

Request samples

Content type
application/json
{
  • "step_roi_zoom": "string",
  • "step_description": "string",
  • "step_camera_name": "string",
  • "step_minimum_predict": 0,
  • "step_benchmark": 0,
  • "step_index": 0,
  • "label_index": 0,
  • "step_data_infos": [
    ],
  • "record_step": true,
  • "ocr_capture_variable_infos": [
    ],
  • "actions": "ML",
  • "data_ops": "UPDATE",
  • "step_type": "MASTER"
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Capture an IO event for a specific assembly while recording a step

Between POST /model/start and POST /model/end of a Torque or IO action, declare when an IO event occurred.

path Parameters
assembly_id
required
string
Request Body schema: application/json
data_ops
string

Possible values are: ADD DELETE INSERT UPDATE MOVE

step_type
string

Possible values are: MASTER CORRECT INCORRECT PERSPECTIVE IO

io_name
string
step_index
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "data_ops": "UPDATE",
  • "step_type": "MASTER",
  • "io_name": "string",
  • "step_index": 0
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Inform model of the end of a new step

Should be paired with POST /model/start/{assembly_id}. If not already done, this will change the global training context to this assembly

path Parameters
assembly_id
required
string
Request Body schema: application/json
create_overlay
boolean
overlay_rectangles
Array of strings
step_index
integer <int32>
label_index
integer <int32>
record_step
boolean
actions
string

Possible values are: ML OCR_CHECK OCR_CAPTURE OCR_VERIFY TORQUE INPUT OUTPUT QA

data_ops
string

Possible values are: ADD DELETE INSERT UPDATE MOVE

step_type
string

Possible values are: MASTER CORRECT INCORRECT PERSPECTIVE IO

Responses

Request samples

Content type
application/json
{
  • "create_overlay": true,
  • "overlay_rectangles": [
    ],
  • "step_index": 0,
  • "label_index": 0,
  • "record_step": true,
  • "actions": "ML",
  • "data_ops": "UPDATE",
  • "step_type": "MASTER"
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Revert the previous `start` call

If a POST /model/end hasn't been called yet, you may revert the previous POST /model/start call, deleting any data that was generated from said call. This allows you to essentially "undo" the previous operation.

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Move one step to another location

After changing the global training context to a specific assembly, this endpoint allows you to move a step from one position to another position without restriction.

path Parameters
current_index
required
string
new_index
required
string
Request Body schema: application/json
assembly_id
string

Responses

Request samples

Content type
application/json
{
  • "assembly_id": "string"
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Create an overlay for a step of a specific assembly

An overlay is made up of rectangles. These will be displayed to the operator during coaching of a specific step.

path Parameters
assembly_id
required
string
Request Body schema: application/json
overlay_rectangles
Array of strings
step_index
integer <int32>

Responses

Request samples

Content type
application/json
{
  • "overlay_rectangles": [
    ],
  • "step_index": 0
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Delete a step from a specific assembly

path Parameters
assembly_id
required
string
step_index
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Delete a label from a step from a specific assembly

path Parameters
assembly_id
required
string
step_index
required
string
step_type
required
string
label_index
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Delete an assembly

path Parameters
assembly_id
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Initiate training of the model right now

path Parameters
assembly_id
required
string
Request Body schema: application/json
export
string
lighting
string
precision
string
color
string

Request samples

Content type
application/json
{
  • "export": "string",
  • "lighting": "string",
  • "precision": "string",
  • "color": "string"
}

Retrieve the current progress of an ongoing training session

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Retrieve the thumbnail of a label of a specific assembly

path Parameters
assembly_id
required
string
label
required
string

Responses

Get the video a label was trained with

path Parameters
assembly_id
required
string
label
required
string

Responses

Get the image of the overlay a label was trained with

path Parameters
assembly_id
required
string
label
required
string

Responses

Cancel an assembly currently in a training session

path Parameters
assembly_id
required
string
Request Body schema: application/json
cancel_current_training
boolean
finalize_only
boolean

Responses

Request samples

Content type
application/json
{
  • "cancel_current_training": true,
  • "finalize_only": true
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Get similarity scores of step's starting position with its potential ending positions

This endpoint returns multiple structural similarity index measures (SSIM) which represent how similar two images are. Each step is made up of multiple "end positions", or labels. This will return an SSIM comparing the STARTING position and each label. The closer to 0 the values are, the more similar they are.

Sample output:

{
    "step_number": 1,

    "ssim": {
        # Values are populated dynamically based on the amount of labels this step has
        "previous": 586.57,
        "incorrect_1": 874.01,
        "incorrect_2": 756.42,
        ...

    }
}
path Parameters
assembly_id
required
string
step_number
required
string

Schedule training of a model some time later

Request Body schema: application/json
name
string
description
string
when
string
assembly_id
string
type
string

The type of schedule request. Currently, the only valid value is "COMPUTE_TRAIN"

complete_callback
string
epochs
integer <int32>
lighting
number <float>
precision
number <float>
color
number <float>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "when": "string",
  • "assembly_id": "string",
  • "type": "string",
  • "complete_callback": "string",
  • "epochs": 0,
  • "lighting": 0,
  • "precision": 0,
  • "color": 0
}

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Gets all scheduled training sessions

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Gets all scheduled training sessions of a certain status

Possible status values are "queued" and "ended".

path Parameters
status
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": [
    ]
}

Cancel an assembly that is scheduled for a training session

path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}

Reporting

Change how frequently a report is emailed, and who receives one

Request Body schema: application/json
frequency
string

Values can be "DAILY", "WEEKLY", "MONTHLY"

report_type
string

Currently, the only valid value is "ASSEMBLY"

recipients
Array of strings

Responses

Request samples

Content type
application/json
{
  • "frequency": "WEEKLY",
  • "report_type": "string",
  • "recipients": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Return all scheduled reports

Returns a list of all scheduled reports. Currently there is only ever one scheduled report which can be continuously overwritten by POST /scheduled-report. This will change in the future.

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Update information about a specific scheduled report

path Parameters
scheduled_report_id
required
integer
Example: 1

The ID of the scheduled report

Request Body schema: application/json
frequency
string

Values can be "DAILY", "WEEKLY", "MONTHLY"

recipients
Array of strings

Responses

Request samples

Content type
application/json
{
  • "frequency": "WEEKLY",
  • "recipients": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "string",
  • "msg": {
    }
}

Delete a specific scheduled report

path Parameters
scheduled_report_id
required
integer
Example: 1

The ID of the scheduled report

Responses

Response samples

Content type
application/json
{
  • "status": "ok",
  • "msg": ""
}