A WorkstepInstance is a a real-time execution of a deployed Workstep. All workstep instances included in a WorkflowInstance are instantiated upon the creation of the WorkflowInstance at the time of prime Workstep triggering. A WorkstepInstance is executed when a triggering event, as defined in the parent Workstep, occurs.
Application
A WorkstepInstance execution is the process that outputs the zero-knowledge proof that is at the heart of all baseline processes. Workstep instances are automatically spawned upon WorkflowInstance generation, as dictated by the parameters defined in the prime-workstep trigger.
A Workstep prototype can spawn n number of WorkstepInstance executions.
Using Workstep Instances
Prerequisites
The Workstep API is intended to function within the context of an Organization acting as a Participant in a Workgroup.
Within this context, it is assumed that:
an Organization scoped JWT is available for use
Organization is a participant in a Workgroup
a Workflow containing at least 1 Workstep has been created and successfully deployed
WorkstepInstance Schema
Field
Type
Description
cardinality
int
position within sequence of worksteps in parent workflow
created_at
date/time
timestamp of Workstep creation
deployed_at
date/time
timestamp of Workstep deployment
description
string
brief descriptor of Workstep
id
uuid
id of Workstep
metadata
object
arbitrary data pertaining to Workstep; contains prover object
prover_id
uuid
id of prover generated for use in WorkstepInstance execution. When value is non-null, indicates record is WorkstepInstance
require_finality
boolean
when true, resulting proof will be published to a specified network
shield
string
address of target shield contract
status
string
current workstep status
workflow_id
uuid
id of parent Workflow
workstep_id
uuid
id of Workstep used as prototype to spawn WorkstepInstance; non-null value indicates record is WorkstepInstance
API Requests
List Workflow Workstep Instances
Returns a list of WorkstepInstance objects for a specified Workflow
Executes a specified WorkstepInstance. The execution of a WorkstepInstance requires a witness object containing public and private inputs as they pertain to the target prover. The derivation of public inputs as they relate to private inputs varies based upon provertype and proving_scheme
Path Parameters
Name
Type
Description
id*
uuid
id of parent WorkflowInstance
workstep_id*
uuid
id of target WorkstepInstance
Headers
Name
Type
Description
authorization*
string
bearer <JWT> scoped for an Organization
Request Body
Name
Type
Description
witness[]*
object
witness object containing the public and private inputs for the WorkstepCircuit