Workflow Model

An Object

Note

Drop in one of our language drivers to accelerate your development.
Here are links to some of our popular Cookbooks to help you get started!

Parent

This Workflow Model is contained within a Platform.

Properties

The following properties are available:

Property Type Default Read-Only Description
_doc string No The primary ID
_system object No Metadata maintained by the system
deployed boolean No Indicates whether this workflow model has already been deployed. If the model has already been deployed, it cannot be deleted.
emails object No
forms object No
head boolean No Indicates whether this workflow model version is the head version. Only one workflow model version will have head marked as true at a time.
id string No A textual unique identifier for the workflow
nodes object No Contains a map of the node definitions for the workflow, keyed by node ID
properties object No
swimlanes object No Contains a map of swimlane definitions and assignments for the workflow, keyed by swimlane ID
version number No The version of the workflow (long)

Methods

The following methods are available:

Check Permission

Checks whether one or more authorities against the specified workflowModel are granted for a given set of users
POST /workflow/models/{modelId}/permissions/{permissionId}/check

Parameters

Name Required Type Description
modelId true string
permissionId true string
id true string
version false string

Response

{
  "$ref": "#/components/schemas/checkPermission"
}

Check Single Authority

Checks whether a single authority is granted against the specified workflowModel for the given user
POST /workflow/models/{modelId}/authorities/{authorityId}/check

Parameters

Name Required Type Description
modelId true string
authorityId true string The ID or authority key for the authority
id true string
version false string

Response

{
  "type": "object",
  "description": "Check",
  "extends": "status",
  "properties": {
    "check": {
      "type": "boolean"
    },
    "ok": null
  }
}

Check multiple Authorities

Checks whether one or more authorities against the specified workflowModel are granted for a given set of users
POST /workflow/models/authorities/check

Parameters

This function has no parameters.

Response

{
  "type": "object",
  "description": "Check Multiple Authorities Out",
  "properties": {
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "permissionedId": {
            "type": "string"
          },
          "principalId": {
            "type": "string"
          },
          "authorityId": {
            "type": "string"
          },
          "result": {
            "type": "boolean"
          }
        }
      }
    }
  }
}

Check multiple Permissions

Checks whether one or more permissions against the specified workflowModel are granted for a given set of users
POST /workflow/models/permissions/check

Parameters

This function has no parameters.

Response

{
  "type": "object",
  "description": "Check Multiple Permissions Out",
  "properties": {
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "permissionedId": {
            "type": "string"
          },
          "principalId": {
            "type": "string"
          },
          "permissionId": {
            "type": "string"
          },
          "result": {
            "type": "boolean"
          }
        }
      }
    }
  }
}

Create Workflow Model

Creates a new Workflow Model
POST /workflow/models

Parameters

This function has no parameters.

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Delete Workflow Model

Deletes an existing Workflow Model
DELETE /workflow/models/{modelId}/versions/{versionId}

Parameters

Name Required Type Description
modelId true string
versionId true string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Delete Workflow Model

Deletes an existing Workflow Model
DELETE /workflow/models/{modelId}

Parameters

Name Required Type Description
modelId true string
version false string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Delete Workflow Model

Deletes an existing Workflow Model
POST /workflow/models/{modelId}/delete

Parameters

Name Required Type Description
modelId true string
version false string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Delete Workflow Model

Deletes an existing Workflow Model
POST /workflow/models/{modelId}/versions/{versionId}/delete

Parameters

Name Required Type Description
modelId true string
versionId true string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Deploy

POST /workflow/models/{modelId}/versions/{versionId}/deploy

Parameters

Name Required Type Description
modelId true string
versionId true string

Response

{}

Deploy

POST /workflow/models/{modelId}/deploy

Parameters

Name Required Type Description
modelId true string
version true string

Response

{}

Email

GET /workflow/models/{modelId}/nodes/{nodeId}/email

Parameters

