From the Trenches: Can I get a witness?

Recently developers using our eSignature SDKs have been contacting Developer Support about using the eSignature REST API to assign a witness type recipient to an envelope. DocuSign is still working on completing this feature in our SDKs. We still need to add the signWithWitness property to the Signer object. This has left some of customers feeling a little like Marvin Gaye.

It is possible to work around this issue by making a raw CreateEnvelope API call, using the eSignature REST API. The signer must have the attribute "signWithWitness": true. The API can also suggest names and emails for the witness(es). The signer has the ultimate decision over who to ask to witness the envelope. Something to note about witnesses is that they do not have their own place in the routing order. They belong to the signer and take on the signer’s routing order. Below is a JSON body of a CreateEnvelope API call that sends an envelope with a signer that requires a witness and suggests a witness name and email.

{
  "documents": [
      {
          "documentBase64": "BASE_64_OMITTED",
          "documentId": "1",
          "fileExtension": "pdf",
          "name": "Test.pdf"
      }
  ],
  "emailSubject": "Witness Example",
  "recipients": {
      "signers": [
          {
              "email": "gxxxx@example.com",
              "name": "Geoff Tester",
              "signWithWitness": true,
              "recipientId": "1",
              "requireIdLookup": "false",
              "routingOrder": "1",
              "tabs": {
                  "signHereTabs": [
                      {
                          "documentId": "1",
                          "pageNumber": "1",
                          "recipientId": "1",
                          "xPosition": "100",
                          "yPosition": "150"
                      }
                  ],
              }
          }
      ],
          "witnesses": [
      {
          "name": "Jane",
          "email": "janexxxxx@example.com",
          "roleName": "Witness 1 for Geoff",
          "note": "",
          "routingOrder": "1",
          "status": "created",
          "deliveryMethod": "email",
          "witnessFor": "1",
          "recipientId": "2",
              "tabs": {
                  "signHereTabs": [
                      {
                          "documentId": "1",
                          "pageNumber": "1",
                          "recipientId": "2",
                          "xPosition": "200",
                          "yPosition": "150"
                      }
                  ]
              }
      }
      ]
  },
  "status": "sent"
}

Additional resources

Geoff Pfander
Author
Geoff Pfander
Senior Developer Support Engineer
Published