Authentication
This page describes functionality for the older eSignature SOAP API. See the REST API Authentication topic for more information on authentication in the more actively-supported eSignature REST API documentation.
All Docusign API methods require authentication. There are three way to pass member credentials:
- SOAP Header via WS-Security UsernameToken
- HTTP Header via a custom field “X-Docusign-Authentication”
- App Password authentication
Starting on August 16th 2021, Docusign began the end-of-life process for all SOAP API authentication flows other than App Password (for SOAP apps).
- Currently, only apps that use App Password authentication are able to go-live.
- After October 20th, 2022, Docusign will begin accepting SOAP partner requests for legacy username/password authentication extensions. In March 2023, SOAP Partner apps that have not been granted an extension will be blocked from using legacy auth. See Requesting an exception for using legacy authentication for details.
The Account Management API only supports the HTTP Header or App Password authentication methods, while all others can support either method.
Additionally, the eSignature SOAP API has two API end points: API.asmx and DSAPI.asmx. The API.asmx end point requires the WS-Security UsernameToken in the SOAP header authentication. The DSAPI.asmx and AccountManagement.asmx end points require the HTTP Header or App Password authentication method.
HTTP header authentication
For the HTTP header, access to the API must be enabled for the member login that is being used. This is controlled by combinations of user name, password and integration key. The valid authentication combinations are:
- User Name, password, integration key Note: this is the preferred option since is provides the highest level of protection. Where the User Name is the API User Name retrieved from the Credential Login() function, the password is the encrypted password retrieved from the AccountManagement GetEncryptedPassword() function, and the integration key is the key provided by Docusign.
- User Name, password, integration key Where the User Name is the API User Name retrieved from the Credential Login() function, the password is in clear text, and the integration key is the key provided by Docusign.
- User Name, password, integration key Where the User Name is the user’s email login, the password is in clear text, and the integration key is the key provided by Docusign.
Note that when using the HTTP Header form of authentication, the header variable name is: X-Docusign-Authentication.
One way to provide the HTTP authentication header is to create a subclass from the Web Service and override the GetWebRequest method, as shown in the following example.
SOAP header authentication
For the WS-Security UsernameToken, the values for the UsernameToken elements can be the same as those used for the HTTP header values.