NOTICE
This software (or technical data) was produced for the U.S. Government under contract, and is subject to the Rights in Data-General Clause 52.227-14, Alt. IV (DEC 2007).
Copyright 2024 The MITRE Corporation. All Rights Reserved.
Name | Type | Description | Required |
---|---|---|---|
name | string | The name of the environment variable | Yes |
value | string | The value of the environment variable | Yes |
sep | string | The separator for values if wanting to append to an existing environment variable, for example, ":" | No |
Name | Type | Description | Required |
---|---|---|---|
datePosted | string | The message timestamp, include only if you want to change the timestamp | No |
msg | string | The message | Yes |
msgEnum | string | The enumerated name of predefined message | No |
msgType | string | The type of message (intended target) | No |
removeStrategy | string | The strategy for removing this message | No |
severity | string | The severity of the message | No |
Name | Type | Description |
---|---|---|
nodeModels | array | See DeployedServiceModel in the Definitions section. |
Name | Type | Description | Required |
---|---|---|---|
buildOutput | boolean | True to build the output objects; otherwise false (true by default) | No |
externalId | string | External id | No |
jobProperties | object | A key-value pair using strings which may be used to override the parameters associated with the pipeline. | No |
algorithmProperties | object | A key-value pair which can override jobProperties for a specific algorithm defined in a pipeline. The key should be the algorithm name, and the value should be a Map of String key-value pairs representing properties specific to the named algorithm. | No |
media | array | See JobCreationMediaData in the Definitions section. | Yes |
pipelineName | string |
The name of the pipeline used to process the media. Obtained from
'rest/pipelines'. One of pipelineName or
pipelineDefinition must be provided, but not both.
|
No |
pipelineDefinition | TransientPipelineDefinition |
The definition of a temporary pipeline that this job will execute.
One of pipelineName or pipelineDefinition must
be provided, but not both.
|
No |
priority | integer | Priority of the job, integer values 0 - 9 (0 being the lowest) are valid (default value is set in mpf.properties) | No |
callbackURL | string | A valid (properly encoded) URL for job completion callbacks. When the job completes, the callback will perform a GET or POST to the callbackURL with the 'jobId' and 'externalId' parameters. For example, if the callbackURL provided is `http://api.example.com/foo`, the jobId is 'hostname-1', and the externalId is 'someid', then a GET callback will be: http://api.example.com/foo?jobId=hostname-1&externalId=someid. If callbackURL ends in 'foo?someparam=something', then a GET callback will be: http://api.example.com/foo?someparam=something&jobId=hostname-1&externalId=someid. If no externalId is provided, then a GET callback will be: http://api.example.com/foo?jobId=hostname-1. | No |
callbackMethod | string | A value of 'GET' or 'POST' to perform a HTTP callback. The default method is GET. | No |
Name | Type | Description | Required |
---|---|---|---|
mediaUri | string | A valid (properly encoded) URI to a single media source for the job. | Yes |
metadata | object | A map of key-value pairs using strings which may be used to set the metadata for this media. When sufficient metadata is provided, media inspection will be skipped. To skip inspection, the `MEDIA_HASH` and `MIME_TYPE` keys must be set to the media's respective hash and media type. Audio files will also require the metadata value for `DURATION`. Image files will also require the metadata values for `FRAME_WIDTH` and `FRAME_HEIGHT`. Video files will also require the metadata values for `FRAME_WIDTH`, `FRAME_HEIGHT`, `FRAME_COUNT`, `FPS`, and `DURATION`. | No |
properties | object | A map of key-value pairs using strings which may be used to override the parameters associated with the pipeline or job properties for this medium. | No |
frameRanges | array<JobCreationMediaRange> |
When provided for videos, only the specified ranges of frames will be processed.
Multiple ranges can be provided. If timeRanges are also included in
the request those frames will also be processed.
|
No |
timeRanges | array<JobCreationMediaRange> |
When provided for videos, only the specified ranges of times will processed.
The times are specified in milliseconds. Multiple ranges can be provided. If
frameRanges are also included in the request those frames will also be
processed.
|
No |
Name | Type | Description | Required |
---|---|---|---|
start | integer | The inclusive start of the range | Yes |
stop | integer | The inclusive end of the range | Yes |
Name | Type | Description | Required |
---|---|---|---|
pipeline | array<string> |
A list naming the tasks that this pipeline will execute. These tasks must
either be TransientTask s defined in the tasks field
or be preexisting tasks that have been previously added to Workflow Manager.
When there is a TransientTask with the same name as a task
added to Workflow Manager, the TransientTask will be used.
|
Yes |
tasks | array<TransientTask> |
A list of temporary tasks that may be used by this pipeline. The order that
the tasks appear in this list does not affect the order that the tasks
are executed — that is defined in the pipeline field.
|
No |
actions | array<TransientAction> | A list of temporary actions that may be used by this pipeline. | No |
Name | Type | Description | Required |
---|---|---|---|
name | string |
This task's name. For this task to be executed, it must be listed in
the TransientPipelineDefinition 's pipeline field.
|
Yes |
actions | array<string> |
A list naming the actions that this task will execute. These actions must
either be TransientAction s defined in the
TransientPipelineDefinition 's actions field or be
preexisting actions that have been previously added to Workflow Manager. When
there is a TransientAction with the same name as an action added
to Workflow Manager, the TransientAction will be used.
|
Yes |
Name | Type | Description | Required |
---|---|---|---|
name | string |
This action's name. For this action to be executed, it must be listed in
a TransientTask 's actions field.
|
Yes |
algorithm | string | The name of the algorithm that this action will execute. It must be a preexisting algorithm already added to Workflow Manager. | Yes |
properties | array<object> |
The properties associated with the action which may be used to override
algorithm properties. Each property is an object with two fields, name and
value. For example:
[ {"name": "some_name", "value": "some_value"}, {"name": "some_other_name", "value": "some_other_value"}]
|
No |
Name | Type | Description |
---|---|---|
kind | string | Simple (binary) or generic (jar) |
lastKnownState | string | A string that will be one of the following values: Unknown, Configured (configured, but no other indication of presence), Launching (asked to start), Running, ShuttingDown (requested to shut down), ShuttingDownNoRestart, Inactive (inactive after a regular shutdown request), InactiveNoStart, Delete, DeleteInactive (inactive and removed from the config) |
name | string | Name of the service |
rank | integer | Service index |
restartCount | integer | Number of times this service has restarted |
serviceCount | integer | The amount of services |
unlaunchable | boolean | True if the service has reached a condition where it is not launch able; otherwise false |
Name | Type | Description |
---|---|---|
jobId | string | The job id of the created batch job. It is of the form "[hostname]-[jobId]", where "hostname" is the name of the system where the job was executed, and "jobId" is the integer job identifier used internally by MPF. |
mpfResponse | See MpfResponse in the Definitions section. | |
tiesDbCheckStatus | string |
The status of the TiesDb before job check. The possible statuses are:
|
outputObjectUri | string | If a compatible job is found in TiesDb and the job is not configured to copy the results to a new S3 bucket, this will contain the URI to the old job's output object. A compatible TiesDb job can only be found during job creation when the MEDIA_HASH and MIME_TYPE media metadata are provided in the job request. |
Name | Type | Description | Required |
---|---|---|---|
args | array | Arugments for the process | No |
cmd | string | The process command | Yes |
environmentVariables | array | See EnvironmentVariableModel in the Definitions section. | No |
serviceCount | integer | The number of services to start | Yes |
serviceDescription | string | Description of the service | Yes |
serviceLauncher | string | 'simple' (binary) or 'generic' (jar) | Yes |
serviceName | string | Name of the service | Yes |
workingDirectory | string | Working directory for the service | Yes |
Name | Type | Description | Required |
---|---|---|---|
host | string | The hostname of the server running the node manager | Yes |
services | array | See ServiceModel in the Definitions section. | Yes |
Name | Type | Description |
---|---|---|
endDate | string | The date of job completion |
jobId | string | The id of the job. It is of the form "[hostname]-[jobId]", where "hostname" is the name of the system where the job was executed, and "jobId" is the integer job identifier used internally by MPF. |
jobPriority | integer | The priority of the job, an integer value between 0 and 9 with 0 being the lowest priority |
jobProgress | number | A float value from 0 to 100 representing the progress of the job |
jobStatus | string | A string that will be one of the following values: UNKNOWN, INITIALIZED (the job has been initialized but not started), IN_PROGRESS, IN_PROGRESS_ERRORS, IN_PROGRESS_WARNINGS COMPLETE, COMPLETE_WITH_ERRORS, COMPLETE_WITH_WARNINGS, CANCELLING, CANCELLED, CANCELLED_BY_SHUTDOWN, ERROR |
mediaUris | array<string> | The URIs of the media that the job ran on. |
outputObjectPath | string | The server file path to the detection output object |
pipelineName | string | The name of the pipeline used to process the media. Obtained from 'rest/pipelines'. |
startDate | string | The date the job started |
terminal | boolean | True if jobStatus is COMPLETE, COMPLETE_WITH_ERRORS, COMPLETE_WITH_WARNINGS, CANCELLED, CANCELLED_BY_SHUTDOWN, or ERROR; otherwise false |
tiesDbStatus | string | Status of the HTTP POST to TiesDb. Possible statuses are "JOB RUNNING", "IN PROGRESS", "NOT REQUESTED", "COMPLETE", and "ERROR". When there is an error the value will be "ERROR: <description>". |
callbackStatus | string | Status of the job completion callback. Possible statuses are the same as tiesDbStatus. |
Name | Type | Description |
---|---|---|
app | string | Application name (Media Processing Framework) |
appFamily | string | Application family (Workflow Manager) |
buildNum | string | Build number |
gitBranch | string | git branch |
gitHash | string | git hash |
version | string | Version number ("x.x.x") |
Name | Type | Description |
---|---|---|
message | string | Error message if responseCode is not 0 |
responseCode | integer | 0 if success, 1 if error, 2 if warning |
Name | Type | Description |
---|---|---|
count | integer | The amount of jobs, in any job status, processed with the pipeline |
maxTime | integer | The longest amount of time in milliseconds taken to complete a job used to build this model |
minTime | integer | The shortest amount of time in milliseconds taken to complete a job used to build this model |
states | object | A key-value pair of (string, integer) where the key is the job status and the value is the amount of jobs currently meeting that status |
totalTime | integer | The total amount of time taken in milliseconds to complete processing of all jobs used to compile this model |
validCount | integer | The amount of jobs with a job status of COMPLETE, which is the amount of total jobs used to compile the statistics in this model |
Name | Type | Description |
---|---|---|
elapsedTimeMs | integer | Time in milliseconds it took to retrieve this model |
aggregatePipelineStatsMap | object | A key-value pair of (string, AggregatePipelineStatsModel) where the key is a pipeline name |
jobTypes | integer | Amount of different elements in the aggregatePipelineStatsMap, which is equal to the amount of different pipelines used by all of the processed jobs |
totalJobs | integer | The total amount of jobs used to compile the statistics |
Name | Type | Description | Required |
---|---|---|---|
enableOutputToDisk | boolean | True to build the output objects; otherwise false | Yes |
externalId | string | External id | No |
jobProperties | object | A key-value pair using strings which may be used to override the parameters associated with the pipeline. | No |
algorithmProperties | object | A key-value pair which can override jobProperties for a specific algorithm defined in a pipeline. The key should be the algorithm name, and the value should be a Map of String key-value pairs representing properties specific to the named algorithm. | No |
stream | object | See JobCreationStreamData in the Definitions section. | Yes |
stallTimeout | integer | Time before OpenMPF will terminate the streaming job after stall has been initially detected (milliseconds). The stream is considered to be abandoned if this timeout has been exceeded, so OpenMPF will terminate this streaming job. Set value to -1 if the streaming job should never be terminated due to stream stall. | Yes |
pipelineName | string | The name of the pipeline used to process the media. Obtained from 'rest/pipelines'. | Yes |
healthReportCallbackUri | string | A valid (properly encoded) URI for health report callbacks. If specified, the Workflow Manager will include this streaming job in health reports that can be sent to a 3rd party client. If the same healthReportCallbackUri is specified when creating more than one job, the periodically scheduled POST callback will contain health reports for all the jobs created using that healthReportCallbackUri. Health reports that are sent due to status changes and activity alerts for specific jobs will only contain health data for that single job. Monitoring of the OpenMPF health reports is recommended since OpenMPF may have determined the stream to be stalled. For more information, see HealthReport in the Definitions section. | No |
summaryReportCallbackUri | string | A valid (properly encoded) URI for summary report callbacks. If specified, as each video segment is processed, OpenMPF will deliver the summary report to the 3rd party client via this URI using the POST callback method. See Section 2.21 for an example of a summary report. | No |
Name | Type | Description |
---|---|---|
jobId | integer | The unique job id of the streaming job that was created. |
outputObjectDirectory | string | Directory created by OpenMPF for this streaming job. May be null if enableOutputToDisk is false. In this case, there is no directory associated with this streaming job. If enableOutputToDisk is true, then all files generated by this streaming job will be created under this directory. The directory path for streaming job files is returned to the client to support manual file deletion. It is the responsibility of the client to ensure that the volume of video files created for this streaming job does not overwhelm the capacity of the storage disk. |
mpfResponse | See MpfResponse in the Definitions section. |
Name | Type | Description |
---|---|---|
jobId | integer | The id of the streaming job |
outputObjectDirectory | string | Directory created by OpenMPF for this streaming job. May be null if enableOutputToDisk is false. In this case, there is no directory associated with this streaming job. If enableOutputToDisk is true, then all files generated by this streaming job will be created under this directory. The directory path for streaming job files is returned to the client to support manual file deletion. It is the responsibility of the client to ensure that the volume of video files created for this streaming job does not overwhelm the capacity of the storage disk. |
streamUri | string | A valid (properly encoded) URI to a single incoming video stream source for the streaming job. Currently only supporting RTSP and HTTP stream protocols. |
startDate | string | The date the streaming job started, local system time. Example: 2018-01-07T10:23:04.6-05:00. |
endDate | string | The date the streaming job ended, local system time. Example: 2018-01-08T00:00:00.0-05:00 or null if the job hasn't completed. |
jobStatus | string | A string that will be one of the following values: INITIALIZING|IN_PROGRESS|CANCELLING|CANCELLED|TERMINATED| STALLED|JOB_CREATION_ERROR|ERROR|CANCELLED_BY_SHUTDOWN. |
jobStatusDetail | string | Section where more detailed information about the job status may be included. May be null if more detailed information is not available. |
pipelineName | string | The name of the pipeline used to process the media. Obtained from 'rest/pipelines'. |
activityFrameId | string | The frame id corresponding to the start of the first track generated in the current segment. If the current segment has not begun generating any tracks, this will correspond to the last segment that did. This will only be updated once per segment when the first track is started, regardless of the number of other detections in the segment. A null represents that no tracks have been started for this job yet. |
activityTimestamp | string | The detection time associated with the activityFrameId, local system time. Example: 2018-01-07T18:30:00.5-05:00 or null if there has been no activity found in the job. |
Name | Type | Description |
---|---|---|
jobId | integer | The unique job id of the streaming job that was cancelled. |
doCleanup | boolean | True if doCleanup was true in the originating streaming job cancel request. False otherwise. |
outputObjectDirectory | string | Directory created by OpenMPF for this streaming job. May be null if enableOutputToDisk was false. All files generated by this streaming job would have been created under this directory. Directory path is returned to the client to support manual file deletion, if this is something the client wants to do later. It is the responsibility of the client to ensure that the volume of video files created for this streaming job does not overwhelm the capacity of the storage disk. |
mpfResponse | See MpfResponse in the Definitions section. |
Name | Type | Description | Required |
---|---|---|---|
streamUri | string | A valid (properly encoded) URI to a single incoming video stream source for the streaming job. Currently only supporting RTSP and HTTP stream protocols. | Yes |
segmentSize | integer | Defines how to reduce the video into manageable segments for processing within the components. Value must be >= 10. | Yes |
mediaProperties | object | A map of key-value pairs using strings which may be used to override the parameters associated with the pipeline or streaming job properties for this medium. | No |
Name | Type | Description |
---|---|---|
reportDate | string | The date of this health report. |
reports | array | See HealthReportData in the Definitions section. |
Name | Type | Description |
---|---|---|
jobId | array | Unique id of the streaming job. |
externalId | string | External id or null if an external id was not specified in the original streaming job creation request. |
jobStatus | string | A string that will be one of the following values: INITIALIZING|IN_PROGRESS|CANCELLING|CANCELLED|TERMINATED| STALLED|JOB_CREATION_ERROR|ERROR|CANCELLED_BY_SHUTDOWN. |
jobStatusDetail | string | Section where more detailed information about the job status may be included, or null if more detailed job status information is not available. |
activityFrameId | string | The frame id corresponding to the start of the first track generated in the current segment. If the current segment has not begun generating any tracks, this will correspond to the last segment that did. This will only be updated once per segment when the first track is started, regardless of the number of other detections in the segment. A null represents that no tracks have been started for this job yet. |
activityTimestamp | string | The detection time associated with the activityFrameId. A null represents that no tracks have been started for this job yet. |
Name | Type | Description |
---|---|---|
jobIds | array | List of job ids for streaming jobs in OpenMPF. This list may just include the active streaming jobs if the isActive parameter was specified in the original [GET] request. This list will be empty if there are no streaming jobs that satisfy the request conditions in OpenMPF. OpenMPF guarantees uniqueness of all job ids. This includes a guarantee that the jobId of a streaming job will not conflict with the jobId of a batch job. |
Name | Type | Description |
---|---|---|
message | string | Message describing result of REST API call. |
Name | Type | Description |
---|---|---|
name | string | The pipeline's name. |
description | string | A description of the pipeline. |
tasks | array<string> | The names of the pipeline's tasks. |
Name | Type | Description |
---|---|---|
name | string | The task's name. |
description | string | A description of the task. |
actions | array<string> | The names of the task's actions. |
Name | Type | Description |
---|---|---|
name | string | The action's name. |
description | string | A description of the action. |
algorithm | algorithm | The name of the actions' algorithm. |
properties | array<object> | The properties associated with the action which may be used to override algorithm properties. Each property is an object with two fields, name and value. For example: [ {"name": "some_name", "value": "some_value"}, {"name": "some_other_name", "value": "some_other_value"}] |
Name | Type | Description |
---|---|---|
name | string | The algorithm's name. |
description | string | A description of the algorithm. |
actionType | string | Currently this is always "DETECTION", except for the markup component. |
supportsBatchProcessing | boolean | Indicates whether or not the algorithm supports batch processing. |
supportsStreamProcessing | boolean | Indicates whether or not the algorithm supports stream processing. |
providesCollection | Algorithm.Provides | See Algorithm.Provides |
providesCollection | Algorithm.Requires | See Algorithm.Requires |
Name | Type | Description |
---|---|---|
states | array<string> | The names of the states provided by the algorithm. |
properties | array<AlgorithmProperty> | The properties provided by the algorithm. |
Name | Type | Description |
---|---|---|
name | string | The name of the property |
description | string | A description the property. |
defaultValue | string | The value to use when no value is explicitly set for the property. |
type | string | The data type of this property value. Must be one of 'BOOLEAN', 'FLOAT', 'DOUBLE', 'INT', 'LONG', or 'STRING'. |
propertiesKey | string | The name of the Java property that provides the default value for the property. |
Name | Type | Description |
---|---|---|
states | array<string> | The names of the states required by the algorithm. |
Name | Type | Description |
---|---|---|
success | array<integer> | The job ids that were successfully re-posted to TiesDb. |
failures | array<TiesDbRepostResponse.Failure> | An array containing the job ids and descriptions of failed TiesDb re-posts. |
Name | Type | Description |
---|---|---|
jobId | integer | An id of a job that was not successfully re-posted to TiesDb. |
error | string | A textual description explaining why the TiesDb re-post failed. |
Name | Type | Description |
---|---|---|
name | string | The name of the queue. |
messagesInQueue | integer | The number of messages currently in the queue. |
GET /rest/info
Summary | Returns metadata about the Workflow Manager, such as version and build number | ||||||||
Description | Note that some of this information is set only during official builds; if you get a '0' or 'unknown', that indicates that this was not an official build. | ||||||||
Operation Id | |||||||||
Produces | application/json | ||||||||
Parameters |
no parameters | ||||||||
Tags | meta | ||||||||
Responses |
|
GET /rest/jobs/stats
Summary | Compiles the AllJobsStatisticsModel using all of the submitted jobs. | ||||||||
Description | |||||||||
Operation Id | |||||||||
Produces | application/json | ||||||||
Parameters | no parameters |
||||||||
Tags | statistics | ||||||||
Responses |
|
POST /rest/jobs
Summary | Creates and submits a job using a JSON JobCreationRequest object as the request body. | ||||||||||||||||||||
Description |
The pipelineName should be one of the values in 'rest/pipelines', and the component associated
with that pipeline must support batch processing. The pipelineDefinition
field can be provided in the job request, instead of a pipelineName.
The media array should contain objects with
a valid mediaUri. Examples: http://localhost/images/image.png,
file:///home/user/images/image.jpg.
A callbackURL (optional) and callbackMethod (GET or POST) may be added. When the job completes, the callback will perform a GET or POST to the callbackURL with the jobId, externalId, and outputObjectUri parameters. For example, if the callbackURL provided is 'http://api.example.com/foo', the jobId is 'hostname-1', and the externalId is 'someid', then a GET callback will be: http://api.example.com/foo?jobid=hostname-1&externalid=someid&outputobjecturi=file%3A%2F%2F%2Fpath%2Fto%2F1%2Fdetection.json If callbackURL ends in 'foo?someparam=something', then a GET callback will be: http://api.example.com/foo?someparam=something&jobid=hostname-1&externalid=someid&outputobjecturi=file%3A%2F%2F%2Fpath%2Fto%2F1%2Fdetection.json If no externalId is provided, then a GET callback will be: http://api.example.com/foo?jobid=hostname-1&outputobjecturi=file%3A%2F%2F%2Fpath%2Fto%2F1%2Fdetection.json The body of a POST callback will always include the 'jobId', 'externalId', and 'outputObjectUri' even if the latter two are 'null'. The jobId that is reported from OpenMPF is a string of the form "[hostname]-[jobid]", where [hostname] is the name of the host where the job was run, and [jobid] is the numeric job id used internally by OpenMPF. Note that all provided URIs must be properly encoded. An optional jobProperties object contains String key-value pairs which override the pipeline's job properties for this job. An optional algorithmProperties object containing <String,Map> key-value pairs can override jobProperties for a specific algorithm defined in the pipeline. For algorithmProperties, the key should be the algorithm name, and the value should be a Map of String key-value pairs representing properties specific to the named algorithm. Within media, an optional metadata object containing String key-value pairs can override media inspection once the required metadata information is provided for audio, image, generic, and video jobs. For media metadata, note that optional parameters like `ROTATION` and `HORIZONTAL_FLIP` can also be provided. The body of a POST job creation request will be similar to this example which uses a OCV FACE DETECTION (WITH MOG MOTION PREPROCESSOR) PIPELINE. Some unrequired parameters are omitted. Note that this example makes use of overloading by jobProperties, algorithmProperties and mediaProperties: { "jobProperties": { "FRAME_INTERVAL": "5" }, "algorithmProperties": { "FACECV": { "MIN_FACE_SIZE": "50" } }, "media": [{ "mediaUri": "file:///media/sf_SHARED/TRANSFER/samples-new/face/video_01.mp4", "properties": { "HORIZONTAL_FLIP": "true" } }], "pipelineName": "OCV FACE DETECTION (WITH MOG MOTION PREPROCESSOR) PIPELINE", "priority": 0 } The body of a POST callback will be similar to this example: { "jobId": "localhost-145", "externalId": "555", "outputObjectUri": "file:///path/to/1/detection.json" } |
||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Consumes | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | batch_jobs | ||||||||||||||||||||
Responses |
|
GET /rest/jobs/{id}
Summary | Gets a SingleJobInfo model for the job with the id provided as a path variable. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | batch_jobs | ||||||||||||||||||||
Responses |
|
POST /rest/jobs/{id}/cancel
Summary | Cancels the job with the supplied job id. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | batch_jobs | ||||||||||||||||||||
Responses |
|
GET /rest/jobs/{id}/output/detection
Summary | Gets the JSON detection output object of a specific job using the job id as a required path variable. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | batch_job | ||||||||||||||||||||
Responses |
|
POST /rest/jobs/{id}/resubmit
Summary | Resubmits the job with the provided job id. If the job priority parameter is not set the default value will be used. | ||||||||||||||||||||||||||||||
Description | |||||||||||||||||||||||||||||||
Operation Id | |||||||||||||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||||||||||
Tags | batch_jobs | ||||||||||||||||||||||||||||||
Responses |
|
GET /rest/nodes/config
Summary | Retrieves the configuration information of all NodeManagers, including all services configured to run on each NodeManager | ||||||||||
Description | |||||||||||
Operation Id | |||||||||||
Produces | application/json | ||||||||||
Parameters |
no parameters |
||||||||||
Tags | nodes | ||||||||||
Responses |
|
POST /rest/nodes/config
Summary | Save the NodeManager configuration using a JSON array of NodeManagerModel objects. | ||||||||||||||||||||
Description | Each node manager in the cluster will be notified of the change(s) and attempt to conform to those changes. | ||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Consumes | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | nodes | ||||||||||||||||||||
Responses |
|
GET /rest/nodes/hosts
Summary | Returns a collection of key-value pairs containing a hostname and its node configuration status. If the configuration status is 'true' that hostname is configurated to run a node manager. | ||||||||||
Description | The response is a set of JSON key-value pairs, where the key is the hostname and the value is the configuration status. | ||||||||||
Operation Id | |||||||||||
Produces | application/json | ||||||||||
Parameters |
no parameters |
||||||||||
Tags | nodes | ||||||||||
Responses |
|
GET /rest/nodes/info
Summary | Retrieves information about the currently configured node managers and the statuses of the services within each configured node manager. | ||||||
Description | |||||||
Operation Id | |||||||
Produces | application/json | ||||||
Parameters | no parameters |
||||||
Tags | nodes | ||||||
Responses |
|
GET /rest/nodes/services
Summary | Retrieves services that are currently available for deployment to a node. | ||||||||||
Description | In the response, the key is the serviceName and the value is a ServiceModel object. | ||||||||||
Operation Id | |||||||||||
Produces | application/json | ||||||||||
Parameters | no parameters |
||||||||||
Tags | nodes | ||||||||||
Responses |
|
POST /rest/nodes/services/{serviceName}/start
Summary | Starts the service named serviceName | ||||||||||||||||||||
Description | This method returns a NodeServiceStatusChangeResult and a HTTP 200 status code on success. | ||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | nodes | ||||||||||||||||||||
Responses |
|
POST /rest/nodes/services/{serviceName}/stop
Summary | Shuts down the service named serviceName | ||||||||||||||||||||
Description | This method returns a NodeServiceStatusChangeResult and a HTTP 200 status code on success. | ||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | nodes | ||||||||||||||||||||
Responses |
|
GET /rest/system-message
Summary | Retrieves all system messages. | ||||||||||
Description | Returns a JSON array of all System Messages. | ||||||||||
Operation Id | |||||||||||
Produces | application/json | ||||||||||
Parameters |
no parameters |
||||||||||
Tags | system-message | ||||||||||
Responses |
|
POST /rest/system-message
Summary | Adds a system message. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Description | Adds a system message. | ||||||||||||||||||||||||||||||||||||||||||||||||||
Operation Id | |||||||||||||||||||||||||||||||||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||||||||||||||||||||||||||||||||
Consumes | application/json | ||||||||||||||||||||||||||||||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
Tags | system-message | ||||||||||||||||||||||||||||||||||||||||||||||||||
Responses |
|
GET /rest/system-message/type/{typeFilter}
Summary | Retrieves all system messages of the given type. | ||||||||||||||||||||
Description | Returns a JSON array of System Messages matching typeFilter. | ||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Consumes | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | system-message | ||||||||||||||||||||
Responses |
|
DELETE /rest/system-message/{id}
Summary | Deletes a system message identified by id. | ||||||||||||||||||||
Description | By design, if you delete a non-existent id, the response code is still 200 since the server no longer has (and may never have had) a message with that id. | ||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Consumes | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | system-message | ||||||||||||||||||||
Responses |
|
GET /rest/streaming/jobs
Summary | Gets a list of job ids for streaming jobs. | |||||||||||||||||||||
Description | Gets a list of job ids for streaming jobs. If isActive is true, don't include streaming jobs that are terminated, in error or cancelled. If false, return all streaming jobs. | |||||||||||||||||||||
Operation Id | ||||||||||||||||||||||
Produces | application/json | |||||||||||||||||||||
Consumes | application/json | |||||||||||||||||||||
Parameters |
|
|||||||||||||||||||||
Tags | streaming_jobs | |||||||||||||||||||||
Responses |
|
POST /rest/streaming/jobs
Summary | Creates and submits a streaming job using a JSON StreamingJobCreationRequest object as the request body. | ||||||||||||||||||||
Description | The pipelineName should be one of the values in 'rest/pipelines', and the component associated with that pipeline must support stream processing. The stream should contain a valid streamUri, for example: rtsp://example.com/media.mp4. Optional segmentSize, mediaProperties, stallTimeout and stallCallbackUri may also be defined for the stream. Additional streaming job options include summaryReportCallbackUri and healthReportCallbackUri. Health and summary reports will always be sent to the callback URIs using the HTTP POST method. Other streaming job options include jobProperties object which contains String key-value pairs which override the pipeline's job properties for this streaming job. An optional algorithmProperties object containing key-value pairs can override jobProperties for a specific algorithm defined in the pipeline. For algorithmProperties, the key should be the algorithm name, and the value should be a Map of String key-value pairs representing properties specific to the named algorithm. Note that the batch jobs and streaming jobs share a range of valid job ids. OpenMPF guarantees that the ids of a streaming job and a batch job will be unique. Also, note that all provided URIs must be properly encoded.
The body of a POST streaming job creation request will be similar to this example which uses a HELLOWORLD TEST PIPELINE. Some unrequired parameters are omitted.: { "enableOutputToDisk": true, "externalId": "test-run-8", "pipelineName": "HELLOWORLD TEST PIPELINE", "stallTimeout": 30000, "stream": { "segmentSize": 10, "streamUri": "rtsp://localhost/vod/mp4:BigBuckBunny_115k.mov" }, "healthReportCallbackUri": "http://localhost:2000", "summaryReportCallbackUri": "http://localhost:2001" } The body of a health report POST callback will be similar to this example: { "reportDate": "2018-02-15T14:51:30.5-05:00", "reports": [{ "jobId": 244, "externalId": "test-run-7", "jobStatus": "CANCELLED", "jobStatusDetail": "Cancelled by user", "activityFrameId": null, "activityTimestamp": null }, { "jobId": 245, "externalId": "test-run-8", "jobStatus": "IN_PROGRESS", "jobStatusDetail": null, "activityFrameId": "0", "activityTimestamp": "2018-02-15T14:51:30.4-05:00" } ] } The body of a summary report POST callback will be similar to this example: { "reportDate": "2018-02-15T14:51:30.8-05:00", "jobId": 245, "externalId": "test-run-8", "segmentId": 0, "segmentStartFrame": 0, "segmentStopFrame": 9, "errorMessage": "", "output": { "HELLO": [{ "id": "0", "startOffsetFrame": 0, "stopOffsetFrame": 0, "startTimestamp": "2018-02-15T14:51:30.4-05:00", "stopTimestamp": "2018-02-15T14:51:30.4-05:00", "type": "HELLO", "exemplar": { "offsetFrame": 0, "timestamp": "2018-02-15T14:51:30.4-05:00", "x": 0, "y": 0, "width": 960, "height": 540, "confidence": 0.75, "detectionProperties": { "propName1": "propVal1" } }, "detections": [{ "offsetFrame": 0, "timestamp": "2018-02-15T14:51:30.4-05:00", "x": 0, "y": 0, "width": 960, "height": 540, "confidence": 0.75, "detectionProperties": { "propName1": "propVal1" } }] }, { "id": "1", "startOffsetFrame": 3, "stopOffsetFrame": 6, "startTimestamp": "2018-02-15T14:51:30.4-05:00", "stopTimestamp": "2018-02-15T14:51:30.4-05:00", "type": "HELLO", "exemplar": { "offsetFrame": 3, "timestamp": "2018-02-15T14:51:30.4-05:00", "x": 0, "y": 0, "width": 960, "height": 540, "confidence": 0.75, "detectionProperties": { "propName1": "propVal1" } }, "detections": [{ "offsetFrame": 3, "timestamp": "2018-02-15T14:51:30.4-05:00", "x": 0, "y": 0, "width": 960, "height": 540, "confidence": 0.75, "detectionProperties": { "propName1": "propVal1" } }, { "offsetFrame": 6, "timestamp": "2018-02-15T14:51:30.4-05:00", "x": 0, "y": 0, "width": 960, "height": 540, "confidence": 0.75, "detectionProperties": { "propName1": "propVal1" } }] }, { "id": "2", "startOffsetFrame": 9, "stopOffsetFrame": 9, "startTimestamp": "2018-02-15T14:51:30.4-05:00", "stopTimestamp": "2018-02-15T14:51:30.4-05:00", "type": "HELLO", "exemplar": { "offsetFrame": 9, "timestamp": "2018-02-15T14:51:30.4-05:00", "x": 0, "y": 0, "width": 960, "height": 540, "confidence": 0.75, "detectionProperties": { "propName1": "propVal1" } }, "detections": [{ "offsetFrame": 9, "timestamp": "2018-02-15T14:51:30.4-05:00", "x": 0, "y": 0, "width": 960, "height": 540, "confidence": 0.75, "detectionProperties": { "propName1": "propVal1" } }] }] } } |
||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Consumes | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | streaming_jobs | ||||||||||||||||||||
Responses |
|
GET /rest/streaming/jobs/{id}
Summary | Gets a StreamingJobInfo model for the streaming job with the id provided as a path variable. | ||||||||||||||||||||
Description | Get information about a previously created streaming job | ||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | streaming_jobs | ||||||||||||||||||||
Responses |
|
POST /rest/streaming/jobs/{id}/cancel
Summary | Cancels the streaming job with the supplied job id. | ||||||||||||||||||||||||||||||
Description | Cancels the streaming job with the supplied job id. Files created by this streaming job may optionally be cleaned up as part of this cancellation request. If streaming job files are not cleaned up when the streaming job is cancelled, it is recommended that the files be manually removed at a later time to avoid overutilization of the disk. The path to the output directory associated with this streaming job is provided for later reference in the StreamingJobCancelResponse. | ||||||||||||||||||||||||||||||
Operation Id | |||||||||||||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||||||||||||
Parameters |
|
||||||||||||||||||||||||||||||
Tags | streaming_jobs | ||||||||||||||||||||||||||||||
Responses |
|
POST /rest/components/registerUnmanaged
Summary | Register an unmanaged component. | ||||||||||||||||||||
Description | An unmanaged component is a component that is not started or stopped by the Node Manager so it must be done externally. For example, a component that runs in its own Docker container is considered an unmanaged component. If there is no existing component with the same name, then the component will be registered. If there is an existing unmanaged component and it has an identical descriptor, nothing is changed. If there is an existing unmanaged component and the descriptor is different, the existing component will be replaced. If there is an existing managed component with the same name, registration will fail with a 409 - Conflict response. | ||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | application/json | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
DELETE /rest/components/{componentName}
Summary | Remove a component. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | <No content> | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
GET /rest/pipelines
Summary | Gets the list of pipelines. | ||||||
Description | |||||||
Operation Id | |||||||
Produces | array<Pipeline> | ||||||
Tags | |||||||
Responses |
|
GET /rest/pipelines/{name}
Summary | Gets a single pipeline. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | Pipeline | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
POST /rest/pipelines
Summary | Creates a new pipeline. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | <No content> | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
DELETE /rest/pipeline/{name}
Summary | Deletes a pipeline. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | <No content> | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
GET /rest/tasks
Summary | Gets the list of tasks. | ||||||
Description | |||||||
Operation Id | |||||||
Produces | array<Task> | ||||||
Tags | |||||||
Responses |
|
GET /rest/tasks/{name}
Summary | Gets a single task. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | Task | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
POST /rest/tasks
Summary | Create a new task. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | <No content> | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
DELETE /rest/tasks/{name}
Summary | Deletes a task. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | <No content> | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
GET /rest/actions
Summary | Gets the list of actions. | ||||||
Description | |||||||
Operation Id | |||||||
Produces | array<Action> | ||||||
Tags | |||||||
Responses |
|
GET /rest/actions/{name}
Summary | Gets a single action. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | Action | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
POST /rest/actions
Summary | Create a new action. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | <No content> | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
DELETE /rest/actions/{name}
Summary | Deletes an action. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | <No content> | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
GET /rest/algorithms
Summary | Gets the list of algorithms. | ||||||
Description | |||||||
Operation Id | |||||||
Produces | array<Algorithm> | ||||||
Tags | |||||||
Responses |
|
GET /rest/algorithms/{name}
Summary | Gets a single algorithm. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | Algorithm | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
POST /rest/jobs/tiesdbrepost
Summary | Retries posting job results to TiesDB. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | TiesDbRepostResponse | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|
GET /rest/queues
Summary | Gets information about all ActiveMQ queues. | ||||||
Description | |||||||
Operation Id | |||||||
Produces | array<QueueInfo> | ||||||
Tags | |||||||
Responses |
|
GET /rest/queues/{name}
Summary | Gets information about a single ActiveMQ queue. | ||||||||||||||||||||
Description | |||||||||||||||||||||
Operation Id | |||||||||||||||||||||
Produces | QueueInfo | ||||||||||||||||||||
Parameters |
|
||||||||||||||||||||
Tags | |||||||||||||||||||||
Responses |
|