Worksteps
A workstep is a prototype of one stepwise state transition contained in a
Workflow
. A Workstep
contains a Prover
that ingests data passed to the Workstep
and outputs a zero-knowledge proof that can be used to verify synchronization of data amongst Workgroup
participants. Worksteps are useful for defining the real-world activities or operations to be used as synchronization check-points in a
Workflow
. They provide context for the data required to instantiate, populate and execute a zero-knowledge Prover
as it relates to a corresponding business process. When used in series, a verified claim from a previously derived
proof
can be used as input for a subsequent Workstep
to ensure that a Workflow
cannot be completed if all participants are not in sync. As additional worksteps are completed and a Workflow
is completed, the proof
derived from the exit-workstep provides verifiable proof of synchronization amongst all participants. 
A
Prover
is a zero knowledge circuit that generates a method by which one party (the prover) can prove to another party (the verifier) that a given statement is true while the prover avoids conveying any additional information apart from the fact that the statement is indeed true. To learn more about provers, see Provide Privacy.The prime-workstep is the leading workstep in a workflow. The trigger defined in the prime
Workstep
instantiates a WorkflowInstance
and all subsequent WorkstepInstance
objects. The exit-workstep is the final
Workstep
included in a Workflow
. Once executed as a WorkstepInstance
, it outputs a recursive proof
encompassing all previous WorkstepInstanc
proofs. The proof
resulting from the execution exit-workstep must always be published to a network
.A
WorkstepInstance
is a run-time execution of a deployed Workstep
. All WorkstepInstance
executions included in a WorkflowInstance
are spawned when the conditions specified in the prime-workstep are met. A WorkstepInstance
shares the same schema as a Workstep
and is distinguishable by the presence of a value in the workstep_id
field. Status | Definition |
draft | undeployed Workstep |
pending_deployment | Workstep is currently being provisioned |
deployed | Workstep has been provisioned and is available for spawning of WorkstepInstance |
deprecated | Workstep has been removed from deployment and can no longer spawn WorkstepInstance executions |
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 aWorkgroup
- destination system of record data structure is known
- originating system of record data structure is known
- a
Workflow
has been created
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 | |
participants | array | list of Participant objects; indicates participants to take part in Workstep |
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 ; null value indicates record is Workstep |
Returns a list of all
Workstep
objects in the authorized scopeget
https://baseline.provide.services
/api/v1/workflow
List Worksteps
Creates a
Workstep
. The cardinality
of a Workstep
is calculated by the service, as determined by the order of creation. post
https://baseline.provide.services
/api/v1/workflow/:id/
Create a Workstep
Retrieves detailed information for a specified
Workstep
get
https://baseline.provide.services
/api/v1/workflows/:id/worksteps/:workstep_id
Get Workstep Details
Updates a specified
Workstep
put
https://baseline.provide.services
/api/v1/workflows/:id/worksteps/:workstep_id
Update a Workstep
Deletes a specified
Workstep
put
https://baseline.provide.services
/api/v1/workflows/:id/worksteps/:workstep_id
Delete a Workstep
Last modified 1yr ago