API Keys

APIs to manage a user's API Key

get

Get the API Key for the user associated with the athentication token

post

Create an API Key for the user associated with the authentication token. If an API Key already exists for the user, the existing key will be deleted before the new key is generated.

delete

Deletes (revokes) the API Key for the user associated with the athentication token

Custom Inference Scripts (DNN Scripts)

APIs for managing custom inference scripts

get

Get all DNN scripts belonging to the user associated with provided token(from header "X-Auth-Token"). Results are ordered by creation date, newest to oldest.

post

Upload a DNN script. The DNN script must be a zip file, that contains a file called custom.py

get

Get details for a DNN script

delete

Delete a DNN script.

put

Update/Change a DNN script information.

Currently changes can be made to each of the fields that can be specified at creation time. These fields are described in the properties section below. Only the supplied fields are modified and it is possible to modify multiple fields in a single call.

DataSets

APIs for managing datasets

get

Get all datasets belonging to the user associated with provided token(from header "X-Auth-Token"). Results are ordered by creation date, newest to oldest.

post

Create a dataset

Provides actions for groups of datasets. All dataset selection operations are performed through this endpoint.

post

Perform the indicated action. Possible action values are

  • delete -- Delete the indicated set of datasets.
post

import dataset from zip file

post

Imports a dataset using a file uploaded via the chunked upload service.

Note that the import is a background operation. Progress can be tracked via SSEs or querying for the returned dataset id.

get

Get basic info of a dataset

delete

Delete a dataset along with all files and metadata associated with it.

get

Exports the contents of the dataset as a zip file stream.

post

Perform action on the indicated dataset.

get

Get action tags for the given dataset

post

Create action tag for a dataset

delete

Delete an action tag, but not the files associated with the tag.

get

Get categories of a dataset.

post

Create category for a dataset

delete

Delete a dataset category, but not the files associated with it.

post

Perform action on a dataset category, The only supported actions are rename, calculate

get

Get files of a dataset, optionally filtered by a query string. This query supports pagination via the limit and skip query parameters.

post

Upload one or more files to the dataset. Files maybe jpg, png, or mp4 video files. A zip file may be uploaded also, but any file that is not jpg, png, or mp4 will be ignored. If a category is supplied, the uploaded file(s) will be associated with the specified category.

post

Uploads a file into the given dataset using a file uploaded via the chunked upload service.

When using the large file (chunked upload) service, only the file can be uploaded. Supplemental metadata or label information cannot be included. As such, it is expected that this API will be used primarily to upload zip files.

Perform an action on a group of files. All operations preformed on a file selection are performed through this endpoint.

post

Perform the indicated action. Possible action values are...

  • delete -- Delete the indicated set of files.
get

Exports each files's user metadata key/value pairs in a Comma Separated Value format. A heading row is provided identifying the key to column mapping.Columns are ordered from oldest key on the left and newest on the right. Column order does not change unless a key is deleted.

Each row represents a single file's user metadata. Rows are ordered oldest file first and newest file last. Row order will not change unless a file is deleted.

String values are quoted while non-string values are not.

delete

Delete a dataset file

post

Perform an action on the identified file. Possible actions are

  • autolabel -- to automatically label frames from a video
  • capture -- to capture one or more frames from a video
get

Get action labels of the indicated dataset file

post

Create a single new action label. Note that this endpoint operates differently than labels endpoint. It only creates a single new action label and it cannot be use to modify an exising action label (use the PUT operation on a specific action label for that purpose)

delete

Delete the indicated action label

put

Updates/modifies an existing action label. Multiple modifications can be made in a single operation. Any unchanging properties/fields can be omitted from the input json object.

get

Downloads a file from a dataset as a byte stream.

get

Downloads a file from a dataset as mime data in the response.

get

