- 21 Sep 2023
-
DarkLight
-
PDF
Workflow Engine
- Updated on 21 Sep 2023
-
DarkLight
-
PDF
This page details the breaking changes in Workflow Engine for the 2023.1 release.
Deep Merge Task Input Variables
Input variables to the deepmerge
task that are not objects are ignored to ensure the task does not error and the workflow runs successfully across all versions of IAP.
To illustrate, the input values something
and 42
in the figure below will be ignored and treated as empty variables.
Figure: Non-Object Input Variables
The task output returns the following result.
{
"color": "red",
"type": "car"
}
What Should I Do?
To fully capture all key values in a newly merged object, review any workflows that might reference the deepmerge
task and make sure all input variables are objects.
APIs Removed Due to Scheduled Deprecations
Below is a list of APIs removed from IAP. Our policy is to provide a deprecation notice two (2) release cycles in advance (at a minimum) before the API is removed. This list represents the latest deprecations announced for the 2023.1 release.
What should I do?
Review any custom apps and adapters that might reference any APIs listed below and change them to the replacement call (or remove them if no replacement call is provided).
Item | Route | Description | Deprecation Release | Actual Removal Release | Replacement |
---|---|---|---|---|---|
addWatchers | POST /workflow_engine/job/watchers/watch | Add watchers to a job. | 2021.2 | 2023.1 | POST /operations-manager/jobs/:jobId/watch |
cancelJob | POST /workflow_engine/cancelJob | Cancel a job. | 2021.2 | 2023.1 | POST /operations-manager/jobs/cancel |
claimTask | POST /workflow_engine/tasks/claim | Claim a manual task. | 2021.2 | 2023.1 | POST /operations-manager/tasks/:id/claim |
continueJob | POST /workflow_engine/jobs/:jobId/continueJob | Continues a job at a task using the finish state of the last iteration. | 2021.2 | 2023.1 | POST /operations-manager/tasks/:id/continue |
createJobGroupEntry | POST /workflow_engine/jobs/:id/groups | Add a group to a job. | 2021.2 | 2023.1 | POST /operations-manager/jobs/:id/groups |
deleteJobGroups | DELETE /workflow_engine/jobs/:id/groups | Delete all groups for a job. | 2021.2 | 2023.1 | PUT /operations-manager/jobs/:id/groups |
find | POST /workflow_engine/jobs/find | Find job documents. | 2021.2 | 2023.1 | GET /operations-manager/jobs |
findForwardPaths | POST /workflow_engine/findForwardPaths | Find the paths between two tasks in a workflow. | 2021.2 | 2023.1 | N/A |
finishManualTask | POST /workflow_engine/finishTask | Completes a manual task. | 2021.2 | 2023.1 | POST /operations-manager/jobs/:jobId/tasks/:taskId/finish |
fixJob | POST /workflow_engine/fixJob | Revert an errored job. | 2021.2 | 2023.1 | POST /operations-manager/jobs/:id/revert |
getAllLoopTasks | POST /workflow_engine/getAllLoopTasks | Get all loop tasks. | 2021.2 | 2023.1 | N/A |
getAssociatedJobs | POST /workflow_engine/getAssociatedJobs | Get associated jobs. | 2021.2 | 2023.1 | GET /operations-manager/jobs |
getEntireJob | GET workflow_engine/getEntireJob/:job_data | Get the entire data of a job. | 2021.2 | 2023.1 | GET /operations-manager/jobs |
getJob | GET /workflow_engine/getJob/:job_id | Get a job. | 2021.2 | 2023.1 | GET /operations-manager/jobs/:id |
getJobDetails | GET /workflow_engine/job/:job_id/details | Get details of an active job. | 2021.2 | 2023.1 | GET /operations-manager/jobs/:id |
getJobFromTaskQuery | POST /workflow_engine/getJobFromTaskQuery | Get job from a task query. | 2021.2 | 2023.1 | GET /operations-manager/tasks?dereference=job |
getJobList | POST /workflow_engine/getJobList/:status | Get a list of jobs by status. | 2021.2 | 2023.1 | GET /operations-manager/jobs |
getJobOutput | GET /workflow_engine/job/:job_id/output | Get the output of a completed job. | 2021.2 | 2023.1 | GET /operations-manager/job/:id?dereference=output&include=output |
getJobShallow | GET /workflow_engine/getJobShallow/:job_data | Get shallow data of a job. | 2021.2 | 2023.1 | GET /operations-manager/jobs/:id |
getJobVisualizationData | GET /workflow_engine/jobs/visdata/:job_id | Get the visualization data of a job. | 2021.2 | 2023.1 | N/A |
getManualTaskController | GET /workflow_engine/tasks/controller/job/:jobId/task/:taskId | Get the controller of a manual task. | 2021.2 | 2023.1 | GET /operations-manager/jobs/:jobId/tasks/:taskId/manual-controller |
getTask | POST /workflow_engine/getTask | Get a tasks. | 2021.2 | 2023.1 | GET /operations-manager/tasks |
getTaskIterations | GET /workflow_engine/getTaskIterations/:job_id/:task | Get job task iterations. | 2020.2 | 2023.1 | POST /workflow_engine/tasks/search |
getTaskStatuses | GET /workflow_engine/job/statuses/:job_id | Get the status of each task in a job. | 2021.2 | 2023.1 | GET /operations-manager/tasks?equals[job._id]=<job_id> |
listJobGroups | GET /workflow_engine/jobs/:id/groups | List the groups that have access to a job. | 2021.2 | 2023.1 | GET /operations-manager/jobs?dereference=groups&include=groups instead |
pauseJob | POST /workflow_engine/pauseJob | Pause a job. | 2021.2 | 2023.1 | POST /operations-manager/jobs/pause |
prepareMetricsLogs | GET /workflow_engine/metrics/jobs | Prepare the metrics logs tarball. | 2021.2 | 2023.1 | N/A |
queryJobs | POST /workflow_engine/queryJobs | Get jobs matching the query. | 2021.2 | 2023.1 | GET /operations-manager/jobs |
queryTasksBrief | POST /workflow_engine/queryTasksBrief | Get brief information about tasks from the tasks collection. | 2021.2 | 2023.1 | GET /operations-manager/tasks |
releaseTask | POST /workflow_engine/tasks/release | Release a manual task. | 2021.2 | 2023.1 | POST /operations-manager/tasks/:id/release |
removeJobGroup | DELETE /workflow_engine/jobs/:id/groups/:group | Remove a group from the list of authorized groups for a job. | 2021.2 | 2023.1 | DELETE /operations-manager/jobs/:jobId/groups/:groupId |
replaceJobGroups | PUT /workflow_engine/jobs/:id/groups | Overwrite the list of groups that have access to a job. | 2021.2 | 2023.1 | PUT /operations-manager/jobs/:id/groups |
resumeJob | POST /workflow_engine/resumeJob | Resume a paused or errored job. | 2021.2 | 2023.1 | POST /operations-manager/jobs/resume |
retryTask | POST /workflow_engine/jobs/:jobId/retryTask | Retries a task with new variables. | 2021.2 | 2023.1 | POST /operations-manager/jobs/:jobId/tasks/:taskId/retry |
revertToTask | POST /workflow_engine/revertToTask | Revert a job from the current task to the target task. | 2021.2 | 2023.1 | POST /operations-manager/jobs/:id/revert |
searchJobs | POST /workflow_engine/jobs/search | Search jobs. | 2021.2 | 2023.1 | GET /operations-manager/jobs |
searchTasks | POST /workflow_engine/tasks/search | Search tasks. | 2021.2 | 2023.1 | GET /operations-manager/tasks |
startJobWithOptions | POST /workflow_engine/startJobWithOptions/:workflow | Initiate a job in a workflow with options. | 2021.2 | 2023.1 | POST /operations-manager/jobs/start |
unwatchJob | DELETE /workflow_engine/job/:job_id/watch | Unwatch a job. | 2021.2 | 2023.1 | POST /operations-manager/jobs/:jobId/unwatch |
validateAllLoops | POST /workflow_engine/validateAllLoops | Validate all loops. | 2021.2 | 2023.1 | N/A |
watchJob | PUT /workflow_engine/job/:job_id/watch | Watch a job. | 2021.2 | 2023.1 | POST /operations-manager/jobs/:jobId/watch |
Workflow Engine Methods Replaced in Operations Manager
With the jobs and tasks APIs moving from Workflow Engine (WFE) to Operations Manager (OM), there are some differences in the API response that need to be considered when using any of these APIs. The differences include both the parameters these methods expect and the responses they return.
API Response Differences - Operations Manager vs. Workflow Engine
In general, Operations Manager responses are formatted with a uniform top level structure; all responses will be objects with the following keys: message
, data
, and metadata
.
Key | Description |
---|---|
message | This property will always be populated with a human readable string. This exists for debugging purposes, as well as proxying actionable feedback to a human user. |
data | This property will contain any data relevant to the method response, such as a list of jobs, or the result of some action, but is not necessary for every context. In situations where data is not meaningful, it will be set to null . |
metadata | This property is used as a container for descriptive data, such as pagination data in a search API, as well as more detailed context for errors such as input validation failures. If a response has no metadata, the key will be set to an empty object ({} ). |
For more information about the use of a search API in Operations Manager, refer to the Search API documentation in the Operations Manager developer guide.
Differences in Methods - WFE vs. OM Equivalents
This section details the WFE methods that have been proxied or replaced in Operations Manager (OM), along with the success and error responses that are returned.
cancelJob | pauseJob | resumeJob
WFE Method | OM Equivalent Method |
---|---|
POST /cancelJob { job_id } | POST /jobs/cancel { jobIds } (limits jobIds to length <= 100) |
POST /pauseJob { job_id } | POST /jobs/pause { jobIds } (limited to 100 jobs) |
POST /resumeJob { job_id } | POST /jobs/resume { jobIds } (limited to 100 jobs) |
Success Response
WFE: Full updated job document
OM: { message: <success-message>, data: null, metadata: {} }
If you consume the updated job document from WFE cancel/pause/resume, perform a second API call in OM to get the updated jobs: GET /jobs?in[_id]=_id1,_id2,...
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad data, 401 for unauthorized, and 500 for internal error.
tasks/claim
WFE Method | OM Equivalent Method |
---|---|
POST /tasks/claim { task_id, user } | POST /tasks/:id/claim and POST /tasks/:id/assign { userId } |
Success Response
WFE: Updated task document
OM: { message: <success-message>, data: null, metadata: {} }
If you depend on the updated task document, perform a second API call in OM to get the updated task: GET /tasks/:id
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad data, 401 for unauthorized, and 500 for internal error.
tasks/release
WFE Method | OM Equivalent Method |
---|---|
POST /tasks/release { task_id } | POST /tasks/:id/release |
Success Response
WFE: Updated task document provided at the root of the response
OM: { message: <success-message>, data: null, metadata: {} }
If you depend on the updated task document, perform a second API call in OM to get the updated task: GET /tasks/:id
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad data, 401 for unauthorized, and 500 for internal error
jobs/:id/groups
WFE Method | OM Equivalent Method |
---|---|
GET /jobs/:id/groups | GET /jobs?dereference=groups&include=groups |
DELETE /jobs/:id/groups/:group | DELETE /jobs/:jobId/groups/:groupId |
PUT /jobs/:id/groups | PUT /jobs/:id/groups |
POST /jobs/:id/groups { group } | POST /jobs/:id/groups { groupId } |
DELETE /jobs/:id/groups | DELETE /jobs/:id/groups |
Success Response
WFE: Boolean indicating success or failure
OM: { message: <success-message>, data: null, metadata: {} }
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad data, 401 for unauthorized, and 500 for internal error.
continueJob
WFE Method | OM Equivalent Method |
---|---|
POST /jobs/:jobId/continueJob { jobId, taskId } | POST /jobs/:id/continue { taskId } |
Success Response
WFE: Updated job document
OM: { message: <success-message>, data: null, metadata: {} }
If you depend on the updated job document, perform a second API call to get the updated job: GET /jobs/:jobId
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad data, 401 for unauthorized, and 500 for internal error.
fixJob
WFE Method | OM Equivalent Method |
---|---|
POST /fixJob { job_id, errored_task, revert_task } | POST /jobs/:id/revert { fromTask, toTask } |
Success Response
WFE: Updated job document
OM: { message: <success-message>, data: null, metadata: {} }
If you depend on the updated job document, perform a second API call to get the updated job: GET /jobs/:jobId
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad data, 401 for unauthorized, and 500 for internal error.
job_id
WFE Method | OM Equivalent Method |
---|---|
DELETE /job/:job_id/watch | POST /jobs/:id/unwatch |
PUT /job/:job_id/watch | POST /jobs/:id/watch |
Success Response
WFE: Username of the user added to the watchers list is provided at the root of the response.
OM:
{
message: <success-message>,
data: null,
metadata: {}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
retryTask
WFE Method | OM Equivalent Method |
---|---|
POST /jobs/:jobId/retryTask { taskId, variables } | POST jobs/:jobId/tasks/:taskId/retry { variables } |
Success Response
WFE: Updated job document provided at the root of the response
OM: { message: <success-message>, data: null, metadata: {} }
If you depend on the updated job document, perform a second API call in OM to get the updated job: GET /jobs/:id
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad data, 401 for unauthorized, and 500 for internal error.
finishTask
WFE Method | OM Equivalent Method |
---|---|
POST /finishTask { job_id, task_id } | POST jobs/:jobId/tasks/:taskId/finish { finish_state, variables } |
Success Response
WFE: Updated job document
OM: { message: <success-message>, data: null, metadata: {} }
If you depend on the updated job document, perform a second API call to get the updated job: GET /jobs/:jobId
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad data, 401 for unauthorized, and 500 for internal error.
jobs/find
WFE Method | OM Replacement Method |
---|---|
POST /jobs/find { query, options } | GET /jobs |
The replacement call uses a query parameter based searching interface rather than one based on JSON in the post body. Refer to the associated docs for more details.
Success Response
WFE: [{ ...job1 }, { ...job2 }, ...]
Array of job documents returned at the root of the response
OM:
{
message: <success-message>,
data: [...jobs],
metadata: {
"skip": <number>,
"limit": <number>,
"nextPageSkip": <null | number>,
"previousPageSkip": <null | number>,
"total": <number>,
"currentPageSize": <number>,
}
}
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
getAssociatedJobs
WFE Method | OM Replacement Method |
---|---|
POST /getAssociatedJobs { options } | GET /jobs?exclude=transitions,variables&dereference=accounts.metrics.user + Search terms equivalent to options.filter |
- Querying:
POST /getAssociatedJobs
supports filtering via theoptions.filter
. Refer to the OM Search documentation on details related to filtering with GET /jobs. - Pagination:
POST /getAssociatedJobs options.skip
andoptions.limit
become?skip=...&limit=...
in GET /jobs.
Success Response
WFE:
{
results: [...searchResults],
skip: <number>,
limit: <number>,
total: <number>
}
OM:
{
message: <success-message>,
data: [...searchResults],
metadata: {
skip: <number>,
limit: <number>,
nextPageSkip: <null | number>,
previousPageSkip: <null | number>,
total: <number>,
currentPageSize: <number>,
}
}
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
job_data
WFE Method | OM Replacement Method |
---|---|
GET /getEntireJob/:job_data | GET /jobs/:id?dereference=tasks |
Success Response
WFE: Job document is returned at the root of the response
OM:
{
message: <success-response>,
data: <job>,
metadata: {}
}
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
job_id
WFE Method | OM Replacement Method |
---|---|
GET /getJob/:job_id | GET /jobs/:id |
Success Response
WFE: Job document is returned at the root of the response
OM:
{
message: <success-response>,
data: <job>,
metadata: {}
}
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
job_id/details
WFE Method | OM Replacement Method |
---|---|
GET /job/:job_id/details | GET /jobs/:id |
Success Response
WFE: Job document is returned at the root of the response
OM:
{
message: <success-response>,
data: <job>,
metadata: {}
}
Error Response
WFE: String message with response code 500
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
getJobFromTaskQuery
WFE Method | OM Replacemment Method |
---|---|
POST /getJobFromTaskQuery { task_query, options } | GET /tasks?dereference=job&<...search-params> |
Success Response
WFE:
{
results: [...jobDocuments],
skip: <number>,
limit: <number>,
total: <number>
}
OM:
Overall response
{
message: <success-message>,
data: [...taskDocumentsWithJobs],
metadata: {
skip: <number>,
limit: <number>,
nextPageSkip: <null | number>,
previousPageSkip: <null | number>,
total: <number>,
currentPageSize: <number>,
}
}
Individual task documents
- Note the difference in job document location with the WFE method.
{
...ordinaryTaskData,
job: <complete-parent-job-document>
}
Whereas the WFE method returns only jobs themselves as output, the OM replacement method will return tasks at the top level, with jobs nested within the tasks. There is not a direct way to get a list of just the unique jobs returned by this query; this is up to the API caller to implement.
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
getJobList/status
WFE Method | OM Replacement Method |
---|---|
POST /getJobList/:status { options } | GET /jobs?equals[status]=<status> |
Success Response
WFE:
{
results: [...jobDocuments],
skip: <number>,
limit: <number>,
total: <number>
}
OM:
{
message: <success-message>,
data: [...jobDocuments],
metadata: {
skip: <number>,
limit: <number>,
nextPageSkip: <null | number>,
previousPageSkip: <null | number>,
total: <number>,
currentPageSize: <number>,
}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
job_id/output
WFE Method | OM Replacement Method |
---|---|
GET /job/:job_id/output | GET /job/:id?dereference=output&include=output,variables |
Success Response
WFE: Raw job output is included at the root of the document. This output is from the workflow's output schema, if it exists; otherwise it is just the current state of the jobs variables.
OM:
{
message: <success-message>,
data: {
output: <null | job-output>,
variables: <job-variables>
},
metadata: {}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
getJobShallow/job_data
WFE Method | OM Replacement Method |
---|---|
GET /getJobShallow/:job_data | GET /job/:id?exclude=variables&dereference=tasks |
Success Response
WFE: Job is included at the root of the response
OM:
{
message: <success-message>,
data: <job-document>,
metadata: {}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
tasks/controller/job
WFE Method | OM Proxy Method |
---|---|
GET /tasks/controller/job/:jobId/task/:taskId | GET /jobs/:jobId/tasks/:taskId/manual-controller |
Success Response
WFE: Manual task controller is returned at the root of the response
OM:
{
message: <success-message>,
data: <manual-task-controller>,
metadata: {}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs, 401 for unauthorized, and 500 for internal error.
getTask { query, filter }
WFE Method | OM Replacement Method |
---|---|
POST /getTask { query, filter } | GET /tasks?limit=1&include=<...fields-from-filter> |
The Workflow Engine POST /getTask
uses the filter parameter to specify which fields to include in the response. To construct an equivalent include expression, please refer to projection section of the OM search API documentation and use the keys of your filter parameter as values in both the include and exclude.
Success Response
WFE: Task document provided in the root of the response
OM:
{
message: <success-message>,
data: <task-document>,
metadata: {}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs, 401 for unauthorized, and 500 for internal error.
getTaskIterations
WFE Method | OM Replacement Method |
---|---|
GET /getTaskIterations/:job_id/:task | GET /job/:id?dereference=tasks&include=tasks.<task-id>.iterations |
Success Response
WFE: [{ ...task1 }, { ...task2 }, ...]
OM:
{
message: <success-message>,
data: {
tasks: {
[<task-id>]: {
iterations: [
{ ...task1 },
{ ...task2 },
...
]
}
}
},
metadata: {}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs, 401 for unauthorized, and 500 for internal error.
job/statuses
WFE Method | OM Replacement Method |
---|---|
GET /job/statuses/:job_id | GET /tasks?equals[job._id]=<job_id>&equals[job.task]=<task>&include=status&dereference=accounts.metrics.owner |
Success Response
WFE: Full task documents are provided at the root of the response
OM:
{
message: <success-message>,
data: [...taskDocuments],
metadata: {
skip: <number>,
limit: <number>,
nextPageSkip: <null | number>,
previousPageSkip: <null | number>,
total: <number>,
currentPageSize: <number>,
}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
queryJobs
WFE Method | OM Replacement Method |
---|---|
POST /queryJobs | GET /jobs |
Please use the OM search API documentation as a reference when translating queries provided to POST /queryJobs into query parameters to GET /jobs.
Success Response
WFE: [{ ...job1 }, { ...job2 }, ...]
OM:
{
message: <success-message>,
data: [{ ...job1 }, { ...job2 }, ...],
metadata: {
skip: <number>,
limit: <number>,
nextPageSkip: <null | number>,
previousPageSkip: <null | number>,
total: <number>,
currentPageSize: <number>,
}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
queryTasksBrief
WFE Method | OM Replacement Method |
---|---|
POST /queryTasksBrief | GET /tasks?exclude=variables |
Success Response
WFE: [{ ...task1 }, { ...task2 }, ...]
OM:
{
message: <success-message>,
data: [{ ...task1 }, { ...task2 }, ...],
metadata: {
skip: <number>,
limit: <number>,
nextPageSkip: <null | number>,
previousPageSkip: <null | number>,
total: <number>,
currentPageSize: <number>,
}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
jobs/search
WFE Method | OM Replacement Method |
---|---|
POST /jobs/search | GET /jobs |
Please use the OM search documentation as a reference when translating search parameters between these two endpoints.
Success Response
WFE: [{ ...job1 }, { ...job2 }, ...]
OM:
{
message: <success-message>,
data: [{ ...job1 }, { ...job2 }, ...],
metadata: {
skip: <number>,
limit: <number>,
nextPageSkip: <null | number>,
previousPageSkip: <null | number>,
total: <number>,
currentPageSize: <number>,
}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.
tasks/search
WFE Method | OM Replacement Method |
---|---|
POST /tasks/search | GET /tasks |
Please use the OM search documentation as a reference when translating search parameters between these two endpoints.
Success Response
WFE: [{ ...task1 }, { ...task2 }, ...]
OM:
{
message: <success-message>,
data: [{ ...task1 }, { ...task2 }, ...],
metadata: {
skip: <number>,
limit: <number>,
nextPageSkip: <null | number>,
previousPageSkip: <null | number>,
total: <number>,
currentPageSize: <number>,
}
}
Error Response
WFE: String message with 500 response code
OM: { message: <error-message>, data: null, metadata: {} } with response code 400 for bad inputs and 500 for internal error.