Skip to navigation

How to Export an Authoritative Copy

Describes the Docusign Authoritative Copy feature, what you need to do to use it, and how to set it up using either Docusign WSDL or Visual Studio.
View as Markdown

An Authoritative Copy is the single, distinct, absolutely original version of a document. It is unique, identifiable, and unalterable without detection.

This topic describes how you can export an Authoritative Copy with the SOAP API using either Docusign WSDL with Visual Studio.

Warning: If you execute a direct Authoritative Copy export using the Docusign API , once the export is successfully acknowledged, it cannot be undone and there is no way to reverse the API call. Docusign cannot provide an Authoritative Copy if the exporter fails to retain it once it’s been exported via call through the respective controls. You are required to acknowledge that if you elect to execute a direct Authoritative Copy export via the Docusign API, you are solely responsible for the results of the export, including loss, corruption, or destruction of the Authoritative Copy of the eDocument.

Exporting with Connect vs with the SOAP API

Although you can export an Authoritative Copy with the SOAP API as described in this topic, Docusign strongly recommends that you use Docusign Connect and Docusign partner eOriginal for exporting Authoritative Copy to a predefined eVault. The Docusign Connect for eOriginal feature was designed for such a process.

However, Docusign understands that there may be times when using the SOAP API for exporting Authoritative Copy is necessary; this topic describes that process.

Prerequisites

  • Your account must have access to the Authoritative Copy feature. Contact Docusign Customer Support and ask that your API user be granted permission to export Authoritative Copies.
  • If you want to select which envelopes will record an Authoritative Copy, add "authoritativeCopy": "true" to the envelope definition in your API call.
  • If you want all envelopes to use Authoritative Copy, ask Docusign Customer Support to set the "Auto Authoritative Copy:" to Enabled on your account.

Setup with WSDL or Visual Studio

In a Visual Studio 2010 - 2019 using .NET Framework project, you can select Project > Add Service Reference. In the Address, type the URL to the WSDL file (for example, https://demo.docusign.net/api/3.0/dsapi.asmx).

Make sure the resulting app.config file looks similar to the example to the right, including the values for maxBufferSize. The example uses DocusignSoapApi as the name of the Service Reference.

Example VS app.config file
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
</startup>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="DSAPIServiceSoap" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="Transport" />
</binding>
<binding name="DSAPIServiceSoap1" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="https://demo.docusign.net/api/3.0/dsapi.asmx"
binding="basicHttpBinding" bindingConfiguration="DSAPIServiceSoap"
contract="DocuSignSoapApi.DSAPIServiceSoap" name="DSAPIServiceSoap" />
</client>
</system.serviceModel>
</configuration>

Step 1. Export the authoritative copies of the documents of a given envelope

Call the ExportAuthoritativeCopy SOAP API endpoint, which returns an array of documents as encrypted bytes.

Note: The export is a one-time operation. The developer will need to ensure that this operation is very robust and that the files are safely and securely extracted from the response XML and stored during the entire operation. You should also ensure the absolute destruction of any encrypted files or keys once the decrypted files are secured. Rigorous testing in a Docusign demo account is required to ensure a robust solution before moving to production.

Step 2. Acknowledge receipt of the authoritative copies

Once you have received the Authoritative Copies, use the following procedure to acknowledge receipt:

  1. Assemble the returned documents into one byte array.
  2. Set that byte array to a fixed-length array.
  3. Hash the fixed-length array.
  4. Call the AcknowledgeAuthoritativeCopyExport API, passing in the hash value.
  5. On success, a key to decrypt the documents is returned.

Step 3. Decrypt the documents with the returned key

Finally, use the returned key to decrypt your documents.

Because your app will be handling sensitive information and some operations cannot be reversed, you must implement robust exception handling and success validation for every step of the export process.

Code example

The code sample is a bare bones console application demonstrating the API calls to Docusign. This sample does not demonstrate the steps you need to implement for success validation and vaulting. Docusign Professional Services can assist with building a robust solution. You can engage professional services through your Docusign Sales representative.

C# ConsoleAppDocusignSoap