Workflow Endpoints
Workflow Endpoints and Parameters
To learn more about the objects relations and how to use them in the API, go to the Object Relations section.
For more information about workflows, visit the Workflows help page.
Upload a New Workflow
To upload a new workflow, use the POST {baseURL}/v3/workflows
endpoint.
Parameters
file (file): Required. Select the actual file you want to upload to the system. The media type must be a YXZP file.
name (string): Required. Enter a workflow name. This is the name of the workflow to display in Server UI.
ownerId (string): Required. Enter the ID of the owner.
workerTag (string): Optional. Specify the worker tag defined in the workers to help assign jobs to certain worker nodes. For more information, visit the Worker help page.
districtTags (string): Optional. Submit as JSON formatted array, for example, ["id1", "id2"]. Use districts to group shared, public workflows by tags so that users can easily find them. For more information, visit the Districts help page.
comments (string): Optional. Enter your comments.
isPublic (boolean): Required. Select whether the workflow will be publicly available.
isReadyForMigration (boolean): Required. Select whether the workflow is ready to be migrated. For more information about the migration from one Server environment to another, see the Enable Workflows for Migration help page.
sourceAppId (string): Optional.
othersMayDownload (boolean): Required. Specify whether other users may download this workflow.
othersCanExecute (boolean): Required. Specify whether other users can execute this workflow.
executionMode (string): Required. Accepted values are "Safe", "SemiSafe", "Standard". For more information about the execution mode, see the Safe and Semi-safe Run Modes: Blocked Tools, Events, and Data Connectors help page.
hasPrivateDataExemption (boolean): Optional. Give an exemption to allow a workflow with private data to run. Select "true" to allow an exemption or "false" to deny an exemption. For more information, visit the Workflow Options in Admin page.
workflowCredentialType (string): Optional. Accepted values are "Default", "Required", "Specific".
credentialId (string): Optional. Specify the credentialId for this workflow.
collectionIds (string): Optional. Submit as JSON formatted array. IE: ["id1", "id2"].
Upload a New Version of an Existing Workflow
To upload a new version of an existing workflow, use the POST {baseURL}/v3/workflows/{workflowId}/versions
endpoint.
Parameters
file (file): Required. Select the actual file you want to upload to the system. The media type must be a YXZP file.
workflowId (string): Required. Enter the workflow ID for which you want to upload a new version.
file (file): Optional. Choose the file you want to upload to the system as a new version.
name (string): Required. Enter the workflow name. This is the name of the workflow to display in Server UI.
ownerId (string): Required. Enter the ID of the owner.
othersMayDownload (boolean): Required. The default is set to true.
othersCanExecute (boolean): Required. The default is set to true.
executionMode (string): Required. Accepted values are "Safe", "SemiSafe", "Standard". For more information about the execution mode, see the Safe and Semi-safe Run Modes: Blocked Tools, Events, and Data Connectors help page.
hasPrivateDataExemption (boolean): Optional. Give an exemption to allow a workflow with private data to run. Select "true" to allow an exemption or "false" to deny an exemption.
comments (string): Required. Enter your comments.
makePublished (boolean): Required. The default is set to true. The makePublished parameter is a way to control whether the new version of a workflow that you push to Server should be the published version or not. You can set the value to false when you push the workflow to Server, and then only you will have the ability to run it.
Retrieve All Workflows
To get information about all workflow records, use the GET {baseURL}/v3/workflows/
endpoint.
Parameters
view (string): Optional. Select how you want to display workflow information. Can be left without a value. You can select from the following values: ‘Default’ and ‘Full’. If this parameter is set to 'Default’, then a reduced view object will be returned. When not specified, the ‘Default’ value is used.
name (string): Optional. Enter the name of the workflow in case you want to filter the workflows by name. This is the name of the workflow displayed in Server UI.
ownerId (string): Optional. Enter the ID of the owner in case you want to filter the workflows by their owner.
createdAfter (string): Optional. Enter the date and time after which the workflow was created. Enter the date and time in ISO8601 format.
createdBefore (string): Optional. Enter the date and time before which the workflow was created. Enter the date and time in ISO8601 format.
Request Example: cUrl
curl --location --request GET 'http://localhost/webapi/v3/workflows' \ --header 'Authorization: Bearer BearerTokenGoesHere'
Retrieve a Specific Workflow Record
To get information about a specific workflow, use the GET {baseURL}/v3/workflows/{workflowId}
endpoint.
Parameters
workflowId (string): Required. Enter the workflow ID to get information about this workflow.
Request Example: cURL
curl --location --request GET 'http://localhost/webapi/v3/workflows/61db393fc565144387d451fb' \ --header 'Authorization: Bearer BearerTokenGoesHere'
Update an Existing Workflow
To upload a new version of an existing workflow, use the PUT {baseURL}/v3/workflows/{workflowId}
endpoint.
Note
To change the ownerId, the new owner must be in the same subscription as the current owner.
Parameters
workflowId (string): Required. Enter the ID of the workflow you want to update.
updateWorkflowContract (body): Required. Enter the workflow information you want to update.
name (string): Required. Enter the workflow name.
versionId (string): Required. Enter the version ID.
makePublished (boolean): Optional. When not specified, the value stays the same as before. The makePublished parameter is a way to control whether the new version of a workflow that you push to Server should be the published version or not. You can set the value to false when you push the workflow to Server, and then only you will have the ability to run it.
ownerId (string): Required. Enter the owner ID.
workerTag (string): Required. When there is no workerTag, use "" instead.
districtTags (string): Required. Enter the district tags. Use districts to group shared, public workflows by tags so that users can easily find them. For more information, visit the Districts help page.
comments (string): Required. Enter your comments.
isPublic (boolean): Optional. When not specified, the value stays the same as before.
isReadyForMigration (boolean): Optional. When not specified, the value stays the same as before.
othersMayDownload (boolean): Optional. When not specified, the value stays the same as before. When set to false for a public workflow, the workflow will be unusable.
othersCanExecute (boolean): Optional. When not specified, the value stays the same as before. When set to false for a public workflow, the workflow will be unusable.
executionMode (string): Optional. Accepted values are "Safe", "SemiSafe", "Standard". For more information about the execution mode, see the Safe and Semi-safe Run Modes: Blocked Tools, Events, and Data Connectors help page.
hasPrivateDataExemption (boolean): Optional. Give an exemption to allow a workflow with private data to run. Select "true" to allow an exemption or "false" to deny an exemption. When not specified, the value stays the same as before. For more information, visit the Workflow Options in Admin page.
Download a Workflow Package
To download a workflow package, use the GET {baseURL}/v3/workflows/{workflowId}/package
endpoint.
Parameters
workflowId (string): Required. Enter the workflow ID for which you want to download the package.
versionId (string): Optional. Enter the specific version ID of a workflow. If no version is provided, then the published version is downloaded.
Note
If the versionID is double-digit, it might reach the size limit and you might get a '414 - URI Too Long' error. In this case, please parse the JSON versionID string and trim it to the most recent version only. This will keep the field length under control.
Request Example: cURL
curl -X GET --header 'Accept: application/octet-stream' --header 'Authorization: Bearer BearerTokenGoesHere' 'http://localhost/webapi/v3/workflows/635a4be7dc6e24bb8ff0/package'
Retrieve Question Information for a Workflow
To get question information for a workflow, use the GET {baseURL}/v3/workflows/{workflowId}/questions
endpoint.
Parameters
workflowId (string): Required. Enter the workflow ID for which you want to retrieve the information.
versionId (string): Optional. Enter the specific version ID of a workflow. If no version is provided, then the published version is used.
Request Example: cURL
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer BearerTokenGoesHere' 'http://localhost/webapi/v3/workflows/635a4bc6e24b78d0b8ff0/questions'
Get Information about Jobs for a Specific Workflow
To get information about jobs for a specific workflow, use the GET {baseURL}/v3/workflows/{workflowId}/jobs
endpoint.
Parameters
workflowId (string): Required. Enter the workflow ID for which you want to retrieve the information.
sortField (string): Optional.
direction (string): Optional.
offset (string): Optional.
limit (string): Optional.
Request Example: cURL
curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer BearerTokenGoesHere' 'http://localhost/webapi/v3/workflows/635a4be6e24b78d0b8ff0/jobs'
Delete a Workflow
To delete a specific workflow, use the DELETE {baseURL}/v3/workflows/{workflowId}
endpoint.
Parameters
workflowId (string): Required. Enter the workflow ID to delete.
force (boolean): Optional. When not selected, the default value is false. If a workflow is scheduled, the parameter set to true will delete all schedules before deleting it.
Request Example: cURL
curl -X DELETE --header 'Accept: application/json' --header 'Authorization: Bearer BearerTokenGoesHere' 'http://localhost/webapi/v3/workflows/635a752fdc6e278d0ba40b'
Objects Relations
If you are uploading a workflow, you can use created objects as follows:
Object created: "workflowId" (for example, "id": "7917969784f84bd09442f66996ecb8f3")
You can use it as:
workflowId if you are adding workflows to a collection.
appId if you are removing workflows from a collection.
workflowId if you are searching for a specific workflow.
workflowId if you are deleting a specific workflow.
workflowId if you are updating an existing workflow.
workflowId if you are uploading a new version of an existing workflow.
workflowId if you are searching for a schedule.
workflowId if you are creating a schedule.
workflowId if you are downloading a workflow package.
workflowId if you want to retrieve question information for a workflow.
workflowId if you want to get info about jobs for a workflow.
Postman Request Examples
GET /v3/workflows/{workflowId}
To know more about Postman requests, visit the How to Use Postman help page.