When creating a transaction, you may have multiple signers required to sign several documents. Accordingly, you may wish to control the flow of the Signer Experience. With Sign, you can set the order in which multiple signers participate or the order in which multiple documents are signed by a signer. The signer workflow determines the order in which multiple signers can participate in the Signer Experience. For example, a signer with a signing order 1 means that they will sign first.

Creating a Signer Workflow

In this example, there are four signers where each signer is required to sign in order. For example, the second signer will receive a notification to sign the document only after the first signer has completed signing. The following code will do this:

HTTP Request

POST /api/cs-packages
JS

HTTP Headers

Accept: application/json
Content-Type: application/json
Authorization: Bearer access_token
JS

Request Payload

{ "roles": [ { "id": "role1", "index": 1, "type": "SIGNER", "signers": [ { "email": "signer1@example.com", "firstName": "FirstNameSigner1", "lastName": "LastNameSigner1" } ], "name": "signer1" }, { "id": "role2", "index": 2, "type": "SIGNER", "signers": [ { "email": "signer2@example.com", "firstName": "FirstNameSigner2", "lastName": "LastNameSigner2" } ], "name": "signer2" }, { "id": "role3", "index": 3, "type": "SIGNER", "signers": [ { "email": "signer3@example.com", "firstName": "FirstNameSigner3", "lastName": "LastNameSigner3" } ], "name": "signer3" }, { "id": "role4", "index": 4, "type": "SIGNER", "signers": [ { "email": "signer4@example.com", "firstName": "FirstNameSigner4", "lastName": "LastNameSigner4" } ], "name": "signer4" } ] }
JS

For a complete description of each field, see the Request Payload Table below. 

Response Payload

{ "id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI=" }
JS

Editing the Role Workflow

To update the role workflow, you will need to make a PUT request to:

HTTP Request

PUT /api/cs-packages/{packageId}/roles
JS

HTTP Headers

Accept: application/json
Content-Type: application/json
Authorization: Bearer access_token
JS

Request Payload

[{ "id":"OGCBUbLGa7gR", "index":0 }, { "id":"CnvwToUWLPgW", "index":1 }]
JS

Editing your Signer Workflow

After you have created your transaction, you may wish to edit the signing order. In this example, the signing order of the first two signers is changed.

If you've already sent your transaction, you will need to change its status to DRAFT before you can update the signer workflow.

Request Payload Table

PropertyTypeEditableRequiredDefaultSample Values
roles
idstringYesNon/arole1 
indexintegerYesNo01/2/3 
typestringYesNoSIGNERSIGNER/SENDER 
signers
namestringYesNon/asigner1 
emailstringYesNon/asigner1@example.com 
firstNamestringYesNon/aFirstNameSigner1 
lastNamestringYesNon/aLastNameSigner1