This endpoint has been deprecated as of release 1.1.5. You should use GET /datasets/{dsid}/files/{fid}/object-labels instead (or GET /datasets/{dsid}/object-labels if labels are needed across all files in the dataset). The new interface facilitates manipulating labels individually (similar to "action-labels" instead of having to work with the entire set of labels associated with a file.

This endpoint now returns label objects that support individual manipulation.

post

Saves a group of labels to the given file. This endpoint is similar to POST /datasets/{dsid}/files/{fid}/object-labels except that this endpoint will create tags if the label name does not exist as a tag. Generally speaking, it is safer to use the afore mentioned endpoint.

get

Downloads the thumbnail for a file from a dataset as a byte stream.

get

Downloads a file's thumbnail as mime data in the response.

post

Adds, or updates, user metadata key/value pairs associated with the given file. The body is application/json containing keys and values. If a key does not have a corresponding User Key object, one will be created. In either case, each of the given key's use_count property is updated.

If a key/value pair is already associated with the file for a key in the input json, the value of the existing pair will be updated in the file. If multiple instances of a key are given in a single call, the last value in the json object will be used as the value.

get

Gets the user key/value metadata associated with the given file. All key/value pairs are returned.

delete

Deletes 1 or more listed key/value pairs from the given file. Key/value pairs are identified by the key name.

post

Creates a single object-label. The indicated tag (class) must already exist.

get

Gets objects labels assocated with the given file in the given dataset.
Object-labels facilitate individual manipulation of each label in a manner similar to "action-labels". endpoint.

delete

Deletes one or more object-labels associated with the given file and dataset that match the criteria specified via Query Parameters.

post

Copies one or more files between datasets.

post

Moves one or more files between datasets. This endpoint functions just Like the copy endpoint except that the file is removed from the original dataset.

get

Gets objects labels for all files in the given datasets.
Object-labels facilitate individual manipulation of each label in a manner similar to "action-labels".

delete

Deletes one or more object-labels that match the criteria specified via Query Parameters.

get

Get detail information about a specific object label

delete

Deletes a specific object label

put

Modifies properties in a specific Object label.
Multiple properties can be modified in a single API call.

get

Get tags of a dataset

post

Create tag for a dataset

delete

Delete a tag (class), but not the files associated with the tag.

post

Perform action on a dataset tag. Currently, the only supported action is rename

get

Downloads thumbnail file as a byte stream for a dataset.

get

Downloads a dataset's thumbnail as mime data in the response.

post

Creates a new User Key object in the identified dataset.

get

Gets the entire set of User Keys for the identified dataset.

get

Gets the indicated user key object.

delete

Deletes the named user key. Deleting a key also removes all key/value pairs with the same key name from all files in the dataset.

put

Updates the specified user key in the given dataset.

The name of the user key and the description can be modified. Only the properties being changed need be included in the body of the request.

If the name of the key is changed, all references to the old name in file user metadata key/value pairs are also updated.

Deployed Models (WebAPIs)

APIs for managing deployed models

get

Get all web APIs belonging to the user associated with provided token(from header "X-Auth-Token").

post

Deploy a trained model (also known as a web API)

delete

Delete a web API

post

Delete a selection of web APIs

Events

API endpoint to monitor for SSE's reporting status of background operations.

get

get data service event stream through SSE

Inferencing (DLAPIs)

API endpoints for doing inferences on deployed models

get

Perform Inference on an image URL

post

Run API by upload a image

Long Running Tasks (BGTasks)

APIs for managing PowerAI-Vision background tasks

get

Get all background tasks belonging to the user associated with the provided token (from header "X-Auth-Token"). Results are ordered by creation date, oldest to newest.

delete

Delete all background tasks belonging to the user associated with the provided token(from header "X-Auth-Token") that are not currently active. Query parameters can be used to filter which tasks are to be deleted (instead of deleting inactive tasks)

Model Training (DLTasks)

APIs for managing PowerAI-Vision training tasks

get

Get all PowerAI-Vision Training tasks that belong to the user associated with the provided token(from header "X-Auth-Token")

post

Create a PowerAI-Vision training task based upon the indicated action. Supported actions are pre-analysis, pre-analysis-cod, create, create-cod-task. When specifying a "pre-analysis" task, no training is performed; the dataset is analyzed to determine if it meets minimum training requirements.

get

Get basic info of a vision-service task

delete

Delete a vision-service task

post

Perform action on a vision-service task

get

Get vision-service task status data

Profiles

API for manage profiles

get

Get current profile info

Project Groups

APIs for managing Project Groups

get

Get all projects belonging to the user associated with provided token(from header "X-Auth-Token"). Results are ordered by creation date, newest to oldest.

post

Create a project group.

get

Get metadata details for a project group

delete

Delete a project group.

put

Update/Change a project group metadata information.

Currently changes can be made to each of the fields that can be specified at creation time. These fields are described in the properties section below. Only the supplied fields are modified and it is possible to modify multiple fields in a single call.

get

Get metadata details for a trained model

get

This endpoint is the shortcut for /trained-models/{modelid}/export.

Please refer to that endpoints documentation for detailed information.

post

This endpoint is the shortcut for /trained-models/{modelid}/export.

Please refer to that endpoints documentation for detailed information.

post

This endpoint is the shortcut for POST /dlapis/{modelid}.

Please refer to that endpoints documentation for detailed information.

get

This endpoint is the shortcut for GET /trained-models/{modelid}.

Please refer to that endpoints documentation for detailed information.

get

This endpoint is the shortcut for /trained-models/{modelid}/{assettype}/download.

Please refer to that endpoint's documentation for detailed information.

Tokens

This API is deprecated and disabled as of verion 8.0.0 of Maximo Visual Inspection. User login is now handled by the Maximo Application Suite core services and requires an OIDC flow which can only be done via a browser.

Programatic API access is still supported, but requires an API Key be generated from the browser. The generated API key will be used just like the token that was created by this API. It is passed using the X-Auth_Token header. The only real difference is that the API Key does not expire.

TrainedModels

APIs for managing PowerAI-Vision trained models

get

Get all PowerAI-Vision trained models belonging to the user associated with provided token(from header "X-Auth-Token")

post

Import a previously exported PowerAI Vision trained model. Note that the zip file must be a zip file created by a previous export trained model operation.

delete

Delete a trained model

get
get

Downloads a trained model's thumbnail as mime data in the response.

Exports the given trained model

get
get

Get assets for a trained model

delete

Delete an asset

get

Downloads the requested asset type for the given trained model.

post

perform the indicated action upon a set of trained models. All group (aka selection) operations on trained models flow through this endpoint. The only supported action is delete.

Version Info

API to get server version information

get

Get product version information

Video Inference Results (inferences)

APIs for managing PowerAI-Vision Video Inference Resuls

get

Retrieve all active and completed video inference results. Video inferences are Action Detection inferences and Video Object Detection inferences. Results are ordered by creation date, oldest to newest.

delete

Delete all inferences belonging to the user associated with the provided token(from header "X-Auth-Token") that are not currently active. Query parameters can be used to filter which inferences are to be deleted (instead of deleting inactive ones)

get

Get detail information about a specific video inference. Detail information includes general information about the inference and all of the detections found. The limit and skip query parameters can be used to effectively page the detection list (though you will always get the general inference info).

delete

Delete the indicated video inference result.

get

Exports the indicated video inferences results as a zip file. The zip file will include the inference general information, the detection details, and the annotated video if one was requested at inference time).

Chunked Uploads

APIs for uploading large files in multiple smaller file chunks.

get

Get all known chunked upload operations.

post

Create a chunked upload operation.

get

Get details about a specific chunked upload operation.

post

Upload a single file part (chunk) associated with this upload operation.

Each uploaded file part must follow a specific naming convention. The file name must contain the original file name (e.g. dataset1.zip) with a suffix that identifies the part number of the file. This part number suffix must be 3 decimal digits with leading zeros present (e.g. .001). The first file starts with suffix .000 (e.g. dataset1.zip.000) .

delete

Deletes a specific chunked upload operation.

Delete will remove the upload tracking document and all uploaded file parts that have been received.

post

Aborts a specific chunked upload operation.

Abort makes the upload operation unusable and will cause any addition file part uploads to be rejected. It does not delete the tracker document or any already received file parts.

post

Commits a specific chunked upload operation.

Commit requires all parts to have been received and makes the uploaded file parts available for importing into the rest of the system.

User Information

APIs to access user information

get

Get user information for the given userID or API Key. Only a user with Admin Role can get user information by user id. All non-Admin users will be rejected with 401. Non-admin users are allowed to get the user information for the user associated with an API key. The requested API key must be the same one provied in the X-AUTH-Token header.