Name Required Type Description
modelId true string
nodeId true string

Response

{}

Form

GET /workflow/models/{modelId}/nodes/{nodeId}/form

Parameters

Name Required Type Description
modelId true string
nodeId true string

Response

{}

Forms

GET /workflow/models/{modelId}/forms

Parameters

Name Required Type Description
modelId true string

Response

{}

Grant Authority

Grants an authority against the specified workflowModel to a given user
POST /workflow/models/{modelId}/authorities/{authorityId}/grant

Parameters

Name Required Type Description
modelId true string
authorityId true string
id true string
version false string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Lists Workflow Model

Retrieves a list of Workflow Model instances
GET /workflow/models

Parameters

Name Required Type Description
all false string
sort false object Defines how to sort fields in the result set
skip false number Skips the result set cursor ahead the specified number of records
limit false number Specifies the number of records to be handed back in the result set

Response

{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/resultmap_workflowModel"
      }
    }
  }
}

Lists Workflow Model

Retrieves a list of Workflow Model instances
GET /workflow/models/{modelId}/acl/list

Parameters

Name Required Type Description
modelId true string
version false string
sort false object Defines how to sort fields in the result set
skip false number Skips the result set cursor ahead the specified number of records
limit false number Specifies the number of records to be handed back in the result set

Response

{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/resultmap_workflowModel"
      }
    }
  }
}

Queries for Workflow Model

Queries for instances of type Workflow Model
POST /workflow/models/query

Parameters

Name Required Type Description
all false string
sort false object Defines how to sort fields in the result set
skip false number Skips the result set cursor ahead the specified number of records
limit false number Specifies the number of records to be handed back in the result set

Response

{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/resultmap_workflowModel"
      }
    }
  }
}

Query

Queries for items of type workflowModel
POST /workflow/models/{modelId}/versions/query

Parameters

Name Required Type Description
modelId true string

Response

{
  "type": "object",
  "description": "Result Map",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "object"
      }
    }
  }
}

Read ACL for Principal

Reads the ACL for a workflow model and specific actor
GET /workflow/models/{modelId}/acl

Parameters

Name Required Type Description
modelId true string
id true string
version false string

Response

{
  "type": "object",
  "description": "Result Map of Authority Keys",
  "properties": {
    "total_rows": {
      "type": "number"
    },
    "offset": {
      "type": "number"
    },
    "size": {
      "type": "number"
    },
    "rows": {
      "type": "array",
      "items": {
        "type": "string",
        "description": "Authority Key"
      }
    }
  }
}

Read Authorities Report

Read the Authorities Report for the specified workflowModel
POST /workflow/models/{modelId}/authorities

Parameters

Name Required Type Description
modelId true string
version false string

Response

