Skip to main content

Workflow Definition Reference

A definition for a workflow to be used with the National Infrastructure Modeling Service.

FieldTypeValuesRequiredDescription
api_versionstring['v1.0.3']YesThe version of the API that should be used to process the document.
kindstring['W']YesThe kind of object the document represents. Should equal 'W' for workflows.
metadatametadata object-YesThe metadata for the Workflow.
specspec object-YesThe definition of the workflow to be executed.

metadata

The metadata for the Workflow.

FieldTypeValuesRequiredDescription
descriptionstring-YesA rich description of the Workflow's function.
display_namestring-YesThe display name of the Workflow.
namestring-YesThe name that the Workflow should be stored under. This can only contain alphanumeric characters and hyphens.
publisherstring-YesThe name of the person or organisation who has published the Workflow.
summarystring-YesA short summary of the Workflow's function.
contact_point_namestring-YesThe name of the person to contact for information about the Workflow.
contact_point_emailstring-YesThe email of the person to contact for information about the Workflow.
licencestring-NoPermanent URL of applicable licence for this Workflow.
rightsstring-NoDetails of any usage rights, restrictions or citations required by users of this Workflow.
subjectstring-NoSpecific area of study or expertise.
project_namestring-NoName or acronym of the workflow's associated project.
project_urlstring-NoURL of the workflow's associated project.
fundingstring-NoFunding details of the workflow's associated project.
embargo_end_datestring-NoDate when the embargo is lifted for this workflow.

spec

The definition of the workflow to be executed.

FieldTypeValuesRequiredDescription
stepssteps object-YesThe steps that which Models to run, how to publish/visualise results and any loops to be performed. This is a collection of step uuids mapped to the step definitions.

steps

The steps that which Models to run, how to publish/visualise results and any loops to be performed. This is a collection of step uuids mapped to the step definitions.

FieldTypeValuesRequiredDescription
step_uuidstep_uuid object-NoThe key associated with this object 'step_uuid' should be the uuid of the step. If you are using the API to create a Workflow then step uuids should be generated according to UUID v4, if you are manually writing the Workflow to send to the API then https://uuid.me.uk/ can be used to generate uuids. This schema contains the properties that are common between all Workflow steps.

step_uuid

The key associated with this object 'step_uuid' should be the uuid of the step. If you are using the API to create a Workflow then step uuids should be generated according to UUID v4, if you are manually writing the Workflow to send to the API then https://uuid.me.uk/ can be used to generate uuids. This schema contains the properties that are common between all Workflow steps.

FieldTypeValuesRequiredDescription
namestring-YesThe name used as a reference elsewhere in the definition. This can only container alphanumeric characters and hyphens.
kindstring['loop', 'model', 'publisher', 'visualisation', 'sweep']YesThe kind of step to be run.
dependenciesarray of strings-YesThe list of step uuids that this step is dependent on.
positionposition object-NoThe position of the step within the drawflow canva. This field is optional and will be generated for you when viewing the Workflow on the platform if not present.

position

The position of the step within the drawflow canva. This field is optional and will be generated for you when viewing the Workflow on the platform if not present.

FieldTypeValuesRequiredDescription
xinteger-YesThe x coordinate of the step within the drawflow canvas.
yinteger-YesThe y coordinate of the step within the drawflow canvas.