{
  "type": "object",
  "description": "Authority Report",
  "properties": {
    "principalId": {
      "type": "object",
      "properties": {
        "id": {
          "type": "object",
          "properties": {
            "role-key": {
              "type": "string"
            },
            "principal": {
              "type": "string"
            },
            "permissioned": {
              "type": "string"
            },
            "inheritsFrom": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "principal": {
                  "type": "string"
                },
                "permissioned": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    }
  }
}

Read Workflow Model

Reads an instance of a Workflow Model
GET /workflow/models/{modelId}/versions/{versionId}

Parameters

Name Required Type Description
modelId true string
versionId true string

Response

{
  "type": "object",
  "extends": "document",
  "description": "Workflow Model",
  "container": "platform",
  "properties": {
    "id": {
      "type": "string",
      "title": "Model ID",
      "description": "A textual unique identifier for the workflow"
    },
    "version": {
      "type": "number",
      "title": "Version",
      "description": "The version of the workflow (long)"
    },
    "deployed": {
      "type": "boolean",
      "title": "Deployed",
      "description": "Indicates whether this workflow model has already been deployed.  If the model has already been deployed, it cannot be deleted."
    },
    "head": {
      "type": "boolean",
      "title": "Head",
      "description": "Indicates whether this workflow model version is the head version.  Only one workflow model version will have head marked as true at a time."
    },
    "nodes": {
      "type": "object",
      "title": "Nodes",
      "description": "Contains a map of the node definitions for the workflow, keyed by node ID"
    },
    "swimlanes": {
      "type": "object",
      "title": "Swimlanes",
      "description": "Contains a map of swimlane definitions and assignments for the workflow, keyed by swimlane ID"
    },
    "properties": {
      "type": "object",
      "title": "Properties",
      "description": ""
    },
    "forms": {
      "type": "object",
      "title": "Forms",
      "description": ""
    },
    "emails": {
      "type": "object",
      "title": "Emails",
      "description": ""
    },
    "_doc": null,
    "_system": null
  }
}

Read Workflow Model

Reads an instance of a Workflow Model
GET /workflow/models/{modelId}

Parameters

Name Required Type Description
modelId true string
version false string

Response

{
  "type": "object",
  "extends": "document",
  "description": "Workflow Model",
  "container": "platform",
  "properties": {
    "id": {
      "type": "string",
      "title": "Model ID",
      "description": "A textual unique identifier for the workflow"
    },
    "version": {
      "type": "number",
      "title": "Version",
      "description": "The version of the workflow (long)"
    },
    "deployed": {
      "type": "boolean",
      "title": "Deployed",
      "description": "Indicates whether this workflow model has already been deployed.  If the model has already been deployed, it cannot be deleted."
    },
    "head": {
      "type": "boolean",
      "title": "Head",
      "description": "Indicates whether this workflow model version is the head version.  Only one workflow model version will have head marked as true at a time."
    },
    "nodes": {
      "type": "object",
      "title": "Nodes",
      "description": "Contains a map of the node definitions for the workflow, keyed by node ID"
    },
    "swimlanes": {
      "type": "object",
      "title": "Swimlanes",
      "description": "Contains a map of swimlane definitions and assignments for the workflow, keyed by swimlane ID"
    },
    "properties": {
      "type": "object",
      "title": "Properties",
      "description": ""
    },
    "forms": {
      "type": "object",
      "title": "Forms",
      "description": ""
    },
    "emails": {
      "type": "object",
      "title": "Emails",
      "description": ""
    },
    "_doc": null,
    "_system": null
  }
}

Revoke Authority

Revokes an authority against the specified workflowModel from a given user
POST /workflow/models/{modelId}/authorities/{authorityId}/revoke

Parameters

Name Required Type Description
modelId true string
authorityId true string
id true string
version false string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Starts an export job for this resource

Starts an export job for this resource
POST /workflows/model/{modelId}/export

Parameters

Name Required Type Description
modelId true string
version false string
groupId false string The Group ID to be assigned to the exported archive
artifactId false string The Artifact ID to be assigned to the exported archive
versionId false string The Version ID to be assigned to the exported archive
vaultId false string The ID of the vault where the exported archive should be saved
schedule false string Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous')

Response

{
  "type": "object",
  "description": "Export Configuration",
  "properties": {
    "startDate": {
      "type": "object"
    },
    "endDate": {
      "type": "object"
    },
    "startChangeset": {
      "type": "string"
    },
    "endChangeset": {
      "type": "string"
    },
    "includeACLs": {
      "type": "boolean"
    },
    "includeTeams": {
      "type": "boolean"
    },
    "includeActivities": {
      "type": "boolean"
    },
    "includeBinaries": {
      "type": "boolean"
    },
    "includeAttachments": {
      "type": "boolean"
    },
    "artifactDependencies": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "artifactIncludes": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "forceIncludes": {
      "type": "boolean"
    }
  }
}

Starts an import job for this resource

Starts an import job for this resource
POST /workflows/{modelId}/import

Parameters

Name Required Type Description
modelId true string
version false string
groupId false string The Group ID to be assigned to the exported archive
artifactId false string The Artifact ID to be assigned to the exported archive
versionId false string The Version ID to be assigned to the exported archive
vaultId false string The ID of the vault where the exported archive should be saved
schedule false string Whether to run the job immediately or in the background (either 'synchronous' or 'asynchronous')

Response

{
  "type": "object",
  "description": "Import Configuration",
  "properties": {
    "includeACLs": {
      "type": "boolean"
    },
    "includeTeams": {
      "type": "boolean"
    },
    "includeActivities": {
      "type": "boolean"
    },
    "includeBinaries": {
      "type": "boolean"
    },
    "includeAttachments": {
      "type": "boolean"
    },
    "strategy": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "substitutions": {
      "type": "string"
    }
  }
}

Undeploy

POST /workflow/models/{modelId}/undeploy

Parameters

Name Required Type Description
modelId true string
version true string

Response

{}

Undeploy

POST /workflow/models/{modelId}/versions/{versionId}/undeploy

Parameters

Name Required Type Description
modelId true string
versionId true string

Response

{}

Update Workflow Model

Updates an existing Workflow Model
PUT /workflow/models/{modelId}/versions/{versionId}

Parameters

Name Required Type Description
modelId true string
versionId true string
force false string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Update Workflow Model

Updates an existing Workflow Model
PUT /workflow/models/{modelId}

Parameters

Name Required Type Description
modelId true string
version false string
force false string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Update Workflow Model

Updates an existing Workflow Model
POST /workflow/models/{modelId}/versions/{versionId}/update

Parameters

Name Required Type Description
modelId true string
versionId true string
force false string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Update Workflow Model

Updates an existing Workflow Model
POST /workflow/models/{modelId}/update

Parameters

Name Required Type Description
modelId true string
version false string
force false string

Response

{
  "type": "object",
  "description": "Status of Operation",
  "properties": {
    "ok": {
      "type": "boolean",
      "description": "Indicates whether the operation succeeded or not"
    }
  }
}

Upgrade

POST /workflow/instances/{workflowId}/upgrade

Parameters

Name Required Type Description
workflowId true string
id false string
version false string

Response

{}

Upgrade

POST /workflow/instances/upgrade

Parameters

Name Required Type Description
id true string
version true string
targetId false string
targetVersion false string

Response

{}

Versions

GET /workflow/models/{modelId}/versions

Parameters

Name Required Type Description
modelId true string

Response

{}

Schema


{
  "type": "object",
  "extends": "document",
  "description": "Workflow Model",
  "container": "platform",
  "properties": {
    "id": {
      "type": "string",
      "title": "Model ID",
      "description": "A textual unique identifier for the workflow"
    },
    "version": {
      "type": "number",
      "title": "Version",
      "description": "The version of the workflow (long)"
    },
    "deployed": {
      "type": "boolean",
      "title": "Deployed",
      "description": "Indicates whether this workflow model has already been deployed.  If the model has already been deployed, it cannot be deleted."
    },
    "head": {
      "type": "boolean",
      "title": "Head",
      "description": "Indicates whether this workflow model version is the head version.  Only one workflow model version will have head marked as true at a time."
    },
    "nodes": {
      "type": "object",
      "title": "Nodes",
      "description": "Contains a map of the node definitions for the workflow, keyed by node ID"
    },
    "swimlanes": {
      "type": "object",
      "title": "Swimlanes",
      "description": "Contains a map of swimlane definitions and assignments for the workflow, keyed by swimlane ID"
    },
    "properties": {
      "type": "object",
      "title": "Properties",
      "description": ""
    },
    "forms": {
      "type": "object",
      "title": "Forms",
      "description": ""
    },
    "emails": {
      "type": "object",
      "title": "Emails",
      "description": ""
    },
    "_doc": null,
    "_system": null
  },
  "id": "workflowModel"
}