SlideShare a Scribd company logo
Information Guide              1




DocuSign API
Developer Guide




111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                                                  2


Copyright ©2003-2013 DocuSign, Inc. All rights reserved.
DocuSign, the DocuSign logo, “Close it in the Cloud”, SecureFields, Stick-eTabs, PowerForms, "The fastest way to get a signature", “DocuSign Ink”, The No-
Paper logo, “DocuSign It!”, ForceFields are trademarks or registered trademarks of DocuSign, Inc. in the United States and/or other countries. All other
trademarks and registered trademarks are the property of their respective holders.
No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written
permission of DocuSign, Inc. Under the law, reproducing includes translating into another language or format. Every effort has been made to ensure that the
information in this manual is accurate. DocuSign, Inc. is not responsible for printing or clerical errors. Information in this document is subject to change without
notice.
U.S. Patent 6,289,460, U.S. Patent 6,944,648, U.S. Patent 8,239,496 B2 and other patents pending.

DocuSign API Developer Guide April 5, 2013


If you have any comments or feedback on our documentation, please send them to us at: Documentation@DocuSign.com.


Summary of changes for this version:
     •     Added information on the rules for determining the Brand ID used in an envelope when
           sending an envelope. The same rules apply when sending from templates.
     •     Provided additional settings for EventNotification when sending an envelope. The same
           information applies when sending from templates.
     •     Corrected character limits for Envelope EmailBlurb.
     •     Clarified that Recipient RequireIDLookup is required for ID Check and Phone Authentication.




     111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                                    3


Table of Contents
Introduction........................................................................................................................................ 16
DocuSign Security Requirements and API Call Limits ....................................................................... 16
     Integrator Keys ............................................................................................................................ 16
          Integrator Key Usage ............................................................................................................. 17
     API Call Rate Limits ..................................................................................................................... 17
Authentication .................................................................................................................................... 18
          HTTP Header Authentication ................................................................................................. 18
          SOAP Header Authentication ................................................................................................. 19
     Optional Authentication Mechanism: XML Signature.................................................................... 20
     Send On Behalf Of Functionality .................................................................................................. 22
          Send On Behalf Of SOAP Examples ...................................................................................... 22
Using DocuSign WSDLs .................................................................................................................... 24
     Using DocuSign WSDL’s in the .Net Environment ....................................................................... 24
          Creating a Web Reference in Visual Studio 2010 for WSDL files: .......................................... 24
          HTTP Header: ........................................................................................................................ 24
     Using DocuSign WSDL’s in the Salesforce Environment ............................................................. 25
          Providing the Authentication Header ...................................................................................... 25
DocuSign Service API ....................................................................................................................... 26
Overview ........................................................................................................................................... 26
     Commonly Used Terms ............................................................................................................... 26
     Code Samples ............................................................................................................................. 27
     Basic Process Flow...................................................................................................................... 29
     Example Usage Diagram ............................................................................................................. 29
     Placing DocuSign Tags................................................................................................................ 30
     File Limitations ............................................................................................................................. 30
     Methods Exposed in the DocuSign Service API ........................................................................... 30
DocuSign Service API Function Groups ............................................................................................ 33
Sending Function Group .................................................................................................................... 35
     CreateAndSendEnvelope and CreateEnvelope ........................................................................... 35
          Schema.................................................................................................................................. 35
          Request XML Data Structure Outline ..................................................................................... 39
          Document .............................................................................................................................. 44
          Recipient ................................................................................................................................ 45


    111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                                    4

      IDCheckInformationInput........................................................................................................ 50
      Tab ........................................................................................................................................ 52
      Anchor Tab ............................................................................................................................ 57
      Notification ............................................................................................................................. 58
      EnvelopeNotification .............................................................................................................. 58
      EnvelopeStatus ...................................................................................................................... 59
      Rules for CreateAndSendEnvelope and CreateEnvelope....................................................... 59
      Sample Code ......................................................................................................................... 61
 CreateEnvelopeFromTemplates .................................................................................................. 63
      Schema.................................................................................................................................. 64
      TemplateReference................................................................................................................ 65
      Schema.................................................................................................................................. 65
      EnvelopeInformation .............................................................................................................. 66
      Schema.................................................................................................................................. 67
      FieldData ............................................................................................................................... 68
      Rules for CreateEnvelopeFromTemplates ............................................................................. 68
      Template Execution Rules ..................................................................................................... 71
      Rules for Mapping Data from PDF Forms .............................................................................. 71
      Error Rules ............................................................................................................................. 72
      Sample Code ......................................................................................................................... 73
 CreateEnvelopeFromTemplatesAndForms .................................................................................. 74
      Schema.................................................................................................................................. 74
      Rules for Composite Template Usage .................................................................................... 75
      EnvelopeInformation .............................................................................................................. 81
      Document .............................................................................................................................. 81
      Recipient ................................................................................................................................ 81
      ServerTemplate ..................................................................................................................... 82
      InlineTemplate ....................................................................................................................... 82
      PDFMetaDataTemplate ......................................................................................................... 82
      Sample Code ......................................................................................................................... 82
 SendEnvelope ............................................................................................................................. 85
      Schema.................................................................................................................................. 85
      Sample Code ......................................................................................................................... 85
 RequestSenderToken .................................................................................................................. 86
      Schema.................................................................................................................................. 86



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                                   5

          In-Session Sending Events .................................................................................................... 86
          Rules and Exceptions RequestSenderToken ......................................................................... 87
     Anchor Based Tagging ................................................................................................................ 87
          Using Anchor Tabs................................................................................................................. 87
          Rules for Anchor Tagging....................................................................................................... 88
Embedding Function Group ............................................................................................................... 90
     Embedded Signing Functional Process Flow ............................................................................... 90
     Captive Recipients ....................................................................................................................... 90
     DocuSign Integration ................................................................................................................... 91
          Pre-DocuSign Operations ...................................................................................................... 91
          Sample Code ......................................................................................................................... 94
          RequestRecipientFaxPDF ...................................................................................................... 96
          Sample Request XML ............................................................................................................ 96
          Sample Response XML ......................................................................................................... 96
          DocuSign Operations ............................................................................................................. 97
          Post-DocuSign Landing Pages .............................................................................................. 97
     Addenda ...................................................................................................................................... 97
          Additional Features and Behaviors......................................................................................... 97
          Suppressed Features/Behaviors ............................................................................................ 98
     Legal Considerations ................................................................................................................... 98
     GetAuthenticationToken .............................................................................................................. 98
          Schema.................................................................................................................................. 98
          GetAuthenticationToken rules and exceptions ....................................................................... 99
          Sample Code ......................................................................................................................... 99
     RequestSenderToken .................................................................................................................. 99
          Schema.................................................................................................................................. 99
          In-session sending events .................................................................................................... 100
          Rules and exceptions for RequestSenderToken .................................................................. 100
          Sample Code ....................................................................................................................... 100
     RequestEnvelopeHistoryToken .................................................................................................. 101
          Schema................................................................................................................................ 101
Status and Managing Function Group ............................................................................................. 102
     CorrectAndResendEnvelope...................................................................................................... 102
          Schema................................................................................................................................ 102
          Sample Request XML: ......................................................................................................... 103



    111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                               6

      RecipientCorrection.............................................................................................................. 105
      CorrectionStatus .................................................................................................................. 107
      RecipientCorrectionStatus.................................................................................................... 107
      Rules for CorrectAndResendEnvelope ................................................................................. 107
      Sample Code ....................................................................................................................... 109
 DeleteEnvelopes ........................................................................................................................ 110
      Schema:............................................................................................................................... 110
      Sample Request XML: ......................................................................................................... 110
 EnvelopeAuditEvents ................................................................................................................. 111
      Schema................................................................................................................................ 111
      Sample Request XML: ......................................................................................................... 111
      Rules for accessing envelope events. .................................................................................. 111
      Sample Code ....................................................................................................................... 112
 GetConnectFailures ................................................................................................................... 112
      Schema................................................................................................................................ 112
      Sample Request XML .......................................................................................................... 113
 GetStatusInDocuSignConnectFormat ........................................................................................ 114
 GetRecipientAuthenticationStatusEx ......................................................................................... 114
      Schema................................................................................................................................ 114
      Sample Request XML .......................................................................................................... 114
 MoveEnvelopes ......................................................................................................................... 116
      Schema................................................................................................................................ 116
      Sample Request XML .......................................................................................................... 117
 PublishConnectFailures ............................................................................................................. 117
      Schema................................................................................................................................ 118
      Sample Request XML .......................................................................................................... 118
 RequestCorrectToken ................................................................................................................ 119
      In-Session Sending Events .................................................................................................. 119
      Sample Code ....................................................................................................................... 119
 RequestStatus and RequestStatusEx ........................................................................................ 120
      Schema................................................................................................................................ 120
      Sample Request XML .......................................................................................................... 120
      Sample Code ....................................................................................................................... 120
 RequestStatuses and RequestStatusesEx................................................................................. 121
      Request Envelope Statuses Notes ....................................................................................... 121



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                                    7

      Schema................................................................................................................................ 123
      Sample Code ....................................................................................................................... 124
 EnvelopeStatus.......................................................................................................................... 126
      Schema................................................................................................................................ 126
      RecipientStatus .................................................................................................................... 130
      TabStatus ............................................................................................................................ 133
      AuthenticationStatus ............................................................................................................ 136
 FilteredEnvelopeStatuses .......................................................................................................... 138
      Schema................................................................................................................................ 138
 Rules for RequestStatus, RequestStatuses, RequestStatusEx, RequestStatusesEx,
 EnvelopeStatus and FilteredEnvelopeStatuses.......................................................................... 138
      API user specific rules.......................................................................................................... 138
      Rules for Exceptions thrown by the API ............................................................................... 138
 GetFolderList and GetFolderItems ............................................................................................. 139
      GetFolderList ....................................................................................................................... 139
      AvailableFolders .................................................................................................................. 139
      GetFolderItems .................................................................................................................... 140
      FolderResults ....................................................................................................................... 141
      Code Samples ..................................................................................................................... 142
 Ping ........................................................................................................................................... 143
      Schema................................................................................................................................ 143
      Return XML .......................................................................................................................... 144
 PurgeDocuments ....................................................................................................................... 144
      Schema................................................................................................................................ 144
      PurgeDocumentsStatus ....................................................................................................... 144
      Rules and Exceptions for PurgeDocuments ......................................................................... 144
      Sample Code ....................................................................................................................... 145
 RequestEnvelope ...................................................................................................................... 145
      Additional Errors for RequestEnvelope................................................................................. 145
      Schema for RequestEnvelope .............................................................................................. 145
      Sample Code ....................................................................................................................... 146
 RequestStatusChanges ............................................................................................................. 146
      Schema................................................................................................................................ 146
      FilteredEnvelopeStatusChanges .......................................................................................... 147
      Sample Code ....................................................................................................................... 147



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                                8

    RequestStatusCodes ................................................................................................................. 148
         Request Envelope Statuses Notes ....................................................................................... 148
         Schema................................................................................................................................ 149
         FilteredEnvelopeStatusChanges .......................................................................................... 151
         Code Samples ..................................................................................................................... 151
    SynchEnvelope .......................................................................................................................... 152
         Schema................................................................................................................................ 152
         SynchEnvelopeStatus .......................................................................................................... 152
         Sample Code ....................................................................................................................... 152
    VoidEnvelope............................................................................................................................. 153
         Schema................................................................................................................................ 153
         Sample Request XML .......................................................................................................... 153
         VoidEnvelopeStatus ............................................................................................................. 154
         Rules for VoidEnvelope ........................................................................................................ 154
         Sample Code ....................................................................................................................... 154
Post Processing Function Group ..................................................................................................... 156
    RequestCertificate ..................................................................................................................... 156
         Schema................................................................................................................................ 156
         Sample Request XML .......................................................................................................... 156
    RequestDocumentPDFs ............................................................................................................ 156
         Schema................................................................................................................................ 156
         Sample Request XML .......................................................................................................... 157
         Sample Code ....................................................................................................................... 157
    RequestDocumentPDFsEx ........................................................................................................ 157
         Schema................................................................................................................................ 157
         Sample Request XML .......................................................................................................... 158
         Sample Code ....................................................................................................................... 158
    RequestDocumentPDFsRecipientsView .................................................................................... 158
         Schema................................................................................................................................ 158
    DocumentPDF ........................................................................................................................... 159
         Schema................................................................................................................................ 159
    RequestPDF .............................................................................................................................. 160
         Schema................................................................................................................................ 160
         Sample Request XML .......................................................................................................... 160
         Sample Code ....................................................................................................................... 160



    111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                                 9

     RequestPDFNoWaterMark ........................................................................................................ 161
          Schema................................................................................................................................ 161
          Sample Request XML .......................................................................................................... 161
          Sample Code ....................................................................................................................... 161
     RequestPDFWithCert ................................................................................................................ 161
          Schema................................................................................................................................ 162
          Sample Request XML .......................................................................................................... 162
          Sample Code ....................................................................................................................... 162
     EnvelopePDF............................................................................................................................. 163
          Schema................................................................................................................................ 163
     Rules for using RequestDocumentPDFs, RequestDocumentPDFsEx, RequestPDF,
     RequestPDFNoWaterMark, RequestPDFWithCert, DocumentPDF and EnvelopePDF .............. 163
     RequestPDFWithOptions ........................................................................................................... 164
          Schema................................................................................................................................ 164
          Sample Request XML .......................................................................................................... 164
     RequestPDFsWithOptions ......................................................................................................... 165
          Schema................................................................................................................................ 165
          Sample Request XML .......................................................................................................... 165
     TransferEnvelope ...................................................................................................................... 165
          Schema................................................................................................................................ 166
          Sample Request XML .......................................................................................................... 166
          TransferEnvelopeStatus ....................................................................................................... 166
          Rules for using TransferEnvelope ........................................................................................ 166
          Sample Code ....................................................................................................................... 167
     ExportAuthoritativeCopy ............................................................................................................ 167
          Schema................................................................................................................................ 167
          Sample Request XML: ......................................................................................................... 168
          AuthoritativeCopyExportDocuments..................................................................................... 168
          AcknowledgeAuthoritativeCopyExport.................................................................................. 168
          AuthoritativeCopyExportStatus ............................................................................................ 169
          Rules for exporting Authoritative Copy envelopes ................................................................ 169
Administrative Function Group......................................................................................................... 171
     CreateAccountBrands ................................................................................................................ 171
          Schema................................................................................................................................ 171
          Sample Request XML .......................................................................................................... 171



    111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                              10

 DeleteAccountBrands ................................................................................................................ 171
      Schema................................................................................................................................ 171
      Sample Request XML .......................................................................................................... 172
 GetAccountBrands ..................................................................................................................... 172
      Schema................................................................................................................................ 172
      Sample Request XML .......................................................................................................... 172
      GetAccountBrandsResult ..................................................................................................... 173
 GetAccountMembershipFeatureList ........................................................................................... 173
      Schema................................................................................................................................ 173
      Sample Request XML .......................................................................................................... 173
      AccountMembershipFeatureList ........................................................................................... 174
      Usage rules for GetAccountMembershipFeatureList and AccountMembershipFeatureList... 174
      Sample Code ....................................................................................................................... 174
 GetAccountSettingsList.............................................................................................................. 174
      Schema................................................................................................................................ 175
      Sample Request XML .......................................................................................................... 175
      AccountSettingsList.............................................................................................................. 175
      Usage rules for GetAccountSettingsList and AccountSettingsList ........................................ 175
      Sample Code ....................................................................................................................... 176
 GetAddressBookItems ............................................................................................................... 176
      Schema................................................................................................................................ 176
      AddressBookItem ................................................................................................................. 177
      Rules and exceptions for GetAddressBookItems ................................................................. 178
      Sample Code ....................................................................................................................... 178
 GetRecipientEsignList................................................................................................................ 178
      Schema................................................................................................................................ 179
      Sample Request XML .......................................................................................................... 179
      RecipientEsignList................................................................................................................ 179
      Rules for using GetRecipientEsignList and RecipientEsignList............................................. 180
      Sample Code ....................................................................................................................... 180
 GetRecipientList ........................................................................................................................ 180
      Schema................................................................................................................................ 181
      Sample Request XML .......................................................................................................... 181
      RecipientList ........................................................................................................................ 181
      Rules for using GetRecipientList and RecipientList .............................................................. 181



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                                     11

          Sample Code ....................................................................................................................... 182
     RemoveAddressBookItems........................................................................................................ 182
          Schema................................................................................................................................ 182
          AddressBookRemoveItem.................................................................................................... 182
          Rules and exceptions for RemoveAddressBookItems .......................................................... 183
          Sample Code ....................................................................................................................... 183
     RequestTemplate ...................................................................................................................... 184
          Schema................................................................................................................................ 184
          EnvelopeTemplate ............................................................................................................... 184
          MatchBox ............................................................................................................................. 184
          EnvelopeTemplateDefinition ................................................................................................ 185
          Rules and exceptions for RequestTemplate ......................................................................... 185
          Sample Code ....................................................................................................................... 186
     RequestTemplateList ................................................................................................................. 186
          Schema................................................................................................................................ 186
     RequestTemplates ..................................................................................................................... 187
          Schema................................................................................................................................ 187
          Rules and exceptions for RequestTemplates ....................................................................... 187
          Sample Code ....................................................................................................................... 187
     SaveTemplate............................................................................................................................ 188
          Schema................................................................................................................................ 188
          Rules and exceptions for SaveTemplate .............................................................................. 188
          Sample Code ....................................................................................................................... 188
     UpdateAddressBookItems ......................................................................................................... 189
          Schema................................................................................................................................ 189
          UpdateAddressBookResult .................................................................................................. 189
          Rules and exceptions for UpdateAddressBookItems ............................................................ 189
     UploadTemplate ........................................................................................................................ 190
          Schema................................................................................................................................ 190
          Rules and exceptions for UploadTemplate ........................................................................... 190
          Sample Code ....................................................................................................................... 190
     Embedded Callback Event Codes.............................................................................................. 191
          Asynchronous Document Generation ................................................................................... 191
Credential API ................................................................................................................................. 192
     Login .......................................................................................................................................... 192



    111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                                    12

         Schema................................................................................................................................ 192
         Sample Request XML: ......................................................................................................... 192
         LoginResult .......................................................................................................................... 193
    Ping ........................................................................................................................................... 194
         Schema................................................................................................................................ 194
         PingResult ........................................................................................................................... 194
         Sample Code ....................................................................................................................... 194
    GetAuthenticationToken ............................................................................................................ 194
         Schema................................................................................................................................ 195
    RequestSenderToken ................................................................................................................ 195
         Schema................................................................................................................................ 195
    In-session sending events.......................................................................................................... 196
    Rules and exceptions for RequestSenderToken ........................................................................ 196
Account Management Service API .................................................................................................. 197
    Methods Exposed in the DocuSign Account Management Service API...................................... 197
Account Management Service API Methods .................................................................................... 198
    ActivateSalesforceInstance ........................................................................................................ 198
         Schema................................................................................................................................ 198
         Sample Request XML .......................................................................................................... 199
         Sample Return XML ............................................................................................................. 200
         Member................................................................................................................................ 201
         MemberSettings ................................................................................................................... 202
    AddMembersToAccount ............................................................................................................ 203
         Schema................................................................................................................................ 203
         Sample Request XML .......................................................................................................... 203
         Sample Response XML ....................................................................................................... 205
         MemberResult...................................................................................................................... 206
    AuthenticateMember and AuthenticateMemberEx ..................................................................... 206
         Schema................................................................................................................................ 206
         Sample Request XML .......................................................................................................... 206
         Sample Response XML ....................................................................................................... 207
    ChangeAccountPricePlan .......................................................................................................... 208
         Schema................................................................................................................................ 208
         Sample Request XML .......................................................................................................... 208
         Sample Response XML ....................................................................................................... 209



    111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                              13

 ChangePassword ...................................................................................................................... 210
      Schema................................................................................................................................ 210
      Sample Request XML .......................................................................................................... 210
      Sample Response XML ....................................................................................................... 211
 CheckAccountMember............................................................................................................... 212
      Schema................................................................................................................................ 212
      Sample Request XML .......................................................................................................... 212
      Sample Response XML ....................................................................................................... 212
 CloseMembers........................................................................................................................... 213
      Sample Request XML .......................................................................................................... 213
      Sample Response XML ....................................................................................................... 214
 CloseSignature .......................................................................................................................... 215
      Sample Request XML .......................................................................................................... 215
      Sample Response XML ....................................................................................................... 216
 GetAccountCustomFields .......................................................................................................... 216
      Schema................................................................................................................................ 217
      Sample Request XML .......................................................................................................... 217
      Sample Response XML ....................................................................................................... 217
 GetAccountDistributorCode ....................................................................................................... 218
      Sample Request XML .......................................................................................................... 218
      Sample Response XML ....................................................................................................... 219
 GetAccountInformation .............................................................................................................. 219
      Schema................................................................................................................................ 219
      Sample Request XML .......................................................................................................... 220
      Sample Response XML ....................................................................................................... 221
 GetAccountSettings ................................................................................................................... 222
      Schema................................................................................................................................ 222
      Sample Request XML .......................................................................................................... 222
      AccountSettings ................................................................................................................... 222
      Sample Response XML ....................................................................................................... 225
 GetConnectCredentials .............................................................................................................. 226
      Schema................................................................................................................................ 226
      Sample Request XML .......................................................................................................... 226
      Sample Response XML ....................................................................................................... 227
 GetEncryptedPassword ............................................................................................................. 227



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                                   14

      Sample Request XML: ......................................................................................................... 228
      Sample Response XML: ...................................................................................................... 228
      Sample Code ....................................................................................................................... 229
 GetMemberSettings ................................................................................................................... 229
      Schema................................................................................................................................ 229
      Sample Request XML .......................................................................................................... 229
      Sample Response XML ....................................................................................................... 229
 GetMembershipSummary .......................................................................................................... 230
      Sample Request XML .......................................................................................................... 231
      Sample Response XML ....................................................................................................... 231
      UserType and UserStatus Combinations ............................................................................. 233
 GetPlanGroupInformation .......................................................................................................... 233
      Sample Request XML .......................................................................................................... 233
      Sample Response XML ....................................................................................................... 234
 GetPlanPricingInformation ......................................................................................................... 234
      Sample Request XML .......................................................................................................... 235
      Sample Response XML ....................................................................................................... 236
 GetPlanType .............................................................................................................................. 237
      Sample Response XML ....................................................................................................... 237
 GetProvisioningInformation ........................................................................................................ 238
      Sample Request XML .......................................................................................................... 238
      Sample Response XML ....................................................................................................... 239
 GetSuccessorPlanInformation ................................................................................................... 240
      Sample Request XML .......................................................................................................... 240
      Sample Response XML ....................................................................................................... 241
 GetUserProfile ........................................................................................................................... 242
      Sample Request XML .......................................................................................................... 243
      Sample Response XML ....................................................................................................... 244
 GetUserProfileImage ................................................................................................................. 245
      Sample Request XML .......................................................................................................... 245
      Sample Response XML ....................................................................................................... 246
 NewAccount .............................................................................................................................. 246
      Sample Request XML .......................................................................................................... 247
      Sample Response XML ....................................................................................................... 249
 Ping ........................................................................................................................................... 250



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                                             15

      Sample Request XML .......................................................................................................... 250
      Sample Response XML ....................................................................................................... 250
 ResendAccountActivation .......................................................................................................... 251
      Sample Request XML .......................................................................................................... 251
      Sample Response XML ....................................................................................................... 251
 SetConnectCredentials .............................................................................................................. 252
      Sample Request XML .......................................................................................................... 252
      Sample Response XML ....................................................................................................... 253
 SetUserProfile............................................................................................................................ 254
      Sample Request XML .......................................................................................................... 255
      Sample Response XML ....................................................................................................... 255
 SetUserProfileImage .................................................................................................................. 256
      Sample Request XML .......................................................................................................... 256
      Sample Response XML ....................................................................................................... 257
 UpdateAccountSettings ............................................................................................................. 257
      Sample Request XML .......................................................................................................... 258
      Sample Response XML ....................................................................................................... 259
 UpdateMemberSettings ............................................................................................................. 259
      Sample Request XML .......................................................................................................... 260
      Sample Response XML ....................................................................................................... 260
 UpgradeRecipientAccount ......................................................................................................... 261
      Sample Request XML .......................................................................................................... 262
      Sample Response XML ....................................................................................................... 264




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     16

Introduction
This Developer’s Guide provides information about the DocuSign Service API and Account
Management Service API.


DocuSign Security Requirements and API Call Limits
To ensure our customers continue to trust DocuSign for the fastest, easiest, most secure way to get a
signature, we have put safeguards in place to protect our multi-tenant data centers. The two
safeguards used by DocuSign are Integrator Keys and API Call Limits.

Integrator Keys
DocuSign has introduced Integrator Keys to identify third party applications. The use of Integrator
Keys is mandatory for API calls to our production system (www.docusign.net) and for developer
sandboxes (demo.docusign.net).
The Integrator Key is used to allow you to send requests with the users passed via the
UsernameToken. Users with DocuSign privileges will be allowed to be passed in the UsernameToken
as long as a valid integrator key is provided.
   Important: Web service calls made without an Integrator Key will receive an exception for every
   call made. The exception message states, “The specified Integrator Key was not found or is
   disabled” (error number 3).
Integrator Keys are provided to API developers by DocuSign. If you do not have an Integrator Key,
follow this procedure to obtain one:
   1. Log on to your demo account.
   2. In the DocuSign Console menu bar, click Preferences. The Account Preferences page
      appears.
   3. Scroll down and under Account Administration click API.
   4. Create a new key:
      • Below the Active Integrator Keys table, type a Key Description.
      • Click Request Key adjacent to the bolded key information. This key is added to the list of
          Active Integrator Keys table.
   5. Add the Integrator Key to your code for use as described below in Integrator Key Usage and in
      the Authentication section. The API page also has examples of how to use an Integrator Key.
      You can test your Integrator Key in the demo environment.
   6. When you are ready to certify your code for the production account, return to the API page and
      review the Integration and Certification Steps. Click the DocuSign Developer Center link and
      find the link to start the DocuSign Certification process. A message with an access code is
      sent to your listed email address. Follow the instructions to access the envelope and fill out
      the information.
   7. After starting the DocuSign Certification process, you will need to request migration of your
      Integrator Key to the Production environment. In the Active Integrator Keys table, find the key
      you are using in your application. Click the Request Migration to Production link adjacent to
      that Integrator Key.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     17

Integrator Key Usage
The integrator key must be placed in front of the user ID that is in the Username node of the
UsernameToken. The integrator key must be wrapped with brackets, “[ and ]”. Example format:
<wsse:Username>[Integrator Key]2988541c-4ec7-4245-b520-f2d324062ca3</wsse:Username>
Sample SOAP Header:
        <soap:Header>
          <wsa:Action>http://www.docusign.net/API/3.0/GetRecipientEsignList</wsa:Action>
           <wsa:MessageID>uuid:3f9d7626-c088-43b4-b579-2bd5e8026b17</wsa:MessageID>
           <wsa:ReplyTo>

   <wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address
   >
         </wsa:ReplyTo>
         <wsa:To>http://demo.docusign.net/api/3.0/api.asmx</wsa:To>
         <wsse:Security soap:mustUnderstand="1">
           <wsu:Timestamp wsu:Id="Timestamp-8838aa24-9759-4f85-8bf2-26539e14f750">
             <wsu:Created>2006-04-14T14:29:23Z</wsu:Created>
             <wsu:Expires>2006-04-14T14:34:23Z</wsu:Expires>
           </wsu:Timestamp>
           <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-
   200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-7c7b695e-cef7-463b-b05a-
   9e133ea43c41">
             <wsse:Username>[Integrator Key Here]2988541c-4ec7-4245-b520-
   f2d324062ca3</wsse:Username>
             <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
   username-token-profile-1.0#PasswordText">password</wsse:Password>
             <wsse:Nonce>SjlScsL5q3cC1CDWrcMx3A==</wsse:Nonce>
             <wsu:Created>2006-04-14T14:29:23Z</wsu:Created>
           </wsse:UsernameToken>
         </wsse:Security>
       </soap:Header>

API Call Rate Limits
To maintain reliability and stability within our demo and production environments, DocuSign operates
with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the
API calls to our backend systems and we will contact developers that are putting unnecessary burden
on the system.
DocuSign has implemented the following API Call Rate Limits to balance loads on the system:
    •    The demo environment (demo.docusign.net) is limited to a call rate of 1,000 API calls per hour
         per account.
    •    The production environment (www.docusign.net) is limited to a call rate of 1,000 API calls per
         hour per account.
If the API call rate limit is reached, you will receive an exception for each call until the start of the next
hour (this can be up to 60 minutes). The exception message states, “The maximum number of hourly
API invocations has been exceeded” (error number 207).
Hourly API usage is tracked from the start of one-hour to start of the next hour.
There are a number of ways to minimize API impact, such as:
    •    using bulk operations for requesting status,
    •    utilizing DocuSign’s event notification feature,
    •    and refraining from repeatedly requesting information on envelopes that are in terminal state
         (Completed, Declined or Voided).


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     18

If you find your application still requires more than 1,000 calls per hour per account, please contact
service@docusign.com for assistance in working on a solution.
If you have any questions, please check our Developer Forum.


Authentication
All DocuSign API methods require authentication. There are two ways to pass member credentials:
   •   SOAP Header via WS-Security UsernameToken
   •   HTTP Header via a custom field “X-DocuSign-Authentication”
The Account Management API only supports the HTTP Header authentication method, while all
others can support either method.
Additionally, the DocuSign 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 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, Integrator 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 Integrator Key is the key provided by DocuSign.
   •   User Name, password, Integrator Key
       Where the User Name is the API User Name retrieved from the Credential Login() function,
       the password is in clear text, and the Integrator Key is the key provided by DocuSign.
   •   User Name, password, Integrator Key
       Where the User Name is the user’s email login, the password is in clear text, and the
       Integrator 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.

   Example HTTP Header – C#
   namespace DSAPI
   {
       // override of web service interface is required to insert the HTTP header
   authentication.
       public class DocuSignAcctMgmtService :
   DSAPI_AcctMgmtWebService.AccountManagementService
       {


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    19

            private string myDSUserId = "";
            private string myDSPassword = "";
            private string myDSIntegratorKey = "";


            public string UserName
            {
                get { return myDSUserId; }
                set { myDSUserId = value; }
            }

            public string Password
            {
                get { return myDSPassword; }
                set { myDSPassword = value; }
            }

            public string IntegratorKey
            {
                get { return myDSIntegratorKey; }
                set { myDSIntegratorKey = value; }
            }
            protected override System.Net.WebRequest GetWebRequest(Uri uri)
            {

              System.Net.HttpWebRequest r = base.GetWebRequest(uri) as
  System.Net.HttpWebRequest;
              r.Headers.Add("X-DocuSign-Authentication",
                  string.Format("<DocuSignCredentials><Username>YOUR USER EMAIL OR ID GOES
  HERE</Username><Password>YOUR USER PASSWORD GOES HERE</Password><IntegratorKey>YOUR
  INTEGRATION KEY GOES HERE</IntegratorKey></DocuSignCredentials>",
                  UserName,
                  Password,
                  IntegratorKey));

                 return r;
            }
  }


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.

   Example UsernameToken
  <wsse:Security soap:mustUnderstand="1">
    <wsu:Timestamp wsu:Id="Timestamp-0741d0e0-529f-49bc-bf86-653238d2532b">
    <wsu:Created>2006-01-02T21:26:04Z</wsu:Created>
    <wsu:Expires>2006-01-02T21:31:04Z</wsu:Expires>
    </wsu:Timestamp>
    <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
  wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-8d4e766e-a8a2-4bb3-a327-89c34bc7f85f">
      <wsse:Username>caa26663-927b-4800-bfdf-d115d1c72f20</wsse:Username>
      <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
  username-token-profile-1.0#PasswordText">password</wsse:Password>
      <wsse:Nonce>RumCR4p6U4a7hiX9lUlGWA==</wsse:Nonce>
      <wsu:Created>2006-01-02T21:26:04Z</wsu:Created>
    </wsse:UsernameToken>
  </wsse:Security>




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     20

   Example HTTP Header – PHP
  $am_api_endpoint = "https://demo.docusign.net/api/3.0/accountmanagement.asmx";
  $am_api_wsdl = "api/AccountManagementService.wsdl";

  // build credential xml to add to http header
  $ds_auth = "<DocuSignCredentials><Username>" . $UserID . "</Username><Password>"
      . "$Password</Password><IntegratorKey>" . $IntegratorsKey .
       "</IntegratorKey></DocuSignCredentials>";
  $ctxStream = stream_context_create(array(
      'http' => array(
          'method' => "GET",
          'header' => "X-DocuSign-Authentication: " . $ds_auth . "rn")));

  $am_api_options = array(
      'protocol_version' => "1.0",
      'trace'=>true,
      'stream_context' => $ctxStream);
  $am_api = new AccountManagementService($am_api_wsdl, $am_api_options);


Optional Authentication Mechanism: XML Signature
In addition to the UsernameToken, any account may elect to enforce that all API requests be signed
with a valid third-party X.509 certificate 2. For any RequestRecipientToken and
ExportAuthoritativeCopy calls DocuSign requires an XML signature. If enabled, DocuSign Connect
API will validate that the SOAP Body of the message is signed. Please contact your DocuSign
representative to enable this setting. Supported certificate authorities are VeriSign and Thawte.
For more information about OASIS standards, see:
   http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss.
Example SOAP Envelope with XML Signature:
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing"
  xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-
  1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-
  utility-1.0.xsd">
      <soap:Header>
       <wsa:Action>http://www.docusign.net/API/3.0/GetRecipientEsignList</wsa:Action>
        <wsa:MessageID>uuid:3f9d7626-c088-43b4-b579-2bd5e8026b17</wsa:MessageID>
        <wsa:ReplyTo>

  <wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address
  >
        </wsa:ReplyTo>
        <wsa:To>http://demo.docusign.net/api/3.0/api.asmx</wsa:To>
        <wsse:Security soap:mustUnderstand="1">
          <wsu:Timestamp wsu:Id="Timestamp-8838aa24-9759-4f85-8bf2-26539e14f750">
            <wsu:Created>2006-04-14T14:29:23Z</wsu:Created>
            <wsu:Expires>2006-04-14T14:34:23Z</wsu:Expires>
          </wsu:Timestamp>
          <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-
  200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-7c7b695e-cef7-463b-b05a-
  9e133ea43c41">
            <wsse:Username>2988541c-4ec7-4245-b520-f2d324062ca3</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
  username-token-profile-1.0#PasswordText">password</wsse:Password>
            <wsse:Nonce>SjlScsL5q3cC1CDWrcMx3A==</wsse:Nonce>
            <wsu:Created>2006-04-14T14:29:23Z</wsu:Created>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    21

         </wsse:UsernameToken>
         <wsse:BinarySecurityToken ValueType="http://docs.oasis-
 open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
 EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-
 security-1.0#Base64Binary" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-
 200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-b7825bf5-1d1c-446c-8f99-
 88dff075fab8">MIIEdDCCAlygAwIBAgIDAgIOMA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjA
 cBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEh
 MB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnMB4XDTA2MDMwNzE3NTU0NVoXDTA2MDkwMzE3NTU0NVowJ
 jEkMCIGA1UEAxMbZGVtb3NhbXBsZWNlcnQuZG9jdXNpZ24uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ
 DhgGA7HXHcotoKuVTN5+3yqeL1A4M/bYNLKyFFQYYFANVXcb7D+la2Oh8YI2TBHTgNGccJxeCsefZh1LHLguE4/kM
 Mvz62mbdohhnjXeJH55O4YqdILxZ3r1EJbOrSZyHEwn1/PvGwj2cDF0QHnvqfgvsuozlJmRYNKXpnD9QzzwIDAQAB
 o4HbMIHYMAwGA1UdEwEB/wQCMAAwNAYDVR0lBC0wKwYIKwYBBQUHAwIGCCsGAQUFBwMBBglghkgBhvhCBAEGCisGA
 QQBgjcKAwMwCwYDVR0PBAQDAgWgMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AuY2FjZX
 J0Lm9yZzBRBgNVHREESjBIghtkZW1vc2FtcGxlY2VydC5kb2N1c2lnbi5jb22gKQYIKwYBBQUHCAWgHQwbZGVtb3N
 hbXBsZWNlcnQuZG9jdXNpZ24uY29tMA0GCSqGSIb3DQEBBQUAA4ICAQBzgTyhXvDMmt6UwB6ZR8qVGa4Jhch68kS0
 X5vQjMa0wXdfJjU3C13rnNujX8wefPOrX79vyS4CVVXW3QRTUp+hyaodwi2ed0msz0vo71VUU6KGUNp3GClY5NjMz
 mz9y900SjL74shWiDsbhT/yMGDp8cZt6nFSUabhaBM5NFRvguwI1hAjugT6QnLjeUxblVuS2s2b90Kj+jh/w3gw5f
 /0XCxgNBdz66jvxFxk0wKl3xLoLs/a2nh4TOvEdUixZEPvsJyQNFY/+5cmlVM6/Nl/T2TjMcEuvhpBvizDvNykluE
 di0R5vftkURlE/InmmGt37eH3xB3YeyFDR7uY6qJREBswNWKd8xqK7cb4XXntY1L5XEIdW/5ZNn3JdAg2Vq05lHF5
 +i/i+5Uc4GDcQlxmTbiSvt4z0tobnHUsrsrBbLRlcmzruZbX5OKgJ/r1hO3JTEhFzR5KCogDfsCdAqCC+ClKc0GPS
 Sgt6Cu36F5ytE04KTXBltU/Ex3kDDIlm7OX/os7kSIZf9IAejr4Cxx1wdenjy//n89qLjbd0u11e038g41/orQiBY
 n7opj3wmbPdRZ+gsMpIxhhnmUMFWMIJMIidzZwRa9n3E+l49ZjElCDuBRnUoaGDhmSnEYJrtv/uaQ5UulvMtMge7F
 rqiIDzI1A++nBfGRMS0EHLdfBdg==</wsse:BinarySecurityToken>
         <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
           <SignedInfo>
             <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-
 c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" />
             <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
             <Reference URI="#Id-6c2377a1-a116-444c-8c1e-101543d5d721">
               <Transforms>
                 <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
               </Transforms>
               <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
               <DigestValue>auFLuvdCM5tbsrruRJUY7h0vf9E=</DigestValue>
             </Reference>
           </SignedInfo>

 <SignatureValue>d21v1CT2UxIus64mXbfCxO6xjJ3gbm+cE14HUnlOJmA9QsB5M5L1ric4cvMcOky0hFUDZrhDn
 5FVUXtLKJQgV5wqTtmeHi3NT6HNEh1Rrq/VFj/O4/rFGyc4JrzkVxZpqiwRYOee1Empv6iHq3Uf4PIeAv1Tn/qn/b
 09P+D7FTo=</SignatureValue>
           <KeyInfo>
             <wsse:SecurityTokenReference>
                <wsse:Reference URI="#SecurityToken-b7825bf5-1d1c-446c-8f99-88dff075fab8"
 ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-
 1.0#X509v3" />
             </wsse:SecurityTokenReference>
           </KeyInfo>
         </Signature>
       </wsse:Security>
     </soap:Header>
     <soap:Body wsu:Id="Id-6c2377a1-a116-444c-8c1e-101543d5d721">
       <GetRecipientEsignList xmlns="http://www.docusign.net/API/2.0">
         <UserName>UserName</UserName>
         <SenderEmail>username@email.com</SenderEmail>
         <RecipientEmail>name@email.com</RecipientEmail>
     <AccountId>2184872a-8f6c-4f18-b808-1ec864cec29d</AccountId>
       </GetRecipientEsignList>
     </soap:Body>
   </soap:Envelope>




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     22

Send On Behalf Of Functionality
The DocuSign Send On Behalf Of functionality permits automated sending through the DocuSign API
by an integrated sender on behalf of another sender. The Send On Behalf Of functionality is only
available to accounts that use the DocuSign API to send envelopes and can be enabled for an
account member by a DocuSign Customer Administrator through the DocuSign console or by
contacting your DocuSign Account Manger.
The DocuSign API Send On Behalf Of function can use the normal email authentication for the
DocuSign API or the email node in the Credential API Login to add a Send On Behalf Of identifier
The Send On Behalf Of identifier can be a properly formatted email address, with an option semicolon
delimited user name, or a User ID (UID), if using the Single Sign On (SSO) environment, that can be
looked up in the DocuSign SSO configuration.
   •   If the identifier is a properly formatted email address, the system conducts a look-up of the
       email address and user name (if provided) to see if that user is a member of the account. If
       membership in the account is not found, a Partner Authentication Failed exception is thrown.
       The account used for the check is the one associated with the account member’s login
       credentials (User Name email address and password).
   •   If the identifier is not an email address (the identifier fails the regular expression test for an
       email), it is assumed that the identifier is a UID. A search is conducted for the UID in the
       Single Sign On (SSO) customer system and the email address and user name associated with
       the UID are retrieved from the system. Then the system conducts a look-up of the email
       address and user name to see if that user is a member of the account. If membership in the
       account is not found, a Partner Authentication Failed exception is thrown.
       The account used for the Single Sign On check is the one associated with the account
       member’s login credentials (User Name email address and password).

Send On Behalf Of SOAP Examples
The examples in this section show the different ways the Send On Behalf Of identifier is used with the
Credential API Login or authentication in a SOAP Header, with a status request for an envelope. The
more common use for Send On Behalf Of is with one of the DocuSign API envelope sending methods
and the RequestStatus method is used here for brevity.
These examples use an Integrator Key and Send On Behalf Of identifier, both included in separate
brackets in the Email or Username objects. The Send On Behalf Of identifier is highlighted in the
examples.
Example: Credential API Login with Email Address
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
      <Login xmlns="http://www.docusign.net/API/Credential">
        <Email>[BILL- 9048-469a-a9e9-
  211cef79e5f3][john.doe@docusign.com]test9@docusign.com</Email>
        <Password>XXXXXXXX</Password>
      </Login>
      <RequestStatus xmlns=”http://www.docusign.net/API/3.0”>
        <EnvelopeID>YYYYYYYY</EnvelopeID>
      </RequestStatus>
    </soap:Body>
  </soap:Envelope>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     23

Example: Authentication in SOAP Header with Email Address
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Header>
      <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
  wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-7c7b695e-cef7-463b-b05a-
  9e133ea43c41">
        <wsse:Username>[BILL- 9048-469a-a9e9-211cef79e5f3][john.doe@docusign.com] 2988541c-
  4ec7-4245-b520-f2d324062ca3</wsse:Username>
        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
  username-token-profile-1.0#PasswordText">password</wsse:Password>
      </wsse:UsernameToken>
    </soap:Header>
    <soap:Body>
      <RequestStatus xmlns=”http://www.docusign.net/API/3.0”>
        <EnvelopeID>YYYYYYYY</EnvelopeID>
      </RequestStatus>
    </soap:Body>
  </soap:Envelope>

Example: Credential API Login with Email Address and optional User Name
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
      <Login xmlns="http://www.docusign.net/API/Credential">
        <Email>[BILL- 9048-469a-a9e9-211cef79e5f3][john.doe@docusign.com;John
  Doe]test9@docusign.com</Email>
        <Password>XXXXXXXX</Password>
      </Login>
      <RequestStatus xmlns=”http://www.docusign.net/API/3.0”>
         <EnvelopeID>YYYYYYYY</EnvelopeID>
      </RequestStatus>
    </soap:Body>
  </soap:Envelope>

Example: Authentication in SOAP Header with Email Address and optional User Name
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Header>
      <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-
  wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-7c7b695e-cef7-463b-b05a-
  9e133ea43c41">
        <wsse:Username>[BILL- 9048-469a-a9e9-211cef79e5f3][john.doe@docusign.com;John Doe]
  2988541c-4ec7-4245-b520-f2d324062ca3</wsse:Username>
        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-
  username-token-profile-1.0#PasswordText">password</wsse:Password>
      </wsse:UsernameToken>
    </soap:Header>
    <soap:Body>
      <RequestStatus xmlns=”http://www.docusign.net/API/3.0”>
        <EnvelopeID>YYYYYYYY</EnvelopeID>
      </RequestStatus>
    </soap:Body>
  </soap:Envelope>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     24

Example: Credential API Login with SSO UID
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
      <Login xmlns="http://www.docusign.net/API/Credential">
        <Email>[BILL- 9048-469a-a9e9-211cef79e5f3][P134325]test9@docusign.com</Email>
        <Password>XXXXXXXX</Password>
      </Login>
      <RequestStatus xmlns=”http://www.docusign.net/API/3.0”>
        <EnvelopeID>YYYYYYYY</EnvelopeID>
      </RequestStatus>
    </soap:Body>
  </soap:Envelope>



Using DocuSign WSDLs
This section provides information on using Web Services Description Language (WSDL) to implement
the DocuSign Service API and Account Management Service API in a .Net or Salesforce
environment.
The URLs for the DocuSign Service API and Account Management Service API WSDLs are:
   •   Service API - https://www.docusign.net/api/3.0/schema/dsapi.wsdl.
   •   Account Management Service API - https://www.docusign.net/api/3.0/schema/dsapi-
       accountmanagement.wsdl.
The endpoints locations for these are:
   •   Service API - https://www.docusign.net/api/3.0/dsapi.asmx
   •   Account Management Service API -
       https://www.docusign.net/api/3.0/accountmanagement.asmx

Using DocuSign WSDL’s in the .Net Environment
The WSDL files may be used to generate Web Reference proxy classes for use in the .Net
environment. Authentication is provided in the HTTP header for functions that require it. The
standard method to accomplish this is to create a Web Reference to the WSDL file and wrap the
resulting proxy class to provide the HTTP header.

Creating a Web Reference in Visual Studio 2010 for WSDL files:
   1. Create a project.
   2. In Solution Explorer, right-click on the project and select Add Service Reference.
   3. In the Address, type the URL to the WSDL file (for example
      https://demo.docusign.net/api/3.0/dsapi.asmx).
   4. Type a Namespace (for example DocuSignDemo) and click OK.

HTTP Header:
When you make a call to DocuSign, you need to add an HTTP header to your code. For example:
         String auth = "<DocuSignCredentials><Username>" + userName
         + "</Username><Password>" + password



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     25

         + "</Password><IntegratorKey>" + integratorKey
         + "</IntegratorKey></DocuSignCredentials>";

       DSAPIServiceSoapClient client = new DSAPIServiceSoapClient();
       using (OperationContextScope scope = new
  System.ServiceModel.OperationContextScope(client.InnerChannel))
       {

            HttpRequestMessageProperty httpRequestProperty = new
  HttpRequestMessageProperty();
            httpRequestProperty.Headers.Add("X-DocuSign-Authentication", auth);

  OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] =
  httpRequestProperty;

            EnvelopeStatus status = client.RequestStatusEx("D3151108-FC4C-4D1A-A168-
  86E5233AACDB");
            Console.Out.WriteLine("Subject: " + status.Subject);
       }

Using DocuSign WSDL’s in the Salesforce Environment
Salesforce provides a mechanism to import WSDL files and create Apex proxy classes. The steps
are:
   1. Create local copies of the new WSDL files by opening a web browser to each WSDL file (e.g.
      https://www.docusign.net/API/3.0/Schema/dsapi.wsdl and saving them locally.
   2. Navigate to DevelopApex Classes and select the “Generate from WSDL” option, the
      follow the instructions to create proxy classes.

Providing the Authentication Header
Proxy classes generated from WSDL’s in Apex include a mechanism to add headers. Before making
calls on the API, the DocuSign Authentication header must be added. For example:
           DSAPI_Status.APIServiceSoap dsApiStatus = new DSAPI_Status.APIServiceSoap();

     //Setting docusign authorization.
     dsApiStatus.inputHttpHeaders_x = new Map<String, String>();
     dsApiStatus.inputHttpHeaders_x.put('X-DocuSign-Authentication',
              '<DocuSignCredentials><Username>578a282b-9263-4fbe-8c2f-
  52ab919da96e</Username><Password>1234567</Password><IntegratorKey>TEST_KEY</IntegratorKey
  ></DocuSignCredentials>');

     // Make an API call
     DSAPI_Status.EnvelopeStatuses            = dsApiStatus.RequestStatus('7BDF80CA-9CA8-4911-9629-
  92DC40A1A34A');

Note that although hard-coded here, the user name, password and Integrator Key would normally be
stored as variables.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     26

DocuSign Service API
This section of the Developer’s Guide provides information about the DocuSign Service API.


Overview
The DocuSign Service API provides methods that allow partner companies’ servers to integrate the
DocuSign service into their applications. The service allows partners to build solutions that:
   •   Submit partially specified envelopes for later completion by the customer.
   •   Submit completely specified envelopes that are immediately processed for delivery.
   •   Void an envelope that has been submitted but not yet completed.
   •   Retrieve the status of an envelope.
   •   Retrieve the completed PDF of every document in an envelope.
   •   Retrieve the completed PDF for each separate document in an envelope.
   •   Retrieve the consumer disclosure acceptance status of a recipient.
   •   Transfer an envelope to another DocuSign user or account.
   •   Correct recipient information for an existing envelope en route.
   •   Resend a notification email to an existing recipient.
   •   Retrieve the Member level permissions for the optional features.
   •   Purge the envelope contents from the DocuSign system.
   •   Withdraw an Authoritative Copy of the envelope.
   •   Retrieve a list of audit events pertaining to a particular envelope.
   •   Work with address books.
   •   Upload and download templates.
These methods can be used by themselves or in addition to linking the customer’s experience to the
DocuSign site to complete any partially completed processes.

Commonly Used Terms
Definitions of some commonly used terms are given here to familiarize the API user with their use in
the DocuSign system.
   •   Envelope - This represents a package used to mail documents to recipients. The envelope
       carries information about the sender and timestamps to indicate the progress of the delivery
       procedure. It contains collections of Documents, Tabs and Recipients.
   •   Document - A document that is to be delivered, representing the content to be reviewed
       and/or signed. Documents have names and are always base64 encoded while in the system.
   •   Tab - This represents a DocuSign Tag (also known as a Stick-eTab®) on a document. It is
       used in several ways. First, it is used to indicate to a recipient where a signature or initials are
       required. Second, it is used to include various bits of information in a document in a manner
       similar to Form Fields or Macros. For example, a tab may automatically fill in the Company


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     27

       Name of a recipient when the document is signed. Third, it is used as editable information
       fields where signers can add data to a document.
   •   Recipient - Someone who receives the envelope and, optionally signs and initials the
       documents where indicated by tabs.

Code Samples
Code samples appear throughout this guide to assist API users in implementation. A few notes about
the code samples:
   •   APIServiceSoapClient is configured and set up correctly. To do this, the API user must
       construct credentials as follows:

   C# Setup Code Sample
  String _userName = "";
  String _apiUrl = "https://demo.docusign.net/api/3.0/api.asmx";
  String _accountId = "Your API account ID";
  String _password = "Your account password";
  String _email = "Your login email";
  String _integratorKey = "Your integrator key";
  if (_integratorKey != null && _integratorKey.Length > 0)
  {
      _userName += "[" + _integratorKey + "]";
  }
  _userName += _email;

  DocuSignWeb.APIServiceSoapClient _apiClient =
       new DocuSignWeb.APIServiceSoapClient("APIServiceSoap", _apiUrl);

  _apiClient.ClientCredentials.UserName.UserName = _userName;
  _apiClient.ClientCredentials.UserName.Password = _password;

   PHP Setup Code Sample
   // credential api service proxy classes and soapclient
   include("api/CredentialService.php");
   // transaction api service proxy classes and soapclient
   include("api/APIService.php");

   // TODO: Use Integrator's Key from Docusign DevCenter Account Preferences API
   $IntegratorsKey = "your integrator key GUID here";
   // TODO: Use your Docusign DevCenter Account email
   $UserID = "your login email here";
   // TODO: Use your Docusign DevCenter Account password
   $Password = "your password here";
   // TODO: Use API Account ID from Docusign DevCenter Account Preferences API
   $AccountID = "your api account GUID here";
   // TODO: put in your timezone or make it null
   $TimeZone = 'America/Los_Angeles';

   //=============================================================================
   // Set up the API
   //=============================================================================
   $api_endpoint = "https://demo.docusign.net/api/3.0/api.asmx";
   $api_wsdl = "api/APIService.wsdl";
   $api_options = array('location'=>$api_endpoint,'trace'=>true,'features' =>
   SOAP_SINGLE_ELEMENT_ARRAYS);
   $api = new APIService($api_wsdl, $api_options);
   $api->setCredentials("[" . $IntegratorsKey . "]" . $UserID, $Password);




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    28

 •   Several of the code samples contain links to previous code samples. The referred code
     samples set up variables (such as an envelope or an envelope ID) that are necessary for the
     sample to demonstrate a method.
 •   Similar to the code samples above, the code samples in this document will often contain
     placeholder text or variables. Take note of where parameters need correction specific to a
     scenario or account.
 •   PHP Helper Functions: The following functions are used in some of the PHP samples in this
     document and are included here to inform the developer what they do.
 /**
   * Returns xsd format datetime for start of today
   * @return string
   */
 function todayXsdDate() {
      global $TimeZone;
      if ($TimeZone != null) {
          date_default_timezone_set($TimeZone);
      }
      return (date("Y") . "-" . date("m") . "-" . date("d") . "T00:00:00.00");
 }

 /**
   * Returns xsd format datetime for now
   * @return string
   */
 function nowXsdDate() {
      global $TimeZone;
      if ($TimeZone != null) {
          date_default_timezone_set($TimeZone);
      }
          return (date("Y") . "-" . date("m") . "-" . date("d") . "T" . date("H") . ":" .
 date("i") . ":" . date("s"));
 }

 /**
   * A guid maker for all seasons (note that com_create_guid() only works on windows
   * @return string
   */
 function guid(){
      if (function_exists('com_create_guid')){
          return com_create_guid();
      }else{
          mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
          $charid = strtoupper(md5(uniqid(rand(), true)));
          $hyphen = chr(45);// "-"
          $uuid = chr(123)// "{"
                  .substr($charid, 0, 8).$hyphen
                  .substr($charid, 8, 4).$hyphen
                  .substr($charid,12, 4).$hyphen
                  .substr($charid,16, 4).$hyphen
                  .substr($charid,20,12)
                  .chr(125);// "}"
          return $uuid;
      }
 }




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     29

Basic Process Flow
This is a general overview of how the DocuSign system works to familiarize API users with terms and
process. It is not a faithful reproduction of how the process is implemented, either on the website or in
the API.
A sender has a set of documents that they would like to have signed. The sender supplies the name
and email address of each person they want to sign the document, and marks the documents with
tabs to indicate where each party should sign or initial. The sender may also choose to let the
receiving party free-form sign the document. The sender then places the document into the DocuSign
system. The DocuSign system then notifies each recipient, via the supplied email address(es), that
they have been asked to sign a document, and provides a link to the envelope.
When a recipient clicks the link, they will see the documents with DocuSign Tags (Stick-eTabs) in the
locations specified by the sender, representing where they need to click to sign or initial the
document. If the sender chooses to use free-form signing the recipient will see the document with a
note letting them know to click on the document to sign.
When all recipients have clicked on all of their respective DocuSign Tags (Stick-eTabs) or added their
signature via free-form signing, the document is signed.
When this process is initiated via the DocuSign Connect API, the envelope can either be completely
specified, which is to say that all Tags (or free-form signing), documents and recipients have been
either supplied in the request, or partially specified, meaning that at least one document is present,
but recipients and DocuSign Tags may not be. This second case is used to create a ‘draft’ envelope
for the sender and allows him or her to finish sending it online through the web interface.

Example Usage Diagram
The following diagram depicts In-session signing process flow. The diagram shows one of the basic
process and meant only to explain how different systems interact with each other.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     30

Placing DocuSign Tags
The location of DocuSign Tags, also known as Stick-eTabs or Tabs, can be specified in one of two
ways:
   •   Passing the explicit x/y coordinates of each tab in the xml when creating the Envelope. This is
       appropriate for documents with a standard format, where the signature lines and/or other data
       items collected by DocuSign tabs are always located in the same place on the document. In
       this scenario, the xml request describes where to locate DocuSign tabs.
   •   Specifying “anchor” strings that exist in the document, against which the tabs should be
       placed. This is appropriate for documents that have variable content/format, where the tab
       locations must similarly vary. In this scenario, the xml request describes how to locate
       DocuSign tabs.

File Limitations
DocuSign has the following limitations on files used in envelopes and as attachments:
   •   DocuSign recommends that you do not add files larger than 25MB to an envelope. Note that,
       depending on the recipient’s internet connection, large files might affect signing performance.
   •   DocuSign has not imposed a limit on the number of files that can be added to an envelope.
       However, as with file size, envelopes with a large number of files might affect signing
       performance.
   •   There is a file size limit of 5 MB for signer-uploaded attachments.

Methods Exposed in the DocuSign Service API
The DocuSign API exposes the following major methods (listed alphabetically):
   •   AcknowledgeAuthoritativeCopyExport – Returns the key to decrypt the documents
       returned in the ExportAuthoritativeCopy method. Removes the Authoritative Copy from
       DocuSign. Available only in the 3.0 API.
   •   CorrectAndResendEnvelope - Correct the specified recipients of the envelope, along with
       envelope reminders and expirations. Allows a sender to modify the name and/or email
       address of a recipient, change the envelope access authentication information for a recipient,
       or resend the envelope notification email to a recipient. Supports multiple corrections within
       an envelope. The return value has a Boolean CorrectionSucceeded for each correction, which
       indicates the success of the recipient correction.
   •   CreateAccountBrands – Used to upload one or more brand profile files to the account. The
       Account Branding feature must be enabled for the account to use this.
   •   CreateAndSendEnvelope - Creates the envelope and initiates the delivery process. This
       method requires an envelope that includes all necessary information; no sender interaction via
       the DocuSign website is required.
   •   CreateEnvelope – Creates the envelope without sending it. These envelopes do not contain
       all of the information necessary for immediate processing. Instead, the sender can be directed
       to the DocuSign web site to complete the preparation of the envelope.
   •   CreateEnvelopeFromTemplates – Creates and sends envelope based on DocuSign Pro
       templates and envelope information. Available only in the 3.0 API.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    31

 •   CreateEnvelopeFromTemplatesAndForms – Creates envelopes from a combination of a
     PDF form and a DocuSign Template. Once all the data from the form is overlaid on the
     template the envelope is passed to the CreateAndSendEnvelope or CreateEnvelope method.
 •   DeleteAccountBrands – Used to delete one or more brand profiles from an account. The
     Account Branding feature must be enabled for the account to use this.
 •   DeleteEnvelopes - Deletes the specified envelopes from the DocuSign System.
 •   EnvelopeAuditEvents - Returns a XML document of the current envelope events. Available
     only in the 3.0 API.
 •   ExportAuthoritativeCopy – Export an Authoritative Copy envelope from DocuSign. Returns
     an encrypted collection for all the documents and an export transaction ID for a given
     envelope. To decrypt the documents and remove the actual Authoritative Copy from
     DocuSign the method AcknowledgeAuthoritativeCopyExport must be called. Available only in
     the 3.0 API.
 •   GetAccountBrands – Used to retrieve a list of brand profiles associated with the account and
     the default brand profile. The Account Branding feature must be enabled for the account to
     use this.
 •   GetAccountMembershipFeaturesList – Returns the member level permissions for the
     optional features. The optional features include DocuSign Professional, eOriginal Vaulting,
     SequentialSigningAPI, SequentialSigningUI and TransactionPoint.
 •   GetAccountSettingsList – Returns the settings for an account.
 •   GetAddressBookItems – These methods are used to manage your server side address book
     in the DocuSign system.
 •   GetAuthenticationToken – This method is used to get a onetime use URL with an
     authentication token to launch the DocuSign member system.
 •   GetConnectFailures – This method retrieves a list of Connect post failures for the account
     and date range specified.
 •   GetFolderList and GetFolderItems – The GetFolderList and GetFolderItem methods are
     used to retrieve the list of folders, including shared folders, and envelopes in the folders. Using
     these calls is a more efficient way to get a list of envelopes than using RequestStatuses to
     request individual envelope statuses.
 •   GetRecipientAuthenticationStatusEx – Returns the authentication status of a recipient for
     the specified envelope. The response returns the applicable authentication results with the
     authentication status, a date time stamp and authentication failure details (if provided).
 •   GetRecipientEsignList – Return a collection of RecipientEsignRecords for the supplied
     Sender UserName, Email address and the recipient Email address. The purpose of this
     function is to allow a sender to determine if an Esign agreement already exists between the
     sender (as identified by the UserName and Email address) and the recipient (identified by
     email address only). Each RecipientEsignRecord returned (there may be more than one if
     there are several recipients at the same email address) has the Recipient’s UserName, Email
     address and a Boolean indicating whether or not an Esign Agreement exists for that recipient.
 •   GetRecipientList – Return a collection of RecipientRecords for the supplied recipient email
     address. The purpose of this function is to allow a sender to determine what recipients are
     available in the system at the given email address.
 •   GetStatusInDocuSignConnectFormat – This method is reserved for future use.

 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    32

 •   MoveEnvelopes – This method is used to move envelopes between folders.
 •   Ping - Returns true if this method can be reached. Use this method for testing availability.
     Available only in the 3.0 API.
 •   PublishConnectFailures – This method requests a list of Connect post failures for the set of
     envelopes included in the request.
 •   PurgeDocuments – Allows a sender to purge the documents from an envelope. Only
     completed documents can be purged.
 •   RemoveAddressBookItems – This method is used to remove specified items passed from
     your address book. This method returns an UpdateAddressBookResult object.
 •   RequestCertificate – Returns the signing certificate, which details the specific attributes of the
     participants and landmark events of the signing transaction, for an envelope.
 •   RequestCorrectToken – This call returns a token to place a user in a web session in
     Advanced Correct mode on an envelope.
 •   RequestDocumentPDFs - Returns a collection of all of the documents in an envelope. This
     method differs from RequestPDF in that this method returns individual documents, while
     RequestPDF returns all of the documents combined into a single, contiguous PDF.
     Additionally, the RequestDocumentPDFs method returns the Signing Certificate pdf document,
     which details the specific attributes of the participants and landmark events of the signing
     transaction.
 •   RequestDocumentPDFsEx - Returns an extended collection of all of the documents from
     RequestDocumentPDFs. Extensions include originating document ID and document type.
     Available only in the 3.0 API.
 •   RequestDocumentPDFsRecipientsView – This method requests the recipient’s view of the
     document PDFs in an envelope.
 •   RequestEnvelope – Returns an API Envelope object containing all the data of an envelope.
     The envelope must be owned by the API user.
 •   RequestEnvelopeHistoryToken – Allows allows the caller to get a view of the history dialog
     for an envelope. The return URL is the url that the caller wants to return to when the close
     button is pressed after the history dialog is displayed.
 •   RequestPDF – Query the envelope and return the PDF.
 •   RequestPDFNoWaterMark – Query the envelope and return the PDF without showing the
     watermark.
 •   RequestPDFWithCert – Query the envelope and return the PDF with the signing certificate.
 •   RequestPDFWithOptions – Returns all of the documents combined into a single, contiguous
     PDF. It includes the ability to set display options for the PDFs.
 •   RequestPDFsWithOptions – Returns all of the documents in an envelope as an array of
     DocumentPDF (see DocumentPDF for more about the returned information). If the account
     has the Highlight Data Changes feature enabled and the ShowChanges option is set to true,
     any changes one the documents are highlighted.
 •   RequestRecipientFaxToken - Specific to InSession Signing implementations. This token
     returns a URL to invoke a DocuSign signing session where the signer is required to print out
     and sign documents. The documents are then returned to DocuSign by fax or upload.



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     33

   •   RequestRecipientToken - Specific to InSession Signing implementations. This token returns
       a URL to invoke a DocuSign signing session where the signer completes the signing process
       online.
   •   RequestSenderToken – This method is used to get a onetime use login token that allows the
       user to be placed into the DocuSign sending wizard. Upon sending completion the user is
       returned to the return URL provided by the API application.
   •   RequestStatus – Query the envelope and return its current status.
   •   RequestStatusChanges – This method requests the envelope status changes for the
       envelopes for account on or after the specified date/time.
   •   RequestStatusCodes – This method requests the current state (Delivered, Complete,
       Voided, etc.) of the specified envelopes.
   •   RequestStatusEx - Query the envelope and return its extended status. Available only in the
       3.0 API.
   •   RequestStatuses - Query DocuSign for a collection of EnvelopeStatuses. The request can
       be filtered by date range, StatusCode, sending user or EnvelopeID.
   •   RequestStatusesEx - Query DocuSign for a collection of extended EnvelopeStatuses. The
       request can be filtered by date range, StatusCode, sending user or EnvelopeID. Available
       only in the 3.0 API.
   •   RequestTemplate – This method retrieves a specific template from the server by returning an
       EnvelopeTemplate upon execution completion.
   •   RequestTemplateList - This method requests a list of templates and returns an
       EnvelopeTemplate list.
   •   #RequestTemplates – This method returns a list of server side templates available for this
       account.
   •   SaveTemplate – This method returns the SaveTemplateResult.
   •   SendEnvelope – Send an envelope that is in draft status. Upon sending all the validations
       that are made with the CreateAndSendEnvelope method apply.
   •   SynchEnvelope – This method is only useful when the ‘Asynchronous’ flag is set to true on a
       CreateAndSendEnvelope call. It will determine when the queued envelope has been
       processed by the system.
   •   TransferEnvelope - Transfers ownership of the specified envelope to the specified User in the
       specified Account. Returns Boolean to indicate success of the operation.
   •   UpdateAddressBookItems – This method updates and inserts the specified items passed to
       your address book and returns an UpdateAddressBookResult object.
   •   UploadTemplates – This method returns SaveTemplateResult. This method currently only
       supports DocuSign Professional Template XML.
   •   VoidEnvelope - Voids the envelope. Returns Boolean to indicate success of the operation.


DocuSign Service API Function Groups
There are five basic function groups in the DocuSign API:


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     34

   •   Sending
   •   Embedding
   •   Status and Managing
   •   Post Processing
   •   Administrative
Additionally, there is a Credential API group that covers the methods involved in implementing a
DocuSign Credential API. The exposed methods are associated with the different function groups.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     35

Sending Function Group
This section outlines the usage rules and behaviors of the methods associated with sending. The
functions are presented in alphabetical order.

CreateAndSendEnvelope and CreateEnvelope
This section outlines the usage rules and behaviors of the CreateEnvelope and
CreateAndSendEnvelope call, which is used to create envelopes, specify recipients, documents and
actions on those documents within that envelope.
   Note: The CreateAndSendEnvelope and CreateEnvelope schemas, which are used to create
   envelopes, specify recipients, documents and actions on those documents within that envelope,
   are similar and only one method is detailed.


Schema




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     36

Name                             Schema Type                        Description
TransactionID                    LongString                         External ID of this transaction to be used
                                                                    when calling SynchEnvelope. This ID must
                                                                    be unique for a 24-hour period.
Asynchronous                     Boolean                            If true, will queue the envelope for processing
                                                                    and EnvelopeStatus will have a value of
                                                                    ‘Processing’. Use SynchEnvelope to
                                                                    determine when the queued envelope has
                                                                    been processed. Additionally, RequestStatus
                                                                    calls will return ‘Processing’ until completed.
AccountId                        DSXId                              Account Id of the user who created the
                                                                    envelope.
Documents                        Document                           Complex element contains the details on the
                                                                    documents in the envelope. See the
                                                                    Document section below for more information.
Recipients                       Recipient                          Specifies the envelope recipients. See the
                                                                    Recipient section below for more information.
Tabs                             Tab                                Specifies information of the tabs affixed on
                                                                    the documents. Please refer the Tab section
                                                                    below for details.
Subject                          String                             The subject of the email that will be sent to
                                                                    the recipient. This can be a maximum of 100
                                                                    characters.
EmailBlurb                       String                             Optional element, if specified is included in
                                                                    email notifications to the envelope recipients.
                                                                    This can be a maximum of 2000 characters.
SigningLocation                  SigningLocationCode                Specifies the physical location where the
                                                                    signing takes place. It can have two
                                                                    enumeration values; InPerson and Online.
CustomFields                     CustomField                        Complex element contains a list of names
                                                                    and values. Element can specify if the name
                                                                    value pair needs to be entered before sending
                                                                    the envelope. It can also specify if the name
                                                                    value pair needs to be shown to user who is
                                                                    sending the envelope.
                                                                    Reserved CustomField names:
                                                                    ##SFAccount
                                                                    ##SFContract
                                                                    ##SFOpportunity
                                                                    ##SFCase
                                                                    Reserved field names can be used to link
                                                                    data from DocuSign Connect to Salesforce.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     37

Name                             Schema Type                        Description
VaultingOptions                  VaultingOptions                    Specifies that, on document completion, this
                                                                    document is to be sent to an electronic
                                                                    vaulting solution. You MUST have an
                                                                    established relationship with the electronic
                                                                    vault and explicitly have vaulting permissions
                                                                    enabled to use this feature. Contact your
                                                                    DocuSign representative for more
                                                                    information.
AutoNavigation                   Boolean                            Specifies the Auto Navigation feature. If the
                                                                    Boolean is set to true the auto navigation is
                                                                    enabled.
EnvelopeIDStamping               Boolean                            Specifies the Envelope Stamping feature. If
                                                                    the Boolean is set to true the Envelope
                                                                    Stamping is enabled.
AuthoritativeCopy                Boolean                            Specifies the Authoritative copy feature. If the
                                                                    Boolean is set to true the Authoritative copy
                                                                    feature is enabled.
EnvelopeAttachment               Attachment                         It would be possible to send attachments with
                                                                    envelope. This complex element contains
                                                                    data in base64Binary. It also contains label
                                                                    and type for the attachment.
Notification                     Notification                       Specifies information of the notification
                                                                    options for the envelope. Please refer the
                                                                    Notification section below for details.
EnforceSignerVisibility          Boolean                            When true requires that a Signer have a
                                                                    signature or initial on the document or that the
                                                                    document has no signers in order to view it.
EnableWetSign                    Boolean                            When true, allows the signer to print the
                                                                    document and sign it on paper.
AllowMarkup                      Boolean                            When true, enable Document Markup for
                                                                    envelope.
EventNotification                EventNotification                  This optional complex element allows a
                                                                    message to be sent a specified URL when the
                                                                    envelope changes status. It is similar to
                                                                    DocuSign Connect, but only applies to the
                                                                    envelope. For example, from "Sent" to
                                                                    "Delivered", the URL is sent a message
                                                                    containing the updated envelope status and
                                                                    optionally the documents.
                                                                    When an EventNotification is attached to an
                                                                    envelope using the API, it only applies to the
                                                                    envelope (treating the envelope as the
                                                                    sender). This is different from envelopes
                                                                    created through the console user interface,
                                                                    where the user is treated as the sender.
                                                                    EventNotification consists of:
                                                                    •   URL – The endpoint where envelope
                                                                        updates are sent. This will accept XML



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     38

Name                             Schema Type                        Description
                                                                        unless “useSoapInterface” is set to true.
                                                                    •   LoggingEnabled – When set to true,
                                                                        logging is turned on for envelope events
                                                                        on the Web Console Connect page.
                                                                    •   RequireAcknowledgment – When set to
                                                                        true, the DocuSign Connect service
                                                                        checks that the message was received
                                                                        and retries on failures.
                                                                    •   UseSoapInterface – When set to true, this
                                                                        tells the Connect service that the user’s
                                                                        endpoint has implemented a SOAP
                                                                        interface.
                                                                    •   SoapNameSpace – This lists the
                                                                        namespace in the SOAP listener
                                                                        provided.
                                                                    •   IncludeCertificateWithSoap – When set to
                                                                        true, this tells the Connect service to send
                                                                        the DocuSign signedby certificate as part
                                                                        of the outgoing SOAP xml. This appears
                                                                        in the XML as wsse:BinarySecurityToken.
                                                                    •   SignMessageWithX509Cert – When set
                                                                        to true, messages are signed with an
                                                                        X509 certificate.
                                                                    •   IncludeDocuments – When set to true,
                                                                        the PDF documents are included in the
                                                                        message along with the update XML.
                                                                    •   IncludeTimeZone – When set to true, the
                                                                        envelope time zone information is
                                                                        included in the message.
                                                                    •   IncludeSenderAccountAsCustomField –
                                                                        When set to true, the sender account ID
                                                                        is included as a envelope custom field in
                                                                        the data.
                                                                    •   EnvelopeEvents – The list of envelope-
                                                                        level events statuses that will trigger
                                                                        Connect to send updates to the url. It can
                                                                        be a two-part list with:
                                                                            o EnvelopeEventStatus – The
                                                                                envelope status, this can be Sent,
                                                                                Delivered, Signed, Completed,
                                                                                Declined, or Voided.
AllowReassign                    Boolean                            If true, the recipient can redirect an envelope
                                                                    to a more appropriate recipient.
BrandId                          String                             This sets the brand profile format used for the
                                                                    envelope. The value in the string is the
                                                                    BrandId for the profile. Account branding
                                                                    must be enabled for the account to use this
                                                                    option.
BrandLock                        Boolean                            When true, the brand profile associated with
                                                                    the envelope cannot be changed.


  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    39

Request XML Data Structure Outline
  SOAPAction: "http://www.docusign.net/API/3.0/CreateAndSendEnvelope"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <CreateAndSendEnvelope xmlns="http://www.docusign.net/API/3.0">
        <Envelope>
          <TransactionID>string</TransactionID>
          <Asynchronous>boolean</Asynchronous>
          <AccountId>string</AccountId>
          <Documents>
            <Document>
              <ID>positiveInteger</ID>
              <Name>string</Name>
              <PDFBytes>base64Binary</PDFBytes>
              <Password>string</Password>
              <TransformPdfFields>boolean</TransformPdfFields>
              <FileExtension>string</FileExtension>
              <MatchBoxes xsi:nil="true" />
              <AttachmentDescription>string</AttachmentDescription>
            </Document>
            <Document>
              <ID>positiveInteger</ID>
              <Name>string</Name>
              <PDFBytes>base64Binary</PDFBytes>
              <Password>string</Password>
              <TransformPdfFields>boolean</TransformPdfFields>
              <FileExtension>string</FileExtension>
              <MatchBoxes xsi:nil="true" />
              <AttachmentDescription>string</AttachmentDescription>
            </Document>
          </Documents>
          <Recipients>
            <Recipient>
              <ID>positiveInteger</ID>
              <UserName>string</UserName>
              <SignerName>string</SignerName>
              <Email>string</Email>
              <Type>Signer or Agent or Editor or CarbonCopy or CertifiedDelivery or
  InPersonSigner</Type>
              <AccessCode>string</AccessCode>
              <AddAccessCodeToEmail>boolean</AddAccessCodeToEmail>
              <RequireIDLookup>boolean</RequireIDLookup>
              <IDCheckConfigurationName>string</IDCheckConfigurationName>
              <LiveIDRecipientAuthentication>boolean</LiveIDRecipientAuthentication>
              <FacebookRecipientAuthentication>boolean</FacebookRecipientAuthentication>
              <LinkedinRecipientAuthentication>boolean</LinkedinRecipientAuthentication>
              <GoogleRecipientAuthentication>boolean</GoogleRecipientAuthentication>

  <SalesforceRecipientAuthentication>boolean</SalesforceRecipientAuthentication>
              <TwitterRecipientAuthentication>boolean</TwitterRecipientAuthentication>
              <YahooRecipientAuthentication>boolean</YahooRecipientAuthentication>
              <OpenIDRecipientAuthentication>boolean</OpenIDRecipientAuthentication>

  <AnySocialIDRecipientAuthentication>boolean</AnySocialIDRecipientAuthentication>
              <PhoneAuthentication xsi:nil="true" />
              <SignatureInfo xsi:nil="true" />
              <CaptiveInfo xsi:nil="true" />
              <CustomFields xsi:nil="true" />
              <RoutingOrder>unsignedShort</RoutingOrder>



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    40

                <IDCheckInformationInput xsi:nil="true" />
                <AutoNavigation>boolean</AutoNavigation>
                <RecipientAttachment xsi:nil="true" />
                <Note>string</Note>
                <RoleName>string</RoleName>
                <TemplateLocked>boolean</TemplateLocked>
                <TemplateRequired>boolean</TemplateRequired>
                <TemplateAccessCodeRequired>boolean</TemplateAccessCodeRequired>
                <DefaultRecipient>boolean</DefaultRecipient>
                <EmailNotification xsi:nil="true" />
                <AgentCanEditEmail>boolean</AgentCanEditEmail>
                <AgentCanEditName>boolean</AgentCanEditName>
                <SignInEachLocation>boolean</SignInEachLocation>

 <InheritEmailNotificationConfiguration>boolean</InheritEmailNotificationConfiguration>
           </Recipient>
           <Recipient>
             <ID>positiveInteger</ID>
             <UserName>string</UserName>
             <SignerName>string</SignerName>
             <Email>string</Email>
             <Type>Signer or Agent or Editor or CarbonCopy or CertifiedDelivery or
 InPersonSigner</Type>
             <AccessCode>string</AccessCode>
             <AddAccessCodeToEmail>boolean</AddAccessCodeToEmail>
             <RequireIDLookup>boolean</RequireIDLookup>
             <IDCheckConfigurationName>string</IDCheckConfigurationName>
             <LiveIDRecipientAuthentication>boolean</LiveIDRecipientAuthentication>
             <FacebookRecipientAuthentication>boolean</FacebookRecipientAuthentication>
             <LinkedinRecipientAuthentication>boolean</LinkedinRecipientAuthentication>
             <GoogleRecipientAuthentication>boolean</GoogleRecipientAuthentication>

 <SalesforceRecipientAuthentication>boolean</SalesforceRecipientAuthentication>
             <TwitterRecipientAuthentication>boolean</TwitterRecipientAuthentication>
             <YahooRecipientAuthentication>boolean</YahooRecipientAuthentication>
             <OpenIDRecipientAuthentication>boolean</OpenIDRecipientAuthentication>

 <AnySocialIDRecipientAuthentication>boolean</AnySocialIDRecipientAuthentication>
             <PhoneAuthentication xsi:nil="true" />
             <SignatureInfo xsi:nil="true" />
             <CaptiveInfo xsi:nil="true" />
             <CustomFields xsi:nil="true" />
             <RoutingOrder>unsignedShort</RoutingOrder>
             <IDCheckInformationInput xsi:nil="true" />
             <AutoNavigation>boolean</AutoNavigation>
             <RecipientAttachment xsi:nil="true" />
             <Note>string</Note>
             <RoleName>string</RoleName>
             <TemplateLocked>boolean</TemplateLocked>
             <TemplateRequired>boolean</TemplateRequired>
             <TemplateAccessCodeRequired>boolean</TemplateAccessCodeRequired>
             <DefaultRecipient>boolean</DefaultRecipient>
             <EmailNotification xsi:nil="true" />
             <AgentCanEditEmail>boolean</AgentCanEditEmail>
             <AgentCanEditName>boolean</AgentCanEditName>
             <SignInEachLocation>boolean</SignInEachLocation>

 <InheritEmailNotificationConfiguration>boolean</InheritEmailNotificationConfiguration>
           </Recipient>
         <Tabs>
           <Tab>
             <DocumentID>positiveInteger</DocumentID>
             <RecipientID>positiveInteger</RecipientID>
             <PageNumber>nonNegativeInteger</PageNumber>



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    41

             <XPosition>nonNegativeInteger</XPosition>
             <YPosition>nonNegativeInteger</YPosition>
             <ScaleValue>decimal</ScaleValue>
             <AnchorTabItem xsi:nil="true" />
             <Type>InitialHere or SignHere or FullName or Company or Title or DateSigned
 or InitialHereOptional or EnvelopeID or Custom or SignerAttachment or SignHereOptional or
 Approve or Decline</Type>
             <Name>string</Name>
             <TabLabel>string</TabLabel>
             <Value>string</Value>
             <CustomTabType>Text or Checkbox or Radio or List or Date or Number or SSN or
 ZIP5 or ZIP5DASH4 or Email or Note</CustomTabType>
             <CustomTabWidth>int</CustomTabWidth>
             <CustomTabHeight>int</CustomTabHeight>
             <CustomTabRequired>boolean</CustomTabRequired>
             <CustomTabLocked>boolean</CustomTabLocked>
             <CustomTabDisableAutoSize>boolean</CustomTabDisableAutoSize>
             <CustomTabListItems>string</CustomTabListItems>
             <CustomTabListValues>string</CustomTabListValues>
             <CustomTabListSelectedValue>string</CustomTabListSelectedValue>
             <CustomTabRadioGroupName>string</CustomTabRadioGroupName>
             <CustomTabValidationPattern>string</CustomTabValidationPattern>
             <CustomTabValidationMessage>string</CustomTabValidationMessage>
             <TemplateLocked>boolean</TemplateLocked>
             <TemplateRequired>boolean</TemplateRequired>
             <ConditionalParentLabel>string</ConditionalParentLabel>
             <ConditionalParentValue>string</ConditionalParentValue>
             <SharedTab>boolean</SharedTab>
             <RequireInitialOnSharedTabChange>boolean</RequireInitialOnSharedTabChange>
             <ConcealValueOnDocument>boolean</ConcealValueOnDocument>
             <Font>Arial or ArialNarrow or Calibri or CourierNew or Garamond or Georgia or
 Helvetica or LucidaConsole or Tahoma or TimesNewRoman or Trebuchet or Verdana</Font>
             <Bold>boolean</Bold>
             <Italic>boolean</Italic>
             <Underline>boolean</Underline>
             <FontColor>Black or BrightBlue or BrightRed or DarkRed or DarkGreen or Gold
 or Green or NavyBlue or Purple or White</FontColor>
             <FontSize>Size7 or Size8 or Size9 or Size10 or Size11 or Size12 or Size14 or
 Size16 or Size18 or Size20 or Size22 or Size24 or Size26 or Size28 or Size36 or Size48 or
 Size72</FontSize>
             <MergeFieldXml>string</MergeFieldXml>
             <IncludeNoteInEmail>boolean</IncludeNoteInEmail>
           </Tab>
           <Tab>
             <DocumentID>positiveInteger</DocumentID>
             <RecipientID>positiveInteger</RecipientID>
             <PageNumber>nonNegativeInteger</PageNumber>
             <XPosition>nonNegativeInteger</XPosition>
             <YPosition>nonNegativeInteger</YPosition>
             <ScaleValue>decimal</ScaleValue>
             <AnchorTabItem xsi:nil="true" />
             <Type>InitialHere or SignHere or FullName or Company or Title or DateSigned
 or InitialHereOptional or EnvelopeID or Custom or SignerAttachment or
 SignHereOptional</Type>
             <Name>string</Name>
             <TabLabel>string</TabLabel>
             <Value>string</Value>
             <CustomTabType>Text or Checkbox or Radio or List or Date or Number or SSN or
 ZIP5 or ZIP5DASH4 or Email</CustomTabType>
             <CustomTabWidth>int</CustomTabWidth>
             <CustomTabHeight>int</CustomTabHeight>
             <CustomTabRequired>boolean</CustomTabRequired>
             <CustomTabLocked>boolean</CustomTabLocked>
             <CustomTabDisableAutoSize>boolean</CustomTabDisableAutoSize>



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    42

             <CustomTabListItems>string</CustomTabListItems>
             <CustomTabListValues>string</CustomTabListValues>
             <CustomTabListSelectedValue>string</CustomTabListSelectedValue>
             <CustomTabRadioGroupName>string</CustomTabRadioGroupName>
             <CustomTabValidationPattern>string</CustomTabValidationPattern>
             <CustomTabValidationMessage>string</CustomTabValidationMessage>
             <TemplateLocked>boolean</TemplateLocked>
             <TemplateRequired>boolean</TemplateRequired>
             <ConditionalParentLabel>string</ConditionalParentLabel>
             <ConditionalParentValue>string</ConditionalParentValue>
             <SharedTab>boolean</SharedTab>
             <RequireInitialOnSharedTabChange>boolean</RequireInitialOnSharedTabChange>
             <ConcealValueOnDocument>boolean</ConcealValueOnDocument>
             <Font>Arial or ArialNarrow or Calibri or CourierNew or Garamond or Georgia or
 Helvetica or LucidaConsole or Tahoma or TimesNewRoman or Trebuchet or Verdana</Font>
             <Bold>boolean</Bold>
             <Italic>boolean</Italic>
             <Underline>boolean</Underline>
             <FontColor>Black or BrightBlue or BrightRed or DarkRed or DarkGreen or Gold
 or Green or NavyBlue or Purple or White</FontColor>
             <FontSize>Size7 or Size8 or Size9 or Size10 or Size11 or Size12 or Size14 or
 Size16 or Size18 or Size20 or Size22 or Size24 or Size26 or Size28 or Size36 or Size48 or
 Size72</FontSize>
             <MergeFieldXml>string</MergeFieldXml>
             <IncludeNoteInEmail>boolean</IncludeNoteInEmail>
           </Tab>
         </Tabs>
         <Subject>string</Subject>
         <EmailBlurb>string</EmailBlurb>
         <SigningLocation>InPerson or Online</SigningLocation>
         <CustomFields>
           <CustomField>
             <Name>string</Name>
             <Show>string</Show>
             <Required>string</Required>
             <Value>string</Value>
             <CustomFieldType>Text or List</CustomFieldType>
             <ListItems>string</ListItems>
           </CustomField>
           <CustomField>
             <Name>string</Name>
             <Show>string</Show>
             <Required>string</Required>
             <Value>string</Value>
             <CustomFieldType>Text or List</CustomFieldType>
             <ListItems>string</ListItems>
           </CustomField>
         </CustomFields>
         <VaultingOptions>
           <VaultingMode>None or EODeStore or EODAuthoritativeCopy</VaultingMode>
           <EODTransactionName>string</EODTransactionName>
           <EODDocumentName>string</EODDocumentName>
           <EODDocumentDescription>string</EODDocumentDescription>
         </VaultingOptions>
         <AutoNavigation>boolean</AutoNavigation>
         <EnvelopeIdStamping>boolean</EnvelopeIdStamping>
         <AuthoritativeCopy>boolean</AuthoritativeCopy>
         <Notification>
           <UseAccountDefaults>boolean</UseAccountDefaults>
           <Reminders>
             <ReminderEnabled>boolean</ReminderEnabled>
             <ReminderDelay>nonNegativeInteger</ReminderDelay>
             <ReminderFrequency>nonNegativeInteger</ReminderFrequency>
           </Reminders>



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    43

           <Expirations>
             <ExpireEnabled>boolean</ExpireEnabled>
             <ExpireAfter>nonNegativeInteger</ExpireAfter>
             <ExpireWarn>nonNegativeInteger</ExpireWarn>
           </Expirations>
         </Notification>
         <EnvelopeAttachment>
           <Attachment>
             <Data>base64Binary</Data>
             <Label>string</Label>
             <Type>string</Type>
           </Attachment>
           <Attachment>
             <Data>base64Binary</Data>
             <Label>string</Label>
             <Type>string</Type>
           </Attachment>
         </EnvelopeAttachment>
         <EnforceSignerVisibility>boolean</EnforceSignerVisibility>
         <EnableWetSign>boolean</EnableWetSign>
         <AllowMarkup>boolean</AllowMarkup>
         <EventNotification>
           <URL>string</URL>
           <LoggingEnabled>boolean</LoggingEnabled>
           <RequireAcknowledgment>boolean</RequireAcknowledgment>
           <UseSoapInterface>boolean</UseSoapInterface>
           <SoapNameSpace>string</SoapNameSpace>
           <IncludeCertificateWithSoap>boolean</IncludeCertificateWithSoap>
           <SignMessageWithX509Cert>boolean</SignMessageWithX509Cert>
           <IncludeDocuments>boolean</IncludeDocuments>
           <IncludeTimeZone>boolean</IncludeTimeZone>
           <IncludeSenderAccountAsCustomField>boolean</IncludeSenderAccountAsCustomField>
           <EnvelopeEvents>
             <EnvelopeEvent xsi:nil="true" />
             <EnvelopeEvent xsi:nil="true" />
           </EnvelopeEvents>
         </EventNotification>
         <AllowReassign>boolean</AllowReassign>
         <BrandId>string</BrandId>
         <BrandLock>boolean</BrandLock>
       </Envelope>
     </CreateAndSendEnvelope>
   </soap:Body>
 </soap:Envelope>




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                       44

Document
This element contains the details of the documents in the envelope.




Name                                Schema Type                        Description
ID                                  LocalId                            The unique Id for the document in the specific
                                                                       envelope.
Name                                LongString                         The name of the document. This can be a
                                                                       maximum of 100 characters.
PDFBytes                            base64Binary                       The document byte stream
Password                            Password                           This is a legacy field and no longer used.
TransformPdfFields                  Boolean                            Optional element. When set to true PDF form
                                                                       field data will be transformed into document
                                                                       tab values when the PDF form field name
                                                                       matches the DocuSign custom tab TabLabel.
                                                                       The resulting PDF form data will also be
                                                                       returned in the PDF meta data when
                                                                       requesting the document PDF.

                                                                       Note: DocuSign will not transform PDF form
                                                                       fields that have the text
                                                                       "DocuSignIgnoreTransform" or
                                                                       "eSignIgnoreTransform" as part of the name
                                                                       of the PDF form field.
FileExtension                       String                             Optional element. File extension of the
                                                                       document. If the document is non-PDF it will
                                                                       be converted to PDF.
MatchBoxes                          String                             Optional element. Only used when uploading
                                                                       and editing templates. Matchboxes are used
                                                                       to define areas in a document for document
                                                                       matching when creating envelopes. The
                                                                       Matchbox schema is defined below in the
                                                                       Request Template section.



     111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     45

Name                              Schema Type                        Description
AttachmentDescription             LongString                         Optional element. If present, indicates signer
                                                                     will be attaching a document here.



Recipient
The Recipient element is used to specify envelope recipients.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                           46

Name                                     Schema Type                        Description
ID                                       LocalId                            Unique for the recipient. It is used by the
                                                                            tab element to indicate which recipient is
                                                                            to sign the Document.
UserName                                 UserName                           Full legal name of the recipient.
                                                                            If the recipient Type is InPersonSigner,
                                                                            this is the signing host for the envelope.
                                                                            This can be a maximum of 100
                                                                            characters.
SignerName                               SignerName                         The full legal name of a signer for an
                                                                            InPersonSigner recipient Type. This can
                                                                            be a maximum of 100 characters.
Email                                    Email                              Email of the recipient. Notification will be
                                                                            sent to this email id. This can be a
                                                                            maximum of 100 characters.
Type                                     RecipientTypeCode                  Specifies the role of the recipient. The
                                                                            role can be Signer, CarbonCopy, Editor,
                                                                            Agent, Intermediary, CertifiedDelivery, or
                                                                            InPersonSigner.

                                                                            If InPersonSigner is used, SignerName is
                                                                            required and is the name of the person
                                                                            signing the tabs. Also, the UserName is
                                                                            the name of the signing host for the
                                                                            envelope.
AccessCode                               LongString                         This Optional element specifies the
                                                                            access code a recipient has to enter to
                                                                            validate the identity. This can be a
                                                                            maximum of 50 characters.
AddAccessCodeToEmail                     Boolean                            This Optional attribute indicates that the
                                                                            access code will be added to the email
                                                                            sent to the recipient; this nullifies the
                                                                            Security measure of Access Code on the
                                                                            recipient.
RequireIDLookup                          Boolean                            If set to true, then the recipient is
                                                                            required to complete an ID Check or
                                                                            Phone Authentication check.
IDCheckConfigurationName                 LongString                         Specify ID check configuration by name.
                                                                            Overrides the default.
DeliveryMethod                           Delivery Method                    This sets the delivery method used for
                                                                            the recipient. The two enumerations are
                                                                            Email or Fax. Email is the default value.
FaxNumber                                String                             The fax number for the recipient. This is
                                                                            only active if the DeliveryMethod is Fax.
                                                                            This can be a maximum of 100
                                                                            characters.
LiveIDRecipientAuthentication            Boolean                            If true, this is the information used for
                                                                            recipient authentication.



     111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                         47

Name                                   Schema Type                        Description
FacebookRecipientAuthentication        Boolean                            If true, this is the information used for
                                                                          recipient authentication.
LinkedinRecipientAuthentication        Boolean                            If true, this is the information used for
                                                                          recipient authentication.
GoogleRecipientAuthentication          Boolean                            If true, this is the information used for
                                                                          recipient authentication.
SalesforceRecipientAuthentication      Boolean                            If true, this is the information used for
                                                                          recipient authentication.
TwitterRecipientAuthentication         Boolean                            If true, this is the information used for
                                                                          recipient authentication.
YahooRecipientAuthentication           Boolean                            If true, this is the information used for
                                                                          recipient authentication.
OpenIDRecipientAuthentication          Boolean                            If true, this is the information used for
                                                                          recipient authentication.
AnySocialIDRecipientAuthenticatio      Boolean                            If true, this is the information used for
n                                                                         recipient authentication.
PhoneAuthentication                    RecipientPhoneAuthenticatio        Optional element. Contains the elements:
                                       n                                  RecipMayProvideNumbers – Boolean (if
                                                                          true then recipient can use whatever
                                                                          phone number they want)
                                                                          SenderProvideNumbers – ArrayOfString
                                                                          (a list of phone numbers the recipient
                                                                          may use)
                                                                          RecordVoidPrint – Reserved
                                                                          ValidateRecipProvideNumber –
                                                                          Reserved
SignatureInfo                          SignatureInfo                      Allows the sender to pre-specify the
                                                                          signature name, signature initials and
                                                                          signature font used in the signature
                                                                          stamp for the recipient.
CaptiveInfo                            CaptiveInfo                        This specifies if the recipient is
                                         ClientUserId                     embedded or remote.
                                                                          If the ClientUserId is not null then the
                                                                          recipient is embedded.
CustomFields                           Array of CustomField               Allows the sender to send custom data
                                                                          about the recipient. This information is
                                                                          returned in the envelope status but
                                                                          otherwise not used by DocuSign. Each
                                                                          CustomField can be a maximum of 100
                                                                          characters.
RountingOrder                          PositiveShort                      This element specifies the routing order
                                                                          of the recipient in the envelope




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                      48

Name                                   Schema Type                        Description
IDCheckInformationInput                IDCheckInformationInput            This Complex element contains
                                                                          information related to recipient ID check.
                                                                          It comprises of Address, DOB, SS4 and
                                                                          SS9. Please refer the
                                                                          IDCheckInformationInput section below
                                                                          for details.
AutoNavigation                         Boolean                            Specifies the auto navigation setting for
                                                                          recipient.
RecipientAttachment                    Attachment                         It would be possible to send attachments
                                                                          with recipients. This complex element
                                                                          contains data in base64Binary. It also
                                                                          contains label and type for the
                                                                          attachment.
Note                                   String                             A note that will be unique to this
                                                                          recipient. This note will be sent to the
                                                                          recipient via the signing email. This note
                                                                          will display in the signing UI near the
                                                                          upper left corner of the document on the
                                                                          signing screen. This can be a maximum
                                                                          of 1000 characters.
RoleName                               String                             Optional element. Used only when
                                                                          working with template recipients. Role
                                                                          name for the recipient
TemplateLocked                         Boolean                            Optional element. Used only when
                                                                          working with template recipients. If true,
                                                                          the sender cannot change any attributes
                                                                          of the recipient.
TemplateRequired                       Boolean                            Optional element. Used only when
                                                                          working with template recipients. If true,
                                                                          the sender may not remove the recipient.
TemplateAccessCodeRequired             Boolean                            Optional element. Used only when
                                                                          working with template recipients. If true
                                                                          and TemplateLocked = true, the sender
                                                                          must enter an access code.
DefaultRecipient                       Boolean                            If true, this is the default recipient for the
                                                                          envelope. This option is used with
                                                                          CreateEnvelopeFromTemplatesAndForm
                                                                          s method.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     49

Name                                   Schema Type                        Description
EmailNotification                      RecipientEmailNotification         An optional complex type that has
                                                                          information for setting the language for
                                                                          the recipient’s email information. It is
                                                                          composed of three elements:
                                                                          • Subject: a long string with the subject
                                                                               of the email sent to the recipient.
                                                                          • EmailBlurb: a string with the email
                                                                               message sent to the recipient.
                                                                          • Language: the simple type
                                                                               SupportedLanguage enumerating the
                                                                               language used. The supported
                                                                               languages, with the language value
                                                                               shown in parenthesis, are: Arabic
                                                                               (ar), Bahasa Indonesia (id), Bahasa
                                                                               Melayu (ms) Bulgarian (bg), Czech
                                                                               (cs), Chinese Simplified (zh-CN),
                                                                               Chinese Traditional (zh-TW),
                                                                               Croatian (hr), Danish (da), Dutch (nl),
                                                                               English US (en), English UK (en-GB),
                                                                               Estonian (et), Farsi (fa), Finnish (fi),
                                                                               French (fr), French Canada (fr-CA),
                                                                               German (de), Greek (el), Hebrew
                                                                               (he), Hindi (hi), Hungarian (hu),
                                                                               Italian (it), Japanese (ja), Korean
                                                                               (ko), Latvian (lv), Lithuanian (lt),
                                                                               Norwegian (no), Polish (pl),
                                                                               Portuguese (pt), Portuguese Brazil
                                                                               (pt-BR), Romanian (ro),Russian (ru),
                                                                               Serbian (sr), Slovak (sk), Slovenian
                                                                               (sl), Spanish (es),Spanish Latin
                                                                               America (es-MX), Swedish (sv), Thai
                                                                               (th), Turkish (tr), Ukrainian (uk) and
                                                                               Vietnamese (vi).

                                                                          IMPORTANT: If this is enabled for one
                                                                          recipient, it overrides the Envelope
                                                                          Subject and EmailBlurb. Also, you must
                                                                          enable EmailNotification for all recipients.
AgentCanEditEmail                      Boolean                            Optional element. If true, the Agent or
                                                                          Editor Recipient associated with this
                                                                          Recipient can change the Recipient’s
                                                                          pre-populated Email address. This
                                                                          element is only active if enabled for the
                                                                          account.
AgentCanEditName                       Boolean                            Optional element. If true, the Agent or
                                                                          Editor Recipient associated with this
                                                                          recipient can change the recipient’s pre-
                                                                          populated name (UserName). This
                                                                          element is only active if enabled for the
                                                                          account.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     50

Name                                   Schema Type                        Description
SignInEachLocation                     Boolean                            Optional element. If true, the signer must
                                                                          write their signature in each Signature or
                                                                          initial tab. Can only be used for Signer
                                                                          and InPersonSigner recipient types.
InheritEmailNotificationConfiguratio   Boolean                            Optional element. If true and the recipient
n                                                                         creates a DocuSign account after
                                                                          signing, the Manage Account Email
                                                                          Notification settings are used as the
                                                                          default settings for the recipient's
                                                                          account.
ExcludedDocuments                      Array of positive integers         Optional element, can only be used if
                                                                          Document Visibility is enabled for the
                                                                          account. Accepts an array of Document
                                                                          IDs to set the documents in the envelope
                                                                          that are not visible to the recipient. If a
                                                                          recipient has a tab on a document, it
                                                                          cannot be excluded.


IDCheckInformationInput




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                        51



Name                               Schema Type                        Description
AddressInformationInput            AddressInformation                 This Complex type contains the following
                                                                      information; Street1, Street2, City, State and
                                                                      Zip and ZipPlus4. DisplayLevel specifies the
                                                                      display level for the recipient, which is
                                                                      controlled by an enumerator. Display level
                                                                      could be ReadOnly, Editable or
                                                                      DoNotDisplay. Boolean element
                                                                      ReceiveInResponse specifies if the
                                                                      information needs to be returned in the
                                                                      response.
                                                                      The maximum characters or each field are:
                                                                      - Street1 and Street2: 150 characters
                                                                      - City: 50 characters
                                                                      - State: 2 characters
                                                                      - ZIP and ZIP+4: 20 characters
DoBInformationInput                DOBInformation                     Contains DOB information; date, Month and
                                                                      Year. This complex element also contains
                                                                      DisplayLevel and ReceiveInResponse
                                                                      elements.
SSN4InformationInput               SSN4Information                    The last four digits of the social security
                                                                      number of the recipient. This complex
                                                                      element also contains DisplayLevel and
                                                                      ReceiveInResponse elements.
SSN9InformationInput               SSN9Information                    Social security number of the recipient. This
                                                                      element contains the DisplayLevel. SSN9 is
                                                                      never returned in the response.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    52

Tab




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     53

Name                                   Schema Type                  Description
DocumentID                             LocalId                      This is the document on that the tab is placed
                                                                    on. Must refer to an existing Document’s ID
                                                                    attribute.
RecipientID                            LocalId                      This specifies the recipient associated with
                                                                    the tab. Must refer to an existing recipient’s ID
                                                                    attribute.
PageNumber                             nonNegativeInteger           This specifies the page number where the tab
                                                                    will be affixed.
XPosition                              nonNegativeInteger           This indicates the horizontal offset of the tab
                                                                    on the page, in a coordinate space that has
                                                                    left top corner of the document as origin.
YPosition                              nonNegativeInteger           This indicates the vertical offset of the tab on
                                                                    the page, in a coordinate space that has left
                                                                    top corner of the document as origin.
ScaleValue                             Decimal                      Represents a decimal value of 0.5 to 1.0
                                                                    position of the webcontrol scaling slider. A
                                                                    value of 1.0 represents full size and 0.5 is
                                                                    50% size.
AnchorTabItem                          AnchorTab                    This indicates Anchor tab in the document.
                                                                    See the Anchor Tab section below for details
Type                                   TabTypeCode                  TabTypeCode is a simple type enumerating
                                                                    one of the following possible values:
                                                                    InitialHere, SignHere, FullName, FirstName,
                                                                    LastName, EmailAddress, Company, Title,
                                                                    DateSigned, InitialHereOptional, EnvelopeID,
                                                                    Custom, SignerAttachment,
                                                                    SignHereOptional, Approve or Decline.
Name                                   Name                         This would be the name of the custom tab.
                                                                    Notes:
                                                                    For Type of “Custom” and CustomTabType of
                                                                    “List” the name is a “;” separated list of drop
                                                                    down list items.
TabLabel                               TabLabel                     This would be the name of the custom tab.
                                                                    This can be a maximum of 500 characters.
                                                                    Notes:
                                                                    Making custom tab’s TabLabel the same will
                                                                    cause the all like fields to update when the
                                                                    user enters data.
                                                                    For Type of “Custom” and CustomTabType of
                                                                    “Radio” make the TabLabels the same for any
                                                                    radio buttons you want to group together. The
                                                                    Name value will be what is returned for the
                                                                    radio selected in a group.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     54

Name                                   Schema Type                  Description
Value                                  Value                        This element specifies the value of the
                                                                    custom tab.
                                                                    Notes:
                                                                    For Type of “Custom” and CustomTabType of
                                                                    “List” the Value is the default selected item in
                                                                    the drop down list.
                                                                    For Type of “Custom” and CustomTabType of
                                                                    “Radio” or “Checkbox” place a “X” in this field
                                                                    to check the item by default.
CustomTabType                          CustomTabType                It tells what is represented by the tabs that
                                                                    have a TabTypeCode of Custom. Available
                                                                    custom tab types are: Text, Checkbox, Radio,
                                                                    List, Date, Number, SSN, ZIP5, ZIP5DASH4,
                                                                    Email Note and Formula.
                                                                    CustomTabType Notes:
                                                                    • List will be presented to the signer as a
                                                                          drop down list on the signing document.
                                                                          The values for a List are set in the Name
                                                                          field as “;” separated items.
                                                                    • Checkbox cannot be set as a required
                                                                          field.
                                                                    • Number, Date, SSN, ZIP5, ZIP5DASH4,
                                                                          and Email fields will be validated for
                                                                          format before the signer can complete the
                                                                          signing.
                                                                    • Text, List, Date, Number, SSN, ZIP5,
                                                                          ZIP5DASH4, and Email characters will be
                                                                          limited by the size of the field set with
                                                                          CustomTabWidth and CustomTabHeight.
CustomTabWidth                         Integer                      Width of the custom tab.
CustomTabHeight                        Integer                      Height of the custom tab.
CustomTabRequired                      Boolean                      Signer is required to fill out the custom tab if
                                                                    true. If the CustomTabType is Checkbox, this
                                                                    must be set to false.
ConcealValueOnDocument                 Boolean                      Optional element. If true the field appears
                                                                    normally while the recipient is adding or
                                                                    modifying the information in the field, but the
                                                                    data is not visible (the characters are hidden
                                                                    by asterisks) to any other signer or the
                                                                    sender.
                                                                    When an envelope is completed the
                                                                    information is available to the sender through
                                                                    the Form Data link in the DocuSign Console.
                                                                    This setting applies only to text boxes and
                                                                    does not affect list boxes, radio buttons, or
                                                                    check boxes.
CustomTabLocked                        Boolean                      Signer cannot change the data of the custom
                                                                    tab if true. If the CustomTabType is
                                                                    Checkbox, this must be set to false.



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     55

Name                                   Schema Type                  Description
CustomTabDisableAutoSize               Boolean                      Disables the auto sizing of single line text
                                                                    boxes in the signing screen when the signer
                                                                    enters data. If disabled users will only be able
                                                                    enter as much data as the text box can hold.
                                                                    By default this is false. This property only
                                                                    affects single line text boxes.
CustomTabListItems                     String                       Semicolon separated items used in the
                                                                    dropdown list for a CustomTabType of “List”.
                                                                    These values may also be specified in the
                                                                    Name node; however, this node will take
                                                                    precedence. This can be a maximum of 2000
                                                                    characters.
CustomTabListValues                    String                       For Form Field List Box type this is the semi-
                                                                    colon delimited list of values to go with the
                                                                    displayed list items set in
                                                                    CustomTabListItems or Name. These values
                                                                    are the hidden values of the drop down list
                                                                    display items. This can be a maximum of
                                                                    2000 characters.
CustomTabListSelectedValue             String                       Set this to the default selected item based on
                                                                    the CustomTabListValues. If Value is
                                                                    specified that will take precedence.
CustomTabRadioGroupName                String                       This is the group name for a set of radio
                                                                    buttons. The CustomTabType must be
                                                                    “Radio”. This may also be specified in the
                                                                    TabLabel node; however, this node will take
                                                                    precedence.
CustomTabValidationPattern             String                       For all custom tab types except radio buttons,
                                                                    checkboxes, and list items you may supply a
                                                                    regular expression that will be validated when
                                                                    data is entered in the field. This is optional
                                                                    and if not provided the default DocuSign
                                                                    validation rules will apply.
                                                                    Javascript RegEx object is used for regular
                                                                    expression validation. Regular expressions
                                                                    must be supported by this object to resolve.
CustomTabValidationMessage             String                       Message to be displayed to the signer if the
                                                                    validation rule from
                                                                    CustomTabValidationPattern fails. This is
                                                                    optional and if not provided the default
                                                                    DocuSign message will be displayed. This
                                                                    can be a maximum of 250 characters.
TemplateLocked                         Boolean                      Optional element. Used only when working
                                                                    with template tabs. If true, the attributes of the
                                                                    tab cannot be changed by the sender.
TemplateRequired                       Boolean                      Optional element. Used only when working
                                                                    with template tabs. If true, the tab cannot be
                                                                    removed by the sender.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                         56

Name                                    Schema Type                  Description
ConditionalParentLabel                  String                       Optional element. For conditional fields this is
                                                                     the TabLabel of the parent tab that controls
                                                                     this tab’s visibility.
ConditionalParentValue                  String                       Optional element. For conditional fields this is
                                                                     the Value of the parent tab that controls this
                                                                     tab’s visibility.

                                                                     If the parent tab is a Checkbox, Radio button,
                                                                     Optional Signature, or Optional Initial use “on”
                                                                     as the value to show that the parent tab is
                                                                     active.
SharedTab                               Boolean                      Optional element for field markup. When set
                                                                     to true, enables field markup for the field.
RequireInitialOnSharedTabChange         Boolean                      Optional element for field markup. When set
                                                                     to true it requires the signer to initial when
                                                                     they modify a shared field.
Font                                    Font                         The font type used for the information in the
                                                                     tab. Possible values are: Arial, ArialNarrow,
                                                                     Calibri, CourierNew, Garamond, Georgia,
                                                                     Helvetica, LucidaConsole, Tahoma,
                                                                     TimesNewRoman, Trebuchet, and Verdana.
Bold                                    Boolean                      If true, the information in the tab is bold.
Italic                                  Boolean                      If true, the information in the tab is italic.
Underline                               Boolean                      If true, the information in the tab is underlined.
FontColor                               FontColor                    The font color used for the information in the
                                                                     tab. Possible values are: Black, BrightBlue,
                                                                     BrightRed, DarkGreen, DarkRed, Gold,
                                                                     Green, NavyBlue, Purple, or White.
FontSize                                FontSize                     The font size used for the information in the
                                                                     tab. Possible values are: Size7, Size8, Size9,
                                                                     Size10, Size11, Size12, Size14, Size16,
                                                                     Size18, Size20, Size22, Size24, Size26,
                                                                     Size28, Size36, Size48, or Size72.
MergeFieldXml                           String                       Reserved for future use.
IncludeNoteInEmail                      Boolean                      If true, the text in the CustomTabType “Note”
                                                                     tab is included in the email message
                                                                     (EmailBlurb) for the recipient.
IsPaymentField                          Boolean                      When true, sets this as a payment tab. Can
                                                                     only be used with CustomTabType Text,
                                                                     Number, List or Formula. The value of the
                                                                     tab must be a number.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                      57

Name                                   Schema Type                  Description
Formula                                String                       The Formula string contains the TabLabel for
                                                                    the reference tabs used in the formula and
                                                                    calculation operators. Each TabLabel must be
                                                                    contained in brackets. This can be a
                                                                    maximum of 2000 characters.

                                                                    Example: Three tabs (TabLabels: Line1,
                                                                    Line2, and Tax) need to be added together.
                                                                    The formula string would be:
                                                                    <Formula>[Line1]+[Line2]+[Tax]</Formula>
RoundDecimalPlaces                     Integer                      Sets the number of digits after the decimal
                                                                    point in a CustomTabType Formula tab. Can
                                                                    only have the values of 0 or 2.
MaxLength                              Integer                      Sets the maximum number of characters a
                                                                    signer can enter in the tag. This is only active
                                                                    if CustomTabType is set to Text, Date,
                                                                    Number, SSN, ZIP5, ZIP5DASH4, or Email


Anchor Tab




Name                             Schema Type                        Description
AnchorTabString                  string                             Specifies string used as anchor tab in the
                                                                    document.
XOffset                          double                             This specifies tab location as XOffset position
                                                                    from the anchor tab.
YOffset                          double                             This specifies tab location as YOffset position
                                                                    from the anchor tab.
Unit                             UnitTypeCode                       Specifies units of the offset. Unit could be
                                                                    Pixels, Mms, Cms or Inches.
IgnoreIfNotPresent               Boolean                            Ignore this tab if anchor is not found in the
                                                                    document.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     58

Notification




Name                              Schema Type                        Description
UseAccountDefaults                Boolean                            Indicates whether the Account defaults for
                                                                     notifications should be used on this envelope.
Reminders                         Reminders                          ReminderEnabled: Boolean: Whether or not a
                                                                     reminder email will be sent.
                                                                     ReminderDelay: Integer: Number of days
                                                                     AFTER a person receives an envelope, that
                                                                     they will start receiving reminder emails.
                                                                     ReminderFrequency: Integer: Number of days
                                                                     to wait between reminder emails.
Expirations                       Expirations                        ExpireEnabled: Boolean: Whether or not this
                                                                     envelope is set to expire.
                                                                     ExpireAfter: Integer: Number of days
                                                                     envelope will be active.
                                                                     ExpireWarn: Integer: Number of days before
                                                                     envelope expiration, that a warning email will
                                                                     be sent. If set to 0 (zero), no warning is sent.


EnvelopeNotification
Note that there is no configuration in the Member or Administrator tools for this feature. It is driven
completely from the API and used in CreateEnvelope, CreateAndSendEnvelope,
CreateFromTemplate, and CreateAndSendFromTemplate.

Name                              Schema Type                        Description
URL                               URL                                URL to the client-supplied listener page that
                                                                     consumes the status events. The listener
                                                                     page receives the envelope status XML
                                                                     messages from DocuSign.
                                                                     An example URL is:
                                                                     http://<serverName>/<path>/Listener.aspx



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    59

Name                             Schema Type                        Description
LoggingEnabled                   Boolean                            If true, the status events are recorded in a log
                                                                    on the DocuSign site for debugging purposes.
                                                                    Note that only the 10 latest messages are
                                                                    kept.
EnvelopeEvents                   EnvelopeEvents                     An array that consists of:
                                                                    EnvelopeStatusCode: The status code on
                                                                    which to receive event modifications. Values
                                                                    are Sent, Delivered, Completed, Declined,
                                                                    and Voided.
                                                                    IncludeDocuments: Boolean: When set to
                                                                    true, the documents are delivered to the URL
                                                                    as part of the EnvelopeStatus XML.


EnvelopeStatus
EnvelopeStatus is the response element for CreateEnvelope and CreateAndSendEnvelope. See
EnvelopeStatus in the Status and Managing Group for more information about this response.

Rules for CreateAndSendEnvelope and CreateEnvelope

   API user specific rules
       •   The length of AccountId, document Name should not exceed 100 characters. Document
           password length should not exceed 50 characters.
       •   UserName, Email and access code of the recipient should not exceed 100 characters.
       •   SignatureName in SignatureInfo element should at least have one character.
           SignatureInitial should have a minimum 1 character and maximum 10 characters.
       •   Font styles supported for recipient signature are RageItalic, Mistral, BradleyHandITC,
           KaufmannBT, Freehand575 and LuciaBT.
       •   Allowed length for State attribute in address information element will be 2 characters. For
           Zip it will be 5 characters and for ZipPlus4 it will be 4 characters.
       •   Allowed length for SSN4 will be 4 characters and for SSN9 it will be 9 characters.
       •   The length of Label and Type for attachment element should not exceed 100 characters.
       •   CaptiveInfo element is used to specify if the recipient is embedded. A non-null ClientUserId
           implies that the recipient is embedded.

   Rules for determining the brandId used in an envelope:
       •   If a brandId is specified in the envelope/template and that brandId is available to the
           account, that brand is used in the envelope.
       •   If more than one template is used in an envelope and more than one brandId is specified,
           the first brandId specified is used throughout the envelope.
       •   In cases where no brand is specified and the sender belongs to a Group; if there is only
           one brand associated with the Group, then that brand is used in the envelope. Otherwise,
           the account’s default signing brand is used.



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    60

     •    For envelopes that do not meet any of the previous rules, the account's default signing
          brand is used in the envelope.

 Rules for Exceptions thrown by the API
     •    AccountId specified while creating an envelope should exist else an exception with error
          message “Account_Does_Not_Exist_In_System” is thrown.
     •    DocumentID specified in the tab element should refer to a document in the envelope else
          exception with error message “Tab_Refers_To_Missing_Document” is thrown.
     •    RecipientID specified in the tab element should refer to an existing recipients ID attribute.
          Else exception is thrown with error message “Tab_Refers_To_Missing_Recipient”.
     •    Tab is affixed to a specific page number of the document. So the document specified by
          DocumentID in the Tab element should have page number specified by PageNumber. Else
          exception “Tab_Pagenumber_Is_Not_In_Document” is thrown.
     •    The document element in the CreateEnvelope and CreateAndSendEnvelope should
          contain the encoded document. Else exception “No_Document_Received” is thrown.
     •    The Email specified in the recipient element should exist else an exception is thrown with
          error message “Invalid_Email_Address_For_Recipient”.
     •    Recipient specified by UserName and Email pair in the recipient element must exist. Else
          exception with error message “Unknown_Envelope_Recipient” is thrown.
     •    If a signer recipient has any tabs available to them in the envelope they will be required to
          have at least one signable tab in at least one of the documents. Else exception with error
          message “Signer_Recipient_Has_No_Signable_Tabs” is thrown. If the signer recipient has
          no tabs available they will be considered a freeform signer and be required to place the
          tabs themselves.
     •    Access code is used to validate recipient identity. User has to enter the access code
          specified in the recipient element in the CreateEnvelope/CreateAndSendEnvelope to prove
          his/her identity. Recipient will need to validate his/her identity even if access code is not
          specified in the recipient element if RequireIDLookup attribute is set to true. But in this
          case the identity is verified not by entering access code, but by answering a questionnaire
          correctly. If the user fails to validate his/her identity then an exception is thrown with error
          message “Recipient_Has_Failed_Security_Check”.
     •    All recipients in an envelope should have a valid routing order else an exception with error
          message “Recipient_Has_Invalid_RoutingOrder” is thrown.
     •    There is a provision for creating custom tab. But in case of custom tab both the attributes
          Name and TabLabel should be specified. If only one of the attribute is specified in the Tab
          element then an exception “CustomTab_Is_Incomplete” is thrown.
     •    Account should have API permission to utilize CreateEnvelope and
          CreateAndSendEnvelope methods. Account needs to have “InSession permission” to send
          envelopes to InSession recipients. Else an exception with error message
          “Account_Lacks_Permissions” is thrown.
     •    AccountID mentioned should not be suspended by DocuSign Administrator; else exception
          will be thrown with message “Account_Has_Been_Suspended”.




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    61

      •    If the recipient Email specified in CreateAndSendEnvelope/CreateEnvelope is already
           reserved by another then processor throws an exception with error message
           “Email_Is_Reserved”.
      •    In CreateEnvelope and CreateAndSend Envelope, the account Id is validated for pricing
           plan, if the account does not have a pricing plan then “Account_Lacks_Pricing_Plan”
           exception is thrown
      •    InSession carbon copy recipients cannot be specified in CreateAndSendEnvelope. If the
           recipient Type is CC then ClientUserID has to be null else exception
           “Captive_Carbon_Copy_Recipient_Not_Supported” will be thrown.
      •    When angle brackets are detected in the packet submitted to one of the CreateEnvelope
           APIs an exception will be thrown with message “Invalid_characters_detected.”

Sample Code

  CreateEnvelope – C#
  // Create the recipient
  DocuSignWeb.Recipient recipient = new DocuSignWeb.Recipient();
  recipient.Email = "Test email";
  recipient.UserName = "Testing account";
  recipient.Type = DocuSignWeb.RecipientTypeCode.Signer;
  recipient.ID = "1";
  recipient.RoutingOrder = 1;

  // Create the envelope content
  DocuSignWeb.Envelope envelope = new DocuSignWeb.Envelope();
  envelope.Subject = "Subject";
  envelope.EmailBlurb = "Email content";
  envelope.Recipients = new DocuSignWeb.Recipient[] { recipient };
  envelope.AccountId = accountId;

  // Attach the document(s)
  envelope.Documents = new DocuSignWeb.Document[1];
  DocuSignWeb.Document doc = new DocuSignWeb.Document();
  doc.ID = "1";
  doc.Name = "Document Name";
  doc.PDFBytes = [Location of Document];
  envelope.Documents[0] = doc;

  // Create a new signature tab
  DocuSignWeb.Tab tab = new DocuSignWeb.Tab();
  tab.DocumentID = "1";
  tab.RecipientID = "1";
  tab.Type = DocuSignWeb.TabTypeCode.SignHere;
  tab.PageNumber = "1";
  tab.XPosition = "100";
  tab.YPosition = "100";
  envelope.Tabs = new DocuSignWeb.Tab[1];
  envelope.Tabs[0] = tab;

  // Create the envelope on the account -- it will be a draft
  DocuSignWeb.EnvelopeStatus status = _apiClient.CreateEnvelope(envelope);

  // An envelope ID indicates that it succeeded
  Console.WriteLine("Envelope Id is {0}", status.EnvelopeID);




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    62

 CreateEnvelope - PHP
 // Create the recipient
 $rcp1 = new Recipient();// First recipient to put in recipient array
 $rcp1->UserName = "John Doe";
 $rcp1->Email = $Recipient1Email;
 $rcp1->Type = RecipientTypeCode::Signer;
 $rcp1->ID = "1";
 $rcp1->RoutingOrder = 1;
 $rcp1->RequireIDLookup = FALSE;

 // Create the envelope contents
 $env = new Envelope();
 $env->AccountId = $accountID; // Note: GUID should be used here rather than email
 $env->Subject = "Subject";
 $env->EmailBlurb = "testing docusign creation services";
 $env->Recipients = array($rcp1);

 // Attach the document
 $doc = new Document();
 $doc->ID = "1";
 $doc->Name = "Picture PDF";
 $doc->PDFBytes = file_get_contents("docs/picturePdf.pdf");
 $env->Documents = array($doc);

 // Create a new signature tab
 $tab = new Tab();
 $tab->DocumentID = "1";
 $tab->RecipientID = "1";
 $tab->Type = TabTypeCode::SignHere;
 $tab->PageNumber = "1";
 $tab->XPosition = "100";
 $tab->YPosition = "100";
 $env->Tabs = array($tab);

 // Create a draft envelope on the account
 $createEnvelopeparams = new CreateEnvelope();
 $createEnvelopeparams->Envelope = $env;
 $response = $api->CreateEnvelope($createEnvelopeparams);

 CreateAndSendEnvelope – C#
 // Create the recipient
 DocuSignWeb.Recipient recipient = new DocuSignWeb.Recipient();
 recipient.Email = "Test email";
 recipient.UserName = "Testing account";
 recipient.Type = DocuSignWeb.RecipientTypeCode.Signer;
 recipient.ID = "1";
 recipient.RoutingOrder = 1;

 // Create the envelope content
 DocuSignWeb.Envelope envelope = new DocuSignWeb.Envelope();
 envelope.Subject = "Subject";
 envelope.EmailBlurb = "Email content";
 envelope.Recipients = new DocuSignWeb.Recipient[] { recipient };
 envelope.AccountId = accountId;

 // Attach the document(s)
 envelope.Documents = new DocuSignWeb.Document[1];
 DocuSignWeb.Document doc = new DocuSignWeb.Document();
 doc.ID = "1";
 doc.Name = "Document Name";
 doc.PDFBytes = [Location of Document];
 envelope.Documents[0] = doc;



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     63


  // Create a new signature tab
  DocuSignWeb.Tab tab = new DocuSignWeb.Tab();
  tab.DocumentID = "1";
  tab.RecipientID = "1";
  tab.Type = DocuSignWeb.TabTypeCode.SignHere;
  tab.PageNumber = "1";
  tab.XPosition = "100";
  tab.YPosition = "100";
  envelope.Tabs = new DocuSignWeb.Tab[1];
  envelope.Tabs[0] = tab;

  // Create and send the envelope
  DocuSignWeb.EnvelopeStatus status = _apiClient.CreateAndSendEnvelope(envelope);

  // Examine the return status
  Console.WriteLine("Envelope status is {0}", status.Status);

   CreateAndSendEnvelope – PHP
  // Create the recipient
  $rcp1 = new Recipient();// First recipient to put in recipient array
  $rcp1->UserName = "John Doe";
  $rcp1->Email = $Recipient1Email;
  $rcp1->Type = RecipientTypeCode::Signer;
  $rcp1->ID = "1";
  $rcp1->RoutingOrder = 1;
  $rcp1->RequireIDLookup = FALSE;

  // Create the envelope contents
  $env = new Envelope();
  $env->AccountId = $accountID; // Note: GUID should be used here rather than email
  $env->Subject = "Subject";
  $env->EmailBlurb = "testing docusign creation services";
  $env->Recipients = array($rcp1);

  // Attach the document
  $doc = new Document();
  $doc->ID = "1";
  $doc->Name = "Picture PDF";
  $doc->PDFBytes = file_get_contents("docs/picturePdf.pdf");
  $env->Documents = array($doc);

  // Create a new signature tab
  $tab = new Tab();
  $tab->DocumentID = "1";
  $tab->RecipientID = "1";
  $tab->Type = TabTypeCode::SignHere;
  $tab->PageNumber = "1";
  $tab->XPosition = "100";
  $tab->YPosition = "100";
  $env->Tabs = array($tab);

  // Create and send the envelope
  $createAndSendEnvelopeparams = new CreateEnvelope();
  $createAndSendEnvelopeparams->Envelope = $env;
  $response = $api->CreateAndSendEnvelope($createAndSendEnvelopeparams);



CreateEnvelopeFromTemplates
CreateEnvelopeFromTemplates uses templates as the basis for the definition of a signing ceremony.
In contrast to the CreateAndSendEnvelope method, where the relationship of Tabs-to-Documents and


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     64

Tabs-to-Recipients is passed in the request, CreateEnvelopeFromTemplates derives its Tab
assignments from the pre-configured Template; and provides Recipient information to fulfill the Roles
that are specified in the Template.
When provided one or more templates, along with their supplemental Document, Recipient and
Envelope information, DocuSign will merge the various Template references into a single Envelope
and send to the Recipients.

Schema




Name                              Schema Type                        Description
TemplateReferences                TemplateReference                  Specifies the Templates that are included in
                                                                     this call. See the TemplateReference section
                                                                     below for more information.
Recipients                        Recipient                          Defines the Recipients that are included in
                                                                     this Envelope. These will be referenced from
                                                                     the RoleAssignment elements that are in
                                                                     each TemplateReference.
                                                                     The structure of a Recipient in the
                                                                     CreateEnvelopeFromTemplates method is
                                                                     similar to Recipients in other methods of the
                                                                     DocuSign Connect API. However, since
                                                                     these properties may also be specified in
                                                                     Templates that are referenced in the request,
                                                                     override rules are in place to determine the
                                                                     order of precedence of values that are
                                                                     specified in multiple places for like fields.
                                                                     For more information on the override rules of
                                                                     Recipient data over the roles specifications in
                                                                     the Template(s), see the override rules below.
                                                                     For Recipient definition refer to the Recipient
                                                                     section earlier in this document.
EnvelopeInformation               EnvelopeInformation                The structure and usage of these Envelope-
                                                                     level concepts are similar with their
                                                                     counterparts in other methods of the API.
                                                                     However, since these properties may also be
                                                                     specified in Templates that are referenced in
                                                                     the request, override rules are in place to
                                                                     determine the order of precedence of values
                                                                     that are specified in multiple places for like
                                                                     fields.
                                                                     For more information on the override rules
                                                                     see the EnvelopeInformation section below.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     65

Name                              Schema Type                        Description
ActivateEnvelope                  Boolean                            Indicates whether the Envelope should be
                                                                     sent immediately or created as a Draft
                                                                     Envelope. Defaults to “True”, where the
                                                                     Envelope will be sent.


TemplateReference
TemplateReferences contains an unbounded array of TemplateReference objects, each a self-
contained structure used to satisfy the business rules of a given template, which will be merged into
the parent Envelope.

Schema




Name                              Schema Type                        Description
TemplateLocation                  TemplateLocation                   Enumerated list of options that describe
                                                                     where the Template information resides.
                                                                     Available options include: SOAP (default),
                                                                     PDFMetaData and Server.
Template                          String                             This element will contain different values,
                                                                     depending on the value of TemplateLocation:
                                                                     “SOAP”: Template will include the Template
                                                                     XML in the format created by DocuSign
                                                                     Professional
                                                                     “PDFMetaData”: Template can be left blank.
                                                                     It will be disregarded if provided. In this
                                                                     scenario, the Template xml is contained
                                                                     within the xml portion of the PDF document.
                                                                     In either case, the Document pdfBytes can be
                                                                     removed from the Template xml to optimize
                                                                     the payload size.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     66

Name                              Schema Type                        Description
Document                          Document                           Refer to Document earlier in this document
                                                                     for details.
RoleAssignments                   RoleAssignment                     Specifies the RoleAssignments that are
                                                                     included in this call.
                                                                     RoleName – LongString - The name of the
                                                                     Role in the Template to which this Recipient
                                                                     information will be assigned
                                                                     RecipientID – positiveInteger - The Recipient
                                                                     identifier from the Recipients object that will
                                                                     fulfill this Role.
FieldData                         FieldData                          Provides the rules and/or data values that are
                                                                     used with the Template fields.
                                                                     See the FieldData section below for more
                                                                     information.
AdditionalTabs                    Tab                                Specifies any Tabs that should be added to a
                                                                     Document.
                                                                     AdditionalTabs enable the request to apply
                                                                     additional Tabs that are not configured in the
                                                                     Template. This would allow for run-time
                                                                     information to be specified as well as the
                                                                     template definitions that are specified at
                                                                     design-time. This could be used with an
                                                                     “open” Template that lacks pre-considered
                                                                     configuration in order to include ad hoc
                                                                     documents to the Envelope.
                                                                     Refer to Tab earlier in this document for
                                                                     details.
Sequence                          NonNegativeInteger                 Specifies the order that the Document(s)
                                                                     included in the Template should be presented
                                                                     in the Envelope. If not provided, the
                                                                     Documents will be presented in the order of
                                                                     the TemplateReferences.
TemplateAttachments               Attachment                         A mechanism to provide the Document object
                                                                     through a SOAP attachment.


EnvelopeInformation
The structure and usage of these Envelope-level concepts are similar with their counterparts in other
methods. However, since these properties may also be specified in Templates that are referenced in
the request, override rules are in place to determine the order of precedence of values that are
specified in multiple places for like fields. Refer to the rules section below for additional information.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     67

Schema




All fields in the EnvelopeInformation schema, except for AllowRecipientRecursion, are defined in the
Envelope section earlier in this document. The definition of AllowRecipientRecursion follows.

Name                              Schema Type                       Description
AllowRecipientRecursion           Boolean                           When set to true, this enables the Recursive
                                                                    Recipients feature and allows a recipient to
                                                                    appear more than once in the routing order.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                       68

FieldData
FieldData provides information regarding the field data that will be correlated to the fields of the
Template.

Name                              Schema Type                       Description
DataValues                        DataValue                         Provides explicit TabLabel/Value pairs that
                                                                    should be used for the field values in the
                                                                    Envelope.
                                                                    This value will take precedence over a
                                                                    similarly named PDF field if both are provided.


Rules for CreateEnvelopeFromTemplates
CreateEnvelopeFromTemplates refers to Templates to establish many of the properties of an
Envelope. However, the CreateEnvelopeFromTemplates schema also overlaps the Template
capabilities, so it is necessary to establish rules of usage and precedence to address incidents of data
collision between the values in the SOAP request and the Template(s); or between the Template(s)
themselves, since they are logically unrelated to each other. The table below describes the data
override rules of the CreateEnvelopeFromTemplates schema.

 Section                           Element                           Description
 Recipient                         ID                                RecipientID is an identifier that is used to
                                                                     correlate the Recipient instance to the
                                                                     RoleAssignment.
 Recipient                         UserName                          If allowable per the Template specification(s),
                                                                     this value will override the corresponding field
                                                                     for any role that this Recipient is assigned to.
 Recipient                         Email                             If allowable per the Template specification(s),
                                                                     this value will override the corresponding field
                                                                     for any role that this Recipient is assigned to.
 Recipient                         Type                              This value cannot override the value specified
                                                                     in the Template(s) for any role that this
                                                                     Recipient is assigned to.
 Recipient                         AccessCode                        If allowable per the Template specification(s),
                                                                     this value will override the corresponding field
                                                                     for any role that this Recipient is assigned to.
                                                                     If conflicting, non-null values are provided in
                                                                     multiple roles to which this Recipient is
                                                                     assigned, an override value must be provided
                                                                     in this structure.
 Recipient                         RequireIDLookup                   If allowable per the Template specifications,
                                                                     this value will override the corresponding field
                                                                     for any role that this Recipient is assigned to.
                                                                     If conflicting values are provided in multiple
                                                                     roles to which this Recipient is assigned, the
                                                                     value will resolve to True if it is not specified in
                                                                     this structure.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                      69

Section                           Element                           Description
Recipient                         IDCheckConfigurationName          If allowable per the Template specification(s),
                                                                    this value will override the corresponding field
                                                                    for any role that this Recipient is assigned to.
                                                                    If conflicting, non-null values are provided in
                                                                    multiple roles to which this Recipient is
                                                                    assigned, an override value must be provided
                                                                    in this structure.
Recipient                            SignatureInfo                  If allowable per the Template specification(s),
                                       .SignatureName               these values will override the corresponding
                                                                    fields for any role that this Recipient is
                                       .SignatureInitials
                                                                    assigned to.
                                       .FontStyle
                                                                    If conflicting, non-null values are provided in
                                                                    multiple roles to which this Recipient is
                                                                    assigned, override values must be provided in
                                                                    this structures.
Recipient                         CaptiveInfo                       If allowable per the Template specification(s),
                                    ClientUserId                    this value will override the corresponding field
                                                                    for any role that this Recipient is assigned to.
                                                                    If conflicting, non-null values are provided in
                                                                    multiple roles to which this Recipient is
                                                                    assigned, an override value must be provided
                                                                    in this structure.
Recipient                         CustomFields                      If allowable per the Template specification(s),
                                                                    this value will override a CustomField of the
                                                                    same name for any role that this Recipient is
                                                                    assigned to.
                                                                    If conflicting, non-null values are provided for
                                                                    the same CustomField name in multiple roles
                                                                    to which this Recipient is assigned, an
                                                                    override value must be provided in this
                                                                    structure.
Recipient                         RoutingOrder                      If allowable per the Template specification(s),
                                                                    this value will override the corresponding field
                                                                    for any role that this Recipient is assigned to.
                                                                    If conflicting, non-zero values are provided in
                                                                    multiple roles to which this Recipient is
                                                                    assigned, an override value must be provided
                                                                    in this structure.
Recipient                         IDCheckInformation                This information cannot be pre-specified in a
                                  Input                             template, so the data must be provided in this
                                                                    structure.
Recipient                         AutoNavigation                    If allowable per the Template specifications,
                                                                    this value will override the corresponding field
                                                                    for any role that this Recipient is assigned to.
                                                                    If conflicting values are provided in multiple
                                                                    roles to which this Recipient is assigned, the
                                                                    value will resolve to True if it is not specified in
                                                                    this structure.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     70

Section                           Element                           Description
Recipient                         Attachments                       If allowable per the Template specification(s),
                                                                    this value will override an attachment of the
                                                                    same name for any role that this Recipient is
                                                                    assigned to.
                                                                    If values are provided for the same
                                                                    Attachment name in multiple roles to which
                                                                    this Recipient is assigned, an override value
                                                                    must be provided in this structure.
Recipient                         Note                              If allowable per the Template specification(s),
                                                                    this value will override the corresponding field
                                                                    for any role that this Recipient is assigned to.
                                                                    If conflicting, non-null values are provided in
                                                                    multiple roles to which this Recipient is
                                                                    assigned, an override value must be provided
                                                                    in this structure.
EnvelopeInformation               EmailBlurb                        If allowable per the Template specification(s),
                                                                    this value will override the corresponding field
                                                                    if provided in a referenced Template.
                                                                    If conflicting, non-null values are provided in
                                                                    multiple referenced Templates, an override
                                                                    value must be provided in this structure.
EnvelopeInformation               Subject                           If allowable per the Template specification(s),
                                                                    this value will override the corresponding field
                                                                    if provided in a referenced Template.
                                                                    If conflicting, non-null values are provided in
                                                                    multiple referenced Templates, an override
                                                                    value must be provided in this structure.
EnvelopeInformation               SigningLocation                   If allowable per the Template specification(s),
                                                                    this value will override the corresponding field
                                                                    if provided in a referenced Template.
                                                                    If conflicting, non-null values are provided in
                                                                    multiple referenced Templates, an override
                                                                    value must be provided in this structure.
EnvelopeInformation               CustomFields                      If allowable per the Template specification(s),
                                                                    this value will override a CustomField of the
                                                                    same name if provided in a referenced
                                                                    Template.
                                                                    If conflicting, non-null values are provided in
                                                                    multiple referenced Templates for the same
                                                                    CustomField name, an override value must be
                                                                    provided in this structure.
EnvelopeInformation               VaultingOptions                   If allowable per the Template specification(s),
                                                                    this value will override the corresponding field
                                                                    if provided in a referenced Template.
                                                                    If conflicting, non-null values are provided in
                                                                    multiple referenced Templates, an override
                                                                    value must be provided in this structure.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     71

 Section                           Element                           Description
 EnvelopeInformation               AutoNavigation                    If allowable per the Template specification(s),
                                                                     this value will override the corresponding field
                                                                     if provided in a referenced Template.
                                                                     If conflicting, non-null values are provided in
                                                                     multiple referenced Templates, the value will
                                                                     resolve to True if it is not specified in this
                                                                     structure.
 EnvelopeInformation               EnvelopeIdStamping                If allowable per the Template specification(s),
                                                                     this value will override the corresponding field
                                                                     if provided in a referenced Template.
                                                                     If conflicting, non-null values are provided in
                                                                     multiple referenced Templates, the value will
                                                                     resolve to True if it is not specified in this
                                                                     structure.
 EnvelopeInformation               AuthoritativeCopy                 If allowable per the Template specification(s),
                                                                     this value will override the corresponding field
                                                                     if provided in a referenced Template.
                                                                     If conflicting, non-null values are provided in
                                                                     multiple referenced Templates, the value will
                                                                     resolve to True if it is not specified in this
                                                                     structure.


Template Execution Rules
The rules below are enforced when sending an Envelope based on a Template specification.
   •   If a Template role is specified as Optional, remove the signing instructions associated with the
       role, including all Tabs, if the role is not assigned in the CreateEnvelopeFromTemplates
       request.
   •   If any of the data override rules are violated (indicated by “must” statements in the Data
       Override descriptions), an exception is returned that describes the violation.

Rules for Mapping Data from PDF Forms
Data will be mapped from the incoming PDF form based on a direct correlation between the field
name of the Form and the TabLabel of the DocuSign Tab. Fields will only be mapped if
TransformPDFFields is set to true in the document node.
   Note: DocuSign will not transform PDF form fields that have the text "DocuSignIgnoreTransform"
   or "eSignIgnoreTransform" as part of the name of the PDF form field.
Mapping must be supported for static XFA-based PDF forms and AcroForms. The order of
preference for establishing the form type is:
   1. Derived on DocuSign server (transparent to client)
   2. Pre-configured in a DocuSign structure (i.e. design-time configuration in a template)
   3. Passed in via API request.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     72

 Rule #     Description
    1       When a PDF form is submitted, the DocuSign mapping component will interrogate the form for any
            fields and apply the data from those fields to DocuSign Form Fields of the same name.
    2       Fields from XFA-based PDF forms will be evaluated by their fully-qualified field name (ex:
            “form/customer/address/line1[0]”)
    3       The DocuSign component will map any fields that match (per the requirement above). Any fields
            that do not have a matching field (i.e. field exists in form but not in Envelope; or field exists in
            Envelope but not in form) will be disregarded by the mapping component.
    4       DocuSign form fields are limited in scope to the document that they pertain to.
    5       Edit rules for the fields must be pre-configured for the DocuSign fields (ex: editable vs. locked,
            required vs. optional, edit masks). Edit rules will not be derived by the DocuSign mapping
            component.
    6       The following field types are supported for data mapping: text boxes, check boxes, radio buttons,
            drop-down lists, text areas.
            Regarding drop-down lists and radio buttons, the data mapping is for the selected value only. The
            list of available values must be pre-configured in the DocuSign fields.


Error Rules
All errors from CreateAndSendEnvelope and CreateEnvelope apply in addition to the following:
   •    Template_Cannot_Add_Document – error thrown if the template location is set to
        PDFMetaData and the PDF bytes within the Document node of the template reference are
        invalid.
   •    Template_Not_Provided – error thrown if the template XML cannot be found in the
        PDFMetaData or TemplateReference Template node.
   •    Template_Unable_To_Load – error thrown if the template provided cannot be loaded.
   •    Template_Cannot_Add_Document – error thrown if the template and document cannot be
        loaded.
   •    Template_Unable_To_Load_FieldData – error thrown if the PDF form data exists in the PDF
        and it cannot be extracted.
   •    Template_Unable_To_Process_FieldData – error thrown if the PDF form data exists and it
        cannot be mapped properly to the recipients DocuSign Tab data.
   •    Template_Unable_To_Flatten_PDF – error thrown if the PDF form data exists and it cannot be
        flattened.
   •    Template_RoleSpecified_Does_Not_Exist – error thrown if a recipient is mapped to a role that
        does not exist in the template.
   •    Template_RecipientID_For_Role_NotFound – error thrown if a recipient ID is mapped to a role
        and the recipient ID does not exist in the template.
   •    Template_Required_Recip_Not_Satisfied – error thrown if there is a required recipient in the
        template and no recipient/role mapping satisfied the recipient.
   •    Template_To_Envelope_Error – error thrown if the template provided cannot be transformed
        to a DocuSign envelope.
   •    Template_Override_EnvelopeInformation_Error – error thrown if any items in the
        EnvelopeInformation data cannot be applied to the envelope.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    73

  •   Template_AdditionalTabs_Error – error thrown if an items in the AdditionalTabs data cannot
      be applied to the envelope.
  •   Template_Override_RecipientData_Error – error thrown if an items in the Recipient data that
      should override the template data cannot be applied to the envelope.

Sample Code

  CreateEnvelopeFromTemplates– C#
  // Create the recipient information
  DocuSignWeb.Recipient recipient = new DocuSignWeb.Recipient();
  recipient.Email = "Test email";
  recipient.UserName = "Testing account";
  recipient.Type = DocuSignWeb.RecipientTypeCode.Signer;
  recipient.ID = "1";
  recipient.RoutingOrder = 1;
  DocuSignWeb.Recipient[] recipients = new DocuSignWeb.Recipient[] { recipient };

  // Create the template reference from a server-side template ID
  DocuSignWeb.TemplateReference templateReference = new DocuSignWeb.TemplateReference();
  templateReference.Template = "Template ID";
  templateReference.TemplateLocation = DocuSignWeb.TemplateLocationCode.Server;

  // Construct the envelope information
  DocuSignWeb.EnvelopeInformation envelopeInfo = new DocuSignWeb.EnvelopeInformation();
  envelopeInfo.AccountId = _accountId;
  envelopeInfo.Subject = "Subject";
  envelopeInfo.EmailBlurb = "Email content";

  // Create draft with all the template information
  DocuSignWeb.EnvelopeStatus status = _apiClient.CreateEnvelopeFromTemplates(new
      DocuSignWeb.TemplateReference[] { templateReference }, recipients,
      envelopeInfo, false);

  // Confirm that the envelope has been assigned an ID
  Console.WriteLine("Status for envelope {0} is {1}", status.EnvelopeID, status.Status);

  CreateEnvelopeFromTemplates– PHP
  // Create the recipient
  $rcp1 = new Recipient();// First recipient to put in recipient array
  $rcp1->UserName = "John Doe";
  $rcp1->Email = $Recipient1Email;
  $rcp1->Type = RecipientTypeCode::Signer;
  $rcp1->ID = "1";
  $rcp1->RoutingOrder = 1;
  $rcp1->RequireIDLookup = FALSE;

  // Use a server-side template
  $templateRef = new TemplateReference();
  $templateRef->TemplateLocation = TemplateLocationCode::Server;
  // TODO: Replace string with the GUID of a template already uploaded to your account
  $templateRef->Template = "put in a template GUID here";

  // Construct the envelope info
  $envInfo = new EnvelopeInformation();
  $envInfo->AccountId = $AccountID;
  $envInfo->Subject = "create envelope from templates test";
  $envInfo->EmailBlurb = "testing docusign create services";

  // Send creates draft with all the template info



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     74

  $createEnvelopeFromTemplatesparams = new CreateEnvelopeFromTemplates();
  $createEnvelopeFromTemplatesparams->TemplateReferences = array($templateRef);
  $createEnvelopeFromTemplatesparams->Recipients = array($rcp1)
  $createEnvelopeFromTemplatesparams->EnvelopeInformation = $envInfo;
  $createEnvelopeFromTemplatesparams->ActivateEnvelope = false;
  $response = $api->CreateEnvelopeFromTemplates($createEnvelopeFromTemplatesparams);

CreateEnvelopeFromTemplatesAndForms
This method is used to create envelopes from a combination of a PDF form and a DocuSign
Template. Once all the data from the form is overlaid on the template the envelope is passed to the
CreateAndSendEnvelope or CreateEnvelope method. Refer to CreateAndSendEnvelope method for
the sending rules that are applied before the envelope can be sent.
This method has some similarities to the CreateEnvelopeFromTemplates method, in that both merge
documents and templates, with the primary differences to the
CreateEnvelopeFromTemplatesAndForms method being:
   •   DocuSign Tabs are extrapolated from the form itself. Instead of having to define the fields on
       a Template in advance, they can be derived from the form on the fly.
   •   Templates, which are really just partially-defined Envelopes, can be stacked over each other,
       creating a Composite Template.
   •   Templates do not need to be fully defined. For example, a template can be created to define
       only those items that cannot be derived from the form itself.

Schema




Name                              Schema Type                        Description
EnvelopeInformation               EnvelopeInformation                The envelope information structure defining
                                                                     envelope level attributes to be used. This data
                                                                     will override any data that is supplied in the
                                                                     templates.
                                                                     This information is unchanged from the
                                                                     current schema.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    75

Name                             Schema Type                        Description
CompositeTemplates               CompositeTemplate                  Each CompositeTemplate adds a new
                                                                    document and template overlays into the
                                                                    envelope. There can be any number of
                                                                    CompositeTemplate structures. Each
                                                                    CompositeTemplate consists of:
                                                                    ServerTemplates - 0 or more server-side
                                                                    templates and their position in the overlay. If
                                                                    supplied they are overlaid into the envelope in
                                                                    the order of their Sequence value.
                                                                    InlineTemplates - 0 or more inline templates
                                                                    and their position in the overlay. If supplied
                                                                    they are overlaid into the envelope in the
                                                                    order of their Sequence value.
                                                                    PDFMetaDataTemplate – 0 or 1 embedded
                                                                    template in the PDF meta data. If supplied
                                                                    the PDF meta data template will be overlaid
                                                                    into the envelope in the order of their
                                                                    Sequence value.
                                                                    Document - 0 or 1 document. The document
                                                                    is used to specify a different document than
                                                                    the ones in the overlay templates. The PDF
                                                                    fields from this document will be transformed
                                                                    to DocuSign Secure Fields if the
                                                                    TransformPdfFields option is set to true.

                                                                    Note: DocuSign will not transform PDF form
                                                                    fields that have the text
                                                                    "DocuSignIgnoreTransform" or
                                                                    "eSignIgnoreTransform" as part of the name
                                                                    of the PDF form field.

                                                                    If PDFMetaDataTemplate is supplied this is
                                                                    the document the template is extracted from.
                                                                    This information is unchanged from the
                                                                    current schema.
                                                                    For rules associated with the
                                                                    CompositeTemplate see the following section.
ActivateEnvelope                 Boolean                            Indicates whether the envelope should be
                                                                    sent immediately after being created or if it is
                                                                    created as a Draft Envelope.
                                                                    When set to “True” the envelope will be sent
                                                                    after being created.


Rules for Composite Template Usage
Each CompositeTemplate adds a new document and templates overlay into the envelope. For each
CompositeTemplate these rules are applied:
   •   Templates are overlaid in the order of their Sequence value.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    76

 •   If Document is not passed into the system, the first template’s document (based on template’s
     Sequence value) is used.
 •   Last in wins in all cases except for the document (i.e. envelope information, recipient
     information, secure field information). This was done to keep things simple. There is no
     special casing.
     For example, if you want higher security on a tab, then that needs to be specified in the last
     template in which the tab is included. If you want higher security on a role recipient it needs to
     be in the last template in which that role recipient is specified.
 •   Recipient matching is based on Recipient Role and Routing Order. If there are matches, the
     recipient information is merged together. A final pass is done on all CompositeTemplates,
     after all template overlays have been applied, to collapse recipients with the same email,
     username and routing order. This prevents having the same recipients at the same routing
     order.
 •   If you specify in a template that a recipient is locked, once that recipient is overlaid the
     recipient attributes can no longer be changed. The only items that can be changed for the
     recipient in this case are the email, username, access code and IDCheckInformationInput..
 •   Tab matching is based on Tab Labels, Tab Types and Documents. If a Tab Label matches
     but the Document is not supplied, the Tab is overlaid for all the Documents.
     For example, if you have a simple inline template with only one tab in it with a label and a
     value, the Signature, Initial, Company, Envelope ID, UserName tabs will only be matched and
     collapsed if they fall in the exact same X and Y locations.
 •   RoleName and TabLabel matching is case sensitive.
 •   A DefaultRecipient node has been introduced so that you can specify which recipient the
     generated tabs from the PDF form are mapped to. You can also set PDF form generated tabs
     to a recipient other than the DefaultRecipient by specifying the mapping of the tab label that is
     created to one of the template recipients (see the following example).
     You can also use tab label wild carding to map a series of tabs from the PDF form. To use
     this you must end a tab label with “*” and then the system matches tabs that start with the
     label (see the following example).
 •   If no DefaultRecipient is specified, tabs must be explicitly mapped to recipients in order to be
     generated from the form. Unmapped form objects will not be generated into their DocuSign
     equivalents. (In the case of Signature/Initials, the tabs will be disregarded entirely; in the case
     of pdf text fields, the field data will be flattened on the Envelope document, but there will not be
     a corresponding DocuSign data tab.)
 •   Only the FieldTypes and FieldProperties listed below are extrapolated from the forms:
     FieldTypes that are extrapolated are: CheckBox, DateTime, ListBox, Numeric, Radio, Text,
     Signature, and Password.
     Note:
     When extrapolating Adobe Digital Signatures, the following Adobe names correspond to
     DocuSign names:
     Adobe name contains DocuSignSignHere or eSignSignHere = DocuSign Signature
     Adobe name contains DocuSignSignHereOptional or eSignSignHereOptional = DocuSign
     Optional Signature


 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    77

     Adobe name contains DocuSignInitialHere or eSignInitialHere = DocuSign Initials
     Adobe name contains DocuSignInitialHereOptional or eSignInitialHereOptional = DocuSign
     Optional Initials
     Any other Adobe name will default to DocuSign Signature.


     When extrapolating Adobe text fields, the following Adobe names correspond to DocuSign
     names:
     Adobe name contains DocuSignSignHere or eSignSignHere = DocuSign Signature
     Adobe name contains DocuSignSignHereOptional or eSignSignHereOptional = DocuSign
     Optional Signature
     Adobe name contains DocuSignInitialHere or eSignInitialHere = DocuSign Initials
     Adobe name contains DocuSignInitialHereOptional or eSignInitialHereOptional = DocuSign
     Optional Initials
     Adobe name contains DocuSignEnvelopeID or eSignEnvelopeID = DocuSign EnvelopeID
     Adobe name contains DocuSignCompany or eSignCompany = DocuSign Company
     *Adobe name contains DocuSignDateSigned or eSignDateSigned = DocuSign DateSigned
     Adobe name contains DocuSignTitleor eSignTitle = DocuSign Title
     Adobe name contains DocuSignFullNameor eSignFullName = DocuSign FullName
     Any other name will default to a DocuSign data (text) field
     Note: DocuSign will not transform PDF form fields that have the text
     "DocuSignIgnoreTransform" or "eSignIgnoreTransform" as part of the name of the PDF form
     field.
     * Adobe date fields can be transformed to DocuSignDateSigned fields using the same naming
     scheme.
     FieldProperties that are extrapolated are: ReadOnly, Required, MaxLength, Positions, and
     Initial Data.

 Example:
 This example XML posted to our API would create an envelope draft where:
     •    The document included is the document used. The form fields are extracted from the
          document and turned into secure fields.
     •    The server template is applied first.
     •    The 2 inline templates are applied 2nd and 3rd.
          In the first inline template, the tabs fld1 and fld2* are matched against the tabs and the
          form fields that were converted and their values are placed into the matching tabs. The tab
          fld2* finds all tabs that have a label that starts with fld2.
     •    The PDF metadata template is applied 4th.
 <CreateEnvelopeFromTemplatesAndForms xmlns="http://www.docusign.net/API/3.0">
   <EnvelopeInformation>
     <TransactionID></TransactionID>



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    78

     <Asynchronous>false</Asynchronous>
     <AccountId>ACCOUNT ID</AccountId>
     <EmailBlurb>Test CreateEnvelopeFromTemplatesAndForms</EmailBlurb>
     <Subject>Test CreateEnvelopeFromTemplatesAndForms</Subject>
     <SigningLocation>Online</SigningLocation>
     <CustomFields>
       <CustomField>
         <Name>FromEnvelope</Name>
         <Show>true</Show>
         <Required>false</Required>
         <Value>FromEnvelope</Value>
         <CustomFieldType>Text</CustomFieldType>
       </CustomField>
     </CustomFields>
     <AutoNavigation>true</AutoNavigation>
     <EnvelopeIdStamping>true</EnvelopeIdStamping>
     <AuthoritativeCopy>false</AuthoritativeCopy>
     <EnforceSignerVisibility>false</EnforceSignerVisibility>
     <EnableWetSign>false</EnableWetSign>
     <AllowRecipientRecursion>true</AllowRecipientRecursion>
     <AllowMarkup>false</AllowMarkup>
   </EnvelopeInformation>
   <CompositeTemplates>
     <CompositeTemplate>
       <ServerTemplates>
         <ServerTemplate>
           <Sequence>1</Sequence>
           <TemplateID>TEMPLATE ID</TemplateID>
         </ServerTemplate>
       </ServerTemplates>
       <InlineTemplates>
         <InlineTemplate>
           <Sequence>2</Sequence>
           <Envelope>
             <Recipients>
               <Recipient>
                 <ID>1</ID>
                 <UserName>User Name 1</UserName>
                 <Email>user.name_1@myemail.com </Email>
                 <Type>Signer</Type>
                 <AccessCode />
                 <RequireIDLookup>false</RequireIDLookup>
                 <RoutingOrder>1</RoutingOrder>
                 <Note />
                 <RoleName>SignerOne</RoleName>
                 <DefaultRecipient>true</DefaultRecipient>
               </Recipient>
               <Recipient>
                 <ID>2</ID>
                 <UserName>User Name 2</UserName>
                 <Email>user.name_2@myemail.com</Email>
                 <Type>Signer</Type>
                 <AccessCode />
                 <RequireIDLookup>false</RequireIDLookup>
                 <RoutingOrder>2</RoutingOrder>
                 <Note />
                 <RoleName>SignerTwo</RoleName>
               </Recipient>
               <Recipient>
                 <ID>3</ID>
                 <UserName>User Name 3</UserName>
                 <Email>user.name_3@myemail.com</Email>
                 <Type>Signer</Type>
                 <AccessCode />



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    79

                    <RequireIDLookup>false</RequireIDLookup>
                    <RoutingOrder>1</RoutingOrder>
                    <Note />
                    <RoleName>SignerThree</RoleName>
                  </Recipient>
                  <Recipient>
                    <ID>4</ID>
                    <UserName>User Name 4</UserName>
                    <Email>user.name_4@myemail.com </Email>
                    <Type>Signer</Type>
                    <AccessCode />
                    <RequireIDLookup>false</RequireIDLookup>
                    <RoutingOrder>2</RoutingOrder>
                    <Note />
                    <RoleName>SignerOne</RoleName>
                  </Recipient>
                </Recipients>
                <Tabs>
                  <Tab>
                    <DocumentID>1</DocumentID>
                    <RecipientID>1</RecipientID>
                    <PageNumber>1</PageNumber>
                    <XPosition>12</XPosition>
                    <YPosition>10</YPosition>
                    <ScaleValue>1.00000</ScaleValue>
                    <Type>SignHere</Type>
                    <Name>SignHere</Name>
                    <TabLabel>Sign Here 1</TabLabel>
                    <Value />
                    <CustomTabHeight>0</CustomTabHeight>
                    <CustomTabRequired>false</CustomTabRequired>
                    <CustomTabLocked>false</CustomTabLocked>
                    <CustomTabDisableAutoSize>false</CustomTabDisableAutoSize>
                    <TemplateLocked>false</TemplateLocked>
                    <TemplateRequired>false</TemplateRequired>
                  </Tab>
                  <Tab>
                    <RecipientID>2</RecipientID>
                    <TabLabel>fld1</TabLabel>
                    <Value>From Inline Template</Value>
                    <Type>Custom</Type>
                  </Tab>
                  <Tab>
                    <RecipientID>2</RecipientID>
                    <TabLabel>fld2*</TabLabel>
                    <Value>Wild card from Inline Template</Value>
                    <Type>Custom</Type>
                  </Tab>
                </Tabs>
                <Subject>Sample Form</Subject>
                <EmailBlurb />
                <SigningLocation>Online</SigningLocation>
                <CustomFields>
                  <CustomField>
                    <Name>Custom Field</Name>
                    <Show>True</Show>
                    <Required>True</Required>
                    <Value />
                  </CustomField>
                  <CustomField>
                    <Name>Custom Field List</Name>
                    <Show>True</Show>
                    <Required>True</Required>
                    <Value />



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    80

                  <CustomFieldType>List</CustomFieldType>
                  <ListItems>One; Two; Three</ListItems>
                </CustomField>
              </CustomFields>
              <AutoNavigation>false</AutoNavigation>
              <EnvelopeIdStamping>false</EnvelopeIdStamping>
              <AuthoritativeCopy>false</AuthoritativeCopy>
              <Notification>
                <Reminders>
                  <ReminderEnabled>false</ReminderEnabled>
                  <ReminderDelay>0</ReminderDelay>
                  <ReminderFrequency>0</ReminderFrequency>
                </Reminders>
                <Expirations>
                  <ExpireEnabled>true</ExpireEnabled>
                  <ExpireAfter>120</ExpireAfter>
                  <ExpireWarn>0</ExpireWarn>
                </Expirations>
              </Notification>
              <EnableWetSign>true</EnableWetSign>
            </Envelope>
          </InlineTemplate>
          <InlineTemplate>
            <Sequence>3</Sequence>
            <Envelope>
              <Recipients>
                <Recipient>
                  <ID>1</ID>
                  <UserName>User Name 1</UserName>
                  <Email>user.name_1@email.com</Email>
                  <Type>Signer</Type>
                  <AccessCode />
                  <RequireIDLookup>false</RequireIDLookup>
                  <RoutingOrder>1</RoutingOrder>
                  <Note />
                  <RoleName>SignerOne</RoleName>
                  <DefaultRecipient>true</DefaultRecipient>
                </Recipient>
              </Recipients>
              <Tabs>
                <Tab>
                  <DocumentID>1</DocumentID>
                  <RecipientID>1</RecipientID>
                  <PageNumber>2</PageNumber>
                  <XPosition>12</XPosition>
                  <YPosition>10</YPosition>
                  <ScaleValue>1.00000</ScaleValue>
                  <Type>SignHere</Type>
                  <Name>SignHere</Name>
                  <TabLabel>Sign Here 1</TabLabel>
                  <Value />
                  <CustomTabHeight>0</CustomTabHeight>
                  <CustomTabRequired>false</CustomTabRequired>
                  <CustomTabLocked>false</CustomTabLocked>
                  <CustomTabDisableAutoSize>false</CustomTabDisableAutoSize>
                  <TemplateLocked>false</TemplateLocked>
                  <TemplateRequired>false</TemplateRequired>
                </Tab>
              </Tabs>
            </Envelope>
          </InlineTemplate>
        </InlineTemplates>
        <PDFMetaDataTemplate>
          <Sequence>4</Sequence>



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     81

         </PDFMetaDataTemplate>
         <Document>
            <ID>1</ID>
            <Name>Form Document</Name>
            <PDFBytes>PDF_BYTES_GO_HERE</PDFBytes>
            <TransformPdfFields>true</TransformPdfFields>
            <FileExtension>pdf</FileExtension>
         </Document>
       </CompositeTemplate>
       <!--
       Add another composite template to the mix
       <CompositeTemplate>
         <ServerTemplates>
         ....
         <InlineTemplates>
         ...
         </InlineTemplates>
         <PDFMetaDataTemplate>
         ...
         </PDFMetaDataTemplate>
         <Document>
            ...
         </Document>
       </CompositeTemplate>
       -->
     </CompositeTemplates>
     <ActivateEnvelope>false</ActivateEnvelope>
   </CreateEnvelopeFromTemplatesAndForms>


EnvelopeInformation
This is the Envelope-level information that overlays the information from the Templates. The structure
and usage of these Envelope-level concepts are unchanged from the current schema.

Document
The document is used to specify a different document than the ones in the overlay templates. This
structure and usage of the Document-level concepts are unchanged from the current schema.

Recipient
The Recipient element is used to specify envelope recipients. This structure and usage of the
Recipient-level concepts are similar to the current schema with the addition off the DefaultRecipient
element.

Name                              Schema Type                       Description
DefaultRecipient                  Boolean                           This specifies which recipient the generated
                                                                    tabs from the PDF from would be mapped to.
                                                                    When set to “True” this recipient is the default
                                                                    recipient and generated tabs are mapped to
                                                                    this recipient.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     82

ServerTemplate
Sets the server-side templates that are overlaid in the envelope and the order in which the template is
used.

Name                              Schema Type                       Description
Sequence                          positiveInteger                   Sets the order in which the template is applied.

TemplateID                        String                            Unique identifier of the template.


InlineTemplate
Sets the inline template envelopes that are applied and the order in which it is used.

Name                              Schema Type                       Description
Sequence                          positiveInteger                   Sets the order in which the template is applied.
Envelope                          Envelope                          The inline template envelope information.


PDFMetaDataTemplate
Sets the PDF embedded templates that are overlaid into the envelope and the order in which it is
used.

Name                              Schema Type                       Description
Sequence                          positiveInteger                   Sets the order in which the template is applied.
The naming convention for PDF Metadata is:
   •   PDF Metadata Prefix = DocuSign
   •   PDF Metadata Schema = Envelope
The embedded template needs to be in DocuSign server template format.
For more information about using the XMP layer to include MetaData, refer to the Adobe XMP
Specification document Adding Intelligence to Media.

Sample Code

   CreateEnvelopeFromTemplatesAndForms – C#
   // Configure the envelope information
   DocuSignWeb.EnvelopeInformation envelopeInfo = new DocuSignWeb.EnvelopeInformation();
   envelopeInfo.AccountId = _accountId;
   envelopeInfo.EmailBlurb = "testing docusign creation services";
   envelopeInfo.Subject = "create envelope from templates and forms test";
   DocuSignWeb.CompositeTemplate template = new DocuSignWeb.CompositeTemplate();

   DocuSignWeb.Recipient recipient1 = new DocuSignWeb.Recipient();
   recipient1.UserName = "SignerOne";
   // TODO: replace the email string with an actual email
   recipient1.Email = "test email one";
   recipient1.Type = DocuSignWeb.RecipientTypeCode.Signer;
   recipient1.RequireIDLookup = false;
   recipient1.RequireIDLookupSpecified = true;
   recipient1.RoutingOrder = 1;
   recipient1.RoutingOrderSpecified = true;



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    83

 recipient1.RoleName = "One";
 recipient1.ID = "1";

 DocuSignWeb.Recipient recipient2 = new DocuSignWeb.Recipient();
 recipient2.UserName = "Signer2";
 // TODO: replace the email string with an actual email
 recipient2.Email = "test email two";
 recipient2.Type = DocuSignWeb.RecipientTypeCode.Signer;
 recipient2.RequireIDLookup = false;
 recipient2.RequireIDLookupSpecified = true;
 recipient2.RoutingOrder = 2;
 recipient2.RoutingOrderSpecified = true;
 recipient2.RoleName = "Two";
 recipient2.ID = "2";

 DocuSignWeb.Recipient[] signers = { recipient1, recipient2 };

 // Configure the inline templates
 DocuSignWeb.InlineTemplate inlineTemplate = new DocuSignWeb.InlineTemplate();
 inlineTemplate.Sequence = "1";
 inlineTemplate.Envelope = new DocuSignWeb.Envelope();
 inlineTemplate.Envelope.Recipients = signers;
 inlineTemplate.Envelope.AccountId = _accountId;

 // This tab matches the DateSigned tab assigned to recipient one
 DocuSignWeb.Tab tab1 = new DocuSignWeb.Tab();
 tab1.RecipientID = "1";
 tab1.TabLabel = "DocuSignDateSignedOne";
 tab1.Type = DocuSignWeb.TabTypeCode.DateSigned;

 // This tab matches the SignHere tabs assigned to recipient two
 DocuSignWeb.Tab tab2 = new DocuSignWeb.Tab();
 tab2.RecipientID = "2";
 tab2.TabLabel = "SignTwo*";
 tab2.Type = DocuSignWeb.TabTypeCode.SignHere;

 // This tab matches the SignHere tabs assigned to recipient one
 DocuSignWeb.Tab tab3 = new DocuSignWeb.Tab();
 tab3.RecipientID = "1";
 tab3.TabLabel = "SignOne*";
 tab3.Type = DocuSignWeb.TabTypeCode.SignHere;

 // This tab matches the DateSigned tab assigned to recipient two
 DocuSignWeb.Tab tab4 = new DocuSignWeb.Tab();
 tab4.RecipientID = "2";
 tab4.TabLabel = "DocuSignDateSignedTwo";
 tab4.Type = DocuSignWeb.TabTypeCode.DateSigned;

 // This tab matches nothing -- but that's okay!
 // It will just get discarded
 DocuSignWeb.Tab tab5 = new DocuSignWeb.Tab();
 tab5.RecipientID = "1";
 tab5.TabLabel = "asdf";
 tab5.Type = DocuSignWeb.TabTypeCode.FullName;

 inlineTemplate.Envelope.Tabs = new DocuSignWeb.Tab[] { tab1, tab2, tab3, tab4, tab5 };

 template.InlineTemplates = new DocuSignWeb.InlineTemplate[] { inlineTemplate };

 // Configure the document
 template.Document = new DocuSignWeb.Document();
 template.Document.ID = "1";
 template.Document.Name = "Form Document";
 template.Document.PDFBytes = <Test Document>;



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    84

 template.Document.TransformPdfFields = true;
 template.Document.FileExtension = "pdf";

 // Create draft with all the composite template information
 DocuSignWeb.EnvelopeStatus status =
     _apiClient.CreateEnvelopeFromTemplatesAndForms(envelopeInfo,
     new DocuSignWeb.CompositeTemplate[] { template }, false);

 CreateEnvelopeFromTemplatesAndForms – PHP
 // Configure and envelope information
 $envInfo = new EnvelopeInformation();
 $envInfo->AccountId = $AccountID;
 $envInfo->EmailBlurb = "testing docusign creation services";
 $envInfo->Subject = "create envelope from templates and forms sample";

 $recipient1 = new Recipient();
 $recipient1->UserName = "SignerOne";
 // TODO: replace email string with actual email
 $recipient1->Email = "test email 1";
 $recipient1->Type = RecipientTypeCode::Signer;
 $recipient1->RequireIDLookup = FALSE;
 $recipient1->RoutingOrder = 1;
 $recipient1->RoleName = "One";
 $recipient1->ID = "1";

 $recipient2 = new Recipient();
 $recipient2->UserName = "SignerTwo";
 // TODO: replace email string with actual email
 $recipient2->Email = "test email 2";
 $recipient2->Type = RecipientTypeCode::Signer;
 $recipient2->RequireIDLookup = FALSE;
 $recipient2->RoutingOrder = 2;
 $recipient2->RoleName = "Two";
 $recipient2->ID = "2";

 $signers = array($recipient1, $recipient2);

 // Build template
 $inlineTemplate = new InlineTemplate();
 $inlineTemplate->Sequence = "1";
 $env = new Envelope();
 $env->Recipients = $signers;
 $env->AccountId = $AccountID;

 // This tab matches the DateSigned tab assigned to recipient one
 $tab1 = new Tab();
 $tab1->RecipientID = "1";
 $tab1->TabLabel = "DocuSignDateSignedOne";
 $tab1->Type = TabTypeCode::DateSigned;

 // This tab matches the SignHere tabs assigned to recipient two
 $tab2 = new Tab();
 $tab2->RecipientID = "2";
 $tab2->TabLabel = "SignTwo*";
 $tab2->Type = TabTypeCode::SignHere;

 // This tab matches the SignHere tabs assigned to recipient one
 $tab3 = new Tab();
 $tab3->RecipientID = "1";
 $tab3->TabLabel = "SignOne*";
 $tab3->Type = TabTypeCode::SignHere;

 // This tab matches the DateSigned tab assigned to recipient two


 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     85

  $tab4 = new Tab();
  $tab4->RecipientID = "2";
  $tab4->TabLabel = "DocuSignDateSignedTwo";
  $tab4->Type = TabTypeCode::DateSigned;

  // This tab matches nothing -- but that's okay!
  // It will just get discarded
  $tab5 = new Tab();
  $tab5->RecipientID = "1";
  $tab5->TabLabel = "asdf";
  $tab5->Type = TabTypeCode::FullName;

  $env->Tabs = array($tab1, $tab2, $tab3, $tab4, $tab5);

  $inlineTemplate->Envelope = $env;
  $template = new CompositeTemplate();
  $template->InlineTemplates = array($inlineTemplate);

  // Configure the document
  $doc = new Document();
  $doc->ID = "1";
  $doc->Name = "Form Document";
  $doc->PDFBytes = file_get_contents("docs/LoremIpsum.pdf");
  $doc->TransformPdfFields = true;
  $doc->FileExtension = "pdf";
  $template->Document = $doc;

  // Send
  $params = new CreateEnvelopeFromTemplatesAndForms();
  $params->EnvelopeInformation = $envInfo;
  $params->CompositeTemplates = array($template);
  $params->ActivateEnvelope = false;
  $response = $api->CreateEnvelopeFromTemplatesAndForms($params);


SendEnvelope
This method is used to send draft envelopes. Refer to CreateAndSendEnvelope method for the
sending rules that will be applied before the envelope can be sent.

Schema




Name                              Schema Type                       Description
EnvelopeId                        DSXId                             Envelope Id to be sent for signature.
AccountId                         DSXId                             Account Id of the user who created the
                                                                    envelope


Sample Code

   SendEnvelope – C#
  // Create envelope as shown in linked code
  DocuSignWeb.Envelope envelope = <create envelope>;



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     86


  // Send the envelope
  DocuSignWeb.EnvelopeStatus sendStatus = _apiClient.SendEnvelope(status.EnvelopeID,
  _accountId);
  // Examine the return status
  Console.WriteLine("Envelope status is {0}", sendStatus.Status);

   SendEnvelope – PHP
  // Create envelope as shown in linked code
  $response = <create envelope>;
  $envStatus = $response->CreateEnvelopeResult;

  // Send
  $sendEnvelopeparams = new SendEnvelope();
  $sendEnvelopeparams->AccountId = $AccountID;
  $sendEnvelopeparams->EnvelopeId = $envStatus->EnvelopeID;
  $response = $api->SendEnvelope($sendEnvelopeparams);

RequestSenderToken
This method is used to get a onetime use login token that allows the user to be placed into the
DocuSign sending wizard. Upon sending completion the user is returned to the return URL provided
by the API application.

Schema




Name                              Schema Type                       Description
EnvelopeID                        string                            Optional envelope ID. If provided the user will
                                                                    be placed into the envelope in process. If left
                                                                    blank the user will be placed into a new
                                                                    envelope for sending.
AccountID                         String                            DocuSign account ID to map the envelope to.
ReturnURL                         String                            URL to send the user to upon completion of
                                                                    the sending process. The URL will have an
                                                                    event passed to it as a query parameter. The
                                                                    parameter will be named “event”, see “In-
                                                                    session sending events” below for description
                                                                    of the valid events. The DocuSign Envelope Id
                                                                    will also be returned in the “envelopeId”
                                                                    parameter.


In-Session Sending Events
Events returned on the ReturnURL as a query string parameter. The event is sent in the parameter
named “event”. The ReturnURL is called with the event on any completion state of the envelope send.
Valid events can be found in the schema type InSessionSendEvent in the DocuSign API XSD.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     87


Event           Description
Send            User sends the envelope
Save            User saves a draft of the envelope
Cancel          User cancels the sending transaction. No envelope ID returned.
Error           Error performing the send.
SessionEnd      Sending session ended before the user completed.

Rules and Exceptions RequestSenderToken
   •     User_Does_Not_Exist_In_System – API user requesting the sending token URL does not
         have access to the system.
   •     Account_Does_Not_Exist_In_System – Account is not valid.
   •     Account_Lacks_Permissions – API user requesting the sending token URL does not have
         valid API permissions.
   •     User_Lacks_Membership – user is not a valid member of the account.
   •     User_Not_Envelope_Sender – user is not a valid sender in the account.
   •     Envelope_Does_Not_Exist – if envelope ID is provided, envelope ID does not exist.
   •     Account_Not_Authorized_For_Envelope – if envelope ID is provided, account is not valid for
         the envelope.

Anchor Based Tagging
This section outlines the usage rules and behaviors of the DocuSign Anchor-Based Tagging feature.
Anchor-Based Tagging enables a DocuSign customer to send documents for signature that do not
have a fixed layout or format. In these documents, you can not anticipate the absolute location of the
tabs when you design your API client application because the tabs must move with text. As an
alternative to sending X and Y coordinates for tabs, the DocuSign Signing Service derives anchor tab
locations by correlating XML instructions from the SOAP request to data within the document.

Using Anchor Tabs
Anchor tab solutions require a coordinated map between the Anchor data and the document(s) in the
CreateEnvelope/CreateAndSendEnvelope SOAP request. When the DocuSign Signing Service
receives a request that contains anchor tabs, it searches the document for instances of the
AnchorTabString. When found, it places a tab of the specified type for the designated recipient. Tab
positions are established by committing the Anchor offset values relative to the lower left point of the
AnchorTabString.
When you apply tabs to the document, DocuSign does not remove or replace the AnchorTabString.
You can hide codified anchors by using the same font color as the background of the document.
While the anchor can be used by DocuSign processes, it will not be visible on the document.
To create an anchor tab:
   1. Identify the location in the document by text string. Use either a preexisting text string or add a
         new one.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     88

       For example, “Borrower’s Signature” might already exist in the document. If not, you could add
       the text string, “BorrowersSignHere”.
   2. Reference the anchor through the AnchorTabString element of the SOAP request of the
       CreateEnvelope/CreateAndSendEnvelope request.
   3. Determine the offset from the AnchorTabString location to where the tab should be placed.
       The bottom-left of the AnchorTabString is equivalent to position (0,0), and the bottom-left of
       the tab graphic is placed relative to that. Positive XOffset values move the tab right on the
       page and positive Yoffset values move the tab up on the page.
       DocuSign does not currently provide tools to derive the offset values. Determination of the
       proper offset will likely require some trial-and-error.

Rules for Anchor Tagging
There are both API user specific rules and rules for the exceptions thrown by the processor.

   API user specific rules
       •    The Tab node must contain the RecipientID which refers to an existing recipient and Tab
            Type (signature, initial etc). Else, the XML validation fails and a Validation error exception
            is thrown.
       •    If the Anchor node is initialized, then the AnchorTabString must be specified. Else, the
            XML validation fails and a Validation error exception is thrown.
       •    The AnchorTabString specified in the SOAP envelope must be included at least once in
            the corresponding document of the envelope.
       •    API users who do not use the anchor-based tabs do not make any changes.
       •    The user can decide the format of the AnchorTabString. DocuSign tabs are created for
            each instance of the AnchorTabString within the document, so special care must be taken
            to establish unique AnchorTabStrings that do not result in unintentional tabs.
       •    The API user only needs to list the anchor tab in the XML once and map it to a recipient
            and tab type. The tab is placed for the recipient in each instance that the anchor tab
            appears in the document(s).
       •    The API user cannot use the same anchor tab for different recipients for the same
            document.
       •    The API user cannot use a text string in an Image PDF.
       •    The allowed offset units are: pixels, millimeters, centimeters or inches. If not specified, the
            default unit is pixels.
       •    X or Y offsets supplied for a tab apply to all instances of the tab in the document.
       •    To use different offsets at different locations in the document for the same recipient, create
            multiple, unique anchor tabs.

   Rules for Exceptions thrown by the API
       •    The anchor tab specified by the user must exist in the corresponding document of the
            envelope. Else, the processor throws an exception with the error message
            “Anchor_Tab_String_Not_Found”. The error message includes the list of anchor tabs that
            are not found.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    89

     •    The X and Y offset values must not extend a tab beyond the boundaries of the page. Else,
          the processor throws an exception with the error message “Invalid_User_Offset”. The error
          message includes the X or Y offset that resulted in the exception.
     •    The API user must not use the same tab for different recipients for the same document.
          Nor can the API user use the same tab for different tab types. After the tab is used once,
          the processor throws an exception with the error “Invalid_Anchor_Tab_String”. The error
          message indicates that the user can not map an anchor tab for different recipients or tab
          types.

 Known Limitations
     •    The processor cannot search text that is embedded in an image.
     •    The processor does not support an AnchorTabString embedded in the form of a PDF X-
          object in the document.
     •    The processor does not re-flow the text that surrounds the anchor tabs. It is the
          responsibility of the document author to provide sufficient whitespace to contain the
          potential width of the ultimate tab value.

 Tips and Tricks
 The following are tips for effective use of Anchor Based Tagging:
     •    In order to avoid unintentional conflicts between AnchorTabStrings and the text that
          naturally exists in documents, establish a codified syntax for AnchorTabStrings that is
          unlikely to otherwise appear in a document.
     •    Develop an extensible and consistent syntax that can be used across multiple document
          types. i.e. [RecipientIdentifier.TabType.TabQualifier]. Examples of this syntax might
          include [R1.InitialHere] or [CoSign1.Custom.SSN].
     •    Especially for documents that have variable numbers of tabs or signers (ex: optional Co-
          signers), author the source document to include hidden anchor tabs for all potential
          signers/permutations. Then, control the tabs that are actually placed by including/excluding
          the Anchors in the XML request. This approach allows a single document to be used for all
          use cases instead of maintaining separate documents for each scenario.




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     90

Embedding Function Group
This section describes the principles and methods involved in implementing a DocuSign Connect API
integration using the Embedded Signing interaction pattern for recipients. In this section, we specify
methods, processes and exceptions that deviate from typical API integration concepts.
Embedded Signing is a departure from the default “Remote Signer” pattern, in which DocuSign
brokers the communication with envelope Recipients via system-generated emails containing links to
activate the viewing and signing process. Embedded Signing, in contrast, enables a API client
application to maintain its connection with envelope Recipients by incorporating the DocuSign Signing
Service directly into its process flow. The functional result is a more fluid document transaction and
more transparent feature extension of the client application.
This tighter integration with DocuSign imposes additional technical and functional burdens on the
client application, including addressing security, legal, and user experience requirements that are
engineered into the DocuSign application in the Remote Signer pattern.
 Important: DocuSign recommends that you do not use iFrames for embedded signing on mobile
 devices.

Embedded Signing Functional Process Flow
This overview of a typical embedded document-signing transaction should familiarize DocuSign
Connect API users with terms and process. It is not a faithful reproduction of how the process is
implemented on the web site or in the API. In this use case, a web user applies for credit from an
online lending source that provides an instant credit decision and electronic signature services.




Captive Recipients
The Embedded Signing pattern introduces a new class of recipients referred to as Captive Recipients.
Captive refers to the exclusive relationship between the recipient and the sending account. In
contrast, non-Captive Recipients are DocuSign-global entities that can have recipient relationships
with an unlimited number of senders. Characteristics of Captive Recipients are that they:


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     91

   •   Are identified by their FirstName, LastName, Email, sending account, and optionally a sender-
       provided ClientUserID.
   •   Have an exclusive relationship with their sending account. If another DocuSign customer has
       sent documents to the same person, either as a Remote or Captive Recipient, the recipient
       information is not related in any way.
   •   Can access DocuSign content only via their sending account’s application; they cannot login
       directly to DocuSign.
   •   Do not have access to the DocuSign Member Console.
   •   Do not receive email notifications from DocuSign, except in cases specifically called out in this
       document.
   •   Cannot be aware that they have an account in DocuSign.
Captive Recipients can co-exist with Remote Recipients on a single envelope, but they cannot switch
modalities after they are created. A Captive Recipient cannot be converted to a Remote Recipient at
any point in the process. This is important to recognize during the client solution design phase, as
DocuSign must know how a Recipient will interact with the client application at the time the envelope
is created.

DocuSign Integration
Three distinct operational areas characterize Embedded Signing API integration:
   •   Pre-DocuSign Operations – Operations within the client application relating to creating the
       Envelope and navigating the Captive Recipient into the DocuSign-hosted pages.
   •   DocuSign Operations – Operations include displaying Consumer disclosure, Signature
       display and selection.
   •   Post-DocuSign Operations – Client-hosted pages that the Captive Recipient is redirected to
       upon reaching a terminal state in the DocuSign user experience.

Pre-DocuSign Operations

   Creating the envelope
   Creating envelops for Embedded Recipients parallels the Remote Recipient model. But the
   sender needs to specify if the recipient is Remote or Embedded. Sender can do this by using
   ClientUserId. A non-null ClientUserId implies that user is Embedded. A single envelope can
   contain both Embedded and Remote Recipients.

   Requesting Recipient Tokens
   DocuSign constrains access to the Embedded signature process via short-lived Recipient Tokens.
   Successful token requests return an URL that will invoke the DocuSign signing wizard for a
   particular envelope and Embedded Recipient.
   Important: DocuSign recommends that you do not use iFrames for embedded signing on mobile
   devices.
   There are two types of recipient tokens available:
   •   RequestRecipientToken: This token returns a URL to invoke a DocuSign signing session
       where the signer completes the signing process online.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    92

 •   RequestRecipientFaxToken: This token returns a URL to invoke a DocuSign signing session
     where the signer is required to print out and sign documents. The documents are then
     returned to DocuSign by fax or upload.
 This section describes the token methods and the behaviors.
 The RequestRecipientToken and RequestRecipientFaxToken methods use the format and rules,
 and are divided into three sections: Entity Identification, Authentication Assertions and
 InSessionCallBackURL.

 Schema




 Entity Identification
 The following parameters identify the Envelope and Captive Recipient for which the Recipient
 Token is requested:


 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    93

 •   EnvelopeID – The DocuSign-generated value contained in the EnvelopeStatus object
     returned from the CreateAndSendEnvelope method. This parameter identifies the Envelope.
 •   ClientUserID – The value that specifies if the recipient is Remote or Embedded
 •   UserName – Specifies the username of the recipient
 •   Email - Specifies the Email of the recipient.
 The Username and Email identifies a unique recipient and ClientUserID specifies if the recipient is
 Embedded or Remote. All the three parameter together identifies a Captive Recipient. All values
 must exist and correlate to a valid Envelope/Embedded Recipient entity relationship in order for
 the RequestRecipientToken request to succeed.

 Authentication Assertions
 DocuSign acts as a Single Sign-On consumer to the API client application in the Embedded
 Signing model. That is, DocuSign trusts that the client application authenticated the end-user
 sufficiently to establish their identity and offer documents to sign or view. This is critical to the
 seamless integration between the two applications, and it is necessary since DocuSign has no
 interaction with the end-user prior to displaying the documents. However, even though the trust
 relationship does not include a DocuSign-verification of the user identity, DocuSign requires the
 client application to assert that it has authenticated the end-user through some means. This
 assertion is communicated through the following parameters:
 •   AssertionID – A unique identifier of the authentication event executed by the client
     application.
 •   AuthenticationInstant – The date/time that the end-user was authenticated.
 •   AuthenticationMethod – The convention used to authenticate the end-user.
 •   SecurityDomain – The domain to which the user authenticated.
 An entry is added into the Security Level section of the DocuSign Signing Certificate that reflects
 the “SecurityDomain – AuthenticationMethod” used to verify the user identity. Additional identity
 verification within DocuSign is optionally available through the ID Check and Access Code
 features.

 ClientURLs
 Client application will have the option of setting Client URLs to be called on specific DocuSign
 events. DocuSign redirects the Recipient to the URL.
 If you want an “event” parameter or any other parameters, you MUST provide them in the callback
 URL. No parameters are added by DocuSign. The valid values are listed in Embedded Callback
 Event Codes.

 XML Signing
 It is recommended that embedded clients sign the body of the RequestRecipientToken message
 with a valid X.509 certificate. This process supports the Single Sign-On trust relationship between
 DocuSign and the client application. Client organizations must provide DocuSign with the
 certificate’s Common Name (CN) during the implementation phase so that DocuSign can validate
 the XML signature. Supported certificate authorities are VeriSign and Thawte.




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    94

  Expiration
  •   Recipient Tokens expire five minutes after they are issued by DocuSign. If a Recipient Token
      URL is invoked after it is expired, the user is re-directed to the Callback URL specified in the
      RequestRecipientToken request with event code TTLExpired.
  •   Recipient Tokens expire upon being successfully invoked.
  •   Active Recipient Tokens expire if the envelope is voided.
  •   Five minutes is the default "Time to Live" for Recipient tokens. This is a configurable setting.

  Signing vs. Viewing Documents
  Recipient Tokens must be requested (and returned) in order to sign or to view envelope
  documents. The DocuSign web application renders the view that is appropriate to the state of the
  envelope for the Recipient. The logic is as follows:
  •   If Recipient has uncompleted signing actions, DocuSign will present documents in Sign mode.
  •   If Recipient has completed all signing actions, DocuSign will present documents in View mode.
  •   If Recipient has uncompleted signing actions and the envelope has been declined by another
      Recipient, then the remaining recipients will not be able to view the envelope.
  •   If the sender has voided the envelope no recipient will be able to view or sign document.

Sample Code

  RequestRecipientToken – C#
  // Create envelope as shown in linked code
  DocuSignWeb.Envelope envelope = <create envelope>;

  // Need to specify captive info for these recipients
  envelope.Recipients[0].CaptiveInfo = new DocuSignWeb.RecipientCaptiveInfo();
  envelope.Recipients[0].CaptiveInfo.ClientUserId = "User1";

  DocuSignWeb.EnvelopeStatus status = _apiClient.SendEnvelope(envelope);

  // Construct the recipient token authentication assertion
  // Specify ID, start time, method and domain
  DocuSignWeb.RequestRecipientTokenAuthenticationAssertion assertion
      = new DocuSignWeb.RequestRecipientTokenAuthenticationAssertion();
  assertion.AssertionID = new Guid().ToString();
  assertion.AuthenticationInstant = DateTime.Now;
  assertion.AuthenticationMethod
      =
  DocuSignWeb.RequestRecipientTokenAuthenticationAssertionAuthenticationMethod.Password;

  assertion.SecurityDomain = "Request Recipient Token Test";

  // Construct the URLs based on username
  DocuSignWeb.Recipient recipient = envelope.Recipients[0];
  DocuSignWeb.RequestRecipientTokenClientURLs urls = new
  DocuSignWeb.RequestRecipientTokenClientURLs();
  String urlBase = baseURL;
  urls.OnSigningComplete = urlBase + "?event=SignComplete&uname=" + recipient.UserName;
  urls.OnViewingComplete = urlBase + "?event=ViewComplete&uname=" + recipient.UserName;
  urls.OnCancel = urlBase + "?event=Cancel&uname=" + recipient.UserName;
  urls.OnDecline = urlBase + "?event=Decline&uname=" + recipient.UserName;
  urls.OnSessionTimeout = urlBase + "?event=Timeout&uname=" + recipient.UserName;



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    95

 urls.OnTTLExpired = urlBase + "?event=TTLExpired&uname=" + recipient.UserName;
 urls.OnIdCheckFailed = urlBase + "?event=IDCheck&uname=" + recipient.UserName;
 urls.OnAccessCodeFailed = urlBase + "?event=AccessCode&uname=" + recipient.UserName;
 urls.OnException = urlBase + "?event=Exception&uname=" + recipient.UserName;

 // Request the token for a specific recipient
 String token = _apiClient.RequestRecipientToken(status.EnvelopeID,
     recipient.CaptiveInfo.ClientUserId, recipient.UserName,
     recipient.Email, assertion, urls);

 // Display token
 Console.WriteLine("Recipient token is {0}", token);

 RequestRecipientToken: PHP
 // Create envelope as shown in linked code
 $env = <create envelope>;

 // Specify captive info for recipients
 $captiveInfo = new RecipientCaptiveInfo();
 $captiveInfo->ClientUserId = "User1";
 $env->Recipients[0]->CaptiveInfo = $captiveInfo;

 // Now send the envelope
 $sendEnvelopeparams = new SendEnvelope();
 $sendEnvelopeparams->Envelope = $env;
 $createResult = $api->SendEnvelope($sendEnvelopeparams)->SendEnvelopeResult;

 // Construct the recipient token authentication assertion and specify
 // ID, start time, method, and domain
 $assertion = new RequestRecipientTokenAuthenticationAssertion();
 $assertion->AssertionID = guid();
 $assertion->AuthenticationInstant = nowXsdDate();
 $assertion->AuthenticationMethod =
 RequestRecipientTokenAuthenticationAssertionAuthenticationMethod::Password;
 $assertion->SecurityDomain = "Request Recipient Token Test";

 // Construct the URLs based on UserName
 $recip = $env->Recipients[0];
 $urls = new RequestRecipientTokenClientURLs();
 $urlbase = "http://127.0.0.1/";
 $urls->OnSigningComplete = $urlbase . "?event=SignComplete&uname=" . $recip->UserName;
 $urls->OnViewingComplete = $urlbase . "?event=ViewComplete&uname=" . $recip->UserName;
 $urls->OnCancel = $urlbase . "?event=Cancel&uname=" . $recip->UserName;
 $urls->OnDecline = $urlbase . "?event=Decline&uname=" . $recip->UserName;
 $urls->OnSessionTimeout = $urlbase . "?event=Timeout&uname=" . $recip->UserName;
 $urls->OnTTLExpired = $urlbase . "?event=TTLExpired&uname=" . $recip->UserName;
 $urls->OnIdCheckFailed = $urlbase . "?event=IDCheck&uname=" . $recip->UserName;
 $urls->OnAccessCodeFailed = $urlbase . "?event=AccesssCode&uname=" . $recip->UserName;
 $urls->OnException = $urlbase . "?event=Exception&uname=" . $recip->UserName;

 // Send
 $requestRecipientTokenparams = new RequestRecipientToken();
 $requestRecipientTokenparams->EnvelopeID = $createResult->EnvelopeID;
 $requestRecipientTokenparams->ClientUserID = $recip->CaptiveInfo->ClientUserId;
 $requestRecipientTokenparams->Username = $recip->UserName;
 $requestRecipientTokenparams->Email = $recip->Email;
 $requestRecipientTokenparams->AuthenticationAssertion = $assertion;
 $requestRecipientTokenparams->ClientURLs = $urls;
 $response = $api->RequestRecipientToken($requestRecipientTokenparams);




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     96

RequestRecipientFaxPDF
This is an alternative to using RequestRecipientFaxToken. Rather than returning a URL for a signing
session, RequestReceipientFaxPDF returns PDF versions of a fax cover page and documents in an
envelope for printing and signing. The recipient must still return the documents to DocuSign by fax.
   IMPORTANT: Depending on the consumer disclosure settings for your account, you might need
   to use RequestRecipientFaxToken to let the signer accept the consumer disclosure before using
   RequestRecipientFaxPDF.
   Example: If your account requires a signer to accept the consumer disclosure (agree to do
   business electronically) and your consumer disclosure frequency account setting is “Always” or it
   is the first time a signer is signing with your organization, then you must use
   RequestRecipientFaxToken so the signer can accept the consumer disclosure before using
   RequestRecipientFaxPDF.
Using this method can prevent cross-domain browser issues that can occur when using
RequestRecipientFaxToken by allowing API users to take the PDFBytes from the responses and
streaming the PDF to the client from their servers.
The parameters for RequestRecipientFaxPDF are the same as those used when requesting recipient
tokens.

Sample Request XML
  POST /api/3.0/api.asmx HTTP/1.1
  Host: test.docusign.net
  Content-Type: text/xml; charset=utf-8
  Content-Length: length
  SOAPAction: "http://www.docusign.net/API/3.0/RequestRecipientFaxPDF"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <RequestRecipientFaxPDF xmlns="http://www.docusign.net/API/3.0">
        <EnvelopeID>string</EnvelopeID>
        <ClientUserID>string</ClientUserID>
        <Username>string</Username>
        <Email>string</Email>
        <AuthenticationAssertion>
          <AssertionID>string</AssertionID>
          <AuthenticationInstant>dateTime</AuthenticationInstant>
          <AuthenticationMethod>string</AuthenticationMethod>
          <SecurityDomain>string</SecurityDomain>
        </AuthenticationAssertion>
      </RequestRecipientFaxPDF>
    </soap:Body>
  </soap:Envelope>


The response returns the Envelope ID for the envelope and PDFBytes for the documents in the
envelope.

Sample Response XML
  HTTP/1.1 200 OK
  Content-Type: text/xml; charset=utf-8
  Content-Length: length


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     97


  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <RequestRecipientFaxPDFResponse xmlns="http://www.docusign.net/API/3.0">
        <RequestRecipientFaxPDFResult>
          <EnvelopeID>string</EnvelopeID>
          <PDFBytes>base64Binary</PDFBytes>
        </RequestRecipientFaxPDFResult>
      </RequestRecipientFaxPDFResponse>
    </soap:Body>
  </soap:Envelope>


DocuSign Operations
Once the authentication is complete user is directed to DocuSign-hosted pages. Here user will be
able to view Consumer Disclosure, Select signature and complete signing by clicking on Tabs. When
signing is complete notification email is sent and user is directed to partner system.

Post-DocuSign Landing Pages
The client application must create, host, and manage landing pages for each of the events that are
detailed in the “InSessionCallBackURL” topic. The DocuSign web application will re-direct Recipients
to the respective URLs upon reaching a terminal state in the signing/viewing process.

Addenda

Additional Features and Behaviors
This section describes new behaviors that are specific to Embedded Recipients, as well as product
enhancements that are currently only available for Embedded Recipients.
   •   Embedded Recipients will receive an email on behalf of the sending account after they have
       completed the signing or viewing process. This is intended as a fraud-detection measure and
       is inherent to the Embedded process. The text of the email is configurable by the sending
       account.
   •   This is the only DocuSign-generated email that Embedded recipients will receive. They will not
       receive emails inviting them to sign, reporting that the Envelope has been voided, or informing
       them of Envelope completion because the Embedded client application is responsible for
       these communication tasks.
   •   Embedded clients have the ability to pass in default SignatureInfo (Signature Name, Signature
       Initials, and Signature Font), streamlining the user set-up process.
   •   Embedded clients have the ability to establish Envelope-specific SignatureInfo that is not
       necessarily the same as the original Recipient Username or the original signature created by
       the user. This allows the signature to conform to the Recipient’s printed name on a document,
       specifically in cases where it is represented differently from one document to the next (i.e.,
       initials are included in one Envelope instance and not the next). The SignatureInfo, however,
       cannot vary in separate documents within a single Envelope.
   •   The Consumer Disclosure agreement is consolidated into the “About You” page for Embedded
       Recipients. This action streamlines the signing process in relation to the Remote Recipient
       convention of a separate Consumer Disclosure page.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     98

   •   Embedded clients have the ability to create their own branded Help content.

Suppressed Features/Behaviors
This section describes features and behaviors that are characteristic of Remote Recipients but not
applicable to Embedded Recipients
   •   Carbon-Copy Recipients cannot interact as Embedded Recipients.
       Embedded Recipients are not presented with the option to create a Password in DocuSign.
       Consequently, Captive Recipients cannot enter the DocuSign web application via the login
       screen at https://www.docusign.net/member/memberlogin.aspx. Captive Recipients can only
       enter DocuSign via client applications using Recipient Tokens.
   •   Embedded Recipients do not see the DocuSign Member Console.
   •   Embedded Recipients do not receive DocuSign-generated email notification for any events
       except for the Signing/Viewing confirmation upon completion of the respective task, described
       in the Additional Features/Benefits section.

Legal Considerations
The DocuSign Remote Recipient process flow has been designed to comply with the federal
Electronic Signatures in Global and National Commerce Act (ESIGN) and the model form of the
Uniform Electronic Transaction Act (UETA). Most of the elements of the signing process such as
authentication, consumer disclosure, and document delivery are performed within the DocuSign
environment when executing the standard Remote Signing process. However, DocuSign's
Embedded signing process provides the Client the flexibility for performing, within the Client’s
environment, certain authentication and signing process steps typically performed within the
DocuSign environment. Accordingly, while DocuSign will work with the Client to recommend an
overall business process for electronic signatures, DocuSign does not assume responsibility or liability
for the steps taken outside of the DocuSign Environment and the effect such steps could have on the
enforceability of electronic records signed electronically utilizing an Embedded signing process.
Additional provisions dealing with an allocation of risk in the Embedded signing process are contained
in the relevant sections of the DocuSign Terms of Use for the Embedded process.

GetAuthenticationToken
This methods can be used to get a onetime use URL with an authentication token to launch the
DocuSign member system.

Schema



Name                              Schema Type                       Description
GoToEnvelopeID                    string                            Optional envelope ID. If provided the URL
                                                                    returned will send the user directly to viewing
                                                                    the envelope. If left blank the user will be taken
                                                                    to the member console.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     99

GetAuthenticationToken rules and exceptions
   •   User_Does_Not_Exist_In_System – API user requesting the authentication token URL does
       not have access to the system.
   •   Account_Lacks_Permissions – API user requesting the authentication token URL does not
       have valid API permissions.

Sample Code

   GetAuthenticationToken – C#
  // To take advantage of the optional navigation to an envelope,
  // create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

  // Now, call the function with the envelope ID of the envelope
  // to which you wish to navigate
  String token = _apiClient.GetAuthenticationToken(status.EnvelopeID);

  // Display token
  Console.WriteLine("Token retrieved is {0}", token);

   GetAuthenticationToken – PHP
  // Create and send envelope as shown in linked code
  $result = $api->CreateAndSendEnvelope($createAndSendEnvelopeparams)
  $status = $result->CreateAndSendEnvelopeResult;

  // Send
  $getAuthenticationTokenparams = new GetAuthenticationToken();
  $getAuthenticationTokenparams->GoToEnvelopeID = $status->EnvelopeID;
  $response = $api->GetAuthenticationToken($getAuthenticationTokenparams);


RequestSenderToken
This method is used to get a onetime use login token that allows the user to be placed into the
DocuSign sending wizard. Upon sending completion the user is returned to the return URL provided
by the API application.

Schema




Name                              Schema Type                       Description
EnvelopeID                        string                            Optional envelope ID. If provided the user will
                                                                    be placed into the envelope in process. If left
                                                                    blank the user will be placed into a new
                                                                    envelope for sending.
AccountID                         String                            DocuSign account ID to map the envelope to.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    100

Name                              Schema Type                       Description
ReturnURL                         String                            URL to send the user to upon completion of
                                                                    the sending process. The URL will have an
                                                                    event passed to it as a query parameter. The
                                                                    parameter will be named “event”, see “In-
                                                                    session sending events” below for description
                                                                    of the valid events. The DocuSign Envelope Id
                                                                    will also be returned in the “envelopeId”
                                                                    parameter.


In-session sending events
Events returned on the ReturnURL as a query string parameter. The event is sent in the parameter
named “event”. The ReturnURL is called with the event on any completion state of the envelope send.
Valid events can be found in the schema type InSessionSendEvent in the DocuSign API XSD.
Event           Description
Send            User sends the envelope.
Save            User saves a draft of the envelope.
Cancel          User cancels the sending transaction. No envelope ID returned.
Error           Error performing the send.
SessionEnd      Sending session ended before the user completed.

Rules and exceptions for RequestSenderToken
   •     User_Does_Not_Exist_In_System – API user requesting the sending token URL does not
         have access to the system.
   •     Account_Does_Not_Exist_In_System – Account is not valid.
   •     Account_Lacks_Permissions – API user requesting the sending token URL does not have
         valid API permissions.
   •     User_Lacks_Membership – user is not a valid member of the account.
   •     User_Not_Envelope_Sender – user is not a valid sender in the account.
   •     Envelope_Does_Not_Exist – if envelope ID is provided, envelope ID does not exist.
   •     Account_Not_Authorized_For_Envelope – if envelope ID is provided, account is not valid for
         the envelope.

Sample Code

   RequestSenderToken – C#
  // Create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

  // Request the token for the sender
  String result = _apiClient.RequestSenderToken(status.EnvelopeID, _accountId, <baseURL>);

  // Display token
  Console.WriteLine("Sender token is {0}", result);



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    101

   RequestSenderToken – PHP
   // Create and send an envelope as shown in linked code
   $response = <create and send envelope>;
   $createResult = $response->CreateAndSendEnvelopeResult;

   // Send
   $requestSenderTokenparams = new RequestSenderToken();
   $requestSenderTokenparams->EnvelopeID = $createResult->EnvelopeID;
   $requestSenderTokenparams->AccountID = $AccountID;
   $requestSenderTokenparams->ReturnURL = "http://127.0.0.1/";
   $response = $api->RequestSenderToken($requestSenderTokenparams);

RequestEnvelopeHistoryToken
This method allows the caller to get a view of the history dialog for an envelope. The return URL is
the url that the caller wants to return to when the close button is pressed after the history dialog is
displayed.

Schema




Name                              Schema Type                       Description
EnvelopeID                        string                            Envelope ID for the envelope for which the
                                                                    history view is being requested.
ReturnURL                         String                            The URL send the user is directed to when the
                                                                    user clicks the close button on the history
                                                                    view.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    102

Status and Managing Function Group
This function group is used to show the status of envelopes and manage envelopes. The Status
methods are described first and then the managing methods.

CorrectAndResendEnvelope
The CorrectAndResendEnvelope API method enables API users to modify the attributes of envelope
reminders, expirations and recipients, and then resend the envelope activation emails.

Schema




Name                                Schema Type                         Description
Envelope ID                         DSXId                               Envelope ID of the envelope which is
                                                                        corrected through API call.
EnvelopeSettingCorrection           EnvelopeSettingCorrection           Complex element consists of two elements
                                                                        AutoNavigation and EnvelopeIdStamping.
                                                                        AutoNavigation is a Boolean element and if
                                                                        set to true, auto navigation feature will be
                                                                        enabled. EnvelopeIdStamping if set to true,
                                                                        Envelope stamping feature will be enabled.
RecipientCorrections                RecipientCorrection                 Contains all the attributes of the recipient
                                                                        that could be corrected. See the
                                                                        RecipientCorrection section below for more
                                                                        information.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   103

Name                               Schema Type                         Description
Reminders                          Reminders                           Corrected envelope reminder settings:
                                                                       ReminderEnabled: Boolean: Whether or
                                                                       not a reminder email will be sent.
                                                                       ReminderDelay: Integer: Number of days
                                                                       AFTER a person receives an envelope,
                                                                       that they will start receiving reminder
                                                                       emails.
                                                                       ReminderFrequency: Integer: Number of
                                                                       days to wait between reminder emails.
Expirations                        Expirations                         Corrected envelope expriation settings:
                                                                       ExpireEnabled: Boolean: Whether or not
                                                                       this envelope is set to expire.
                                                                       ExpireAfter: Integer: Number of days
                                                                       envelope will be active.
                                                                       ExpireWarn: Integer: Number of days
                                                                       before envelope expiration, that a warning
                                                                       email will be sent.


Sample Request XML:
  SOAPAction: "http://www.docusign.net/API/3.0/CorrectAndResendEnvelope"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <CorrectAndResendEnvelope xmlns="http://www.docusign.net/API/3.0">
        <Correction>
          <EnvelopeID>string</EnvelopeID>
          <EnvelopeSettingsCorrection>
            <AutoNavigation>boolean</AutoNavigation>
            <EnvelopeIdStamping>boolean</EnvelopeIdStamping>
          </EnvelopeSettingsCorrection>
          <RecipientCorrections>
            <RecipientCorrection>
              <PreviousUserName>string</PreviousUserName>
              <PreviousEmail>string</PreviousEmail>
              <PreviousRoutingOrder>unsignedShort</PreviousRoutingOrder>
              <PreviousSignerName>string</PreviousSignerName>
              <CorrectedUserName>string</CorrectedUserName>
              <CorrectedSignerName>string</CorrectedSignerName>
              <CorrectedEmail>string</CorrectedEmail>
              <CorrectedCaptiveInfo xsi:nil="true" />
              <CorrectedAccessCode>string</CorrectedAccessCode>
              <CorrectedAccessCodeRequired>boolean</CorrectedAccessCodeRequired>
              <CorrectedRequireIDLookup>boolean</CorrectedRequireIDLookup>
              <CorrectedIDCheckConfigurationName>string</CorrectedIDCheckConfigurationName>
              <CorrectedRoutingOrder>unsignedShort</CorrectedRoutingOrder>
              <CorrectedAutoNavigation>boolean</CorrectedAutoNavigation>
              <CorrectedIDCheckInformationInput xsi:nil="true" />
              <Resend>boolean</Resend>
              <CorrectedDeliveryMethod>Email or Fax</CorrectedDeliveryMethod>
              <CorrectedFaxNumber>string</CorrectedFaxNumber>
            </RecipientCorrection>
            <RecipientCorrection>



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   104

               <PreviousUserName>string</PreviousUserName>
               <PreviousEmail>string</PreviousEmail>
               <PreviousRoutingOrder>unsignedShort</PreviousRoutingOrder>
               <PreviousSignerName>string</PreviousSignerName>
               <CorrectedUserName>string</CorrectedUserName>
               <CorrectedSignerName>string</CorrectedSignerName>
               <CorrectedEmail>string</CorrectedEmail>
               <CorrectedCaptiveInfo xsi:nil="true" />
               <CorrectedAccessCode>string</CorrectedAccessCode>
               <CorrectedAccessCodeRequired>boolean</CorrectedAccessCodeRequired>
               <CorrectedRequireIDLookup>boolean</CorrectedRequireIDLookup>
               <CorrectedIDCheckConfigurationName>string</CorrectedIDCheckConfigurationName>
               <CorrectedRoutingOrder>unsignedShort</CorrectedRoutingOrder>
               <CorrectedAutoNavigation>boolean</CorrectedAutoNavigation>
               <CorrectedIDCheckInformationInput xsi:nil="true" />
               <Resend>boolean</Resend>
               <CorrectedDeliveryMethod>Email or Fax</CorrectedDeliveryMethod>
               <CorrectedFaxNumber>string</CorrectedFaxNumber>
             </RecipientCorrection>
           </RecipientCorrections>
          <Reminders>
            <ReminderEnabled>boolean</ReminderEnabled>
            <ReminderDelay>nonNegativeInteger</ReminderDelay>
            <ReminderFrequency>nonNegativeInteger</ReminderFrequency>
          </Reminders>
          <Expirations>
            <ExpireEnabled>boolean</ExpireEnabled>
            <ExpireAfter>nonNegativeInteger</ExpireAfter>
            <ExpireWarn>nonNegativeInteger</ExpireWarn>
          </Expirations>
       </Correction>
     </CorrectAndResendEnvelope>
   </soap:Body>
 </soap:Envelope>




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   105

RecipientCorrection

   Schema




Name                                      Schema Type                             Description
PreviousUserName                          UserName                                User name of the recipient
                                                                                  specified in the envelope which
                                                                                  needs correction.
PreviousEmail                             Email                                   Email of the recipient specified
                                                                                  in the envelope which needs
                                                                                  correction.


  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    106

Name                                      Schema Type                             Description
PreviousRoutingOrder                      PositiveShort                           Routing order of the recipient
                                                                                  specified in the envelope which
                                                                                  needs correction.
PreviousSignerName                        String                                  Signer name specified in the
                                                                                  envelope, which needs
                                                                                  correcting.
CorrectedUserName                         UserName                                Corrected user name of the
                                                                                  recipient.
CorrectedSignerName                       String                                  Correct signer name in the
                                                                                  envelope.
CorrectedEmail                            Email                                   Corrected Email of the recipient.
CorrectedCaptiveInfo                      CorrectedCaptiveInfo                    Specifies if the recipient is
                                                                                  captive or not. If the
                                                                                  ClientUserId is not null then the
                                                                                  recipient is captive.
CorrectedAccessCode                       String                                  Corrected access for the
                                                                                  recipients
CorrectedAccessCodeRequired               Boolean                                 If set to true, then access code
                                                                                  check will be required for the
                                                                                  recipient.
CorrectedRequireIDLookup                  Boolean                                 If set to true, then ID check will
                                                                                  be required for the recipient.
CorrectedIDCheckConfigurationName         String                                  Corrected ID check
                                                                                  configuration by name.
CorrectedRoutingOrder                     PositiveShort                           Corrected routing order of the
                                                                                  recipient.
CorrectedAutoNavigation                   Boolean                                 Corrected setting for the auto
                                                                                  navigation feature. If Boolean is
                                                                                  set to true auto navigation
                                                                                  feature will be enabled for the
                                                                                  recipient
CorrectedIDCheckInformationInput          CorrectedIDCheckInformationInput        Specified the corrected IDCheck
                                                                                  information. For details please
                                                                                  refer IDCheckInformationInput
                                                                                  under CreateAndSend method
Resend                                    Boolean                                 Specifies if the email notifying
                                                                                  correction needs to be sent to
                                                                                  the recipient.
CorrectedDeliveryMethod                   Delivery Method                         This sets the corrected delivery
                                                                                  method used for the recipient.
                                                                                  The two enumerations are Email
                                                                                  or Fax.
CorrectedFaxNumber                        String                                  The corrected fax number for
                                                                                  the recipient.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   107

CorrectionStatus

   Schema




Name                             Schema Type                        Description
EnvelopeSettingsCorrection       EnvelopeSettingsCorrection         Consists of AutoNavigation and
                                                                    EnvelopeIdStamping. A true value indicates
                                                                    that the feature is enabled.
RecipientCorrectionStatuses      RecipientCorrectionStatuses        See the RecipientCorrectionStatus section
                                                                    below for more information.


RecipientCorrectionStatus

Name                             Schema Type                       Description
CorrectionSuccededed             Boolean                           Return true if the envelope correction is
                                                                   successful
RecipientCorrection              RecipientCorrection               Returns the corrected information. For more
                                                                   details check the RecipientCorrection section
                                                                   above
RecipientStatus                  RecipientStatus                   Returns current status of the recipient. For
                                                                   more details check RecipientStatus section in
                                                                   above.


Rules for CorrectAndResendEnvelope

   API user specific rules
   •   The length of any of the email addresses (specified as CorrectedEmail) must not exceed 100
       characters. Else, the XML validation fails and the processor throws a Validation error.
   •   The email addresses (specified as CorrectedEmail) must conform to the appropriate email
       format. Else, the XML validation fails and the processor throws a Validation error.
   •   The length of any of the EnvelopeID must not exceed 100 characters. Else, the XML validation
       fails and the processor throws a Validation error.
   •   If the CorrectedAccessCode field is not null and not empty then regardless of whether the
       value of CorrectedAccessCodeRequired is ‘true’ or ‘false’ the CorrectedAccessCode is
       considered as the new Access Code for the specified recipient.
   •   If the CorrectedAccessCode field is null or empty:


  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   108

          o   If the value of CorrectedAccessCodeRequired is ‘false’, the existing Access Code for
              the specified recipient is cancelled.
          o   If the CorrectedAccessCodeRequired is ‘true’ then the existing access code is left as it
              is.

 Rules for Exceptions thrown by the API
 •   An envelope having the specified EnvelopeID must exist in the system. Else, an exception with
     the error message “Envelope_Does_Not_Exist” is thrown.
 •   The status of the envelope with the specified EnvelopeID must be ‘Sent’ or ‘Delivered’. Else,
     an exception with the error message “Envelope_Cannot_Correct_Invalid_State” is thrown.
 •   The user making the API calls must have permissions to correct the Envelope. Else, an
     exception with the error message “User_Lacks_Permissions” is thrown. The API user can
     correct the Envelope only if the user is the sender of the envelope
 •   User specified by PreviousUserName and PreviousEmail should be the owner of the
     envelope. Else an exception with error message “User_Not_Envelope_Sender” is thrown.
 •   The envelope with the specified EnvelopeID must not have duplicate recipients. Else an
     exception is thrown with the error message “Envelope_Has_Duplicate_Recipients”. An
     envelope with duplicate recipients cannot be corrected, because if a correction is specified for
     a user who exists as more than one recipient, then it raises an ambiguity on which instance of
     the user to be corrected.
 •   More than one correction must not be specified for a given recipient as it raises an ambiguity
     on which correction to apply. Else, an exception with the error message
     “Correction_Has_Duplicate_Recipients” thrown.
 •   The CorrectedUserName of any correction (after trimming of leading and following spaces)
     must not be empty. Else an exception with the error message
     “Correction_Has_A_Blank_Username” is thrown.
 •   The final set of recipients of the envelope (assuming that the corrections that succeed are
     applied) must not contain duplicates. Else an exception is thrown with the error message
     “Correction_Results_In_Duplicate_Recipients”.
 •   Recipient specified by CorrectedUserName and CorrectedEmail should exist else exception
     with error message “Recipient_Not_Found_For_Correction” is thrown.
 •   Correcting Carbon copy recipient is not allowed. If tried the exception with error message
     “Captive_Carbon_Copy_Recipient_Not_Supported” will be thrown.
 •   If the corrected Email specified has already been reserved by some other account then an
     exception with error message “Corrected_Email_Is_Reserved” is thrown.

 Rules for return value of the API
 •   The status of a recipient (for whom a correction is specified) must not be ‘Signed’, ‘Declined’ or
     ‘Completed’. Else, correction is not permitted for this recipient and CorrectionSucceeded value
     is set to ‘false’. In other words a CorrectionSucceeded value of ‘false’ indicates that the
     correction could not be applied, as the status of the recipient does not permit corrections.
 •   The RecipientCorrection object in the CorrectAndResendEnvelope the same as the
     RecipientCorrection passed as the argument to the API.




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   109

Sample Code

  CorrectAndResendEnvelope – C#
  // Create envelope as shown in linked code
  DocuSignWeb.Envelope envelope = <create envelope>;

  // Send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <send envelope>;

  // Create a new correction, and make it a recipient correction
  DocuSignWeb.Correction correction = new CodeSnippets.DocuSignWeb.Correction();
  correction.EnvelopeID = status.EnvelopeID;
  correction.RecipientCorrections = new DocuSignWeb.RecipientCorrection[1];

  // We're just copying recipient data into the corrected data
  // We could also change it entirely
  for (int i = 0; i < correction.RecipientCorrections.Length; i++)
  {
      DocuSignWeb.RecipientCorrection recipient = correction.RecipientCorrections[i];
      correction.RecipientCorrections[i] = new DocuSignWeb.RecipientCorrection();
      correction.RecipientCorrections[i].PreviousEmail
          = correction.RecipientCorrections[i].CorrectedEmail
          = envelope.Recipients[i].Email;
      correction.RecipientCorrections[i].PreviousUserName
          = correction.RecipientCorrections[i].CorrectedUserName
          = envelope.Recipients[i].UserName;
      correction.RecipientCorrections[i].PreviousRoutingOrder
          = correction.RecipientCorrections[i].CorrectedRoutingOrder
          = envelope.Recipients[i].RoutingOrder;}

  // Go ahead and make the correction
  DocuSignWeb.CorrectionStatus correctionStatus =
      _apiClient.CorrectAndResendEnvelope(correction);

  // Confirm that the call succeeded
  Console.WriteLine("Correction status succeeded? {0}",
  correctionStatus.RecipientCorrectionStatuses[0].CorrectionSucceeded);

  CorrectAndResendEnvelope – PHP
  // Create envelope as shown in linked code
  $env = <create envelope>;

  // Send envelope as shown in linked code
  $response = <send envelope>;
  $createResponse =$response->CreateAndSendEnvelopeResult;

  // Create a new recipient correction
  $recip = $env->Recipients[0];
  $correction = new Correction();
  $correction->EnvelopeID = $createResponse->EnvelopeID;
  $recipCorrection = new RecipientCorrection();
  //Just reuse the same data
  $recipCorrection->PreviousEmail = $recipCorrection->CorrectedEmail = $recip->Email;
  $recipCorrection->PreviousUserName = $recipCorrection->CorrectedUserName = $recip-
  >UserName;
  $recipCorrection->PreviousRoutingOrder = $recipCorrection->CorrectedRoutingOrder =
  $recip->RoutingOrder;
  $correction->RecipientCorrections = array($recipCorrection);

  $correctAndResendEnvelopeparams = new CorrectAndResendEnvelope();
  $correctAndResendEnvelopeparams->Correction = $correction;




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    110

   // Send
   $response = $api->CorrectAndResendEnvelope($correctAndResendEnvelopeparams);

DeleteEnvelopes
DeleteEnvelopes deletes the specified envelopes from a folder.

Schema:
                                               EnvelopeIds               EnvelopeId




 DeleteEnvelopes           Arg                  AccountId                  FolderType


                                                                           FolderName
                                               FolderFrom
                                                                           FolderPath


                                                                             FolderId


Name                              Schema Type                        Description
EnvelopeIds                       Array of EnvelopeIds               An array of EnvelopeIds for the envelopes
                                                                     being deleted.
AccountId                         String                             The account ID associated with the envelopes
                                                                     being deleted.
FolderFrom                        FolderTypeInfo                     The folder with the envelopes to be deleted.
                                                                     Refer to the FolderTypeInfo section for more
                                                                     information.
This method returns DeleteEnvelopeResponse with the result of the request.

Sample Request XML:
   SOAPAction: "http://www.docusign.net/API/3.0/DeleteEnvelopes"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <DeleteEnvelopes xmlns="http://www.docusign.net/API/3.0">
         <Arg>
           <EnvelopeIds>
             <EnvelopeId>string</EnvelopeId>
             <EnvelopeId>string</EnvelopeId>
           </EnvelopeIds>
           <AccountId>string</AccountId>
           <FolderFrom>
             <FolderType>RecycleBin or Draft or Inbox or SentItems or Normal</FolderType>
             <FolderName>string</FolderName>
             <FolderPath>string</FolderPath>
             <FolderId>string</FolderId>
           </FolderFrom>
         </Arg>
       </DeleteEnvelopes>


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   111

    </soap:Body>
  </soap:Envelope>

EnvelopeAuditEvents
The EnvelopeAuditEvent API method enables API users to request the events performed on an
envelope. The events are returned in an XML document.

Schema



Name                             Schema Type                       Description
EnvelopeId                       DSXId                             Envelope ID of the envelope to return the
                                                                   events for.


Sample Request XML:
  SOAPAction: "http://www.docusign.net/API/3.0/EnvelopeAuditEvents"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <EnvelopeAuditEvents xmlns="http://www.docusign.net/API/3.0">
        <EnvelopeId>string</EnvelopeId>
      </EnvelopeAuditEvents>
    </soap:Body>
  </soap:Envelope>


Rules for accessing envelope events.

   API user specific rules
       •     The envelope ID passed to the API must be valid.
       •     The envelope ID passed to the API must be accessible by the API user.
       •     The user and account must be configured properly by DocuSign in order to enable this
             API.

   Rules for Exceptions thrown by the EnvelopeAuditEvents API
       •     Envelope_Does_Not_Exist – invalid envelope ID passed.
       •     User_Lacks_Permissions - The user making the API calls must have permissions to export
             Authoritative Copy Documents.

   Return XML for EnvelopeAuditEvents API
   Below is a sample of the XML returned:
       <DocuSignEnvelopeEvents EnvelopeId="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" xmlns="">
              <Event>
              <logTime>2008-02-12T16:52:00.6430736-08:00</logTime>
              <Source>Web</Source>
                     <UserName>User name here</UserName>



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    112

              <Action>Registered</Action>
              <Message>The envelope was created by SS UI and API</Message>
              <EnvelopeStatus>Created</EnvelopeStatus>
              <ClientIPAddress>127.0.0.1</ClientIPAddress>
              <Information />
              </Event>
              <Event>
              <logTime>2008-02-12T16:52:52.0519556-08:00</logTime>
              <Source>Web</Source>
              <UserName>The User</UserName>
              <Action>Sent Invitations</Action>
              <Message>The User sent an invitation to User
       email[the.user@docusign.com]</</Message>
              <EnvelopeStatus>Sent</EnvelopeStatus>
              <ClientIPAddress>127.0.0.1</ClientIPAddress>
              <Information>User email[the.user@docusign.com]</Information>
              </Event>
       </DocuSignEnvelopeEvents>


Sample Code

   EnvelopeAuditEvents – C#
  // Create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

  // Request the audit history
  XmlNode result = _apiClient.EnvelopeAuditEvents(status.EnvelopeID);

  // Display audit events
  StringWriter stringWriter = new StringWriter();
  XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter);
  xmlTextWriter.Formatting = Formatting.Indented;
  result.WriteTo(xmlTextWriter);
  xmlTextWriter.Flush();
  Console.Write(stringWriter.ToString());

   EnvelopeAuditEvents – PHP
  // Create and send an envelope as shown in linked code
  $response = <create and send envelope>;
  $createResult = $response->CreateAndSendEnvelopeResult;

  // Send and request audit history
  $envelopeAuditEventsparams = new EnvelopeAuditEvents();
  $envelopeAuditEventsparams->EnvelopeId = $createResult->EnvelopeID;
  $response = $api->EnvelopeAuditEvents($envelopeAuditEventsparams);


GetConnectFailures
GetConnectFailures retrieves a list of Connect post failures for the account and date range specified.

Schema




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    113

Name                              Schema Type                       Description
AccountId                         String                            The account ID for the requested Connect post
                                                                    failures.
DateFrom                          dateTime                          The start date and time for the Connect post
                                                                    failures search.
DateTo                            dateTime                          The end date and time for the Connect post
                                                                    failure search.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/GetConnectFailures"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <GetConnectFailures xmlns="http://www.docusign.net/API/3.0">
        <ConnectFailuresFilter>
          <AccountId>string</AccountId>
          <DateFrom>dateTime</DateFrom>
          <DateTo>dateTime</DateTo>
        </ConnectFailuresFilter>
      </GetConnectFailures>
    </soap:Body>
  </soap:Envelope>

This method returns GetConnectFailureResults with an array of ConnectFailures. Each
ConnectFailure instance has the elements shown below.

Name                              Schema Type                       Description
EnvelopeId                        String                            The envelope ID of the envelope status that
                                                                    failed to post.
AccountId                         String                            The account ID associated with the envelope.
Failed                            dateTime                          The date and time the original Connect post
                                                                    failed.
Retried                           dateTime                          The date and time the last attempt to post.
RetryCount                        Integer                           The number of times the Connect post has
                                                                    been retried.
EnvelopeStatus                                                      The new envelope status for the failed
                                                                    Connect post. The possible values are: Any,
                                                                    Voided, Created, Deleted, Sent, Delivered,
                                                                    Signed, Completed, Declined, TimedOut,
                                                                    Template, or Processing
Sender                            String                            The name of the envelope sender.
Email                             String                            The email that sent the envelope.
Subject                           String                            The envelope subject.
Error                             String                            The error that caused the Connect post to fail.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    114

Name                              Schema Type                       Description
ConfigId                          String                            The identifier for the Connect configuration
                                                                    that failed. If an account has multiple Connect
                                                                    configurations, this value is used to to look up
                                                                    the Connect configuration for the failed post.
ConfigUrl                         String                            The web address of the listener or Retrieving
                                                                    Service end point for Connect.

GetStatusInDocuSignConnectFormat
GetStatusInDocuSignConnectFormat API is reserved for future use.

Name                              Schema Type                        Description
EnvelopeId                         DSXId                              Envelope ID of the envelope to return the
                                                                      status for.

GetRecipientAuthenticationStatusEx
This method requests the details of authentication checks for a recipient.

Schema




Name                               Schema Type                       Description
EnvelopeId                         DSXId                             The envelope ID associated with the recipient
                                                                     authentication check.
RecipientEmail                     String                            The recipient’s email address.
RecipientName                      String                            The recipient’s name
RoutingOrder                       Integer                           Optional element. The recipient’s
                                                                     RoutingOrder in the envelope.


Sample Request XML
   SOAPAction: "http://www.docusign.net/API/3.0/GetRecipientAuthenticationStatusEx"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetRecipientAuthenticationStatusEx xmlns="http://www.docusign.net/API/3.0">
         <Arg>
           <EnvelopeId>string</EnvelopeId>
           <RecipientName>string</RecipientName>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    115

          <RecipientEmail>string</RecipientEmail>
          <RoutingOrder>int</RoutingOrder>
        </Arg>
      </GetRecipientAuthenticationStatusEx>
    </soap:Body>
  </soap:Envelope>



This method returns AuthenticationStatus with elements listed below. The response only returns the
applicable authentication result. The result contains the authentication status, a date time stamp and
authentication failure details (if provided).

Name                               Schema Type                       Description
AccessCodeResult                   EventResult                       Result for an access code authentication
                                                                     check, it returns:
                                                                     Status – Pass or Fail
                                                                     dateTime – The date/time of the event
                                                                     FailureDescription – A string with the details of
                                                                     a failed authentication, if provided. This is
                                                                     only provided in case of a failed
                                                                     authentication.
                                                                     VendorFailureStatusCode – A string with a
                                                                     vendor status code, if provided. This is only
                                                                     provided in case of a failed authentication.
IDQuestionsResult                  EventResult                       Result for an ID question authentication
                                                                     check. It returns the same elements as
                                                                     shown in the AccessCodeResult above.
IDLookupResult                     EventResult                       Result for an ID lookup authentication check.
                                                                     It returns the same elements as shown in the
                                                                     AccessCodeResult above.
AgeVerifyResult                    EventResult                       Result for an age verification authentication
                                                                     check. It returns the same elements as
                                                                     shown in the AccessCodeResult above.
STANPinResult                      EventResult                       Result for a Student Authentication Network
                                                                     (STAN) check. It returns the same elements
                                                                     as shown in the AccessCodeResult above.
OFACResult                         EventResult                       Result for an Office of Foreign Asset Control
                                                                     (OFAC) check. It returns the same elements
                                                                     as shown in the AccessCodeResult above.
PhoneAuthResult                    EventResult                       Result for a phone authentication check. It
                                                                     returns the same elements as shown in the
                                                                     AccessCodeResult above.
LiveIDResult                       EventResult                       Result for a Live ID authentication check. It
                                                                     returns the same elements as shown in the
                                                                     AccessCodeResult above.
FacebookResult                     EventResult                       Result for a Facebook authentication check. It
                                                                     returns the same elements as shown in the
                                                                     AccessCodeResult above.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   116

Name                              Schema Type                       Description
GoogleResult                      EventResult                       Result for a Google authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.
LinkedinResult                    EventResult                       Result for a LinkedIn authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.
SalesforceResult                  EventResult                       Result for a Salesforce authentication check.
                                                                    It returns the same elements as shown in the
                                                                    AccessCodeResult above.
TwitterResult                     EventResult                       Result for a Twitter authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.
OpenIDResult                      EventResult                       Result for an Open ID authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.
AnySocialIDResult                 EventResult                       Result for any other social ID authentication
                                                                    check. It returns the same elements as
                                                                    shown in the AccessCodeResult above.
YahooResult                       EventResult                       Result for a Yahoo authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.

MoveEnvelopes
MoveEnvelopes is used to move envelopes between folders.

Schema




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    117

Name                              Schema Type                       Description
EnvelopeIds                       Array of EnvelopeIds              An array of EnvelopeIds for the envelopes
                                                                    being moved.
AccountId                         String                            The account ID associated with the envelopes.
FolderFrom                        FolderTypeInfo                    The folder where the envelopes are currently
                                                                    located. Refer to the FolderTypeInfo section
                                                                    for more information.
FolderTo                          FolderTypeInfo                    The folder to which the envelopes are being
                                                                    moved. Refer to the FolderTypeInfo section
                                                                    for more information.



Sample Request XML
   SOAPAction: "http://www.docusign.net/API/3.0/MoveEnvelopes"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <MoveEnvelopes xmlns="http://www.docusign.net/API/3.0">
         <Arg>
           <EnvelopeIds>
             <EnvelopeId>string</EnvelopeId>
             <EnvelopeId>string</EnvelopeId>
           </EnvelopeIds>
           <AccountId>string</AccountId>
           <FolderFrom>
             <FolderType>RecycleBin or Draft or Inbox or SentItems or Normal</FolderType>
             <FolderName>string</FolderName>
             <FolderPath>string</FolderPath>
             <FolderId>string</FolderId>
           </FolderFrom>
           <FolderTo>
             <FolderType>RecycleBin or Draft or Inbox or SentItems or Normal</FolderType>
             <FolderName>string</FolderName>
             <FolderPath>string</FolderPath>
             <FolderId>string</FolderId>
           </FolderTo>
         </Arg>
       </MoveEnvelopes>
     </soap:Body>
   </soap:Envelope>

This method returns MoveEnvelopeResponse with the result of the request.

PublishConnectFailures
PublishConnectFailures requests a list of Connect post failures for the set of envelopes included in
the request.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    118

Schema




Name                              Schema Type                       Description
AccountId                         String                            The account ID associated with the requested
                                                                    Connect post failures.
Synchronous                       Boolean                           If true, the system attempts to publish failed
                                                                    posts again and returns the status of the post
                                                                    attempt.
EnvelopeIds                       Array of EnvelopeIds              The array of EnvelopeIds for the envelopes
                                                                    included in the request.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/PublishConnectFailures"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <PublishConnectFailures xmlns="http://www.docusign.net/API/3.0">
        <PublishConnectFailuresFilter>
          <AccountId>string</AccountId>
          <Synchronous>boolean</Synchronous>
          <EnvelopeIds>
            <EnvelopeId>string</EnvelopeId>
            <EnvelopeId>string</EnvelopeId>
          </EnvelopeIds>
        </PublishConnectFailuresFilter>
      </PublishConnectFailures>
    </soap:Body>
  </soap:Envelope>

This method returns PublishConnectFailuresResponse with an array of PublishConnectFailuresResult
with the results shown below.

Name                              Schema Type                       Description
EnvelopeId                        EnvelopeId                        The envelope ID associated with the Connect
                                                                    post.
ConfigId                          String                            The identifier for the Connect configuration
                                                                    that failed. If an account has multiple Connect
                                                                    configurations, this value is used to to look up
                                                                    the Connect configuration for the failed post.
ConfigUrl                         String                            The web address of the listener or Retrieving
                                                                    Service end point for Connect.
Status                            ConnectPublishStatus              The status of the Connect post. The possible
                                                                    values are: Queued, Success, or Fail.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    119

Name                              Schema Type                       Description
StatusMessage                     String                            If the ConnectPublishStatus is Queued or
                                                                    Success, the StatusMessage is empty. If the
                                                                    ConnectPublishStatus is Fail and the envelope
                                                                    is not part of the account, the StatusMessage
                                                                    is "Envelope Not In Account."



RequestCorrectToken
This call returns a token to place a user in a web session in Advanced Correct mode on an envelope.

Name                              Schema Type                       Description
EnvelopeID                        String                            Identifies the envelope to be corrected.
SuppressNavigation                Boolean                           Sets whether the window is displayed with or
                                                                    without dressing.
ReturnURL                         String                            Identifies the return point after correcting the
                                                                    envelope. The URL will have an event passed
                                                                    to it as a query parameter. The parameter will
                                                                    be named “event”, see “In-session sending
                                                                    events” below for description of the valid
                                                                    events. The DocuSign Envelope Id will also be
                                                                    returned in the “envelopeId” parameter.


In-Session Sending Events
Events returned on the ReturnURL as a query string parameter. The event is sent in the parameter
named “event”. The ReturnURL is called with the event on any completion state of the envelope send.
Valid events can be found in the schema type InSessionSendEvent in the DocuSign API XSD.
Event                 Description
Send                  User sends the envelope.

Save                  User saves a draft of the envelope.

Cancel                User cancels the sending transaction. No envelope ID returned.

Error                 Error performing the send.

SessionEnd            Sending session ended before the user completed.


Sample Code

   RequestCorrectToken – C#
  // Create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

  // Request the token with the envelope ID and a return URL
  String token = _apiClient.RequestCorrectToken(status.EnvelopeID, true, baseURL);

  // Display token
  Console.WriteLine("The token returned is {0}", token);


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    120

   RequestCorrectToken – PHP
  // Create and send an envelope s shown in linked code
  $response = <create and send envelope>;
  $createResult = $response->CreateAndSendEnvelopeResult;

  // Request the token with the envelope ID and a return URL
  $requestCorrectTokenparams = new RequestCorrectToken();
  $requestCorrectTokenparams->EnvelopeID = $createResult->EnvelopeID;
  $requestCorrectTokenparams->ReturnURL = $baseURL;
  $requestCorrectTokenparams->SuppressNavigation = true;
  $response = $api->RequestCorrectToken($requestCorrectTokenparams);

RequestStatus and RequestStatusEx
The RequestStatus and RequestStatusEx methods can be used to query the status of existing
envelopes.
The RequestStatus method takes the element EnvelopeID for the envelope for which the status is
requested. This Envelope ID must refer to an envelope created via the Create
Envelope/CreateAndSendEnvelope method call.

Schema
RequestStatus


RequestStatusEx




Name                              Schema Type                       Description
EnvelopeID                        DSXId                             The Envelope ID for which to retrieve status.


Sample Request XML
  SOAPAction: “http://www.docusign.net/API/3.0/RequestStatus”

  <?xml version=”1.0” encoding=”utf-8”?>
  <soap:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
  xmlns:xsd=”http://www.w3.org/2001/XMLSchema”
  xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”>
    <soap:Body>
      <RequestStatus xmlns=”http://www.docusign.net/API/3.0”>
        <EnvelopeID>string</EnvelopeID>
      </RequestStatus>
    </soap:Body>
  </soap:Envelope>


Sample Code

   RequestStatus – C#
  // Create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus eStatus = <create and send envelope>;



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    121


   // Request the status of that envelope
   DocuSignWeb.EnvelopeStatus status = _apiClient.RequestStatus(eStatus.EnvelopeID);

   // Display the status for the envelope
   Console.WriteLine("Status for envelope ID {0} is {1}", eStatus.EnvelopeID,
   status.Status);

   RequestStatus – PHP
   // Create and send envelope as shown in linked code
   $response = <create and send envelope>;
   $createResult = $response->CreateAndSendEnvelopeResult;

   // Request the status of that envelope
   $requestStatusparams = new RequestStatus();
   $requestStatusparams->EnvelopeID = $createResult->EnvelopeID;
   $result = $api->RequestStatus($requestStatusparams);

   RequestStatusEx – C#
   // Create and send envelope as shown in linked code
   DocuSignWeb.EnvelopeStatus eStatus = <create and send envelope>;

   // Request the status of that envelope
   DocuSignWeb.EnvelopeStatus status = _apiClient.RequestStatusEx(eStatus.EnvelopeID);

   // Confirm that the status of the envelope is sent
   Console.WriteLine("Status for envelope ID {0} is {1}", eStatus.EnvelopeID,
   status.Status);
   Console.WriteLine("Account status is {0}", status.RecipientStatuses[0].AccountStatus);

   RequestStatusEx – PHP
   // Create and send envelope as shown in linked code
   $response = <create and send envelope>;
   $createResult = $response->CreateAndSendEnvelopeResult;

   // Request the status of that envelope
   $requestStatusExparams = new RequestStatusEx();
   $requestStatusExparams->EnvelopeID = $createResult->EnvelopeID;
   $result = $api->RequestExStatus($requestStatusparams);

RequestStatuses and RequestStatusesEx
This method is used to request the status of multiple envelopes in a single call. Up to 200 envelopes
can be retrieved within a single call. If more results are available, subsequent calls can be used to
retrieve the next 200, etc.

Request Envelope Statuses Notes
The SOAP calls for RequestStatuses(Ex) and RequestStatusCodes use certain filters to find results.
In some cases requests are check for “any status change” instead of the just the single status
requested. In these cases, more envelopes might be returned by the request than otherwise would
be. For example, for a request with the begin date is set to Jan 1st, an end date set to Jan 7th and
the StatusQualifier set to “Delivered” – the response set might contain envelopes that were created
during that time period, but not delivered during the time period.
To avoid unnecessary database queries, the DocuSign system checks requests to ensure that the
added filters will not result in a zero-size response before acting on the request. The following table


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    122

shows the valid envelope statuses (in the Valid Current Statuses column) for the status qualifiers in
the request. If the status and status qualifiers in the API request do not contain any of the values
shown in the valid current statuses column, then an empty list is returned.
For example, a request with a StatusQualifier of “Delivered” and a status of “Created,Sent”, DocuSign
will always return an empty list. This is because the request essentially translates to: find the
envelopes that were Delivered between the begin and end dates that have a current status of Created
or Sent, and since an envelope that has been delivered can never have a status of Created or Sent, a
zero-size response would be generated. In this case, DocuSign does not run the request, but just
returns the empty list.
Client applications should check that the statuses they are requesting make sense for a given status
qualifier.

BeginDateTime -               Effective Status Qualifier         Valid Current Statuses
StatusQualifier
Any (changed)                 StatusChanged                      Any, Created, Sent, Delivered, Signed,
                                                                 Completed, Declined, Voided, Deleted
Created                       Created                            Any, Created, Sent, Delivered, Signed,
                                                                 Completed, Declined, Voided, Deleted
Sent                          Sent                               Any, Sent, Delivered, Signed, Completed,
                                                                 Declined, Voided, Deleted
Delivered                     StatusChanged                      Any, Delivered, Signed, Completed,
                                                                 Declined, Voided, Deleted
Signed                        StatusChanged                      Any, Signed, Completed, Declined,
                                                                 Voided, Deleted
Completed                     Completed                          Any, Completed, Declined, Voided,
                                                                 Deleted
Declined                      StatusChanged                      Any, Declined, Deleted
TimedOut - Always return      StatusChanged                      Any, Voided, Deleted
zero results
Voided                        Voided                             Any, Voided, Deleted
Deleted                       StatusChanged                      Any, Deleted




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   123

Schema
RequestStatuses




RequestStatusesEx (EnvelopeStatusFilter is the same as above)



Name                             Schema Type                        Description
UserInfo                         UserInfo                           This would be the username Email pair of the
                                                                    person whose envelope details are
                                                                    requested.
AccountId                        DSXId                              Account Id for which envelope status is
                                                                    requested.
BeginDateTime                    dateTime                           Specifies the start date of the date range for
                                                                    which envelopes are requested.
                                                                    The date range also can have a status
                                                                    qualifier attribute, which specifies the
                                                                    envelope statuses being requested. The
                                                                    StatusQualifier options are: Completed,
                                                                    Created (the default and what is used if
                                                                    Template or Processing is passed in), Sent,
                                                                    and Voided; any other value becomes
                                                                    StatusChanged.
EndDateTime                      dateTime                           Specifies the end date of the date range for
                                                                    which envelopes are requested.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   124

Name                             Schema Type                        Description
Statuses                         EnvelopeStatusCode                 Specifies the status of the envelope at the
                                                                    time of request. This is enumerator
                                                                    controlled.
EnvelopeIds                      DSXId                              Specifies the envelope Ids of envelopes for
                                                                    which status needs to be known.
StartAtIndex                     nonNegativeInteger                 If envelope status result sets exceed 200
                                                                    envelopes, this element can be used to
                                                                    specify that the method should return
                                                                    envelopes at the specified index. The first
                                                                    index is 0, and should be used in the first call
                                                                    to RequestStatuses. Typically this number is
                                                                    a multiple of 200.
ACStatus                         EnvelopeACStatusCode               Specifies the Authoritative Copy Status for
                                                                    the envelopes. The possible values are:
                                                                    Unknown, Original, Transferred,
                                                                    AuthoritativeCopy,
                                                                    AuthoritativeCopyExportPending,
                                                                    AuthoritativeCopyExported, DepositPending,
                                                                    Deposited, DepositedEO, or DepositFailed.


Sample Code

   RequestStatuses – C#
  // Create a filter using account ID and today as a start time
  DocuSignWeb.EnvelopeStatusFilter filter = new DocuSignWeb.EnvelopeStatusFilter();
  filter.AccountId = _accountId;
  filter.BeginDateTime = new DocuSignWeb.EnvelopeStatusFilterBeginDateTime();
  filter.BeginDateTime.Value = DateTime.Today;

  // Request all envelopes that match the filter
  DocuSignWeb.FilteredEnvelopeStatuses statuses = _apiClient.RequestStatuses(filter);

  Console.WriteLine("We have {0} statuses that match account ID {1}",
          statuses.EnvelopeStatuses.Length, _accountId);

  foreach (DocuSignWeb.EnvelopeStatus eStatus in statuses.EnvelopeStatuses)
  {
      Console.WriteLine("tEnvelope with ID {0} has status {1}", eStatus.EnvelopeID,
          eStatus.Status.ToString());
  }

   RequestStatuses – PHP
  // Create a filter using account ID and today as a start time
  $envStatusFilter = new EnvelopeStatusFilter();
  $envStatusFilter->AccountId = $AccountID;
  $beginDateTime = new EnvelopeStatusFilterBeginDateTime();
  $beginDateTime->_ = todayXsdDate(); // note that this helper function
                                      // is in CodeSnippets/include/utils.php
                                      // in the PHP SDK
  $envStatusFilter->BeginDateTime = $beginDateTime;

  // Send
  $requestStatusesparams = new RequestStatuses();
  $requestStatusesparams->EnvelopeStatusFilter = $envStatusFilter;



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   125

 $response = $api->RequestStatuses($requestStatusesparams);

 RequestStatusesEx – C#
 // Create a filter using account ID and today as a start time
 DocuSignWeb.EnvelopeStatusFilter filter
     = new DocuSignWeb.EnvelopeStatusFilter();

 filter.AccountId = _accountId;
 DocuSignWeb.EnvelopeStatusFilterBeginDateTime begin
     = new DocuSignWeb.EnvelopeStatusFilterBeginDateTime();

 begin.Value = DateTime.Today;
 filter.BeginDateTime = begin;

 // Request all envelopes that match the filter
 DocuSignWeb.FilteredEnvelopeStatuses statuses = _apiClient.RequestStatusesEx(filter);

 // Display information about the statuses
 Console.WriteLine("We have {0} statuses that match account ID {1}",
         statuses.EnvelopeStatuses.Length, statuses.EnvelopeStatusFilter.AccountId);

 foreach (DocuSignWeb.EnvelopeStatus eStatus in statuses.EnvelopeStatuses)
 {
     Console.WriteLine("tEnvelope with ID {0}", eStatus.EnvelopeID);
     foreach (DocuSignWeb.DocumentStatus dStatus in eStatus.DocumentStatuses)
     {
         Console.WriteLine("ttDocument with ID {0} has name {1}", dStatus.ID,
             dStatus.Name);
     }
 }

 RequestStatusesEx – PHP
 // Create a filter using account ID and today as a start time
 $envStatusFilter = new EnvelopeStatusFilter();
 $envStatusFilter->AccountId = $AccountID;
 $beginDateTime = new EnvelopeStatusFilterBeginDateTime();
 $beginDateTime->_ = todayXsdDate(); // link to Helper Functions
 $envStatusFilter->BeginDateTime = $beginDateTime;

 // Send
 $RequestStatusesExparams = new RequestStatusesEx();
 $RequestStatusesExparams->EnvelopeStatusFilter = $envStatusFilter;
 $response = $api->RequestStatusesEx($RequestStatusesExparams);




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    126

EnvelopeStatus
Shown below is the schema for envelope status, which is the response schema to the RequestStatus.

Schema




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    127

The RequestStatus response contains a snapshot of the status of the envelope at the time the call
was issued. It contains the following attributes and elements:

Name                              Schema Type                      Description
RecipientStatuses                 RecipientStatus                  Includes the status of each of the envelope
                                                                   recipients. See the RecipientStatus section
                                                                   below for more information.
TimeGenerated                     dateTime                         Specifies the time of creation of the envelope
EnvelopeID                        DSXId                            The Envelope ID of the envelope who’s status
                                                                   is provided.
Subject                           String                           The envelope subject, as provided by the
                                                                   envelope creator.
UserName                          UserName                         Contains the user name of the person who
                                                                   created the envelope
Email                             Email                            Contains the email of the person who created
                                                                   the envelope
Status                            EnvelopeStatusCode               Status of the envelope at that specific time.
                                                                   Enumeration values could be Created, Deleted,
                                                                   Sent, Delivered, Signed, Completed, Declined,
                                                                   Voided, TimedOut, AuthoritativeCopy,
                                                                   TransferCompleted, Template, and Correct.
                                                                   See Envelope Status Code Descriptions for
                                                                   information about the codes. The <any>
                                                                   element has been included to enable document
                                                                   author to extend his/her document with
                                                                   elements not specified by the schema.
Created                           dateTime                         Date and time when the envelope was created.
Deleted                           dateTime                         Date and time when the envelope was deleted.
Sent                              dateTime                         Date and time when the envelope was sent.
Delivered                         dateTime                         Last time the envelope was viewed by a signer.
Signed                            dateTime                         Last time a signer signed the document.
Completed                         dateTime                         Date and time when the envelope is completed.
Declined                          dateTime                         Date and time when the envelope was declined
                                                                   by the recipient.
TimedOut                          dateTime                         Date and time with the envelope is timed out
ACStatus                          String                           Returns any one of the following Authoritative
                                                                   copy status; DepositPending, Deposited,
                                                                   DepositedEO or DepositFailed
ACStatusDate                      dateTime                         The time at with authoritative copy was created
ACHolder                          String                           Contains the user name of the authoritative
                                                                   copy holder.
ACHolderEmail                     LongString                       Contains the email of the authoritative copy
                                                                   holder.
ACHolderLocation                  String                           Contains the location of the authoritative copy
                                                                   holder.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    128

Name                             Schema Type                      Description
SigningLocation                  SigningLocationCode              Specifies the physical location of the signer.
                                                                  Enumeration values are InPerson and Online
SenderIPaddress                  String                           IP address of the user who sent the envelope
EnvelopePDFHash                  String                           DocuSign’s internal hash of the encrypted
                                                                  document.
CustomField                      CustomField                      Each custom field defined for the envelope is
                                                                  returned. In addition to the name and value of
                                                                  the field, it will include information as to
                                                                  whether the field was required to be provided.
                                                                  Also it mentions if it is shown in the DocuSign
                                                                  user interface.
VaultingDetails                  VaultingDetails                  This complex type contains information about
                                                                  EOD Transaction name, transaction ID and
                                                                  document profile ID.
EnvelopeIdStamping               Boolean                          Specifies if the envelope stamping feature is
                                                                  enabled or not.
AuthoritativeCopy                Boolean                          Return value true if the authoritative copy is
                                                                  created else returns false.
EnvelopeAttachment               Attachment                       It would be possible to return attachments with
                                                                  envelope. This complex element contains data
                                                                  in base64Binary. It also contains label and type
                                                                  for the attachment.
DocumentStatuses                 DocumentStatus                   Only returned when calling RequestStatusEx
                                                                  and RequestStatusesEx. DocumentStatus
                                                                  includes:
                                                                  ID – this is the ID from the source system.
                                                                  Name – name of the document.
                                                                  TemplateName – template the document
                                                                  originated from if the envelope was created
                                                                  using CreateEnvelopeFromTemplates.
                                                                  Sequence – order in which the document
                                                                  appears in the envelope.
FormData                         FormData                         Reserved for future use. Will only be returned
                                                                  with the GetStatusInDocuSignConnectFormat
                                                                  API. This will return all the DocuSign Secure
                                                                  Fields and DocuSign PowerForms fields as
                                                                  XML.

   Envelope Status Code Descriptions
   The table below provides descriptions of the Envelope Status Codes.

    Code                        Description
    Created                     The envelope is in a draft state and has not been sent out for signing.
    Deleted                     This is a legacy status and is no longer used.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   129

  Code                         Description
  Sent                         An email notification with a link to the envelope has been sent to at least one
                               recipient. The envelope remains in this state until all recipients have viewed it at
                               a minimum.
  Delivered                    All recipients have viewed the document(s) in an envelope through the
                               DocuSign signing web site. This is not an email delivery of the documents in an
                               envelope.
  Signed                       The envelope has been signed by all the recipients. This is a temporary state
                               during processing, after which the envelope is automatically moved to
                               Completed status.
  Completed                    The envelope has been completed by all the recipients.
  Declined                     The envelope has been declined for signing by one of the recipients.
  Voided                       The envelope has been voided by the sender
  TimedOut                     This is a legacy status and is no longer used.
  AuthoritativeCopy            The envelope is in an Authoritative state. Only “Copy” views of the documents
                               will be shown.
  TransferCompleted            The envelope has been transferred out of DocuSign to another authority.
  Template                     The envelope is a Template
  Correct                      The envelope has been opened by the sender for correction. The signing is
                               stopped for envelopes with this status.




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   130

RecipientStatus




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     131

      Name                               Schema Type                      Description
      Type                               RecipientTypeCode                This element controlled by enumerator
                                                                          tells the role of the recipient. It could be
                                                                          Signer, CarbonCopy, CertifiedDelivery,
                                                                          InPersonSigner, Agent, Editor or
                                                                          Intermediary.
                                                                          For InPersonSigner:
                                                                          The Email element should be that of
                                                                          the “Signing Host” (the person who will
                                                                          receive the email and assist the signer
                                                                          with the in-person signing process.
                                                                          The UserName element should be that
                                                                          of the “Signing Host” (the Email and
                                                                          UserName combination must match an
                                                                          active DocuSign user).
      Email                              Email                            The recipient’s email address.
      UserName                           UserName                         User name of recipient.
      RoutingOrder                       PositiveShort                    Routing order of the recipient in the
                                                                          envelope.
      Sent                               dateTime                         Date and time when the envelope was
                                                                          sent.
      Delivered                          dateTime                         Date and time when the envelope was
                                                                          viewed by the recipient.
      Signed                             dateTime                         Date and time when the envelope was
                                                                          signed by the recipient.
      Declined                           dateTime                         Date and time when the envelope was
                                                                          declined by the recipient.
      DeclineReason                      String                           The reason given by the recipient while
                                                                          declining the envelope.
      Status                             RecipientStatusCode              Specifies the status of the recipient at
                                                                          the time of request. It could be
                                                                          Created, Sent, Delivered, Signed,
                                                                          Declined, Completed, FaxPending or
                                                                          AutoResponded. See Recipient Status
                                                                          Code Descriptions for information
                                                                          about the codes.
      AutoRespondedReason                String                           Only active if the Status is
                                                                          AutoResponded. Contains the SMTP
                                                                          message text returned from a
                                                                          recipient's automatic response.
      Recipient IPAddress                String                           The IP address of the recipient’s most
                                                                          recent access of this envelope.
      ClientUserID                       LongString                       Tells if the recipient is captive or not. If
                                                                          the ClientUserId is not null then the
                                                                          recipient is captive.




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   132

      Name                               Schema Type                      Description
      CustomField                        LongString                       Each custom field defined for the
                                                                          envelope is returned. In addition to the
                                                                          name and value of the field, it will
                                                                          include information as to whether the
                                                                          field was required to be provided. Also
                                                                          it mentions if it is shown in the
                                                                          DocuSign user interface.
      AutoNavigation                     Boolean                          If returns true then autonavigation
                                                                          feature is enabled for the recipient.
      IDCheckInformation                 IDCheckInformationInput          Returns the following information about
                                                                          the recipient; Address (i.e. Street1,
                                                                          Street2, City, State, Zip and ZipPlus4),
                                                                          DOB and last four digits of SSN.
      RecipientAuthenticationStatus      AuthenticationStatus             Returns the details about recipient
                                                                          authentication. It includes information
                                                                          regarding the IdCheck, Access Code
                                                                          and IDLookUp results. Tells if the
                                                                          status of the above check is passed or
                                                                          failed and also does a timestamp.
      TabStatuses                        TabStatus                        Returns the status of the tabs. See the
                                                                          TabStatus section below for more
                                                                          information.
      RecipientAttachment                Attachment                       This complex element contains data in
                                                                          base64Binary. It also contains label
                                                                          and type for the attachment.
      AccountStatus                      String                           Only returned when calling
                                                                          RequestStatusEx and
                                                                          RequestStatusesEx. Returns the
                                                                          status of the recipient’s account.
      EsignAgreementInformation          EsignAgreementInformation        Only returned when calling
                                                                          RequestStatusEx and
                                                                          RequestStatusesEx. Only returned if
                                                                          the recipient agreed. Returns the
                                                                          agreement information of the recipient.
                                                                          Returned items:
                                                                          AccountEsignID – account agreement
                                                                          ID.
                                                                          AgreementDate – date accepted.
                                                                          UserEsignID – user agreement ID.
      FormData                           FormData                         Reserved for future use. Will only be
                                                                          returned with the
                                                                          GetStatusInDocuSignConnectFormat
                                                                          API. This will return all the DocuSign
                                                                          Secure Fields for the recipient.
      RecipientId                        String                           Only returned when calling
                                                                          RequestStatusEx and
                                                                          RequestStatusesEx. Returns the
                                                                          DocuSign recipient Id mapped to the
                                                                          recipient.


 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     133

        Name                               Schema Type                      Description
        DeliveryMethod                     Delivery Method                  This shows the delivery method used
                                                                            for the recipient. The two
                                                                            enumerations are Email or Fax.
        FaxNumber                          String                           The fax number for the recipient. This
                                                                            is only active if the DeliveryMethod is
                                                                            Fax.

   Recipient Status Code Descriptions
   The table below provides descriptions of the Recipient Status Codes.

    Code                    Description
    Created                 The recipient is in a draft state. This is only associated with draft envelopes
                            (envelopes with a Created status).
    Sent                    The recipient has been sent an email notification that it is their turn to sign and
                            envelope.
    Delivered               The recipient has viewed the document(s) in an envelope through the DocuSign
                            signing web site. This is not an email delivery of the documents in an envelope.
    Signed                  The recipient has completed (signed) all required tags in an envelope. . This is a
                            temporary state during processing, after which the recipient is automatically moved
                            to Completed.
    Declined                The recipient declined to sign the document(s) in the envelope.
    Completed               The recipient has completed their actions (signing or other required actions if not a
                            signer) for an envelope.
    FaxPending              The recipient has finished signing and the system is waiting a fax attachment by the
                            recipient before completing their signing step.
    AutoResponded           The recipient’s email system auto-responded (bounced-back) to the email from
                            DocuSign. This status is used in the web console to inform senders about the
                            bounced-back email. This is only used if “Send-on-behalf-of” is turned off for the
                            account.



TabStatus
The TabStatus element contains information on tabs in the document.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    134




Name                             Schema Type                       Description
TabType                          TabTypeCode                       Returns the tab type. This element is
                                                                   enumerator controlled and can have following
                                                                   values; InitialHere, SignHere, FullName,
                                                                   Company, Title, DateSigned,
                                                                   InitialHereOptional, EnvelopeID, Custom,
                                                                   SignerAttachment, SignHereOptional, Approve
                                                                   or Decline. Note that FirstName, LastName
                                                                   and EmailAdress tab types are not returned in
                                                                   this SOAP version.
Status                           String                            The status of individual tabs. It can have the
                                                                   enumeration values; Active, Signed, Declined
                                                                   and N/A



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                       135

Name                             Schema Type                       Description
XPosition/YPosition              double                            X position and Y position of the field. The X
                                                                   and Y positions originate at the upper left of
                                                                   the page and indicate the bottom left-most
                                                                   point of the field. For text fields, this is the
                                                                   upper left of the first letter of the text string. For
                                                                   signature fields, this is the upper left of the first
                                                                   letter of the signature stamp and does NOT
                                                                   include signature stamp image decoration
                                                                   which can surround the signature text.
Signed                           dateTime                          Date and time when the document was signed
                                                                   by the recipient.
TabLabel                         String                            This would be the label of the custom tab.
TabName                          String                            This would be the name of the custom tab.
TabValue                         String                            This element contains the value of the custom
                                                                   tab.
DocumentID                       PositiveInteger                   Only returned when calling RequestStatusEx
                                                                   and RequestStatusesEx. Returns the
                                                                   originating document ID.
PageNumber                       PositiveInteger                   Only returned when calling RequestStatusEx
                                                                   and RequestStatusesEx. Returns the page
                                                                   number the tab is on.
OriginalValue                    String                            Only returned when calling RequestStatusEx
                                                                   and RequestStatusesEx. Original value before
                                                                   signing.
ValidationPattern                String                            Only returned when calling RequestStatusEx
                                                                   and RequestStatusesEx. Validation pattern
                                                                   that was originally passed in, if any.
RoleName                         String                            Only returned when calling RequestStatusEx
                                                                   and RequestStatusesEx. Only returned when
                                                                   the envelope originated from
                                                                   CreateEnvelopeFromTemplates. RoleName
                                                                   that this tab is associated with in the
                                                                   originating template.
ListValues                       String                            Only returned when calling RequestStatusEx
                                                                   and RequestStatusesEx. Returns the list
                                                                   values passed in when the envelope was
                                                                   created.
ListSelectedValue                String                            Only returned when calling RequestStatusEx
                                                                   and RequestStatusesEx. Returns the selected
                                                                   value from ListValues.
ScaleValue                       Decimal                           Represents a decimal value of 0.0 to 1.0
                                                                   position of the webcontrol scaling slider. A
                                                                   value of 1.0 represents full size.
CustomTabType                    CustomTabType                     Returns the custom tab type.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    136

AuthenticationStatus
The AuthenticationStatus element contains information on the recipient authentication status. This
only returns the applicable authentication result.




Name                               Schema Type                       Description
AccessCodeResult                   EventResult                       Result for an access code authentication
                                                                     check, it returns:
                                                                     Status – Pass or Fail
                                                                     dateTime – The date/time of the event
                                                                     FailureDescription – A string with the details
                                                                     of a failed authentication, if provided. This is
                                                                     only provided in case of a failed
                                                                     authentication.
                                                                     VendorFailureStatusCode – A string with a
                                                                     vendor status code, if provided. This is only
                                                                     provided in case of a failed authentication.
IDQuestionsResult                  EventResult                       Result for an ID question authentication
                                                                     check. It returns the same elements as
                                                                     shown in the AccessCodeResult above.
IDLookupResult                     EventResult                       Result for an ID lookup authentication check.
                                                                     It returns the same elements as shown in the
                                                                     AccessCodeResult above.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    137

Name                              Schema Type                       Description
AgeVerifyResult                   EventResult                       Result for an age verification authentication
                                                                    check. It returns the same elements as
                                                                    shown in the AccessCodeResult above.
STANPinResult                     EventResult                       Result for a Student Authentication Network
                                                                    (STAN) check. It returns the same elements
                                                                    as shown in the AccessCodeResult above.
OFACResult                        EventResult                       Result for an Office of Foreign Asset Control
                                                                    (OFAC) check. It returns the same elements
                                                                    as shown in the AccessCodeResult above.
PhoneAuthResult                   EventResult                       Result for a phone authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.
LiveIDResult                      EventResult                       Result for a Live ID authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.
FacebookResult                    EventResult                       Result for a Facebook authentication check.
                                                                    It returns the same elements as shown in the
                                                                    AccessCodeResult above.
GoogleResult                      EventResult                       Result for a Google authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.
LinkedinResult                    EventResult                       Result for a LinkedIn authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.
SalesforceResult                  EventResult                       Result for a Salesforce authentication check.
                                                                    It returns the same elements as shown in the
                                                                    AccessCodeResult above.
TwitterResult                     EventResult                       Result for a Twitter authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.
OpenIDResult                      EventResult                       Result for an Open ID authentication check.
                                                                    It returns the same elements as shown in the
                                                                    AccessCodeResult above.
AnySocialIDResult                 EventResult                       Result for any other social ID authentication
                                                                    check. It returns the same elements as
                                                                    shown in the AccessCodeResult above.
YahooResult                       EventResult                       Result for a Yahoo authentication check. It
                                                                    returns the same elements as shown in the
                                                                    AccessCodeResult above.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    138

FilteredEnvelopeStatuses

Schema




Name                             Schema Type                         Description
ResultSetSize                    Integer                             This element contains the total number of
                                                                     envelopes in the total result set. If this
                                                                     number exceeds 200 then at most 200
                                                                     results is returned in this request.
EnvelopeStatusFilter             EnvelopeStatusFilter                This element contains the filter criteria exactly
                                                                     as passed in the request. See the
                                                                     EnvelopeStatusFilter information in the
                                                                     RequestStatuses and RequestStatuesEx
                                                                     section above for more information.
EnvelopeStatus                   EnvelopeStatus                      An EnvelopeStatus element (exactly as
                                                                     defined by the EnvelopeStatus method
                                                                     response above) is returned for each of the
                                                                     envelopes in the result set, up to a maximum
                                                                     size of 200 elements. See the
                                                                     EnvelopeStatus section above for more
                                                                     information.

Rules for RequestStatus, RequestStatuses, RequestStatusEx,
RequestStatusesEx, EnvelopeStatus and FilteredEnvelopeStatuses

API user specific rules
   •   The EnvelopeID, UserName and Email specified in the RequestStatus, EnvelopeStatus
       RecipientStatus, and RequestStatuses methods shall not exceed 100 characters.
   •   AccountID specified in RequestStatuses should not exceed 100 characters.

Rules for Exceptions thrown by the API
   •   An envelope having the specified EnvelopeID must exist in the system. Else, an exception with
       the error message “Envelope_Does_Not_Exist” is thrown.
   •   In RequestStatus method User defined by UserName and Email pair should have the
       permission to request for envelope status. Only sender recipient or a user in the same account
       as sender with account wide permission will be able to request for the status. Else an
       exception is thrown with error message “User_Lacks_Permissions”.
   •   In the RequestStatuses method, user defined by UserName and Email pair should belong to
       the account specified by AccountID. Else an exception with error message
       “User_Does_Not_Belong_To_Specified_Account” thrown.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                     139

   •   In the RequestStatuses method the envelopes for which the status is requested should owned
       by the account in the specified AccountID. Else an exception is thrown with error message
       “Account_Not_Authorized_For_Envelope”.

GetFolderList and GetFolderItems
The GetFolderList and GetFolderItem methods are used to retrieve the list of folders, including shared
folders, and envelopes in the folders. Using these calls is a more efficient way to get a list of
envelopes than using RequestStatuses to request individual envelope statuses.

GetFolderList
GetFolderList requests the list of all folders, including shared folders, available for the account.

   Schema




Name                              Schema Type                       Description
AccountId                         DSXId                             The account ID associated with the requested
                                                                    folders.
IncludeHierarchy                  Boolean                           If true, the folder’s hierarchical positions are
                                                                    returned.


AvailableFolders
This is the response to a GetFolderList request and provides the list of folders, including shared
folders, for the requestor.

Name                              Schema Type                       Description
Folders                           Folder                            An array of Folder objects with the
                                                                    FolderOwner and FolderTypeInfo.

   Folder
   Provides the Folder Owner and Folder Type information.

Name                              Schema Type                       Description
FolderOwner                       String                            The name of the user that currently owns
                                                                    folder.
FolderTypeInfo                    FolderTypeInfo                    The type of folder and in some cases the
                                                                    name of the folder. Values can be RecycleBin,
                                                                    Draft, Inbox, SentItems or Normal.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    140

   FolderTypeInfo
   Provides the Folder Type information and, if the Folder Type is Normal, the Folder Name.

Name                              Schema Type                       Description
FolderType                        FolderType                        The type of folder based on the GetFolders
                                                                    call. Values can be RecycleBin, Draft, Inbox,
                                                                    SentItems or Normal.
FolderName                        String                            The name of the folder. This only appears if the
                                                                    FolderType is Normal.
FolderPath                        String                            the hierarchical path to the folder, comprised of
                                                                    bar (|) delimited FolderIds (for example:
                                                                    grandparent_folder|parent_folder|folder)
FolderId                          String                            The folder’s (Guid) identifier.


GetFolderItems
GetFolderItems requests all the envelopes in a specified folder for the requestor or a Folder Owner.

   Schema




Name                              Schema Type                       Description
AccountId                         DSXId                             The account ID about which the call is
                                                                    requesting folder information.
                                                                    This is used in conjunction with the user
                                                                    passed in the API request.
FolderOwner                       String                            Optional field. The name of the user that
                                                                    currently owns the requested folders.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                      141

Name                              Schema Type                       Description
FolderTypeInfo                    FolderTypeInfo                    Optional FolderTypeInfo object. The type of
                                                                    folder and in some cases the name of the
                                                                    folder. Values can be RecycleBin, Draft, Inbox,
                                                                    SentItems or Normal. If no value is entered,
                                                                    the default search is all folders.
                                                                    See FolderTypeInfo for more information.
StartPosition                     Integer                           The position of the folder items to return. This
                                                                    is used for repeated calls, when the number of
                                                                    envelopes returned is too much for one return
                                                                    (calls return 100 envelopes at a time). The
                                                                    default value is 0.
FromDate                          dateTime                          Optional field. Only return items on or after
                                                                    this date. If no value is provided, the default
                                                                    search is the previous 30 days.
ToDate                            dateTime                          Optional field. Only return items up to this
                                                                    date. If no value is provided, the default
                                                                    search is to the current date.
SearchText                        String                            Optional field. The search text used to search
                                                                    the items of the envelope. The search looks at
                                                                    recipient names and emails, envelope custom
                                                                    fields, sender name, and subject.
Status                            String                            Optional field. The current status of the
                                                                    envelope. If no value is provided, the default
                                                                    search is all/any status.


FolderResults
This is the response for a GetFolderItems request and provides the list of envelopes in the requested
folder(s) for the requestor.

Name                              Schema Type                       Description
ResultSetSize                     Integer                           The total number of envelopes in the folder for
                                                                    the dates requested.
StartPosition                     Integer                           The starting position of the folder items
                                                                    returned (only 100 results are returned at a
                                                                    time).
EndPosition                       Integer                           The end position of the folder items returned.
FolderItems                       FolderItem                        Provides information about the envelopes in
                                                                    the specified folder.
FolderTypeInfo                    FolderTypeInfo                    The type of folder and in some cases the
                                                                    name of the folder. Values can be RecycleBin,
                                                                    Draft, Inbox, SentItems or Normal.
                                                                    See FolderTypeInfo for more information.

   FolderItem
   FolderItem provides the information about each envelope in a folder.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   142

Name                             Schema Type                       Description
Owner                            String                            The name of the user that currently owns the
                                                                   envelope.
EnvelopeID                       LocalId                           The unique ID for the envelope.
Status                           String                            The current status of the envelope.
SenderName                       String                            The name of the sender of the envelope.
SenderEmail                      String                            The email for the sender of the envelope.
SenderCompany                    String                            The company name of the sender of the
                                                                   envelope.
RecipientStatuses                RecipientStatus                   A complex element that contains the status of
                                                                   each of the envelope recipients
CustomFields                     CustomField                       A complex element that contains a list of
                                                                   names and values for any custom fields.
Created                          dateTime                          Date and time when the envelope was
                                                                   created.
Sent                             dateTime                          Date and time when the envelope was sent.
Completed                        dateTime                          Date and time when the envelope was
                                                                   completed.
Subject                          String                            The envelope subject, as provided by the
                                                                   envelope creator.


Code Samples

   GetFolderList – C#
  // Create the folders filter with an account ID
  DocuSignWeb.FoldersFilter filter = new DocuSignWeb.FoldersFilter();
  filter.AccountId = _accountId;

  // Now, call the method to get a list of the folders on the
  // specified account
  DocuSignWeb.AvailableFolders folders = _apiClient.GetFolderList(filter);

  // Everyone will at least have the folders:
  // Draft, Sent Items, Inbox and Deleted Items
  // Print out some information about the returned folders
  Console.WriteLine("The folders available on account {0} are:", _accountId);

  foreach (DocuSignWeb.Folder folder in folders.Folders)
  {
      Console.WriteLine("t{0} owns folder {1}",
          folder.FolderOwner.UserName, folder.FolderTypeInfo.FolderName);
  }

   GetFolderList – PHP
  // Create the folders filter with an account ID
  $filter = new FoldersFilter();
  $filter->AccountId = $AccountID;

  // Send
  $getFolderListparams = new GetFolderList();



  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    143

  $getFolderListparams->FoldersFilter = $filter;
  $response = $api->GetFolderList($getFolderListparams);

   GetFolderItems – C#
  // Create the folder filter to specify the scope of your search
  // Here, we are limiting the item search to the inbox
  // You can also limit by owner, date, status and position
  DocuSignWeb.FolderFilter filter = new DocuSignWeb.FolderFilter();
  filter.AccountId = _accountId;
  filter.FolderTypeInfo = new DocuSignWeb.FolderTypeInfo();
  filter.FolderTypeInfo.FolderType = DocuSignWeb.FolderType.Inbox;

  // Now, call the method with the filter we created
  DocuSignWeb.FolderResults results = _apiClient.GetFolderItems(filter);

  // If there are results, print out the details
  if (results.ResultSetSize > 0)
  {
      // Loop through and print out some information about the results
      Console.WriteLine("Envelopes in the inbox are:");
      foreach (DocuSignWeb.FolderItem item in results.FolderItems)
      {
          Console.WriteLine("tEnvelope {0} has status of: {1}",
              item.EnvelopeId, item.Status);
      }
  }

   GetFolderItems - PHP
  // Create the folder filter to specify the scope of your search
  // Here, we are limiting the item search to the inbox
  // You can also limit by owner, date, status and position
  $filter = new FolderFilter();
  $filter->AccountId = $AccountID;
  $filter->StartPosition = 0;
  $filterTypeInfo = new FolderTypeInfo();
  $filterTypeInfo->FolderType = FolderType::Inbox;
  $filter->FolderTypeInfo = $filterTypeInfo;

  // Send
  $getFolderItemsparams = new GetFolderItems();
  $getFolderItemsparams->FolderFilter = $filter;
  $response = $api->GetFolderItems($getFolderItemsparams);

Ping
The Ping API method enables API users make a simple call to the API service to determine its active
state.

Schema
Sample Request XML:
  SOAPAction: "http://www.docusign.net/API/3.0/Ping"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <Ping xmlns="http://www.docusign.net/API/3.0" />



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    144

     </soap:Body>
   </soap:Envelope>


Return XML
This method simply returns “true” in the result XML if the calling application was able to reach it.

PurgeDocuments
This method can be used to purge envelope documents from the DocuSign system. When the
PurgeDocuments method is used, the envelope documents are placed in a purge queue for deletion
in 14 days. A warning email notification is sent to the sender and recipients associated with the
envelope notifying them that the envelope document will be deleted in 14 days and providing a link to
the documents. Another email is sent 7 days later with the same message. At the end of the 14-day
period, the envelope documents are deleted from the system. The envelope information for the
document will remain, but the documents are removed.
   Note: If you set up a Document Retention policy for your account, by specifying the number of
   days to retain documents in the Account Preferences Features section, at the end of the retention
   period the documents are placed on that 14-day purge queue and the warning emails are sent.
   So in effect, setting Document Retention policy is the same as setting a schedule for calling
   PurgeDocuments.


Schema



Name                              Schema Type                       Description
EnvelopeId                        DSXId                             Envelope ID to purge the documents from.
This method returns PurgeDocumentStatus upon execution completion.

PurgeDocumentsStatus

   Schema




Name                              Schema Type                       Description
PurgeDocumentSuccess              Boolean                           True if successful.
PurgeDocumentError                String                            If PurgeDocumentSuccess is false an error
                                                                    description is returned.


Rules and Exceptions for PurgeDocuments
   •   Envelope_Does_Not_Exist – invalid envelope ID passed. This exception will be thrown.
   •   User_Lacks_Permissions - The user making the API calls must have permissions to export
       Authoritative Copy Documents. This exception will be thrown.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   145

     •     If PurgeDocumentSuccess returns false one of the following error conditions occurred:
              o   Only the sender may remove the envelope documents.
              o   Envelope is an authoritative copy, documents cannot be removed.
              o   Envelope is not complete, documents cannot be removed.

Sample Code

     PurgeDocuments – C#
     // Create and send envelope as shown in linked code
     DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

     // Purge the documents from the envelope
     DocuSignWeb.PurgeDocumentStatus pStatus = _apiClient.PurgeDocuments(status.EnvelopeID);

     // Confirm that the purge succeeded
     Console.WriteLine("Purging the envelope worked? {0}", pStatus.PurgeDocumentSuccess);

     PurgeDocuments – PHP
     // Create and send envelope as shown in linked code
     $response = <create and send envelope>;
     $createResult = $response->CreateAndSendEnvelopeResult;

     // Purge the documents from the envelope
     $purgeDocumentsparams = new PurgeDocuments();
     $purgeDocumentsparams->EnvelopeID = $createResult->EnvelopeID;
     $response = $api->PurgeDocuments($purgeDocumentsparams);

RequestEnvelope
The RequestEnvelope call returns an API Envelope object containing all the data of an envelope. The
envelope must be owned by the API user.

Name                                Schema Type                       Description
EnvelopeID                          String                            The envelope ID of the user’s envelope
IncludeDocumentBytes                Boolean                           If set to “true” the document bytes are returned
                                                                      with the envelope information.
The response to the RequestEnvelope call is:

Name                                Schema Type                       Description
Envelope                            complexType                       A complex API Envelope object


Additional Errors for RequestEnvelope
In addition to the normal authentication check errors, the following error is also added.
•    User_Lacks-Permissions – The user does not own have permission to access the envelope.
•    Envelope_Does_Not_Exist – Invalid envelope ID passed.
Schema for RequestEnvelope
         <xs:element name="RequestEnvelope">
           <xs:complexType>
             <xs:all>


     111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   146

          <xs:element name="EnvelopeID" type="dsx:DSXId" />
          <xs:element name="IncludeDocumentBytes" type="xs:boolean" />
        </xs:all>
      </xs:complexType>
    </xs:element>


Sample Code

   RequestEnvelope – C#
  // Create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

  // Call to request the envelope with the envelope's ID
  DocuSignWeb.Envelope returnEnvelope = _apiClient.RequestEnvelope(status.EnvelopeID,
  false);

  // Display information about the return envelope
  Console.WriteLine("Return envelope has a subject of "{0}"", returnEnvelope.Subject);

   RequestEnvelope: PHP
  // Create and send an envelope as shown in linked code
  $response = <create amd send envelope>;
  $createResult = $response->CreateAndSendEnvelopeResult;

  // Request envelope with envelope id
  $requestEnvelopeparams = new RequestEnvelope();
  $requestEnvelopeparams->EnvelopeID = $createResult->EnvelopeID;
  $requestEnvelopeparams->IncludeDocumentBytes = false;
  $response = $api->RequestEnvelope($requestEnvelopeparams);

RequestStatusChanges
The RequestStatusChanges method requests the envelope status changes for the envelopes for
account on or after the specified date/time.

Schema




Name                             Schema Type                       Description
AccountID                        DSXId                             The account ID for the envelope status
                                                                   changes being requested.
StatusChangedSince               DateTime                          Specifies the date/time when the request
                                                                   begins checking for status changes for
                                                                   envelopes in the account.




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    147

Name                              Schema Type                       Description
Statuses                          EnvelopeStatusChange              Optional array of envelope status codes. If
                                                                    provided, this indicates the envelope status
                                                                    code changes being requested. Possible
                                                                    values are: Voided, Created, Deleted, Sent,
                                                                    Delivered, Signed, Completed, Declined,
                                                                    TimedOut and Processing.
UserInfo                          UserInfo                          Optional UserInfo object. If provided, this
                                                                    indicates the user whose envelopes are being
                                                                    requested.
                                                                    UserInfo contains:
                                                                    UserName – The user’s name as listed in the
                                                                    account.
                                                                    Email – The email associated with the user
                                                                    name.


FilteredEnvelopeStatusChanges
This is the response for RequestStatusChanges. It returns the current state of the requested
envelopes in an array.

Name                              Schema Type                       Description
EnvelopeStatusChanges             EnvelopeStatusChanges             An array of EnvelopeStatusChange objects.
                                                                    Each EnvelopeStatusChange contains:
                                                                    EnvelopeID – The envelope ID.
                                                                    Status – The EnvelopeStatusCode for the
                                                                    envelope.
                                                                    StatusChanged – The date and time the
                                                                    status change occurred.
ResultSetSize                     Integer                           This is the total number of items returned in
                                                                    EnvelopeStatusChanges.


Sample Code

   RequestStatusChanges – C#
  // Create the status change filter to specify the scope of your search
  // Here, we are limiting the search to envelopes changed today
  // You can also limit by user and status
  DocuSignWeb.EnvelopeStatusChangeFilter filter =
      new DocuSignWeb.EnvelopeStatusChangeFilter();

  filter.AccountId = _accountId;

  DocuSignWeb.EnvelopeStatusFilterBeginDateTime begin =
      new DocuSignWeb.EnvelopeStatusFilterBeginDateTime();

  begin.Value = DateTime.Today;
  filter.StatusChangedSince = begin.Value;

  // Now, make the call with the filter we created
  DocuSignWeb.FilteredEnvelopeStatusChanges changes =
      _apiClient.RequestStatusChanges(filter);



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    148


   if (changes.ResultSetSize > 0)
   {
       // Loop through and print out some information about the results
       Console.WriteLine("Changes since today are:");
       foreach (DocuSignWeb.EnvelopeStatusChange change
           in changes.EnvelopeStatusChanges)
       {
           Console.WriteLine("tEnvelope {0} has status: {1}n",
               change.EnvelopeID, change.Status);
       }
   }

   RequestStatusChanges – PHP
   // Create the status change filter to specify the scope of your search
   // Here, we are limiting the search to envelopes changed today
   // You can also limit by user and status
   $filter = new EnvelopeStatusChangeFilter();
   $filter->AccountId = $AccountID;
   $filter->StatusChangedSince = todayXsdDate();

   // Send
   $requestStatusChangesparams = new RequestStatusChanges();
   $requestStatusChangesparams->EnvelopeStatusChangeFilter = $filter;
   $response = $api->RequestStatusChanges($requestStatusChangesparams);

RequestStatusCodes
The RequestStatusCodes method requests the current state (Delivered, Complete, Voided, etc.) of
the specified envelopes.

Request Envelope Statuses Notes
The SOAP calls for RequestStatuses(Ex) and RequestStatusCodes use certain filters to find results.
In some cases requests are check for “any status change” instead of the just the single status
requested. In these cases, more envelopes might be returned by the request than otherwise would
be. For example, for a request with the begin date is set to Jan 1st, an end date set to Jan 7th and
the StatusQualifier set to “Delivered” – the response set might contain envelopes that were created
during that time period, but not delivered during the time period.
To avoid unnecessary database queries, the DocuSign system checks requests to ensure that the
added filters will not result in a zero-size response before acting on the request. The following table
shows the valid envelope statuses (in the Valid Current Statuses column) for the status qualifiers in
the request. If the status and status qualifiers in the API request do not contain any of the values
shown in the valid current statuses column, then an empty list is returned.
For example, a request with a StatusQualifier of “Delivered” and a status of “Created,Sent”, DocuSign
will always return an empty list. This is because the request essentially translates to: find the
envelopes that were Delivered between the begin and end dates that have a current status of Created
or Sent, and since an envelope that has been delivered can never have a status of Created or Sent, a
zero-size response would be generated. In this case, DocuSign does not run the request, but just
returns the empty list.
Client applications should check that the statuses they are requesting make sense for a given status
qualifier.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    149

BeginDateTime -               Effective Status Qualifier         Valid Current Statuses
StatusQualifier
Any (changed)                 StatusChanged                      Any, Created, Sent, Delivered, Signed,
                                                                 Completed, Declined, Voided, Deleted
Created                       Created                            Any, Created, Sent, Delivered, Signed,
                                                                 Completed, Declined, Voided, Deleted
Sent                          Sent                               Any, Sent, Delivered, Signed, Completed,
                                                                 Declined, Voided, Deleted
Delivered                     StatusChanged                      Any, Delivered, Signed, Completed,
                                                                 Declined, Voided, Deleted
Signed                        StatusChanged                      Any, Signed, Completed, Declined,
                                                                 Voided, Deleted
Completed                     Completed                          Any, Completed, Declined, Voided,
                                                                 Deleted
Declined                      StatusChanged                      Any, Declined, Deleted
TimedOut - Always return      StatusChanged                      Any, Voided, Deleted
zero results
Voided                        Voided                             Any, Voided, Deleted
Deleted                       StatusChanged                      Any, Deleted


Schema




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    150

Name                             Schema Type                       Description
UserInfo                         UserInfo                          Optional field. The UserName-Email pair of the
                                                                   person whose envelope details are requested.
AccountId                        DSXId                             Account ID for which envelope status is
                                                                   requested.
BeginDateTime                    dateTime                          Optional Field. Specifies the start date of the
                                                                   date range for which envelopes are requested.
                                                                   If no value is provided, the default search is
                                                                   the previous 30 days.
                                                                   The date range also can have a status qualifier
                                                                   attribute, which specifies the envelope
                                                                   statuses being requested. The StatusQualifier
                                                                   options are: Completed, Created (the default
                                                                   and what is used if Template or Processing is
                                                                   passed in), Sent, and Voided; any other value
                                                                   becomes StatusChanged.
EndDateTime                      dateTime                          Optional Field. Specifies the end date of the
                                                                   date range for which envelopes are requested.
                                                                   If no value is provided, the default search is to
                                                                   the current date.
Statuses                         EnvelopeStatusCode                Optional Field. Specifies the status of the
                                                                   envelope at the time of request. This is
                                                                   enumerator controlled.
EnvelopeIds                      DSXId                             Optional Field. Specifies the envelope IDs of
                                                                   envelopes for which status is requested.
StartAtIndex                     nonNegativeInteger                Optional Field. If envelope status result sets
                                                                   exceed 200 envelopes, this element can be
                                                                   used to specify that the method should return
                                                                   envelopes at the specified index. The first
                                                                   index is 0, and should be used in the first call
                                                                   to RequestStatuses. Typically this number is a
                                                                   multiple of 200.
ACStatus                         EnvelopeACStatusCode              Specifies the Authoritative Copy Status for the
                                                                   envelopes. The possible values are: Unknown,
                                                                   Original, Transferred, AuthoritativeCopy,
                                                                   AuthoritativeCopyExportPending,
                                                                   AuthoritativeCopyExported, DepositPending,
                                                                   Deposited, DepositedEO, or DepositFailed.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    151

FilteredEnvelopeStatusChanges
This is the response for RequestStatusCodes. It returns the current state of the requested envelopes
in an array.

Name                             Schema Type                       Description
EnvelopeStatusChanges            EnvelopeStatusChanges             An array of EnvelopeStatusChange objects.
                                                                   Each EnvelopeStatusChange contains:
                                                                   EnvelopeID – The envelope ID.
                                                                   Status – The EnvelopeStatusCode for the
                                                                   envelope.
                                                                   StatusChanged – The date and time the
                                                                   status change occurred.
ResultSetSize                    Integer                           This is the total number of items returned in
                                                                   EnvelopeStatusChanges.


Code Samples

   RequestStatusCodes – C#
   // Create the status change filter to specify the scope of your search
   // Here, we are limiting the search to envelopes changed today
   // You can also limit by user and status
   DocuSignWeb.EnvelopeStatusFilter filter =
       new DocuSignWeb.EnvelopeStatusFilter();

   filter.AccountId = _accountId;

   DocuSignWeb.EnvelopeStatusFilterBeginDateTime begin =
       new DocuSignWeb.EnvelopeStatusFilterBeginDateTime();

   begin.Value = DateTime.Today;
   filter.BeginDateTime = begin;

   // Now, make the call with the filter we created
   DocuSignWeb.FilteredEnvelopeStatusChanges codes =
       _apiClient.RequestStatusCodes(filter);

   if (codes.ResultSetSize > 0)
   {
       // Loop through and print out some information about the results
       Console.WriteLine("Changes since today are:");
       foreach (DocuSignWeb.EnvelopeStatusChange code
           in codes.EnvelopeStatusChanges)
       {
           Console.WriteLine("tEnvelope {0} has status: {1}n",
               code.EnvelopeID, code.Status);
       }
   }

   RequestStatusCodes - PHP
   // Create the status change filter to specify the scope of your search
   // Here, we are limiting the search to envelopes changed today
   // You can also limit by user and status
   $filter = new EnvelopeStatusFilter();
   $filter->AccountId = $AccountID;
   $filter->BeginDateTime = todayXsdDate();



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                         152

   // Send
   $requestStatusCodesparams = new RequestStatusCodes();
   $requestStatusCodesparams->EnvelopeStatusFilter = $filter;
   $response = $api->RequestStatusCodes($requestStatusCodesparams);

SynchEnvelope
This method is only useful when the ‘Asynchronous’ flag is set to true on a CreateAndSendEnvelope
call. It will determine when the queued envelope has been processed by the system.

Schema




Name                             Schema Type                       Description
TransactionID                    LongString                        External ID that is passed in
                                                                   CreateAndSendEnvelope when the
                                                                   ‘Asynchronous’ flag is set to true.
AccountID                        DSXId                             Account Id of the user who created the
                                                                   envelope
Block                            Boolean                           If true, this call will wait to return until the
                                                                   queued envelope is done processing. The
                                                                   max time it will wait is 10 minutes.


SynchEnvelopeStatus




Name                             Schema Type                       Description
EnvelopeStatus                   EnvelopeStatusCode                Status of the envelope at that specific time.
                                                                   Enumeration values could be Voided, Created,
                                                                   Deleted, Sent, Delivered, Signed, Completed,
                                                                   Declined, TimedOut and Processing.
EnvelopeID                       LocalId                           The unique Id for the envelope.


Sample Code

   SynchEnvelope – C#
   // Create envelope as shown in linked code
   DocuSignWeb.Envelope envelope = <create envelope>;

   // Assign it a transaction ID and make it asynchronous send
   envelope.TransactionID = System.Guid.NewGuid().ToString();
   envelope.Asynchronous = true;


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    153


  // Go ahead and send the envelope
  DocuSignWeb.EnvelopeStatus status = _apiClient.SendEnvelope(envelope);

  // Request a synch using the transaction ID and account ID
  // but don't block it from processing
  DocuSignWeb.SynchEnvelopeStatus synchStatus =
      _apiClient.SynchEnvelope(envelope.TransactionID, _accountId, false);

  // Display the status we got back
  Console.WriteLine("Synch envelope status is {0}", synchStatus.EnvelopeStatus);

   SynchEnvelope – PHP
  // Create an envelope as shown in linked code
  $env = <create envelope>;

  // Assign a transaction ID and make it an asynchronous send
  $env->TransactionID = guid(); //Helper function link
  $env->Asynchronous = true;

  // Send the envelope
  $sendEnvelopeparams = new SendEnvelope();
  $sendEnvelopeparams->Envelope = $env;
  $status = $api->SendEnvelope($sendEnvelopeparams)->CreateAndSendEnvelopeResult;


  // Request a sych without blocking
  $synchEnvelopeparams = new SynchEnvelope();
  $synchEnvelopeparams->AccountID = $AccountID;
  $synchEnvelopeparams->Block = false;
  $synchEnvelopeparams->TransactionID = $env->TransactionID;
  $response = $api->SynchEnvelope($synchEnvelopeparams);


VoidEnvelope
This section describes the method available to void envelopes. Only incomplete envelopes can be
voided. VoidEnvelope method is used to void an envelope.

Schema




Name                             Schema Type                        Description
EnvelopeID                       DSXId                              This is the envelope ID of the envelope which
                                                                    needs to be voided.
Reason                           Reason                             The reason for voiding the envelope.
                                                                    Envelope recipients, when notified of the void,
                                                                    are shown this reason.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/VoidEnvelope"

  <?xml version="1.0" encoding="utf-8"?>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    154

  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <VoidEnvelope xmlns="http://www.docusign.net/API/3.0">
        <EnvelopeID>string</EnvelopeID>
        <Reason>string</Reason>
      </VoidEnvelope>
    </soap:Body>
  </soap:Envelope>


VoidEnvelopeStatus
VoidEnvelopeStatus is the response method for VoidEnvelopes.

   Schema



Name                             Schema Type                       Description
VoidSuccess                      Boolean                           Set to true if the void operation succeeded.


Rules for VoidEnvelope
   •   The length of any of the EnvelopeID must not exceed 100 characters. Else, the XML validation
       fails and the processor throws a Validation error.
   •   The length of reason should not exceed 200 characters and should have a minimum of 1
       character.
   •   EnvelopeID specified in the VoidEnvelope request should exist else an exception is thrown
       with error message “Envelope_Does_Not_Exist” .
   •   Only envelopes in the 'Sent' or 'Delivered' states may be voided. Else
       “Envelope_Cannot_Void_Invalid_State” exception will be thrown.
   •   Only the sender of envelope can void the envelope. If a user other than sender tries to void an
       envelope then exception “User_Not_Envelope_Sender” will be thrown.

Sample Code

   VoidEnvelope – C#
  // Create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

  // Void the envelope
  DocuSignWeb.VoidEnvelopeStatus voidStatus = _apiClient.VoidEnvelope(status.EnvelopeID,
      "voiding reason");

  // Confirm that the envelope was voided
  Console.WriteLine("Voiding the envelope worked? {0}", voidStatus.VoidSuccess);

   VoidEnvelope – PHP
  // Create and send an envelope as shown in linked code
  $response = <create and send envelope>;
  $status = $response->CreateAndSendEnvelopeResult;



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   155



 // Void the envelope
 $voidEnvelopeparams = new VoidEnvelope();
 $voidEnvelopeparams->EnvelopeID = $status->EnvelopeID;
 $voidEnvelopeparams->Reason = "void envelope sample";
 $response = $api->VoidEnvelope($voidEnvelopeparams);




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    156

Post Processing Function Group
This section describes the methods that can be used to retrieve envelope documents from the
DocuSign system. DocuSign maintains a separate certificate document with each envelope
document that contains important origination and landmark events pertinent to the document.
RequestDocumentsPDFs and RequestPDF methods are used to request documents.
DocumentPDFs and EnvelopePDF are the responses for these methods.

RequestCertificate
RequestCertificate returns the signing certificate, which details the specific attributes of the
participants and landmark events of the signing transaction, for an envelope.

Schema



Name                             Schema Type                       Description
EnvelopeID                       DSXId                             This is the envelope ID of the envelope, as
                                                                   returned by the
                                                                   CreateEnvelope/CreateAndSendEnvelope.
                                                                   Only documents within the specified envelope
                                                                   are returned.


Sample Request XML
   SOAPAction: "http://www.docusign.net/API/3.0/RequestDocumentPDFs"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <RequestDocumentPDFs xmlns="http://www.docusign.net/API/3.0">
         <EnvelopeID>string</EnvelopeID>
       </RequestDocumentPDFs>
     </soap:Body>
   </soap:Envelope>

RequestDocumentPDFs

Schema



Name                             Schema Type                       Description
EnvelopeID                       DSXId                             This is the envelope ID of the envelope, as
                                                                   returned by the
                                                                   CreateEnvelope/CreateAndSendEnvelope.
                                                                   Only documents within the specified envelope
                                                                   are returned.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    157

Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/RequestDocumentPDFs"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <RequestDocumentPDFs xmlns="http://www.docusign.net/API/3.0">
        <EnvelopeID>string</EnvelopeID>
      </RequestDocumentPDFs>
    </soap:Body>
  </soap:Envelope>

This method returns a response with an array of DocumentPDF. See DocumentPDF for more
information about the returned information.

Sample Code

   RequestDocumentPDFs – C#
  // Create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

  // Call to request the PDFs with the envelope's ID
  DocuSignWeb.DocumentPDFs pdf = _apiClient.RequestDocumentPDFs(status.EnvelopeID);

  // Display number of PDFs returned
  Console.WriteLine("Envelope has {0} pdfs", pdf.DocumentPDF.Length);

   RequestDocumentPDFs – PHP
  // Create and send an envelope as shown in linked code
  $response = <create and send envelope>;
  $status = $response->CreateAndSendEnvelopeResult;

  // Request PDFs
  $requestDocumentPDFsparams = new RequestDocumentPDFs();
  $requestDocumentPDFsparams->EnvelopeID = $status->EnvelopeID;
  $response = $api->RequestDocumentPDFs($requestDocumentPDFsparams);

RequestDocumentPDFsEx

Schema



Name                             Schema Type                       Description
EnvelopeID                       DSXId                             This is the envelope ID of the envelope, as
                                                                   returned by the
                                                                   CreateEnvelope/CreateAndSendEnvelope.
                                                                   Only documents within the specified envelope
                                                                   are returned.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    158

Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/RequestDocumentPDFs"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <RequestDocumentPDFsEx xmlns="http://www.docusign.net/API/3.0">
        <EnvelopeID>string</EnvelopeID>
      </RequestDocumentPDFsEx>
    </soap:Body>
  </soap:Envelope>

This method returns a response with an array of DocumentPDF. See DocumentPDF for more
information about the returned information.

Sample Code

   RequestDocumentPDFsEx – C#
  // Create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

  // Call to request the PDFs with the envelope's ID
  DocuSignWeb.DocumentPDFs pdf = _apiClient.RequestDocumentPDFsEx(status.EnvelopeID);

  // Display number of PDFs returned
  Console.WriteLine("Envelope has {0} pdfs", pdf.DocumentPDF.Length);

   RequestDocumentPDFsEx – PHP
  // Create and send an envelope as shown in linked code
  $response = <create and send envelope>;
  $status = $response->CreateAndSendEnvelopeResult;

  // Request PDFs
  $requestDocumentPDFsExparams = new RequestDocumentPDFsEx();
  $requestDocumentPDFsExparams->EnvelopeID = $status->EnvelopeID;
  $response = $api->RequestDocumentPDFsEx($requestDocumentPDFsExparams);

RequestDocumentPDFsRecipientsView
RequestDocumentPDFsRecipientsView requests the recipient’s view of the document PDFs in an
envelope.

Schema




Name                             Schema Type                       Description
EnvelopeId                       EnvelopeId                        The envelope ID for the document being
                                                                   requested.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    159

Name                             Schema Type                       Description
RecipientName                    String                            The name of the recipient for the document
                                                                   being requested.
RecipientEmail                   String                            The email for the recipient for the document
                                                                   being requested.


   SOAPAction: "http://www.docusign.net/API/3.0/RequestDocumentPDFsRecipientsView"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <RequestDocumentPDFsRecipientsView xmlns="http://www.docusign.net/API/3.0">
         <EnvelopeID>string</EnvelopeID>
         <RecipientName>string</RecipientName>
         <RecipientEmail>string</RecipientEmail>
       </RequestDocumentPDFsRecipientsView>
     </soap:Body>
   </soap:Envelope>

This method returns a response with an array of DocumentPDF. See DocumentPDF for more
information about the returned information.

DocumentPDF

Schema




Name                             Schema Type                       Description
EnvelopeID                       DSXId                             Returns EnvelopeID of the envelope.
DocumentPDF                      DocumentPDF                       This complex type contains:
                                                                   • Name - name of the document.
                                                                   • PDFBytes – the document byte stream.
                                                                   • DocumentID – the originating document
                                                                       ID. Only returned when calling
                                                                       RequestDocumentPDFsEx.
                                                                   • DocumentType – type of the document.
                                                                       Only returned when calling
                                                                       RequestDocumentPDFsEx.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    160

RequestPDF
This method returns all of the documents combined into a single, contiguous PDF. If the watermark
feature is enabled for your account and envelope signing is not complete, the watermark is displayed
in the PDF.

Schema



Name                            Schema Type                     Description
EnvelopeID                      DSXId                           This is the envelope ID of the envelope, as
                                                                returned by the
                                                                CreateEnvelope/CreateAndSendEnvelope.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/RequestPDF"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <RequestPDF xmlns="http://www.docusign.net/API/3.0">
        <EnvelopeID>string</EnvelopeID>
      </RequestPDF>
    </soap:Body>
  </soap:Envelope


Sample Code

   RequestPDF – C#
  // Create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

  // Call to request the PDF with the envelope ID
  DocuSignWeb.EnvelopePDF pdf =
      _apiClient.RequestPDF(status.EnvelopeID);

  // Display the size of the PDF
  Console.WriteLine("Pdf has {0} bytes", pdf.PDFBytes.Length);

   RequestPDF – PHP
  // Create and send an envelope as shown in linked code
  $response = <create and send envelope>;
  $status = $response->CreateAndSendEnvelopeResult;

  // Request PDFs
  $requestPDFparams = new RequestPDF();
  $requestPDFparams->EnvelopeID = $status->EnvelopeID;
  $response = $api->RequestPDF($requestPDFparams);




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    161

RequestPDFNoWaterMark
If your account has the watermark feature enabled, this method returns all of the documents
combined into a single, contiguous PDF without displaying the watermark.

Schema



Name                            Schema Type                     Description
EnvelopeID                      DSXId                           This is the envelope ID of the envelope, as
                                                                returned by the
                                                                CreateEnvelope/CreateAndSendEnvelope.


Sample Request XML
   SOAPAction: "http://www.docusign.net/API/3.0/RequestPDFNoWaterMark"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <RequestPDFNoWaterMark xmlns="http://www.docusign.net/API/3.0">
         <EnvelopeID>string</EnvelopeID>
       </RequestPDFNoWaterMark>
     </soap:Body>
   </soap:Envelope


Sample Code

   RequestPDFNoWaterMark – C#
   // Create and send envelope as shown in linked code
   DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

   // Call to request the PDF with the envelope ID
   DocuSignWeb.EnvelopePDF pdf =
       _apiClient.RequestPDFNoWaterMark(status.EnvelopeID);

   // Display the size of the PDF
   Console.WriteLine("Pdf has {0} bytes", pdf.PDFBytes.Length);

   RequestPDFNoWaterMark – PHP
   // Create and send envelope as shown in linked code
   $result = $api->CreateAndSendEnvelope($createAndSendEnvelopeparams);
   $status = $result->CreateAndSendEnvelopeResult;

   // Send
   $requestPDFNoWaterMarkparams = new RequestPDFNoWaterMark();
   $requestPDFNoWaterMarkparams->EnvelopeID = $status->EnvelopeID;
   $response = $api->RequestPDFNoWaterMark($requestPDFNoWaterMarkparams);

RequestPDFWithCert
This method returns all of the documents combined into a single, contiguous PDF. Additionally it
returns the Signing Certificate PDF document, which details the specific attributes of the participants


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    162

and landmark events of the signing transaction. It also returns the consumer disclosure, per account
settings, associated with the envelope.

Schema




Name                            Schema Type                     Description
EnvelopeID                      DSXId                           This is the envelope ID of the envelope, as
                                                                returned by the
                                                                CreateEnvelope/CreateAndSendEnvelope.
addWaterMark                    Boolean                         If your account has the watermark feature enabled
                                                                and when true, the watermark for the account is
                                                                shown on documents for envelopes that are not
                                                                completed.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/RequestPDFWithCert"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <RequestPDFWithCert xmlns="http://www.docusign.net/API/3.0">
        <EnvelopeID>string</EnvelopeID>
        <addWaterMark>boolean</addWaterMark>
      </RequestPDFWithCert>
    </soap:Body>
  </soap:Envelope


Sample Code

   RequestPDFWithCert – C#
  // Create and send envelope as shown in linked code
  DocuSignWeb.EnvelopeStatus status = <create and send envelope>;

  // Call to request the PDF with the envelope ID
  // Here, we chose to suppress the watermark
  DocuSignWeb.EnvelopePDF pdf =
      _apiClient.RequestPDFWithCert(status.EnvelopeID, false);

  // Display the size of the PDF
  Console.WriteLine("Pdf has {0} bytes", pdf.PDFBytes.Length);



   RequestPDFWithCert – PHP
  // Create and send envelope as shown in linked code
  $result = $api->CreateAndSendEnvelope($createAndSendEnvelopeparams);
  $status = $result->CreateAndSendEnvelopeResult;




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    163

  // Send
  $requestPDFWithCertparams = new RequestPDFWithCert();
  $requestPDFWithCertparams->EnvelopeID = $status->EnvelopeID;
      $requestPDFWithCertparams->AddWaterMark = false;
      $response = $api->RequestPDFWithCert($requestPDFWithCertparams);

EnvelopePDF

Schema




Name                             Schema Type                       Description
EnvelopeID                       DSXId                             Returns EnvelopeID of the envelope.
PDFBytes                         base64Binary                      The document bytestream

Rules for using RequestDocumentPDFs, RequestDocumentPDFsEx,
RequestPDF, RequestPDFNoWaterMark, RequestPDFWithCert,
DocumentPDF and EnvelopePDF
   •   In the methods mentioned in this section, length of the EnvelopeID must not exceed 100
       characters. Else, the XML validation fails and the processor throws a Validation error.
   •   In the request methods envelope with specified Id must exist. Else an exception
       “Envelope_Does_Not_Exist” is thrown.
   •   In the DocumentPDF method returns all the PDF documents in the envelope as base64binary
       with document names. But DocumentPDF element is optional. If the envelope with mentioned
       EnvelopeID is in the draft stage then Name or PDFBytes is not returned.
   •   DocumentPDFs also return certificate document with PDF documents in the envelope
   •   Only sender or recipient can retrieve the documents else exception,
       “User_Not_Envelope_Sender_Or_Recipient” will be thrown.
   •   You may have your account setup by DocuSign to include DocuSign PDF meta data in the
       returned PDF bytes.
       The envelope level PDF will contain:
             •   Tracking information that contains the Envelope ID.
             •   EnvelopeStatus XML.
       The document level PDF will contain:
             •   Tracking information that contains the Envelope ID and originating Document ID.
             •   EnvelopeStatus XML with the tab information removed that does not pertain to the
                 document.
             •   Document PDF form data if the document originated with TransformPDFFields
                 enabled.
       The envelope summary document will contain:


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    164

             •   Tracking information that contains the Envelope ID.
             •   EnvelopeStatus XML with all tab information removed.

RequestPDFWithOptions
This method returns all of the documents combined into a single, contiguous PDF. It includes the
ability to set display options for the PDFs.

Schema




Name                            Schema Type                     Description
EnvelopeId                      DSXId                           The envelope ID for the PDF document being
                                                                requested.
PDFOptions                                                      Optional display elements for the PDF:
                                                                •   ShowChanges – If the account has the
                                                                    Highlight Data Changes feature enabled and
                                                                    this option is set to true, any changed fields
                                                                    for the returned PDF are highlighted in yellow
                                                                    and optional signatures or initials outlined in
                                                                    red.
                                                                •   AddWaterMark – If the account has the
                                                                    watermark feature enabled and the envelope
                                                                    is not complete, the watermark for the account
                                                                    is added to the PDF document. When this is
                                                                    set to false, the watermark is removed from
                                                                    the PDF.
                                                                •   IncludeCert – When set to true, this option
                                                                    removes the envelope signing certificate from
                                                                    the download.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/RequestPDFWithOptions"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <RequestPDFWithOptions xmlns="http://www.docusign.net/API/3.0">
        <EnvelopeID>string</EnvelopeID>
        <PDFOptions>
          <ShowChanges>boolean</ShowChanges>
          <AddWaterMark>boolean</AddWaterMark>
          <IncludeCert>boolean</IncludeCert>
        </PDFOptions>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    165

      </RequestPDFWithOptions>
    </soap:Body>
  </soap:Envelope>

RequestPDFsWithOptions
This method returns all of the documents in an envelope as an array of DocumentPDF (see
DocumentPDF for more about the returned information). If the account has the Highlight Data
Changes feature enabled and the ShowChanges option is set to true, any changes one the
documents are highlighted.

Schema




Name                            Schema Type                     Description
EnvelopeID                      DSXId                           The envelope ID for the PDF documents being
                                                                requested.
PDFsOptions                                                     Optional display elements for the PDFs:
                                                                •   ShowChanges - When set to true, any
                                                                    changed fields for the returned PDF are
                                                                    highlighted in yellow and optional signatures
                                                                    or initials outlined in red.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/RequestPDFsWithOptions"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <RequestPDFsWithOptions xmlns="http://www.docusign.net/API/3.0">
        <EnvelopeID>string</EnvelopeID>
        <PDFsOptions>
          <ShowChanges>boolean</ShowChanges>
        </PDFsOptions>
      </RequestPDFsWithOptions>
    </soap:Body>
  </soap:Envelope>


TransferEnvelope
The TransferEnvelope method effectively transfers all documents in the specified envelope to the new
owner.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    166

Schema




Name                             Schema Type                       Description
EnvelopeID                       DSXId                             This is the envelope ID of the envelope, as
                                                                   specified by the request.
AccountID                        DSXId                             This specifies the account ID of the person to
                                                                   whom ownership is transferred.
UserID                           DSXId                             The user ID of the person to whom the
                                                                   envelope ownership is being transferred.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/TransferEnvelope"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <TransferEnvelope xmlns="http://www.docusign.net/API/3.0">
        <EnvelopeID>string</EnvelopeID>
        <AccountID>string</AccountID>
        <UserID>string</UserID>
      </TransferEnvelope>
    </soap:Body>
  </soap:Envelope>


TransferEnvelopeStatus
TransferEnvelopeStatus is the response method for TransferEnvelope.

   Schema



Name                               Schema Type                       Description
TransferEnvelopeSuccess            Boolean                           This element is true if the transfer
                                                                     succeeded.


Rules for using TransferEnvelope
   •     The length of any of the EnvelopeID, AccountID, and UserID must not exceed 100 characters.
         Else, the XML validation fails and the processor throws a Validation error.
   •     An envelope having the specified EnvelopeID must exist in the system. Else, an exception with
         the error message “Envelope_Does_Not_Exist” is thrown.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    167

   •   AccountID must exist in the system; else exception “Account_Does_Not_Exist_In_System” will
       be thrown.
   •   UserID must exist in the system; else exception “User_Does_Not_Exist_In_System” will be
       thrown.
   •   Transfer of envelope will be allowed only if the envelope status is complete. Else
       “Envelope_Is_Incomplete” will be thrown.
   •   Only sender would be able to transfer the ownership to someone else. Else error
       “User_Not_Envelope_Sender” will be thrown
   •   User cannot transfer the ownership of the envelope to self. If a user tries to transfer envelope
       to self “Envelope_Transferee_Already_Owns_Envelope” exception will be thrown.
   •   If Authoritative Copy status is set then envelope cannot be transferred. It tried to transfer the
       resulting error will be “Envelope_Cannot_Transfer_Invalid_ACStatus”.

Sample Code

   TransferEnvelope – C#
  // Request the envelope specified to be transferred to the account specified
  DocuSignWeb.TransferEnvelopeStatus status = _apiClient.TransferEnvelope("envelope ID",
      "account ID as GUID", "user ID as GUID");

  // Confirm that the transfer succeeded
  Console.WriteLine("Transfer succeeded? {0}", status.TransferEnvelopeSuccess);

   TransferEnvelope – PHP
  // Request the envelope specified to be transferred to the account specified
  $transferEnvelopeparams = new TransferEnvelope();
  // TODO: replace string with account ID GUID that you will transfer the envelope to
  $transferEnvelopeparams->AccountID = "someone else's account ID GUID here";
  // TODO: replace string with envelope ID GUID that will be transferred
  $transferEnvelopeparams->EnvelopeID = "your envelopeID GUID here";
  // TODO: replace string with user ID GUID that you will transfer the envelope to
  $transferEnvelopeparams->UserID = "someone else's user ID as GUID here";
  $response = $api->TransferEnvelope($transferEnvelopeparams);

ExportAuthoritativeCopy
This section presents the principles and methods involved in implementing a DocuSign Connect API
integration using the ExportAuthoritativeCopy and AcknowledgeAuthoritativeCopyExport API
methods. The ExportAuthoritativeCopy API method enables API users to extract Authoritative Copy
envelopes from DocuSign. The AcknowledgeAuthoritativeCopyExport API method is used to indicate
success of the extract call and to obtain the key to unlock the envelope’s documents.

Schema



Name                             Schema Type                       Description
EnvelopeID                       DSXId                             Envelope ID of the envelope which is to be
                                                                   exported.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    168

Sample Request XML:
   SOAPAction: "http://www.docusign.net/API/3.0/ExportAuthoritativeCopy"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <ExportAuthoritativeCopy xmlns="http://www.docusign.net/API/3.0">
         <EnvelopeId>string</EnvelopeId>
       </ExportAuthoritativeCopy>
     </soap:Body>
   </soap:Envelope>


AuthoritativeCopyExportDocuments

   Schema




Name                             Schema Type                       Description
EnvelopeId                       DSXId                             Envelope ID of the envelope which is to be
                                                                   exported.
TransactionId                    DSXId                             Transaction ID for this export process.
Count                            Integer                           Number of documents in the DocumentPDF
                                                                   array.
DocumentPDF                      DocumentPDF                       Array of encrypted document PDFs in the
                                                                   envelope.


AcknowledgeAuthoritativeCopyExport

   Schema




Name                             Schema Type                       Description
EnvelopeId                       DSXId                             Envelope ID of the envelope which is to be
                                                                   exported.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    169

Name                             Schema Type                       Description
TransactionId                    DSXId                             Transaction ID for this export process.
                                                                   Obtained from the ExportAuthoritativeCopy
                                                                   API call.
checkSumHash                     base64Binary                      Total hash of all the documents returned in the
                                                                   ExportAuthoritativeCopy API call.

   Sample Request XML:
   SOAPAction: "http://www.docusign.net/API/3.0/AcknowledgeAuthoritativeCopyExport"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <AcknowledgeAuthoritativeCopyExport xmlns="http://www.docusign.net/API/3.0">
         <EnvelopeId>string</EnvelopeId>
         <TransactionId>string</TransactionId>
         <checkSumHash>base64Binary</checkSumHash>
       </AcknowledgeAuthoritativeCopyExport>
     </soap:Body>
   </soap:Envelope>


AuthoritativeCopyExportStatus

   Schema




Name                                Schema Type                      Description
AuthoritativeCopyExportSuccess      Boolean                          Return true if the envelope export is
                                                                     successful
EnvelopeId                          DSXId                            Envelope ID of the envelope which is to be
                                                                     exported.
ExportKey                           DSXId                            Key used to decrypt the Rijndael encrypted
                                                                     documents returned in the
                                                                     ExportAuthoritativeCopy API call.
                                                                     Encryption mode is CBC.
                                                                     Encryption padding is PKCS7.


Rules for exporting Authoritative Copy envelopes

   API user specific rules
       •     The envelope ID passed to the API must be valid.
       •     The envelope ID passed to the API must be in the Authoritative Copy status in DocuSign.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   170

     •    The user and account must be configured properly by DocuSign in order to enable this
          API.

 Rules for Exceptions thrown by the ExportAuthoritativeCopy API
     •    Envelope_Does_Not_Exist – invalid envelope ID passed.
     •    User_Lacks_Permissions - The user making the API calls must have permissions to export
          Authoritative Copy Documents.
     •    Envelope_AC_Export_Completed – the envelope being requested has already been
          exported from DocuSign.
     •    Envelope_AC_Export_Not_AC_Copy – the envelope being requested is not an
          Authoritative Copy.

 Rules for Exceptions thrown by the AcknowledgeAuthoritativeCopyExport API
     •    Envelope_Does_Not_Exist – invalid envelope ID passed.
     •    User_Lacks_Permissions - The user making the API calls must have permissions to export
          Authoritative Copy Documents.
     •    Envelope_AC_Export_Invalid_Status – envelope is not in the valid export status.
     •    Envelope_AC_Export_Invalid_TransID – transaction ID passed is invalid.

 Rules for return value of the AcknowledgeAuthoritativeCopyExport API
     •    AuthoritativeCopyExportSuccess – True if export was successfully completed.
     •    ExportKey – key to decrypt the Rijndael encrypted documents. This key is only provided if
          AuthoritativeCopyExportSuccess is true. Encryption mode is CBC. Encryption padding is
          PKCS7.




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    171

Administrative Function Group
This section describes administrative methods.

CreateAccountBrands
CreateAccountBrands is used to upload one or more brand profile files to the account. The Account
Branding feature must be enabled for the account to use this.

Schema




Name                             Schema Type                        Description
AccountID                        DSXId                              The AccountId for the account to which the
                                                                    brand profiles are added.
BrandDefinitions                 BrandDefinitionFileBytes           The base64Binary bytes of the brand profile
                                                                    xml file being added.


Sample Request XML
   SOAPAction: "http://www.docusign.net/API/3.0/CreateAccountBrands"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <CreateAccountBrands xmlns="http://www.docusign.net/API/3.0">
         <AccountId>string</AccountId>
         <BrandDefinitions>
           <BrandDefinitionsFileBytes>base64Binary</BrandDefinitionsFileBytes>
         </BrandDefinitions>
       </CreateAccountBrands>
     </soap:Body>
   </soap:Envelope>




DeleteAccountBrands
DeleteAccountBrands is used to delete one or more brand profiles from an account. The Account
Branding feature must be enabled for the account to use this.

Schema




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    172

Name                             Schema Type                       Description
AccountID                        DSXId                             The AccountId for the account from which the
                                                                   brand profiles are being deleted.
BrandDeleteRequest               BrandRequestItems                 An array of BrandRequestItem that each
                                                                   contain the BrandId for the brand profile to be
                                                                   deleted.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/DeleteAccountBrands"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <DeleteAccountBrands xmlns="http://www.docusign.net/API/3.0">
        <AccountId>string</AccountId>
        <BrandDeleteRequest>
          <BrandRequestItems>
            <BrandRequestItem>
              <BrandId>string</BrandId>
            </BrandRequestItem>
            <BrandRequestItem>
              <BrandId>string</BrandId>
            </BrandRequestItem>
          </BrandRequestItems>
        </BrandDeleteRequest>
      </DeleteAccountBrands>
    </soap:Body>
  </soap:Envelope>




GetAccountBrands
GetAccountBrands is used to retrieve a list of brand profiles associated with the account and the
default brand profile. The Account Branding feature must be enabled for the account to use this.

Schema



Name                             Schema Type                       Description
SenderAccountID                  DSXId                             The AccountId for the account.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/GetAccountBrands"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <GetAccountBrands xmlns="http://www.docusign.net/API/3.0">
        <SenderAccountId>string</SenderAccountId>


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    173

       </GetAccountBrands>
     </soap:Body>
   </soap:Envelope>




GetAccountBrandsResult
This is the response for GetAccountBrands and contains the default brand profile and list of brand
profiles associated with the account.

   Schema




Name                              Schema Type                        Description
RecipientBrandIdDefault           String                             The BrandId of the default signing brand
                                                                     profile.
SenderBrandIdDefault              String                             The BrandId of the default sending brand
                                                                     profile.
BrandResultItems                  BrandResultItem                    A complex element with the BrandId,
                                                                     BrandName and BrandCompany information
                                                                     for all the brand profiles associated with the
                                                                     account.

GetAccountMembershipFeatureList
GetAccountMembershipFeaturesList is used to retrieve the features available to the membership.

Schema



Name                             Schema Type                       Description
AccountID                        DSXId                             Account Id of the user whose membership
                                                                   permissions for optional features are
                                                                   requested.


Sample Request XML
   SOAPAction: "http://www.docusign.net/API/3.0/GetAccountMembershipFeaturesList"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    174

     <soap:Body>
       <GetAccountMembershipFeaturesList xmlns="http://www.docusign.net/API/3.0">
         <AccountId>string</AccountId>
       </GetAccountMembershipFeaturesList>
     </soap:Body>
   </soap:Envelope>


AccountMembershipFeatureList

   Schema




Name                             Schema Type                       Description
Email                            Email                             Email of the user whose membership feature
                                                                   list is requested.
UserName                         UserName                          UserName of the user whose membership
                                                                   feature list is requested.
EnabledFeaturesSet               String                            Returns the set of DocuSign Professional
                                                                   features in membership.


Usage rules for GetAccountMembershipFeatureList and AccountMembershipFeatureList
   •    The length of AccountId, Email and UserName must not exceed 100 characters.
   •    The EnabledFeatures would be unbounded. Values for this will be DocuSignProfessional,
        eOriginalVaultResponse, SequentialSigningAPI, SequentialSigningUI, TransactionPoint,
        CanSetDocumentSignerVisibility and AccountForcesSignerVisibility.

Sample Code

   GetAccountMembershipFeaturesList – C#
   // This is simple -- just input your account ID
   DocuSignWeb.AccountMembershipFeaturesList list =
       _apiClient.GetAccountMembershipFeaturesList(_accountId);

   GetAccountMembershipFeaturesList – PHP
   $getAccountMembershipFeaturesListparams = new GetAccountMembershipFeaturesList();
   $getAccountMembershipFeaturesListparams->AccountID = $AccountID;
   $response = $api-
   >GetAccountMembershipFeaturesList($getAccountMembershipFeaturesListparams);

GetAccountSettingsList
GetAccountSettingsList is used to retrieve the settings available to the account.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    175

Schema



Name                             Schema Type                       Description
AccountID                        DSXId                             AccountId of the account settings to be
                                                                   returned.


Sample Request XML
  SOAPAction: "http://www.docusign.net/API/3.0/GetAccountSettingsList "

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <GetAccountSettingsList xmlns="http://www.docusign.net/API/3.0">
        <AccountId>string</AccountId>
      </ GetAccountSettingsList >
    </soap:Body>
  </soap:Envelope>


AccountSettingsList

   Schema




Name                              Schema Type                        Description
AccountSetting                    AccountSetting                     Name: string: the name of the account
                                                                     setting.
                                                                     Value: string: the value of the account setting.
                                                                     Type: string: the type of the account setting
                                                                     (ie. Integer, Boolean, String)


Usage rules for GetAccountSettingsList and AccountSettingsList
   •   The length of AccountId, must not exceed 100 characters.
   •   The AccountSetting is unbounded. Current “Name” values are: UserOverrideEnabled,
       ReminderEnabled, ReminderFrequency, ReminderDelay, ExpireEnabled, ExpireAfter, and
       ExpireWarnBuffer.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    176

Sample Code

   GetAccountSettingsList – C#
  // This is simple -- just input your account ID
  DocuSignWeb.AccountSetting[] settings =
      _apiClient.GetAccountSettingsList(_accountId);

  // Display some information about the settings
  Console.WriteLine("We have {0} account settings:", settings.Length);

  foreach (DocuSignWeb.AccountSetting setting in settings)
  {
      Console.WriteLine("t{0}: {1}", setting.Name, setting.Value);
  }

   GetAccountSettingsList – PHP
  $getAccountSettingsListparams = new GetAccountSettingsList();
  $getAccountSettingsListparams->AccountID = $AccountID;
  $response = $api->GetAccountSettingsList($getAccountSettingsListparams);


GetAddressBookItems
These methods can be used to manage your server side address book in the DocuSign system. You
will be able to retrieve address book entries.

Schema



Name                             Schema Type                       Description
AccountID                        DSXId                             The DocuSign account ID.
Retrieves your address book and account shared address book. This method returns an array of
AddressBookItem objects.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    177

AddressBookItem




Name                             Schema Type                       Description
AddressBookID                    DSXId                             Unique identifier of the address book item.
                                                                   This can be a maximum of 100 characters.
Email                            String                            Email associated with the address book item.
                                                                   This can be a maximum of 100 characters.
UserName                         String                            Name associated with the address book item.
                                                                   This can be a maximum of 100 characters.
AccountName                      String                            Account name associated with the address
                                                                   book item. This can be a maximum of 100
                                                                   characters.
Shared                           Boolean                           True if the address book item is shared with
                                                                   the API user’s account.
Created                          DateTime                          Date the address book item was created.
Owner                            Boolean                           True if the API user account is the owner of
                                                                   the address book item.
Phone1                           AddressBookPhone                  PhoneNumber: string: phone number,
                                                                   maximum length is 20.
                                                                   PhoneNumberDesignation: value: one of the
                                                                   following: Home, Mobile, Work, Fax, Other.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    178

Name                             Schema Type                       Description
Phone2                           AddressBookPhone                  PhoneNumber: string: phone number,
                                                                   maximum length is 20.
                                                                   PhoneNumberDesignation: value: one of the
                                                                   following: Home, Mobile, Work, Fax, Other.
Phone3                           AddressBookPhone                  PhoneNumber: string: phone number,
                                                                   maximum length is 20.
                                                                   PhoneNumberDesignation: value: one of the
                                                                   following: Home, Mobile, Work, Fax, Other.
Phone4                           AddressBookPhone                  PhoneNumber: string: phone number,
                                                                   maximum length is 20.
                                                                   PhoneNumberDesignation: value: one of the
                                                                   following: Home, Mobile, Work, Fax, Other.


Rules and exceptions for GetAddressBookItems
   •     Account_Lacks_Permissions – account does not have permissions to use this API.
   •     User_Lacks_Permissions – user does not have permissions to use this API.
   •     Address book items that are passed to this API that the user does not own will not be
         removed.

Sample Code

   GetAddressBookItems – C#
  // This is simple -- just input your account ID
  DocuSignWeb.AddressBookItem[] items =
      _apiClient.GetAddressBookItems(_accountId);

  // Display information about the address book items
  Console.WriteLine("There there are {0} items in the address book:", items.Length);

  foreach (DocuSignWeb.AddressBookItem item in items)
  {
      Console.WriteLine("t{0}: {1}", item.UserName, item.Email);
  }



   GetAddressBookItems – PHP
  $getAddressBookItemsparams = new GetAddressBookItems();
  $getAddressBookItemsparams->AccountID = $AccountID;
  $getAddressBookItemsResponse = $api->GetAddressBookItems($getAddressBookItemsparams);


GetRecipientEsignList
Senders can use this method to determine if an Esign agreement pre-exists between the sender and
recipient.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    179

Schema




Name                             Schema Type                       Description
UserName                         UserName                          Sender’s name.
SenderEmail                      Email                             Sender’s email address.
SenderAccountId                  DSXId                             Sender’s account Id
RecipientEmail                   Email                             Recipient’s email address.


Sample Request XML
   SOAPAction: "http://www.docusign.net/API/3.0/GetRecipientEsignList"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetRecipientEsignList xmlns="http://www.docusign.net/API/3.0">
         <UserName>string</UserName>
         <SenderEmail>string</SenderEmail>
         <SenderAccountId>string</SenderAccountId>
         <RecipientEmail>string</RecipientEmail>
       </GetRecipientEsignList>
     </soap:Body>
   </soap:Envelope>


RecipientEsignList
This element returns a list of RecipientEsignRecords for a designated sender and recipient
combination. For each record, the return Boolean value indicates whether or not an Esign agreement
exists between the sender and that particular recipient.

   Schema




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    180

Name                             Schema Type                       Description
AccountId                        DSXId                             The account holding the ESign agreement.
UserName                         UserName                          The recipient’s name.
Email                            Email                             The recipient’s email.
ESign                            boolean                           If true, an Esign agreement exists between the
                                                                   sender and the recipient


Rules for using GetRecipientEsignList and RecipientEsignList
   •    The UserName should be valid.
   •    The SenderEmail should be valid; else “Invalid_Email_Address_For_Sender” execution will be
        thrown.
   •    The length of UserName, SenderEmail, SenderAccountId and RecipientEmail must not
        exceed 100 characters.
   •    User defined by UserName and SenderEmail pair belong to SenderAccountId specified, else
        “User_Does_Not_Belong_To_Specified_Account” exception is thrown.

Sample Code

   GetRecipientEsignList – C#
  // Enter account holder's username, email and accountID,
  // and the email of the user that you wish to determine if
  // an esign agreement exists
  DocuSignWeb.RecipientEsignList recipients =
      _apiClient.GetRecipientEsignList(_userName, _email, _accountId, "<email>");

  // Display the number of people in the list
  Console.WriteLine("There are {0} recipients", recipients.RecipientEsign.Length);

  // Examine each record -- does the esign agreement exist?
  foreach (DocuSignWeb.RecipientEsign esign in recipients.RecipientEsign)
  {
      Console.WriteLine("t{0}: {1}", esign.Email, esign.Esign);
  }

   GetRecipientEsignList – PHP
  // Enter account holder's username, email and accountID, and the email of
  // the user that you wish to determine if an esign agreement exists
  $getRecipientEsignListparams = new GetRecipientEsignList();
  $getRecipientEsignListparams->SenderAccountId = $AccountID;
  $getRecipientEsignListparams->SenderEmail = $UserID;
  $getRecipientEsignListparams->UserName = $UserName;
  $getRecipientEsignListparams->RecipientEmail = $Recipient1Email;
  $response = $api->GetRecipientEsignList($getRecipientEsignListparams);

GetRecipientList
Senders can use this method to determine which recipients are available at the given email address.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    181

Schema




Name                             Schema Type                       Description
SenderAccountId                  DSXId                             Sender’s account Id
RecipientEmail                   Email                             Recipient’s email address.


Sample Request XML
   SOAPAction: "http://www.docusign.net/API/3.0/GetRecipientList"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetRecipientList xmlns="http://www.docusign.net/API/3.0">
         <SenderAccountId>string</SenderAccountId>
         <RecipientEmail>string</RecipientEmail>
       </GetRecipientList>
     </soap:Body>
   </soap:Envelope>


RecipientList
This element returns a list of RecipientRecords for a designated recipient email. For each record, the
return Boolean value indicates whether or not an Esign agreement exists between the sender and that
particular recipient.

   Schema




Name                              Schema Type                       Description
RecipientName                     LongString                        List of recipient Signature Names available to
                                                                    sign at this email.
ReservedRecipientEmail            Boolean                           Whether or not the user has reserved this
                                                                    email to disallow new recipient names at this
                                                                    email address.
MultipleUsers                     Boolean                           If true, more than one physical person is using
                                                                    this email address to sign with.


Rules for using GetRecipientList and RecipientList
   •   The length of SenderAccountId and RecipientEmail must not exceed 100 characters.

   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    182

   •   If no active signatures are available at the given email address, then no records will be
       returned.

Sample Code

   GetRecipientList – C#
  // Enter the account holder's ID and the target email
  // to find all recipients at the target email address
  DocuSignWeb.RecipientList recipients =
      _apiClient.GetRecipientList(_accountId, "<email>");

  // Display the number of recipients
  Console.WriteLine("There are {0} recipients", recipients.RecipientName.Length);

  // Examine each record -- does the esign agreement exist?
  foreach(String recipient in recipients.RecipientName)
  {
      Console.WriteLine("t{0}", recipient);
  }

   GetRecipientList – PHP
  // Enter the account holder's ID and the target email to find all recipients
  // at the target email address
  $getRecipientListparams = new GetRecipientList();
  $getRecipientListparams->SenderAccountId = $AccountID;
  $getRecipientListparams->RecipientEmail = $Recipient1Email;
  $response = $api->GetRecipientList($getRecipientListparams);

RemoveAddressBookItems

Schema




Name                             Schema Type                        Description
AddressBookRemoveItems           AddressBookRemoveItem              Array of address book item IDs to remove.
                                 Array
ReturnAddressBook                Boolean                            If true, return the address book item list in the
                                                                    UpdateAddressBookResult object.
Removes all the specified items passed from your address book. This method returns an
UpdateAddressBookResult object described earlier.

AddressBookRemoveItem

   Schema




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   183

Name                             Schema Type                       Description
AddressBookID                    DSXId                             Address book ID to remove.


Rules and exceptions for RemoveAddressBookItems
   •   Account_Lacks_Permissions – account does not have permissions to use this API.
   •   User_Lacks_Permissions – user does not have permissions to use this API.
   •   Address book items that are passed to this API that the user does not own will not be
       removed.
   •   Invalid address book IDs will be ignored.

Sample Code

   RemoveAddressBookItems – C#
  // Grab all the address book items from the specified account
  DocuSignWeb.AddressBookItem[] items = _apiClient.GetAddressBookItems(_accountId);

  if(items.Length >= 1)
  {
      // Use the address book ID of an item to remove it
      DocuSignWeb.AddressBookRemoveItem toRemove = new DocuSignWeb.AddressBookRemoveItem();
      toRemove.AddressBookID = items[0].AddressBookID;

      // Construct an array with all the items you want to remove
      DocuSignWeb.AddressBookRemoveItem[] remove = { toRemove };
      DocuSignWeb.UpdateAddressBookResult result =
  _apiClient.RemoveAddressBookItems(remove,
          false);

       // Confirm that the removal succeeded
       Console.WriteLine("Removed item {0} succeeded? {1}", toRemove.AddressBookID,
           result.Success);
  }

   RemoveAddressBookItems – PHP
  // Grab all the address book items from the specified account
  $getAddressBookItemsparams = new GetAddressBookItems();
  $getAddressBookItemsparams->AccountID = $AccountID;
  $addBookItems = $api->GetAddressBookItems($getAddressBookItemsparams)-
  >GetAddressBookItemsResult->AddressBookItem;

  if (count($addBookItems) >= 1) {
      $addToRemove = new AddressBookRemoveItem();
      // Build an array of the first address book item to remove
      $addToRemove->AddressBookID = $addBookItems[0]->AddressBookID;
      $removeAddressBookItemsparams = new RemoveAddressBookItems();
      $removeAddressBookItemsparams->AddressBookRemoveItems = array($addToRemove);
      $removeAddressBookItemsparams->ReturnAddressBook = false;
      $response = $api->RemoveAddressBookItems($removeAddressBookItemsparams);
  }
  else {
      $response = "No address book items to remove.";
  }




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    184

RequestTemplate

Schema




Name                             Schema Type                       Description
TemplateId                       DSXId                             Template ID to return.
IncludeDocumentBytes             Boolean                           If true, include the document bytes of the
                                                                   template within the Envelope object returned.
Retrieves a specific template from the server. This method returns EnvelopeTemplate upon execution
completion.

EnvelopeTemplate




Name                             Schema Type                        Description
EnvelopeTemplateDefinition       EnvelopeTemplateDefinition         Defines the attributes of a template. See the
                                                                    EnvelopeTemplateDefinition section below for
                                                                    more information.
Envelope                         Envelope                           Template is contained within an Envelope
                                                                    object defined earlier in this document.


MatchBox




Name                             Schema Type                       Description
PageNumber                       Integer                           Page to put the matchbox on.
XPosition                        Integer                           X position of the matchbox.
YPosition                        Integer                           Y position of the matchbox.
Width                            Integer                           Width of the matchbox.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    185

Name                             Schema Type                       Description
Height                           Integer                           Height of the matchbox.
Matchboxes can be supplied with the document structure within the Envelope. They are used in the
matching process when documents are uploaded for creating templates.

EnvelopeTemplateDefinition




Name                             Schema Type                       Description
TemplateID                       DSXId                             Unique identifier of the template.
Name                             String                            Name of the template.
Shared                           Boolean                           If true, the template is shared with the
                                                                   Everyone group in the account. If false, the
                                                                   template is only shared with the Administrator
                                                                   group.
TemplatePassword                 String                            Password if the template is locked.

                                                                   NOTE: This will only be returned if the
                                                                   requesting user is the creator of the template.
TemplateDescription              String                            Description of the template.
LastModified                     DateTime                          Last time the template was modified.
PageCount                        Integer                           Number of pages in document of the template.


Rules and exceptions for RequestTemplate
   •     Account_Lacks_Permissions – account does not have permissions to use this API.
   •     User_Lacks_Permissions – user does not have permissions to use this API.
   •     Template_Unable_To_Load – template ID provided was invalid.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    186

Sample Code

   RequestTemplate – C#
  // Request all the templates as shown in linked code
  DocuSignWeb.EnvelopeTemplateDefinition[] response = <templates request>;

  // Request information about each template definition
  foreach (DocuSignWeb.EnvelopeTemplateDefinition def in response)
  {
      Console.WriteLine("Retrieved template definition with ID {0}", def.TemplateID);

       // Request the template specified by the template ID
       DocuSignWeb.EnvelopeTemplate template = _apiClient.RequestTemplate(def.TemplateID,
           false);

       // Display information about the returned template
       Console.WriteLine("tRetrieved template with name "{0}" and with {1} pages",
           template.EnvelopeTemplateDefinition.Name,
           template.EnvelopeTemplateDefinition.PageCount);
  }

   RequestTemplate – PHP
  // Request all the templates this account has on file
  $requestTemplatesparams = new RequestTemplates();
  $requestTemplatesparams->AccountID = $AccountID;
  $requestTemplatesparams->IncludeAdvancedTemplates = false;
  $rtsResponses = $api->RequestTemplates($requestTemplatesparams)->RequestTemplatesResult-
  >EnvelopeTemplateDefinition;

  // Request info for each template and put into array of $responses
  $requestTemplateparams = new RequestTemplate();
  $requestTemplateparams->IncludeDocumentBytes = false;
  $responses = array();
  foreach ($rtsResponses as $envTemplateDef) {
      $requestTemplateparams->TemplateID = $envTemplateDef->TemplateID;
      $response = $api->RequestTemplate($requestTemplateparams);
      array_push($responses, $response);
  }


RequestTemplateList
This method requests a list of templates.

Schema




Name                               Schema Type                       Description
TemplateIDs                        ArraryofString5                   An array of Template IDs for the templates
                                                                     being requested.
IncludeDocumentBytes               Boolean                           If true, the document bytes of the requested
                                                                     templates are included in the response.
The method returns a list of EnvelopeTemplates for the requested templates.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    187

RequestTemplates

Schema




Name                             Schema Type                       Description
AccountId                        DSXId                             Account to request the templates for. If left
                                                                   blank the API user’s default account will be
                                                                   used.
IncludeAdvancedTemplates         Boolean                           If true, this will return templates with advanced
                                                                   features, (advanced features are those not
                                                                   supported by DSPro). If false, only templates
                                                                   without advanced features are returned.
This method returns a list of server side templates available for this account. The list format is in
EnvelopeTemplateDefinition section above.

Rules and exceptions for RequestTemplates
   •   Account_Lacks_Permissions – account does not have permissions to use this API.
   •   User_Lacks_Permissions – user does not have permissions to use this API.

Sample Code

   RequestTemplates – C#
   // Request all the templates that this account has on file
   DocuSignWeb.EnvelopeTemplateDefinition[] response =
   _apiClient.RequestTemplates(_accountId,
       false);

   // Print out information about the templates
   foreach (DocuSignWeb.EnvelopeTemplateDefinition def in response)
   {
       Console.WriteLine("Retrieved template definition with ID {0} with name "{1}"",
           def.TemplateID, def.Name);
   }

   RequestTemplates – PHP
   // Request all the templates this account has on file
   $requestTemplatesparams = new RequestTemplates();
   $requestTemplatesparams->AccountID = $AccountID;
   $requestTemplatesparams->IncludeAdvancedTemplates = false;
   $rtsResponses = $api->RequestTemplates($requestTemplatesparams)->RequestTemplatesResult-
   >EnvelopeTemplateDefinition;




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    188

SaveTemplate

Schema



Name                             Schema Type                       Description
EnvelopeTemplate                 EnvelopeTemplate                  Template to save. EnvelopeTemplate object
                                                                   was described earlier.
This method returns SaveTemplateResult.
Input to SaveTemplate is the EnvelopeTemplate object described earlier.

Rules and exceptions for SaveTemplate
   •   Account_Lacks_Permissions – account does not have permissions to use this API.
   •   User_Lacks_Permissions – user does not have permissions to use this API or the user does
       not have permissions to manage templates for the account.
   •   If the template ID is not provided in EnvelopeTemplate a new template will be created.

Sample Code

   SaveTemplate – C#
  // Request all the templates as shown in linked code
  DocuSignWeb.EnvelopeTemplateDefinition[] response = <templates request>;

  foreach (DocuSignWeb.EnvelopeTemplateDefinition def in response)
  {
      Console.WriteLine("Retrieved template definition with ID {0}", def.TemplateID);

       // Request the template specified by the template ID
       DocuSignWeb.EnvelopeTemplate template = _apiClient.RequestTemplate(def.TemplateID,
           true);

       // Modify the name of the template
       template.EnvelopeTemplateDefinition.Name = "Modified name";

       // Save the template back to the account
       DocuSignWeb.SaveTemplateResult result = _apiClient.SaveTemplate(template);

       // Confirm that the save operation succeeded
       Console.WriteLine("tSaved template? {0}", result.Success);
  }

   SaveTemplate – PHP
  // Request all the templates this account has on file
  $requestTemplatesparams = new RequestTemplates();
  $requestTemplatesparams->AccountID = $AccountID;
  $requestTemplatesparams->IncludeAdvancedTemplates = false;
  $rtsResponses = $api->RequestTemplates($requestTemplatesparams)->RequestTemplatesResult-
  >EnvelopeTemplateDefinition;

  // Make a new template from each template on file and save it
  $requestTemplateparams = new RequestTemplate();



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    189

  $requestTemplateparams->IncludeDocumentBytes = true;
  $responses = array();
  foreach ($rtsResponses as $envTemplateDef) {
      $requestTemplateparams->TemplateID = $envTemplateDef->TemplateID;
      $template = $api->RequestTemplate($requestTemplateparams)->RequestTemplateResult;
      $template->EnvelopeTemplateDefinition->Name = "Modified Name";
      $saveTemplateparams = new SaveTemplate();
      $saveTemplateparams->EnvelopeTemplate = $template;
      $response = $api->SaveTemplate($saveTemplateparams);
      array_push($responses, $response);
  }


UpdateAddressBookItems
Updates and inserts all the specified items passed to your address book. This method returns an
UpdateAddressBookResult object.

Schema




Name                             Schema Type                       Description
AddressBookItems                 AddressBookItem Array             Array of address book items to update or
                                                                   insert.
ReturnAddressBook                Boolean                           If true, return the address book item list in the
                                                                   UpdateAddressBookResult object.


UpdateAddressBookResult




Name                             Schema Type                       Description
Success                          Boolean                           True if successful.
AddressBookItems                 AddressBookItem Array             Array of AddressBookItem after the updates
                                                                   are completed. AddressBookItem object
                                                                   described earlier.


Rules and exceptions for UpdateAddressBookItems
   •   Account_Lacks_Permissions – account does not have permissions to use this API.
   •   User_Lacks_Permissions – user does not have permissions to use this API.
   •   Address book items that are passed to this API that the user does not own will not be
       removed.
   •   If the address book ID is left blank in the AddressBookItem object a new address book entry
       will be added.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    190

   •     If the AddressBookItem share is changed and the user does not have address book sharing
         privileges, the address book item share will not be updated.
   •     AddressBook_Email_Invalid – if there is an invalid email in the address book items passed to
         the API this error will be returned and no updates will be done.

UploadTemplate
This method returns SaveTemplateResult.
   Note: this method currently only supports DocuSign Professional Template XML.


Schema




Name                             Schema Type                       Description
TemplateXML                      String                            XML data to be transformed into a DocuSign
                                                                   server side template. NOTE: only DocuSign
                                                                   Professional template XML is supported.
AccountID                        DSXId                             Account ID to add the template to. If blank, the
                                                                   API user’s default account will be used.
Shared                           Boolean                           If true, the template is shared with the
                                                                   Everyone group in the account. If false, the
                                                                   template is only shared with the Administrator
                                                                   group.


Rules and exceptions for UploadTemplate
   •     Account_Lacks_Permissions – account does not have permissions to use this API.
   •     User_Lacks_Permissions – user does not have permissions to use this API or the user does
         not have permissions to manage templates for the account.

Sample Code

   UploadTemplate – C#
  // Read the template that you want to upload
  String templateXML = System.IO.File.ReadAllText("path to template");

  // Upload the specified template to the account
  DocuSignWeb.SaveTemplateResult result = _apiClient.UploadTemplate(templateXML,
      _accountId, false);

  // Confirm that the template saved successfully
  Console.WriteLine("The template was successfully uploaded? {0}", result.Success);




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    191

   UploadTemplate – PHP
  // Read the template that you want to upload
  $templateXML = file_get_contents("path to template");

  // Send
  $uploadTemplateparams = new UploadTemplate();
  $uploadTemplateparams->AccountID = $AccountID;
  $uploadTemplateparams->TemplateXML = $templateXML;
  $uploadTemplateparams->Shared = true;
  $response = $api->UploadTemplate($uploadTemplateparams);

Embedded Callback Event Codes
When DocuSign redirects the Recipient to the Embedded client application, it will append a URL
parameter “event” to the CallbackURL to indicate which terminal state the Recipient reached. The
valid values are:
Event                        Description
OnSigningComplete            The Recipient successfully completed the signing the document.
OnViewingComplete            The Recipient successfully viewed the document.
OnCancel                     The Recipient canceled the document while viewing the envelope.
OnDecline                    The recipient declined the envelope.
OnSessionTimeout             The recipient session has timed out.
OnTTLExpired                 If a Recipient Token URL is invoked after it is expired.
OnAccessCodeFailed           The Recipient failed to provide the correct Access Code.
OnIdCheckFailed              The Recipient failed to pass the ID Check authentication questions.
OnException                  If an exception is thrown.
OnFaxPending                 If a faxed in document is pending.


Asynchronous Document Generation
The following value can be set to cause the system to report that the envelope has been completed
before the actual final documents have been generated.

Name                                  Schema Type                     Description
GenerateSignedDocumentAsynch          Boolean                         Optional flag. If true, the final document
                                                                      generation will happen after the envelope
                                                                      status has been set to ‘Completed’. Default
                                                                      is false.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    192

Credential API
This section covers the methods involved in implementing a DocuSign Credential API. The DocuSign
Credential API can be used to authenticate with an email and password to acquire your API
credentials. The credentials can then be used to access the DocuSign Connect API methods
described earlier. If you have an integrators key from DocuSign you can place it in front of the email
argument bracketed, “[“ and “]”.
The DocuSign Credential API exposes the following methods:
Login – Allows you to authenticate with an email and password to retrieve your API credentials
required to access the DocuSign Connect API.
Ping – Allows you to validate that the Credential API is alive.

Login
The Login method can be used to authenticate and retrieve DocuSign Connect API credentials based
on an email and password. This method will return an array of valid DocuSign Connect API accounts
that match the email and password provided.

Schema




Name                             Schema Type                       Description
Email                            String                            Email to authenticate with. Place your
                                                                   bracketed integrators key in front of the email if
                                                                   you have received one from DocuSign.
                                                                   Sample:
                                                                   [integrator key]email
Password                         String                            Password to authenticate with.
ReturnBaseUrl                    Boolean                           When true, the response will return the
                                                                   BaseUrl string. This contains information about
                                                                   the server location of your account.
                                                                   The string is should be used in the header for
                                                                   future API calls.


Sample Request XML:
SOAP 1.1: The following is a sample SOAP 1.1 request and response. The placeholders shown need
to be replaced with actual values.
   POST /api/3.0/credential.asmx HTTP/1.1
   Host: www.docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/Credential/Login"




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    193

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <Login xmlns="http://www.docusign.net/API/Credential">
        <Email>string</Email>
        <Password>string</Password>
        <ReturnBaseUrl>boolean</ReturnBaseUrl>
      </Login>
    </soap:Body>
  </soap:Envelope>

SOAP 1.2: The following is a sample SOAP 1.2 request and response. The placeholders shown need
to be replaced with actual values.
  POST /api/3.0/credential.asmx HTTP/1.1
  Host: www.docusign.net
  Content-Type: application/soap+xml; charset=utf-8
  Content-Length: length

  <?xml version="1.0" encoding="utf-8"?>
  <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
    <soap12:Body>
      <Login xmlns="http://www.docusign.net/API/Credential">
        <Email>string</Email>
        <Password>string</Password>
        <ReturnBaseUrl>boolean</ReturnBaseUrl>
      </Login>
    </soap12:Body>


LoginResult




Name                             Schema Type                       Description
AccountID                        DSXId                             Account ID of the valid DocuSign Connect API
                                                                   user.
AccountName                      String                            Account Name of the valid DocuSign Connect
                                                                   API user.
UserID                           DSXId                             User ID of the valid DocuSign Connect API
                                                                   user.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    194

Name                             Schema Type                       Description
UserName                         String                            Username of the valid DocuSign Connect API
                                                                   user.
Email                            String                            Email of the valid DocuSign Connect API user.
BaseUrl                          String                            The BaseUrl string for your account. This
                                                                   contains information about the server location
                                                                   of your account.
                                                                   The string is should be used in the header for
                                                                   future API calls.

Ping
Ping can be used to do a quick check to see if the DocuSign Credential service is available.

Schema
Sample Request XML:
   SOAPAction: http://www.docusign.net/API/Credential/Ping

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <Ping xmlns="http://www.docusign.net/API/Credential" />
     </soap:Body>
   </soap:Envelope>


PingResult
Returns true if successful.

Sample Code

   Ping – C#
   // Use this function to validate that the Credential API is alive
   bool retval = _apiClient.Ping();

   // Confirm that we got an appropriate reply
   if (retval)
   {
       Console.WriteLine("Ping succeeded.");
   }

   Ping – PHP
   $pingParams = new Ping();
   $response = $am_api->Ping($pingParams);


GetAuthenticationToken
This method can be used to get a onetime use URL with an authentication token to launch the
DocuSign member system.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    195

Schema




Name                             Schema Type                       Description
Email                            string                            Email to authenticate with. Place your
                                                                   bracketed integrators key in front of the email if
                                                                   you have received one from DocuSign.
                                                                   Sample: [integrator key]email
Password                         string                            Password to authenticate with.
AccountID                        string                            Optional DocuSign account ID for the user. If
                                                                   left blank the default account ID will be used.
GoToEnvelopeID                   String                            Optional envelope ID. If provided the URL
                                                                   returned will send the user directly to viewing
                                                                   the envelope. If left blank the user will be taken
                                                                   to the member console.
This method returns a string that is the URL to access the DocuSign member system. This URL can
be placed in a browser and you will be automatically logged into the member system.

RequestSenderToken
This method is used to get a onetime use login token that allows the user to be placed into the
DocuSign sending wizard. Upon sending completion the user is returned to the return URL provided
by the API application.

Schema




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    196

Name                             Schema Type                       Description
Email                            String                            Email to authenticate with. Place your
                                                                   bracketed integrators key in front of the email if
                                                                   you have received one from DocuSign.
                                                                   Sample:
                                                                   [integrator key]email
Password                         String                            Password to authenticate with.
EnvelopeID                       String                            Optional envelope ID. If provided the user will
                                                                   be placed into the envelope in process. If left
                                                                   blank the user will be placed into a new
                                                                   envelope for sending.
AccountID                        String                            DocuSign account ID to map the envelope to.
ReturnURL                        String                            URL to send the user to upon completion of
                                                                   the sending process. The URL will have an
                                                                   event passed to it as a query parameter. The
                                                                   parameter will be named “event”, see “In-
                                                                   session sending events” below for description
                                                                   of the valid events. The DocuSign Envelope Id
                                                                   will also be returned in the “envelopeId”
                                                                   parameter.

In-session sending events
Events returned on the ReturnURL as a query string parameter. The event is sent in the parameter
named “event”. The ReturnURL is called with the event on any completion state of the envelope send.
Valid events can be found in the schema type InSessionSendEvent in the DocuSign API XSD.
Event           Description
Send            User sends the envelope.
Save            User saves a draft of the envelope.
Cancel          User cancels the sending transaction. No envelope ID returned.
Error           Error performing the send.
SessionEnd      Sending session ended before the user completed.

Rules and exceptions for RequestSenderToken
   •     User_Does_Not_Exist_In_System – API user requesting the sending token URL does not
         have access to the system.
   •     Account_Does_Not_Exist_In_System – Account is not valid.
   •     Account_Lacks_Permissions – Account does not have valid permissions.
   •     User_Lacks_Permissions – user does not have valid permissions.
   •     User_Authentication_Failed – user/password is not valid.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    197

Account Management Service API
This section of the Developer’s Guide provides information about the different methods in the
DocuSign Account Management Service API.

Methods Exposed in the DocuSign Account Management Service API
The DocuSign Account Management Service API exposes the following major methods (listed
alphabetically):
   •   ActivateSalesforceInstance - This method is used by the DocuSign for Salesforce package
       to connect Salesforce to DocuSign.
   •   AddMembersToAccount - This method is used to add new members to an existing account.
   •   AuthenticateMember and AuthenticateMemberEx - These methods requests the status of a
       member in an account.
   •   ChangeAccountPricePlan - This method is used to change the billing plan for an account.
   •   ChangePassword – This method is used to change the password for an account member.
   •   CheckAccountMember - This method is used to determine if user email is a member of the
       specified account.
   •   CloseMembers – This method is used to close member accounts in the same manner as
       closing an account through the DocuSign web console.
   •   CloseSignature - This method is used to remove a signature for a user.
   •   GetAccountCustomFields - This method is used to retrieve a list of the envelope custom
       fields associated with the account.
   •   GetAccountDistributorCode - This method requests the Distributor Code for an account.
   •   GetAccountInformation - This method requests the account level attributes for an account.
   •   GetAccountSettings - This method requests the settings for an account.
   •   GetConnectCredentials - This method is used by the DocuSign for Salesforce package to
       retrieve the Salesforce connect settings.
   •   GetEncryptedPassword - This method requests the encrypted form of the user’s password.
       This encrypted password may be used for authentication in other API function calls along with
       a User Name or User ID and an Integrator Key.
   •   GetMemberSettings - This method requests some attributes about the specified member of
       the account.
   •   GetMembershipSummary - This function returns a list of summary information about the
       accounts and users associated with the supplied email address.
   •   GetPlanGroupInformation - This function returns the plan group names and plans associated
       with each plan group for the given distributor code. This information is used to assign billing
       plans to an account.
   •   GetPlanPricingInformation - This function returns the plan pricing information associated
       with the given distributor code.
   •   GetPlanType - This function requests the plan payment type information for an account. The
       payment types use the same terminology as the payment method.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    198

   •   GetProvisioningInformation - This function returns account provisioning information, the
       DistributorCode, DistributorPassword, and other plan information, for the given Token.
   •   GetSignatures – This method is reserved for DocuSign use only.
   •   GetSuccessorPlanInformation - This function returns the current plan information and a list
       of successor plans, plans that the current plan could be rolled into, associated with the given
       distributor code and account.
   •   GetUserProfile - This method retrieves the privacy settings and personal information
       (address, phone number, etc.) from a user ID card.
   •   GetUserProfileImage - This method retrieves the image from a user ID card.
   •   InitializeClientAccount – This method is reserved for DocuSign use only.
   •   NewAccount - This method creates a new DocuSign account with a single member, who is
       the account owner.
   •   NewSocialAccount – This method is reserved for DocuSign use only.
   •   Ping - This method determines if the Account Management API service can be contacted.
   •   ResendAccountActivation - This method sends another account activation message to an
       account user.
   •   SetConnectCredentials - This method is used by the DocuSign for Salesforce package to set
       the connection used by DocuSign to update Salesforce data.
   •   SetSignatureImages – This method is reserved for DocuSign use only.
   •   SetUserProfile - This method is used to set the privacy settings and personal information
       (address, phone number, etc.) from a user ID card.
   •   SetUserProfileImage - Thsis method is used to upload an image to a user ID card.
   •   UpdateAccountSettings - This method is used to modify account level settings.
   •   UpdateMemberSettings - This method is used to modify settings for a member of an account.
   •   UpgradeRecipientAccount - This function is used to upgrade a user from a free account,
       where the user has few privileges, to a paid account plan.


Account Management Service API Methods
This section outlines the usage rules and behaviors of the Account Management Service methods.
The functions are presented in alphabetical order.

ActivateSalesforceInstance
This method is used by the DocuSign for Salesforce package to connect Salesforce to DocuSign.

Schema

Name                             Schema Type                       Description
AccountId                        String                            The DocuSign account ID to which you are
                                                                   trying to connect.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    199

Name                             Schema Type                       Description
ExternalInstanceId               String                            The Salesforce session ID.

ConnectUsername                  String                            The Salesforce login user name.
ConnectPassword                  String                            The Saleforce login password
SalesforceEnvironment            String                            The Salesforce environment being accessed
                                                                   (i.e: Production or Test).
Member                           Member                            A complex type that contains information
                                                                   about the member being activated. See the
                                                                   Member section for more information.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/ActivateSalesforceInstance"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <ActivateSalesforceInstance xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
         <ExternalInstanceId>string</ExternalInstanceId>
         <ConnectUsername>string</ConnectUsername>
         <ConnectPassword>string</ConnectPassword>
         <SalesforceEnvironment>string</SalesforceEnvironment>
         <Member>
           <MemberEmailAddress>string</MemberEmailAddress>
           <MemberUserName>string</MemberUserName>
           <MemberPassword>string</MemberPassword>
           <MemberForgottenPasswordQuestion>string</MemberForgottenPasswordQuestion>
           <MemberForgottenPasswordAnswer>string</MemberForgottenPasswordAnswer>
           <MemberTitle>string</MemberTitle>
           <MemberFirstName>string</MemberFirstName>
           <MemberMiddleName>string</MemberMiddleName>
           <MemberLastName>string</MemberLastName>
           <MemberSuffix>string</MemberSuffix>
           <EnableConnectForUser>boolean</EnableConnectForUser>
           <MemberSettings>
             <CanManageAccount>boolean</CanManageAccount>
             <CanSendEnvelope>boolean</CanSendEnvelope>
             <CanSendAPIRequests>boolean</CanSendAPIRequests>
             <APIAccountWideAccess>boolean</APIAccountWideAccess>
             <EnableVaulting>boolean</EnableVaulting>
             <VaultingMode>bytes</VaultingMode>
             <EnableTransactionPoint>boolean</EnableTransactionPoint>
             <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
             <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
             <EnableDSPro>boolean</EnableDSPro>
             <PowerFormAdmin>boolean</PowerFormAdmin>
             <PowerFormUser>boolean</PowerFormUser>
             <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook>
             <CanManageTemplates>bytes</CanManageTemplates>
             <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
             <EnableSignerAttachments>boolean</EnableSignerAttachments>


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    200

           </MemberSettings>
           <ReturnEncryptedPassword>boolean</ReturnEncryptedPassword>
         </Member>
       </ActivateSalesforceInstance>
     </soap:Body>
   </soap:Envelope>

The result contains the information below and returns either a success or failure. If the call fails an
error code is provided.

Name                             Schema Type                       Description
AccountId                        String                            The DocuSign account ID to which you are
                                                                   connected.
SiteId                           String                            The DocuSign account number.
UserId                           String                            The User ID for the connected account.
MembershipId                     String                            The membership ID for the connected
                                                                   account.
EncryptedPassword                String                            The encrypted password for the authenticated
                                                                   user.


Sample Return XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <ActivateSalesforceInstanceResponse
   xmlns="http://www.docusign.net/API/AccountManagement">
         <ActivateSalesforceInstanceResult>
           <AccountId>string</AccountId>
           <SiteId>string</SiteId>
           <UserId>string</UserId>
           <MembershipId>string</MembershipId>
           <EncryptedPassword>string</EncryptedPassword>
           <Success>boolean</Success>
           <Error>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    201

            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
            <Description>string</Description>
          </Error>
        </ActivateSalesforceInstanceResult>
      </ActivateSalesforceInstanceResponse>
    </soap:Body>
  </soap:Envelope>


Member
This element contains general information for a member.

Name                                     Schema Type                     Description
MemberEmailAddress                       String                          The member’s email address for the
                                                                         associated account. This can be a
                                                                         maximum of 100 characters.
MemberUserName                           String                          The member’s name for the associated
                                                                         account. This can be a maximum of 100
                                                                         characters.
MemberPassword                           String                          The member’s password for the
                                                                         associated account. This can be a
                                                                         maximum of 50 characters.
MemberForgottenPasswordQuestion          String                          The member’s forgotten password
                                                                         question for the associated account.
MemberForgottenPasswordAnswer            String                          The answer to the member’s forgotten
                                                                         password question for the associated
                                                                         account.
MemberTitle                              String                          The member’s title for the associated
                                                                         account. This can be a maximum of 10
                                                                         characters.
MemberFirstName                          String                          The member’s first name. This can be a
                                                                         maximum of 50 characters.
MemberMiddileName                        String                          The member’s middle name. This can be
                                                                         a maximum of 50 characters.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    202

Name                                      Schema Type                    Description
MemberLastName                            String                         The member’s last name. This can be a
                                                                         maximum of 50 characters.
MemberSuffix                              String                         The suffix for the member’s name. This
                                                                         can be a maximum of 50 characters.
EnableConnectForUser                      Boolean                        When true, the user is enabled for
                                                                         connect.
MemberSettings                            MemberSettings                 A complex type that contains the account
                                                                         settings for the member. See
                                                                         MemberSettings for more information.
ReturnEncryptedPassword                   Boolean                        When true, returns the encrypted
                                                                         DocuSign password sent in the
                                                                         authentication header.


MemberSettings
This element contains details about the account settings for a member.

Name                             Schema Type                       Description
CanManageAccount                 Boolean                           When true, this user can manage account
                                                                   settings, manage user settings, add users, and
                                                                   remove users.
CanSendEnvelope                  Boolean                           When true, this user can send envelopes
                                                                   though the DocuSign Console.
CanSendAPIRequests               Boolean                           When true, this user can send and manage
                                                                   envelopes using the DocuSign API.
APIAccountWideAccess             Boolean                           When true, this user can send and manage
                                                                   envelopes for the entire account using the
                                                                   DocuSign API.
EnableVaulting                   Boolean                           When true, this user can use electronic
                                                                   vaulting for documents.
VaultingMode                     String                            This element sets the electronic vaulting mode
                                                                   for the user.
                                                                   Enumeration values are: None, eStored and
                                                                   electronicOriginal.
EnableTransactionPoint           Boolean                           When true, this user can select an envelope
                                                                   from their member console and upload the
                                                                   envelope documents to TransactionPoint.
EnableSequentialSigningAPI       Boolean                           When true, this user can define the routing
                                                                   order of recipients for envelopes sent using
                                                                   the DocuSign API.
EnableSequentialSigningUI        Boolean                           When true, this user can define the routing
                                                                   order of recipients while sending documents
                                                                   for signature.
EnableDSPro                      Boolean                           When true, this user can send and manage
                                                                   envelopes from the DocuSign Desktop Client.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    203

Name                             Schema Type                       Description
PowerFormAdmin                   Boolean                           When true, this user can create, manage and
                                                                   download the PowerForms documents.
PowerFormUser                    Boolean                           When true, this user can view and download
                                                                   PowerForms documents.
CanEditSharedAddressBook         String                            This element sets the address book usage and
                                                                   management rights for the user.
                                                                   Enumeration values are: None,
                                                                   UseOnlyShared, UsePrivateAndShared,
                                                                   Share.
CanManageTemplates               String                            This element sets the template usage and
                                                                   management rights for the user.
                                                                   Enumeration values are: None, Use, Create,
                                                                   Share.
EnableSignOnPaperOverride        Boolean                           When true, this user can override the account
                                                                   setting that determines if signers may sign
                                                                   their documents on paper as an option to
                                                                   signing electronically.
EnableSignerAttachments          Boolean                           When true, this user can add requests for
                                                                   attachments from signers while sending
                                                                   documents.

AddMembersToAccount
This method is used to add new members to an existing account.

Schema

Name                             Schema Type                       Description
AccountId                        String                            The account ID of the account to which the
                                                                   members are being added.
Members                          ArrayOfMember                     An array of Member elements for members
                                                                   that are being added to the account. See the
                                                                   Member section for more information.


Sample Request XML
  POST /api/3.0/accountmanagement.asmx HTTP/1.1
  Host: docusign.net
  Content-Type: text/xml; charset=utf-8
  Content-Length: length
  SOAPAction: "http://www.docusign.net/API/AccountManagement/AddMembersToAccount"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <AddMembersToAccount xmlns="http://www.docusign.net/API/AccountManagement">
        <AccountId>string</AccountId>
        <Members>
          <Member>


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   204

            <MemberEmailAddress>string</MemberEmailAddress>
            <MemberUserName>string</MemberUserName>
            <MemberPassword>string</MemberPassword>
            <MemberForgottenPasswordQuestion>string</MemberForgottenPasswordQuestion>
            <MemberForgottenPasswordAnswer>string</MemberForgottenPasswordAnswer>
            <MemberTitle>string</MemberTitle>
            <MemberFirstName>string</MemberFirstName>
            <MemberMiddleName>string</MemberMiddleName>
            <MemberLastName>string</MemberLastName>
            <MemberSuffix>string</MemberSuffix>
            <EnableConnectForUser>boolean</EnableConnectForUser>
            <MemberSettings>
              <CanManageAccount>boolean</CanManageAccount>
              <CanSendEnvelope>boolean</CanSendEnvelope>
              <CanSendAPIRequests>boolean</CanSendAPIRequests>
              <APIAccountWideAccess>boolean</APIAccountWideAccess>
              <EnableVaulting>boolean</EnableVaulting>
              <VaultingMode>bytes</VaultingMode>
              <EnableTransactionPoint>boolean</EnableTransactionPoint>
              <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
              <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
              <EnableDSPro>boolean</EnableDSPro>
              <PowerFormAdmin>boolean</PowerFormAdmin>
              <PowerFormUser>boolean</PowerFormUser>
              <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook>
              <CanManageTemplates>bytes</CanManageTemplates>
              <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
              <EnableSignerAttachments>boolean</EnableSignerAttachments>
            </MemberSettings>
            <ReturnEncryptedPassword>boolean</ReturnEncryptedPassword>
          </Member>
          <Member>
            <MemberEmailAddress>string</MemberEmailAddress>
            <MemberUserName>string</MemberUserName>
            <MemberPassword>string</MemberPassword>
            <MemberForgottenPasswordQuestion>string</MemberForgottenPasswordQuestion>
            <MemberForgottenPasswordAnswer>string</MemberForgottenPasswordAnswer>
            <MemberTitle>string</MemberTitle>
            <MemberFirstName>string</MemberFirstName>
            <MemberMiddleName>string</MemberMiddleName>
            <MemberLastName>string</MemberLastName>
            <MemberSuffix>string</MemberSuffix>
            <EnableConnectForUser>boolean</EnableConnectForUser>
            <MemberSettings>
              <CanManageAccount>boolean</CanManageAccount>
              <CanSendEnvelope>boolean</CanSendEnvelope>
              <CanSendAPIRequests>boolean</CanSendAPIRequests>
              <APIAccountWideAccess>boolean</APIAccountWideAccess>
              <EnableVaulting>boolean</EnableVaulting>
              <VaultingMode>bytes</VaultingMode>
              <EnableTransactionPoint>boolean</EnableTransactionPoint>
              <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
              <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
              <EnableDSPro>boolean</EnableDSPro>
              <PowerFormAdmin>boolean</PowerFormAdmin>
              <PowerFormUser>boolean</PowerFormUser>
              <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook>
              <CanManageTemplates>bytes</CanManageTemplates>
              <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
              <EnableSignerAttachments>boolean</EnableSignerAttachments>
            </MemberSettings>
            <ReturnEncryptedPassword>boolean</ReturnEncryptedPassword>
          </Member>
        </Members>



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    205

      </AddMembersToAccount>
    </soap:Body>
  </soap:Envelope>

The response contains an array of MemberResults, with the information below, and either a success
or failure. If the call fails an error code is provided.

Sample Response XML
  HTTP/1.1 200 OK
  Content-Type: text/xml; charset=utf-8
  Content-Length: length

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <AddMembersToAccountResponse xmlns="http://www.docusign.net/API/AccountManagement">
        <AddMembersToAccountResult>
          <Members>
            <Member>
              <UserId>string</UserId>
              <EncryptedPassword>string</EncryptedPassword>
              <MembershipId>string</MembershipId>
              <Success>boolean</Success>
              <Error xsi:nil="true" />
            </Member>
            <Member>
              <UserId>string</UserId>
              <EncryptedPassword>string</EncryptedPassword>
              <MembershipId>string</MembershipId>
              <Success>boolean</Success>
              <Error xsi:nil="true" />
            </Member>
          </Members>
          <Success>boolean</Success>
          <Error>
            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
            <Description>string</Description>
          </Error>
        </AddMembersToAccountResult>
      </AddMembersToAccountResponse>
    </soap:Body>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    206

   </soap:Envelope>


MemberResult

Name                             Schema Type                       Description
UserId                           String                            The User ID for the new member.
EncryptedPassword                String                            The encrypted password for the authenticated
                                                                   user.
MembershipId                     String                            The membership ID for the new member.

AuthenticateMember and AuthenticateMemberEx
These method requests the status of a member in an account.



Schema

Name                             Schema Type                       Description
AccountId                        String                            The account ID associated with the member
                                                                   you are authenticating.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/AuthenticateMember"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <AuthenticateMember xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
       </AuthenticateMember>
     </soap:Body>
   </soap:Envelope>

The response contains the information below and either a success or failure. If the call fails an error
code is provided.

Name                             Schema Type                       Description
UserId                           String                            The user ID for the member being
                                                                   authenticated.
EncryptedPassword                String                            The encrypted password for the authenticated
                                                                   user.
UsesAPI                          Boolean                           When true, the user can use the DocuSign
                                                                   API.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    207

Name                             Schema Type                       Description
MemberSettings                   MemberSettings                    A complex type that contains the account
                                                                   settings for the member. See MemberSettings
                                                                   for more information.


Sample Response XML
  HTTP/1.1 200 OK
  Content-Type: text/xml; charset=utf-8
  Content-Length: length

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <AuthenticateMemberResponse xmlns="http://www.docusign.net/API/AccountManagement">
        <AuthenticateMemberResult>
          <UserId>string</UserId>
          <AccountId>string</AccountId>
          <UsesAPI>boolean</UsesAPI>
          <MemberSettings>
            <CanManageAccount>boolean</CanManageAccount>
            <CanSendEnvelope>boolean</CanSendEnvelope>
            <CanSendAPIRequests>boolean</CanSendAPIRequests>
            <APIAccountWideAccess>boolean</APIAccountWideAccess>
            <EnableVaulting>boolean</EnableVaulting>
            <VaultingMode>bytes</VaultingMode>
            <EnableTransactionPoint>boolean</EnableTransactionPoint>
            <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
            <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
            <EnableDSPro>boolean</EnableDSPro>
            <PowerFormAdmin>boolean</PowerFormAdmin>
            <PowerFormUser>boolean</PowerFormUser>
            <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook>
            <CanManageTemplates>bytes</CanManageTemplates>
            <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
            <EnableSignerAttachments>boolean</EnableSignerAttachments>
          </MemberSettings>
          <Success>boolean</Success>
          <Error>
            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    208

             <Description>string</Description>
           </Error>
         </AuthenticateMemberResult>
       </AuthenticateMemberResponse>
     </soap:Body>
   </soap:Envelope>

ChangeAccountPricePlan
This method is used to change the billing plan for an account

Schema

Name                             Schema Type                       Description
DistributorCode                  String                            The Distributor Code that identifies the billing
                                                                   plan groups and plans.
DistributorPassword              String                            The Distributor Password for the
                                                                   DistributorCode.
AccountId                        String                            The account ID for the account you want to
                                                                   change.
Pgp                              String                            The plan group plan for the account. The Pgp
                                                                   uniquely identifies a plan/plan group and is
                                                                   used to set plans in other functions.
EnableSupport                    Boolean                           If true the plan has support enabled.
IncludedSeats                    Integer                           The number of seats included in the plan
CreditCardInformation            CreditCardInformation             This complex type has information about the
                                                                   credit card used to pay for this account. It
                                                                   included the elements: ccNumber,
                                                                   ccExpirationMonth, ccExpirationYear,
                                                                   ccUserName, and ccType.
AddressInformation               AddressInformation                This complex type contains the following
                                                                   information: Street1, Street2, City, State, Zip,
                                                                   Phone, and Fax.
                                                                   The maximum characters or each field are:
                                                                   - Street1, Street2, City, and State: 100
                                                                   characters
                                                                   - ZIP, Phone, and Fax: 20 characters


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/ChangeAccountPricePlan"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <ChangeAccountPricePlan xmlns="http://www.docusign.net/API/AccountManagement">



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    209

         <DistributorCode>string</DistributorCode>
         <DistributorPassword>string</DistributorPassword>
         <AccountId>string</AccountId>
         <Pgp>string</Pgp>
         <EnableSupport>boolean</EnableSupport>
         <IncludedSeats>int</IncludedSeats>
         <CreditCardInformation>
           <ccNumber>string</ccNumber>
           <ccExpirationMonth>string</ccExpirationMonth>
           <ccExpirationYear>string</ccExpirationYear>
           <ccUserName>string</ccUserName>
           <ccType>string</ccType>
         </CreditCardInformation>
         <AddressInformation>
           <Address1>string</Address1>
           <Address2>string</Address2>
           <City>string</City>
           <State>string</State>
           <Zip>string</Zip>
           <Phone>string</Phone>
           <Fax>string</Fax>
         </AddressInformation>
       </ChangeAccountPricePlan>
     </soap:Body>
   </soap:Envelope>

The response returns a success or a success or failure. If the call fails an error code is provided.

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <ChangeAccountPricePlanResponse
   xmlns="http://www.docusign.net/API/AccountManagement">
         <ChangeAccountPricePlanResult>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    210

            <Description>string</Description>
          </Error>
        </ChangeAccountPricePlanResult>
      </ChangeAccountPricePlanResponse>
    </soap:Body>
  </soap:Envelope>

ChangePassword
This method is used to change the password for an account member. It uses ChangePasswordArg
with the following information to change the account member’s password.

Schema

Name                                Schema Type                      Description
EmailAddress                        String                           The email address for the account member.
OldPassword                         String                           The account member’s old password.
NewPassword                         String                           The new password for the account member.
ForgottenPasswordQuestion           String                           The member’s forgotten password question.
                                                                     Note: The number of forgotten password
                                                                     questions and answers required is set in the
                                                                     Password Strength Settings for your
                                                                     account.
ForgottenPasswordAnswer             String                           The answer to the member’s forgotten
                                                                     password question.
ForgottenPasswordQuestion2          String                           The member’s second forgotten password
                                                                     question.
ForgottenPasswordAnswer2            String                           The answer to the member’s second
                                                                     forgotten password question.
ForgottenPasswordQuestion3          String                           The member’s forgotten third password
                                                                     question.
ForgottenPasswordAnswer3            String                           The answer to the member’s third forgotten
                                                                     password question.
ForgottenPasswordQuestion4          String                           The member’s fourth forgotten password
                                                                     question.
ForgottenPasswordAnswer4            String                           The answer to the member’s fourth forgotten
                                                                     password question.


Sample Request XML
  POST /api/3.0/accountmanagement.asmx HTTP/1.1
  Host: docusign.net
  Content-Type: text/xml; charset=utf-8
  Content-Length: length
  SOAPAction: "http://www.docusign.net/API/AccountManagement/ChangePassword"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    211

       <ChangePassword xmlns="http://www.docusign.net/API/AccountManagement">
         <ChangePasswordArg>
           <EmailAddress>string</EmailAddress>
           <OldPassword>string</OldPassword>
           <NewPassword>string</NewPassword>
           <ForgottenPasswordQuestion>string</ForgottenPasswordQuestion>
           <ForgottenPasswordAnswer>string</ForgottenPasswordAnswer>
           <ForgottenPasswordQuestion2>string</ForgottenPasswordQuestion2>
           <ForgottenPasswordAnswer2>string</ForgottenPasswordAnswer2>
           <ForgottenPasswordQuestion3>string</ForgottenPasswordQuestion3>
           <ForgottenPasswordAnswer3>string</ForgottenPasswordAnswer3>
           <ForgottenPasswordQuestion4>string</ForgottenPasswordQuestion4>
           <ForgottenPasswordAnswer4>string</ForgottenPasswordAnswer4>
         </ChangePasswordArg>
       </ChangePassword>
     </soap:Body>
   </soap:Envelope>

The response contains either a success or failure. If the call fails an error code is provided.

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <ChangePasswordResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <ChangePasswordResult>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or
   Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error</ErrorCode>
             <Description>string</Description>
           </Error>
         </ChangePasswordResult>
       </ChangePasswordResponse>
     </soap:Body>
   </soap:Envelope>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    212

CheckAccountMember
This method is used to determine if user email is a member of the specified account.

Schema

Name                             Schema Type                       Description
AccountId                        String                            The account ID associated with the member.
Email                            String                            The user email to be checked.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/CheckAccountMember"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <CheckAccountMember xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
         <Email>string</Email>
       </CheckAccountMember>
     </soap:Body>
   </soap:Envelope>

The response contains the information below and either a success or failure. If the call fails an error
code is provided.

Name                              Schema Type                       Description
UserId                            String                            The ID of the user associated with the account.
Status                            String                            If true, the user email is a member of the
                                                                    account. If false, an error message is
                                                                    provided.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <CheckAccountMemberResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <CheckAccountMemberResult>
           <UserId>string</UserId>
           <Status>string</Status>
           <Success>boolean</Success>
           <Error>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    213

             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
             <Description>string</Description>
           </Error>
         </CheckAccountMemberResult>
       </CheckAccountMemberResponse>
     </soap:Body>
   </soap:Envelope>

CloseMembers
This function closes member accounts in the same manner as closing an account through the
DocuSign web console.
CloseMembers takes the argument:

Name                             Schema Type                       Description
AccountId                        String                            The account ID associated with the member
                                                                   accounts being closed.
UserIds                          ArrayofString                     An array with the User IDs for the member
                                                                   accounts being closed.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: demo.docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/CloseMembers"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <CloseMembers xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
         <UserIds>
           <string>string</string>
           <string>string</string>
         </UserIds>
       </CloseMembers>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    214

     </soap:Body>
   </soap:Envelope>

The response contains the overall success or failure of the call. If successful, the response contains
the Members result information below. If the call fails an error code is provided.

Name                             Schema Type                         Description
Members                          ArrayOfMemberResult                 An array with member information for the
                                                                     accounts being closed. See MemberResult
                                                                     for more information.
DateStamp                        dateTime                            The data time stamp for when the member
                                                                     account was closed.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <CloseMembersResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <CloseMembersResult>
           <Success>boolean</Success>
           <Members>
             <Member>
               <UserId>string</UserId>
               <EncryptedPassword>string</EncryptedPassword>
               <MembershipId>string</MembershipId>
               <Success>boolean</Success>
               <Error xsi:nil="true" />
             </Member>
             <Member>
               <UserId>string</UserId>
               <EncryptedPassword>string</EncryptedPassword>
               <MembershipId>string</MembershipId>
               <Success>boolean</Success>
               <Error xsi:nil="true" />
             </Member>
           </Members>
           <DateStamp>dateTime</DateStamp>
           <Error>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    215

            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or
  Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error</ErrorCode>
            <Description>string</Description>
          </Error>
        </CloseMembersResult>
      </CloseMembersResponse>
    </soap:Body>
  </soap:Envelope>




CloseSignature
This method is used to remove a signature for a user.
CloseSignature take the argument:

Name                             Schema Type                       Description
SignatureName                    String                            The name of the signature file that should be
                                                                   closed.


Sample Request XML
  POST /api/3.0/accountmanagement.asmx HTTP/1.1
  Host: test.docusign.net
  Content-Type: text/xml; charset=utf-8
  Content-Length: length
  SOAPAction: "http://www.docusign.net/API/AccountManagement/CloseSignature"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <CloseSignature xmlns="http://www.docusign.net/API/AccountManagement">
        <SignatureName>string</SignatureName>
      </CloseSignature>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    216

     </soap:Body>
   </soap:Envelope>

The response contains the overall success or failure of the request.

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <CloseSignatureResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <CloseSignatureResult>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or
   Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or
   Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode>
             <Description>string</Description>
           </Error>
         </CloseSignatureResult>
       </CloseSignatureResponse>
     </soap:Body>
   </soap:Envelope>

GetAccountCustomFields
This retrieves a list of the envelope custom fields associated with the account. These fields can be
used in the envelopes for your account to record information about the envelope, help search for
envelopes and track information. The envelope custom fields are shown in the Envelope Settings
section when a user is creating an envelope in the DocuSign member console. The envelope custom
fields are not seen by the envelope recipients.
There are two types of envelope custom fields (shown by CustomFieldType), text and list. A text
custom field lets the sender enter the value for the field. The list custom field lets the sender select
the value of the field from a premade list.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    217

Schema

Name                             Schema Type                       Description
AccountId                        String                            The account ID of the account for which
                                                                   information is requested.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: test.docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetAccountCustomFields"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetAccountCustomFields xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
       </GetAccountCustomFields>
     </soap:Body>
   </soap:Envelope>

This returns a list of envelope custom fields associated with the account and either a success or
failure. If the call fails, an error code and message is provided. The following information is included
in the result:

Name                             Schema Type                       Description
AccountCustomFields              AccountCustomField                The list of information about the envelope
                                                                   custom field. Each custom field has the
                                                                   following information:
                                                                   •   Name – (String) The name of the envelope
                                                                       custom field.
                                                                   •   CustomFieldType – The type of custom
                                                                       field, the values can be List or Text.
                                                                   •   Show – (Boolean) When true, the custom
                                                                       field is shown to senders in the DocuSign
                                                                       console during sending.
                                                                   •   Required – (Boolean) When true,
                                                                       information must be entered into the
                                                                       custom field to send the envelope.
                                                                   •   ListItems – An array of items if the
                                                                       CustomFieldType is List.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    218

     <soap:Body>
       <GetAccountCustomFieldsResponse
   xmlns="http://www.docusign.net/API/AccountManagement">
         <GetAccountCustomFieldsResult>
           <AccountCustomFields>
             <AccountCustomField>
               <Name>string</Name>
               <CustomFieldType>Text or List</CustomFieldType>
               <Show>boolean</Show>
               <Required>boolean</Required>
               <ListItems xsi:nil="true" />
             </AccountCustomField>
             <AccountCustomField>
               <Name>string</Name>
               <CustomFieldType>Text or List</CustomFieldType>
               <Show>boolean</Show>
               <Required>boolean</Required>
               <ListItems xsi:nil="true" />
             </AccountCustomField>
           </AccountCustomFields>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>string</ErrorCode>
             <Description>string</Description>
           </Error>
         </GetAccountCustomFieldsResult>
       </GetAccountCustomFieldsResponse>
     </soap:Body>
   </soap:Envelope>

GetAccountDistributorCode
This function requests the Distributor Code for an account.
GetAccountDistributorCode takes the argument:

Name                             Schema Type                       Description
AccountId                        String                            The account ID for the account requested.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: test.docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetAccountDistributorCode"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetAccountDistributorCode xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
       </GetAccountDistributorCode>
     </soap:Body>
   </soap:Envelope>

The function returns the Distributor Code for the account and either a success or failure. If the call
fails, an error code is provided. The following information included in the result:



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    219

Name                             Schema Type                       Description
DistributorCode                  String                            The Distributor Code that identifies the billing
                                                                   plan groups and plans.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetAccountDistributorCodeResponse
   xmlns="http://www.docusign.net/API/AccountManagement">
         <GetAccountDistributorCodeResult>
           <DistributorCode>string</DistributorCode>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
             <Description>string</Description>
           </Error>
         </GetAccountDistributorCodeResult>
       </GetAccountDistributorCodeResponse>
     </soap:Body>
   </soap:Envelope>

GetAccountInformation
This method requests the account level attributes for an account.

Schema

Name                             Schema Type                       Description
AccountId                        String                            The account ID for the account being checked.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    220

Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetAccountInformation"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetAccountInformation xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
       </GetAccountInformation>
     </soap:Body>
   </soap:Envelope>

The response contains the account information below and either a success or failure. If the call fails
an error code is provided.


Name                                      Schema Type                Description
CurrentPlanId                             String                     The Plan ID of the requested account.
CurrentPlanName                           String                     The Plan Name of the requested account.
CurrentPlanStartDate                      dateTime                   The Plan start date of the requested
                                                                     account.
CurrentPlanEndDate                        dateTime                   The Plan end date of the requested account.
CurrentBillingPeriodStartDate             dateTime                   The billing period start date of the requested
                                                                     account.
CurrentBillingPeriodEndDate               dateTime                   The billing period end date of the requested
                                                                     account.
CurrentBillingPeriodEnvelopesSent         Integer                    The total number envelopes sent by this
                                                                     account in the current billing period.
CurrentBillingPeriodEnvelopesAllowed      Integer                    The total number of envelopes that the
                                                                     account can send during the current billing
                                                                     period.
AccountSuspensionStatus                   String                     Blank if account is not suspended.
                                                                     Otherwise, it indicates the reason why the
                                                                     account was suspended.
AccountSuspensionDate                     dateTime                   The date that the account was suspended.
AccountName                               String                     The account name associated with the
                                                                     requested account.
ExternalAccountId                         String                     The DocuSign account number.
ConnectPermission                         String                     Shows the account permission for using
                                                                     Connect.
                                                                     Enumeration values are: None, Full or
                                                                     Sendonly.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    221

Name                                      Schema Type                Description
DocusignLandingUrl                        String                     The URL of the landing page associated
                                                                     with the account.


Sample Response XML
  HTTP/1.1 200 OK
  Content-Type: text/xml; charset=utf-8
  Content-Length: length

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <GetAccountInformationResponse xmlns="http://www.docusign.net/API/AccountManagement">
        <GetAccountInformationResult>
          <CurrentPlanId>string</CurrentPlanId>
          <CurrentPlanName>string</CurrentPlanName>
          <CurrentPlanStartDate>dateTime</CurrentPlanStartDate>
          <CurrentPlanEndDate>dateTime</CurrentPlanEndDate>
          <CurrentBillingPeriodStartDate>dateTime</CurrentBillingPeriodStartDate>
          <CurrentBillingPeriodEndDate>dateTime</CurrentBillingPeriodEndDate>
          <CurrentBillingPeriodEnvelopesSent>integer</CurrentBillingPeriodEnvelopesSent>

  <CurrentBillingPeriodEnvelopesAllowed>integer</CurrentBillingPeriodEnvelopesAllowed>
          <AccountSuspensionStatus>string</AccountSuspensionStatus>
          <AccountSuspensionDate>dateTime</AccountSuspensionDate>
          <AccountName>string</AccountName>
          <ExternalAccountId>string</ExternalAccountId>
          <ConnectPermission>string</ConnectPermission>
          <DocusignLandingUrl>string</DocusignLandingUrl>
          <Success>boolean</Success>
          <Error>
            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
            <Description>string</Description>
          </Error>
        </GetAccountInformationResult>
      </GetAccountInformationResponse>
    </soap:Body>
  </soap:Envelope>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    222

GetAccountSettings
This method requests the settings for an account.

Schema

Name                             Schema Type                       Description
AccountId                        String                            The account ID of the account being checked.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetAccountSettings"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetAccountSettings xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
       </GetAccountSettings>
     </soap:Body>
   </soap:Envelope>

The response contains the AccountSettings information given below and either a success or failure. If
the call fails an error code is provided.

AccountSettings

Name                                           Schema Type              Description
UsesAPI                                        Boolean                  When true, the account can use the
                                                                        DocuSign API.
EnableDSPro                                    Boolean                  When true, this account can send and
                                                                        manage envelopes from the DocuSign
                                                                        Desktop Client.
EnableSendToManage                             Boolean                  When true, this account can use the
                                                                        Editor Recipient Type.
EnableSendToAgent                              Boolean                  When true, this account can use the
                                                                        Agent Recipient Type.
EnableVaulting                                 Boolean                  When true, this account can use
                                                                        electronic vaulting for documents.
EnableEnvelopeStampingByAccountAdmin           Boolean                  When true, senders for this account can
                                                                        choose to have the envelope ID stamped
                                                                        in the document margins.
EnvelopeStamplingDefaultValue                  Boolean                  When true, envelopes sent by this
                                                                        account automatically have the envelope
                                                                        ID stamped in the margins, unless the
                                                                        sender selects not to have them stamped.


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    223

Name                                           Schema Type              Description
SignerMustHaveAccount                          Boolean                  When true, senders can only send an
                                                                        envelope to a recipient that has a
                                                                        DocuSign account.
SignerMustLoginToSign                          Boolean                  When true, an envelope signer must log
                                                                        in to the DocuSign console to sign an
                                                                        envelope.
SignerCanCreateAccount                         Boolean                  When true, the signer without a DocuSign
                                                                        account can create a DocuSign account
                                                                        after signing.
AllowInPerson                                  Boolean                  When true, the account allows In Person
                                                                        Signing.
EnablePowerForm                                Boolean                  When true, PowerForm access is enabled
                                                                        for the account.
AllowSignerReassign                            Boolean                  When true, the account allows signers to
                                                                        reassign an envelope.
EnableReservedDomain                           Boolean                  When true, an account administrator can
                                                                        reserve web domain and users.
EnableSequentialSigningAPI                     Boolean                  When true, the account can define the
                                                                        routing order of recipients for envelopes
                                                                        sent using the DocuSign API.
EnableSequentialSigningUI                      Boolean                  When true, the account can define the
                                                                        routing order of recipients for envelopes
                                                                        sent using the DocuSign console.
EnableAutoNav                                  Boolean                  When true, the auto-navigation is enabled
                                                                        for the account.
AutoNavRule                                    String                   The auto-navigation rule for the account.
                                                                        Enumeration values are: Off,
                                                                        RequiredFields, RequiredAndBlankFields,
                                                                        AllFields, PageThenRequiredFields,
                                                                        PageThenRequiredAndBlankFields,
                                                                        PageThenAllFields.
EnableTransactionPoint                         Boolean                  When true, Transaction Point is enabled
                                                                        for this account.
EnvelopeIntegrationAllowed                     String                   Shows the envelope integration rule for
                                                                        the account.
                                                                        Enumeration values are: NotAllowed, Full,
                                                                        IntegrationSendOnly.
EnvelopeIntegrationEnabled                     Boolean                  When true, envelope integration is
                                                                        enabled for the account.
CanSelfBrandSend                               Boolean                  When true, account administrators can
                                                                        self-brand their sending console through
                                                                        the DocuSign Console.
CanSelfBrandSign                               Boolean                  When true, account administrators can
                                                                        self-brand their signing console through
                                                                        the DocuSign Console.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    224

Name                                           Schema Type              Description
IDCheckRequired                                String                   Indicates if authentication is required by
                                                                        envelope signers.
                                                                        Enumeration values are: Always, Never,
                                                                        or Optional. Optional means the
                                                                        authentication is determined by the
                                                                        sender.
IDCheckExpire                                  String                   Indicates when a user’s authentication
                                                                        expires.
                                                                        Enumeration values are: Always, Never,
                                                                        Variable. Variable uses the value in
                                                                        IDCheckExpireDays.
IDCheckExpireDays                              Integer                  The number of days before a user’s
                                                                        authentication expires. This is only active
                                                                        if the IDCheckExpire value is Variable.
SignDateFormat                                 String                   The date/time format applied to Date
                                                                        Signed fields for the account.
PKISignDownloadedPDFDocs                       String                   The policy for adding a digital certificate to
                                                                        downloaded, printed and emailed
                                                                        documents.
                                                                        Enumeration values are: NoSign,
                                                                        NoSignAllowUserOverride, YesSign
InPersonIDCheckQuestion                        String                   The default question used by the In
                                                                        Person signing host for an In Person
                                                                        signing session.
SessionTimeout                                 Integer                  The amount of idle activity time, in
                                                                        minutes, before a user is automatically
                                                                        logged out of the system. The minimum
                                                                        setting is 20 minutes and the maximum
                                                                        setting is 120 minutes.
AttachCompletedEnvelope                        Boolean                  When true, envelope documents are
                                                                        included as a PDF file attachment for
                                                                        signing completed emails.
SignerCanSignOnMobile                          Boolean                  When true, signer can use the DocuSign
                                                                        mobile signing user interface.
SignerShowSecureFieldInitialValues             Boolean                  When true, the initial value of all
                                                                        SecureFields is written to the document
                                                                        when sent.
SignerAttachCertificateToEnvelopePDF           Boolean                  When true, the Certificate of Completion
                                                                        is included in the envelope documents
                                                                        PDF when it is downloaded.
EnableSignOnPaper                              Boolean                  When true, a user can allow signers to
                                                                        use the sign on paper option.
EnableSignOnPaperOverride                      Boolean                  When true, a user can override the default
                                                                        account setting for the sign on paper
                                                                        option.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    225

Name                                           Schema Type              Description
EnableSignerAttachments                        Boolean                  When true, a user can request
                                                                        attachments from a signer.
UseAccountLevelEmail                           Boolean                  When true, the content of notification
                                                                        emails is determined at the account level.


Sample Response XML
  HTTP/1.1 200 OK
  Content-Type: text/xml; charset=utf-8
  Content-Length: length

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <GetAccountSettingsResponse xmlns="http://www.docusign.net/API/AccountManagement">
        <GetAccountSettingsResult>
          <AccountSettings>
            <UsesAPI>boolean</UsesAPI>
            <EnableDSPro>boolean</EnableDSPro>
            <EnableSendToManage>boolean</EnableSendToManage>
            <EnableSendToAgent>boolean</EnableSendToAgent>
            <EnableVaulting>boolean</EnableVaulting>

  <EnableEnvelopeStampingByAccountAdmin>boolean</EnableEnvelopeStampingByAccountAdmin>
            <EnvelopeStampingDefaultValue>boolean</EnvelopeStampingDefaultValue>
            <SignerMustHaveAccount>boolean</SignerMustHaveAccount>
            <SignerMustLoginToSign>boolean</SignerMustLoginToSign>
            <SignerCanCreateAccount>boolean</SignerCanCreateAccount>
            <AllowInPerson>boolean</AllowInPerson>
            <EnablePowerForm>boolean</EnablePowerForm>
            <AllowSignerReassign>boolean</AllowSignerReassign>
            <EnableReservedDomain>boolean</EnableReservedDomain>
            <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
            <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
            <EnableAutoNav>boolean</EnableAutoNav>
            <AutoNavRule>bytes</AutoNavRule>
            <EnableTransactionPoint>boolean</EnableTransactionPoint>
            <EnvelopeIntegrationAllowed>bytes</EnvelopeIntegrationAllowed>
            <EnvelopeIntegrationEnabled>boolean</EnvelopeIntegrationEnabled>
            <CanSelfBrandSend>boolean</CanSelfBrandSend>
            <CanSelfBrandSign>boolean</CanSelfBrandSign>
            <IDCheckRequired>bytes</IDCheckRequired>
            <IDCheckExpire>bytes</IDCheckExpire>
            <IDCheckExpireDays>integer</IDCheckExpireDays>
            <SignDateFormat>string</SignDateFormat>
            <PKISignDownloadedPDFDocs>bytes</PKISignDownloadedPDFDocs>
            <InPersonIDCheckQuestion>string</InPersonIDCheckQuestion>
            <SessionTimeout>integer</SessionTimeout>
            <AttachCompletedEnvelope>boolean</AttachCompletedEnvelope>
            <SignerCanSignOnMobile>boolean</SignerCanSignOnMobile>

  <SignerShowSecureFieldInitialValues>boolean</SignerShowSecureFieldInitialValues>

  <SignerAttachCertificateToEnvelopePDF>boolean</SignerAttachCertificateToEnvelopePDF>
            <EnableSignOnPaper>boolean</EnableSignOnPaper>
            <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
            <EnableSignerAttachments>boolean</EnableSignerAttachments>
            <UseAccountLevelEmail>boolean</UseAccountLevelEmail>


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    226

          </AccountSettings>
          <Success>boolean</Success>
          <Error>
            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
            <Description>string</Description>
          </Error>
        </GetAccountSettingsResult>
      </GetAccountSettingsResponse>
    </soap:Body>
  </soap:Envelope>

GetConnectCredentials
This method is used by the DocuSign for Salesforce package to retrieve the Salesforce connect
settings.

Schema

Name                             Schema Type                       Description
AccountId                        String                            The DocuSign account ID.


Sample Request XML
  POST /api/3.0/accountmanagement.asmx HTTP/1.1
  Host: docusign.net
  Content-Type: text/xml; charset=utf-8
  Content-Length: length
  SOAPAction: "http://www.docusign.net/API/AccountManagement/GetConnectCredentials"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <GetConnectCredentials xmlns="http://www.docusign.net/API/AccountManagement">
        <AccountId>string</AccountId>
      </GetConnectCredentials>
    </soap:Body>
  </soap:Envelope>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    227

The response contains the information below and either a success or failure. If the call fails an error
code is provided.

Name                             Schema Type                       Description
ConnectUserName                  String                            The Salesforce login user name.
ConnectConfig                    String                            The XML configuration.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetConnectCredentialsResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <GetConnectCredentialsResult>
           <ConnectUserName>string</ConnectUserName>
           <ConnectConfig>string</ConnectConfig>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
             <Description>string</Description>
           </Error>
         </GetConnectCredentialsResult>
       </GetConnectCredentialsResponse>
     </soap:Body>
   </soap:Envelope>

GetEncryptedPassword
This method requests the encrypted form of the user’s password. This encrypted password may be
used for authentication in other API function calls along with a User Name or User ID and an
Integrator Key.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    228

Sample Request XML:
   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetEncryptedPassword xmlns="http://www.docusign.net/API/AccountManagement" />
     </soap:Body>
   </soap:Envelope>

The function returns encrypted password for the authenticated user that can be used in successive API calls.

Name                             Schema Type                       Description
EncryptedPassword                String                            The encrypted password for the authenticated
                                                                   user.
The call returns either a success or failure. If the call fails an error code is provided.

Sample Response XML:
   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetEncryptedPasswordResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <GetEncryptedPasswordResult>
           <EncryptedPassword>string</EncryptedPassword>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request</ErrorCode>
             <Description>string</Description>
           </Error>
         </GetEncryptedPasswordResult>
       </GetEncryptedPasswordResponse>
     </soap:Body>
   </soap:Envelope>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    229

Sample Code

   GetEncryptedPassword – C#
   DSAPI_AcctMgmtWebService.GetEncryptedPasswordResponseGetEncryptedPasswordResult result =
              dsAcctMgmtApi.GetEncryptedPassword();
          if (result.Success)
          {
              txtEncryptedPW.Text = result.EncryptedPassword;
              txtResults.Text = "Encrypted Password successfully retrieved.";
              return;
          }
          txtResults.Text = "Encrypted Password request failed: " +
          result.Error.Description;

GetMemberSettings
This method requests some attributes about the specified member of the account

Schema

Name                             Schema Type                       Description
AccountId                        String                            The account ID associated with the member.
UserId                           String                            The User ID for the member.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetMemberSettings"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetMemberSettings xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
         <UserId>string</UserId>
       </GetMemberSettings>
     </soap:Body>
   </soap:Envelope>

The response provides the MemberSettings for the user and either a success or failure. If the call
fails an error code is provided. See the MemberSettings section for more information.

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    230

      <GetMemberSettingsResponse xmlns="http://www.docusign.net/API/AccountManagement">
        <GetMemberSettingsResult>
          <MemberSettings>
            <CanManageAccount>boolean</CanManageAccount>
            <CanSendEnvelope>boolean</CanSendEnvelope>
            <CanSendAPIRequests>boolean</CanSendAPIRequests>
            <APIAccountWideAccess>boolean</APIAccountWideAccess>
            <EnableVaulting>boolean</EnableVaulting>
            <VaultingMode>bytes</VaultingMode>
            <EnableTransactionPoint>boolean</EnableTransactionPoint>
            <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
            <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
            <EnableDSPro>boolean</EnableDSPro>
            <PowerFormAdmin>boolean</PowerFormAdmin>
            <PowerFormUser>boolean</PowerFormUser>
            <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook>
            <CanManageTemplates>bytes</CanManageTemplates>
            <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
            <EnableSignerAttachments>boolean</EnableSignerAttachments>
          </MemberSettings>
          <Success>boolean</Success>
          <Error>
            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
            <Description>string</Description>
          </Error>
        </GetMemberSettingsResult>
      </GetMemberSettingsResponse>
    </soap:Body>
  </soap:Envelope>

GetMembershipSummary
This method requests a summary list of information about the accounts and users associated with the
supplied email address.
This method uses the UserName/Password/IntegratorKey authentication and requires System
Administrator privileges. It takes the argument:

Name                             Schema Type                       Description
Email                            String                            The email address for the user whose account
                                                                   and user information is being requested.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    231

Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetMembershipSummary"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetMembershipSummary xmlns="http://www.docusign.net/API/AccountManagement">
         <Email>string</Email>
       </GetMembershipSummary>
     </soap:Body>
   </soap:Envelope>

This method returns a repeating list of membership summaries with the following information:

Name                             Schema Type                       Description
AccountName                      String                            The Account Name associated with the
                                                                   requested user.
AccountId                        String                            The Account ID associated with the requested
                                                                   user.
UserName                         String                            The name of the user associated with the
                                                                   account.
UserId                           String                            The ID of the user associated with the
                                                                   account.
UserType                         String                            Works in combination with UserStatus to show
                                                                   user membership information.
                                                                   There are two possible values for this element:
                                                                   Recipient and CompanyUser.
                                                                   See the table below for a description of the
                                                                   meaning of different UserId and UserStatus
                                                                   combinations.
UserStatus                       String                            Works in combination with UserType to show
                                                                   user membership information.
                                                                   There are three possible values for this
                                                                   element: Created, Active, and Closed.
                                                                   See the table below for a description of the
                                                                   meaning of different UserId and UserStatus
                                                                   combinations.
PlanName                         String                            The plan name for the account.
Pgp                              String                            The plan group plan for the account. The Pgp
                                                                   uniquely identifies a plan/plan group and is
                                                                   used to set plans in other functions.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   232

 Content-Length: length

 <?xml version="1.0" encoding="utf-8"?>
 <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     <GetMembershipSummaryResponse xmlns="http://www.docusign.net/API/AccountManagement">
       <GetMembershipSummaryResult>
         <MembershipSummaries>
           <MembershipSummary>
             <AccountName>string</AccountName>
             <AccountId>string</AccountId>
             <UserName>string</UserName>
             <UserId>string</UserId>
             <UserType>CompanyUser or Recipient</UserType>
             <UserStatus>Created or Active or Closed</UserStatus>
             <PlanName>string</PlanName>
             <Pgp>string</Pgp>
           </MembershipSummary>
           <MembershipSummary>
             <AccountName>string</AccountName>
             <AccountId>string</AccountId>
             <UserName>string</UserName>
             <UserId>string</UserId>
             <UserType>CompanyUser or Recipient</UserType>
             <UserStatus>Created or Active or Closed</UserStatus>
             <PlanName>string</PlanName>
             <Pgp>string</Pgp>
           </MembershipSummary>
         </MembershipSummaries>
         <Success>boolean</Success>
         <Error>
           <ErrorCode>Unspecified_Error or Invalid_Account_ID or
 Account_Requires_User_Name_And_Password_For_Activation or
 Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
 Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
 Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
 Member_Email_And_User_Name_Awaiting_Activation or
 Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
 Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
 Invalid_Password_Format or Invalid_Member_Data or
 Member_Email_And_User_Name_Already_Exists or Not_Authorized or
 Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
 or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
 Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
 Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
 Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
 Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
 Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
 or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
 Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
 Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
           <Description>string</Description>
         </Error>
       </GetMembershipSummaryResult>
     </GetMembershipSummaryResponse>
   </soap:Body>
 </soap:Envelope>




 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    233

UserType and UserStatus Combinations

  UserType          UserStatus        Description
  Recipient         Created           The user has received documents for signing and may have signed
                                      them, but does not have a DocuSign account used to log into the
                                      console.
  Recipient         Active            The user has received documents for signing and has signed up for
                                      free DocuSign account. The user has console access to view and
                                      sign documents in the console, but cannot send documents.
  CompanyUser       Active            The user has a DocuSign account that allows access to view, sign,
                                      and send documents. The user also has a billing plan.
  CompanyUser       Created           This combination is not used.
  Recipeint or      Closed            The user account has been closed. Note that the UserType does
  CompanyUser                         not matter if the UserStatus is Closed.

GetPlanGroupInformation
This function requests the plan group names and plans associated with each plan group for the given
distributor code. This information is used to assign billing plans to an account.
GetPlanGroupInformation takes the arguments:

Name                             Schema Type                       Description
DistributorCode                  String                            The Distributor Code that identifies the billing
                                                                   plan groups and plans.
DistributorPassword              String                            The Distributor Password for the
                                                                   DistributorCode.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetPlanGroupInformation"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetPlanGroupInformation xmlns="http://www.docusign.net/API/AccountManagement">
         <DistributorCode>string</DistributorCode>
         <DistributorPassword>string</DistributorPassword>
       </GetPlanGroupInformation>
     </soap:Body>
   </soap:Envelope>

The function returns a list of the plan groups for the distributor code. A distributor code may have
multiple plan groups associated with it and each of those plan groups may have multiple plans. The
following information is included in the result:

Name                             Schema Type                       Description
PlanGroupName                    String                            The name of the billing plan group.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    234

Name                             Schema Type                       Description
PlanGroupPlans                   PlanGroupPlan                     A repeating list of the Plan Name and the Plan
                                                                   Group Plan ID for each plan group.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetPlanGroupInformationResponse
   xmlns="http://www.docusign.net/API/AccountManagement">
         <GetPlanGroupInformationResult>
           <PlanGroups>
             <PlanGroup>
               <PlanGroupName>string</PlanGroupName>
               <PlanGroupPlans xsi:nil="true" />
             </PlanGroup>
             <PlanGroup>
               <PlanGroupName>string</PlanGroupName>
               <PlanGroupPlans xsi:nil="true" />
             </PlanGroup>
           </PlanGroups>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
             <Description>string</Description>
           </Error>
         </GetPlanGroupInformationResult>
       </GetPlanGroupInformationResponse>
     </soap:Body>
   </soap:Envelope>


GetPlanPricingInformation
This function requests the plan pricing information associated with the given distributor code.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    235

GetPlanPricingInformation takes the arguments:

Name                             Schema Type                       Description
DistributorCode                  String                            The Distributor Code that identifies the billing
                                                                   plan groups and plans.
DistributorPassword              String                            The Distributor Password for the
                                                                   DistributorCode.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetPlanPricingInformation"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetPlanPricingInformation xmlns="http://www.docusign.net/API/AccountManagement">
         <DistributorCode>string</DistributorCode>
         <DistributorPassword>string</DistributorPassword>
         <Pgp>string</Pgp>
       </GetPlanPricingInformation>
     </soap:Body>
   </soap:Envelope>

The function returns the plan pricing information for the distributor code. The following information is
included in the result:

Name                             Schema Type                       Description
PlanName                         String                            The name of the plan.
PaymentCycle                                                       The payment cycle associated with the plan.
                                                                   The possible values are: Monthly or Annually.
PaymentMethod                                                      The payment method used with the plan. The
                                                                   possible values are: CreditCard,
                                                                   PurchaseOrder, Premium, or Freemium.
PerSeatPrice                     Decimal                           The per seat price for the plan.
OtherDiscountPercent             Decimal                           Any other percentage discount for the plan.
SupportIncidentFee               Decimal                           The support incident fee charged for each
                                                                   support incident.
SupportPlanFee                   Decimal                           The support plan fee charged for this plan.
IncludedSeats                    Integer                           The number of seats included in the plan.
EnableSupport                    Boolean                           If “true” the plan has support enabled.
Pgp                              String                            The plan group plan for the account. The Pgp
                                                                   uniquely identifies a plan/plan group and is
                                                                   used to set plans in other functions.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    236

Name                             Schema Type                       Description
SeatDiscounts                    SeatDiscount                      A complex type that return any seat discount
                                                                   information.
                                                                   It contains the information: BeginSeatCount,
                                                                   EndSeatCount and SeatDiscountPercent.


Sample Response XML
  HTTP/1.1 200 OK
  Content-Type: text/xml; charset=utf-8
  Content-Length: length

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <GetPlanPricingInformationResponse
  xmlns="http://www.docusign.net/API/AccountManagement">
        <GetPlanPricingInformationResult>
          <Plan>
            <PlanName>string</PlanName>
            <PaymentCycle>Monthly or Annually</PaymentCycle>
            <PaymentMethod>CreditCard or PurchaseOrder or Premium or
  Freemium</PaymentMethod>
            <PerSeatPrice>decimal</PerSeatPrice>
            <OtherDiscountPercent>decimal</OtherDiscountPercent>
            <SupportIncidentFee>decimal</SupportIncidentFee>
            <SupportPlanFee>decimal</SupportPlanFee>
            <IncludedSeats>integer</IncludedSeats>
            <EnableSupport>boolean</EnableSupport>
            <PgpId>string</PgpId>
            <SeatDiscounts>
              <SeatDiscount xsi:nil="true" />
              <SeatDiscount xsi:nil="true" />
            </SeatDiscounts>
          </Plan>
          <Success>boolean</Success>
          <Error>
            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
            <Description>string</Description>
          </Error>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    237

         </GetPlanPricingInformationResult>
       </GetPlanPricingInformationResponse>
     </soap:Body>
   </soap:Envelope>

GetPlanType
This function requests the plan payment type information for an account. The payment types use the
same terminology as the payment method.
GetPlanType takes the argument:

Name                             Schema Type                       Description
AccountId                        String                            The account ID for the account requested.
   Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: test.docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetPlanType"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetPlanType xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
       </GetPlanType>
     </soap:Body>
   </soap:Envelope>

The function returns the account plan payment type (the PaymentMethod value on the Plan table for
the PlanId that is associated with the specified AccountId) and either a success or failure. If the call
fails an error code is provided. The following information included in the result:

Name                             Schema Type                       Description
LogicalPlanType                  String                            The payment method used with the plan. The
                                                                   possible values are: CreditCard,
                                                                   PurchaseOrder, or Freemium.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetPlanTypeResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <GetPlanTypeResult>
           <LogicalPlanType>string</LogicalPlanType>
           <Success>boolean</Success>
           <Error>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    238

            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
            <Description>string</Description>
          </Error>
        </GetPlanTypeResult>
      </GetPlanTypeResponse>
    </soap:Body>
  </soap:Envelope>

GetProvisioningInformation
This function requests account provisioning information, the DistributorCode, DistributorPassword,
and other plan information, for the given Token.
GetProvisioningInformation takes the arguments:

Name                             Schema Type                       Description
AppToken                         String                            The token associated with the account
                                                                   provisioning information. This is provided by
                                                                   the group provisioning the account.


Sample Request XML
  POST /api/3.0/accountmanagement.asmx HTTP/1.1
  Host: docusign.net
  Content-Type: text/xml; charset=utf-8
  Content-Length: length
  SOAPAction: "http://www.docusign.net/API/AccountManagement/GetProvisioningInformation"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <GetProvisioningInformation xmlns="http://www.docusign.net/API/AccountManagement">
        <AppToken>string</AppToken>
      </GetProvisioningInformation>
    </soap:Body>
  </soap:Envelope>

The function returns account provisioning information, the DistributorCode, DistributorPassword, and
other plan information. The following information included in the result:



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    239

Name                                   Schema Type                    Description
DistributorCode                        String                         The Distributor Code that identifies the
                                                                      billing plan groups and plans.
DistributorPassword                    String                         The Distributor Password for the
                                                                      DistributorCode.
Pgp                                    String                         The plan group plan for the account. The
                                                                      Pgp uniquely identifies a plan/plan group
                                                                      and is used to set plans in other functions.
DefaultConnectConfigurationId          Integer                        Reserved.
PasswordRuleText                       String                         A text string describing the rules for setting
                                                                      an account password.
PurchaseOrderOrPromoAllowed            Boolean                        Shows if a Purchase Order or Promotion is
                                                                      associated with the account.
Success                                Boolean                        This is True if the API succeeded. If False
                                                                      the ErrorCode and Description fields will
                                                                      contain the error information.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetProvisioningInformationResponse
   xmlns="http://www.docusign.net/API/AccountManagement">
         <GetProvisioningInformationResult>
           <DistributorCode>string</DistributorCode>
           <DistributorPassword>string</DistributorPassword>
           <Pgp>string</Pgp>
           <PlanPromoText>string</PlanPromoText>
           <DefaultConnectConfigurationId>integer</DefaultConnectConfigurationId>
           <PasswordRuleText>string</PasswordRuleText>
           <PurchaseOrderOrPromoAllowed>boolean</PurchaseOrderOrPromoAllowed>
           <Success>boolean</Success>
           <Error>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    240

             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
             <Description>string</Description>
           </Error>
         </GetProvisioningInformationResult>
       </GetProvisioningInformationResponse>
     </soap:Body>
   </soap:Envelope>

GetSuccessorPlanInformation
This function requests the current plan information and a list of successor plans, plans that the current
plan could be rolled into, associated with the given distributor code and account.
GetSuccessorPlanInformation takes the arguments:

Name                             Schema Type                       Description
DistributorCode                  String                            The Distributor Code that identifies the billing
                                                                   plan groups and plans.
DistributorPassword              String                            The Distributor Password for the
                                                                   DistributorCode.
AccountId                        String                            The Account ID for the account for which
                                                                   information is being requested.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetSuccessorPlanInformation"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetSuccessorPlanInformation xmlns="http://www.docusign.net/API/AccountManagement">
         <DistributorCode>string</DistributorCode>
         <DistributorPassword>string</DistributorPassword>
         <AccountId>string</AccountId>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    241

       </GetSuccessorPlanInformation>
     </soap:Body>
   </soap:Envelope>

The function returns the current plan information and a list of successor plans for the distributor code
and account. The following information included in the result:

Name                             Schema Type                       Description
CurrentPlan                      CurrentPlan                       A complex type that returns the pricing plan
                                                                   information for the current plan.
                                                                   The information in this complex type is the
                                                                   same as the return from the
                                                                   GetPricingPlanInformation call. See the return
                                                                   information above for more information.
SuccessorPlan                    SucessorPlan                      The list of SuccessorPlans. One of the plans in
                                                                   the list could be selected to succeed the
                                                                   current plan.
                                                                   The SuccessorPlan information in this complex
                                                                   type is the same as the return from the
                                                                   GetPricingPlanInformation call. See the return
                                                                   information above for more information.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetSuccessorPlanInformationResponse
   xmlns="http://www.docusign.net/API/AccountManagement">
         <GetSuccessorPlanInformationResult>
           <CurrentPlan>
             <PlanName>string</PlanName>
             <PaymentCycle>Monthly or Annually</PaymentCycle>
             <PaymentMethod>CreditCard or PurchaseOrder or Premium or
   Freemium</PaymentMethod>
             <PerSeatPrice>decimal</PerSeatPrice>
             <OtherDiscountPercent>decimal</OtherDiscountPercent>
             <SupportIncidentFee>decimal</SupportIncidentFee>
             <SupportPlanFee>decimal</SupportPlanFee>
             <IncludedSeats>integer</IncludedSeats>
             <EnableSupport>boolean</EnableSupport>
             <PgpId>string</PgpId>
             <SeatDiscounts>
               <SeatDiscount xsi:nil="true" />
               <SeatDiscount xsi:nil="true" />
             </SeatDiscounts>
           </CurrentPlan>
           <SuccessorPlans>
             <SuccessorPlan>
               <PlanName>string</PlanName>
               <PaymentCycle>Monthly or Annually</PaymentCycle>
               <PaymentMethod>CreditCard or PurchaseOrder or Premium or
   Freemium</PaymentMethod>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    242

              <PerSeatPrice>decimal</PerSeatPrice>
              <OtherDiscountPercent>decimal</OtherDiscountPercent>
              <SupportIncidentFee>decimal</SupportIncidentFee>
              <SupportPlanFee>decimal</SupportPlanFee>
              <IncludedSeats>integer</IncludedSeats>
              <EnableSupport>boolean</EnableSupport>
              <PgpId>string</PgpId>
              <SeatDiscounts xsi:nil="true" />
            </SuccessorPlan>
            <SuccessorPlan>
              <PlanName>string</PlanName>
              <PaymentCycle>Monthly or Annually</PaymentCycle>
              <PaymentMethod>CreditCard or PurchaseOrder or Premium or
  Freemium</PaymentMethod>
              <PerSeatPrice>decimal</PerSeatPrice>
              <OtherDiscountPercent>decimal</OtherDiscountPercent>
              <SupportIncidentFee>decimal</SupportIncidentFee>
              <SupportPlanFee>decimal</SupportPlanFee>
              <IncludedSeats>integer</IncludedSeats>
              <EnableSupport>boolean</EnableSupport>
              <PgpId>string</PgpId>
              <SeatDiscounts xsi:nil="true" />
            </SuccessorPlan>
          </SuccessorPlans>
          <Success>boolean</Success>
          <Error>
            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
            <Description>string</Description>
          </Error>
        </GetSuccessorPlanInformationResult>
      </GetSuccessorPlanInformationResponse>
    </soap:Body>
  </soap:Envelope>

GetUserProfile
This method retrieves the privacy settings and personal information (address, phone number, etc.)
from a user ID card.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    243

GetUserProfile takes the argument:

Name                              Schema Type                       Description
UserId                            String                            The User ID for the user for which you want to
                                                                    retrieve information.
AccountId                         String                            The Account ID for the account associated
                                                                    with the user.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: test.docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/GetUserProfile"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetUserProfile xmlns="http://www.docusign.net/API/AccountManagement">
         <UserId>string</UserId>
         <AccountId>string</AccountId>
       </GetUserProfile>
     </soap:Body>
   </soap:Envelope>

The response returns the user profile information from the user’s ID card. The User Profile contains
the following information.

Name                              Schema Type                       Description
AccountId                         String                            The Account ID for the account associated
                                                                    with the user.
UserId                            String                            User ID for the user.
ShowDocuSignID                    Boolean                           When true, the user’s ID card can be viewed
                                                                    from signed documents and envelope history.
DisplayCompanyAndTitle            Boolean                           When true, the user’s company and title
                                                                    information are shown on the ID card.
DisplayAddressAndPhone            Boolean                           When true, the user’s Address and Phone
                                                                    number are shown on the ID card.
DisplayUsageHistory               Boolean                           When true, the user’s usage information is
                                                                    shown on the ID card.
Company                           String                            The user’s Company information.
Title                             String                            The user’s Title information.




    111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    244

Name                             Schema Type                       Description
Address                          Address                           A complex element consisting of the optional
                                                                   elements:
                                                                   • Address1
                                                                   • Address2
                                                                   • City
                                                                   • State
                                                                   • Zip
                                                                   • Phone
                                                                   • Fax
                                                                   • Country
AuthenticationHistory            AuthenticationMethod              Shows the authentication methods used by the
                                                                   user.
UsageHistory                     Usage History                     A complex element consisting of:
                                                                   • SignedCount – the number of enevelopes
                                                                       the user has signed.
                                                                   • LastSignedTimestamp – the dateand time
                                                                       the user last signed an envelope.
                                                                   • SentCount – the number of envelopes the
                                                                       user has sent.
                                                                   • LastSentTimestamp – the date and time
                                                                       the user last sent an envelope.


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetUserProfileResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <GetUserProfileResult>
           <UserProfile>
             <AccountId>string</AccountId>
             <UserId>string</UserId>
             <ShowDocuSignID>boolean</ShowDocuSignID>
             <DisplayCompanyAndTitle>boolean</DisplayCompanyAndTitle>
             <DisplayAddressAndPhone>boolean</DisplayAddressAndPhone>
             <DisplayUsageHistory>boolean</DisplayUsageHistory>
             <Company>string</Company>
             <Title>string</Title>
             <Address>
               <Address1>string</Address1>
               <Address2>string</Address2>
               <City>string</City>
               <State>string</State>
               <Zip>string</Zip>
               <Phone>string</Phone>
               <Fax>string</Fax>
               <Country>string</Country>
             </Address>
             <AuthenticationHistory>
               <AuthenticationMethod xsi:nil="true" />



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    245

              <AuthenticationMethod xsi:nil="true" />
            </AuthenticationHistory>
            <UsageHistory>
              <SignedCount>int</SignedCount>
              <LastSignedTimestamp>dateTime</LastSignedTimestamp>
              <SentCount>int</SentCount>
              <LastSentTimestamp>dateTime</LastSentTimestamp>
            </UsageHistory>
          </UserProfile>
          <Success>boolean</Success>
          <Error>
            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or
  Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or
  Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode>
            <Description>string</Description>
          </Error>
        </GetUserProfileResult>
      </GetUserProfileResponse>
    </soap:Body>
  </soap:Envelope>


GetUserProfileImage
This method retrieves the image from a user ID card.

Sample Request XML
  POST /api/3.0/accountmanagement.asmx HTTP/1.1
  Host: test.docusign.net
  Content-Type: text/xml; charset=utf-8
  Content-Length: length
  SOAPAction: "http://www.docusign.net/API/AccountManagement/GetUserProfileImage"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <GetUserProfileImage xmlns="http://www.docusign.net/API/AccountManagement" />
    </soap:Body>
  </soap:Envelope>

The request returns the image file from the user ID card



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    246

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <GetUserProfileImageResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <GetUserProfileImageResult>
           <UserProfileImage>
             <Image>
               <MimeType>string</MimeType>
               <ImageData>base64Binary</ImageData>
             </Image>
           </UserProfileImage>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or
   Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or
   Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode>
             <Description>string</Description>
           </Error>
         </GetUserProfileImageResult>
       </GetUserProfileImageResponse>
     </soap:Body>
   </soap:Envelope>


NewAccount
This method creates a new DocuSign account with a single member, who is the account owner.

Name                             Schema Type                       Description
AccountName                      String                            The account name for the new account.
DistributorCode                  String                            The Distributor Code that identifies the billing
                                                                   plan groups and plans for the new account.
DistributorPassword              String                            The Distributor Password for the
                                                                   DistributorCode.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    247

Name                             Schema Type                       Description
Pgp                              String                            The plan group plan for the account. The Pgp
                                                                   uniquely identifies a plan/plan group and is
                                                                   used to set plans in other functions.
CreditCardInformation            CreditCardInformation             A complex type that has information about the
                                                                   credit card used to pay for this account. It
                                                                   included the elements: ccNumber,
                                                                   ccExpirationMonth, ccExpirationYear,
                                                                   ccUserName, and ccType.
ReferralInformation              ReferralInformation               A complex type that contains the following
                                                                   information: EnableSupport, IncludedSeats,
                                                                   ReferrerName, ReferralCode,
                                                                   AdvertisementID, PublisherID, ShopperID,
                                                                   PromoCode, GroupMemberID, IdType, and
                                                                   Industry.
AccountSettings                  AccountSettings                   A complex type with the account settings
                                                                   information for the new account. See the
                                                                   AccountSettings section for more information
Member                           Member                            A complex type with the member information
                                                                   for the new account. See Member section for
                                                                   more information.
AddressInformation               AddressInformation                A complex type that contains the following
                                                                   information for the new account: Street1,
                                                                   Street2, City, State, Zip, Phone, and Fax.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/NewAccount"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <NewAccount xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountName>string</AccountName>
         <DistributorCode>string</DistributorCode>
         <DistributorPassword>string</DistributorPassword>
         <Pgp>string</Pgp>
         <CreditCardInformation>
           <ccNumber>string</ccNumber>
           <ccExpirationMonth>string</ccExpirationMonth>
           <ccExpirationYear>string</ccExpirationYear>
           <ccUserName>string</ccUserName>
           <ccType>string</ccType>
         </CreditCardInformation>
         <ReferralInformation>
           <EnableSupport>boolean</EnableSupport>
           <IncludedSeats>positiveInteger</IncludedSeats>
           <SaleDiscountPercent>decimal</SaleDiscountPercent>
           <PlanStartMonth>positiveInteger</PlanStartMonth>
           <ReferrerName>string</ReferrerName>


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   248

          <ReferralCode>string</ReferralCode>
          <AdvertisementID>string</AdvertisementID>
          <PublisherID>string</PublisherID>
          <ShopperID>string</ShopperID>
          <PromoCode>string</PromoCode>
          <GroupMemberID>string</GroupMemberID>
          <IdType>string</IdType>
          <Industry>string</Industry>
        </ReferralInformation>
        <AccountSettings>
          <UsesAPI>boolean</UsesAPI>
          <EnableDSPro>boolean</EnableDSPro>
          <EnableVaulting>boolean</EnableVaulting>

 <EnableEnvelopeStampingByAccountAdmin>boolean</EnableEnvelopeStampingByAccountAdmin>
         <EnvelopeStampingDefaultValue>boolean</EnvelopeStampingDefaultValue>
         <SignerMustHaveAccount>boolean</SignerMustHaveAccount>
         <SignerMustLoginToSign>boolean</SignerMustLoginToSign>
         <SignerCanCreateAccount>boolean</SignerCanCreateAccount>
         <AllowInPerson>boolean</AllowInPerson>
         <EnablePowerForm>boolean</EnablePowerForm>
         <AllowSignerReassign>boolean</AllowSignerReassign>
         <EnableReservedDomain>boolean</EnableReservedDomain>
         <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
         <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
         <EnableAutoNav>boolean</EnableAutoNav>
         <AutoNavRule>bytes</AutoNavRule>
         <EnableTransactionPoint>boolean</EnableTransactionPoint>
         <EnvelopeIntegrationAllowed>bytes</EnvelopeIntegrationAllowed>
         <EnvelopeIntegrationEnabled>boolean</EnvelopeIntegrationEnabled>
         <CanSelfBrandSend>boolean</CanSelfBrandSend>
         <CanSelfBrandSign>boolean</CanSelfBrandSign>
         <IDCheckRequired>bytes</IDCheckRequired>
         <IDCheckExpire>bytes</IDCheckExpire>
         <IDCheckExpireDays>integer</IDCheckExpireDays>
         <SignDateFormat>string</SignDateFormat>
         <PKISignDownloadedPDFDocs>bytes</PKISignDownloadedPDFDocs>
         <InPersonIDCheckQuestion>string</InPersonIDCheckQuestion>
         <SessionTimeout>integer</SessionTimeout>
         <AttachCompletedEnvelope>boolean</AttachCompletedEnvelope>
         <SignerCanSignOnMobile>boolean</SignerCanSignOnMobile>
         <SignerShowSecureFieldInitialValues>boolean</SignerShowSecureFieldInitialValues>

 <SignerAttachCertificateToEnvelopePDF>boolean</SignerAttachCertificateToEnvelopePDF>
         <EnableSignOnPaper>boolean</EnableSignOnPaper>
         <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
         <EnableSignerAttachments>boolean</EnableSignerAttachments>
         <UseAccountLevelEmail>boolean</UseAccountLevelEmail>
       </AccountSettings>
       <Member>
         <MemberEmailAddress>string</MemberEmailAddress>
         <MemberUserName>string</MemberUserName>
         <MemberPassword>string</MemberPassword>
         <MemberForgottenPasswordQuestion>string</MemberForgottenPasswordQuestion>
         <MemberForgottenPasswordAnswer>string</MemberForgottenPasswordAnswer>
         <MemberTitle>string</MemberTitle>
         <MemberFirstName>string</MemberFirstName>
         <MemberMiddleName>string</MemberMiddleName>
         <MemberLastName>string</MemberLastName>
         <MemberSuffix>string</MemberSuffix>
         <EnableConnectForUser>boolean</EnableConnectForUser>
         <MemberSettings>
           <CanManageAccount>boolean</CanManageAccount>
           <CanSendEnvelope>boolean</CanSendEnvelope>



 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    249

             <CanSendAPIRequests>boolean</CanSendAPIRequests>
             <APIAccountWideAccess>boolean</APIAccountWideAccess>
             <EnableVaulting>boolean</EnableVaulting>
             <VaultingMode>bytes</VaultingMode>
             <EnableTransactionPoint>boolean</EnableTransactionPoint>
             <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
             <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
             <EnableDSPro>boolean</EnableDSPro>
             <PowerFormAdmin>boolean</PowerFormAdmin>
             <PowerFormUser>boolean</PowerFormUser>
             <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook>
             <CanManageTemplates>bytes</CanManageTemplates>
             <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
             <EnableSignerAttachments>boolean</EnableSignerAttachments>
           </MemberSettings>
           <ReturnEncryptedPassword>boolean</ReturnEncryptedPassword>
         </Member>
         <AddressInformation>
           <Address1>string</Address1>
           <Address2>string</Address2>
           <City>string</City>
           <State>string</State>
           <Zip>string</Zip>
           <Phone>string</Phone>
           <Fax>string</Fax>
         </AddressInformation>
       </NewAccount>
     </soap:Body>
   </soap:Envelope>

The response contains the information below and either a success or failure. If the call fails an error
code is provided.

Name                             Schema Type                       Description
AccountId                        String                            The DocuSign account ID for the new account.
SiteId                           String                            The Site ID for the new account.
UserId                           String                            The User ID for the new account.
MembershipId                     String                            The membership ID for the new account.
EncryptedPassword                String                            The encrypted password for the new account. .


Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <NewAccountResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <NewAccountResult>
           <AccountId>string</AccountId>
           <SiteId>string</SiteId>
           <UserId>string</UserId>
           <MembershipId>string</MembershipId>
           <EncryptedPassword>string</EncryptedPassword>
           <Success>boolean</Success>


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    250

           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
             <Description>string</Description>
           </Error>
         </NewAccountResult>
       </NewAccountResponse>
     </soap:Body>
   </soap:Envelope>

Ping
This method determines if the AccountManagement API service can be contacted.

Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/Ping"
   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <Ping xmlns="http://www.docusign.net/API/AccountManagement" />
     </soap:Body>
   </soap:Envelope>

This method simply returns “true” in the result XML if the calling application was able to reach it.

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <PingResponse xmlns="http://www.docusign.net/API/AccountManagement">



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    251

         <PingResult>boolean</PingResult>
       </PingResponse>
     </soap:Body>
   </soap:Envelope>

ResendAccountActivation
This method sends another account activation message to an account user.

Name                               Schema Type                      Description
DistributorCode                    String                           The Distributor Code that identifies the billing
                                                                    plan groups and plans.
DistributorPassword                String                           The Distributor Password for the
                                                                    DistributorCode.
MemberEmailAddress                 String                           The member’s email address for the
                                                                    associated account.
MemberUserName                     String                           The member’s name for the associated
                                                                    account.
MemberPassword                     String                           The member’s password for the associated
                                                                    account.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: test.docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/ResendAccountActivation"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <ResendAccountActivation xmlns="http://www.docusign.net/API/AccountManagement">
         <DistributorCode>string</DistributorCode>
         <DistributorPassword>string</DistributorPassword>
         <MemberEmailAddress>string</MemberEmailAddress>
         <MemberUserName>string</MemberUserName>
         <MemberPassword>string</MemberPassword>
       </ResendAccountActivation>
     </soap:Body>
   </soap:Envelope>

The response returns a success or failure result

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    252

       <ResendAccountActivationResponse
   xmlns="http://www.docusign.net/API/AccountManagement">
         <ResendAccountActivationResult>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or
   Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or
   Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode>
             <Description>string</Description>
           </Error>
         </ResendAccountActivationResult>
       </ResendAccountActivationResponse>
     </soap:Body>
   </soap:Envelope>


SetConnectCredentials
This method is used by the DocuSign for Salesforce package to set the connection used by DocuSign
to update Salesforce data.

Name                             Schema Type                       Description
AccountId                        String                            The DocuSign account ID.
ConnectUsername                  String                            The Salesforce login user name.
ConnectPassword                  String                            The Salesforce login password.
ConnectConfigurationId           Int                               The default XML used when setting up
                                                                   Connect for Salesforce.
SalesforceEnvironment            String                            The Salesforce environment being accessed
                                                                   (i.e: Production or Test).


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/SetConnectCredentials"

   <?xml version="1.0" encoding="utf-8"?>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    253

   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <SetConnectCredentials xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
         <ConnectUsername>string</ConnectUsername>
         <ConnectPassword>string</ConnectPassword>
         <ConnectConfigurationId>int</ConnectConfigurationId>
         <SalesforceEnvironment>string</SalesforceEnvironment>
       </SetConnectCredentials>
     </soap:Body>
   </soap:Envelope>

This method returns a ConnectTestResult string and either a success or failure. If the call fails an
error code is provided.

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <SetConnectCredentialsResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <SetConnectCredentialsResult>
           <ConnectTestResult>string</ConnectTestResult>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
             <Description>string</Description>
           </Error>
         </SetConnectCredentialsResult>
       </SetConnectCredentialsResponse>
     </soap:Body>
   </soap:Envelope>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    254

SetUserProfile
This method is used to set the privacy settings and personal information (address, phone number,
etc.) from a user ID card.

Name                              Schema Type                       Description
AccountId                         String                            The Account ID for the account associated
                                                                    with the user.
UserId                            String                            User ID for the user.
ShowDocuSignID                    Boolean                           When true, the user’s ID card can be viewed
                                                                    from signed documents and envelope history.
DisplayCompanyAndTitle            Boolean                           When true, the user’s company and title
                                                                    information are shown on the ID card.
DisplayAddressAndPhone            Boolean                           When true, the user’s Address and Phone
                                                                    number are shown on the ID card.
DisplayUsageHistory               Boolean                           When true, the user’s usage information is
                                                                    shown on the ID card.
Company                           String                            The user’s Company information.
Title                             String                            The user’s Title information.
Address                           Address                           A complex element consisting of the optional
                                                                    elements:
                                                                    • Address1
                                                                    • Address2
                                                                    • City
                                                                    • State
                                                                    • Zip
                                                                    • Phone
                                                                    • Fax
                                                                    • Country
AuthenticationHistory             AuthenticationMethod              A complex element consisting of:
                                                                    • AuthenticationMethodType (PhoneAuth,
                                                                        STAN, ISCheck, OFAC, AccessCode,
                                                                        AgeVerify, or SSOAuth)
                                                                    • TotalCount – the number of times used.
                                                                    • LastTimestamp – the data and time the
                                                                        user last used the authentication method.
                                                                    • LastProvider – the last provider that
                                                                        authenticated the user.
UsageHistory                      Usage History                     A complex element consisting of:
                                                                    • SignedCount – the number of enevelopes
                                                                        the user has signed.
                                                                    • LastSignedTimestamp – the dateand time
                                                                        the user last signed an envelope.
                                                                    • SentCount – the number of envelopes the
                                                                        user has sent.
                                                                    • LastSentTimestamp – the date and time
                                                                        the user last sent an envelope.




    111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    255

Sample Request XML
  POST /api/3.0/accountmanagement.asmx HTTP/1.1
  Host: test.docusign.net
  Content-Type: text/xml; charset=utf-8
  Content-Length: length
  SOAPAction: "http://www.docusign.net/API/AccountManagement/SetUserProfile"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <SetUserProfile xmlns="http://www.docusign.net/API/AccountManagement">
        <UserProfile>
          <AccountId>string</AccountId>
          <UserId>string</UserId>
          <ShowDocuSignID>boolean</ShowDocuSignID>
          <DisplayCompanyAndTitle>boolean</DisplayCompanyAndTitle>
          <DisplayAddressAndPhone>boolean</DisplayAddressAndPhone>
          <DisplayUsageHistory>boolean</DisplayUsageHistory>
          <Company>string</Company>
          <Title>string</Title>
          <Address>
            <Address1>string</Address1>
            <Address2>string</Address2>
            <City>string</City>
            <State>string</State>
            <Zip>string</Zip>
            <Phone>string</Phone>
            <Fax>string</Fax>
            <Country>string</Country>
          </Address>
          <AuthenticationHistory>
            <AuthenticationMethod Type="PhoneAuth or STAN or IDCheck or OFAC or AccessCode
  or AgeVerify or SSOAuth">
              <TotalCount>int</TotalCount>
              <LastTimestamp>dateTime</LastTimestamp>
              <LastProvider>string</LastProvider>
            </AuthenticationMethod>
            <AuthenticationMethod Type="PhoneAuth or STAN or IDCheck or OFAC or AccessCode
  or AgeVerify or SSOAuth">
              <TotalCount>int</TotalCount>
              <LastTimestamp>dateTime</LastTimestamp>
              <LastProvider>string</LastProvider>
            </AuthenticationMethod>
          </AuthenticationHistory>
          <UsageHistory>
            <SignedCount>int</SignedCount>
            <LastSignedTimestamp>dateTime</LastSignedTimestamp>
            <SentCount>int</SentCount>
            <LastSentTimestamp>dateTime</LastSentTimestamp>
          </UsageHistory>
        </UserProfile>
      </SetUserProfile>
    </soap:Body>
  </soap:Envelope>

The response returns the user Membership ID and the success of failure of the information post.

Sample Response XML
  HTTP/1.1 200 OK



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    256

  Content-Type: text/xml; charset=utf-8
  Content-Length: length

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <SetUserProfileResponse xmlns="http://www.docusign.net/API/AccountManagement">
        <SetUserProfileResult>
          <MembershipId>string</MembershipId>
          <Success>boolean</Success>
          <Error>
            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or
  Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or
  Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode>
            <Description>string</Description>
          </Error>
        </SetUserProfileResult>
      </SetUserProfileResponse>
    </soap:Body>
  </soap:Envelope>

SetUserProfileImage
Thsis method is used to upload an image file to a user ID card.

Sample Request XML
  POST /api/3.0/accountmanagement.asmx HTTP/1.1
  Host: test.docusign.net
  Content-Type: text/xml; charset=utf-8
  Content-Length: length
  SOAPAction: "http://www.docusign.net/API/AccountManagement/SetUserProfileImage"

  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <SetUserProfileImage xmlns="http://www.docusign.net/API/AccountManagement">
        <UserProfileImage>
          <Image>
            <MimeType>string</MimeType>


   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    257

             <ImageData>base64Binary</ImageData>
           </Image>
         </UserProfileImage>
       </SetUserProfileImage>
     </soap:Body>
   </soap:Envelope>

The response returns the user ID for the user and a success or failure of the post.

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <SetUserProfileImageResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <SetUserProfileImageResult>
           <UserId>string</UserId>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or
   Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or
   Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode>
             <Description>string</Description>
           </Error>
         </SetUserProfileImageResult>
       </SetUserProfileImageResponse>
     </soap:Body>
   </soap:Envelope>

UpdateAccountSettings
This method is used to modify account level settings.

Name                             Schema Type                       Description
AccountId                        String                            The account ID for the account to be modified.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    258

Name                             Schema Type                       Description
AccountSettings                  AccountSettings                   A complex type with the account settings
                                                                   information being modified. See the
                                                                   AccountSettings section for more information


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/UpdateAccountSettings"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <UpdateAccountSettings xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
         <AccountSettings>
           <UsesAPI>boolean</UsesAPI>
           <EnableDSPro>boolean</EnableDSPro>
           <EnableSendToManage>boolean</EnableSendToManage>
           <EnableSendToAgent>boolean</EnableSendToAgent>
           <EnableVaulting>boolean</EnableVaulting>

   <EnableEnvelopeStampingByAccountAdmin>boolean</EnableEnvelopeStampingByAccountAdmin>
           <EnvelopeStampingDefaultValue>boolean</EnvelopeStampingDefaultValue>
           <SignerMustHaveAccount>boolean</SignerMustHaveAccount>
           <SignerMustLoginToSign>boolean</SignerMustLoginToSign>
           <SignerCanCreateAccount>boolean</SignerCanCreateAccount>
           <AllowInPerson>boolean</AllowInPerson>
           <EnablePowerForm>boolean</EnablePowerForm>
           <AllowSignerReassign>boolean</AllowSignerReassign>
           <EnableReservedDomain>boolean</EnableReservedDomain>
           <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
           <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
           <EnableAutoNav>boolean</EnableAutoNav>
           <AutoNavRule>bytes</AutoNavRule>
           <EnableTransactionPoint>boolean</EnableTransactionPoint>
           <EnvelopeIntegrationAllowed>bytes</EnvelopeIntegrationAllowed>
           <EnvelopeIntegrationEnabled>boolean</EnvelopeIntegrationEnabled>
           <CanSelfBrandSend>boolean</CanSelfBrandSend>
           <CanSelfBrandSign>boolean</CanSelfBrandSign>
           <IDCheckRequired>bytes</IDCheckRequired>
           <IDCheckExpire>bytes</IDCheckExpire>
           <IDCheckExpireDays>integer</IDCheckExpireDays>
           <SignDateFormat>string</SignDateFormat>
           <PKISignDownloadedPDFDocs>bytes</PKISignDownloadedPDFDocs>
           <InPersonIDCheckQuestion>string</InPersonIDCheckQuestion>
           <SessionTimeout>integer</SessionTimeout>
           <AttachCompletedEnvelope>boolean</AttachCompletedEnvelope>
           <SignerCanSignOnMobile>boolean</SignerCanSignOnMobile>
           <SignerShowSecureFieldInitialValues>boolean</SignerShowSecureFieldInitialValues>

   <SignerAttachCertificateToEnvelopePDF>boolean</SignerAttachCertificateToEnvelopePDF>
           <EnableSignOnPaper>boolean</EnableSignOnPaper>
           <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
           <EnableSignerAttachments>boolean</EnableSignerAttachments>
           <UseAccountLevelEmail>boolean</UseAccountLevelEmail>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    259

         </AccountSettings>
       </UpdateAccountSettings>
     </soap:Body>
   </soap:Envelope>

The method returns either a success or failure. If the call fails an error code is provided.

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <UpdateAccountSettingsResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <UpdateAccountSettingsResult>
           <Success>boolean</Success>
           <Error>
             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
             <Description>string</Description>
           </Error>
         </UpdateAccountSettingsResult>
       </UpdateAccountSettingsResponse>
     </soap:Body>
   </soap:Envelope>

UpdateMemberSettings
This method is used to modify settings for a member of an account

Name                             Schema Type                       Description
AccountId                        String                            The account ID associated with the member.
UserId                           String                            The User ID of the user that is being modified.
MemberSettings                   MemberSettings                    A complex type with the member settings that
                                                                   are being modified. See the MemberSettings
                                                                   section for more information.



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    260

Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/UpdateMemberSettings"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <UpdateMemberSettings xmlns="http://www.docusign.net/API/AccountManagement">
         <AccountId>string</AccountId>
         <UserId>string</UserId>
         <MemberSettings>
           <CanManageAccount>boolean</CanManageAccount>
           <CanSendEnvelope>boolean</CanSendEnvelope>
           <CanSendAPIRequests>boolean</CanSendAPIRequests>
           <APIAccountWideAccess>boolean</APIAccountWideAccess>
           <EnableVaulting>boolean</EnableVaulting>
           <VaultingMode>bytes</VaultingMode>
           <EnableTransactionPoint>boolean</EnableTransactionPoint>
           <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
           <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
           <EnableDSPro>boolean</EnableDSPro>
           <PowerFormAdmin>boolean</PowerFormAdmin>
           <PowerFormUser>boolean</PowerFormUser>
           <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook>
           <CanManageTemplates>bytes</CanManageTemplates>
           <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
           <EnableSignerAttachments>boolean</EnableSignerAttachments>
         </MemberSettings>
       </UpdateMemberSettings>
     </soap:Body>
   </soap:Envelope>

The method returns either a success or failure. If the call fails an error code is provided.

Sample Response XML
   HTTP/1.1 200 OK
   Content-Type: text/xml; charset=utf-8
   Content-Length: length

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <UpdateMemberSettingsResponse xmlns="http://www.docusign.net/API/AccountManagement">
         <UpdateMemberSettingsResult>
           <Success>boolean</Success>
           <Error>




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    261

             <ErrorCode>Unspecified_Error or Invalid_Account_ID or
   Account_Requires_User_Name_And_Password_For_Activation or
   Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
   Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
   Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
   Member_Email_And_User_Name_Awaiting_Activation or
   Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
   Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
   Invalid_Password_Format or Invalid_Member_Data or
   Member_Email_And_User_Name_Already_Exists or Not_Authorized or
   Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
   or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
   Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
   Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
   Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
   Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
   Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
   or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
   Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
   Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
             <Description>string</Description>
           </Error>
         </UpdateMemberSettingsResult>
       </UpdateMemberSettingsResponse>
     </soap:Body>
   </soap:Envelope>

UpgradeRecipientAccount
This function is used to upgrade a user from a free account, where the user has few privileges, to a
paid account plan. The function changes the UserType/UserStatus of the account from
Recipient/Active to CompanyUser/Active.
This function uses the UserName/Password/IntegratorKey authentication and requires System
Administrator or Account Administrator privileges. It takes the arguments:

Name                             Schema Type                       Description
DistributorCode                  String                            The Distributor Code that identifies the billing
                                                                   plan groups and plans.
DistributorPassword              String                            The Distributor Password for the
                                                                   DistributorCode.
AccountId                        String                            The Account ID associated with the user.
UserId                           String                            The ID of the user associated with the
                                                                   account.
Pgp                              String                            The plan group plan for the user.
CreditCardInformation            CreditCardInformation             This complex type has information about the
                                                                   credit card used to pay for this account. It
                                                                   included the elements: ccNumber,
                                                                   ccExpirationMonth, ccExpirationYear,
                                                                   ccUserName, and ccType.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    262

Name                             Schema Type                       Description
ReferralInformation              ReferralInformation               This complex type contains the following
                                                                   information: EnableSupport, IncludedSeats,
                                                                   ReferrerName, ReferralCode,
                                                                   AdvertisementID, PublisherID, ShopperID,
                                                                   PromoCode, GroupMemberID, IdType, and
                                                                   Industry.
AccountSettings                  AccountSettings                   This complex type contains the following
                                                                   information: attachCompletedEnvelope,
                                                                   envelopeIntegrationAllowed,
                                                                   envelopeIntegrationEnabled and
                                                                   UseAccountLevelEmail.
                                                                   Note, the complete AccountSettings structure
                                                                   exists for this, but only the above fields are
                                                                   used within this API.
AddressInformation               AddressInformation                This complex type contains the following
                                                                   information: Street1, Street2, City, State, Zip,
                                                                   Phone, and Fax.


Sample Request XML
   POST /api/3.0/accountmanagement.asmx HTTP/1.1
   Host: docusign.net
   Content-Type: text/xml; charset=utf-8
   Content-Length: length
   SOAPAction: "http://www.docusign.net/API/AccountManagement/UpgradeRecipientAccount"

   <?xml version="1.0" encoding="utf-8"?>
   <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
     <soap:Body>
       <UpgradeRecipientAccount xmlns="http://www.docusign.net/API/AccountManagement">
         <DistributorCode>string</DistributorCode>
         <DistributorPassword>string</DistributorPassword>
         <AccountId>string</AccountId>
         <UserId>string</UserId>
         <Pgp>string</Pgp>
         <CreditCardInformation>
           <ccNumber>string</ccNumber>
           <ccExpirationMonth>string</ccExpirationMonth>
           <ccExpirationYear>string</ccExpirationYear>
           <ccUserName>string</ccUserName>
           <ccType>string</ccType>
         </CreditCardInformation>
         <ReferralInformation>
           <EnableSupport>boolean</EnableSupport>
           <IncludedSeats>positiveInteger</IncludedSeats>
           <SaleDiscountPercent>decimal</SaleDiscountPercent>
           <PlanStartMonth>positiveInteger</PlanStartMonth>
           <ReferrerName>string</ReferrerName>
           <ReferralCode>string</ReferralCode>
           <AdvertisementID>string</AdvertisementID>
           <PublisherID>string</PublisherID>
           <ShopperID>string</ShopperID>
           <PromoCode>string</PromoCode>
           <GroupMemberID>string</GroupMemberID>
           <IdType>string</IdType>



   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                    263

            <Industry>string</Industry>
          </ReferralInformation>
          <AccountSettings>
            <UsesAPI>boolean</UsesAPI>
            <EnableDSPro>boolean</EnableDSPro>
            <EnableSendToManage>boolean</EnableSendToManage>
            <EnableSendToAgent>boolean</EnableSendToAgent>
            <EnableVaulting>boolean</EnableVaulting>

   <EnableEnvelopeStampingByAccountAdmin>boolean</EnableEnvelopeStampingByAccountAdmin>
           <EnvelopeStampingDefaultValue>boolean</EnvelopeStampingDefaultValue>
           <SignerMustHaveAccount>boolean</SignerMustHaveAccount>
           <SignerMustLoginToSign>boolean</SignerMustLoginToSign>
           <SignerCanCreateAccount>boolean</SignerCanCreateAccount>
           <AllowInPerson>boolean</AllowInPerson>
           <EnablePowerForm>boolean</EnablePowerForm>
           <AllowSignerReassign>boolean</AllowSignerReassign>
           <EnableReservedDomain>boolean</EnableReservedDomain>
           <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI>
           <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI>
           <EnableAutoNav>boolean</EnableAutoNav>
           <AutoNavRule>bytes</AutoNavRule>
           <EnableTransactionPoint>boolean</EnableTransactionPoint>
           <EnvelopeIntegrationAllowed>bytes</EnvelopeIntegrationAllowed>
           <EnvelopeIntegrationEnabled>boolean</EnvelopeIntegrationEnabled>
           <CanSelfBrandSend>boolean</CanSelfBrandSend>
           <CanSelfBrandSign>boolean</CanSelfBrandSign>
           <IDCheckRequired>bytes</IDCheckRequired>
           <IDCheckExpire>bytes</IDCheckExpire>
           <IDCheckExpireDays>integer</IDCheckExpireDays>
           <SignDateFormat>string</SignDateFormat>
           <PKISignDownloadedPDFDocs>bytes</PKISignDownloadedPDFDocs>
           <InPersonIDCheckQuestion>string</InPersonIDCheckQuestion>
           <SessionTimeout>integer</SessionTimeout>
           <AttachCompletedEnvelope>boolean</AttachCompletedEnvelope>
           <SignerCanSignOnMobile>boolean</SignerCanSignOnMobile>
           <SignerShowSecureFieldInitialValues>boolean</SignerShowSecureFieldInitialValues>

   <SignerAttachCertificateToEnvelopePDF>boolean</SignerAttachCertificateToEnvelopePDF>
           <EnableSignOnPaper>boolean</EnableSignOnPaper>
           <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride>
           <EnableSignerAttachments>boolean</EnableSignerAttachments>
           <UseAccountLevelEmail>boolean</UseAccountLevelEmail>
         </AccountSettings>
         <AddressInformation>
           <Address1>string</Address1>
           <Address2>string</Address2>
           <City>string</City>
           <State>string</State>
           <Zip>string</Zip>
           <Phone>string</Phone>
           <Fax>string</Fax>
         </AddressInformation>
       </UpgradeRecipientAccount>
     </soap:Body>
   </soap:Envelope>

The user being upgraded must have a UserType/UserStatus of Recipient/Active or the call will result
in an error. The call returns either a success or failure. If the call fails an error code is provided.




   111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
DocuSign API Developer Guide                                                                                   264

Sample Response XML
  HTTP/1.1 200 OK
  Content-Type: text/xml; charset=utf-8
  Content-Length: length
  <?xml version="1.0" encoding="utf-8"?>
  <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
      <UpgradeRecipientAccountResponse
  xmlns="http://www.docusign.net/API/AccountManagement">
        <UpgradeRecipientAccountResult>
          <Success>boolean</Success>
          <Error>
            <ErrorCode>Unspecified_Error or Invalid_Account_ID or
  Account_Requires_User_Name_And_Password_For_Activation or
  Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or
  Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or
  Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or
  Member_Email_And_User_Name_Awaiting_Activation or
  Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or
  Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or
  Invalid_Password_Format or Invalid_Member_Data or
  Member_Email_And_User_Name_Already_Exists or Not_Authorized or
  Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type
  or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or
  Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or
  Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or
  Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or
  Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or
  Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership
  or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or
  Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or
  Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode>
            <Description>string</Description>
          </Error>
        </UpgradeRecipientAccountResult>
      </UpgradeRecipientAccountResponse>
    </soap:Body>
  </soap:Envelope>




  111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.

More Related Content

PDF
Manual pu 2012 v30082012 neodata
PDF
49846528 calculo-de-muro-de-gaviones
PDF
Codigo asme (1)
PDF
Asfalto borracha –_minimizando_os_impactos_ambientais_no_meio_ambiente_gerado...
PDF
Types of Envelopes
PDF
Java Security Overview
PDF
Deployment Guide for Business Productivity Online Standard Suite: Whitepaper
PDF
Oracle 11g release 2
Manual pu 2012 v30082012 neodata
49846528 calculo-de-muro-de-gaviones
Codigo asme (1)
Asfalto borracha –_minimizando_os_impactos_ambientais_no_meio_ambiente_gerado...
Types of Envelopes
Java Security Overview
Deployment Guide for Business Productivity Online Standard Suite: Whitepaper
Oracle 11g release 2

Similar to DocuSign SOAP API Developer Guide (20)

PDF
AccuProcess Modeler User Guide
 
PDF
Pkcs#1 V2.1 (Cryptography Standard) Included #2,#4
PDF
Pkcs#1 V2
PDF
Plesk 8.0 for Linux/UNIX
PDF
Plesk 8.0 for Linux/UNIX
PDF
DocuSign eSignature API Guide - SOAP
PDF
Oracle_9i_Database_Getting_started
PDF
The Best Practices of Symantec Code Signing - RapidSSLonline
PDF
데이타로직스캐너 PowerScan PM8300 1D 무선바코드스캐너 매뉴얼
PDF
Esm admin guide_5.5
PDF
Plesk 8.1 for Linux/UNIX
PDF
Wishbone
PDF
Installing and conf guide for hp sm connector
DOC
Witsml core api_version_1.3.1
PDF
inSync Cloud Administrator's Guide 5.1
PDF
Connector Management User's Guide for ArcSight Express v4.0
PDF
Cbj 2 1_2005_callief_ida
PDF
Coherence developer's guide
PDF
rtht
PDF
oracle10g datagurad
AccuProcess Modeler User Guide
 
Pkcs#1 V2.1 (Cryptography Standard) Included #2,#4
Pkcs#1 V2
Plesk 8.0 for Linux/UNIX
Plesk 8.0 for Linux/UNIX
DocuSign eSignature API Guide - SOAP
Oracle_9i_Database_Getting_started
The Best Practices of Symantec Code Signing - RapidSSLonline
데이타로직스캐너 PowerScan PM8300 1D 무선바코드스캐너 매뉴얼
Esm admin guide_5.5
Plesk 8.1 for Linux/UNIX
Wishbone
Installing and conf guide for hp sm connector
Witsml core api_version_1.3.1
inSync Cloud Administrator's Guide 5.1
Connector Management User's Guide for ArcSight Express v4.0
Cbj 2 1_2005_callief_ida
Coherence developer's guide
rtht
oracle10g datagurad
Ad

More from Mike Borozdin (7)

PPTX
SVCC 2013 - Different Styles of API's
PPTX
Paperless business process with DocuSign esignature v2
PPTX
DocuSign Hackathon Day1 presentation
PPTX
Thursday webinar deep dive into docu sign certification
PPTX
DocuSign Cloudstock Session 1 - API
PPTX
DocuSign Cloudstock Session 2 - No Code
PPT
DocuSign Lightning forum 2010 presentation
SVCC 2013 - Different Styles of API's
Paperless business process with DocuSign esignature v2
DocuSign Hackathon Day1 presentation
Thursday webinar deep dive into docu sign certification
DocuSign Cloudstock Session 1 - API
DocuSign Cloudstock Session 2 - No Code
DocuSign Lightning forum 2010 presentation
Ad

Recently uploaded (20)

PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation theory and applications.pdf
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Machine Learning_overview_presentation.pptx
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
A comparative analysis of optical character recognition models for extracting...
Building Integrated photovoltaic BIPV_UPV.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation theory and applications.pdf
Big Data Technologies - Introduction.pptx
Machine Learning_overview_presentation.pptx
sap open course for s4hana steps from ECC to s4
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Empathic Computing: Creating Shared Understanding
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Assigned Numbers - 2025 - Bluetooth® Document
Reach Out and Touch Someone: Haptics and Empathic Computing
Review of recent advances in non-invasive hemoglobin estimation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
cuic standard and advanced reporting.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows

DocuSign SOAP API Developer Guide

  • 1. Information Guide 1 DocuSign API Developer Guide 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 2. DocuSign API Developer Guide 2 Copyright ©2003-2013 DocuSign, Inc. All rights reserved. DocuSign, the DocuSign logo, “Close it in the Cloud”, SecureFields, Stick-eTabs, PowerForms, "The fastest way to get a signature", “DocuSign Ink”, The No- Paper logo, “DocuSign It!”, ForceFields are trademarks or registered trademarks of DocuSign, Inc. in the United States and/or other countries. All other trademarks and registered trademarks are the property of their respective holders. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of DocuSign, Inc. Under the law, reproducing includes translating into another language or format. Every effort has been made to ensure that the information in this manual is accurate. DocuSign, Inc. is not responsible for printing or clerical errors. Information in this document is subject to change without notice. U.S. Patent 6,289,460, U.S. Patent 6,944,648, U.S. Patent 8,239,496 B2 and other patents pending. DocuSign API Developer Guide April 5, 2013 If you have any comments or feedback on our documentation, please send them to us at: Documentation@DocuSign.com. Summary of changes for this version: • Added information on the rules for determining the Brand ID used in an envelope when sending an envelope. The same rules apply when sending from templates. • Provided additional settings for EventNotification when sending an envelope. The same information applies when sending from templates. • Corrected character limits for Envelope EmailBlurb. • Clarified that Recipient RequireIDLookup is required for ID Check and Phone Authentication. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 3. DocuSign API Developer Guide 3 Table of Contents Introduction........................................................................................................................................ 16 DocuSign Security Requirements and API Call Limits ....................................................................... 16 Integrator Keys ............................................................................................................................ 16 Integrator Key Usage ............................................................................................................. 17 API Call Rate Limits ..................................................................................................................... 17 Authentication .................................................................................................................................... 18 HTTP Header Authentication ................................................................................................. 18 SOAP Header Authentication ................................................................................................. 19 Optional Authentication Mechanism: XML Signature.................................................................... 20 Send On Behalf Of Functionality .................................................................................................. 22 Send On Behalf Of SOAP Examples ...................................................................................... 22 Using DocuSign WSDLs .................................................................................................................... 24 Using DocuSign WSDL’s in the .Net Environment ....................................................................... 24 Creating a Web Reference in Visual Studio 2010 for WSDL files: .......................................... 24 HTTP Header: ........................................................................................................................ 24 Using DocuSign WSDL’s in the Salesforce Environment ............................................................. 25 Providing the Authentication Header ...................................................................................... 25 DocuSign Service API ....................................................................................................................... 26 Overview ........................................................................................................................................... 26 Commonly Used Terms ............................................................................................................... 26 Code Samples ............................................................................................................................. 27 Basic Process Flow...................................................................................................................... 29 Example Usage Diagram ............................................................................................................. 29 Placing DocuSign Tags................................................................................................................ 30 File Limitations ............................................................................................................................. 30 Methods Exposed in the DocuSign Service API ........................................................................... 30 DocuSign Service API Function Groups ............................................................................................ 33 Sending Function Group .................................................................................................................... 35 CreateAndSendEnvelope and CreateEnvelope ........................................................................... 35 Schema.................................................................................................................................. 35 Request XML Data Structure Outline ..................................................................................... 39 Document .............................................................................................................................. 44 Recipient ................................................................................................................................ 45 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 4. DocuSign API Developer Guide 4 IDCheckInformationInput........................................................................................................ 50 Tab ........................................................................................................................................ 52 Anchor Tab ............................................................................................................................ 57 Notification ............................................................................................................................. 58 EnvelopeNotification .............................................................................................................. 58 EnvelopeStatus ...................................................................................................................... 59 Rules for CreateAndSendEnvelope and CreateEnvelope....................................................... 59 Sample Code ......................................................................................................................... 61 CreateEnvelopeFromTemplates .................................................................................................. 63 Schema.................................................................................................................................. 64 TemplateReference................................................................................................................ 65 Schema.................................................................................................................................. 65 EnvelopeInformation .............................................................................................................. 66 Schema.................................................................................................................................. 67 FieldData ............................................................................................................................... 68 Rules for CreateEnvelopeFromTemplates ............................................................................. 68 Template Execution Rules ..................................................................................................... 71 Rules for Mapping Data from PDF Forms .............................................................................. 71 Error Rules ............................................................................................................................. 72 Sample Code ......................................................................................................................... 73 CreateEnvelopeFromTemplatesAndForms .................................................................................. 74 Schema.................................................................................................................................. 74 Rules for Composite Template Usage .................................................................................... 75 EnvelopeInformation .............................................................................................................. 81 Document .............................................................................................................................. 81 Recipient ................................................................................................................................ 81 ServerTemplate ..................................................................................................................... 82 InlineTemplate ....................................................................................................................... 82 PDFMetaDataTemplate ......................................................................................................... 82 Sample Code ......................................................................................................................... 82 SendEnvelope ............................................................................................................................. 85 Schema.................................................................................................................................. 85 Sample Code ......................................................................................................................... 85 RequestSenderToken .................................................................................................................. 86 Schema.................................................................................................................................. 86 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 5. DocuSign API Developer Guide 5 In-Session Sending Events .................................................................................................... 86 Rules and Exceptions RequestSenderToken ......................................................................... 87 Anchor Based Tagging ................................................................................................................ 87 Using Anchor Tabs................................................................................................................. 87 Rules for Anchor Tagging....................................................................................................... 88 Embedding Function Group ............................................................................................................... 90 Embedded Signing Functional Process Flow ............................................................................... 90 Captive Recipients ....................................................................................................................... 90 DocuSign Integration ................................................................................................................... 91 Pre-DocuSign Operations ...................................................................................................... 91 Sample Code ......................................................................................................................... 94 RequestRecipientFaxPDF ...................................................................................................... 96 Sample Request XML ............................................................................................................ 96 Sample Response XML ......................................................................................................... 96 DocuSign Operations ............................................................................................................. 97 Post-DocuSign Landing Pages .............................................................................................. 97 Addenda ...................................................................................................................................... 97 Additional Features and Behaviors......................................................................................... 97 Suppressed Features/Behaviors ............................................................................................ 98 Legal Considerations ................................................................................................................... 98 GetAuthenticationToken .............................................................................................................. 98 Schema.................................................................................................................................. 98 GetAuthenticationToken rules and exceptions ....................................................................... 99 Sample Code ......................................................................................................................... 99 RequestSenderToken .................................................................................................................. 99 Schema.................................................................................................................................. 99 In-session sending events .................................................................................................... 100 Rules and exceptions for RequestSenderToken .................................................................. 100 Sample Code ....................................................................................................................... 100 RequestEnvelopeHistoryToken .................................................................................................. 101 Schema................................................................................................................................ 101 Status and Managing Function Group ............................................................................................. 102 CorrectAndResendEnvelope...................................................................................................... 102 Schema................................................................................................................................ 102 Sample Request XML: ......................................................................................................... 103 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 6. DocuSign API Developer Guide 6 RecipientCorrection.............................................................................................................. 105 CorrectionStatus .................................................................................................................. 107 RecipientCorrectionStatus.................................................................................................... 107 Rules for CorrectAndResendEnvelope ................................................................................. 107 Sample Code ....................................................................................................................... 109 DeleteEnvelopes ........................................................................................................................ 110 Schema:............................................................................................................................... 110 Sample Request XML: ......................................................................................................... 110 EnvelopeAuditEvents ................................................................................................................. 111 Schema................................................................................................................................ 111 Sample Request XML: ......................................................................................................... 111 Rules for accessing envelope events. .................................................................................. 111 Sample Code ....................................................................................................................... 112 GetConnectFailures ................................................................................................................... 112 Schema................................................................................................................................ 112 Sample Request XML .......................................................................................................... 113 GetStatusInDocuSignConnectFormat ........................................................................................ 114 GetRecipientAuthenticationStatusEx ......................................................................................... 114 Schema................................................................................................................................ 114 Sample Request XML .......................................................................................................... 114 MoveEnvelopes ......................................................................................................................... 116 Schema................................................................................................................................ 116 Sample Request XML .......................................................................................................... 117 PublishConnectFailures ............................................................................................................. 117 Schema................................................................................................................................ 118 Sample Request XML .......................................................................................................... 118 RequestCorrectToken ................................................................................................................ 119 In-Session Sending Events .................................................................................................. 119 Sample Code ....................................................................................................................... 119 RequestStatus and RequestStatusEx ........................................................................................ 120 Schema................................................................................................................................ 120 Sample Request XML .......................................................................................................... 120 Sample Code ....................................................................................................................... 120 RequestStatuses and RequestStatusesEx................................................................................. 121 Request Envelope Statuses Notes ....................................................................................... 121 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 7. DocuSign API Developer Guide 7 Schema................................................................................................................................ 123 Sample Code ....................................................................................................................... 124 EnvelopeStatus.......................................................................................................................... 126 Schema................................................................................................................................ 126 RecipientStatus .................................................................................................................... 130 TabStatus ............................................................................................................................ 133 AuthenticationStatus ............................................................................................................ 136 FilteredEnvelopeStatuses .......................................................................................................... 138 Schema................................................................................................................................ 138 Rules for RequestStatus, RequestStatuses, RequestStatusEx, RequestStatusesEx, EnvelopeStatus and FilteredEnvelopeStatuses.......................................................................... 138 API user specific rules.......................................................................................................... 138 Rules for Exceptions thrown by the API ............................................................................... 138 GetFolderList and GetFolderItems ............................................................................................. 139 GetFolderList ....................................................................................................................... 139 AvailableFolders .................................................................................................................. 139 GetFolderItems .................................................................................................................... 140 FolderResults ....................................................................................................................... 141 Code Samples ..................................................................................................................... 142 Ping ........................................................................................................................................... 143 Schema................................................................................................................................ 143 Return XML .......................................................................................................................... 144 PurgeDocuments ....................................................................................................................... 144 Schema................................................................................................................................ 144 PurgeDocumentsStatus ....................................................................................................... 144 Rules and Exceptions for PurgeDocuments ......................................................................... 144 Sample Code ....................................................................................................................... 145 RequestEnvelope ...................................................................................................................... 145 Additional Errors for RequestEnvelope................................................................................. 145 Schema for RequestEnvelope .............................................................................................. 145 Sample Code ....................................................................................................................... 146 RequestStatusChanges ............................................................................................................. 146 Schema................................................................................................................................ 146 FilteredEnvelopeStatusChanges .......................................................................................... 147 Sample Code ....................................................................................................................... 147 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 8. DocuSign API Developer Guide 8 RequestStatusCodes ................................................................................................................. 148 Request Envelope Statuses Notes ....................................................................................... 148 Schema................................................................................................................................ 149 FilteredEnvelopeStatusChanges .......................................................................................... 151 Code Samples ..................................................................................................................... 151 SynchEnvelope .......................................................................................................................... 152 Schema................................................................................................................................ 152 SynchEnvelopeStatus .......................................................................................................... 152 Sample Code ....................................................................................................................... 152 VoidEnvelope............................................................................................................................. 153 Schema................................................................................................................................ 153 Sample Request XML .......................................................................................................... 153 VoidEnvelopeStatus ............................................................................................................. 154 Rules for VoidEnvelope ........................................................................................................ 154 Sample Code ....................................................................................................................... 154 Post Processing Function Group ..................................................................................................... 156 RequestCertificate ..................................................................................................................... 156 Schema................................................................................................................................ 156 Sample Request XML .......................................................................................................... 156 RequestDocumentPDFs ............................................................................................................ 156 Schema................................................................................................................................ 156 Sample Request XML .......................................................................................................... 157 Sample Code ....................................................................................................................... 157 RequestDocumentPDFsEx ........................................................................................................ 157 Schema................................................................................................................................ 157 Sample Request XML .......................................................................................................... 158 Sample Code ....................................................................................................................... 158 RequestDocumentPDFsRecipientsView .................................................................................... 158 Schema................................................................................................................................ 158 DocumentPDF ........................................................................................................................... 159 Schema................................................................................................................................ 159 RequestPDF .............................................................................................................................. 160 Schema................................................................................................................................ 160 Sample Request XML .......................................................................................................... 160 Sample Code ....................................................................................................................... 160 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 9. DocuSign API Developer Guide 9 RequestPDFNoWaterMark ........................................................................................................ 161 Schema................................................................................................................................ 161 Sample Request XML .......................................................................................................... 161 Sample Code ....................................................................................................................... 161 RequestPDFWithCert ................................................................................................................ 161 Schema................................................................................................................................ 162 Sample Request XML .......................................................................................................... 162 Sample Code ....................................................................................................................... 162 EnvelopePDF............................................................................................................................. 163 Schema................................................................................................................................ 163 Rules for using RequestDocumentPDFs, RequestDocumentPDFsEx, RequestPDF, RequestPDFNoWaterMark, RequestPDFWithCert, DocumentPDF and EnvelopePDF .............. 163 RequestPDFWithOptions ........................................................................................................... 164 Schema................................................................................................................................ 164 Sample Request XML .......................................................................................................... 164 RequestPDFsWithOptions ......................................................................................................... 165 Schema................................................................................................................................ 165 Sample Request XML .......................................................................................................... 165 TransferEnvelope ...................................................................................................................... 165 Schema................................................................................................................................ 166 Sample Request XML .......................................................................................................... 166 TransferEnvelopeStatus ....................................................................................................... 166 Rules for using TransferEnvelope ........................................................................................ 166 Sample Code ....................................................................................................................... 167 ExportAuthoritativeCopy ............................................................................................................ 167 Schema................................................................................................................................ 167 Sample Request XML: ......................................................................................................... 168 AuthoritativeCopyExportDocuments..................................................................................... 168 AcknowledgeAuthoritativeCopyExport.................................................................................. 168 AuthoritativeCopyExportStatus ............................................................................................ 169 Rules for exporting Authoritative Copy envelopes ................................................................ 169 Administrative Function Group......................................................................................................... 171 CreateAccountBrands ................................................................................................................ 171 Schema................................................................................................................................ 171 Sample Request XML .......................................................................................................... 171 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 10. DocuSign API Developer Guide 10 DeleteAccountBrands ................................................................................................................ 171 Schema................................................................................................................................ 171 Sample Request XML .......................................................................................................... 172 GetAccountBrands ..................................................................................................................... 172 Schema................................................................................................................................ 172 Sample Request XML .......................................................................................................... 172 GetAccountBrandsResult ..................................................................................................... 173 GetAccountMembershipFeatureList ........................................................................................... 173 Schema................................................................................................................................ 173 Sample Request XML .......................................................................................................... 173 AccountMembershipFeatureList ........................................................................................... 174 Usage rules for GetAccountMembershipFeatureList and AccountMembershipFeatureList... 174 Sample Code ....................................................................................................................... 174 GetAccountSettingsList.............................................................................................................. 174 Schema................................................................................................................................ 175 Sample Request XML .......................................................................................................... 175 AccountSettingsList.............................................................................................................. 175 Usage rules for GetAccountSettingsList and AccountSettingsList ........................................ 175 Sample Code ....................................................................................................................... 176 GetAddressBookItems ............................................................................................................... 176 Schema................................................................................................................................ 176 AddressBookItem ................................................................................................................. 177 Rules and exceptions for GetAddressBookItems ................................................................. 178 Sample Code ....................................................................................................................... 178 GetRecipientEsignList................................................................................................................ 178 Schema................................................................................................................................ 179 Sample Request XML .......................................................................................................... 179 RecipientEsignList................................................................................................................ 179 Rules for using GetRecipientEsignList and RecipientEsignList............................................. 180 Sample Code ....................................................................................................................... 180 GetRecipientList ........................................................................................................................ 180 Schema................................................................................................................................ 181 Sample Request XML .......................................................................................................... 181 RecipientList ........................................................................................................................ 181 Rules for using GetRecipientList and RecipientList .............................................................. 181 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 11. DocuSign API Developer Guide 11 Sample Code ....................................................................................................................... 182 RemoveAddressBookItems........................................................................................................ 182 Schema................................................................................................................................ 182 AddressBookRemoveItem.................................................................................................... 182 Rules and exceptions for RemoveAddressBookItems .......................................................... 183 Sample Code ....................................................................................................................... 183 RequestTemplate ...................................................................................................................... 184 Schema................................................................................................................................ 184 EnvelopeTemplate ............................................................................................................... 184 MatchBox ............................................................................................................................. 184 EnvelopeTemplateDefinition ................................................................................................ 185 Rules and exceptions for RequestTemplate ......................................................................... 185 Sample Code ....................................................................................................................... 186 RequestTemplateList ................................................................................................................. 186 Schema................................................................................................................................ 186 RequestTemplates ..................................................................................................................... 187 Schema................................................................................................................................ 187 Rules and exceptions for RequestTemplates ....................................................................... 187 Sample Code ....................................................................................................................... 187 SaveTemplate............................................................................................................................ 188 Schema................................................................................................................................ 188 Rules and exceptions for SaveTemplate .............................................................................. 188 Sample Code ....................................................................................................................... 188 UpdateAddressBookItems ......................................................................................................... 189 Schema................................................................................................................................ 189 UpdateAddressBookResult .................................................................................................. 189 Rules and exceptions for UpdateAddressBookItems ............................................................ 189 UploadTemplate ........................................................................................................................ 190 Schema................................................................................................................................ 190 Rules and exceptions for UploadTemplate ........................................................................... 190 Sample Code ....................................................................................................................... 190 Embedded Callback Event Codes.............................................................................................. 191 Asynchronous Document Generation ................................................................................... 191 Credential API ................................................................................................................................. 192 Login .......................................................................................................................................... 192 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 12. DocuSign API Developer Guide 12 Schema................................................................................................................................ 192 Sample Request XML: ......................................................................................................... 192 LoginResult .......................................................................................................................... 193 Ping ........................................................................................................................................... 194 Schema................................................................................................................................ 194 PingResult ........................................................................................................................... 194 Sample Code ....................................................................................................................... 194 GetAuthenticationToken ............................................................................................................ 194 Schema................................................................................................................................ 195 RequestSenderToken ................................................................................................................ 195 Schema................................................................................................................................ 195 In-session sending events.......................................................................................................... 196 Rules and exceptions for RequestSenderToken ........................................................................ 196 Account Management Service API .................................................................................................. 197 Methods Exposed in the DocuSign Account Management Service API...................................... 197 Account Management Service API Methods .................................................................................... 198 ActivateSalesforceInstance ........................................................................................................ 198 Schema................................................................................................................................ 198 Sample Request XML .......................................................................................................... 199 Sample Return XML ............................................................................................................. 200 Member................................................................................................................................ 201 MemberSettings ................................................................................................................... 202 AddMembersToAccount ............................................................................................................ 203 Schema................................................................................................................................ 203 Sample Request XML .......................................................................................................... 203 Sample Response XML ....................................................................................................... 205 MemberResult...................................................................................................................... 206 AuthenticateMember and AuthenticateMemberEx ..................................................................... 206 Schema................................................................................................................................ 206 Sample Request XML .......................................................................................................... 206 Sample Response XML ....................................................................................................... 207 ChangeAccountPricePlan .......................................................................................................... 208 Schema................................................................................................................................ 208 Sample Request XML .......................................................................................................... 208 Sample Response XML ....................................................................................................... 209 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 13. DocuSign API Developer Guide 13 ChangePassword ...................................................................................................................... 210 Schema................................................................................................................................ 210 Sample Request XML .......................................................................................................... 210 Sample Response XML ....................................................................................................... 211 CheckAccountMember............................................................................................................... 212 Schema................................................................................................................................ 212 Sample Request XML .......................................................................................................... 212 Sample Response XML ....................................................................................................... 212 CloseMembers........................................................................................................................... 213 Sample Request XML .......................................................................................................... 213 Sample Response XML ....................................................................................................... 214 CloseSignature .......................................................................................................................... 215 Sample Request XML .......................................................................................................... 215 Sample Response XML ....................................................................................................... 216 GetAccountCustomFields .......................................................................................................... 216 Schema................................................................................................................................ 217 Sample Request XML .......................................................................................................... 217 Sample Response XML ....................................................................................................... 217 GetAccountDistributorCode ....................................................................................................... 218 Sample Request XML .......................................................................................................... 218 Sample Response XML ....................................................................................................... 219 GetAccountInformation .............................................................................................................. 219 Schema................................................................................................................................ 219 Sample Request XML .......................................................................................................... 220 Sample Response XML ....................................................................................................... 221 GetAccountSettings ................................................................................................................... 222 Schema................................................................................................................................ 222 Sample Request XML .......................................................................................................... 222 AccountSettings ................................................................................................................... 222 Sample Response XML ....................................................................................................... 225 GetConnectCredentials .............................................................................................................. 226 Schema................................................................................................................................ 226 Sample Request XML .......................................................................................................... 226 Sample Response XML ....................................................................................................... 227 GetEncryptedPassword ............................................................................................................. 227 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 14. DocuSign API Developer Guide 14 Sample Request XML: ......................................................................................................... 228 Sample Response XML: ...................................................................................................... 228 Sample Code ....................................................................................................................... 229 GetMemberSettings ................................................................................................................... 229 Schema................................................................................................................................ 229 Sample Request XML .......................................................................................................... 229 Sample Response XML ....................................................................................................... 229 GetMembershipSummary .......................................................................................................... 230 Sample Request XML .......................................................................................................... 231 Sample Response XML ....................................................................................................... 231 UserType and UserStatus Combinations ............................................................................. 233 GetPlanGroupInformation .......................................................................................................... 233 Sample Request XML .......................................................................................................... 233 Sample Response XML ....................................................................................................... 234 GetPlanPricingInformation ......................................................................................................... 234 Sample Request XML .......................................................................................................... 235 Sample Response XML ....................................................................................................... 236 GetPlanType .............................................................................................................................. 237 Sample Response XML ....................................................................................................... 237 GetProvisioningInformation ........................................................................................................ 238 Sample Request XML .......................................................................................................... 238 Sample Response XML ....................................................................................................... 239 GetSuccessorPlanInformation ................................................................................................... 240 Sample Request XML .......................................................................................................... 240 Sample Response XML ....................................................................................................... 241 GetUserProfile ........................................................................................................................... 242 Sample Request XML .......................................................................................................... 243 Sample Response XML ....................................................................................................... 244 GetUserProfileImage ................................................................................................................. 245 Sample Request XML .......................................................................................................... 245 Sample Response XML ....................................................................................................... 246 NewAccount .............................................................................................................................. 246 Sample Request XML .......................................................................................................... 247 Sample Response XML ....................................................................................................... 249 Ping ........................................................................................................................................... 250 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 15. DocuSign API Developer Guide 15 Sample Request XML .......................................................................................................... 250 Sample Response XML ....................................................................................................... 250 ResendAccountActivation .......................................................................................................... 251 Sample Request XML .......................................................................................................... 251 Sample Response XML ....................................................................................................... 251 SetConnectCredentials .............................................................................................................. 252 Sample Request XML .......................................................................................................... 252 Sample Response XML ....................................................................................................... 253 SetUserProfile............................................................................................................................ 254 Sample Request XML .......................................................................................................... 255 Sample Response XML ....................................................................................................... 255 SetUserProfileImage .................................................................................................................. 256 Sample Request XML .......................................................................................................... 256 Sample Response XML ....................................................................................................... 257 UpdateAccountSettings ............................................................................................................. 257 Sample Request XML .......................................................................................................... 258 Sample Response XML ....................................................................................................... 259 UpdateMemberSettings ............................................................................................................. 259 Sample Request XML .......................................................................................................... 260 Sample Response XML ....................................................................................................... 260 UpgradeRecipientAccount ......................................................................................................... 261 Sample Request XML .......................................................................................................... 262 Sample Response XML ....................................................................................................... 264 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 16. DocuSign API Developer Guide 16 Introduction This Developer’s Guide provides information about the DocuSign Service API and Account Management Service API. DocuSign Security Requirements and API Call Limits To ensure our customers continue to trust DocuSign for the fastest, easiest, most secure way to get a signature, we have put safeguards in place to protect our multi-tenant data centers. The two safeguards used by DocuSign are Integrator Keys and API Call Limits. Integrator Keys DocuSign has introduced Integrator Keys to identify third party applications. The use of Integrator Keys is mandatory for API calls to our production system (www.docusign.net) and for developer sandboxes (demo.docusign.net). The Integrator Key is used to allow you to send requests with the users passed via the UsernameToken. Users with DocuSign privileges will be allowed to be passed in the UsernameToken as long as a valid integrator key is provided. Important: Web service calls made without an Integrator Key will receive an exception for every call made. The exception message states, “The specified Integrator Key was not found or is disabled” (error number 3). Integrator Keys are provided to API developers by DocuSign. If you do not have an Integrator Key, follow this procedure to obtain one: 1. Log on to your demo account. 2. In the DocuSign Console menu bar, click Preferences. The Account Preferences page appears. 3. Scroll down and under Account Administration click API. 4. Create a new key: • Below the Active Integrator Keys table, type a Key Description. • Click Request Key adjacent to the bolded key information. This key is added to the list of Active Integrator Keys table. 5. Add the Integrator Key to your code for use as described below in Integrator Key Usage and in the Authentication section. The API page also has examples of how to use an Integrator Key. You can test your Integrator Key in the demo environment. 6. When you are ready to certify your code for the production account, return to the API page and review the Integration and Certification Steps. Click the DocuSign Developer Center link and find the link to start the DocuSign Certification process. A message with an access code is sent to your listed email address. Follow the instructions to access the envelope and fill out the information. 7. After starting the DocuSign Certification process, you will need to request migration of your Integrator Key to the Production environment. In the Active Integrator Keys table, find the key you are using in your application. Click the Request Migration to Production link adjacent to that Integrator Key. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 17. DocuSign API Developer Guide 17 Integrator Key Usage The integrator key must be placed in front of the user ID that is in the Username node of the UsernameToken. The integrator key must be wrapped with brackets, “[ and ]”. Example format: <wsse:Username>[Integrator Key]2988541c-4ec7-4245-b520-f2d324062ca3</wsse:Username> Sample SOAP Header: <soap:Header> <wsa:Action>http://www.docusign.net/API/3.0/GetRecipientEsignList</wsa:Action> <wsa:MessageID>uuid:3f9d7626-c088-43b4-b579-2bd5e8026b17</wsa:MessageID> <wsa:ReplyTo> <wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address > </wsa:ReplyTo> <wsa:To>http://demo.docusign.net/api/3.0/api.asmx</wsa:To> <wsse:Security soap:mustUnderstand="1"> <wsu:Timestamp wsu:Id="Timestamp-8838aa24-9759-4f85-8bf2-26539e14f750"> <wsu:Created>2006-04-14T14:29:23Z</wsu:Created> <wsu:Expires>2006-04-14T14:34:23Z</wsu:Expires> </wsu:Timestamp> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis- 200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-7c7b695e-cef7-463b-b05a- 9e133ea43c41"> <wsse:Username>[Integrator Key Here]2988541c-4ec7-4245-b520- f2d324062ca3</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- username-token-profile-1.0#PasswordText">password</wsse:Password> <wsse:Nonce>SjlScsL5q3cC1CDWrcMx3A==</wsse:Nonce> <wsu:Created>2006-04-14T14:29:23Z</wsu:Created> </wsse:UsernameToken> </wsse:Security> </soap:Header> API Call Rate Limits To maintain reliability and stability within our demo and production environments, DocuSign operates with certain API call efficiency guidelines. To ensure effective load balance we continually monitor the API calls to our backend systems and we will contact developers that are putting unnecessary burden on the system. DocuSign has implemented the following API Call Rate Limits to balance loads on the system: • The demo environment (demo.docusign.net) is limited to a call rate of 1,000 API calls per hour per account. • The production environment (www.docusign.net) is limited to a call rate of 1,000 API calls per hour per account. If the API call rate limit is reached, you will receive an exception for each call until the start of the next hour (this can be up to 60 minutes). The exception message states, “The maximum number of hourly API invocations has been exceeded” (error number 207). Hourly API usage is tracked from the start of one-hour to start of the next hour. There are a number of ways to minimize API impact, such as: • using bulk operations for requesting status, • utilizing DocuSign’s event notification feature, • and refraining from repeatedly requesting information on envelopes that are in terminal state (Completed, Declined or Voided). 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 18. DocuSign API Developer Guide 18 If you find your application still requires more than 1,000 calls per hour per account, please contact service@docusign.com for assistance in working on a solution. If you have any questions, please check our Developer Forum. Authentication All DocuSign API methods require authentication. There are two ways to pass member credentials: • SOAP Header via WS-Security UsernameToken • HTTP Header via a custom field “X-DocuSign-Authentication” The Account Management API only supports the HTTP Header authentication method, while all others can support either method. Additionally, the DocuSign 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 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, Integrator 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 Integrator Key is the key provided by DocuSign. • User Name, password, Integrator Key Where the User Name is the API User Name retrieved from the Credential Login() function, the password is in clear text, and the Integrator Key is the key provided by DocuSign. • User Name, password, Integrator Key Where the User Name is the user’s email login, the password is in clear text, and the Integrator 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. Example HTTP Header – C# namespace DSAPI { // override of web service interface is required to insert the HTTP header authentication. public class DocuSignAcctMgmtService : DSAPI_AcctMgmtWebService.AccountManagementService { 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 19. DocuSign API Developer Guide 19 private string myDSUserId = ""; private string myDSPassword = ""; private string myDSIntegratorKey = ""; public string UserName { get { return myDSUserId; } set { myDSUserId = value; } } public string Password { get { return myDSPassword; } set { myDSPassword = value; } } public string IntegratorKey { get { return myDSIntegratorKey; } set { myDSIntegratorKey = value; } } protected override System.Net.WebRequest GetWebRequest(Uri uri) { System.Net.HttpWebRequest r = base.GetWebRequest(uri) as System.Net.HttpWebRequest; r.Headers.Add("X-DocuSign-Authentication", string.Format("<DocuSignCredentials><Username>YOUR USER EMAIL OR ID GOES HERE</Username><Password>YOUR USER PASSWORD GOES HERE</Password><IntegratorKey>YOUR INTEGRATION KEY GOES HERE</IntegratorKey></DocuSignCredentials>", UserName, Password, IntegratorKey)); return r; } } 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. Example UsernameToken <wsse:Security soap:mustUnderstand="1"> <wsu:Timestamp wsu:Id="Timestamp-0741d0e0-529f-49bc-bf86-653238d2532b"> <wsu:Created>2006-01-02T21:26:04Z</wsu:Created> <wsu:Expires>2006-01-02T21:31:04Z</wsu:Expires> </wsu:Timestamp> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-8d4e766e-a8a2-4bb3-a327-89c34bc7f85f"> <wsse:Username>caa26663-927b-4800-bfdf-d115d1c72f20</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- username-token-profile-1.0#PasswordText">password</wsse:Password> <wsse:Nonce>RumCR4p6U4a7hiX9lUlGWA==</wsse:Nonce> <wsu:Created>2006-01-02T21:26:04Z</wsu:Created> </wsse:UsernameToken> </wsse:Security> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 20. DocuSign API Developer Guide 20 Example HTTP Header – PHP $am_api_endpoint = "https://demo.docusign.net/api/3.0/accountmanagement.asmx"; $am_api_wsdl = "api/AccountManagementService.wsdl"; // build credential xml to add to http header $ds_auth = "<DocuSignCredentials><Username>" . $UserID . "</Username><Password>" . "$Password</Password><IntegratorKey>" . $IntegratorsKey . "</IntegratorKey></DocuSignCredentials>"; $ctxStream = stream_context_create(array( 'http' => array( 'method' => "GET", 'header' => "X-DocuSign-Authentication: " . $ds_auth . "rn"))); $am_api_options = array( 'protocol_version' => "1.0", 'trace'=>true, 'stream_context' => $ctxStream); $am_api = new AccountManagementService($am_api_wsdl, $am_api_options); Optional Authentication Mechanism: XML Signature In addition to the UsernameToken, any account may elect to enforce that all API requests be signed with a valid third-party X.509 certificate 2. For any RequestRecipientToken and ExportAuthoritativeCopy calls DocuSign requires an XML signature. If enabled, DocuSign Connect API will validate that the SOAP Body of the message is signed. Please contact your DocuSign representative to enable this setting. Supported certificate authorities are VeriSign and Thawte. For more information about OASIS standards, see: http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss. Example SOAP Envelope with XML Signature: <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext- 1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity- utility-1.0.xsd"> <soap:Header> <wsa:Action>http://www.docusign.net/API/3.0/GetRecipientEsignList</wsa:Action> <wsa:MessageID>uuid:3f9d7626-c088-43b4-b579-2bd5e8026b17</wsa:MessageID> <wsa:ReplyTo> <wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address > </wsa:ReplyTo> <wsa:To>http://demo.docusign.net/api/3.0/api.asmx</wsa:To> <wsse:Security soap:mustUnderstand="1"> <wsu:Timestamp wsu:Id="Timestamp-8838aa24-9759-4f85-8bf2-26539e14f750"> <wsu:Created>2006-04-14T14:29:23Z</wsu:Created> <wsu:Expires>2006-04-14T14:34:23Z</wsu:Expires> </wsu:Timestamp> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis- 200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-7c7b695e-cef7-463b-b05a- 9e133ea43c41"> <wsse:Username>2988541c-4ec7-4245-b520-f2d324062ca3</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- username-token-profile-1.0#PasswordText">password</wsse:Password> <wsse:Nonce>SjlScsL5q3cC1CDWrcMx3A==</wsse:Nonce> <wsu:Created>2006-04-14T14:29:23Z</wsu:Created> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 21. DocuSign API Developer Guide 21 </wsse:UsernameToken> <wsse:BinarySecurityToken ValueType="http://docs.oasis- open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message- security-1.0#Base64Binary" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis- 200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-b7825bf5-1d1c-446c-8f99- 88dff075fab8">MIIEdDCCAlygAwIBAgIDAgIOMA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jvb3QgQ0ExHjA cBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEh MB8GCSqGSIb3DQEJARYSc3VwcG9ydEBjYWNlcnQub3JnMB4XDTA2MDMwNzE3NTU0NVoXDTA2MDkwMzE3NTU0NVowJ jEkMCIGA1UEAxMbZGVtb3NhbXBsZWNlcnQuZG9jdXNpZ24uY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ DhgGA7HXHcotoKuVTN5+3yqeL1A4M/bYNLKyFFQYYFANVXcb7D+la2Oh8YI2TBHTgNGccJxeCsefZh1LHLguE4/kM Mvz62mbdohhnjXeJH55O4YqdILxZ3r1EJbOrSZyHEwn1/PvGwj2cDF0QHnvqfgvsuozlJmRYNKXpnD9QzzwIDAQAB o4HbMIHYMAwGA1UdEwEB/wQCMAAwNAYDVR0lBC0wKwYIKwYBBQUHAwIGCCsGAQUFBwMBBglghkgBhvhCBAEGCisGA QQBgjcKAwMwCwYDVR0PBAQDAgWgMDIGCCsGAQUFBwEBBCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AuY2FjZX J0Lm9yZzBRBgNVHREESjBIghtkZW1vc2FtcGxlY2VydC5kb2N1c2lnbi5jb22gKQYIKwYBBQUHCAWgHQwbZGVtb3N hbXBsZWNlcnQuZG9jdXNpZ24uY29tMA0GCSqGSIb3DQEBBQUAA4ICAQBzgTyhXvDMmt6UwB6ZR8qVGa4Jhch68kS0 X5vQjMa0wXdfJjU3C13rnNujX8wefPOrX79vyS4CVVXW3QRTUp+hyaodwi2ed0msz0vo71VUU6KGUNp3GClY5NjMz mz9y900SjL74shWiDsbhT/yMGDp8cZt6nFSUabhaBM5NFRvguwI1hAjugT6QnLjeUxblVuS2s2b90Kj+jh/w3gw5f /0XCxgNBdz66jvxFxk0wKl3xLoLs/a2nh4TOvEdUixZEPvsJyQNFY/+5cmlVM6/Nl/T2TjMcEuvhpBvizDvNykluE di0R5vftkURlE/InmmGt37eH3xB3YeyFDR7uY6qJREBswNWKd8xqK7cb4XXntY1L5XEIdW/5ZNn3JdAg2Vq05lHF5 +i/i+5Uc4GDcQlxmTbiSvt4z0tobnHUsrsrBbLRlcmzruZbX5OKgJ/r1hO3JTEhFzR5KCogDfsCdAqCC+ClKc0GPS Sgt6Cu36F5ytE04KTXBltU/Ex3kDDIlm7OX/os7kSIZf9IAejr4Cxx1wdenjy//n89qLjbd0u11e038g41/orQiBY n7opj3wmbPdRZ+gsMpIxhhnmUMFWMIJMIidzZwRa9n3E+l49ZjElCDuBRnUoaGDhmSnEYJrtv/uaQ5UulvMtMge7F rqiIDzI1A++nBfGRMS0EHLdfBdg==</wsse:BinarySecurityToken> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc- c14n#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <Reference URI="#Id-6c2377a1-a116-444c-8c1e-101543d5d721"> <Transforms> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>auFLuvdCM5tbsrruRJUY7h0vf9E=</DigestValue> </Reference> </SignedInfo> <SignatureValue>d21v1CT2UxIus64mXbfCxO6xjJ3gbm+cE14HUnlOJmA9QsB5M5L1ric4cvMcOky0hFUDZrhDn 5FVUXtLKJQgV5wqTtmeHi3NT6HNEh1Rrq/VFj/O4/rFGyc4JrzkVxZpqiwRYOee1Empv6iHq3Uf4PIeAv1Tn/qn/b 09P+D7FTo=</SignatureValue> <KeyInfo> <wsse:SecurityTokenReference> <wsse:Reference URI="#SecurityToken-b7825bf5-1d1c-446c-8f99-88dff075fab8" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile- 1.0#X509v3" /> </wsse:SecurityTokenReference> </KeyInfo> </Signature> </wsse:Security> </soap:Header> <soap:Body wsu:Id="Id-6c2377a1-a116-444c-8c1e-101543d5d721"> <GetRecipientEsignList xmlns="http://www.docusign.net/API/2.0"> <UserName>UserName</UserName> <SenderEmail>username@email.com</SenderEmail> <RecipientEmail>name@email.com</RecipientEmail> <AccountId>2184872a-8f6c-4f18-b808-1ec864cec29d</AccountId> </GetRecipientEsignList> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 22. DocuSign API Developer Guide 22 Send On Behalf Of Functionality The DocuSign Send On Behalf Of functionality permits automated sending through the DocuSign API by an integrated sender on behalf of another sender. The Send On Behalf Of functionality is only available to accounts that use the DocuSign API to send envelopes and can be enabled for an account member by a DocuSign Customer Administrator through the DocuSign console or by contacting your DocuSign Account Manger. The DocuSign API Send On Behalf Of function can use the normal email authentication for the DocuSign API or the email node in the Credential API Login to add a Send On Behalf Of identifier The Send On Behalf Of identifier can be a properly formatted email address, with an option semicolon delimited user name, or a User ID (UID), if using the Single Sign On (SSO) environment, that can be looked up in the DocuSign SSO configuration. • If the identifier is a properly formatted email address, the system conducts a look-up of the email address and user name (if provided) to see if that user is a member of the account. If membership in the account is not found, a Partner Authentication Failed exception is thrown. The account used for the check is the one associated with the account member’s login credentials (User Name email address and password). • If the identifier is not an email address (the identifier fails the regular expression test for an email), it is assumed that the identifier is a UID. A search is conducted for the UID in the Single Sign On (SSO) customer system and the email address and user name associated with the UID are retrieved from the system. Then the system conducts a look-up of the email address and user name to see if that user is a member of the account. If membership in the account is not found, a Partner Authentication Failed exception is thrown. The account used for the Single Sign On check is the one associated with the account member’s login credentials (User Name email address and password). Send On Behalf Of SOAP Examples The examples in this section show the different ways the Send On Behalf Of identifier is used with the Credential API Login or authentication in a SOAP Header, with a status request for an envelope. The more common use for Send On Behalf Of is with one of the DocuSign API envelope sending methods and the RequestStatus method is used here for brevity. These examples use an Integrator Key and Send On Behalf Of identifier, both included in separate brackets in the Email or Username objects. The Send On Behalf Of identifier is highlighted in the examples. Example: Credential API Login with Email Address <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <Login xmlns="http://www.docusign.net/API/Credential"> <Email>[BILL- 9048-469a-a9e9- 211cef79e5f3][john.doe@docusign.com]test9@docusign.com</Email> <Password>XXXXXXXX</Password> </Login> <RequestStatus xmlns=”http://www.docusign.net/API/3.0”> <EnvelopeID>YYYYYYYY</EnvelopeID> </RequestStatus> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 23. DocuSign API Developer Guide 23 Example: Authentication in SOAP Header with Email Address <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401- wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-7c7b695e-cef7-463b-b05a- 9e133ea43c41"> <wsse:Username>[BILL- 9048-469a-a9e9-211cef79e5f3][john.doe@docusign.com] 2988541c- 4ec7-4245-b520-f2d324062ca3</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- username-token-profile-1.0#PasswordText">password</wsse:Password> </wsse:UsernameToken> </soap:Header> <soap:Body> <RequestStatus xmlns=”http://www.docusign.net/API/3.0”> <EnvelopeID>YYYYYYYY</EnvelopeID> </RequestStatus> </soap:Body> </soap:Envelope> Example: Credential API Login with Email Address and optional User Name <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <Login xmlns="http://www.docusign.net/API/Credential"> <Email>[BILL- 9048-469a-a9e9-211cef79e5f3][john.doe@docusign.com;John Doe]test9@docusign.com</Email> <Password>XXXXXXXX</Password> </Login> <RequestStatus xmlns=”http://www.docusign.net/API/3.0”> <EnvelopeID>YYYYYYYY</EnvelopeID> </RequestStatus> </soap:Body> </soap:Envelope> Example: Authentication in SOAP Header with Email Address and optional User Name <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401- wss-wssecurity-utility-1.0.xsd" wsu:Id="SecurityToken-7c7b695e-cef7-463b-b05a- 9e133ea43c41"> <wsse:Username>[BILL- 9048-469a-a9e9-211cef79e5f3][john.doe@docusign.com;John Doe] 2988541c-4ec7-4245-b520-f2d324062ca3</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss- username-token-profile-1.0#PasswordText">password</wsse:Password> </wsse:UsernameToken> </soap:Header> <soap:Body> <RequestStatus xmlns=”http://www.docusign.net/API/3.0”> <EnvelopeID>YYYYYYYY</EnvelopeID> </RequestStatus> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 24. DocuSign API Developer Guide 24 Example: Credential API Login with SSO UID <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <Login xmlns="http://www.docusign.net/API/Credential"> <Email>[BILL- 9048-469a-a9e9-211cef79e5f3][P134325]test9@docusign.com</Email> <Password>XXXXXXXX</Password> </Login> <RequestStatus xmlns=”http://www.docusign.net/API/3.0”> <EnvelopeID>YYYYYYYY</EnvelopeID> </RequestStatus> </soap:Body> </soap:Envelope> Using DocuSign WSDLs This section provides information on using Web Services Description Language (WSDL) to implement the DocuSign Service API and Account Management Service API in a .Net or Salesforce environment. The URLs for the DocuSign Service API and Account Management Service API WSDLs are: • Service API - https://www.docusign.net/api/3.0/schema/dsapi.wsdl. • Account Management Service API - https://www.docusign.net/api/3.0/schema/dsapi- accountmanagement.wsdl. The endpoints locations for these are: • Service API - https://www.docusign.net/api/3.0/dsapi.asmx • Account Management Service API - https://www.docusign.net/api/3.0/accountmanagement.asmx Using DocuSign WSDL’s in the .Net Environment The WSDL files may be used to generate Web Reference proxy classes for use in the .Net environment. Authentication is provided in the HTTP header for functions that require it. The standard method to accomplish this is to create a Web Reference to the WSDL file and wrap the resulting proxy class to provide the HTTP header. Creating a Web Reference in Visual Studio 2010 for WSDL files: 1. Create a project. 2. In Solution Explorer, right-click on the project and select Add Service Reference. 3. In the Address, type the URL to the WSDL file (for example https://demo.docusign.net/api/3.0/dsapi.asmx). 4. Type a Namespace (for example DocuSignDemo) and click OK. HTTP Header: When you make a call to DocuSign, you need to add an HTTP header to your code. For example: String auth = "<DocuSignCredentials><Username>" + userName + "</Username><Password>" + password 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 25. DocuSign API Developer Guide 25 + "</Password><IntegratorKey>" + integratorKey + "</IntegratorKey></DocuSignCredentials>"; DSAPIServiceSoapClient client = new DSAPIServiceSoapClient(); using (OperationContextScope scope = new System.ServiceModel.OperationContextScope(client.InnerChannel)) { HttpRequestMessageProperty httpRequestProperty = new HttpRequestMessageProperty(); httpRequestProperty.Headers.Add("X-DocuSign-Authentication", auth); OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty; EnvelopeStatus status = client.RequestStatusEx("D3151108-FC4C-4D1A-A168- 86E5233AACDB"); Console.Out.WriteLine("Subject: " + status.Subject); } Using DocuSign WSDL’s in the Salesforce Environment Salesforce provides a mechanism to import WSDL files and create Apex proxy classes. The steps are: 1. Create local copies of the new WSDL files by opening a web browser to each WSDL file (e.g. https://www.docusign.net/API/3.0/Schema/dsapi.wsdl and saving them locally. 2. Navigate to DevelopApex Classes and select the “Generate from WSDL” option, the follow the instructions to create proxy classes. Providing the Authentication Header Proxy classes generated from WSDL’s in Apex include a mechanism to add headers. Before making calls on the API, the DocuSign Authentication header must be added. For example: DSAPI_Status.APIServiceSoap dsApiStatus = new DSAPI_Status.APIServiceSoap(); //Setting docusign authorization. dsApiStatus.inputHttpHeaders_x = new Map<String, String>(); dsApiStatus.inputHttpHeaders_x.put('X-DocuSign-Authentication', '<DocuSignCredentials><Username>578a282b-9263-4fbe-8c2f- 52ab919da96e</Username><Password>1234567</Password><IntegratorKey>TEST_KEY</IntegratorKey ></DocuSignCredentials>'); // Make an API call DSAPI_Status.EnvelopeStatuses = dsApiStatus.RequestStatus('7BDF80CA-9CA8-4911-9629- 92DC40A1A34A'); Note that although hard-coded here, the user name, password and Integrator Key would normally be stored as variables. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 26. DocuSign API Developer Guide 26 DocuSign Service API This section of the Developer’s Guide provides information about the DocuSign Service API. Overview The DocuSign Service API provides methods that allow partner companies’ servers to integrate the DocuSign service into their applications. The service allows partners to build solutions that: • Submit partially specified envelopes for later completion by the customer. • Submit completely specified envelopes that are immediately processed for delivery. • Void an envelope that has been submitted but not yet completed. • Retrieve the status of an envelope. • Retrieve the completed PDF of every document in an envelope. • Retrieve the completed PDF for each separate document in an envelope. • Retrieve the consumer disclosure acceptance status of a recipient. • Transfer an envelope to another DocuSign user or account. • Correct recipient information for an existing envelope en route. • Resend a notification email to an existing recipient. • Retrieve the Member level permissions for the optional features. • Purge the envelope contents from the DocuSign system. • Withdraw an Authoritative Copy of the envelope. • Retrieve a list of audit events pertaining to a particular envelope. • Work with address books. • Upload and download templates. These methods can be used by themselves or in addition to linking the customer’s experience to the DocuSign site to complete any partially completed processes. Commonly Used Terms Definitions of some commonly used terms are given here to familiarize the API user with their use in the DocuSign system. • Envelope - This represents a package used to mail documents to recipients. The envelope carries information about the sender and timestamps to indicate the progress of the delivery procedure. It contains collections of Documents, Tabs and Recipients. • Document - A document that is to be delivered, representing the content to be reviewed and/or signed. Documents have names and are always base64 encoded while in the system. • Tab - This represents a DocuSign Tag (also known as a Stick-eTab®) on a document. It is used in several ways. First, it is used to indicate to a recipient where a signature or initials are required. Second, it is used to include various bits of information in a document in a manner similar to Form Fields or Macros. For example, a tab may automatically fill in the Company 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 27. DocuSign API Developer Guide 27 Name of a recipient when the document is signed. Third, it is used as editable information fields where signers can add data to a document. • Recipient - Someone who receives the envelope and, optionally signs and initials the documents where indicated by tabs. Code Samples Code samples appear throughout this guide to assist API users in implementation. A few notes about the code samples: • APIServiceSoapClient is configured and set up correctly. To do this, the API user must construct credentials as follows: C# Setup Code Sample String _userName = ""; String _apiUrl = "https://demo.docusign.net/api/3.0/api.asmx"; String _accountId = "Your API account ID"; String _password = "Your account password"; String _email = "Your login email"; String _integratorKey = "Your integrator key"; if (_integratorKey != null && _integratorKey.Length > 0) { _userName += "[" + _integratorKey + "]"; } _userName += _email; DocuSignWeb.APIServiceSoapClient _apiClient = new DocuSignWeb.APIServiceSoapClient("APIServiceSoap", _apiUrl); _apiClient.ClientCredentials.UserName.UserName = _userName; _apiClient.ClientCredentials.UserName.Password = _password; PHP Setup Code Sample // credential api service proxy classes and soapclient include("api/CredentialService.php"); // transaction api service proxy classes and soapclient include("api/APIService.php"); // TODO: Use Integrator's Key from Docusign DevCenter Account Preferences API $IntegratorsKey = "your integrator key GUID here"; // TODO: Use your Docusign DevCenter Account email $UserID = "your login email here"; // TODO: Use your Docusign DevCenter Account password $Password = "your password here"; // TODO: Use API Account ID from Docusign DevCenter Account Preferences API $AccountID = "your api account GUID here"; // TODO: put in your timezone or make it null $TimeZone = 'America/Los_Angeles'; //============================================================================= // Set up the API //============================================================================= $api_endpoint = "https://demo.docusign.net/api/3.0/api.asmx"; $api_wsdl = "api/APIService.wsdl"; $api_options = array('location'=>$api_endpoint,'trace'=>true,'features' => SOAP_SINGLE_ELEMENT_ARRAYS); $api = new APIService($api_wsdl, $api_options); $api->setCredentials("[" . $IntegratorsKey . "]" . $UserID, $Password); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 28. DocuSign API Developer Guide 28 • Several of the code samples contain links to previous code samples. The referred code samples set up variables (such as an envelope or an envelope ID) that are necessary for the sample to demonstrate a method. • Similar to the code samples above, the code samples in this document will often contain placeholder text or variables. Take note of where parameters need correction specific to a scenario or account. • PHP Helper Functions: The following functions are used in some of the PHP samples in this document and are included here to inform the developer what they do. /** * Returns xsd format datetime for start of today * @return string */ function todayXsdDate() { global $TimeZone; if ($TimeZone != null) { date_default_timezone_set($TimeZone); } return (date("Y") . "-" . date("m") . "-" . date("d") . "T00:00:00.00"); } /** * Returns xsd format datetime for now * @return string */ function nowXsdDate() { global $TimeZone; if ($TimeZone != null) { date_default_timezone_set($TimeZone); } return (date("Y") . "-" . date("m") . "-" . date("d") . "T" . date("H") . ":" . date("i") . ":" . date("s")); } /** * A guid maker for all seasons (note that com_create_guid() only works on windows * @return string */ function guid(){ if (function_exists('com_create_guid')){ return com_create_guid(); }else{ mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up. $charid = strtoupper(md5(uniqid(rand(), true))); $hyphen = chr(45);// "-" $uuid = chr(123)// "{" .substr($charid, 0, 8).$hyphen .substr($charid, 8, 4).$hyphen .substr($charid,12, 4).$hyphen .substr($charid,16, 4).$hyphen .substr($charid,20,12) .chr(125);// "}" return $uuid; } } 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 29. DocuSign API Developer Guide 29 Basic Process Flow This is a general overview of how the DocuSign system works to familiarize API users with terms and process. It is not a faithful reproduction of how the process is implemented, either on the website or in the API. A sender has a set of documents that they would like to have signed. The sender supplies the name and email address of each person they want to sign the document, and marks the documents with tabs to indicate where each party should sign or initial. The sender may also choose to let the receiving party free-form sign the document. The sender then places the document into the DocuSign system. The DocuSign system then notifies each recipient, via the supplied email address(es), that they have been asked to sign a document, and provides a link to the envelope. When a recipient clicks the link, they will see the documents with DocuSign Tags (Stick-eTabs) in the locations specified by the sender, representing where they need to click to sign or initial the document. If the sender chooses to use free-form signing the recipient will see the document with a note letting them know to click on the document to sign. When all recipients have clicked on all of their respective DocuSign Tags (Stick-eTabs) or added their signature via free-form signing, the document is signed. When this process is initiated via the DocuSign Connect API, the envelope can either be completely specified, which is to say that all Tags (or free-form signing), documents and recipients have been either supplied in the request, or partially specified, meaning that at least one document is present, but recipients and DocuSign Tags may not be. This second case is used to create a ‘draft’ envelope for the sender and allows him or her to finish sending it online through the web interface. Example Usage Diagram The following diagram depicts In-session signing process flow. The diagram shows one of the basic process and meant only to explain how different systems interact with each other. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 30. DocuSign API Developer Guide 30 Placing DocuSign Tags The location of DocuSign Tags, also known as Stick-eTabs or Tabs, can be specified in one of two ways: • Passing the explicit x/y coordinates of each tab in the xml when creating the Envelope. This is appropriate for documents with a standard format, where the signature lines and/or other data items collected by DocuSign tabs are always located in the same place on the document. In this scenario, the xml request describes where to locate DocuSign tabs. • Specifying “anchor” strings that exist in the document, against which the tabs should be placed. This is appropriate for documents that have variable content/format, where the tab locations must similarly vary. In this scenario, the xml request describes how to locate DocuSign tabs. File Limitations DocuSign has the following limitations on files used in envelopes and as attachments: • DocuSign recommends that you do not add files larger than 25MB to an envelope. Note that, depending on the recipient’s internet connection, large files might affect signing performance. • DocuSign has not imposed a limit on the number of files that can be added to an envelope. However, as with file size, envelopes with a large number of files might affect signing performance. • There is a file size limit of 5 MB for signer-uploaded attachments. Methods Exposed in the DocuSign Service API The DocuSign API exposes the following major methods (listed alphabetically): • AcknowledgeAuthoritativeCopyExport – Returns the key to decrypt the documents returned in the ExportAuthoritativeCopy method. Removes the Authoritative Copy from DocuSign. Available only in the 3.0 API. • CorrectAndResendEnvelope - Correct the specified recipients of the envelope, along with envelope reminders and expirations. Allows a sender to modify the name and/or email address of a recipient, change the envelope access authentication information for a recipient, or resend the envelope notification email to a recipient. Supports multiple corrections within an envelope. The return value has a Boolean CorrectionSucceeded for each correction, which indicates the success of the recipient correction. • CreateAccountBrands – Used to upload one or more brand profile files to the account. The Account Branding feature must be enabled for the account to use this. • CreateAndSendEnvelope - Creates the envelope and initiates the delivery process. This method requires an envelope that includes all necessary information; no sender interaction via the DocuSign website is required. • CreateEnvelope – Creates the envelope without sending it. These envelopes do not contain all of the information necessary for immediate processing. Instead, the sender can be directed to the DocuSign web site to complete the preparation of the envelope. • CreateEnvelopeFromTemplates – Creates and sends envelope based on DocuSign Pro templates and envelope information. Available only in the 3.0 API. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 31. DocuSign API Developer Guide 31 • CreateEnvelopeFromTemplatesAndForms – Creates envelopes from a combination of a PDF form and a DocuSign Template. Once all the data from the form is overlaid on the template the envelope is passed to the CreateAndSendEnvelope or CreateEnvelope method. • DeleteAccountBrands – Used to delete one or more brand profiles from an account. The Account Branding feature must be enabled for the account to use this. • DeleteEnvelopes - Deletes the specified envelopes from the DocuSign System. • EnvelopeAuditEvents - Returns a XML document of the current envelope events. Available only in the 3.0 API. • ExportAuthoritativeCopy – Export an Authoritative Copy envelope from DocuSign. Returns an encrypted collection for all the documents and an export transaction ID for a given envelope. To decrypt the documents and remove the actual Authoritative Copy from DocuSign the method AcknowledgeAuthoritativeCopyExport must be called. Available only in the 3.0 API. • GetAccountBrands – Used to retrieve a list of brand profiles associated with the account and the default brand profile. The Account Branding feature must be enabled for the account to use this. • GetAccountMembershipFeaturesList – Returns the member level permissions for the optional features. The optional features include DocuSign Professional, eOriginal Vaulting, SequentialSigningAPI, SequentialSigningUI and TransactionPoint. • GetAccountSettingsList – Returns the settings for an account. • GetAddressBookItems – These methods are used to manage your server side address book in the DocuSign system. • GetAuthenticationToken – This method is used to get a onetime use URL with an authentication token to launch the DocuSign member system. • GetConnectFailures – This method retrieves a list of Connect post failures for the account and date range specified. • GetFolderList and GetFolderItems – The GetFolderList and GetFolderItem methods are used to retrieve the list of folders, including shared folders, and envelopes in the folders. Using these calls is a more efficient way to get a list of envelopes than using RequestStatuses to request individual envelope statuses. • GetRecipientAuthenticationStatusEx – Returns the authentication status of a recipient for the specified envelope. The response returns the applicable authentication results with the authentication status, a date time stamp and authentication failure details (if provided). • GetRecipientEsignList – Return a collection of RecipientEsignRecords for the supplied Sender UserName, Email address and the recipient Email address. The purpose of this function is to allow a sender to determine if an Esign agreement already exists between the sender (as identified by the UserName and Email address) and the recipient (identified by email address only). Each RecipientEsignRecord returned (there may be more than one if there are several recipients at the same email address) has the Recipient’s UserName, Email address and a Boolean indicating whether or not an Esign Agreement exists for that recipient. • GetRecipientList – Return a collection of RecipientRecords for the supplied recipient email address. The purpose of this function is to allow a sender to determine what recipients are available in the system at the given email address. • GetStatusInDocuSignConnectFormat – This method is reserved for future use. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 32. DocuSign API Developer Guide 32 • MoveEnvelopes – This method is used to move envelopes between folders. • Ping - Returns true if this method can be reached. Use this method for testing availability. Available only in the 3.0 API. • PublishConnectFailures – This method requests a list of Connect post failures for the set of envelopes included in the request. • PurgeDocuments – Allows a sender to purge the documents from an envelope. Only completed documents can be purged. • RemoveAddressBookItems – This method is used to remove specified items passed from your address book. This method returns an UpdateAddressBookResult object. • RequestCertificate – Returns the signing certificate, which details the specific attributes of the participants and landmark events of the signing transaction, for an envelope. • RequestCorrectToken – This call returns a token to place a user in a web session in Advanced Correct mode on an envelope. • RequestDocumentPDFs - Returns a collection of all of the documents in an envelope. This method differs from RequestPDF in that this method returns individual documents, while RequestPDF returns all of the documents combined into a single, contiguous PDF. Additionally, the RequestDocumentPDFs method returns the Signing Certificate pdf document, which details the specific attributes of the participants and landmark events of the signing transaction. • RequestDocumentPDFsEx - Returns an extended collection of all of the documents from RequestDocumentPDFs. Extensions include originating document ID and document type. Available only in the 3.0 API. • RequestDocumentPDFsRecipientsView – This method requests the recipient’s view of the document PDFs in an envelope. • RequestEnvelope – Returns an API Envelope object containing all the data of an envelope. The envelope must be owned by the API user. • RequestEnvelopeHistoryToken – Allows allows the caller to get a view of the history dialog for an envelope. The return URL is the url that the caller wants to return to when the close button is pressed after the history dialog is displayed. • RequestPDF – Query the envelope and return the PDF. • RequestPDFNoWaterMark – Query the envelope and return the PDF without showing the watermark. • RequestPDFWithCert – Query the envelope and return the PDF with the signing certificate. • RequestPDFWithOptions – Returns all of the documents combined into a single, contiguous PDF. It includes the ability to set display options for the PDFs. • RequestPDFsWithOptions – Returns all of the documents in an envelope as an array of DocumentPDF (see DocumentPDF for more about the returned information). If the account has the Highlight Data Changes feature enabled and the ShowChanges option is set to true, any changes one the documents are highlighted. • RequestRecipientFaxToken - Specific to InSession Signing implementations. This token returns a URL to invoke a DocuSign signing session where the signer is required to print out and sign documents. The documents are then returned to DocuSign by fax or upload. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 33. DocuSign API Developer Guide 33 • RequestRecipientToken - Specific to InSession Signing implementations. This token returns a URL to invoke a DocuSign signing session where the signer completes the signing process online. • RequestSenderToken – This method is used to get a onetime use login token that allows the user to be placed into the DocuSign sending wizard. Upon sending completion the user is returned to the return URL provided by the API application. • RequestStatus – Query the envelope and return its current status. • RequestStatusChanges – This method requests the envelope status changes for the envelopes for account on or after the specified date/time. • RequestStatusCodes – This method requests the current state (Delivered, Complete, Voided, etc.) of the specified envelopes. • RequestStatusEx - Query the envelope and return its extended status. Available only in the 3.0 API. • RequestStatuses - Query DocuSign for a collection of EnvelopeStatuses. The request can be filtered by date range, StatusCode, sending user or EnvelopeID. • RequestStatusesEx - Query DocuSign for a collection of extended EnvelopeStatuses. The request can be filtered by date range, StatusCode, sending user or EnvelopeID. Available only in the 3.0 API. • RequestTemplate – This method retrieves a specific template from the server by returning an EnvelopeTemplate upon execution completion. • RequestTemplateList - This method requests a list of templates and returns an EnvelopeTemplate list. • #RequestTemplates – This method returns a list of server side templates available for this account. • SaveTemplate – This method returns the SaveTemplateResult. • SendEnvelope – Send an envelope that is in draft status. Upon sending all the validations that are made with the CreateAndSendEnvelope method apply. • SynchEnvelope – This method is only useful when the ‘Asynchronous’ flag is set to true on a CreateAndSendEnvelope call. It will determine when the queued envelope has been processed by the system. • TransferEnvelope - Transfers ownership of the specified envelope to the specified User in the specified Account. Returns Boolean to indicate success of the operation. • UpdateAddressBookItems – This method updates and inserts the specified items passed to your address book and returns an UpdateAddressBookResult object. • UploadTemplates – This method returns SaveTemplateResult. This method currently only supports DocuSign Professional Template XML. • VoidEnvelope - Voids the envelope. Returns Boolean to indicate success of the operation. DocuSign Service API Function Groups There are five basic function groups in the DocuSign API: 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 34. DocuSign API Developer Guide 34 • Sending • Embedding • Status and Managing • Post Processing • Administrative Additionally, there is a Credential API group that covers the methods involved in implementing a DocuSign Credential API. The exposed methods are associated with the different function groups. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 35. DocuSign API Developer Guide 35 Sending Function Group This section outlines the usage rules and behaviors of the methods associated with sending. The functions are presented in alphabetical order. CreateAndSendEnvelope and CreateEnvelope This section outlines the usage rules and behaviors of the CreateEnvelope and CreateAndSendEnvelope call, which is used to create envelopes, specify recipients, documents and actions on those documents within that envelope. Note: The CreateAndSendEnvelope and CreateEnvelope schemas, which are used to create envelopes, specify recipients, documents and actions on those documents within that envelope, are similar and only one method is detailed. Schema 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 36. DocuSign API Developer Guide 36 Name Schema Type Description TransactionID LongString External ID of this transaction to be used when calling SynchEnvelope. This ID must be unique for a 24-hour period. Asynchronous Boolean If true, will queue the envelope for processing and EnvelopeStatus will have a value of ‘Processing’. Use SynchEnvelope to determine when the queued envelope has been processed. Additionally, RequestStatus calls will return ‘Processing’ until completed. AccountId DSXId Account Id of the user who created the envelope. Documents Document Complex element contains the details on the documents in the envelope. See the Document section below for more information. Recipients Recipient Specifies the envelope recipients. See the Recipient section below for more information. Tabs Tab Specifies information of the tabs affixed on the documents. Please refer the Tab section below for details. Subject String The subject of the email that will be sent to the recipient. This can be a maximum of 100 characters. EmailBlurb String Optional element, if specified is included in email notifications to the envelope recipients. This can be a maximum of 2000 characters. SigningLocation SigningLocationCode Specifies the physical location where the signing takes place. It can have two enumeration values; InPerson and Online. CustomFields CustomField Complex element contains a list of names and values. Element can specify if the name value pair needs to be entered before sending the envelope. It can also specify if the name value pair needs to be shown to user who is sending the envelope. Reserved CustomField names: ##SFAccount ##SFContract ##SFOpportunity ##SFCase Reserved field names can be used to link data from DocuSign Connect to Salesforce. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 37. DocuSign API Developer Guide 37 Name Schema Type Description VaultingOptions VaultingOptions Specifies that, on document completion, this document is to be sent to an electronic vaulting solution. You MUST have an established relationship with the electronic vault and explicitly have vaulting permissions enabled to use this feature. Contact your DocuSign representative for more information. AutoNavigation Boolean Specifies the Auto Navigation feature. If the Boolean is set to true the auto navigation is enabled. EnvelopeIDStamping Boolean Specifies the Envelope Stamping feature. If the Boolean is set to true the Envelope Stamping is enabled. AuthoritativeCopy Boolean Specifies the Authoritative copy feature. If the Boolean is set to true the Authoritative copy feature is enabled. EnvelopeAttachment Attachment It would be possible to send attachments with envelope. This complex element contains data in base64Binary. It also contains label and type for the attachment. Notification Notification Specifies information of the notification options for the envelope. Please refer the Notification section below for details. EnforceSignerVisibility Boolean When true requires that a Signer have a signature or initial on the document or that the document has no signers in order to view it. EnableWetSign Boolean When true, allows the signer to print the document and sign it on paper. AllowMarkup Boolean When true, enable Document Markup for envelope. EventNotification EventNotification This optional complex element allows a message to be sent a specified URL when the envelope changes status. It is similar to DocuSign Connect, but only applies to the envelope. For example, from "Sent" to "Delivered", the URL is sent a message containing the updated envelope status and optionally the documents. When an EventNotification is attached to an envelope using the API, it only applies to the envelope (treating the envelope as the sender). This is different from envelopes created through the console user interface, where the user is treated as the sender. EventNotification consists of: • URL – The endpoint where envelope updates are sent. This will accept XML 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 38. DocuSign API Developer Guide 38 Name Schema Type Description unless “useSoapInterface” is set to true. • LoggingEnabled – When set to true, logging is turned on for envelope events on the Web Console Connect page. • RequireAcknowledgment – When set to true, the DocuSign Connect service checks that the message was received and retries on failures. • UseSoapInterface – When set to true, this tells the Connect service that the user’s endpoint has implemented a SOAP interface. • SoapNameSpace – This lists the namespace in the SOAP listener provided. • IncludeCertificateWithSoap – When set to true, this tells the Connect service to send the DocuSign signedby certificate as part of the outgoing SOAP xml. This appears in the XML as wsse:BinarySecurityToken. • SignMessageWithX509Cert – When set to true, messages are signed with an X509 certificate. • IncludeDocuments – When set to true, the PDF documents are included in the message along with the update XML. • IncludeTimeZone – When set to true, the envelope time zone information is included in the message. • IncludeSenderAccountAsCustomField – When set to true, the sender account ID is included as a envelope custom field in the data. • EnvelopeEvents – The list of envelope- level events statuses that will trigger Connect to send updates to the url. It can be a two-part list with: o EnvelopeEventStatus – The envelope status, this can be Sent, Delivered, Signed, Completed, Declined, or Voided. AllowReassign Boolean If true, the recipient can redirect an envelope to a more appropriate recipient. BrandId String This sets the brand profile format used for the envelope. The value in the string is the BrandId for the profile. Account branding must be enabled for the account to use this option. BrandLock Boolean When true, the brand profile associated with the envelope cannot be changed. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 39. DocuSign API Developer Guide 39 Request XML Data Structure Outline SOAPAction: "http://www.docusign.net/API/3.0/CreateAndSendEnvelope" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateAndSendEnvelope xmlns="http://www.docusign.net/API/3.0"> <Envelope> <TransactionID>string</TransactionID> <Asynchronous>boolean</Asynchronous> <AccountId>string</AccountId> <Documents> <Document> <ID>positiveInteger</ID> <Name>string</Name> <PDFBytes>base64Binary</PDFBytes> <Password>string</Password> <TransformPdfFields>boolean</TransformPdfFields> <FileExtension>string</FileExtension> <MatchBoxes xsi:nil="true" /> <AttachmentDescription>string</AttachmentDescription> </Document> <Document> <ID>positiveInteger</ID> <Name>string</Name> <PDFBytes>base64Binary</PDFBytes> <Password>string</Password> <TransformPdfFields>boolean</TransformPdfFields> <FileExtension>string</FileExtension> <MatchBoxes xsi:nil="true" /> <AttachmentDescription>string</AttachmentDescription> </Document> </Documents> <Recipients> <Recipient> <ID>positiveInteger</ID> <UserName>string</UserName> <SignerName>string</SignerName> <Email>string</Email> <Type>Signer or Agent or Editor or CarbonCopy or CertifiedDelivery or InPersonSigner</Type> <AccessCode>string</AccessCode> <AddAccessCodeToEmail>boolean</AddAccessCodeToEmail> <RequireIDLookup>boolean</RequireIDLookup> <IDCheckConfigurationName>string</IDCheckConfigurationName> <LiveIDRecipientAuthentication>boolean</LiveIDRecipientAuthentication> <FacebookRecipientAuthentication>boolean</FacebookRecipientAuthentication> <LinkedinRecipientAuthentication>boolean</LinkedinRecipientAuthentication> <GoogleRecipientAuthentication>boolean</GoogleRecipientAuthentication> <SalesforceRecipientAuthentication>boolean</SalesforceRecipientAuthentication> <TwitterRecipientAuthentication>boolean</TwitterRecipientAuthentication> <YahooRecipientAuthentication>boolean</YahooRecipientAuthentication> <OpenIDRecipientAuthentication>boolean</OpenIDRecipientAuthentication> <AnySocialIDRecipientAuthentication>boolean</AnySocialIDRecipientAuthentication> <PhoneAuthentication xsi:nil="true" /> <SignatureInfo xsi:nil="true" /> <CaptiveInfo xsi:nil="true" /> <CustomFields xsi:nil="true" /> <RoutingOrder>unsignedShort</RoutingOrder> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 40. DocuSign API Developer Guide 40 <IDCheckInformationInput xsi:nil="true" /> <AutoNavigation>boolean</AutoNavigation> <RecipientAttachment xsi:nil="true" /> <Note>string</Note> <RoleName>string</RoleName> <TemplateLocked>boolean</TemplateLocked> <TemplateRequired>boolean</TemplateRequired> <TemplateAccessCodeRequired>boolean</TemplateAccessCodeRequired> <DefaultRecipient>boolean</DefaultRecipient> <EmailNotification xsi:nil="true" /> <AgentCanEditEmail>boolean</AgentCanEditEmail> <AgentCanEditName>boolean</AgentCanEditName> <SignInEachLocation>boolean</SignInEachLocation> <InheritEmailNotificationConfiguration>boolean</InheritEmailNotificationConfiguration> </Recipient> <Recipient> <ID>positiveInteger</ID> <UserName>string</UserName> <SignerName>string</SignerName> <Email>string</Email> <Type>Signer or Agent or Editor or CarbonCopy or CertifiedDelivery or InPersonSigner</Type> <AccessCode>string</AccessCode> <AddAccessCodeToEmail>boolean</AddAccessCodeToEmail> <RequireIDLookup>boolean</RequireIDLookup> <IDCheckConfigurationName>string</IDCheckConfigurationName> <LiveIDRecipientAuthentication>boolean</LiveIDRecipientAuthentication> <FacebookRecipientAuthentication>boolean</FacebookRecipientAuthentication> <LinkedinRecipientAuthentication>boolean</LinkedinRecipientAuthentication> <GoogleRecipientAuthentication>boolean</GoogleRecipientAuthentication> <SalesforceRecipientAuthentication>boolean</SalesforceRecipientAuthentication> <TwitterRecipientAuthentication>boolean</TwitterRecipientAuthentication> <YahooRecipientAuthentication>boolean</YahooRecipientAuthentication> <OpenIDRecipientAuthentication>boolean</OpenIDRecipientAuthentication> <AnySocialIDRecipientAuthentication>boolean</AnySocialIDRecipientAuthentication> <PhoneAuthentication xsi:nil="true" /> <SignatureInfo xsi:nil="true" /> <CaptiveInfo xsi:nil="true" /> <CustomFields xsi:nil="true" /> <RoutingOrder>unsignedShort</RoutingOrder> <IDCheckInformationInput xsi:nil="true" /> <AutoNavigation>boolean</AutoNavigation> <RecipientAttachment xsi:nil="true" /> <Note>string</Note> <RoleName>string</RoleName> <TemplateLocked>boolean</TemplateLocked> <TemplateRequired>boolean</TemplateRequired> <TemplateAccessCodeRequired>boolean</TemplateAccessCodeRequired> <DefaultRecipient>boolean</DefaultRecipient> <EmailNotification xsi:nil="true" /> <AgentCanEditEmail>boolean</AgentCanEditEmail> <AgentCanEditName>boolean</AgentCanEditName> <SignInEachLocation>boolean</SignInEachLocation> <InheritEmailNotificationConfiguration>boolean</InheritEmailNotificationConfiguration> </Recipient> <Tabs> <Tab> <DocumentID>positiveInteger</DocumentID> <RecipientID>positiveInteger</RecipientID> <PageNumber>nonNegativeInteger</PageNumber> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 41. DocuSign API Developer Guide 41 <XPosition>nonNegativeInteger</XPosition> <YPosition>nonNegativeInteger</YPosition> <ScaleValue>decimal</ScaleValue> <AnchorTabItem xsi:nil="true" /> <Type>InitialHere or SignHere or FullName or Company or Title or DateSigned or InitialHereOptional or EnvelopeID or Custom or SignerAttachment or SignHereOptional or Approve or Decline</Type> <Name>string</Name> <TabLabel>string</TabLabel> <Value>string</Value> <CustomTabType>Text or Checkbox or Radio or List or Date or Number or SSN or ZIP5 or ZIP5DASH4 or Email or Note</CustomTabType> <CustomTabWidth>int</CustomTabWidth> <CustomTabHeight>int</CustomTabHeight> <CustomTabRequired>boolean</CustomTabRequired> <CustomTabLocked>boolean</CustomTabLocked> <CustomTabDisableAutoSize>boolean</CustomTabDisableAutoSize> <CustomTabListItems>string</CustomTabListItems> <CustomTabListValues>string</CustomTabListValues> <CustomTabListSelectedValue>string</CustomTabListSelectedValue> <CustomTabRadioGroupName>string</CustomTabRadioGroupName> <CustomTabValidationPattern>string</CustomTabValidationPattern> <CustomTabValidationMessage>string</CustomTabValidationMessage> <TemplateLocked>boolean</TemplateLocked> <TemplateRequired>boolean</TemplateRequired> <ConditionalParentLabel>string</ConditionalParentLabel> <ConditionalParentValue>string</ConditionalParentValue> <SharedTab>boolean</SharedTab> <RequireInitialOnSharedTabChange>boolean</RequireInitialOnSharedTabChange> <ConcealValueOnDocument>boolean</ConcealValueOnDocument> <Font>Arial or ArialNarrow or Calibri or CourierNew or Garamond or Georgia or Helvetica or LucidaConsole or Tahoma or TimesNewRoman or Trebuchet or Verdana</Font> <Bold>boolean</Bold> <Italic>boolean</Italic> <Underline>boolean</Underline> <FontColor>Black or BrightBlue or BrightRed or DarkRed or DarkGreen or Gold or Green or NavyBlue or Purple or White</FontColor> <FontSize>Size7 or Size8 or Size9 or Size10 or Size11 or Size12 or Size14 or Size16 or Size18 or Size20 or Size22 or Size24 or Size26 or Size28 or Size36 or Size48 or Size72</FontSize> <MergeFieldXml>string</MergeFieldXml> <IncludeNoteInEmail>boolean</IncludeNoteInEmail> </Tab> <Tab> <DocumentID>positiveInteger</DocumentID> <RecipientID>positiveInteger</RecipientID> <PageNumber>nonNegativeInteger</PageNumber> <XPosition>nonNegativeInteger</XPosition> <YPosition>nonNegativeInteger</YPosition> <ScaleValue>decimal</ScaleValue> <AnchorTabItem xsi:nil="true" /> <Type>InitialHere or SignHere or FullName or Company or Title or DateSigned or InitialHereOptional or EnvelopeID or Custom or SignerAttachment or SignHereOptional</Type> <Name>string</Name> <TabLabel>string</TabLabel> <Value>string</Value> <CustomTabType>Text or Checkbox or Radio or List or Date or Number or SSN or ZIP5 or ZIP5DASH4 or Email</CustomTabType> <CustomTabWidth>int</CustomTabWidth> <CustomTabHeight>int</CustomTabHeight> <CustomTabRequired>boolean</CustomTabRequired> <CustomTabLocked>boolean</CustomTabLocked> <CustomTabDisableAutoSize>boolean</CustomTabDisableAutoSize> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 42. DocuSign API Developer Guide 42 <CustomTabListItems>string</CustomTabListItems> <CustomTabListValues>string</CustomTabListValues> <CustomTabListSelectedValue>string</CustomTabListSelectedValue> <CustomTabRadioGroupName>string</CustomTabRadioGroupName> <CustomTabValidationPattern>string</CustomTabValidationPattern> <CustomTabValidationMessage>string</CustomTabValidationMessage> <TemplateLocked>boolean</TemplateLocked> <TemplateRequired>boolean</TemplateRequired> <ConditionalParentLabel>string</ConditionalParentLabel> <ConditionalParentValue>string</ConditionalParentValue> <SharedTab>boolean</SharedTab> <RequireInitialOnSharedTabChange>boolean</RequireInitialOnSharedTabChange> <ConcealValueOnDocument>boolean</ConcealValueOnDocument> <Font>Arial or ArialNarrow or Calibri or CourierNew or Garamond or Georgia or Helvetica or LucidaConsole or Tahoma or TimesNewRoman or Trebuchet or Verdana</Font> <Bold>boolean</Bold> <Italic>boolean</Italic> <Underline>boolean</Underline> <FontColor>Black or BrightBlue or BrightRed or DarkRed or DarkGreen or Gold or Green or NavyBlue or Purple or White</FontColor> <FontSize>Size7 or Size8 or Size9 or Size10 or Size11 or Size12 or Size14 or Size16 or Size18 or Size20 or Size22 or Size24 or Size26 or Size28 or Size36 or Size48 or Size72</FontSize> <MergeFieldXml>string</MergeFieldXml> <IncludeNoteInEmail>boolean</IncludeNoteInEmail> </Tab> </Tabs> <Subject>string</Subject> <EmailBlurb>string</EmailBlurb> <SigningLocation>InPerson or Online</SigningLocation> <CustomFields> <CustomField> <Name>string</Name> <Show>string</Show> <Required>string</Required> <Value>string</Value> <CustomFieldType>Text or List</CustomFieldType> <ListItems>string</ListItems> </CustomField> <CustomField> <Name>string</Name> <Show>string</Show> <Required>string</Required> <Value>string</Value> <CustomFieldType>Text or List</CustomFieldType> <ListItems>string</ListItems> </CustomField> </CustomFields> <VaultingOptions> <VaultingMode>None or EODeStore or EODAuthoritativeCopy</VaultingMode> <EODTransactionName>string</EODTransactionName> <EODDocumentName>string</EODDocumentName> <EODDocumentDescription>string</EODDocumentDescription> </VaultingOptions> <AutoNavigation>boolean</AutoNavigation> <EnvelopeIdStamping>boolean</EnvelopeIdStamping> <AuthoritativeCopy>boolean</AuthoritativeCopy> <Notification> <UseAccountDefaults>boolean</UseAccountDefaults> <Reminders> <ReminderEnabled>boolean</ReminderEnabled> <ReminderDelay>nonNegativeInteger</ReminderDelay> <ReminderFrequency>nonNegativeInteger</ReminderFrequency> </Reminders> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 43. DocuSign API Developer Guide 43 <Expirations> <ExpireEnabled>boolean</ExpireEnabled> <ExpireAfter>nonNegativeInteger</ExpireAfter> <ExpireWarn>nonNegativeInteger</ExpireWarn> </Expirations> </Notification> <EnvelopeAttachment> <Attachment> <Data>base64Binary</Data> <Label>string</Label> <Type>string</Type> </Attachment> <Attachment> <Data>base64Binary</Data> <Label>string</Label> <Type>string</Type> </Attachment> </EnvelopeAttachment> <EnforceSignerVisibility>boolean</EnforceSignerVisibility> <EnableWetSign>boolean</EnableWetSign> <AllowMarkup>boolean</AllowMarkup> <EventNotification> <URL>string</URL> <LoggingEnabled>boolean</LoggingEnabled> <RequireAcknowledgment>boolean</RequireAcknowledgment> <UseSoapInterface>boolean</UseSoapInterface> <SoapNameSpace>string</SoapNameSpace> <IncludeCertificateWithSoap>boolean</IncludeCertificateWithSoap> <SignMessageWithX509Cert>boolean</SignMessageWithX509Cert> <IncludeDocuments>boolean</IncludeDocuments> <IncludeTimeZone>boolean</IncludeTimeZone> <IncludeSenderAccountAsCustomField>boolean</IncludeSenderAccountAsCustomField> <EnvelopeEvents> <EnvelopeEvent xsi:nil="true" /> <EnvelopeEvent xsi:nil="true" /> </EnvelopeEvents> </EventNotification> <AllowReassign>boolean</AllowReassign> <BrandId>string</BrandId> <BrandLock>boolean</BrandLock> </Envelope> </CreateAndSendEnvelope> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 44. DocuSign API Developer Guide 44 Document This element contains the details of the documents in the envelope. Name Schema Type Description ID LocalId The unique Id for the document in the specific envelope. Name LongString The name of the document. This can be a maximum of 100 characters. PDFBytes base64Binary The document byte stream Password Password This is a legacy field and no longer used. TransformPdfFields Boolean Optional element. When set to true PDF form field data will be transformed into document tab values when the PDF form field name matches the DocuSign custom tab TabLabel. The resulting PDF form data will also be returned in the PDF meta data when requesting the document PDF. Note: DocuSign will not transform PDF form fields that have the text "DocuSignIgnoreTransform" or "eSignIgnoreTransform" as part of the name of the PDF form field. FileExtension String Optional element. File extension of the document. If the document is non-PDF it will be converted to PDF. MatchBoxes String Optional element. Only used when uploading and editing templates. Matchboxes are used to define areas in a document for document matching when creating envelopes. The Matchbox schema is defined below in the Request Template section. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 45. DocuSign API Developer Guide 45 Name Schema Type Description AttachmentDescription LongString Optional element. If present, indicates signer will be attaching a document here. Recipient The Recipient element is used to specify envelope recipients. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 46. DocuSign API Developer Guide 46 Name Schema Type Description ID LocalId Unique for the recipient. It is used by the tab element to indicate which recipient is to sign the Document. UserName UserName Full legal name of the recipient. If the recipient Type is InPersonSigner, this is the signing host for the envelope. This can be a maximum of 100 characters. SignerName SignerName The full legal name of a signer for an InPersonSigner recipient Type. This can be a maximum of 100 characters. Email Email Email of the recipient. Notification will be sent to this email id. This can be a maximum of 100 characters. Type RecipientTypeCode Specifies the role of the recipient. The role can be Signer, CarbonCopy, Editor, Agent, Intermediary, CertifiedDelivery, or InPersonSigner. If InPersonSigner is used, SignerName is required and is the name of the person signing the tabs. Also, the UserName is the name of the signing host for the envelope. AccessCode LongString This Optional element specifies the access code a recipient has to enter to validate the identity. This can be a maximum of 50 characters. AddAccessCodeToEmail Boolean This Optional attribute indicates that the access code will be added to the email sent to the recipient; this nullifies the Security measure of Access Code on the recipient. RequireIDLookup Boolean If set to true, then the recipient is required to complete an ID Check or Phone Authentication check. IDCheckConfigurationName LongString Specify ID check configuration by name. Overrides the default. DeliveryMethod Delivery Method This sets the delivery method used for the recipient. The two enumerations are Email or Fax. Email is the default value. FaxNumber String The fax number for the recipient. This is only active if the DeliveryMethod is Fax. This can be a maximum of 100 characters. LiveIDRecipientAuthentication Boolean If true, this is the information used for recipient authentication. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 47. DocuSign API Developer Guide 47 Name Schema Type Description FacebookRecipientAuthentication Boolean If true, this is the information used for recipient authentication. LinkedinRecipientAuthentication Boolean If true, this is the information used for recipient authentication. GoogleRecipientAuthentication Boolean If true, this is the information used for recipient authentication. SalesforceRecipientAuthentication Boolean If true, this is the information used for recipient authentication. TwitterRecipientAuthentication Boolean If true, this is the information used for recipient authentication. YahooRecipientAuthentication Boolean If true, this is the information used for recipient authentication. OpenIDRecipientAuthentication Boolean If true, this is the information used for recipient authentication. AnySocialIDRecipientAuthenticatio Boolean If true, this is the information used for n recipient authentication. PhoneAuthentication RecipientPhoneAuthenticatio Optional element. Contains the elements: n RecipMayProvideNumbers – Boolean (if true then recipient can use whatever phone number they want) SenderProvideNumbers – ArrayOfString (a list of phone numbers the recipient may use) RecordVoidPrint – Reserved ValidateRecipProvideNumber – Reserved SignatureInfo SignatureInfo Allows the sender to pre-specify the signature name, signature initials and signature font used in the signature stamp for the recipient. CaptiveInfo CaptiveInfo This specifies if the recipient is ClientUserId embedded or remote. If the ClientUserId is not null then the recipient is embedded. CustomFields Array of CustomField Allows the sender to send custom data about the recipient. This information is returned in the envelope status but otherwise not used by DocuSign. Each CustomField can be a maximum of 100 characters. RountingOrder PositiveShort This element specifies the routing order of the recipient in the envelope 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 48. DocuSign API Developer Guide 48 Name Schema Type Description IDCheckInformationInput IDCheckInformationInput This Complex element contains information related to recipient ID check. It comprises of Address, DOB, SS4 and SS9. Please refer the IDCheckInformationInput section below for details. AutoNavigation Boolean Specifies the auto navigation setting for recipient. RecipientAttachment Attachment It would be possible to send attachments with recipients. This complex element contains data in base64Binary. It also contains label and type for the attachment. Note String A note that will be unique to this recipient. This note will be sent to the recipient via the signing email. This note will display in the signing UI near the upper left corner of the document on the signing screen. This can be a maximum of 1000 characters. RoleName String Optional element. Used only when working with template recipients. Role name for the recipient TemplateLocked Boolean Optional element. Used only when working with template recipients. If true, the sender cannot change any attributes of the recipient. TemplateRequired Boolean Optional element. Used only when working with template recipients. If true, the sender may not remove the recipient. TemplateAccessCodeRequired Boolean Optional element. Used only when working with template recipients. If true and TemplateLocked = true, the sender must enter an access code. DefaultRecipient Boolean If true, this is the default recipient for the envelope. This option is used with CreateEnvelopeFromTemplatesAndForm s method. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 49. DocuSign API Developer Guide 49 Name Schema Type Description EmailNotification RecipientEmailNotification An optional complex type that has information for setting the language for the recipient’s email information. It is composed of three elements: • Subject: a long string with the subject of the email sent to the recipient. • EmailBlurb: a string with the email message sent to the recipient. • Language: the simple type SupportedLanguage enumerating the language used. The supported languages, with the language value shown in parenthesis, are: Arabic (ar), Bahasa Indonesia (id), Bahasa Melayu (ms) Bulgarian (bg), Czech (cs), Chinese Simplified (zh-CN), Chinese Traditional (zh-TW), Croatian (hr), Danish (da), Dutch (nl), English US (en), English UK (en-GB), Estonian (et), Farsi (fa), Finnish (fi), French (fr), French Canada (fr-CA), German (de), Greek (el), Hebrew (he), Hindi (hi), Hungarian (hu), Italian (it), Japanese (ja), Korean (ko), Latvian (lv), Lithuanian (lt), Norwegian (no), Polish (pl), Portuguese (pt), Portuguese Brazil (pt-BR), Romanian (ro),Russian (ru), Serbian (sr), Slovak (sk), Slovenian (sl), Spanish (es),Spanish Latin America (es-MX), Swedish (sv), Thai (th), Turkish (tr), Ukrainian (uk) and Vietnamese (vi). IMPORTANT: If this is enabled for one recipient, it overrides the Envelope Subject and EmailBlurb. Also, you must enable EmailNotification for all recipients. AgentCanEditEmail Boolean Optional element. If true, the Agent or Editor Recipient associated with this Recipient can change the Recipient’s pre-populated Email address. This element is only active if enabled for the account. AgentCanEditName Boolean Optional element. If true, the Agent or Editor Recipient associated with this recipient can change the recipient’s pre- populated name (UserName). This element is only active if enabled for the account. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 50. DocuSign API Developer Guide 50 Name Schema Type Description SignInEachLocation Boolean Optional element. If true, the signer must write their signature in each Signature or initial tab. Can only be used for Signer and InPersonSigner recipient types. InheritEmailNotificationConfiguratio Boolean Optional element. If true and the recipient n creates a DocuSign account after signing, the Manage Account Email Notification settings are used as the default settings for the recipient's account. ExcludedDocuments Array of positive integers Optional element, can only be used if Document Visibility is enabled for the account. Accepts an array of Document IDs to set the documents in the envelope that are not visible to the recipient. If a recipient has a tab on a document, it cannot be excluded. IDCheckInformationInput 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 51. DocuSign API Developer Guide 51 Name Schema Type Description AddressInformationInput AddressInformation This Complex type contains the following information; Street1, Street2, City, State and Zip and ZipPlus4. DisplayLevel specifies the display level for the recipient, which is controlled by an enumerator. Display level could be ReadOnly, Editable or DoNotDisplay. Boolean element ReceiveInResponse specifies if the information needs to be returned in the response. The maximum characters or each field are: - Street1 and Street2: 150 characters - City: 50 characters - State: 2 characters - ZIP and ZIP+4: 20 characters DoBInformationInput DOBInformation Contains DOB information; date, Month and Year. This complex element also contains DisplayLevel and ReceiveInResponse elements. SSN4InformationInput SSN4Information The last four digits of the social security number of the recipient. This complex element also contains DisplayLevel and ReceiveInResponse elements. SSN9InformationInput SSN9Information Social security number of the recipient. This element contains the DisplayLevel. SSN9 is never returned in the response. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 52. DocuSign API Developer Guide 52 Tab 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 53. DocuSign API Developer Guide 53 Name Schema Type Description DocumentID LocalId This is the document on that the tab is placed on. Must refer to an existing Document’s ID attribute. RecipientID LocalId This specifies the recipient associated with the tab. Must refer to an existing recipient’s ID attribute. PageNumber nonNegativeInteger This specifies the page number where the tab will be affixed. XPosition nonNegativeInteger This indicates the horizontal offset of the tab on the page, in a coordinate space that has left top corner of the document as origin. YPosition nonNegativeInteger This indicates the vertical offset of the tab on the page, in a coordinate space that has left top corner of the document as origin. ScaleValue Decimal Represents a decimal value of 0.5 to 1.0 position of the webcontrol scaling slider. A value of 1.0 represents full size and 0.5 is 50% size. AnchorTabItem AnchorTab This indicates Anchor tab in the document. See the Anchor Tab section below for details Type TabTypeCode TabTypeCode is a simple type enumerating one of the following possible values: InitialHere, SignHere, FullName, FirstName, LastName, EmailAddress, Company, Title, DateSigned, InitialHereOptional, EnvelopeID, Custom, SignerAttachment, SignHereOptional, Approve or Decline. Name Name This would be the name of the custom tab. Notes: For Type of “Custom” and CustomTabType of “List” the name is a “;” separated list of drop down list items. TabLabel TabLabel This would be the name of the custom tab. This can be a maximum of 500 characters. Notes: Making custom tab’s TabLabel the same will cause the all like fields to update when the user enters data. For Type of “Custom” and CustomTabType of “Radio” make the TabLabels the same for any radio buttons you want to group together. The Name value will be what is returned for the radio selected in a group. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 54. DocuSign API Developer Guide 54 Name Schema Type Description Value Value This element specifies the value of the custom tab. Notes: For Type of “Custom” and CustomTabType of “List” the Value is the default selected item in the drop down list. For Type of “Custom” and CustomTabType of “Radio” or “Checkbox” place a “X” in this field to check the item by default. CustomTabType CustomTabType It tells what is represented by the tabs that have a TabTypeCode of Custom. Available custom tab types are: Text, Checkbox, Radio, List, Date, Number, SSN, ZIP5, ZIP5DASH4, Email Note and Formula. CustomTabType Notes: • List will be presented to the signer as a drop down list on the signing document. The values for a List are set in the Name field as “;” separated items. • Checkbox cannot be set as a required field. • Number, Date, SSN, ZIP5, ZIP5DASH4, and Email fields will be validated for format before the signer can complete the signing. • Text, List, Date, Number, SSN, ZIP5, ZIP5DASH4, and Email characters will be limited by the size of the field set with CustomTabWidth and CustomTabHeight. CustomTabWidth Integer Width of the custom tab. CustomTabHeight Integer Height of the custom tab. CustomTabRequired Boolean Signer is required to fill out the custom tab if true. If the CustomTabType is Checkbox, this must be set to false. ConcealValueOnDocument Boolean Optional element. If true the field appears normally while the recipient is adding or modifying the information in the field, but the data is not visible (the characters are hidden by asterisks) to any other signer or the sender. When an envelope is completed the information is available to the sender through the Form Data link in the DocuSign Console. This setting applies only to text boxes and does not affect list boxes, radio buttons, or check boxes. CustomTabLocked Boolean Signer cannot change the data of the custom tab if true. If the CustomTabType is Checkbox, this must be set to false. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 55. DocuSign API Developer Guide 55 Name Schema Type Description CustomTabDisableAutoSize Boolean Disables the auto sizing of single line text boxes in the signing screen when the signer enters data. If disabled users will only be able enter as much data as the text box can hold. By default this is false. This property only affects single line text boxes. CustomTabListItems String Semicolon separated items used in the dropdown list for a CustomTabType of “List”. These values may also be specified in the Name node; however, this node will take precedence. This can be a maximum of 2000 characters. CustomTabListValues String For Form Field List Box type this is the semi- colon delimited list of values to go with the displayed list items set in CustomTabListItems or Name. These values are the hidden values of the drop down list display items. This can be a maximum of 2000 characters. CustomTabListSelectedValue String Set this to the default selected item based on the CustomTabListValues. If Value is specified that will take precedence. CustomTabRadioGroupName String This is the group name for a set of radio buttons. The CustomTabType must be “Radio”. This may also be specified in the TabLabel node; however, this node will take precedence. CustomTabValidationPattern String For all custom tab types except radio buttons, checkboxes, and list items you may supply a regular expression that will be validated when data is entered in the field. This is optional and if not provided the default DocuSign validation rules will apply. Javascript RegEx object is used for regular expression validation. Regular expressions must be supported by this object to resolve. CustomTabValidationMessage String Message to be displayed to the signer if the validation rule from CustomTabValidationPattern fails. This is optional and if not provided the default DocuSign message will be displayed. This can be a maximum of 250 characters. TemplateLocked Boolean Optional element. Used only when working with template tabs. If true, the attributes of the tab cannot be changed by the sender. TemplateRequired Boolean Optional element. Used only when working with template tabs. If true, the tab cannot be removed by the sender. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 56. DocuSign API Developer Guide 56 Name Schema Type Description ConditionalParentLabel String Optional element. For conditional fields this is the TabLabel of the parent tab that controls this tab’s visibility. ConditionalParentValue String Optional element. For conditional fields this is the Value of the parent tab that controls this tab’s visibility. If the parent tab is a Checkbox, Radio button, Optional Signature, or Optional Initial use “on” as the value to show that the parent tab is active. SharedTab Boolean Optional element for field markup. When set to true, enables field markup for the field. RequireInitialOnSharedTabChange Boolean Optional element for field markup. When set to true it requires the signer to initial when they modify a shared field. Font Font The font type used for the information in the tab. Possible values are: Arial, ArialNarrow, Calibri, CourierNew, Garamond, Georgia, Helvetica, LucidaConsole, Tahoma, TimesNewRoman, Trebuchet, and Verdana. Bold Boolean If true, the information in the tab is bold. Italic Boolean If true, the information in the tab is italic. Underline Boolean If true, the information in the tab is underlined. FontColor FontColor The font color used for the information in the tab. Possible values are: Black, BrightBlue, BrightRed, DarkGreen, DarkRed, Gold, Green, NavyBlue, Purple, or White. FontSize FontSize The font size used for the information in the tab. Possible values are: Size7, Size8, Size9, Size10, Size11, Size12, Size14, Size16, Size18, Size20, Size22, Size24, Size26, Size28, Size36, Size48, or Size72. MergeFieldXml String Reserved for future use. IncludeNoteInEmail Boolean If true, the text in the CustomTabType “Note” tab is included in the email message (EmailBlurb) for the recipient. IsPaymentField Boolean When true, sets this as a payment tab. Can only be used with CustomTabType Text, Number, List or Formula. The value of the tab must be a number. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 57. DocuSign API Developer Guide 57 Name Schema Type Description Formula String The Formula string contains the TabLabel for the reference tabs used in the formula and calculation operators. Each TabLabel must be contained in brackets. This can be a maximum of 2000 characters. Example: Three tabs (TabLabels: Line1, Line2, and Tax) need to be added together. The formula string would be: <Formula>[Line1]+[Line2]+[Tax]</Formula> RoundDecimalPlaces Integer Sets the number of digits after the decimal point in a CustomTabType Formula tab. Can only have the values of 0 or 2. MaxLength Integer Sets the maximum number of characters a signer can enter in the tag. This is only active if CustomTabType is set to Text, Date, Number, SSN, ZIP5, ZIP5DASH4, or Email Anchor Tab Name Schema Type Description AnchorTabString string Specifies string used as anchor tab in the document. XOffset double This specifies tab location as XOffset position from the anchor tab. YOffset double This specifies tab location as YOffset position from the anchor tab. Unit UnitTypeCode Specifies units of the offset. Unit could be Pixels, Mms, Cms or Inches. IgnoreIfNotPresent Boolean Ignore this tab if anchor is not found in the document. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 58. DocuSign API Developer Guide 58 Notification Name Schema Type Description UseAccountDefaults Boolean Indicates whether the Account defaults for notifications should be used on this envelope. Reminders Reminders ReminderEnabled: Boolean: Whether or not a reminder email will be sent. ReminderDelay: Integer: Number of days AFTER a person receives an envelope, that they will start receiving reminder emails. ReminderFrequency: Integer: Number of days to wait between reminder emails. Expirations Expirations ExpireEnabled: Boolean: Whether or not this envelope is set to expire. ExpireAfter: Integer: Number of days envelope will be active. ExpireWarn: Integer: Number of days before envelope expiration, that a warning email will be sent. If set to 0 (zero), no warning is sent. EnvelopeNotification Note that there is no configuration in the Member or Administrator tools for this feature. It is driven completely from the API and used in CreateEnvelope, CreateAndSendEnvelope, CreateFromTemplate, and CreateAndSendFromTemplate. Name Schema Type Description URL URL URL to the client-supplied listener page that consumes the status events. The listener page receives the envelope status XML messages from DocuSign. An example URL is: http://<serverName>/<path>/Listener.aspx 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 59. DocuSign API Developer Guide 59 Name Schema Type Description LoggingEnabled Boolean If true, the status events are recorded in a log on the DocuSign site for debugging purposes. Note that only the 10 latest messages are kept. EnvelopeEvents EnvelopeEvents An array that consists of: EnvelopeStatusCode: The status code on which to receive event modifications. Values are Sent, Delivered, Completed, Declined, and Voided. IncludeDocuments: Boolean: When set to true, the documents are delivered to the URL as part of the EnvelopeStatus XML. EnvelopeStatus EnvelopeStatus is the response element for CreateEnvelope and CreateAndSendEnvelope. See EnvelopeStatus in the Status and Managing Group for more information about this response. Rules for CreateAndSendEnvelope and CreateEnvelope API user specific rules • The length of AccountId, document Name should not exceed 100 characters. Document password length should not exceed 50 characters. • UserName, Email and access code of the recipient should not exceed 100 characters. • SignatureName in SignatureInfo element should at least have one character. SignatureInitial should have a minimum 1 character and maximum 10 characters. • Font styles supported for recipient signature are RageItalic, Mistral, BradleyHandITC, KaufmannBT, Freehand575 and LuciaBT. • Allowed length for State attribute in address information element will be 2 characters. For Zip it will be 5 characters and for ZipPlus4 it will be 4 characters. • Allowed length for SSN4 will be 4 characters and for SSN9 it will be 9 characters. • The length of Label and Type for attachment element should not exceed 100 characters. • CaptiveInfo element is used to specify if the recipient is embedded. A non-null ClientUserId implies that the recipient is embedded. Rules for determining the brandId used in an envelope: • If a brandId is specified in the envelope/template and that brandId is available to the account, that brand is used in the envelope. • If more than one template is used in an envelope and more than one brandId is specified, the first brandId specified is used throughout the envelope. • In cases where no brand is specified and the sender belongs to a Group; if there is only one brand associated with the Group, then that brand is used in the envelope. Otherwise, the account’s default signing brand is used. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 60. DocuSign API Developer Guide 60 • For envelopes that do not meet any of the previous rules, the account's default signing brand is used in the envelope. Rules for Exceptions thrown by the API • AccountId specified while creating an envelope should exist else an exception with error message “Account_Does_Not_Exist_In_System” is thrown. • DocumentID specified in the tab element should refer to a document in the envelope else exception with error message “Tab_Refers_To_Missing_Document” is thrown. • RecipientID specified in the tab element should refer to an existing recipients ID attribute. Else exception is thrown with error message “Tab_Refers_To_Missing_Recipient”. • Tab is affixed to a specific page number of the document. So the document specified by DocumentID in the Tab element should have page number specified by PageNumber. Else exception “Tab_Pagenumber_Is_Not_In_Document” is thrown. • The document element in the CreateEnvelope and CreateAndSendEnvelope should contain the encoded document. Else exception “No_Document_Received” is thrown. • The Email specified in the recipient element should exist else an exception is thrown with error message “Invalid_Email_Address_For_Recipient”. • Recipient specified by UserName and Email pair in the recipient element must exist. Else exception with error message “Unknown_Envelope_Recipient” is thrown. • If a signer recipient has any tabs available to them in the envelope they will be required to have at least one signable tab in at least one of the documents. Else exception with error message “Signer_Recipient_Has_No_Signable_Tabs” is thrown. If the signer recipient has no tabs available they will be considered a freeform signer and be required to place the tabs themselves. • Access code is used to validate recipient identity. User has to enter the access code specified in the recipient element in the CreateEnvelope/CreateAndSendEnvelope to prove his/her identity. Recipient will need to validate his/her identity even if access code is not specified in the recipient element if RequireIDLookup attribute is set to true. But in this case the identity is verified not by entering access code, but by answering a questionnaire correctly. If the user fails to validate his/her identity then an exception is thrown with error message “Recipient_Has_Failed_Security_Check”. • All recipients in an envelope should have a valid routing order else an exception with error message “Recipient_Has_Invalid_RoutingOrder” is thrown. • There is a provision for creating custom tab. But in case of custom tab both the attributes Name and TabLabel should be specified. If only one of the attribute is specified in the Tab element then an exception “CustomTab_Is_Incomplete” is thrown. • Account should have API permission to utilize CreateEnvelope and CreateAndSendEnvelope methods. Account needs to have “InSession permission” to send envelopes to InSession recipients. Else an exception with error message “Account_Lacks_Permissions” is thrown. • AccountID mentioned should not be suspended by DocuSign Administrator; else exception will be thrown with message “Account_Has_Been_Suspended”. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 61. DocuSign API Developer Guide 61 • If the recipient Email specified in CreateAndSendEnvelope/CreateEnvelope is already reserved by another then processor throws an exception with error message “Email_Is_Reserved”. • In CreateEnvelope and CreateAndSend Envelope, the account Id is validated for pricing plan, if the account does not have a pricing plan then “Account_Lacks_Pricing_Plan” exception is thrown • InSession carbon copy recipients cannot be specified in CreateAndSendEnvelope. If the recipient Type is CC then ClientUserID has to be null else exception “Captive_Carbon_Copy_Recipient_Not_Supported” will be thrown. • When angle brackets are detected in the packet submitted to one of the CreateEnvelope APIs an exception will be thrown with message “Invalid_characters_detected.” Sample Code CreateEnvelope – C# // Create the recipient DocuSignWeb.Recipient recipient = new DocuSignWeb.Recipient(); recipient.Email = "Test email"; recipient.UserName = "Testing account"; recipient.Type = DocuSignWeb.RecipientTypeCode.Signer; recipient.ID = "1"; recipient.RoutingOrder = 1; // Create the envelope content DocuSignWeb.Envelope envelope = new DocuSignWeb.Envelope(); envelope.Subject = "Subject"; envelope.EmailBlurb = "Email content"; envelope.Recipients = new DocuSignWeb.Recipient[] { recipient }; envelope.AccountId = accountId; // Attach the document(s) envelope.Documents = new DocuSignWeb.Document[1]; DocuSignWeb.Document doc = new DocuSignWeb.Document(); doc.ID = "1"; doc.Name = "Document Name"; doc.PDFBytes = [Location of Document]; envelope.Documents[0] = doc; // Create a new signature tab DocuSignWeb.Tab tab = new DocuSignWeb.Tab(); tab.DocumentID = "1"; tab.RecipientID = "1"; tab.Type = DocuSignWeb.TabTypeCode.SignHere; tab.PageNumber = "1"; tab.XPosition = "100"; tab.YPosition = "100"; envelope.Tabs = new DocuSignWeb.Tab[1]; envelope.Tabs[0] = tab; // Create the envelope on the account -- it will be a draft DocuSignWeb.EnvelopeStatus status = _apiClient.CreateEnvelope(envelope); // An envelope ID indicates that it succeeded Console.WriteLine("Envelope Id is {0}", status.EnvelopeID); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 62. DocuSign API Developer Guide 62 CreateEnvelope - PHP // Create the recipient $rcp1 = new Recipient();// First recipient to put in recipient array $rcp1->UserName = "John Doe"; $rcp1->Email = $Recipient1Email; $rcp1->Type = RecipientTypeCode::Signer; $rcp1->ID = "1"; $rcp1->RoutingOrder = 1; $rcp1->RequireIDLookup = FALSE; // Create the envelope contents $env = new Envelope(); $env->AccountId = $accountID; // Note: GUID should be used here rather than email $env->Subject = "Subject"; $env->EmailBlurb = "testing docusign creation services"; $env->Recipients = array($rcp1); // Attach the document $doc = new Document(); $doc->ID = "1"; $doc->Name = "Picture PDF"; $doc->PDFBytes = file_get_contents("docs/picturePdf.pdf"); $env->Documents = array($doc); // Create a new signature tab $tab = new Tab(); $tab->DocumentID = "1"; $tab->RecipientID = "1"; $tab->Type = TabTypeCode::SignHere; $tab->PageNumber = "1"; $tab->XPosition = "100"; $tab->YPosition = "100"; $env->Tabs = array($tab); // Create a draft envelope on the account $createEnvelopeparams = new CreateEnvelope(); $createEnvelopeparams->Envelope = $env; $response = $api->CreateEnvelope($createEnvelopeparams); CreateAndSendEnvelope – C# // Create the recipient DocuSignWeb.Recipient recipient = new DocuSignWeb.Recipient(); recipient.Email = "Test email"; recipient.UserName = "Testing account"; recipient.Type = DocuSignWeb.RecipientTypeCode.Signer; recipient.ID = "1"; recipient.RoutingOrder = 1; // Create the envelope content DocuSignWeb.Envelope envelope = new DocuSignWeb.Envelope(); envelope.Subject = "Subject"; envelope.EmailBlurb = "Email content"; envelope.Recipients = new DocuSignWeb.Recipient[] { recipient }; envelope.AccountId = accountId; // Attach the document(s) envelope.Documents = new DocuSignWeb.Document[1]; DocuSignWeb.Document doc = new DocuSignWeb.Document(); doc.ID = "1"; doc.Name = "Document Name"; doc.PDFBytes = [Location of Document]; envelope.Documents[0] = doc; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 63. DocuSign API Developer Guide 63 // Create a new signature tab DocuSignWeb.Tab tab = new DocuSignWeb.Tab(); tab.DocumentID = "1"; tab.RecipientID = "1"; tab.Type = DocuSignWeb.TabTypeCode.SignHere; tab.PageNumber = "1"; tab.XPosition = "100"; tab.YPosition = "100"; envelope.Tabs = new DocuSignWeb.Tab[1]; envelope.Tabs[0] = tab; // Create and send the envelope DocuSignWeb.EnvelopeStatus status = _apiClient.CreateAndSendEnvelope(envelope); // Examine the return status Console.WriteLine("Envelope status is {0}", status.Status); CreateAndSendEnvelope – PHP // Create the recipient $rcp1 = new Recipient();// First recipient to put in recipient array $rcp1->UserName = "John Doe"; $rcp1->Email = $Recipient1Email; $rcp1->Type = RecipientTypeCode::Signer; $rcp1->ID = "1"; $rcp1->RoutingOrder = 1; $rcp1->RequireIDLookup = FALSE; // Create the envelope contents $env = new Envelope(); $env->AccountId = $accountID; // Note: GUID should be used here rather than email $env->Subject = "Subject"; $env->EmailBlurb = "testing docusign creation services"; $env->Recipients = array($rcp1); // Attach the document $doc = new Document(); $doc->ID = "1"; $doc->Name = "Picture PDF"; $doc->PDFBytes = file_get_contents("docs/picturePdf.pdf"); $env->Documents = array($doc); // Create a new signature tab $tab = new Tab(); $tab->DocumentID = "1"; $tab->RecipientID = "1"; $tab->Type = TabTypeCode::SignHere; $tab->PageNumber = "1"; $tab->XPosition = "100"; $tab->YPosition = "100"; $env->Tabs = array($tab); // Create and send the envelope $createAndSendEnvelopeparams = new CreateEnvelope(); $createAndSendEnvelopeparams->Envelope = $env; $response = $api->CreateAndSendEnvelope($createAndSendEnvelopeparams); CreateEnvelopeFromTemplates CreateEnvelopeFromTemplates uses templates as the basis for the definition of a signing ceremony. In contrast to the CreateAndSendEnvelope method, where the relationship of Tabs-to-Documents and 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 64. DocuSign API Developer Guide 64 Tabs-to-Recipients is passed in the request, CreateEnvelopeFromTemplates derives its Tab assignments from the pre-configured Template; and provides Recipient information to fulfill the Roles that are specified in the Template. When provided one or more templates, along with their supplemental Document, Recipient and Envelope information, DocuSign will merge the various Template references into a single Envelope and send to the Recipients. Schema Name Schema Type Description TemplateReferences TemplateReference Specifies the Templates that are included in this call. See the TemplateReference section below for more information. Recipients Recipient Defines the Recipients that are included in this Envelope. These will be referenced from the RoleAssignment elements that are in each TemplateReference. The structure of a Recipient in the CreateEnvelopeFromTemplates method is similar to Recipients in other methods of the DocuSign Connect API. However, since these properties may also be specified in Templates that are referenced in the request, override rules are in place to determine the order of precedence of values that are specified in multiple places for like fields. For more information on the override rules of Recipient data over the roles specifications in the Template(s), see the override rules below. For Recipient definition refer to the Recipient section earlier in this document. EnvelopeInformation EnvelopeInformation The structure and usage of these Envelope- level concepts are similar with their counterparts in other methods of the API. However, since these properties may also be specified in Templates that are referenced in the request, override rules are in place to determine the order of precedence of values that are specified in multiple places for like fields. For more information on the override rules see the EnvelopeInformation section below. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 65. DocuSign API Developer Guide 65 Name Schema Type Description ActivateEnvelope Boolean Indicates whether the Envelope should be sent immediately or created as a Draft Envelope. Defaults to “True”, where the Envelope will be sent. TemplateReference TemplateReferences contains an unbounded array of TemplateReference objects, each a self- contained structure used to satisfy the business rules of a given template, which will be merged into the parent Envelope. Schema Name Schema Type Description TemplateLocation TemplateLocation Enumerated list of options that describe where the Template information resides. Available options include: SOAP (default), PDFMetaData and Server. Template String This element will contain different values, depending on the value of TemplateLocation: “SOAP”: Template will include the Template XML in the format created by DocuSign Professional “PDFMetaData”: Template can be left blank. It will be disregarded if provided. In this scenario, the Template xml is contained within the xml portion of the PDF document. In either case, the Document pdfBytes can be removed from the Template xml to optimize the payload size. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 66. DocuSign API Developer Guide 66 Name Schema Type Description Document Document Refer to Document earlier in this document for details. RoleAssignments RoleAssignment Specifies the RoleAssignments that are included in this call. RoleName – LongString - The name of the Role in the Template to which this Recipient information will be assigned RecipientID – positiveInteger - The Recipient identifier from the Recipients object that will fulfill this Role. FieldData FieldData Provides the rules and/or data values that are used with the Template fields. See the FieldData section below for more information. AdditionalTabs Tab Specifies any Tabs that should be added to a Document. AdditionalTabs enable the request to apply additional Tabs that are not configured in the Template. This would allow for run-time information to be specified as well as the template definitions that are specified at design-time. This could be used with an “open” Template that lacks pre-considered configuration in order to include ad hoc documents to the Envelope. Refer to Tab earlier in this document for details. Sequence NonNegativeInteger Specifies the order that the Document(s) included in the Template should be presented in the Envelope. If not provided, the Documents will be presented in the order of the TemplateReferences. TemplateAttachments Attachment A mechanism to provide the Document object through a SOAP attachment. EnvelopeInformation The structure and usage of these Envelope-level concepts are similar with their counterparts in other methods. However, since these properties may also be specified in Templates that are referenced in the request, override rules are in place to determine the order of precedence of values that are specified in multiple places for like fields. Refer to the rules section below for additional information. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 67. DocuSign API Developer Guide 67 Schema All fields in the EnvelopeInformation schema, except for AllowRecipientRecursion, are defined in the Envelope section earlier in this document. The definition of AllowRecipientRecursion follows. Name Schema Type Description AllowRecipientRecursion Boolean When set to true, this enables the Recursive Recipients feature and allows a recipient to appear more than once in the routing order. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 68. DocuSign API Developer Guide 68 FieldData FieldData provides information regarding the field data that will be correlated to the fields of the Template. Name Schema Type Description DataValues DataValue Provides explicit TabLabel/Value pairs that should be used for the field values in the Envelope. This value will take precedence over a similarly named PDF field if both are provided. Rules for CreateEnvelopeFromTemplates CreateEnvelopeFromTemplates refers to Templates to establish many of the properties of an Envelope. However, the CreateEnvelopeFromTemplates schema also overlaps the Template capabilities, so it is necessary to establish rules of usage and precedence to address incidents of data collision between the values in the SOAP request and the Template(s); or between the Template(s) themselves, since they are logically unrelated to each other. The table below describes the data override rules of the CreateEnvelopeFromTemplates schema. Section Element Description Recipient ID RecipientID is an identifier that is used to correlate the Recipient instance to the RoleAssignment. Recipient UserName If allowable per the Template specification(s), this value will override the corresponding field for any role that this Recipient is assigned to. Recipient Email If allowable per the Template specification(s), this value will override the corresponding field for any role that this Recipient is assigned to. Recipient Type This value cannot override the value specified in the Template(s) for any role that this Recipient is assigned to. Recipient AccessCode If allowable per the Template specification(s), this value will override the corresponding field for any role that this Recipient is assigned to. If conflicting, non-null values are provided in multiple roles to which this Recipient is assigned, an override value must be provided in this structure. Recipient RequireIDLookup If allowable per the Template specifications, this value will override the corresponding field for any role that this Recipient is assigned to. If conflicting values are provided in multiple roles to which this Recipient is assigned, the value will resolve to True if it is not specified in this structure. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 69. DocuSign API Developer Guide 69 Section Element Description Recipient IDCheckConfigurationName If allowable per the Template specification(s), this value will override the corresponding field for any role that this Recipient is assigned to. If conflicting, non-null values are provided in multiple roles to which this Recipient is assigned, an override value must be provided in this structure. Recipient SignatureInfo If allowable per the Template specification(s), .SignatureName these values will override the corresponding fields for any role that this Recipient is .SignatureInitials assigned to. .FontStyle If conflicting, non-null values are provided in multiple roles to which this Recipient is assigned, override values must be provided in this structures. Recipient CaptiveInfo If allowable per the Template specification(s), ClientUserId this value will override the corresponding field for any role that this Recipient is assigned to. If conflicting, non-null values are provided in multiple roles to which this Recipient is assigned, an override value must be provided in this structure. Recipient CustomFields If allowable per the Template specification(s), this value will override a CustomField of the same name for any role that this Recipient is assigned to. If conflicting, non-null values are provided for the same CustomField name in multiple roles to which this Recipient is assigned, an override value must be provided in this structure. Recipient RoutingOrder If allowable per the Template specification(s), this value will override the corresponding field for any role that this Recipient is assigned to. If conflicting, non-zero values are provided in multiple roles to which this Recipient is assigned, an override value must be provided in this structure. Recipient IDCheckInformation This information cannot be pre-specified in a Input template, so the data must be provided in this structure. Recipient AutoNavigation If allowable per the Template specifications, this value will override the corresponding field for any role that this Recipient is assigned to. If conflicting values are provided in multiple roles to which this Recipient is assigned, the value will resolve to True if it is not specified in this structure. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 70. DocuSign API Developer Guide 70 Section Element Description Recipient Attachments If allowable per the Template specification(s), this value will override an attachment of the same name for any role that this Recipient is assigned to. If values are provided for the same Attachment name in multiple roles to which this Recipient is assigned, an override value must be provided in this structure. Recipient Note If allowable per the Template specification(s), this value will override the corresponding field for any role that this Recipient is assigned to. If conflicting, non-null values are provided in multiple roles to which this Recipient is assigned, an override value must be provided in this structure. EnvelopeInformation EmailBlurb If allowable per the Template specification(s), this value will override the corresponding field if provided in a referenced Template. If conflicting, non-null values are provided in multiple referenced Templates, an override value must be provided in this structure. EnvelopeInformation Subject If allowable per the Template specification(s), this value will override the corresponding field if provided in a referenced Template. If conflicting, non-null values are provided in multiple referenced Templates, an override value must be provided in this structure. EnvelopeInformation SigningLocation If allowable per the Template specification(s), this value will override the corresponding field if provided in a referenced Template. If conflicting, non-null values are provided in multiple referenced Templates, an override value must be provided in this structure. EnvelopeInformation CustomFields If allowable per the Template specification(s), this value will override a CustomField of the same name if provided in a referenced Template. If conflicting, non-null values are provided in multiple referenced Templates for the same CustomField name, an override value must be provided in this structure. EnvelopeInformation VaultingOptions If allowable per the Template specification(s), this value will override the corresponding field if provided in a referenced Template. If conflicting, non-null values are provided in multiple referenced Templates, an override value must be provided in this structure. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 71. DocuSign API Developer Guide 71 Section Element Description EnvelopeInformation AutoNavigation If allowable per the Template specification(s), this value will override the corresponding field if provided in a referenced Template. If conflicting, non-null values are provided in multiple referenced Templates, the value will resolve to True if it is not specified in this structure. EnvelopeInformation EnvelopeIdStamping If allowable per the Template specification(s), this value will override the corresponding field if provided in a referenced Template. If conflicting, non-null values are provided in multiple referenced Templates, the value will resolve to True if it is not specified in this structure. EnvelopeInformation AuthoritativeCopy If allowable per the Template specification(s), this value will override the corresponding field if provided in a referenced Template. If conflicting, non-null values are provided in multiple referenced Templates, the value will resolve to True if it is not specified in this structure. Template Execution Rules The rules below are enforced when sending an Envelope based on a Template specification. • If a Template role is specified as Optional, remove the signing instructions associated with the role, including all Tabs, if the role is not assigned in the CreateEnvelopeFromTemplates request. • If any of the data override rules are violated (indicated by “must” statements in the Data Override descriptions), an exception is returned that describes the violation. Rules for Mapping Data from PDF Forms Data will be mapped from the incoming PDF form based on a direct correlation between the field name of the Form and the TabLabel of the DocuSign Tab. Fields will only be mapped if TransformPDFFields is set to true in the document node. Note: DocuSign will not transform PDF form fields that have the text "DocuSignIgnoreTransform" or "eSignIgnoreTransform" as part of the name of the PDF form field. Mapping must be supported for static XFA-based PDF forms and AcroForms. The order of preference for establishing the form type is: 1. Derived on DocuSign server (transparent to client) 2. Pre-configured in a DocuSign structure (i.e. design-time configuration in a template) 3. Passed in via API request. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 72. DocuSign API Developer Guide 72 Rule # Description 1 When a PDF form is submitted, the DocuSign mapping component will interrogate the form for any fields and apply the data from those fields to DocuSign Form Fields of the same name. 2 Fields from XFA-based PDF forms will be evaluated by their fully-qualified field name (ex: “form/customer/address/line1[0]”) 3 The DocuSign component will map any fields that match (per the requirement above). Any fields that do not have a matching field (i.e. field exists in form but not in Envelope; or field exists in Envelope but not in form) will be disregarded by the mapping component. 4 DocuSign form fields are limited in scope to the document that they pertain to. 5 Edit rules for the fields must be pre-configured for the DocuSign fields (ex: editable vs. locked, required vs. optional, edit masks). Edit rules will not be derived by the DocuSign mapping component. 6 The following field types are supported for data mapping: text boxes, check boxes, radio buttons, drop-down lists, text areas. Regarding drop-down lists and radio buttons, the data mapping is for the selected value only. The list of available values must be pre-configured in the DocuSign fields. Error Rules All errors from CreateAndSendEnvelope and CreateEnvelope apply in addition to the following: • Template_Cannot_Add_Document – error thrown if the template location is set to PDFMetaData and the PDF bytes within the Document node of the template reference are invalid. • Template_Not_Provided – error thrown if the template XML cannot be found in the PDFMetaData or TemplateReference Template node. • Template_Unable_To_Load – error thrown if the template provided cannot be loaded. • Template_Cannot_Add_Document – error thrown if the template and document cannot be loaded. • Template_Unable_To_Load_FieldData – error thrown if the PDF form data exists in the PDF and it cannot be extracted. • Template_Unable_To_Process_FieldData – error thrown if the PDF form data exists and it cannot be mapped properly to the recipients DocuSign Tab data. • Template_Unable_To_Flatten_PDF – error thrown if the PDF form data exists and it cannot be flattened. • Template_RoleSpecified_Does_Not_Exist – error thrown if a recipient is mapped to a role that does not exist in the template. • Template_RecipientID_For_Role_NotFound – error thrown if a recipient ID is mapped to a role and the recipient ID does not exist in the template. • Template_Required_Recip_Not_Satisfied – error thrown if there is a required recipient in the template and no recipient/role mapping satisfied the recipient. • Template_To_Envelope_Error – error thrown if the template provided cannot be transformed to a DocuSign envelope. • Template_Override_EnvelopeInformation_Error – error thrown if any items in the EnvelopeInformation data cannot be applied to the envelope. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 73. DocuSign API Developer Guide 73 • Template_AdditionalTabs_Error – error thrown if an items in the AdditionalTabs data cannot be applied to the envelope. • Template_Override_RecipientData_Error – error thrown if an items in the Recipient data that should override the template data cannot be applied to the envelope. Sample Code CreateEnvelopeFromTemplates– C# // Create the recipient information DocuSignWeb.Recipient recipient = new DocuSignWeb.Recipient(); recipient.Email = "Test email"; recipient.UserName = "Testing account"; recipient.Type = DocuSignWeb.RecipientTypeCode.Signer; recipient.ID = "1"; recipient.RoutingOrder = 1; DocuSignWeb.Recipient[] recipients = new DocuSignWeb.Recipient[] { recipient }; // Create the template reference from a server-side template ID DocuSignWeb.TemplateReference templateReference = new DocuSignWeb.TemplateReference(); templateReference.Template = "Template ID"; templateReference.TemplateLocation = DocuSignWeb.TemplateLocationCode.Server; // Construct the envelope information DocuSignWeb.EnvelopeInformation envelopeInfo = new DocuSignWeb.EnvelopeInformation(); envelopeInfo.AccountId = _accountId; envelopeInfo.Subject = "Subject"; envelopeInfo.EmailBlurb = "Email content"; // Create draft with all the template information DocuSignWeb.EnvelopeStatus status = _apiClient.CreateEnvelopeFromTemplates(new DocuSignWeb.TemplateReference[] { templateReference }, recipients, envelopeInfo, false); // Confirm that the envelope has been assigned an ID Console.WriteLine("Status for envelope {0} is {1}", status.EnvelopeID, status.Status); CreateEnvelopeFromTemplates– PHP // Create the recipient $rcp1 = new Recipient();// First recipient to put in recipient array $rcp1->UserName = "John Doe"; $rcp1->Email = $Recipient1Email; $rcp1->Type = RecipientTypeCode::Signer; $rcp1->ID = "1"; $rcp1->RoutingOrder = 1; $rcp1->RequireIDLookup = FALSE; // Use a server-side template $templateRef = new TemplateReference(); $templateRef->TemplateLocation = TemplateLocationCode::Server; // TODO: Replace string with the GUID of a template already uploaded to your account $templateRef->Template = "put in a template GUID here"; // Construct the envelope info $envInfo = new EnvelopeInformation(); $envInfo->AccountId = $AccountID; $envInfo->Subject = "create envelope from templates test"; $envInfo->EmailBlurb = "testing docusign create services"; // Send creates draft with all the template info 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 74. DocuSign API Developer Guide 74 $createEnvelopeFromTemplatesparams = new CreateEnvelopeFromTemplates(); $createEnvelopeFromTemplatesparams->TemplateReferences = array($templateRef); $createEnvelopeFromTemplatesparams->Recipients = array($rcp1) $createEnvelopeFromTemplatesparams->EnvelopeInformation = $envInfo; $createEnvelopeFromTemplatesparams->ActivateEnvelope = false; $response = $api->CreateEnvelopeFromTemplates($createEnvelopeFromTemplatesparams); CreateEnvelopeFromTemplatesAndForms This method is used to create envelopes from a combination of a PDF form and a DocuSign Template. Once all the data from the form is overlaid on the template the envelope is passed to the CreateAndSendEnvelope or CreateEnvelope method. Refer to CreateAndSendEnvelope method for the sending rules that are applied before the envelope can be sent. This method has some similarities to the CreateEnvelopeFromTemplates method, in that both merge documents and templates, with the primary differences to the CreateEnvelopeFromTemplatesAndForms method being: • DocuSign Tabs are extrapolated from the form itself. Instead of having to define the fields on a Template in advance, they can be derived from the form on the fly. • Templates, which are really just partially-defined Envelopes, can be stacked over each other, creating a Composite Template. • Templates do not need to be fully defined. For example, a template can be created to define only those items that cannot be derived from the form itself. Schema Name Schema Type Description EnvelopeInformation EnvelopeInformation The envelope information structure defining envelope level attributes to be used. This data will override any data that is supplied in the templates. This information is unchanged from the current schema. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 75. DocuSign API Developer Guide 75 Name Schema Type Description CompositeTemplates CompositeTemplate Each CompositeTemplate adds a new document and template overlays into the envelope. There can be any number of CompositeTemplate structures. Each CompositeTemplate consists of: ServerTemplates - 0 or more server-side templates and their position in the overlay. If supplied they are overlaid into the envelope in the order of their Sequence value. InlineTemplates - 0 or more inline templates and their position in the overlay. If supplied they are overlaid into the envelope in the order of their Sequence value. PDFMetaDataTemplate – 0 or 1 embedded template in the PDF meta data. If supplied the PDF meta data template will be overlaid into the envelope in the order of their Sequence value. Document - 0 or 1 document. The document is used to specify a different document than the ones in the overlay templates. The PDF fields from this document will be transformed to DocuSign Secure Fields if the TransformPdfFields option is set to true. Note: DocuSign will not transform PDF form fields that have the text "DocuSignIgnoreTransform" or "eSignIgnoreTransform" as part of the name of the PDF form field. If PDFMetaDataTemplate is supplied this is the document the template is extracted from. This information is unchanged from the current schema. For rules associated with the CompositeTemplate see the following section. ActivateEnvelope Boolean Indicates whether the envelope should be sent immediately after being created or if it is created as a Draft Envelope. When set to “True” the envelope will be sent after being created. Rules for Composite Template Usage Each CompositeTemplate adds a new document and templates overlay into the envelope. For each CompositeTemplate these rules are applied: • Templates are overlaid in the order of their Sequence value. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 76. DocuSign API Developer Guide 76 • If Document is not passed into the system, the first template’s document (based on template’s Sequence value) is used. • Last in wins in all cases except for the document (i.e. envelope information, recipient information, secure field information). This was done to keep things simple. There is no special casing. For example, if you want higher security on a tab, then that needs to be specified in the last template in which the tab is included. If you want higher security on a role recipient it needs to be in the last template in which that role recipient is specified. • Recipient matching is based on Recipient Role and Routing Order. If there are matches, the recipient information is merged together. A final pass is done on all CompositeTemplates, after all template overlays have been applied, to collapse recipients with the same email, username and routing order. This prevents having the same recipients at the same routing order. • If you specify in a template that a recipient is locked, once that recipient is overlaid the recipient attributes can no longer be changed. The only items that can be changed for the recipient in this case are the email, username, access code and IDCheckInformationInput.. • Tab matching is based on Tab Labels, Tab Types and Documents. If a Tab Label matches but the Document is not supplied, the Tab is overlaid for all the Documents. For example, if you have a simple inline template with only one tab in it with a label and a value, the Signature, Initial, Company, Envelope ID, UserName tabs will only be matched and collapsed if they fall in the exact same X and Y locations. • RoleName and TabLabel matching is case sensitive. • A DefaultRecipient node has been introduced so that you can specify which recipient the generated tabs from the PDF form are mapped to. You can also set PDF form generated tabs to a recipient other than the DefaultRecipient by specifying the mapping of the tab label that is created to one of the template recipients (see the following example). You can also use tab label wild carding to map a series of tabs from the PDF form. To use this you must end a tab label with “*” and then the system matches tabs that start with the label (see the following example). • If no DefaultRecipient is specified, tabs must be explicitly mapped to recipients in order to be generated from the form. Unmapped form objects will not be generated into their DocuSign equivalents. (In the case of Signature/Initials, the tabs will be disregarded entirely; in the case of pdf text fields, the field data will be flattened on the Envelope document, but there will not be a corresponding DocuSign data tab.) • Only the FieldTypes and FieldProperties listed below are extrapolated from the forms: FieldTypes that are extrapolated are: CheckBox, DateTime, ListBox, Numeric, Radio, Text, Signature, and Password. Note: When extrapolating Adobe Digital Signatures, the following Adobe names correspond to DocuSign names: Adobe name contains DocuSignSignHere or eSignSignHere = DocuSign Signature Adobe name contains DocuSignSignHereOptional or eSignSignHereOptional = DocuSign Optional Signature 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 77. DocuSign API Developer Guide 77 Adobe name contains DocuSignInitialHere or eSignInitialHere = DocuSign Initials Adobe name contains DocuSignInitialHereOptional or eSignInitialHereOptional = DocuSign Optional Initials Any other Adobe name will default to DocuSign Signature. When extrapolating Adobe text fields, the following Adobe names correspond to DocuSign names: Adobe name contains DocuSignSignHere or eSignSignHere = DocuSign Signature Adobe name contains DocuSignSignHereOptional or eSignSignHereOptional = DocuSign Optional Signature Adobe name contains DocuSignInitialHere or eSignInitialHere = DocuSign Initials Adobe name contains DocuSignInitialHereOptional or eSignInitialHereOptional = DocuSign Optional Initials Adobe name contains DocuSignEnvelopeID or eSignEnvelopeID = DocuSign EnvelopeID Adobe name contains DocuSignCompany or eSignCompany = DocuSign Company *Adobe name contains DocuSignDateSigned or eSignDateSigned = DocuSign DateSigned Adobe name contains DocuSignTitleor eSignTitle = DocuSign Title Adobe name contains DocuSignFullNameor eSignFullName = DocuSign FullName Any other name will default to a DocuSign data (text) field Note: DocuSign will not transform PDF form fields that have the text "DocuSignIgnoreTransform" or "eSignIgnoreTransform" as part of the name of the PDF form field. * Adobe date fields can be transformed to DocuSignDateSigned fields using the same naming scheme. FieldProperties that are extrapolated are: ReadOnly, Required, MaxLength, Positions, and Initial Data. Example: This example XML posted to our API would create an envelope draft where: • The document included is the document used. The form fields are extracted from the document and turned into secure fields. • The server template is applied first. • The 2 inline templates are applied 2nd and 3rd. In the first inline template, the tabs fld1 and fld2* are matched against the tabs and the form fields that were converted and their values are placed into the matching tabs. The tab fld2* finds all tabs that have a label that starts with fld2. • The PDF metadata template is applied 4th. <CreateEnvelopeFromTemplatesAndForms xmlns="http://www.docusign.net/API/3.0"> <EnvelopeInformation> <TransactionID></TransactionID> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 78. DocuSign API Developer Guide 78 <Asynchronous>false</Asynchronous> <AccountId>ACCOUNT ID</AccountId> <EmailBlurb>Test CreateEnvelopeFromTemplatesAndForms</EmailBlurb> <Subject>Test CreateEnvelopeFromTemplatesAndForms</Subject> <SigningLocation>Online</SigningLocation> <CustomFields> <CustomField> <Name>FromEnvelope</Name> <Show>true</Show> <Required>false</Required> <Value>FromEnvelope</Value> <CustomFieldType>Text</CustomFieldType> </CustomField> </CustomFields> <AutoNavigation>true</AutoNavigation> <EnvelopeIdStamping>true</EnvelopeIdStamping> <AuthoritativeCopy>false</AuthoritativeCopy> <EnforceSignerVisibility>false</EnforceSignerVisibility> <EnableWetSign>false</EnableWetSign> <AllowRecipientRecursion>true</AllowRecipientRecursion> <AllowMarkup>false</AllowMarkup> </EnvelopeInformation> <CompositeTemplates> <CompositeTemplate> <ServerTemplates> <ServerTemplate> <Sequence>1</Sequence> <TemplateID>TEMPLATE ID</TemplateID> </ServerTemplate> </ServerTemplates> <InlineTemplates> <InlineTemplate> <Sequence>2</Sequence> <Envelope> <Recipients> <Recipient> <ID>1</ID> <UserName>User Name 1</UserName> <Email>user.name_1@myemail.com </Email> <Type>Signer</Type> <AccessCode /> <RequireIDLookup>false</RequireIDLookup> <RoutingOrder>1</RoutingOrder> <Note /> <RoleName>SignerOne</RoleName> <DefaultRecipient>true</DefaultRecipient> </Recipient> <Recipient> <ID>2</ID> <UserName>User Name 2</UserName> <Email>user.name_2@myemail.com</Email> <Type>Signer</Type> <AccessCode /> <RequireIDLookup>false</RequireIDLookup> <RoutingOrder>2</RoutingOrder> <Note /> <RoleName>SignerTwo</RoleName> </Recipient> <Recipient> <ID>3</ID> <UserName>User Name 3</UserName> <Email>user.name_3@myemail.com</Email> <Type>Signer</Type> <AccessCode /> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 79. DocuSign API Developer Guide 79 <RequireIDLookup>false</RequireIDLookup> <RoutingOrder>1</RoutingOrder> <Note /> <RoleName>SignerThree</RoleName> </Recipient> <Recipient> <ID>4</ID> <UserName>User Name 4</UserName> <Email>user.name_4@myemail.com </Email> <Type>Signer</Type> <AccessCode /> <RequireIDLookup>false</RequireIDLookup> <RoutingOrder>2</RoutingOrder> <Note /> <RoleName>SignerOne</RoleName> </Recipient> </Recipients> <Tabs> <Tab> <DocumentID>1</DocumentID> <RecipientID>1</RecipientID> <PageNumber>1</PageNumber> <XPosition>12</XPosition> <YPosition>10</YPosition> <ScaleValue>1.00000</ScaleValue> <Type>SignHere</Type> <Name>SignHere</Name> <TabLabel>Sign Here 1</TabLabel> <Value /> <CustomTabHeight>0</CustomTabHeight> <CustomTabRequired>false</CustomTabRequired> <CustomTabLocked>false</CustomTabLocked> <CustomTabDisableAutoSize>false</CustomTabDisableAutoSize> <TemplateLocked>false</TemplateLocked> <TemplateRequired>false</TemplateRequired> </Tab> <Tab> <RecipientID>2</RecipientID> <TabLabel>fld1</TabLabel> <Value>From Inline Template</Value> <Type>Custom</Type> </Tab> <Tab> <RecipientID>2</RecipientID> <TabLabel>fld2*</TabLabel> <Value>Wild card from Inline Template</Value> <Type>Custom</Type> </Tab> </Tabs> <Subject>Sample Form</Subject> <EmailBlurb /> <SigningLocation>Online</SigningLocation> <CustomFields> <CustomField> <Name>Custom Field</Name> <Show>True</Show> <Required>True</Required> <Value /> </CustomField> <CustomField> <Name>Custom Field List</Name> <Show>True</Show> <Required>True</Required> <Value /> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 80. DocuSign API Developer Guide 80 <CustomFieldType>List</CustomFieldType> <ListItems>One; Two; Three</ListItems> </CustomField> </CustomFields> <AutoNavigation>false</AutoNavigation> <EnvelopeIdStamping>false</EnvelopeIdStamping> <AuthoritativeCopy>false</AuthoritativeCopy> <Notification> <Reminders> <ReminderEnabled>false</ReminderEnabled> <ReminderDelay>0</ReminderDelay> <ReminderFrequency>0</ReminderFrequency> </Reminders> <Expirations> <ExpireEnabled>true</ExpireEnabled> <ExpireAfter>120</ExpireAfter> <ExpireWarn>0</ExpireWarn> </Expirations> </Notification> <EnableWetSign>true</EnableWetSign> </Envelope> </InlineTemplate> <InlineTemplate> <Sequence>3</Sequence> <Envelope> <Recipients> <Recipient> <ID>1</ID> <UserName>User Name 1</UserName> <Email>user.name_1@email.com</Email> <Type>Signer</Type> <AccessCode /> <RequireIDLookup>false</RequireIDLookup> <RoutingOrder>1</RoutingOrder> <Note /> <RoleName>SignerOne</RoleName> <DefaultRecipient>true</DefaultRecipient> </Recipient> </Recipients> <Tabs> <Tab> <DocumentID>1</DocumentID> <RecipientID>1</RecipientID> <PageNumber>2</PageNumber> <XPosition>12</XPosition> <YPosition>10</YPosition> <ScaleValue>1.00000</ScaleValue> <Type>SignHere</Type> <Name>SignHere</Name> <TabLabel>Sign Here 1</TabLabel> <Value /> <CustomTabHeight>0</CustomTabHeight> <CustomTabRequired>false</CustomTabRequired> <CustomTabLocked>false</CustomTabLocked> <CustomTabDisableAutoSize>false</CustomTabDisableAutoSize> <TemplateLocked>false</TemplateLocked> <TemplateRequired>false</TemplateRequired> </Tab> </Tabs> </Envelope> </InlineTemplate> </InlineTemplates> <PDFMetaDataTemplate> <Sequence>4</Sequence> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 81. DocuSign API Developer Guide 81 </PDFMetaDataTemplate> <Document> <ID>1</ID> <Name>Form Document</Name> <PDFBytes>PDF_BYTES_GO_HERE</PDFBytes> <TransformPdfFields>true</TransformPdfFields> <FileExtension>pdf</FileExtension> </Document> </CompositeTemplate> <!-- Add another composite template to the mix <CompositeTemplate> <ServerTemplates> .... <InlineTemplates> ... </InlineTemplates> <PDFMetaDataTemplate> ... </PDFMetaDataTemplate> <Document> ... </Document> </CompositeTemplate> --> </CompositeTemplates> <ActivateEnvelope>false</ActivateEnvelope> </CreateEnvelopeFromTemplatesAndForms> EnvelopeInformation This is the Envelope-level information that overlays the information from the Templates. The structure and usage of these Envelope-level concepts are unchanged from the current schema. Document The document is used to specify a different document than the ones in the overlay templates. This structure and usage of the Document-level concepts are unchanged from the current schema. Recipient The Recipient element is used to specify envelope recipients. This structure and usage of the Recipient-level concepts are similar to the current schema with the addition off the DefaultRecipient element. Name Schema Type Description DefaultRecipient Boolean This specifies which recipient the generated tabs from the PDF from would be mapped to. When set to “True” this recipient is the default recipient and generated tabs are mapped to this recipient. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 82. DocuSign API Developer Guide 82 ServerTemplate Sets the server-side templates that are overlaid in the envelope and the order in which the template is used. Name Schema Type Description Sequence positiveInteger Sets the order in which the template is applied. TemplateID String Unique identifier of the template. InlineTemplate Sets the inline template envelopes that are applied and the order in which it is used. Name Schema Type Description Sequence positiveInteger Sets the order in which the template is applied. Envelope Envelope The inline template envelope information. PDFMetaDataTemplate Sets the PDF embedded templates that are overlaid into the envelope and the order in which it is used. Name Schema Type Description Sequence positiveInteger Sets the order in which the template is applied. The naming convention for PDF Metadata is: • PDF Metadata Prefix = DocuSign • PDF Metadata Schema = Envelope The embedded template needs to be in DocuSign server template format. For more information about using the XMP layer to include MetaData, refer to the Adobe XMP Specification document Adding Intelligence to Media. Sample Code CreateEnvelopeFromTemplatesAndForms – C# // Configure the envelope information DocuSignWeb.EnvelopeInformation envelopeInfo = new DocuSignWeb.EnvelopeInformation(); envelopeInfo.AccountId = _accountId; envelopeInfo.EmailBlurb = "testing docusign creation services"; envelopeInfo.Subject = "create envelope from templates and forms test"; DocuSignWeb.CompositeTemplate template = new DocuSignWeb.CompositeTemplate(); DocuSignWeb.Recipient recipient1 = new DocuSignWeb.Recipient(); recipient1.UserName = "SignerOne"; // TODO: replace the email string with an actual email recipient1.Email = "test email one"; recipient1.Type = DocuSignWeb.RecipientTypeCode.Signer; recipient1.RequireIDLookup = false; recipient1.RequireIDLookupSpecified = true; recipient1.RoutingOrder = 1; recipient1.RoutingOrderSpecified = true; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 83. DocuSign API Developer Guide 83 recipient1.RoleName = "One"; recipient1.ID = "1"; DocuSignWeb.Recipient recipient2 = new DocuSignWeb.Recipient(); recipient2.UserName = "Signer2"; // TODO: replace the email string with an actual email recipient2.Email = "test email two"; recipient2.Type = DocuSignWeb.RecipientTypeCode.Signer; recipient2.RequireIDLookup = false; recipient2.RequireIDLookupSpecified = true; recipient2.RoutingOrder = 2; recipient2.RoutingOrderSpecified = true; recipient2.RoleName = "Two"; recipient2.ID = "2"; DocuSignWeb.Recipient[] signers = { recipient1, recipient2 }; // Configure the inline templates DocuSignWeb.InlineTemplate inlineTemplate = new DocuSignWeb.InlineTemplate(); inlineTemplate.Sequence = "1"; inlineTemplate.Envelope = new DocuSignWeb.Envelope(); inlineTemplate.Envelope.Recipients = signers; inlineTemplate.Envelope.AccountId = _accountId; // This tab matches the DateSigned tab assigned to recipient one DocuSignWeb.Tab tab1 = new DocuSignWeb.Tab(); tab1.RecipientID = "1"; tab1.TabLabel = "DocuSignDateSignedOne"; tab1.Type = DocuSignWeb.TabTypeCode.DateSigned; // This tab matches the SignHere tabs assigned to recipient two DocuSignWeb.Tab tab2 = new DocuSignWeb.Tab(); tab2.RecipientID = "2"; tab2.TabLabel = "SignTwo*"; tab2.Type = DocuSignWeb.TabTypeCode.SignHere; // This tab matches the SignHere tabs assigned to recipient one DocuSignWeb.Tab tab3 = new DocuSignWeb.Tab(); tab3.RecipientID = "1"; tab3.TabLabel = "SignOne*"; tab3.Type = DocuSignWeb.TabTypeCode.SignHere; // This tab matches the DateSigned tab assigned to recipient two DocuSignWeb.Tab tab4 = new DocuSignWeb.Tab(); tab4.RecipientID = "2"; tab4.TabLabel = "DocuSignDateSignedTwo"; tab4.Type = DocuSignWeb.TabTypeCode.DateSigned; // This tab matches nothing -- but that's okay! // It will just get discarded DocuSignWeb.Tab tab5 = new DocuSignWeb.Tab(); tab5.RecipientID = "1"; tab5.TabLabel = "asdf"; tab5.Type = DocuSignWeb.TabTypeCode.FullName; inlineTemplate.Envelope.Tabs = new DocuSignWeb.Tab[] { tab1, tab2, tab3, tab4, tab5 }; template.InlineTemplates = new DocuSignWeb.InlineTemplate[] { inlineTemplate }; // Configure the document template.Document = new DocuSignWeb.Document(); template.Document.ID = "1"; template.Document.Name = "Form Document"; template.Document.PDFBytes = <Test Document>; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 84. DocuSign API Developer Guide 84 template.Document.TransformPdfFields = true; template.Document.FileExtension = "pdf"; // Create draft with all the composite template information DocuSignWeb.EnvelopeStatus status = _apiClient.CreateEnvelopeFromTemplatesAndForms(envelopeInfo, new DocuSignWeb.CompositeTemplate[] { template }, false); CreateEnvelopeFromTemplatesAndForms – PHP // Configure and envelope information $envInfo = new EnvelopeInformation(); $envInfo->AccountId = $AccountID; $envInfo->EmailBlurb = "testing docusign creation services"; $envInfo->Subject = "create envelope from templates and forms sample"; $recipient1 = new Recipient(); $recipient1->UserName = "SignerOne"; // TODO: replace email string with actual email $recipient1->Email = "test email 1"; $recipient1->Type = RecipientTypeCode::Signer; $recipient1->RequireIDLookup = FALSE; $recipient1->RoutingOrder = 1; $recipient1->RoleName = "One"; $recipient1->ID = "1"; $recipient2 = new Recipient(); $recipient2->UserName = "SignerTwo"; // TODO: replace email string with actual email $recipient2->Email = "test email 2"; $recipient2->Type = RecipientTypeCode::Signer; $recipient2->RequireIDLookup = FALSE; $recipient2->RoutingOrder = 2; $recipient2->RoleName = "Two"; $recipient2->ID = "2"; $signers = array($recipient1, $recipient2); // Build template $inlineTemplate = new InlineTemplate(); $inlineTemplate->Sequence = "1"; $env = new Envelope(); $env->Recipients = $signers; $env->AccountId = $AccountID; // This tab matches the DateSigned tab assigned to recipient one $tab1 = new Tab(); $tab1->RecipientID = "1"; $tab1->TabLabel = "DocuSignDateSignedOne"; $tab1->Type = TabTypeCode::DateSigned; // This tab matches the SignHere tabs assigned to recipient two $tab2 = new Tab(); $tab2->RecipientID = "2"; $tab2->TabLabel = "SignTwo*"; $tab2->Type = TabTypeCode::SignHere; // This tab matches the SignHere tabs assigned to recipient one $tab3 = new Tab(); $tab3->RecipientID = "1"; $tab3->TabLabel = "SignOne*"; $tab3->Type = TabTypeCode::SignHere; // This tab matches the DateSigned tab assigned to recipient two 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 85. DocuSign API Developer Guide 85 $tab4 = new Tab(); $tab4->RecipientID = "2"; $tab4->TabLabel = "DocuSignDateSignedTwo"; $tab4->Type = TabTypeCode::DateSigned; // This tab matches nothing -- but that's okay! // It will just get discarded $tab5 = new Tab(); $tab5->RecipientID = "1"; $tab5->TabLabel = "asdf"; $tab5->Type = TabTypeCode::FullName; $env->Tabs = array($tab1, $tab2, $tab3, $tab4, $tab5); $inlineTemplate->Envelope = $env; $template = new CompositeTemplate(); $template->InlineTemplates = array($inlineTemplate); // Configure the document $doc = new Document(); $doc->ID = "1"; $doc->Name = "Form Document"; $doc->PDFBytes = file_get_contents("docs/LoremIpsum.pdf"); $doc->TransformPdfFields = true; $doc->FileExtension = "pdf"; $template->Document = $doc; // Send $params = new CreateEnvelopeFromTemplatesAndForms(); $params->EnvelopeInformation = $envInfo; $params->CompositeTemplates = array($template); $params->ActivateEnvelope = false; $response = $api->CreateEnvelopeFromTemplatesAndForms($params); SendEnvelope This method is used to send draft envelopes. Refer to CreateAndSendEnvelope method for the sending rules that will be applied before the envelope can be sent. Schema Name Schema Type Description EnvelopeId DSXId Envelope Id to be sent for signature. AccountId DSXId Account Id of the user who created the envelope Sample Code SendEnvelope – C# // Create envelope as shown in linked code DocuSignWeb.Envelope envelope = <create envelope>; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 86. DocuSign API Developer Guide 86 // Send the envelope DocuSignWeb.EnvelopeStatus sendStatus = _apiClient.SendEnvelope(status.EnvelopeID, _accountId); // Examine the return status Console.WriteLine("Envelope status is {0}", sendStatus.Status); SendEnvelope – PHP // Create envelope as shown in linked code $response = <create envelope>; $envStatus = $response->CreateEnvelopeResult; // Send $sendEnvelopeparams = new SendEnvelope(); $sendEnvelopeparams->AccountId = $AccountID; $sendEnvelopeparams->EnvelopeId = $envStatus->EnvelopeID; $response = $api->SendEnvelope($sendEnvelopeparams); RequestSenderToken This method is used to get a onetime use login token that allows the user to be placed into the DocuSign sending wizard. Upon sending completion the user is returned to the return URL provided by the API application. Schema Name Schema Type Description EnvelopeID string Optional envelope ID. If provided the user will be placed into the envelope in process. If left blank the user will be placed into a new envelope for sending. AccountID String DocuSign account ID to map the envelope to. ReturnURL String URL to send the user to upon completion of the sending process. The URL will have an event passed to it as a query parameter. The parameter will be named “event”, see “In- session sending events” below for description of the valid events. The DocuSign Envelope Id will also be returned in the “envelopeId” parameter. In-Session Sending Events Events returned on the ReturnURL as a query string parameter. The event is sent in the parameter named “event”. The ReturnURL is called with the event on any completion state of the envelope send. Valid events can be found in the schema type InSessionSendEvent in the DocuSign API XSD. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 87. DocuSign API Developer Guide 87 Event Description Send User sends the envelope Save User saves a draft of the envelope Cancel User cancels the sending transaction. No envelope ID returned. Error Error performing the send. SessionEnd Sending session ended before the user completed. Rules and Exceptions RequestSenderToken • User_Does_Not_Exist_In_System – API user requesting the sending token URL does not have access to the system. • Account_Does_Not_Exist_In_System – Account is not valid. • Account_Lacks_Permissions – API user requesting the sending token URL does not have valid API permissions. • User_Lacks_Membership – user is not a valid member of the account. • User_Not_Envelope_Sender – user is not a valid sender in the account. • Envelope_Does_Not_Exist – if envelope ID is provided, envelope ID does not exist. • Account_Not_Authorized_For_Envelope – if envelope ID is provided, account is not valid for the envelope. Anchor Based Tagging This section outlines the usage rules and behaviors of the DocuSign Anchor-Based Tagging feature. Anchor-Based Tagging enables a DocuSign customer to send documents for signature that do not have a fixed layout or format. In these documents, you can not anticipate the absolute location of the tabs when you design your API client application because the tabs must move with text. As an alternative to sending X and Y coordinates for tabs, the DocuSign Signing Service derives anchor tab locations by correlating XML instructions from the SOAP request to data within the document. Using Anchor Tabs Anchor tab solutions require a coordinated map between the Anchor data and the document(s) in the CreateEnvelope/CreateAndSendEnvelope SOAP request. When the DocuSign Signing Service receives a request that contains anchor tabs, it searches the document for instances of the AnchorTabString. When found, it places a tab of the specified type for the designated recipient. Tab positions are established by committing the Anchor offset values relative to the lower left point of the AnchorTabString. When you apply tabs to the document, DocuSign does not remove or replace the AnchorTabString. You can hide codified anchors by using the same font color as the background of the document. While the anchor can be used by DocuSign processes, it will not be visible on the document. To create an anchor tab: 1. Identify the location in the document by text string. Use either a preexisting text string or add a new one. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 88. DocuSign API Developer Guide 88 For example, “Borrower’s Signature” might already exist in the document. If not, you could add the text string, “BorrowersSignHere”. 2. Reference the anchor through the AnchorTabString element of the SOAP request of the CreateEnvelope/CreateAndSendEnvelope request. 3. Determine the offset from the AnchorTabString location to where the tab should be placed. The bottom-left of the AnchorTabString is equivalent to position (0,0), and the bottom-left of the tab graphic is placed relative to that. Positive XOffset values move the tab right on the page and positive Yoffset values move the tab up on the page. DocuSign does not currently provide tools to derive the offset values. Determination of the proper offset will likely require some trial-and-error. Rules for Anchor Tagging There are both API user specific rules and rules for the exceptions thrown by the processor. API user specific rules • The Tab node must contain the RecipientID which refers to an existing recipient and Tab Type (signature, initial etc). Else, the XML validation fails and a Validation error exception is thrown. • If the Anchor node is initialized, then the AnchorTabString must be specified. Else, the XML validation fails and a Validation error exception is thrown. • The AnchorTabString specified in the SOAP envelope must be included at least once in the corresponding document of the envelope. • API users who do not use the anchor-based tabs do not make any changes. • The user can decide the format of the AnchorTabString. DocuSign tabs are created for each instance of the AnchorTabString within the document, so special care must be taken to establish unique AnchorTabStrings that do not result in unintentional tabs. • The API user only needs to list the anchor tab in the XML once and map it to a recipient and tab type. The tab is placed for the recipient in each instance that the anchor tab appears in the document(s). • The API user cannot use the same anchor tab for different recipients for the same document. • The API user cannot use a text string in an Image PDF. • The allowed offset units are: pixels, millimeters, centimeters or inches. If not specified, the default unit is pixels. • X or Y offsets supplied for a tab apply to all instances of the tab in the document. • To use different offsets at different locations in the document for the same recipient, create multiple, unique anchor tabs. Rules for Exceptions thrown by the API • The anchor tab specified by the user must exist in the corresponding document of the envelope. Else, the processor throws an exception with the error message “Anchor_Tab_String_Not_Found”. The error message includes the list of anchor tabs that are not found. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 89. DocuSign API Developer Guide 89 • The X and Y offset values must not extend a tab beyond the boundaries of the page. Else, the processor throws an exception with the error message “Invalid_User_Offset”. The error message includes the X or Y offset that resulted in the exception. • The API user must not use the same tab for different recipients for the same document. Nor can the API user use the same tab for different tab types. After the tab is used once, the processor throws an exception with the error “Invalid_Anchor_Tab_String”. The error message indicates that the user can not map an anchor tab for different recipients or tab types. Known Limitations • The processor cannot search text that is embedded in an image. • The processor does not support an AnchorTabString embedded in the form of a PDF X- object in the document. • The processor does not re-flow the text that surrounds the anchor tabs. It is the responsibility of the document author to provide sufficient whitespace to contain the potential width of the ultimate tab value. Tips and Tricks The following are tips for effective use of Anchor Based Tagging: • In order to avoid unintentional conflicts between AnchorTabStrings and the text that naturally exists in documents, establish a codified syntax for AnchorTabStrings that is unlikely to otherwise appear in a document. • Develop an extensible and consistent syntax that can be used across multiple document types. i.e. [RecipientIdentifier.TabType.TabQualifier]. Examples of this syntax might include [R1.InitialHere] or [CoSign1.Custom.SSN]. • Especially for documents that have variable numbers of tabs or signers (ex: optional Co- signers), author the source document to include hidden anchor tabs for all potential signers/permutations. Then, control the tabs that are actually placed by including/excluding the Anchors in the XML request. This approach allows a single document to be used for all use cases instead of maintaining separate documents for each scenario. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 90. DocuSign API Developer Guide 90 Embedding Function Group This section describes the principles and methods involved in implementing a DocuSign Connect API integration using the Embedded Signing interaction pattern for recipients. In this section, we specify methods, processes and exceptions that deviate from typical API integration concepts. Embedded Signing is a departure from the default “Remote Signer” pattern, in which DocuSign brokers the communication with envelope Recipients via system-generated emails containing links to activate the viewing and signing process. Embedded Signing, in contrast, enables a API client application to maintain its connection with envelope Recipients by incorporating the DocuSign Signing Service directly into its process flow. The functional result is a more fluid document transaction and more transparent feature extension of the client application. This tighter integration with DocuSign imposes additional technical and functional burdens on the client application, including addressing security, legal, and user experience requirements that are engineered into the DocuSign application in the Remote Signer pattern. Important: DocuSign recommends that you do not use iFrames for embedded signing on mobile devices. Embedded Signing Functional Process Flow This overview of a typical embedded document-signing transaction should familiarize DocuSign Connect API users with terms and process. It is not a faithful reproduction of how the process is implemented on the web site or in the API. In this use case, a web user applies for credit from an online lending source that provides an instant credit decision and electronic signature services. Captive Recipients The Embedded Signing pattern introduces a new class of recipients referred to as Captive Recipients. Captive refers to the exclusive relationship between the recipient and the sending account. In contrast, non-Captive Recipients are DocuSign-global entities that can have recipient relationships with an unlimited number of senders. Characteristics of Captive Recipients are that they: 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 91. DocuSign API Developer Guide 91 • Are identified by their FirstName, LastName, Email, sending account, and optionally a sender- provided ClientUserID. • Have an exclusive relationship with their sending account. If another DocuSign customer has sent documents to the same person, either as a Remote or Captive Recipient, the recipient information is not related in any way. • Can access DocuSign content only via their sending account’s application; they cannot login directly to DocuSign. • Do not have access to the DocuSign Member Console. • Do not receive email notifications from DocuSign, except in cases specifically called out in this document. • Cannot be aware that they have an account in DocuSign. Captive Recipients can co-exist with Remote Recipients on a single envelope, but they cannot switch modalities after they are created. A Captive Recipient cannot be converted to a Remote Recipient at any point in the process. This is important to recognize during the client solution design phase, as DocuSign must know how a Recipient will interact with the client application at the time the envelope is created. DocuSign Integration Three distinct operational areas characterize Embedded Signing API integration: • Pre-DocuSign Operations – Operations within the client application relating to creating the Envelope and navigating the Captive Recipient into the DocuSign-hosted pages. • DocuSign Operations – Operations include displaying Consumer disclosure, Signature display and selection. • Post-DocuSign Operations – Client-hosted pages that the Captive Recipient is redirected to upon reaching a terminal state in the DocuSign user experience. Pre-DocuSign Operations Creating the envelope Creating envelops for Embedded Recipients parallels the Remote Recipient model. But the sender needs to specify if the recipient is Remote or Embedded. Sender can do this by using ClientUserId. A non-null ClientUserId implies that user is Embedded. A single envelope can contain both Embedded and Remote Recipients. Requesting Recipient Tokens DocuSign constrains access to the Embedded signature process via short-lived Recipient Tokens. Successful token requests return an URL that will invoke the DocuSign signing wizard for a particular envelope and Embedded Recipient. Important: DocuSign recommends that you do not use iFrames for embedded signing on mobile devices. There are two types of recipient tokens available: • RequestRecipientToken: This token returns a URL to invoke a DocuSign signing session where the signer completes the signing process online. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 92. DocuSign API Developer Guide 92 • RequestRecipientFaxToken: This token returns a URL to invoke a DocuSign signing session where the signer is required to print out and sign documents. The documents are then returned to DocuSign by fax or upload. This section describes the token methods and the behaviors. The RequestRecipientToken and RequestRecipientFaxToken methods use the format and rules, and are divided into three sections: Entity Identification, Authentication Assertions and InSessionCallBackURL. Schema Entity Identification The following parameters identify the Envelope and Captive Recipient for which the Recipient Token is requested: 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 93. DocuSign API Developer Guide 93 • EnvelopeID – The DocuSign-generated value contained in the EnvelopeStatus object returned from the CreateAndSendEnvelope method. This parameter identifies the Envelope. • ClientUserID – The value that specifies if the recipient is Remote or Embedded • UserName – Specifies the username of the recipient • Email - Specifies the Email of the recipient. The Username and Email identifies a unique recipient and ClientUserID specifies if the recipient is Embedded or Remote. All the three parameter together identifies a Captive Recipient. All values must exist and correlate to a valid Envelope/Embedded Recipient entity relationship in order for the RequestRecipientToken request to succeed. Authentication Assertions DocuSign acts as a Single Sign-On consumer to the API client application in the Embedded Signing model. That is, DocuSign trusts that the client application authenticated the end-user sufficiently to establish their identity and offer documents to sign or view. This is critical to the seamless integration between the two applications, and it is necessary since DocuSign has no interaction with the end-user prior to displaying the documents. However, even though the trust relationship does not include a DocuSign-verification of the user identity, DocuSign requires the client application to assert that it has authenticated the end-user through some means. This assertion is communicated through the following parameters: • AssertionID – A unique identifier of the authentication event executed by the client application. • AuthenticationInstant – The date/time that the end-user was authenticated. • AuthenticationMethod – The convention used to authenticate the end-user. • SecurityDomain – The domain to which the user authenticated. An entry is added into the Security Level section of the DocuSign Signing Certificate that reflects the “SecurityDomain – AuthenticationMethod” used to verify the user identity. Additional identity verification within DocuSign is optionally available through the ID Check and Access Code features. ClientURLs Client application will have the option of setting Client URLs to be called on specific DocuSign events. DocuSign redirects the Recipient to the URL. If you want an “event” parameter or any other parameters, you MUST provide them in the callback URL. No parameters are added by DocuSign. The valid values are listed in Embedded Callback Event Codes. XML Signing It is recommended that embedded clients sign the body of the RequestRecipientToken message with a valid X.509 certificate. This process supports the Single Sign-On trust relationship between DocuSign and the client application. Client organizations must provide DocuSign with the certificate’s Common Name (CN) during the implementation phase so that DocuSign can validate the XML signature. Supported certificate authorities are VeriSign and Thawte. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 94. DocuSign API Developer Guide 94 Expiration • Recipient Tokens expire five minutes after they are issued by DocuSign. If a Recipient Token URL is invoked after it is expired, the user is re-directed to the Callback URL specified in the RequestRecipientToken request with event code TTLExpired. • Recipient Tokens expire upon being successfully invoked. • Active Recipient Tokens expire if the envelope is voided. • Five minutes is the default "Time to Live" for Recipient tokens. This is a configurable setting. Signing vs. Viewing Documents Recipient Tokens must be requested (and returned) in order to sign or to view envelope documents. The DocuSign web application renders the view that is appropriate to the state of the envelope for the Recipient. The logic is as follows: • If Recipient has uncompleted signing actions, DocuSign will present documents in Sign mode. • If Recipient has completed all signing actions, DocuSign will present documents in View mode. • If Recipient has uncompleted signing actions and the envelope has been declined by another Recipient, then the remaining recipients will not be able to view the envelope. • If the sender has voided the envelope no recipient will be able to view or sign document. Sample Code RequestRecipientToken – C# // Create envelope as shown in linked code DocuSignWeb.Envelope envelope = <create envelope>; // Need to specify captive info for these recipients envelope.Recipients[0].CaptiveInfo = new DocuSignWeb.RecipientCaptiveInfo(); envelope.Recipients[0].CaptiveInfo.ClientUserId = "User1"; DocuSignWeb.EnvelopeStatus status = _apiClient.SendEnvelope(envelope); // Construct the recipient token authentication assertion // Specify ID, start time, method and domain DocuSignWeb.RequestRecipientTokenAuthenticationAssertion assertion = new DocuSignWeb.RequestRecipientTokenAuthenticationAssertion(); assertion.AssertionID = new Guid().ToString(); assertion.AuthenticationInstant = DateTime.Now; assertion.AuthenticationMethod = DocuSignWeb.RequestRecipientTokenAuthenticationAssertionAuthenticationMethod.Password; assertion.SecurityDomain = "Request Recipient Token Test"; // Construct the URLs based on username DocuSignWeb.Recipient recipient = envelope.Recipients[0]; DocuSignWeb.RequestRecipientTokenClientURLs urls = new DocuSignWeb.RequestRecipientTokenClientURLs(); String urlBase = baseURL; urls.OnSigningComplete = urlBase + "?event=SignComplete&uname=" + recipient.UserName; urls.OnViewingComplete = urlBase + "?event=ViewComplete&uname=" + recipient.UserName; urls.OnCancel = urlBase + "?event=Cancel&uname=" + recipient.UserName; urls.OnDecline = urlBase + "?event=Decline&uname=" + recipient.UserName; urls.OnSessionTimeout = urlBase + "?event=Timeout&uname=" + recipient.UserName; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 95. DocuSign API Developer Guide 95 urls.OnTTLExpired = urlBase + "?event=TTLExpired&uname=" + recipient.UserName; urls.OnIdCheckFailed = urlBase + "?event=IDCheck&uname=" + recipient.UserName; urls.OnAccessCodeFailed = urlBase + "?event=AccessCode&uname=" + recipient.UserName; urls.OnException = urlBase + "?event=Exception&uname=" + recipient.UserName; // Request the token for a specific recipient String token = _apiClient.RequestRecipientToken(status.EnvelopeID, recipient.CaptiveInfo.ClientUserId, recipient.UserName, recipient.Email, assertion, urls); // Display token Console.WriteLine("Recipient token is {0}", token); RequestRecipientToken: PHP // Create envelope as shown in linked code $env = <create envelope>; // Specify captive info for recipients $captiveInfo = new RecipientCaptiveInfo(); $captiveInfo->ClientUserId = "User1"; $env->Recipients[0]->CaptiveInfo = $captiveInfo; // Now send the envelope $sendEnvelopeparams = new SendEnvelope(); $sendEnvelopeparams->Envelope = $env; $createResult = $api->SendEnvelope($sendEnvelopeparams)->SendEnvelopeResult; // Construct the recipient token authentication assertion and specify // ID, start time, method, and domain $assertion = new RequestRecipientTokenAuthenticationAssertion(); $assertion->AssertionID = guid(); $assertion->AuthenticationInstant = nowXsdDate(); $assertion->AuthenticationMethod = RequestRecipientTokenAuthenticationAssertionAuthenticationMethod::Password; $assertion->SecurityDomain = "Request Recipient Token Test"; // Construct the URLs based on UserName $recip = $env->Recipients[0]; $urls = new RequestRecipientTokenClientURLs(); $urlbase = "http://127.0.0.1/"; $urls->OnSigningComplete = $urlbase . "?event=SignComplete&uname=" . $recip->UserName; $urls->OnViewingComplete = $urlbase . "?event=ViewComplete&uname=" . $recip->UserName; $urls->OnCancel = $urlbase . "?event=Cancel&uname=" . $recip->UserName; $urls->OnDecline = $urlbase . "?event=Decline&uname=" . $recip->UserName; $urls->OnSessionTimeout = $urlbase . "?event=Timeout&uname=" . $recip->UserName; $urls->OnTTLExpired = $urlbase . "?event=TTLExpired&uname=" . $recip->UserName; $urls->OnIdCheckFailed = $urlbase . "?event=IDCheck&uname=" . $recip->UserName; $urls->OnAccessCodeFailed = $urlbase . "?event=AccesssCode&uname=" . $recip->UserName; $urls->OnException = $urlbase . "?event=Exception&uname=" . $recip->UserName; // Send $requestRecipientTokenparams = new RequestRecipientToken(); $requestRecipientTokenparams->EnvelopeID = $createResult->EnvelopeID; $requestRecipientTokenparams->ClientUserID = $recip->CaptiveInfo->ClientUserId; $requestRecipientTokenparams->Username = $recip->UserName; $requestRecipientTokenparams->Email = $recip->Email; $requestRecipientTokenparams->AuthenticationAssertion = $assertion; $requestRecipientTokenparams->ClientURLs = $urls; $response = $api->RequestRecipientToken($requestRecipientTokenparams); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 96. DocuSign API Developer Guide 96 RequestRecipientFaxPDF This is an alternative to using RequestRecipientFaxToken. Rather than returning a URL for a signing session, RequestReceipientFaxPDF returns PDF versions of a fax cover page and documents in an envelope for printing and signing. The recipient must still return the documents to DocuSign by fax. IMPORTANT: Depending on the consumer disclosure settings for your account, you might need to use RequestRecipientFaxToken to let the signer accept the consumer disclosure before using RequestRecipientFaxPDF. Example: If your account requires a signer to accept the consumer disclosure (agree to do business electronically) and your consumer disclosure frequency account setting is “Always” or it is the first time a signer is signing with your organization, then you must use RequestRecipientFaxToken so the signer can accept the consumer disclosure before using RequestRecipientFaxPDF. Using this method can prevent cross-domain browser issues that can occur when using RequestRecipientFaxToken by allowing API users to take the PDFBytes from the responses and streaming the PDF to the client from their servers. The parameters for RequestRecipientFaxPDF are the same as those used when requesting recipient tokens. Sample Request XML POST /api/3.0/api.asmx HTTP/1.1 Host: test.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/3.0/RequestRecipientFaxPDF" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestRecipientFaxPDF xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> <ClientUserID>string</ClientUserID> <Username>string</Username> <Email>string</Email> <AuthenticationAssertion> <AssertionID>string</AssertionID> <AuthenticationInstant>dateTime</AuthenticationInstant> <AuthenticationMethod>string</AuthenticationMethod> <SecurityDomain>string</SecurityDomain> </AuthenticationAssertion> </RequestRecipientFaxPDF> </soap:Body> </soap:Envelope> The response returns the Envelope ID for the envelope and PDFBytes for the documents in the envelope. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 97. DocuSign API Developer Guide 97 <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestRecipientFaxPDFResponse xmlns="http://www.docusign.net/API/3.0"> <RequestRecipientFaxPDFResult> <EnvelopeID>string</EnvelopeID> <PDFBytes>base64Binary</PDFBytes> </RequestRecipientFaxPDFResult> </RequestRecipientFaxPDFResponse> </soap:Body> </soap:Envelope> DocuSign Operations Once the authentication is complete user is directed to DocuSign-hosted pages. Here user will be able to view Consumer Disclosure, Select signature and complete signing by clicking on Tabs. When signing is complete notification email is sent and user is directed to partner system. Post-DocuSign Landing Pages The client application must create, host, and manage landing pages for each of the events that are detailed in the “InSessionCallBackURL” topic. The DocuSign web application will re-direct Recipients to the respective URLs upon reaching a terminal state in the signing/viewing process. Addenda Additional Features and Behaviors This section describes new behaviors that are specific to Embedded Recipients, as well as product enhancements that are currently only available for Embedded Recipients. • Embedded Recipients will receive an email on behalf of the sending account after they have completed the signing or viewing process. This is intended as a fraud-detection measure and is inherent to the Embedded process. The text of the email is configurable by the sending account. • This is the only DocuSign-generated email that Embedded recipients will receive. They will not receive emails inviting them to sign, reporting that the Envelope has been voided, or informing them of Envelope completion because the Embedded client application is responsible for these communication tasks. • Embedded clients have the ability to pass in default SignatureInfo (Signature Name, Signature Initials, and Signature Font), streamlining the user set-up process. • Embedded clients have the ability to establish Envelope-specific SignatureInfo that is not necessarily the same as the original Recipient Username or the original signature created by the user. This allows the signature to conform to the Recipient’s printed name on a document, specifically in cases where it is represented differently from one document to the next (i.e., initials are included in one Envelope instance and not the next). The SignatureInfo, however, cannot vary in separate documents within a single Envelope. • The Consumer Disclosure agreement is consolidated into the “About You” page for Embedded Recipients. This action streamlines the signing process in relation to the Remote Recipient convention of a separate Consumer Disclosure page. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 98. DocuSign API Developer Guide 98 • Embedded clients have the ability to create their own branded Help content. Suppressed Features/Behaviors This section describes features and behaviors that are characteristic of Remote Recipients but not applicable to Embedded Recipients • Carbon-Copy Recipients cannot interact as Embedded Recipients. Embedded Recipients are not presented with the option to create a Password in DocuSign. Consequently, Captive Recipients cannot enter the DocuSign web application via the login screen at https://www.docusign.net/member/memberlogin.aspx. Captive Recipients can only enter DocuSign via client applications using Recipient Tokens. • Embedded Recipients do not see the DocuSign Member Console. • Embedded Recipients do not receive DocuSign-generated email notification for any events except for the Signing/Viewing confirmation upon completion of the respective task, described in the Additional Features/Benefits section. Legal Considerations The DocuSign Remote Recipient process flow has been designed to comply with the federal Electronic Signatures in Global and National Commerce Act (ESIGN) and the model form of the Uniform Electronic Transaction Act (UETA). Most of the elements of the signing process such as authentication, consumer disclosure, and document delivery are performed within the DocuSign environment when executing the standard Remote Signing process. However, DocuSign's Embedded signing process provides the Client the flexibility for performing, within the Client’s environment, certain authentication and signing process steps typically performed within the DocuSign environment. Accordingly, while DocuSign will work with the Client to recommend an overall business process for electronic signatures, DocuSign does not assume responsibility or liability for the steps taken outside of the DocuSign Environment and the effect such steps could have on the enforceability of electronic records signed electronically utilizing an Embedded signing process. Additional provisions dealing with an allocation of risk in the Embedded signing process are contained in the relevant sections of the DocuSign Terms of Use for the Embedded process. GetAuthenticationToken This methods can be used to get a onetime use URL with an authentication token to launch the DocuSign member system. Schema Name Schema Type Description GoToEnvelopeID string Optional envelope ID. If provided the URL returned will send the user directly to viewing the envelope. If left blank the user will be taken to the member console. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 99. DocuSign API Developer Guide 99 GetAuthenticationToken rules and exceptions • User_Does_Not_Exist_In_System – API user requesting the authentication token URL does not have access to the system. • Account_Lacks_Permissions – API user requesting the authentication token URL does not have valid API permissions. Sample Code GetAuthenticationToken – C# // To take advantage of the optional navigation to an envelope, // create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Now, call the function with the envelope ID of the envelope // to which you wish to navigate String token = _apiClient.GetAuthenticationToken(status.EnvelopeID); // Display token Console.WriteLine("Token retrieved is {0}", token); GetAuthenticationToken – PHP // Create and send envelope as shown in linked code $result = $api->CreateAndSendEnvelope($createAndSendEnvelopeparams) $status = $result->CreateAndSendEnvelopeResult; // Send $getAuthenticationTokenparams = new GetAuthenticationToken(); $getAuthenticationTokenparams->GoToEnvelopeID = $status->EnvelopeID; $response = $api->GetAuthenticationToken($getAuthenticationTokenparams); RequestSenderToken This method is used to get a onetime use login token that allows the user to be placed into the DocuSign sending wizard. Upon sending completion the user is returned to the return URL provided by the API application. Schema Name Schema Type Description EnvelopeID string Optional envelope ID. If provided the user will be placed into the envelope in process. If left blank the user will be placed into a new envelope for sending. AccountID String DocuSign account ID to map the envelope to. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 100. DocuSign API Developer Guide 100 Name Schema Type Description ReturnURL String URL to send the user to upon completion of the sending process. The URL will have an event passed to it as a query parameter. The parameter will be named “event”, see “In- session sending events” below for description of the valid events. The DocuSign Envelope Id will also be returned in the “envelopeId” parameter. In-session sending events Events returned on the ReturnURL as a query string parameter. The event is sent in the parameter named “event”. The ReturnURL is called with the event on any completion state of the envelope send. Valid events can be found in the schema type InSessionSendEvent in the DocuSign API XSD. Event Description Send User sends the envelope. Save User saves a draft of the envelope. Cancel User cancels the sending transaction. No envelope ID returned. Error Error performing the send. SessionEnd Sending session ended before the user completed. Rules and exceptions for RequestSenderToken • User_Does_Not_Exist_In_System – API user requesting the sending token URL does not have access to the system. • Account_Does_Not_Exist_In_System – Account is not valid. • Account_Lacks_Permissions – API user requesting the sending token URL does not have valid API permissions. • User_Lacks_Membership – user is not a valid member of the account. • User_Not_Envelope_Sender – user is not a valid sender in the account. • Envelope_Does_Not_Exist – if envelope ID is provided, envelope ID does not exist. • Account_Not_Authorized_For_Envelope – if envelope ID is provided, account is not valid for the envelope. Sample Code RequestSenderToken – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Request the token for the sender String result = _apiClient.RequestSenderToken(status.EnvelopeID, _accountId, <baseURL>); // Display token Console.WriteLine("Sender token is {0}", result); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 101. DocuSign API Developer Guide 101 RequestSenderToken – PHP // Create and send an envelope as shown in linked code $response = <create and send envelope>; $createResult = $response->CreateAndSendEnvelopeResult; // Send $requestSenderTokenparams = new RequestSenderToken(); $requestSenderTokenparams->EnvelopeID = $createResult->EnvelopeID; $requestSenderTokenparams->AccountID = $AccountID; $requestSenderTokenparams->ReturnURL = "http://127.0.0.1/"; $response = $api->RequestSenderToken($requestSenderTokenparams); RequestEnvelopeHistoryToken This method allows the caller to get a view of the history dialog for an envelope. The return URL is the url that the caller wants to return to when the close button is pressed after the history dialog is displayed. Schema Name Schema Type Description EnvelopeID string Envelope ID for the envelope for which the history view is being requested. ReturnURL String The URL send the user is directed to when the user clicks the close button on the history view. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 102. DocuSign API Developer Guide 102 Status and Managing Function Group This function group is used to show the status of envelopes and manage envelopes. The Status methods are described first and then the managing methods. CorrectAndResendEnvelope The CorrectAndResendEnvelope API method enables API users to modify the attributes of envelope reminders, expirations and recipients, and then resend the envelope activation emails. Schema Name Schema Type Description Envelope ID DSXId Envelope ID of the envelope which is corrected through API call. EnvelopeSettingCorrection EnvelopeSettingCorrection Complex element consists of two elements AutoNavigation and EnvelopeIdStamping. AutoNavigation is a Boolean element and if set to true, auto navigation feature will be enabled. EnvelopeIdStamping if set to true, Envelope stamping feature will be enabled. RecipientCorrections RecipientCorrection Contains all the attributes of the recipient that could be corrected. See the RecipientCorrection section below for more information. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 103. DocuSign API Developer Guide 103 Name Schema Type Description Reminders Reminders Corrected envelope reminder settings: ReminderEnabled: Boolean: Whether or not a reminder email will be sent. ReminderDelay: Integer: Number of days AFTER a person receives an envelope, that they will start receiving reminder emails. ReminderFrequency: Integer: Number of days to wait between reminder emails. Expirations Expirations Corrected envelope expriation settings: ExpireEnabled: Boolean: Whether or not this envelope is set to expire. ExpireAfter: Integer: Number of days envelope will be active. ExpireWarn: Integer: Number of days before envelope expiration, that a warning email will be sent. Sample Request XML: SOAPAction: "http://www.docusign.net/API/3.0/CorrectAndResendEnvelope" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CorrectAndResendEnvelope xmlns="http://www.docusign.net/API/3.0"> <Correction> <EnvelopeID>string</EnvelopeID> <EnvelopeSettingsCorrection> <AutoNavigation>boolean</AutoNavigation> <EnvelopeIdStamping>boolean</EnvelopeIdStamping> </EnvelopeSettingsCorrection> <RecipientCorrections> <RecipientCorrection> <PreviousUserName>string</PreviousUserName> <PreviousEmail>string</PreviousEmail> <PreviousRoutingOrder>unsignedShort</PreviousRoutingOrder> <PreviousSignerName>string</PreviousSignerName> <CorrectedUserName>string</CorrectedUserName> <CorrectedSignerName>string</CorrectedSignerName> <CorrectedEmail>string</CorrectedEmail> <CorrectedCaptiveInfo xsi:nil="true" /> <CorrectedAccessCode>string</CorrectedAccessCode> <CorrectedAccessCodeRequired>boolean</CorrectedAccessCodeRequired> <CorrectedRequireIDLookup>boolean</CorrectedRequireIDLookup> <CorrectedIDCheckConfigurationName>string</CorrectedIDCheckConfigurationName> <CorrectedRoutingOrder>unsignedShort</CorrectedRoutingOrder> <CorrectedAutoNavigation>boolean</CorrectedAutoNavigation> <CorrectedIDCheckInformationInput xsi:nil="true" /> <Resend>boolean</Resend> <CorrectedDeliveryMethod>Email or Fax</CorrectedDeliveryMethod> <CorrectedFaxNumber>string</CorrectedFaxNumber> </RecipientCorrection> <RecipientCorrection> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 104. DocuSign API Developer Guide 104 <PreviousUserName>string</PreviousUserName> <PreviousEmail>string</PreviousEmail> <PreviousRoutingOrder>unsignedShort</PreviousRoutingOrder> <PreviousSignerName>string</PreviousSignerName> <CorrectedUserName>string</CorrectedUserName> <CorrectedSignerName>string</CorrectedSignerName> <CorrectedEmail>string</CorrectedEmail> <CorrectedCaptiveInfo xsi:nil="true" /> <CorrectedAccessCode>string</CorrectedAccessCode> <CorrectedAccessCodeRequired>boolean</CorrectedAccessCodeRequired> <CorrectedRequireIDLookup>boolean</CorrectedRequireIDLookup> <CorrectedIDCheckConfigurationName>string</CorrectedIDCheckConfigurationName> <CorrectedRoutingOrder>unsignedShort</CorrectedRoutingOrder> <CorrectedAutoNavigation>boolean</CorrectedAutoNavigation> <CorrectedIDCheckInformationInput xsi:nil="true" /> <Resend>boolean</Resend> <CorrectedDeliveryMethod>Email or Fax</CorrectedDeliveryMethod> <CorrectedFaxNumber>string</CorrectedFaxNumber> </RecipientCorrection> </RecipientCorrections> <Reminders> <ReminderEnabled>boolean</ReminderEnabled> <ReminderDelay>nonNegativeInteger</ReminderDelay> <ReminderFrequency>nonNegativeInteger</ReminderFrequency> </Reminders> <Expirations> <ExpireEnabled>boolean</ExpireEnabled> <ExpireAfter>nonNegativeInteger</ExpireAfter> <ExpireWarn>nonNegativeInteger</ExpireWarn> </Expirations> </Correction> </CorrectAndResendEnvelope> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 105. DocuSign API Developer Guide 105 RecipientCorrection Schema Name Schema Type Description PreviousUserName UserName User name of the recipient specified in the envelope which needs correction. PreviousEmail Email Email of the recipient specified in the envelope which needs correction. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 106. DocuSign API Developer Guide 106 Name Schema Type Description PreviousRoutingOrder PositiveShort Routing order of the recipient specified in the envelope which needs correction. PreviousSignerName String Signer name specified in the envelope, which needs correcting. CorrectedUserName UserName Corrected user name of the recipient. CorrectedSignerName String Correct signer name in the envelope. CorrectedEmail Email Corrected Email of the recipient. CorrectedCaptiveInfo CorrectedCaptiveInfo Specifies if the recipient is captive or not. If the ClientUserId is not null then the recipient is captive. CorrectedAccessCode String Corrected access for the recipients CorrectedAccessCodeRequired Boolean If set to true, then access code check will be required for the recipient. CorrectedRequireIDLookup Boolean If set to true, then ID check will be required for the recipient. CorrectedIDCheckConfigurationName String Corrected ID check configuration by name. CorrectedRoutingOrder PositiveShort Corrected routing order of the recipient. CorrectedAutoNavigation Boolean Corrected setting for the auto navigation feature. If Boolean is set to true auto navigation feature will be enabled for the recipient CorrectedIDCheckInformationInput CorrectedIDCheckInformationInput Specified the corrected IDCheck information. For details please refer IDCheckInformationInput under CreateAndSend method Resend Boolean Specifies if the email notifying correction needs to be sent to the recipient. CorrectedDeliveryMethod Delivery Method This sets the corrected delivery method used for the recipient. The two enumerations are Email or Fax. CorrectedFaxNumber String The corrected fax number for the recipient. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 107. DocuSign API Developer Guide 107 CorrectionStatus Schema Name Schema Type Description EnvelopeSettingsCorrection EnvelopeSettingsCorrection Consists of AutoNavigation and EnvelopeIdStamping. A true value indicates that the feature is enabled. RecipientCorrectionStatuses RecipientCorrectionStatuses See the RecipientCorrectionStatus section below for more information. RecipientCorrectionStatus Name Schema Type Description CorrectionSuccededed Boolean Return true if the envelope correction is successful RecipientCorrection RecipientCorrection Returns the corrected information. For more details check the RecipientCorrection section above RecipientStatus RecipientStatus Returns current status of the recipient. For more details check RecipientStatus section in above. Rules for CorrectAndResendEnvelope API user specific rules • The length of any of the email addresses (specified as CorrectedEmail) must not exceed 100 characters. Else, the XML validation fails and the processor throws a Validation error. • The email addresses (specified as CorrectedEmail) must conform to the appropriate email format. Else, the XML validation fails and the processor throws a Validation error. • The length of any of the EnvelopeID must not exceed 100 characters. Else, the XML validation fails and the processor throws a Validation error. • If the CorrectedAccessCode field is not null and not empty then regardless of whether the value of CorrectedAccessCodeRequired is ‘true’ or ‘false’ the CorrectedAccessCode is considered as the new Access Code for the specified recipient. • If the CorrectedAccessCode field is null or empty: 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 108. DocuSign API Developer Guide 108 o If the value of CorrectedAccessCodeRequired is ‘false’, the existing Access Code for the specified recipient is cancelled. o If the CorrectedAccessCodeRequired is ‘true’ then the existing access code is left as it is. Rules for Exceptions thrown by the API • An envelope having the specified EnvelopeID must exist in the system. Else, an exception with the error message “Envelope_Does_Not_Exist” is thrown. • The status of the envelope with the specified EnvelopeID must be ‘Sent’ or ‘Delivered’. Else, an exception with the error message “Envelope_Cannot_Correct_Invalid_State” is thrown. • The user making the API calls must have permissions to correct the Envelope. Else, an exception with the error message “User_Lacks_Permissions” is thrown. The API user can correct the Envelope only if the user is the sender of the envelope • User specified by PreviousUserName and PreviousEmail should be the owner of the envelope. Else an exception with error message “User_Not_Envelope_Sender” is thrown. • The envelope with the specified EnvelopeID must not have duplicate recipients. Else an exception is thrown with the error message “Envelope_Has_Duplicate_Recipients”. An envelope with duplicate recipients cannot be corrected, because if a correction is specified for a user who exists as more than one recipient, then it raises an ambiguity on which instance of the user to be corrected. • More than one correction must not be specified for a given recipient as it raises an ambiguity on which correction to apply. Else, an exception with the error message “Correction_Has_Duplicate_Recipients” thrown. • The CorrectedUserName of any correction (after trimming of leading and following spaces) must not be empty. Else an exception with the error message “Correction_Has_A_Blank_Username” is thrown. • The final set of recipients of the envelope (assuming that the corrections that succeed are applied) must not contain duplicates. Else an exception is thrown with the error message “Correction_Results_In_Duplicate_Recipients”. • Recipient specified by CorrectedUserName and CorrectedEmail should exist else exception with error message “Recipient_Not_Found_For_Correction” is thrown. • Correcting Carbon copy recipient is not allowed. If tried the exception with error message “Captive_Carbon_Copy_Recipient_Not_Supported” will be thrown. • If the corrected Email specified has already been reserved by some other account then an exception with error message “Corrected_Email_Is_Reserved” is thrown. Rules for return value of the API • The status of a recipient (for whom a correction is specified) must not be ‘Signed’, ‘Declined’ or ‘Completed’. Else, correction is not permitted for this recipient and CorrectionSucceeded value is set to ‘false’. In other words a CorrectionSucceeded value of ‘false’ indicates that the correction could not be applied, as the status of the recipient does not permit corrections. • The RecipientCorrection object in the CorrectAndResendEnvelope the same as the RecipientCorrection passed as the argument to the API. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 109. DocuSign API Developer Guide 109 Sample Code CorrectAndResendEnvelope – C# // Create envelope as shown in linked code DocuSignWeb.Envelope envelope = <create envelope>; // Send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <send envelope>; // Create a new correction, and make it a recipient correction DocuSignWeb.Correction correction = new CodeSnippets.DocuSignWeb.Correction(); correction.EnvelopeID = status.EnvelopeID; correction.RecipientCorrections = new DocuSignWeb.RecipientCorrection[1]; // We're just copying recipient data into the corrected data // We could also change it entirely for (int i = 0; i < correction.RecipientCorrections.Length; i++) { DocuSignWeb.RecipientCorrection recipient = correction.RecipientCorrections[i]; correction.RecipientCorrections[i] = new DocuSignWeb.RecipientCorrection(); correction.RecipientCorrections[i].PreviousEmail = correction.RecipientCorrections[i].CorrectedEmail = envelope.Recipients[i].Email; correction.RecipientCorrections[i].PreviousUserName = correction.RecipientCorrections[i].CorrectedUserName = envelope.Recipients[i].UserName; correction.RecipientCorrections[i].PreviousRoutingOrder = correction.RecipientCorrections[i].CorrectedRoutingOrder = envelope.Recipients[i].RoutingOrder;} // Go ahead and make the correction DocuSignWeb.CorrectionStatus correctionStatus = _apiClient.CorrectAndResendEnvelope(correction); // Confirm that the call succeeded Console.WriteLine("Correction status succeeded? {0}", correctionStatus.RecipientCorrectionStatuses[0].CorrectionSucceeded); CorrectAndResendEnvelope – PHP // Create envelope as shown in linked code $env = <create envelope>; // Send envelope as shown in linked code $response = <send envelope>; $createResponse =$response->CreateAndSendEnvelopeResult; // Create a new recipient correction $recip = $env->Recipients[0]; $correction = new Correction(); $correction->EnvelopeID = $createResponse->EnvelopeID; $recipCorrection = new RecipientCorrection(); //Just reuse the same data $recipCorrection->PreviousEmail = $recipCorrection->CorrectedEmail = $recip->Email; $recipCorrection->PreviousUserName = $recipCorrection->CorrectedUserName = $recip- >UserName; $recipCorrection->PreviousRoutingOrder = $recipCorrection->CorrectedRoutingOrder = $recip->RoutingOrder; $correction->RecipientCorrections = array($recipCorrection); $correctAndResendEnvelopeparams = new CorrectAndResendEnvelope(); $correctAndResendEnvelopeparams->Correction = $correction; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 110. DocuSign API Developer Guide 110 // Send $response = $api->CorrectAndResendEnvelope($correctAndResendEnvelopeparams); DeleteEnvelopes DeleteEnvelopes deletes the specified envelopes from a folder. Schema: EnvelopeIds EnvelopeId DeleteEnvelopes Arg AccountId FolderType FolderName FolderFrom FolderPath FolderId Name Schema Type Description EnvelopeIds Array of EnvelopeIds An array of EnvelopeIds for the envelopes being deleted. AccountId String The account ID associated with the envelopes being deleted. FolderFrom FolderTypeInfo The folder with the envelopes to be deleted. Refer to the FolderTypeInfo section for more information. This method returns DeleteEnvelopeResponse with the result of the request. Sample Request XML: SOAPAction: "http://www.docusign.net/API/3.0/DeleteEnvelopes" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <DeleteEnvelopes xmlns="http://www.docusign.net/API/3.0"> <Arg> <EnvelopeIds> <EnvelopeId>string</EnvelopeId> <EnvelopeId>string</EnvelopeId> </EnvelopeIds> <AccountId>string</AccountId> <FolderFrom> <FolderType>RecycleBin or Draft or Inbox or SentItems or Normal</FolderType> <FolderName>string</FolderName> <FolderPath>string</FolderPath> <FolderId>string</FolderId> </FolderFrom> </Arg> </DeleteEnvelopes> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 111. DocuSign API Developer Guide 111 </soap:Body> </soap:Envelope> EnvelopeAuditEvents The EnvelopeAuditEvent API method enables API users to request the events performed on an envelope. The events are returned in an XML document. Schema Name Schema Type Description EnvelopeId DSXId Envelope ID of the envelope to return the events for. Sample Request XML: SOAPAction: "http://www.docusign.net/API/3.0/EnvelopeAuditEvents" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <EnvelopeAuditEvents xmlns="http://www.docusign.net/API/3.0"> <EnvelopeId>string</EnvelopeId> </EnvelopeAuditEvents> </soap:Body> </soap:Envelope> Rules for accessing envelope events. API user specific rules • The envelope ID passed to the API must be valid. • The envelope ID passed to the API must be accessible by the API user. • The user and account must be configured properly by DocuSign in order to enable this API. Rules for Exceptions thrown by the EnvelopeAuditEvents API • Envelope_Does_Not_Exist – invalid envelope ID passed. • User_Lacks_Permissions - The user making the API calls must have permissions to export Authoritative Copy Documents. Return XML for EnvelopeAuditEvents API Below is a sample of the XML returned: <DocuSignEnvelopeEvents EnvelopeId="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" xmlns=""> <Event> <logTime>2008-02-12T16:52:00.6430736-08:00</logTime> <Source>Web</Source> <UserName>User name here</UserName> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 112. DocuSign API Developer Guide 112 <Action>Registered</Action> <Message>The envelope was created by SS UI and API</Message> <EnvelopeStatus>Created</EnvelopeStatus> <ClientIPAddress>127.0.0.1</ClientIPAddress> <Information /> </Event> <Event> <logTime>2008-02-12T16:52:52.0519556-08:00</logTime> <Source>Web</Source> <UserName>The User</UserName> <Action>Sent Invitations</Action> <Message>The User sent an invitation to User email[the.user@docusign.com]</</Message> <EnvelopeStatus>Sent</EnvelopeStatus> <ClientIPAddress>127.0.0.1</ClientIPAddress> <Information>User email[the.user@docusign.com]</Information> </Event> </DocuSignEnvelopeEvents> Sample Code EnvelopeAuditEvents – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Request the audit history XmlNode result = _apiClient.EnvelopeAuditEvents(status.EnvelopeID); // Display audit events StringWriter stringWriter = new StringWriter(); XmlTextWriter xmlTextWriter = new XmlTextWriter(stringWriter); xmlTextWriter.Formatting = Formatting.Indented; result.WriteTo(xmlTextWriter); xmlTextWriter.Flush(); Console.Write(stringWriter.ToString()); EnvelopeAuditEvents – PHP // Create and send an envelope as shown in linked code $response = <create and send envelope>; $createResult = $response->CreateAndSendEnvelopeResult; // Send and request audit history $envelopeAuditEventsparams = new EnvelopeAuditEvents(); $envelopeAuditEventsparams->EnvelopeId = $createResult->EnvelopeID; $response = $api->EnvelopeAuditEvents($envelopeAuditEventsparams); GetConnectFailures GetConnectFailures retrieves a list of Connect post failures for the account and date range specified. Schema 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 113. DocuSign API Developer Guide 113 Name Schema Type Description AccountId String The account ID for the requested Connect post failures. DateFrom dateTime The start date and time for the Connect post failures search. DateTo dateTime The end date and time for the Connect post failure search. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/GetConnectFailures" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetConnectFailures xmlns="http://www.docusign.net/API/3.0"> <ConnectFailuresFilter> <AccountId>string</AccountId> <DateFrom>dateTime</DateFrom> <DateTo>dateTime</DateTo> </ConnectFailuresFilter> </GetConnectFailures> </soap:Body> </soap:Envelope> This method returns GetConnectFailureResults with an array of ConnectFailures. Each ConnectFailure instance has the elements shown below. Name Schema Type Description EnvelopeId String The envelope ID of the envelope status that failed to post. AccountId String The account ID associated with the envelope. Failed dateTime The date and time the original Connect post failed. Retried dateTime The date and time the last attempt to post. RetryCount Integer The number of times the Connect post has been retried. EnvelopeStatus The new envelope status for the failed Connect post. The possible values are: Any, Voided, Created, Deleted, Sent, Delivered, Signed, Completed, Declined, TimedOut, Template, or Processing Sender String The name of the envelope sender. Email String The email that sent the envelope. Subject String The envelope subject. Error String The error that caused the Connect post to fail. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 114. DocuSign API Developer Guide 114 Name Schema Type Description ConfigId String The identifier for the Connect configuration that failed. If an account has multiple Connect configurations, this value is used to to look up the Connect configuration for the failed post. ConfigUrl String The web address of the listener or Retrieving Service end point for Connect. GetStatusInDocuSignConnectFormat GetStatusInDocuSignConnectFormat API is reserved for future use. Name Schema Type Description EnvelopeId DSXId Envelope ID of the envelope to return the status for. GetRecipientAuthenticationStatusEx This method requests the details of authentication checks for a recipient. Schema Name Schema Type Description EnvelopeId DSXId The envelope ID associated with the recipient authentication check. RecipientEmail String The recipient’s email address. RecipientName String The recipient’s name RoutingOrder Integer Optional element. The recipient’s RoutingOrder in the envelope. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/GetRecipientAuthenticationStatusEx" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetRecipientAuthenticationStatusEx xmlns="http://www.docusign.net/API/3.0"> <Arg> <EnvelopeId>string</EnvelopeId> <RecipientName>string</RecipientName> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 115. DocuSign API Developer Guide 115 <RecipientEmail>string</RecipientEmail> <RoutingOrder>int</RoutingOrder> </Arg> </GetRecipientAuthenticationStatusEx> </soap:Body> </soap:Envelope> This method returns AuthenticationStatus with elements listed below. The response only returns the applicable authentication result. The result contains the authentication status, a date time stamp and authentication failure details (if provided). Name Schema Type Description AccessCodeResult EventResult Result for an access code authentication check, it returns: Status – Pass or Fail dateTime – The date/time of the event FailureDescription – A string with the details of a failed authentication, if provided. This is only provided in case of a failed authentication. VendorFailureStatusCode – A string with a vendor status code, if provided. This is only provided in case of a failed authentication. IDQuestionsResult EventResult Result for an ID question authentication check. It returns the same elements as shown in the AccessCodeResult above. IDLookupResult EventResult Result for an ID lookup authentication check. It returns the same elements as shown in the AccessCodeResult above. AgeVerifyResult EventResult Result for an age verification authentication check. It returns the same elements as shown in the AccessCodeResult above. STANPinResult EventResult Result for a Student Authentication Network (STAN) check. It returns the same elements as shown in the AccessCodeResult above. OFACResult EventResult Result for an Office of Foreign Asset Control (OFAC) check. It returns the same elements as shown in the AccessCodeResult above. PhoneAuthResult EventResult Result for a phone authentication check. It returns the same elements as shown in the AccessCodeResult above. LiveIDResult EventResult Result for a Live ID authentication check. It returns the same elements as shown in the AccessCodeResult above. FacebookResult EventResult Result for a Facebook authentication check. It returns the same elements as shown in the AccessCodeResult above. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 116. DocuSign API Developer Guide 116 Name Schema Type Description GoogleResult EventResult Result for a Google authentication check. It returns the same elements as shown in the AccessCodeResult above. LinkedinResult EventResult Result for a LinkedIn authentication check. It returns the same elements as shown in the AccessCodeResult above. SalesforceResult EventResult Result for a Salesforce authentication check. It returns the same elements as shown in the AccessCodeResult above. TwitterResult EventResult Result for a Twitter authentication check. It returns the same elements as shown in the AccessCodeResult above. OpenIDResult EventResult Result for an Open ID authentication check. It returns the same elements as shown in the AccessCodeResult above. AnySocialIDResult EventResult Result for any other social ID authentication check. It returns the same elements as shown in the AccessCodeResult above. YahooResult EventResult Result for a Yahoo authentication check. It returns the same elements as shown in the AccessCodeResult above. MoveEnvelopes MoveEnvelopes is used to move envelopes between folders. Schema 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 117. DocuSign API Developer Guide 117 Name Schema Type Description EnvelopeIds Array of EnvelopeIds An array of EnvelopeIds for the envelopes being moved. AccountId String The account ID associated with the envelopes. FolderFrom FolderTypeInfo The folder where the envelopes are currently located. Refer to the FolderTypeInfo section for more information. FolderTo FolderTypeInfo The folder to which the envelopes are being moved. Refer to the FolderTypeInfo section for more information. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/MoveEnvelopes" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <MoveEnvelopes xmlns="http://www.docusign.net/API/3.0"> <Arg> <EnvelopeIds> <EnvelopeId>string</EnvelopeId> <EnvelopeId>string</EnvelopeId> </EnvelopeIds> <AccountId>string</AccountId> <FolderFrom> <FolderType>RecycleBin or Draft or Inbox or SentItems or Normal</FolderType> <FolderName>string</FolderName> <FolderPath>string</FolderPath> <FolderId>string</FolderId> </FolderFrom> <FolderTo> <FolderType>RecycleBin or Draft or Inbox or SentItems or Normal</FolderType> <FolderName>string</FolderName> <FolderPath>string</FolderPath> <FolderId>string</FolderId> </FolderTo> </Arg> </MoveEnvelopes> </soap:Body> </soap:Envelope> This method returns MoveEnvelopeResponse with the result of the request. PublishConnectFailures PublishConnectFailures requests a list of Connect post failures for the set of envelopes included in the request. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 118. DocuSign API Developer Guide 118 Schema Name Schema Type Description AccountId String The account ID associated with the requested Connect post failures. Synchronous Boolean If true, the system attempts to publish failed posts again and returns the status of the post attempt. EnvelopeIds Array of EnvelopeIds The array of EnvelopeIds for the envelopes included in the request. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/PublishConnectFailures" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <PublishConnectFailures xmlns="http://www.docusign.net/API/3.0"> <PublishConnectFailuresFilter> <AccountId>string</AccountId> <Synchronous>boolean</Synchronous> <EnvelopeIds> <EnvelopeId>string</EnvelopeId> <EnvelopeId>string</EnvelopeId> </EnvelopeIds> </PublishConnectFailuresFilter> </PublishConnectFailures> </soap:Body> </soap:Envelope> This method returns PublishConnectFailuresResponse with an array of PublishConnectFailuresResult with the results shown below. Name Schema Type Description EnvelopeId EnvelopeId The envelope ID associated with the Connect post. ConfigId String The identifier for the Connect configuration that failed. If an account has multiple Connect configurations, this value is used to to look up the Connect configuration for the failed post. ConfigUrl String The web address of the listener or Retrieving Service end point for Connect. Status ConnectPublishStatus The status of the Connect post. The possible values are: Queued, Success, or Fail. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 119. DocuSign API Developer Guide 119 Name Schema Type Description StatusMessage String If the ConnectPublishStatus is Queued or Success, the StatusMessage is empty. If the ConnectPublishStatus is Fail and the envelope is not part of the account, the StatusMessage is "Envelope Not In Account." RequestCorrectToken This call returns a token to place a user in a web session in Advanced Correct mode on an envelope. Name Schema Type Description EnvelopeID String Identifies the envelope to be corrected. SuppressNavigation Boolean Sets whether the window is displayed with or without dressing. ReturnURL String Identifies the return point after correcting the envelope. The URL will have an event passed to it as a query parameter. The parameter will be named “event”, see “In-session sending events” below for description of the valid events. The DocuSign Envelope Id will also be returned in the “envelopeId” parameter. In-Session Sending Events Events returned on the ReturnURL as a query string parameter. The event is sent in the parameter named “event”. The ReturnURL is called with the event on any completion state of the envelope send. Valid events can be found in the schema type InSessionSendEvent in the DocuSign API XSD. Event Description Send User sends the envelope. Save User saves a draft of the envelope. Cancel User cancels the sending transaction. No envelope ID returned. Error Error performing the send. SessionEnd Sending session ended before the user completed. Sample Code RequestCorrectToken – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Request the token with the envelope ID and a return URL String token = _apiClient.RequestCorrectToken(status.EnvelopeID, true, baseURL); // Display token Console.WriteLine("The token returned is {0}", token); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 120. DocuSign API Developer Guide 120 RequestCorrectToken – PHP // Create and send an envelope s shown in linked code $response = <create and send envelope>; $createResult = $response->CreateAndSendEnvelopeResult; // Request the token with the envelope ID and a return URL $requestCorrectTokenparams = new RequestCorrectToken(); $requestCorrectTokenparams->EnvelopeID = $createResult->EnvelopeID; $requestCorrectTokenparams->ReturnURL = $baseURL; $requestCorrectTokenparams->SuppressNavigation = true; $response = $api->RequestCorrectToken($requestCorrectTokenparams); RequestStatus and RequestStatusEx The RequestStatus and RequestStatusEx methods can be used to query the status of existing envelopes. The RequestStatus method takes the element EnvelopeID for the envelope for which the status is requested. This Envelope ID must refer to an envelope created via the Create Envelope/CreateAndSendEnvelope method call. Schema RequestStatus RequestStatusEx Name Schema Type Description EnvelopeID DSXId The Envelope ID for which to retrieve status. Sample Request XML SOAPAction: “http://www.docusign.net/API/3.0/RequestStatus” <?xml version=”1.0” encoding=”utf-8”?> <soap:Envelope xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:xsd=”http://www.w3.org/2001/XMLSchema” xmlns:soap=”http://schemas.xmlsoap.org/soap/envelope/”> <soap:Body> <RequestStatus xmlns=”http://www.docusign.net/API/3.0”> <EnvelopeID>string</EnvelopeID> </RequestStatus> </soap:Body> </soap:Envelope> Sample Code RequestStatus – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus eStatus = <create and send envelope>; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 121. DocuSign API Developer Guide 121 // Request the status of that envelope DocuSignWeb.EnvelopeStatus status = _apiClient.RequestStatus(eStatus.EnvelopeID); // Display the status for the envelope Console.WriteLine("Status for envelope ID {0} is {1}", eStatus.EnvelopeID, status.Status); RequestStatus – PHP // Create and send envelope as shown in linked code $response = <create and send envelope>; $createResult = $response->CreateAndSendEnvelopeResult; // Request the status of that envelope $requestStatusparams = new RequestStatus(); $requestStatusparams->EnvelopeID = $createResult->EnvelopeID; $result = $api->RequestStatus($requestStatusparams); RequestStatusEx – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus eStatus = <create and send envelope>; // Request the status of that envelope DocuSignWeb.EnvelopeStatus status = _apiClient.RequestStatusEx(eStatus.EnvelopeID); // Confirm that the status of the envelope is sent Console.WriteLine("Status for envelope ID {0} is {1}", eStatus.EnvelopeID, status.Status); Console.WriteLine("Account status is {0}", status.RecipientStatuses[0].AccountStatus); RequestStatusEx – PHP // Create and send envelope as shown in linked code $response = <create and send envelope>; $createResult = $response->CreateAndSendEnvelopeResult; // Request the status of that envelope $requestStatusExparams = new RequestStatusEx(); $requestStatusExparams->EnvelopeID = $createResult->EnvelopeID; $result = $api->RequestExStatus($requestStatusparams); RequestStatuses and RequestStatusesEx This method is used to request the status of multiple envelopes in a single call. Up to 200 envelopes can be retrieved within a single call. If more results are available, subsequent calls can be used to retrieve the next 200, etc. Request Envelope Statuses Notes The SOAP calls for RequestStatuses(Ex) and RequestStatusCodes use certain filters to find results. In some cases requests are check for “any status change” instead of the just the single status requested. In these cases, more envelopes might be returned by the request than otherwise would be. For example, for a request with the begin date is set to Jan 1st, an end date set to Jan 7th and the StatusQualifier set to “Delivered” – the response set might contain envelopes that were created during that time period, but not delivered during the time period. To avoid unnecessary database queries, the DocuSign system checks requests to ensure that the added filters will not result in a zero-size response before acting on the request. The following table 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 122. DocuSign API Developer Guide 122 shows the valid envelope statuses (in the Valid Current Statuses column) for the status qualifiers in the request. If the status and status qualifiers in the API request do not contain any of the values shown in the valid current statuses column, then an empty list is returned. For example, a request with a StatusQualifier of “Delivered” and a status of “Created,Sent”, DocuSign will always return an empty list. This is because the request essentially translates to: find the envelopes that were Delivered between the begin and end dates that have a current status of Created or Sent, and since an envelope that has been delivered can never have a status of Created or Sent, a zero-size response would be generated. In this case, DocuSign does not run the request, but just returns the empty list. Client applications should check that the statuses they are requesting make sense for a given status qualifier. BeginDateTime - Effective Status Qualifier Valid Current Statuses StatusQualifier Any (changed) StatusChanged Any, Created, Sent, Delivered, Signed, Completed, Declined, Voided, Deleted Created Created Any, Created, Sent, Delivered, Signed, Completed, Declined, Voided, Deleted Sent Sent Any, Sent, Delivered, Signed, Completed, Declined, Voided, Deleted Delivered StatusChanged Any, Delivered, Signed, Completed, Declined, Voided, Deleted Signed StatusChanged Any, Signed, Completed, Declined, Voided, Deleted Completed Completed Any, Completed, Declined, Voided, Deleted Declined StatusChanged Any, Declined, Deleted TimedOut - Always return StatusChanged Any, Voided, Deleted zero results Voided Voided Any, Voided, Deleted Deleted StatusChanged Any, Deleted 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 123. DocuSign API Developer Guide 123 Schema RequestStatuses RequestStatusesEx (EnvelopeStatusFilter is the same as above) Name Schema Type Description UserInfo UserInfo This would be the username Email pair of the person whose envelope details are requested. AccountId DSXId Account Id for which envelope status is requested. BeginDateTime dateTime Specifies the start date of the date range for which envelopes are requested. The date range also can have a status qualifier attribute, which specifies the envelope statuses being requested. The StatusQualifier options are: Completed, Created (the default and what is used if Template or Processing is passed in), Sent, and Voided; any other value becomes StatusChanged. EndDateTime dateTime Specifies the end date of the date range for which envelopes are requested. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 124. DocuSign API Developer Guide 124 Name Schema Type Description Statuses EnvelopeStatusCode Specifies the status of the envelope at the time of request. This is enumerator controlled. EnvelopeIds DSXId Specifies the envelope Ids of envelopes for which status needs to be known. StartAtIndex nonNegativeInteger If envelope status result sets exceed 200 envelopes, this element can be used to specify that the method should return envelopes at the specified index. The first index is 0, and should be used in the first call to RequestStatuses. Typically this number is a multiple of 200. ACStatus EnvelopeACStatusCode Specifies the Authoritative Copy Status for the envelopes. The possible values are: Unknown, Original, Transferred, AuthoritativeCopy, AuthoritativeCopyExportPending, AuthoritativeCopyExported, DepositPending, Deposited, DepositedEO, or DepositFailed. Sample Code RequestStatuses – C# // Create a filter using account ID and today as a start time DocuSignWeb.EnvelopeStatusFilter filter = new DocuSignWeb.EnvelopeStatusFilter(); filter.AccountId = _accountId; filter.BeginDateTime = new DocuSignWeb.EnvelopeStatusFilterBeginDateTime(); filter.BeginDateTime.Value = DateTime.Today; // Request all envelopes that match the filter DocuSignWeb.FilteredEnvelopeStatuses statuses = _apiClient.RequestStatuses(filter); Console.WriteLine("We have {0} statuses that match account ID {1}", statuses.EnvelopeStatuses.Length, _accountId); foreach (DocuSignWeb.EnvelopeStatus eStatus in statuses.EnvelopeStatuses) { Console.WriteLine("tEnvelope with ID {0} has status {1}", eStatus.EnvelopeID, eStatus.Status.ToString()); } RequestStatuses – PHP // Create a filter using account ID and today as a start time $envStatusFilter = new EnvelopeStatusFilter(); $envStatusFilter->AccountId = $AccountID; $beginDateTime = new EnvelopeStatusFilterBeginDateTime(); $beginDateTime->_ = todayXsdDate(); // note that this helper function // is in CodeSnippets/include/utils.php // in the PHP SDK $envStatusFilter->BeginDateTime = $beginDateTime; // Send $requestStatusesparams = new RequestStatuses(); $requestStatusesparams->EnvelopeStatusFilter = $envStatusFilter; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 125. DocuSign API Developer Guide 125 $response = $api->RequestStatuses($requestStatusesparams); RequestStatusesEx – C# // Create a filter using account ID and today as a start time DocuSignWeb.EnvelopeStatusFilter filter = new DocuSignWeb.EnvelopeStatusFilter(); filter.AccountId = _accountId; DocuSignWeb.EnvelopeStatusFilterBeginDateTime begin = new DocuSignWeb.EnvelopeStatusFilterBeginDateTime(); begin.Value = DateTime.Today; filter.BeginDateTime = begin; // Request all envelopes that match the filter DocuSignWeb.FilteredEnvelopeStatuses statuses = _apiClient.RequestStatusesEx(filter); // Display information about the statuses Console.WriteLine("We have {0} statuses that match account ID {1}", statuses.EnvelopeStatuses.Length, statuses.EnvelopeStatusFilter.AccountId); foreach (DocuSignWeb.EnvelopeStatus eStatus in statuses.EnvelopeStatuses) { Console.WriteLine("tEnvelope with ID {0}", eStatus.EnvelopeID); foreach (DocuSignWeb.DocumentStatus dStatus in eStatus.DocumentStatuses) { Console.WriteLine("ttDocument with ID {0} has name {1}", dStatus.ID, dStatus.Name); } } RequestStatusesEx – PHP // Create a filter using account ID and today as a start time $envStatusFilter = new EnvelopeStatusFilter(); $envStatusFilter->AccountId = $AccountID; $beginDateTime = new EnvelopeStatusFilterBeginDateTime(); $beginDateTime->_ = todayXsdDate(); // link to Helper Functions $envStatusFilter->BeginDateTime = $beginDateTime; // Send $RequestStatusesExparams = new RequestStatusesEx(); $RequestStatusesExparams->EnvelopeStatusFilter = $envStatusFilter; $response = $api->RequestStatusesEx($RequestStatusesExparams); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 126. DocuSign API Developer Guide 126 EnvelopeStatus Shown below is the schema for envelope status, which is the response schema to the RequestStatus. Schema 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 127. DocuSign API Developer Guide 127 The RequestStatus response contains a snapshot of the status of the envelope at the time the call was issued. It contains the following attributes and elements: Name Schema Type Description RecipientStatuses RecipientStatus Includes the status of each of the envelope recipients. See the RecipientStatus section below for more information. TimeGenerated dateTime Specifies the time of creation of the envelope EnvelopeID DSXId The Envelope ID of the envelope who’s status is provided. Subject String The envelope subject, as provided by the envelope creator. UserName UserName Contains the user name of the person who created the envelope Email Email Contains the email of the person who created the envelope Status EnvelopeStatusCode Status of the envelope at that specific time. Enumeration values could be Created, Deleted, Sent, Delivered, Signed, Completed, Declined, Voided, TimedOut, AuthoritativeCopy, TransferCompleted, Template, and Correct. See Envelope Status Code Descriptions for information about the codes. The <any> element has been included to enable document author to extend his/her document with elements not specified by the schema. Created dateTime Date and time when the envelope was created. Deleted dateTime Date and time when the envelope was deleted. Sent dateTime Date and time when the envelope was sent. Delivered dateTime Last time the envelope was viewed by a signer. Signed dateTime Last time a signer signed the document. Completed dateTime Date and time when the envelope is completed. Declined dateTime Date and time when the envelope was declined by the recipient. TimedOut dateTime Date and time with the envelope is timed out ACStatus String Returns any one of the following Authoritative copy status; DepositPending, Deposited, DepositedEO or DepositFailed ACStatusDate dateTime The time at with authoritative copy was created ACHolder String Contains the user name of the authoritative copy holder. ACHolderEmail LongString Contains the email of the authoritative copy holder. ACHolderLocation String Contains the location of the authoritative copy holder. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 128. DocuSign API Developer Guide 128 Name Schema Type Description SigningLocation SigningLocationCode Specifies the physical location of the signer. Enumeration values are InPerson and Online SenderIPaddress String IP address of the user who sent the envelope EnvelopePDFHash String DocuSign’s internal hash of the encrypted document. CustomField CustomField Each custom field defined for the envelope is returned. In addition to the name and value of the field, it will include information as to whether the field was required to be provided. Also it mentions if it is shown in the DocuSign user interface. VaultingDetails VaultingDetails This complex type contains information about EOD Transaction name, transaction ID and document profile ID. EnvelopeIdStamping Boolean Specifies if the envelope stamping feature is enabled or not. AuthoritativeCopy Boolean Return value true if the authoritative copy is created else returns false. EnvelopeAttachment Attachment It would be possible to return attachments with envelope. This complex element contains data in base64Binary. It also contains label and type for the attachment. DocumentStatuses DocumentStatus Only returned when calling RequestStatusEx and RequestStatusesEx. DocumentStatus includes: ID – this is the ID from the source system. Name – name of the document. TemplateName – template the document originated from if the envelope was created using CreateEnvelopeFromTemplates. Sequence – order in which the document appears in the envelope. FormData FormData Reserved for future use. Will only be returned with the GetStatusInDocuSignConnectFormat API. This will return all the DocuSign Secure Fields and DocuSign PowerForms fields as XML. Envelope Status Code Descriptions The table below provides descriptions of the Envelope Status Codes. Code Description Created The envelope is in a draft state and has not been sent out for signing. Deleted This is a legacy status and is no longer used. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 129. DocuSign API Developer Guide 129 Code Description Sent An email notification with a link to the envelope has been sent to at least one recipient. The envelope remains in this state until all recipients have viewed it at a minimum. Delivered All recipients have viewed the document(s) in an envelope through the DocuSign signing web site. This is not an email delivery of the documents in an envelope. Signed The envelope has been signed by all the recipients. This is a temporary state during processing, after which the envelope is automatically moved to Completed status. Completed The envelope has been completed by all the recipients. Declined The envelope has been declined for signing by one of the recipients. Voided The envelope has been voided by the sender TimedOut This is a legacy status and is no longer used. AuthoritativeCopy The envelope is in an Authoritative state. Only “Copy” views of the documents will be shown. TransferCompleted The envelope has been transferred out of DocuSign to another authority. Template The envelope is a Template Correct The envelope has been opened by the sender for correction. The signing is stopped for envelopes with this status. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 130. DocuSign API Developer Guide 130 RecipientStatus 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 131. DocuSign API Developer Guide 131 Name Schema Type Description Type RecipientTypeCode This element controlled by enumerator tells the role of the recipient. It could be Signer, CarbonCopy, CertifiedDelivery, InPersonSigner, Agent, Editor or Intermediary. For InPersonSigner: The Email element should be that of the “Signing Host” (the person who will receive the email and assist the signer with the in-person signing process. The UserName element should be that of the “Signing Host” (the Email and UserName combination must match an active DocuSign user). Email Email The recipient’s email address. UserName UserName User name of recipient. RoutingOrder PositiveShort Routing order of the recipient in the envelope. Sent dateTime Date and time when the envelope was sent. Delivered dateTime Date and time when the envelope was viewed by the recipient. Signed dateTime Date and time when the envelope was signed by the recipient. Declined dateTime Date and time when the envelope was declined by the recipient. DeclineReason String The reason given by the recipient while declining the envelope. Status RecipientStatusCode Specifies the status of the recipient at the time of request. It could be Created, Sent, Delivered, Signed, Declined, Completed, FaxPending or AutoResponded. See Recipient Status Code Descriptions for information about the codes. AutoRespondedReason String Only active if the Status is AutoResponded. Contains the SMTP message text returned from a recipient's automatic response. Recipient IPAddress String The IP address of the recipient’s most recent access of this envelope. ClientUserID LongString Tells if the recipient is captive or not. If the ClientUserId is not null then the recipient is captive. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 132. DocuSign API Developer Guide 132 Name Schema Type Description CustomField LongString Each custom field defined for the envelope is returned. In addition to the name and value of the field, it will include information as to whether the field was required to be provided. Also it mentions if it is shown in the DocuSign user interface. AutoNavigation Boolean If returns true then autonavigation feature is enabled for the recipient. IDCheckInformation IDCheckInformationInput Returns the following information about the recipient; Address (i.e. Street1, Street2, City, State, Zip and ZipPlus4), DOB and last four digits of SSN. RecipientAuthenticationStatus AuthenticationStatus Returns the details about recipient authentication. It includes information regarding the IdCheck, Access Code and IDLookUp results. Tells if the status of the above check is passed or failed and also does a timestamp. TabStatuses TabStatus Returns the status of the tabs. See the TabStatus section below for more information. RecipientAttachment Attachment This complex element contains data in base64Binary. It also contains label and type for the attachment. AccountStatus String Only returned when calling RequestStatusEx and RequestStatusesEx. Returns the status of the recipient’s account. EsignAgreementInformation EsignAgreementInformation Only returned when calling RequestStatusEx and RequestStatusesEx. Only returned if the recipient agreed. Returns the agreement information of the recipient. Returned items: AccountEsignID – account agreement ID. AgreementDate – date accepted. UserEsignID – user agreement ID. FormData FormData Reserved for future use. Will only be returned with the GetStatusInDocuSignConnectFormat API. This will return all the DocuSign Secure Fields for the recipient. RecipientId String Only returned when calling RequestStatusEx and RequestStatusesEx. Returns the DocuSign recipient Id mapped to the recipient. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 133. DocuSign API Developer Guide 133 Name Schema Type Description DeliveryMethod Delivery Method This shows the delivery method used for the recipient. The two enumerations are Email or Fax. FaxNumber String The fax number for the recipient. This is only active if the DeliveryMethod is Fax. Recipient Status Code Descriptions The table below provides descriptions of the Recipient Status Codes. Code Description Created The recipient is in a draft state. This is only associated with draft envelopes (envelopes with a Created status). Sent The recipient has been sent an email notification that it is their turn to sign and envelope. Delivered The recipient has viewed the document(s) in an envelope through the DocuSign signing web site. This is not an email delivery of the documents in an envelope. Signed The recipient has completed (signed) all required tags in an envelope. . This is a temporary state during processing, after which the recipient is automatically moved to Completed. Declined The recipient declined to sign the document(s) in the envelope. Completed The recipient has completed their actions (signing or other required actions if not a signer) for an envelope. FaxPending The recipient has finished signing and the system is waiting a fax attachment by the recipient before completing their signing step. AutoResponded The recipient’s email system auto-responded (bounced-back) to the email from DocuSign. This status is used in the web console to inform senders about the bounced-back email. This is only used if “Send-on-behalf-of” is turned off for the account. TabStatus The TabStatus element contains information on tabs in the document. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 134. DocuSign API Developer Guide 134 Name Schema Type Description TabType TabTypeCode Returns the tab type. This element is enumerator controlled and can have following values; InitialHere, SignHere, FullName, Company, Title, DateSigned, InitialHereOptional, EnvelopeID, Custom, SignerAttachment, SignHereOptional, Approve or Decline. Note that FirstName, LastName and EmailAdress tab types are not returned in this SOAP version. Status String The status of individual tabs. It can have the enumeration values; Active, Signed, Declined and N/A 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 135. DocuSign API Developer Guide 135 Name Schema Type Description XPosition/YPosition double X position and Y position of the field. The X and Y positions originate at the upper left of the page and indicate the bottom left-most point of the field. For text fields, this is the upper left of the first letter of the text string. For signature fields, this is the upper left of the first letter of the signature stamp and does NOT include signature stamp image decoration which can surround the signature text. Signed dateTime Date and time when the document was signed by the recipient. TabLabel String This would be the label of the custom tab. TabName String This would be the name of the custom tab. TabValue String This element contains the value of the custom tab. DocumentID PositiveInteger Only returned when calling RequestStatusEx and RequestStatusesEx. Returns the originating document ID. PageNumber PositiveInteger Only returned when calling RequestStatusEx and RequestStatusesEx. Returns the page number the tab is on. OriginalValue String Only returned when calling RequestStatusEx and RequestStatusesEx. Original value before signing. ValidationPattern String Only returned when calling RequestStatusEx and RequestStatusesEx. Validation pattern that was originally passed in, if any. RoleName String Only returned when calling RequestStatusEx and RequestStatusesEx. Only returned when the envelope originated from CreateEnvelopeFromTemplates. RoleName that this tab is associated with in the originating template. ListValues String Only returned when calling RequestStatusEx and RequestStatusesEx. Returns the list values passed in when the envelope was created. ListSelectedValue String Only returned when calling RequestStatusEx and RequestStatusesEx. Returns the selected value from ListValues. ScaleValue Decimal Represents a decimal value of 0.0 to 1.0 position of the webcontrol scaling slider. A value of 1.0 represents full size. CustomTabType CustomTabType Returns the custom tab type. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 136. DocuSign API Developer Guide 136 AuthenticationStatus The AuthenticationStatus element contains information on the recipient authentication status. This only returns the applicable authentication result. Name Schema Type Description AccessCodeResult EventResult Result for an access code authentication check, it returns: Status – Pass or Fail dateTime – The date/time of the event FailureDescription – A string with the details of a failed authentication, if provided. This is only provided in case of a failed authentication. VendorFailureStatusCode – A string with a vendor status code, if provided. This is only provided in case of a failed authentication. IDQuestionsResult EventResult Result for an ID question authentication check. It returns the same elements as shown in the AccessCodeResult above. IDLookupResult EventResult Result for an ID lookup authentication check. It returns the same elements as shown in the AccessCodeResult above. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 137. DocuSign API Developer Guide 137 Name Schema Type Description AgeVerifyResult EventResult Result for an age verification authentication check. It returns the same elements as shown in the AccessCodeResult above. STANPinResult EventResult Result for a Student Authentication Network (STAN) check. It returns the same elements as shown in the AccessCodeResult above. OFACResult EventResult Result for an Office of Foreign Asset Control (OFAC) check. It returns the same elements as shown in the AccessCodeResult above. PhoneAuthResult EventResult Result for a phone authentication check. It returns the same elements as shown in the AccessCodeResult above. LiveIDResult EventResult Result for a Live ID authentication check. It returns the same elements as shown in the AccessCodeResult above. FacebookResult EventResult Result for a Facebook authentication check. It returns the same elements as shown in the AccessCodeResult above. GoogleResult EventResult Result for a Google authentication check. It returns the same elements as shown in the AccessCodeResult above. LinkedinResult EventResult Result for a LinkedIn authentication check. It returns the same elements as shown in the AccessCodeResult above. SalesforceResult EventResult Result for a Salesforce authentication check. It returns the same elements as shown in the AccessCodeResult above. TwitterResult EventResult Result for a Twitter authentication check. It returns the same elements as shown in the AccessCodeResult above. OpenIDResult EventResult Result for an Open ID authentication check. It returns the same elements as shown in the AccessCodeResult above. AnySocialIDResult EventResult Result for any other social ID authentication check. It returns the same elements as shown in the AccessCodeResult above. YahooResult EventResult Result for a Yahoo authentication check. It returns the same elements as shown in the AccessCodeResult above. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 138. DocuSign API Developer Guide 138 FilteredEnvelopeStatuses Schema Name Schema Type Description ResultSetSize Integer This element contains the total number of envelopes in the total result set. If this number exceeds 200 then at most 200 results is returned in this request. EnvelopeStatusFilter EnvelopeStatusFilter This element contains the filter criteria exactly as passed in the request. See the EnvelopeStatusFilter information in the RequestStatuses and RequestStatuesEx section above for more information. EnvelopeStatus EnvelopeStatus An EnvelopeStatus element (exactly as defined by the EnvelopeStatus method response above) is returned for each of the envelopes in the result set, up to a maximum size of 200 elements. See the EnvelopeStatus section above for more information. Rules for RequestStatus, RequestStatuses, RequestStatusEx, RequestStatusesEx, EnvelopeStatus and FilteredEnvelopeStatuses API user specific rules • The EnvelopeID, UserName and Email specified in the RequestStatus, EnvelopeStatus RecipientStatus, and RequestStatuses methods shall not exceed 100 characters. • AccountID specified in RequestStatuses should not exceed 100 characters. Rules for Exceptions thrown by the API • An envelope having the specified EnvelopeID must exist in the system. Else, an exception with the error message “Envelope_Does_Not_Exist” is thrown. • In RequestStatus method User defined by UserName and Email pair should have the permission to request for envelope status. Only sender recipient or a user in the same account as sender with account wide permission will be able to request for the status. Else an exception is thrown with error message “User_Lacks_Permissions”. • In the RequestStatuses method, user defined by UserName and Email pair should belong to the account specified by AccountID. Else an exception with error message “User_Does_Not_Belong_To_Specified_Account” thrown. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 139. DocuSign API Developer Guide 139 • In the RequestStatuses method the envelopes for which the status is requested should owned by the account in the specified AccountID. Else an exception is thrown with error message “Account_Not_Authorized_For_Envelope”. GetFolderList and GetFolderItems The GetFolderList and GetFolderItem methods are used to retrieve the list of folders, including shared folders, and envelopes in the folders. Using these calls is a more efficient way to get a list of envelopes than using RequestStatuses to request individual envelope statuses. GetFolderList GetFolderList requests the list of all folders, including shared folders, available for the account. Schema Name Schema Type Description AccountId DSXId The account ID associated with the requested folders. IncludeHierarchy Boolean If true, the folder’s hierarchical positions are returned. AvailableFolders This is the response to a GetFolderList request and provides the list of folders, including shared folders, for the requestor. Name Schema Type Description Folders Folder An array of Folder objects with the FolderOwner and FolderTypeInfo. Folder Provides the Folder Owner and Folder Type information. Name Schema Type Description FolderOwner String The name of the user that currently owns folder. FolderTypeInfo FolderTypeInfo The type of folder and in some cases the name of the folder. Values can be RecycleBin, Draft, Inbox, SentItems or Normal. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 140. DocuSign API Developer Guide 140 FolderTypeInfo Provides the Folder Type information and, if the Folder Type is Normal, the Folder Name. Name Schema Type Description FolderType FolderType The type of folder based on the GetFolders call. Values can be RecycleBin, Draft, Inbox, SentItems or Normal. FolderName String The name of the folder. This only appears if the FolderType is Normal. FolderPath String the hierarchical path to the folder, comprised of bar (|) delimited FolderIds (for example: grandparent_folder|parent_folder|folder) FolderId String The folder’s (Guid) identifier. GetFolderItems GetFolderItems requests all the envelopes in a specified folder for the requestor or a Folder Owner. Schema Name Schema Type Description AccountId DSXId The account ID about which the call is requesting folder information. This is used in conjunction with the user passed in the API request. FolderOwner String Optional field. The name of the user that currently owns the requested folders. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 141. DocuSign API Developer Guide 141 Name Schema Type Description FolderTypeInfo FolderTypeInfo Optional FolderTypeInfo object. The type of folder and in some cases the name of the folder. Values can be RecycleBin, Draft, Inbox, SentItems or Normal. If no value is entered, the default search is all folders. See FolderTypeInfo for more information. StartPosition Integer The position of the folder items to return. This is used for repeated calls, when the number of envelopes returned is too much for one return (calls return 100 envelopes at a time). The default value is 0. FromDate dateTime Optional field. Only return items on or after this date. If no value is provided, the default search is the previous 30 days. ToDate dateTime Optional field. Only return items up to this date. If no value is provided, the default search is to the current date. SearchText String Optional field. The search text used to search the items of the envelope. The search looks at recipient names and emails, envelope custom fields, sender name, and subject. Status String Optional field. The current status of the envelope. If no value is provided, the default search is all/any status. FolderResults This is the response for a GetFolderItems request and provides the list of envelopes in the requested folder(s) for the requestor. Name Schema Type Description ResultSetSize Integer The total number of envelopes in the folder for the dates requested. StartPosition Integer The starting position of the folder items returned (only 100 results are returned at a time). EndPosition Integer The end position of the folder items returned. FolderItems FolderItem Provides information about the envelopes in the specified folder. FolderTypeInfo FolderTypeInfo The type of folder and in some cases the name of the folder. Values can be RecycleBin, Draft, Inbox, SentItems or Normal. See FolderTypeInfo for more information. FolderItem FolderItem provides the information about each envelope in a folder. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 142. DocuSign API Developer Guide 142 Name Schema Type Description Owner String The name of the user that currently owns the envelope. EnvelopeID LocalId The unique ID for the envelope. Status String The current status of the envelope. SenderName String The name of the sender of the envelope. SenderEmail String The email for the sender of the envelope. SenderCompany String The company name of the sender of the envelope. RecipientStatuses RecipientStatus A complex element that contains the status of each of the envelope recipients CustomFields CustomField A complex element that contains a list of names and values for any custom fields. Created dateTime Date and time when the envelope was created. Sent dateTime Date and time when the envelope was sent. Completed dateTime Date and time when the envelope was completed. Subject String The envelope subject, as provided by the envelope creator. Code Samples GetFolderList – C# // Create the folders filter with an account ID DocuSignWeb.FoldersFilter filter = new DocuSignWeb.FoldersFilter(); filter.AccountId = _accountId; // Now, call the method to get a list of the folders on the // specified account DocuSignWeb.AvailableFolders folders = _apiClient.GetFolderList(filter); // Everyone will at least have the folders: // Draft, Sent Items, Inbox and Deleted Items // Print out some information about the returned folders Console.WriteLine("The folders available on account {0} are:", _accountId); foreach (DocuSignWeb.Folder folder in folders.Folders) { Console.WriteLine("t{0} owns folder {1}", folder.FolderOwner.UserName, folder.FolderTypeInfo.FolderName); } GetFolderList – PHP // Create the folders filter with an account ID $filter = new FoldersFilter(); $filter->AccountId = $AccountID; // Send $getFolderListparams = new GetFolderList(); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 143. DocuSign API Developer Guide 143 $getFolderListparams->FoldersFilter = $filter; $response = $api->GetFolderList($getFolderListparams); GetFolderItems – C# // Create the folder filter to specify the scope of your search // Here, we are limiting the item search to the inbox // You can also limit by owner, date, status and position DocuSignWeb.FolderFilter filter = new DocuSignWeb.FolderFilter(); filter.AccountId = _accountId; filter.FolderTypeInfo = new DocuSignWeb.FolderTypeInfo(); filter.FolderTypeInfo.FolderType = DocuSignWeb.FolderType.Inbox; // Now, call the method with the filter we created DocuSignWeb.FolderResults results = _apiClient.GetFolderItems(filter); // If there are results, print out the details if (results.ResultSetSize > 0) { // Loop through and print out some information about the results Console.WriteLine("Envelopes in the inbox are:"); foreach (DocuSignWeb.FolderItem item in results.FolderItems) { Console.WriteLine("tEnvelope {0} has status of: {1}", item.EnvelopeId, item.Status); } } GetFolderItems - PHP // Create the folder filter to specify the scope of your search // Here, we are limiting the item search to the inbox // You can also limit by owner, date, status and position $filter = new FolderFilter(); $filter->AccountId = $AccountID; $filter->StartPosition = 0; $filterTypeInfo = new FolderTypeInfo(); $filterTypeInfo->FolderType = FolderType::Inbox; $filter->FolderTypeInfo = $filterTypeInfo; // Send $getFolderItemsparams = new GetFolderItems(); $getFolderItemsparams->FolderFilter = $filter; $response = $api->GetFolderItems($getFolderItemsparams); Ping The Ping API method enables API users make a simple call to the API service to determine its active state. Schema Sample Request XML: SOAPAction: "http://www.docusign.net/API/3.0/Ping" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Ping xmlns="http://www.docusign.net/API/3.0" /> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 144. DocuSign API Developer Guide 144 </soap:Body> </soap:Envelope> Return XML This method simply returns “true” in the result XML if the calling application was able to reach it. PurgeDocuments This method can be used to purge envelope documents from the DocuSign system. When the PurgeDocuments method is used, the envelope documents are placed in a purge queue for deletion in 14 days. A warning email notification is sent to the sender and recipients associated with the envelope notifying them that the envelope document will be deleted in 14 days and providing a link to the documents. Another email is sent 7 days later with the same message. At the end of the 14-day period, the envelope documents are deleted from the system. The envelope information for the document will remain, but the documents are removed. Note: If you set up a Document Retention policy for your account, by specifying the number of days to retain documents in the Account Preferences Features section, at the end of the retention period the documents are placed on that 14-day purge queue and the warning emails are sent. So in effect, setting Document Retention policy is the same as setting a schedule for calling PurgeDocuments. Schema Name Schema Type Description EnvelopeId DSXId Envelope ID to purge the documents from. This method returns PurgeDocumentStatus upon execution completion. PurgeDocumentsStatus Schema Name Schema Type Description PurgeDocumentSuccess Boolean True if successful. PurgeDocumentError String If PurgeDocumentSuccess is false an error description is returned. Rules and Exceptions for PurgeDocuments • Envelope_Does_Not_Exist – invalid envelope ID passed. This exception will be thrown. • User_Lacks_Permissions - The user making the API calls must have permissions to export Authoritative Copy Documents. This exception will be thrown. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 145. DocuSign API Developer Guide 145 • If PurgeDocumentSuccess returns false one of the following error conditions occurred: o Only the sender may remove the envelope documents. o Envelope is an authoritative copy, documents cannot be removed. o Envelope is not complete, documents cannot be removed. Sample Code PurgeDocuments – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Purge the documents from the envelope DocuSignWeb.PurgeDocumentStatus pStatus = _apiClient.PurgeDocuments(status.EnvelopeID); // Confirm that the purge succeeded Console.WriteLine("Purging the envelope worked? {0}", pStatus.PurgeDocumentSuccess); PurgeDocuments – PHP // Create and send envelope as shown in linked code $response = <create and send envelope>; $createResult = $response->CreateAndSendEnvelopeResult; // Purge the documents from the envelope $purgeDocumentsparams = new PurgeDocuments(); $purgeDocumentsparams->EnvelopeID = $createResult->EnvelopeID; $response = $api->PurgeDocuments($purgeDocumentsparams); RequestEnvelope The RequestEnvelope call returns an API Envelope object containing all the data of an envelope. The envelope must be owned by the API user. Name Schema Type Description EnvelopeID String The envelope ID of the user’s envelope IncludeDocumentBytes Boolean If set to “true” the document bytes are returned with the envelope information. The response to the RequestEnvelope call is: Name Schema Type Description Envelope complexType A complex API Envelope object Additional Errors for RequestEnvelope In addition to the normal authentication check errors, the following error is also added. • User_Lacks-Permissions – The user does not own have permission to access the envelope. • Envelope_Does_Not_Exist – Invalid envelope ID passed. Schema for RequestEnvelope <xs:element name="RequestEnvelope"> <xs:complexType> <xs:all> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 146. DocuSign API Developer Guide 146 <xs:element name="EnvelopeID" type="dsx:DSXId" /> <xs:element name="IncludeDocumentBytes" type="xs:boolean" /> </xs:all> </xs:complexType> </xs:element> Sample Code RequestEnvelope – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Call to request the envelope with the envelope's ID DocuSignWeb.Envelope returnEnvelope = _apiClient.RequestEnvelope(status.EnvelopeID, false); // Display information about the return envelope Console.WriteLine("Return envelope has a subject of "{0}"", returnEnvelope.Subject); RequestEnvelope: PHP // Create and send an envelope as shown in linked code $response = <create amd send envelope>; $createResult = $response->CreateAndSendEnvelopeResult; // Request envelope with envelope id $requestEnvelopeparams = new RequestEnvelope(); $requestEnvelopeparams->EnvelopeID = $createResult->EnvelopeID; $requestEnvelopeparams->IncludeDocumentBytes = false; $response = $api->RequestEnvelope($requestEnvelopeparams); RequestStatusChanges The RequestStatusChanges method requests the envelope status changes for the envelopes for account on or after the specified date/time. Schema Name Schema Type Description AccountID DSXId The account ID for the envelope status changes being requested. StatusChangedSince DateTime Specifies the date/time when the request begins checking for status changes for envelopes in the account. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 147. DocuSign API Developer Guide 147 Name Schema Type Description Statuses EnvelopeStatusChange Optional array of envelope status codes. If provided, this indicates the envelope status code changes being requested. Possible values are: Voided, Created, Deleted, Sent, Delivered, Signed, Completed, Declined, TimedOut and Processing. UserInfo UserInfo Optional UserInfo object. If provided, this indicates the user whose envelopes are being requested. UserInfo contains: UserName – The user’s name as listed in the account. Email – The email associated with the user name. FilteredEnvelopeStatusChanges This is the response for RequestStatusChanges. It returns the current state of the requested envelopes in an array. Name Schema Type Description EnvelopeStatusChanges EnvelopeStatusChanges An array of EnvelopeStatusChange objects. Each EnvelopeStatusChange contains: EnvelopeID – The envelope ID. Status – The EnvelopeStatusCode for the envelope. StatusChanged – The date and time the status change occurred. ResultSetSize Integer This is the total number of items returned in EnvelopeStatusChanges. Sample Code RequestStatusChanges – C# // Create the status change filter to specify the scope of your search // Here, we are limiting the search to envelopes changed today // You can also limit by user and status DocuSignWeb.EnvelopeStatusChangeFilter filter = new DocuSignWeb.EnvelopeStatusChangeFilter(); filter.AccountId = _accountId; DocuSignWeb.EnvelopeStatusFilterBeginDateTime begin = new DocuSignWeb.EnvelopeStatusFilterBeginDateTime(); begin.Value = DateTime.Today; filter.StatusChangedSince = begin.Value; // Now, make the call with the filter we created DocuSignWeb.FilteredEnvelopeStatusChanges changes = _apiClient.RequestStatusChanges(filter); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 148. DocuSign API Developer Guide 148 if (changes.ResultSetSize > 0) { // Loop through and print out some information about the results Console.WriteLine("Changes since today are:"); foreach (DocuSignWeb.EnvelopeStatusChange change in changes.EnvelopeStatusChanges) { Console.WriteLine("tEnvelope {0} has status: {1}n", change.EnvelopeID, change.Status); } } RequestStatusChanges – PHP // Create the status change filter to specify the scope of your search // Here, we are limiting the search to envelopes changed today // You can also limit by user and status $filter = new EnvelopeStatusChangeFilter(); $filter->AccountId = $AccountID; $filter->StatusChangedSince = todayXsdDate(); // Send $requestStatusChangesparams = new RequestStatusChanges(); $requestStatusChangesparams->EnvelopeStatusChangeFilter = $filter; $response = $api->RequestStatusChanges($requestStatusChangesparams); RequestStatusCodes The RequestStatusCodes method requests the current state (Delivered, Complete, Voided, etc.) of the specified envelopes. Request Envelope Statuses Notes The SOAP calls for RequestStatuses(Ex) and RequestStatusCodes use certain filters to find results. In some cases requests are check for “any status change” instead of the just the single status requested. In these cases, more envelopes might be returned by the request than otherwise would be. For example, for a request with the begin date is set to Jan 1st, an end date set to Jan 7th and the StatusQualifier set to “Delivered” – the response set might contain envelopes that were created during that time period, but not delivered during the time period. To avoid unnecessary database queries, the DocuSign system checks requests to ensure that the added filters will not result in a zero-size response before acting on the request. The following table shows the valid envelope statuses (in the Valid Current Statuses column) for the status qualifiers in the request. If the status and status qualifiers in the API request do not contain any of the values shown in the valid current statuses column, then an empty list is returned. For example, a request with a StatusQualifier of “Delivered” and a status of “Created,Sent”, DocuSign will always return an empty list. This is because the request essentially translates to: find the envelopes that were Delivered between the begin and end dates that have a current status of Created or Sent, and since an envelope that has been delivered can never have a status of Created or Sent, a zero-size response would be generated. In this case, DocuSign does not run the request, but just returns the empty list. Client applications should check that the statuses they are requesting make sense for a given status qualifier. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 149. DocuSign API Developer Guide 149 BeginDateTime - Effective Status Qualifier Valid Current Statuses StatusQualifier Any (changed) StatusChanged Any, Created, Sent, Delivered, Signed, Completed, Declined, Voided, Deleted Created Created Any, Created, Sent, Delivered, Signed, Completed, Declined, Voided, Deleted Sent Sent Any, Sent, Delivered, Signed, Completed, Declined, Voided, Deleted Delivered StatusChanged Any, Delivered, Signed, Completed, Declined, Voided, Deleted Signed StatusChanged Any, Signed, Completed, Declined, Voided, Deleted Completed Completed Any, Completed, Declined, Voided, Deleted Declined StatusChanged Any, Declined, Deleted TimedOut - Always return StatusChanged Any, Voided, Deleted zero results Voided Voided Any, Voided, Deleted Deleted StatusChanged Any, Deleted Schema 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 150. DocuSign API Developer Guide 150 Name Schema Type Description UserInfo UserInfo Optional field. The UserName-Email pair of the person whose envelope details are requested. AccountId DSXId Account ID for which envelope status is requested. BeginDateTime dateTime Optional Field. Specifies the start date of the date range for which envelopes are requested. If no value is provided, the default search is the previous 30 days. The date range also can have a status qualifier attribute, which specifies the envelope statuses being requested. The StatusQualifier options are: Completed, Created (the default and what is used if Template or Processing is passed in), Sent, and Voided; any other value becomes StatusChanged. EndDateTime dateTime Optional Field. Specifies the end date of the date range for which envelopes are requested. If no value is provided, the default search is to the current date. Statuses EnvelopeStatusCode Optional Field. Specifies the status of the envelope at the time of request. This is enumerator controlled. EnvelopeIds DSXId Optional Field. Specifies the envelope IDs of envelopes for which status is requested. StartAtIndex nonNegativeInteger Optional Field. If envelope status result sets exceed 200 envelopes, this element can be used to specify that the method should return envelopes at the specified index. The first index is 0, and should be used in the first call to RequestStatuses. Typically this number is a multiple of 200. ACStatus EnvelopeACStatusCode Specifies the Authoritative Copy Status for the envelopes. The possible values are: Unknown, Original, Transferred, AuthoritativeCopy, AuthoritativeCopyExportPending, AuthoritativeCopyExported, DepositPending, Deposited, DepositedEO, or DepositFailed. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 151. DocuSign API Developer Guide 151 FilteredEnvelopeStatusChanges This is the response for RequestStatusCodes. It returns the current state of the requested envelopes in an array. Name Schema Type Description EnvelopeStatusChanges EnvelopeStatusChanges An array of EnvelopeStatusChange objects. Each EnvelopeStatusChange contains: EnvelopeID – The envelope ID. Status – The EnvelopeStatusCode for the envelope. StatusChanged – The date and time the status change occurred. ResultSetSize Integer This is the total number of items returned in EnvelopeStatusChanges. Code Samples RequestStatusCodes – C# // Create the status change filter to specify the scope of your search // Here, we are limiting the search to envelopes changed today // You can also limit by user and status DocuSignWeb.EnvelopeStatusFilter filter = new DocuSignWeb.EnvelopeStatusFilter(); filter.AccountId = _accountId; DocuSignWeb.EnvelopeStatusFilterBeginDateTime begin = new DocuSignWeb.EnvelopeStatusFilterBeginDateTime(); begin.Value = DateTime.Today; filter.BeginDateTime = begin; // Now, make the call with the filter we created DocuSignWeb.FilteredEnvelopeStatusChanges codes = _apiClient.RequestStatusCodes(filter); if (codes.ResultSetSize > 0) { // Loop through and print out some information about the results Console.WriteLine("Changes since today are:"); foreach (DocuSignWeb.EnvelopeStatusChange code in codes.EnvelopeStatusChanges) { Console.WriteLine("tEnvelope {0} has status: {1}n", code.EnvelopeID, code.Status); } } RequestStatusCodes - PHP // Create the status change filter to specify the scope of your search // Here, we are limiting the search to envelopes changed today // You can also limit by user and status $filter = new EnvelopeStatusFilter(); $filter->AccountId = $AccountID; $filter->BeginDateTime = todayXsdDate(); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 152. DocuSign API Developer Guide 152 // Send $requestStatusCodesparams = new RequestStatusCodes(); $requestStatusCodesparams->EnvelopeStatusFilter = $filter; $response = $api->RequestStatusCodes($requestStatusCodesparams); SynchEnvelope This method is only useful when the ‘Asynchronous’ flag is set to true on a CreateAndSendEnvelope call. It will determine when the queued envelope has been processed by the system. Schema Name Schema Type Description TransactionID LongString External ID that is passed in CreateAndSendEnvelope when the ‘Asynchronous’ flag is set to true. AccountID DSXId Account Id of the user who created the envelope Block Boolean If true, this call will wait to return until the queued envelope is done processing. The max time it will wait is 10 minutes. SynchEnvelopeStatus Name Schema Type Description EnvelopeStatus EnvelopeStatusCode Status of the envelope at that specific time. Enumeration values could be Voided, Created, Deleted, Sent, Delivered, Signed, Completed, Declined, TimedOut and Processing. EnvelopeID LocalId The unique Id for the envelope. Sample Code SynchEnvelope – C# // Create envelope as shown in linked code DocuSignWeb.Envelope envelope = <create envelope>; // Assign it a transaction ID and make it asynchronous send envelope.TransactionID = System.Guid.NewGuid().ToString(); envelope.Asynchronous = true; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 153. DocuSign API Developer Guide 153 // Go ahead and send the envelope DocuSignWeb.EnvelopeStatus status = _apiClient.SendEnvelope(envelope); // Request a synch using the transaction ID and account ID // but don't block it from processing DocuSignWeb.SynchEnvelopeStatus synchStatus = _apiClient.SynchEnvelope(envelope.TransactionID, _accountId, false); // Display the status we got back Console.WriteLine("Synch envelope status is {0}", synchStatus.EnvelopeStatus); SynchEnvelope – PHP // Create an envelope as shown in linked code $env = <create envelope>; // Assign a transaction ID and make it an asynchronous send $env->TransactionID = guid(); //Helper function link $env->Asynchronous = true; // Send the envelope $sendEnvelopeparams = new SendEnvelope(); $sendEnvelopeparams->Envelope = $env; $status = $api->SendEnvelope($sendEnvelopeparams)->CreateAndSendEnvelopeResult; // Request a sych without blocking $synchEnvelopeparams = new SynchEnvelope(); $synchEnvelopeparams->AccountID = $AccountID; $synchEnvelopeparams->Block = false; $synchEnvelopeparams->TransactionID = $env->TransactionID; $response = $api->SynchEnvelope($synchEnvelopeparams); VoidEnvelope This section describes the method available to void envelopes. Only incomplete envelopes can be voided. VoidEnvelope method is used to void an envelope. Schema Name Schema Type Description EnvelopeID DSXId This is the envelope ID of the envelope which needs to be voided. Reason Reason The reason for voiding the envelope. Envelope recipients, when notified of the void, are shown this reason. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/VoidEnvelope" <?xml version="1.0" encoding="utf-8"?> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 154. DocuSign API Developer Guide 154 <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <VoidEnvelope xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> <Reason>string</Reason> </VoidEnvelope> </soap:Body> </soap:Envelope> VoidEnvelopeStatus VoidEnvelopeStatus is the response method for VoidEnvelopes. Schema Name Schema Type Description VoidSuccess Boolean Set to true if the void operation succeeded. Rules for VoidEnvelope • The length of any of the EnvelopeID must not exceed 100 characters. Else, the XML validation fails and the processor throws a Validation error. • The length of reason should not exceed 200 characters and should have a minimum of 1 character. • EnvelopeID specified in the VoidEnvelope request should exist else an exception is thrown with error message “Envelope_Does_Not_Exist” . • Only envelopes in the 'Sent' or 'Delivered' states may be voided. Else “Envelope_Cannot_Void_Invalid_State” exception will be thrown. • Only the sender of envelope can void the envelope. If a user other than sender tries to void an envelope then exception “User_Not_Envelope_Sender” will be thrown. Sample Code VoidEnvelope – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Void the envelope DocuSignWeb.VoidEnvelopeStatus voidStatus = _apiClient.VoidEnvelope(status.EnvelopeID, "voiding reason"); // Confirm that the envelope was voided Console.WriteLine("Voiding the envelope worked? {0}", voidStatus.VoidSuccess); VoidEnvelope – PHP // Create and send an envelope as shown in linked code $response = <create and send envelope>; $status = $response->CreateAndSendEnvelopeResult; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 155. DocuSign API Developer Guide 155 // Void the envelope $voidEnvelopeparams = new VoidEnvelope(); $voidEnvelopeparams->EnvelopeID = $status->EnvelopeID; $voidEnvelopeparams->Reason = "void envelope sample"; $response = $api->VoidEnvelope($voidEnvelopeparams); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 156. DocuSign API Developer Guide 156 Post Processing Function Group This section describes the methods that can be used to retrieve envelope documents from the DocuSign system. DocuSign maintains a separate certificate document with each envelope document that contains important origination and landmark events pertinent to the document. RequestDocumentsPDFs and RequestPDF methods are used to request documents. DocumentPDFs and EnvelopePDF are the responses for these methods. RequestCertificate RequestCertificate returns the signing certificate, which details the specific attributes of the participants and landmark events of the signing transaction, for an envelope. Schema Name Schema Type Description EnvelopeID DSXId This is the envelope ID of the envelope, as returned by the CreateEnvelope/CreateAndSendEnvelope. Only documents within the specified envelope are returned. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/RequestDocumentPDFs" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestDocumentPDFs xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> </RequestDocumentPDFs> </soap:Body> </soap:Envelope> RequestDocumentPDFs Schema Name Schema Type Description EnvelopeID DSXId This is the envelope ID of the envelope, as returned by the CreateEnvelope/CreateAndSendEnvelope. Only documents within the specified envelope are returned. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 157. DocuSign API Developer Guide 157 Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/RequestDocumentPDFs" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestDocumentPDFs xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> </RequestDocumentPDFs> </soap:Body> </soap:Envelope> This method returns a response with an array of DocumentPDF. See DocumentPDF for more information about the returned information. Sample Code RequestDocumentPDFs – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Call to request the PDFs with the envelope's ID DocuSignWeb.DocumentPDFs pdf = _apiClient.RequestDocumentPDFs(status.EnvelopeID); // Display number of PDFs returned Console.WriteLine("Envelope has {0} pdfs", pdf.DocumentPDF.Length); RequestDocumentPDFs – PHP // Create and send an envelope as shown in linked code $response = <create and send envelope>; $status = $response->CreateAndSendEnvelopeResult; // Request PDFs $requestDocumentPDFsparams = new RequestDocumentPDFs(); $requestDocumentPDFsparams->EnvelopeID = $status->EnvelopeID; $response = $api->RequestDocumentPDFs($requestDocumentPDFsparams); RequestDocumentPDFsEx Schema Name Schema Type Description EnvelopeID DSXId This is the envelope ID of the envelope, as returned by the CreateEnvelope/CreateAndSendEnvelope. Only documents within the specified envelope are returned. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 158. DocuSign API Developer Guide 158 Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/RequestDocumentPDFs" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestDocumentPDFsEx xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> </RequestDocumentPDFsEx> </soap:Body> </soap:Envelope> This method returns a response with an array of DocumentPDF. See DocumentPDF for more information about the returned information. Sample Code RequestDocumentPDFsEx – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Call to request the PDFs with the envelope's ID DocuSignWeb.DocumentPDFs pdf = _apiClient.RequestDocumentPDFsEx(status.EnvelopeID); // Display number of PDFs returned Console.WriteLine("Envelope has {0} pdfs", pdf.DocumentPDF.Length); RequestDocumentPDFsEx – PHP // Create and send an envelope as shown in linked code $response = <create and send envelope>; $status = $response->CreateAndSendEnvelopeResult; // Request PDFs $requestDocumentPDFsExparams = new RequestDocumentPDFsEx(); $requestDocumentPDFsExparams->EnvelopeID = $status->EnvelopeID; $response = $api->RequestDocumentPDFsEx($requestDocumentPDFsExparams); RequestDocumentPDFsRecipientsView RequestDocumentPDFsRecipientsView requests the recipient’s view of the document PDFs in an envelope. Schema Name Schema Type Description EnvelopeId EnvelopeId The envelope ID for the document being requested. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 159. DocuSign API Developer Guide 159 Name Schema Type Description RecipientName String The name of the recipient for the document being requested. RecipientEmail String The email for the recipient for the document being requested. SOAPAction: "http://www.docusign.net/API/3.0/RequestDocumentPDFsRecipientsView" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestDocumentPDFsRecipientsView xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> <RecipientName>string</RecipientName> <RecipientEmail>string</RecipientEmail> </RequestDocumentPDFsRecipientsView> </soap:Body> </soap:Envelope> This method returns a response with an array of DocumentPDF. See DocumentPDF for more information about the returned information. DocumentPDF Schema Name Schema Type Description EnvelopeID DSXId Returns EnvelopeID of the envelope. DocumentPDF DocumentPDF This complex type contains: • Name - name of the document. • PDFBytes – the document byte stream. • DocumentID – the originating document ID. Only returned when calling RequestDocumentPDFsEx. • DocumentType – type of the document. Only returned when calling RequestDocumentPDFsEx. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 160. DocuSign API Developer Guide 160 RequestPDF This method returns all of the documents combined into a single, contiguous PDF. If the watermark feature is enabled for your account and envelope signing is not complete, the watermark is displayed in the PDF. Schema Name Schema Type Description EnvelopeID DSXId This is the envelope ID of the envelope, as returned by the CreateEnvelope/CreateAndSendEnvelope. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/RequestPDF" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestPDF xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> </RequestPDF> </soap:Body> </soap:Envelope Sample Code RequestPDF – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Call to request the PDF with the envelope ID DocuSignWeb.EnvelopePDF pdf = _apiClient.RequestPDF(status.EnvelopeID); // Display the size of the PDF Console.WriteLine("Pdf has {0} bytes", pdf.PDFBytes.Length); RequestPDF – PHP // Create and send an envelope as shown in linked code $response = <create and send envelope>; $status = $response->CreateAndSendEnvelopeResult; // Request PDFs $requestPDFparams = new RequestPDF(); $requestPDFparams->EnvelopeID = $status->EnvelopeID; $response = $api->RequestPDF($requestPDFparams); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 161. DocuSign API Developer Guide 161 RequestPDFNoWaterMark If your account has the watermark feature enabled, this method returns all of the documents combined into a single, contiguous PDF without displaying the watermark. Schema Name Schema Type Description EnvelopeID DSXId This is the envelope ID of the envelope, as returned by the CreateEnvelope/CreateAndSendEnvelope. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/RequestPDFNoWaterMark" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestPDFNoWaterMark xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> </RequestPDFNoWaterMark> </soap:Body> </soap:Envelope Sample Code RequestPDFNoWaterMark – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Call to request the PDF with the envelope ID DocuSignWeb.EnvelopePDF pdf = _apiClient.RequestPDFNoWaterMark(status.EnvelopeID); // Display the size of the PDF Console.WriteLine("Pdf has {0} bytes", pdf.PDFBytes.Length); RequestPDFNoWaterMark – PHP // Create and send envelope as shown in linked code $result = $api->CreateAndSendEnvelope($createAndSendEnvelopeparams); $status = $result->CreateAndSendEnvelopeResult; // Send $requestPDFNoWaterMarkparams = new RequestPDFNoWaterMark(); $requestPDFNoWaterMarkparams->EnvelopeID = $status->EnvelopeID; $response = $api->RequestPDFNoWaterMark($requestPDFNoWaterMarkparams); RequestPDFWithCert This method returns all of the documents combined into a single, contiguous PDF. Additionally it returns the Signing Certificate PDF document, which details the specific attributes of the participants 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 162. DocuSign API Developer Guide 162 and landmark events of the signing transaction. It also returns the consumer disclosure, per account settings, associated with the envelope. Schema Name Schema Type Description EnvelopeID DSXId This is the envelope ID of the envelope, as returned by the CreateEnvelope/CreateAndSendEnvelope. addWaterMark Boolean If your account has the watermark feature enabled and when true, the watermark for the account is shown on documents for envelopes that are not completed. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/RequestPDFWithCert" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestPDFWithCert xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> <addWaterMark>boolean</addWaterMark> </RequestPDFWithCert> </soap:Body> </soap:Envelope Sample Code RequestPDFWithCert – C# // Create and send envelope as shown in linked code DocuSignWeb.EnvelopeStatus status = <create and send envelope>; // Call to request the PDF with the envelope ID // Here, we chose to suppress the watermark DocuSignWeb.EnvelopePDF pdf = _apiClient.RequestPDFWithCert(status.EnvelopeID, false); // Display the size of the PDF Console.WriteLine("Pdf has {0} bytes", pdf.PDFBytes.Length); RequestPDFWithCert – PHP // Create and send envelope as shown in linked code $result = $api->CreateAndSendEnvelope($createAndSendEnvelopeparams); $status = $result->CreateAndSendEnvelopeResult; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 163. DocuSign API Developer Guide 163 // Send $requestPDFWithCertparams = new RequestPDFWithCert(); $requestPDFWithCertparams->EnvelopeID = $status->EnvelopeID; $requestPDFWithCertparams->AddWaterMark = false; $response = $api->RequestPDFWithCert($requestPDFWithCertparams); EnvelopePDF Schema Name Schema Type Description EnvelopeID DSXId Returns EnvelopeID of the envelope. PDFBytes base64Binary The document bytestream Rules for using RequestDocumentPDFs, RequestDocumentPDFsEx, RequestPDF, RequestPDFNoWaterMark, RequestPDFWithCert, DocumentPDF and EnvelopePDF • In the methods mentioned in this section, length of the EnvelopeID must not exceed 100 characters. Else, the XML validation fails and the processor throws a Validation error. • In the request methods envelope with specified Id must exist. Else an exception “Envelope_Does_Not_Exist” is thrown. • In the DocumentPDF method returns all the PDF documents in the envelope as base64binary with document names. But DocumentPDF element is optional. If the envelope with mentioned EnvelopeID is in the draft stage then Name or PDFBytes is not returned. • DocumentPDFs also return certificate document with PDF documents in the envelope • Only sender or recipient can retrieve the documents else exception, “User_Not_Envelope_Sender_Or_Recipient” will be thrown. • You may have your account setup by DocuSign to include DocuSign PDF meta data in the returned PDF bytes. The envelope level PDF will contain: • Tracking information that contains the Envelope ID. • EnvelopeStatus XML. The document level PDF will contain: • Tracking information that contains the Envelope ID and originating Document ID. • EnvelopeStatus XML with the tab information removed that does not pertain to the document. • Document PDF form data if the document originated with TransformPDFFields enabled. The envelope summary document will contain: 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 164. DocuSign API Developer Guide 164 • Tracking information that contains the Envelope ID. • EnvelopeStatus XML with all tab information removed. RequestPDFWithOptions This method returns all of the documents combined into a single, contiguous PDF. It includes the ability to set display options for the PDFs. Schema Name Schema Type Description EnvelopeId DSXId The envelope ID for the PDF document being requested. PDFOptions Optional display elements for the PDF: • ShowChanges – If the account has the Highlight Data Changes feature enabled and this option is set to true, any changed fields for the returned PDF are highlighted in yellow and optional signatures or initials outlined in red. • AddWaterMark – If the account has the watermark feature enabled and the envelope is not complete, the watermark for the account is added to the PDF document. When this is set to false, the watermark is removed from the PDF. • IncludeCert – When set to true, this option removes the envelope signing certificate from the download. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/RequestPDFWithOptions" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestPDFWithOptions xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> <PDFOptions> <ShowChanges>boolean</ShowChanges> <AddWaterMark>boolean</AddWaterMark> <IncludeCert>boolean</IncludeCert> </PDFOptions> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 165. DocuSign API Developer Guide 165 </RequestPDFWithOptions> </soap:Body> </soap:Envelope> RequestPDFsWithOptions This method returns all of the documents in an envelope as an array of DocumentPDF (see DocumentPDF for more about the returned information). If the account has the Highlight Data Changes feature enabled and the ShowChanges option is set to true, any changes one the documents are highlighted. Schema Name Schema Type Description EnvelopeID DSXId The envelope ID for the PDF documents being requested. PDFsOptions Optional display elements for the PDFs: • ShowChanges - When set to true, any changed fields for the returned PDF are highlighted in yellow and optional signatures or initials outlined in red. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/RequestPDFsWithOptions" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <RequestPDFsWithOptions xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> <PDFsOptions> <ShowChanges>boolean</ShowChanges> </PDFsOptions> </RequestPDFsWithOptions> </soap:Body> </soap:Envelope> TransferEnvelope The TransferEnvelope method effectively transfers all documents in the specified envelope to the new owner. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 166. DocuSign API Developer Guide 166 Schema Name Schema Type Description EnvelopeID DSXId This is the envelope ID of the envelope, as specified by the request. AccountID DSXId This specifies the account ID of the person to whom ownership is transferred. UserID DSXId The user ID of the person to whom the envelope ownership is being transferred. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/TransferEnvelope" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <TransferEnvelope xmlns="http://www.docusign.net/API/3.0"> <EnvelopeID>string</EnvelopeID> <AccountID>string</AccountID> <UserID>string</UserID> </TransferEnvelope> </soap:Body> </soap:Envelope> TransferEnvelopeStatus TransferEnvelopeStatus is the response method for TransferEnvelope. Schema Name Schema Type Description TransferEnvelopeSuccess Boolean This element is true if the transfer succeeded. Rules for using TransferEnvelope • The length of any of the EnvelopeID, AccountID, and UserID must not exceed 100 characters. Else, the XML validation fails and the processor throws a Validation error. • An envelope having the specified EnvelopeID must exist in the system. Else, an exception with the error message “Envelope_Does_Not_Exist” is thrown. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 167. DocuSign API Developer Guide 167 • AccountID must exist in the system; else exception “Account_Does_Not_Exist_In_System” will be thrown. • UserID must exist in the system; else exception “User_Does_Not_Exist_In_System” will be thrown. • Transfer of envelope will be allowed only if the envelope status is complete. Else “Envelope_Is_Incomplete” will be thrown. • Only sender would be able to transfer the ownership to someone else. Else error “User_Not_Envelope_Sender” will be thrown • User cannot transfer the ownership of the envelope to self. If a user tries to transfer envelope to self “Envelope_Transferee_Already_Owns_Envelope” exception will be thrown. • If Authoritative Copy status is set then envelope cannot be transferred. It tried to transfer the resulting error will be “Envelope_Cannot_Transfer_Invalid_ACStatus”. Sample Code TransferEnvelope – C# // Request the envelope specified to be transferred to the account specified DocuSignWeb.TransferEnvelopeStatus status = _apiClient.TransferEnvelope("envelope ID", "account ID as GUID", "user ID as GUID"); // Confirm that the transfer succeeded Console.WriteLine("Transfer succeeded? {0}", status.TransferEnvelopeSuccess); TransferEnvelope – PHP // Request the envelope specified to be transferred to the account specified $transferEnvelopeparams = new TransferEnvelope(); // TODO: replace string with account ID GUID that you will transfer the envelope to $transferEnvelopeparams->AccountID = "someone else's account ID GUID here"; // TODO: replace string with envelope ID GUID that will be transferred $transferEnvelopeparams->EnvelopeID = "your envelopeID GUID here"; // TODO: replace string with user ID GUID that you will transfer the envelope to $transferEnvelopeparams->UserID = "someone else's user ID as GUID here"; $response = $api->TransferEnvelope($transferEnvelopeparams); ExportAuthoritativeCopy This section presents the principles and methods involved in implementing a DocuSign Connect API integration using the ExportAuthoritativeCopy and AcknowledgeAuthoritativeCopyExport API methods. The ExportAuthoritativeCopy API method enables API users to extract Authoritative Copy envelopes from DocuSign. The AcknowledgeAuthoritativeCopyExport API method is used to indicate success of the extract call and to obtain the key to unlock the envelope’s documents. Schema Name Schema Type Description EnvelopeID DSXId Envelope ID of the envelope which is to be exported. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 168. DocuSign API Developer Guide 168 Sample Request XML: SOAPAction: "http://www.docusign.net/API/3.0/ExportAuthoritativeCopy" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ExportAuthoritativeCopy xmlns="http://www.docusign.net/API/3.0"> <EnvelopeId>string</EnvelopeId> </ExportAuthoritativeCopy> </soap:Body> </soap:Envelope> AuthoritativeCopyExportDocuments Schema Name Schema Type Description EnvelopeId DSXId Envelope ID of the envelope which is to be exported. TransactionId DSXId Transaction ID for this export process. Count Integer Number of documents in the DocumentPDF array. DocumentPDF DocumentPDF Array of encrypted document PDFs in the envelope. AcknowledgeAuthoritativeCopyExport Schema Name Schema Type Description EnvelopeId DSXId Envelope ID of the envelope which is to be exported. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 169. DocuSign API Developer Guide 169 Name Schema Type Description TransactionId DSXId Transaction ID for this export process. Obtained from the ExportAuthoritativeCopy API call. checkSumHash base64Binary Total hash of all the documents returned in the ExportAuthoritativeCopy API call. Sample Request XML: SOAPAction: "http://www.docusign.net/API/3.0/AcknowledgeAuthoritativeCopyExport" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AcknowledgeAuthoritativeCopyExport xmlns="http://www.docusign.net/API/3.0"> <EnvelopeId>string</EnvelopeId> <TransactionId>string</TransactionId> <checkSumHash>base64Binary</checkSumHash> </AcknowledgeAuthoritativeCopyExport> </soap:Body> </soap:Envelope> AuthoritativeCopyExportStatus Schema Name Schema Type Description AuthoritativeCopyExportSuccess Boolean Return true if the envelope export is successful EnvelopeId DSXId Envelope ID of the envelope which is to be exported. ExportKey DSXId Key used to decrypt the Rijndael encrypted documents returned in the ExportAuthoritativeCopy API call. Encryption mode is CBC. Encryption padding is PKCS7. Rules for exporting Authoritative Copy envelopes API user specific rules • The envelope ID passed to the API must be valid. • The envelope ID passed to the API must be in the Authoritative Copy status in DocuSign. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 170. DocuSign API Developer Guide 170 • The user and account must be configured properly by DocuSign in order to enable this API. Rules for Exceptions thrown by the ExportAuthoritativeCopy API • Envelope_Does_Not_Exist – invalid envelope ID passed. • User_Lacks_Permissions - The user making the API calls must have permissions to export Authoritative Copy Documents. • Envelope_AC_Export_Completed – the envelope being requested has already been exported from DocuSign. • Envelope_AC_Export_Not_AC_Copy – the envelope being requested is not an Authoritative Copy. Rules for Exceptions thrown by the AcknowledgeAuthoritativeCopyExport API • Envelope_Does_Not_Exist – invalid envelope ID passed. • User_Lacks_Permissions - The user making the API calls must have permissions to export Authoritative Copy Documents. • Envelope_AC_Export_Invalid_Status – envelope is not in the valid export status. • Envelope_AC_Export_Invalid_TransID – transaction ID passed is invalid. Rules for return value of the AcknowledgeAuthoritativeCopyExport API • AuthoritativeCopyExportSuccess – True if export was successfully completed. • ExportKey – key to decrypt the Rijndael encrypted documents. This key is only provided if AuthoritativeCopyExportSuccess is true. Encryption mode is CBC. Encryption padding is PKCS7. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 171. DocuSign API Developer Guide 171 Administrative Function Group This section describes administrative methods. CreateAccountBrands CreateAccountBrands is used to upload one or more brand profile files to the account. The Account Branding feature must be enabled for the account to use this. Schema Name Schema Type Description AccountID DSXId The AccountId for the account to which the brand profiles are added. BrandDefinitions BrandDefinitionFileBytes The base64Binary bytes of the brand profile xml file being added. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/CreateAccountBrands" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CreateAccountBrands xmlns="http://www.docusign.net/API/3.0"> <AccountId>string</AccountId> <BrandDefinitions> <BrandDefinitionsFileBytes>base64Binary</BrandDefinitionsFileBytes> </BrandDefinitions> </CreateAccountBrands> </soap:Body> </soap:Envelope> DeleteAccountBrands DeleteAccountBrands is used to delete one or more brand profiles from an account. The Account Branding feature must be enabled for the account to use this. Schema 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 172. DocuSign API Developer Guide 172 Name Schema Type Description AccountID DSXId The AccountId for the account from which the brand profiles are being deleted. BrandDeleteRequest BrandRequestItems An array of BrandRequestItem that each contain the BrandId for the brand profile to be deleted. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/DeleteAccountBrands" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <DeleteAccountBrands xmlns="http://www.docusign.net/API/3.0"> <AccountId>string</AccountId> <BrandDeleteRequest> <BrandRequestItems> <BrandRequestItem> <BrandId>string</BrandId> </BrandRequestItem> <BrandRequestItem> <BrandId>string</BrandId> </BrandRequestItem> </BrandRequestItems> </BrandDeleteRequest> </DeleteAccountBrands> </soap:Body> </soap:Envelope> GetAccountBrands GetAccountBrands is used to retrieve a list of brand profiles associated with the account and the default brand profile. The Account Branding feature must be enabled for the account to use this. Schema Name Schema Type Description SenderAccountID DSXId The AccountId for the account. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/GetAccountBrands" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAccountBrands xmlns="http://www.docusign.net/API/3.0"> <SenderAccountId>string</SenderAccountId> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 173. DocuSign API Developer Guide 173 </GetAccountBrands> </soap:Body> </soap:Envelope> GetAccountBrandsResult This is the response for GetAccountBrands and contains the default brand profile and list of brand profiles associated with the account. Schema Name Schema Type Description RecipientBrandIdDefault String The BrandId of the default signing brand profile. SenderBrandIdDefault String The BrandId of the default sending brand profile. BrandResultItems BrandResultItem A complex element with the BrandId, BrandName and BrandCompany information for all the brand profiles associated with the account. GetAccountMembershipFeatureList GetAccountMembershipFeaturesList is used to retrieve the features available to the membership. Schema Name Schema Type Description AccountID DSXId Account Id of the user whose membership permissions for optional features are requested. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/GetAccountMembershipFeaturesList" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 174. DocuSign API Developer Guide 174 <soap:Body> <GetAccountMembershipFeaturesList xmlns="http://www.docusign.net/API/3.0"> <AccountId>string</AccountId> </GetAccountMembershipFeaturesList> </soap:Body> </soap:Envelope> AccountMembershipFeatureList Schema Name Schema Type Description Email Email Email of the user whose membership feature list is requested. UserName UserName UserName of the user whose membership feature list is requested. EnabledFeaturesSet String Returns the set of DocuSign Professional features in membership. Usage rules for GetAccountMembershipFeatureList and AccountMembershipFeatureList • The length of AccountId, Email and UserName must not exceed 100 characters. • The EnabledFeatures would be unbounded. Values for this will be DocuSignProfessional, eOriginalVaultResponse, SequentialSigningAPI, SequentialSigningUI, TransactionPoint, CanSetDocumentSignerVisibility and AccountForcesSignerVisibility. Sample Code GetAccountMembershipFeaturesList – C# // This is simple -- just input your account ID DocuSignWeb.AccountMembershipFeaturesList list = _apiClient.GetAccountMembershipFeaturesList(_accountId); GetAccountMembershipFeaturesList – PHP $getAccountMembershipFeaturesListparams = new GetAccountMembershipFeaturesList(); $getAccountMembershipFeaturesListparams->AccountID = $AccountID; $response = $api- >GetAccountMembershipFeaturesList($getAccountMembershipFeaturesListparams); GetAccountSettingsList GetAccountSettingsList is used to retrieve the settings available to the account. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 175. DocuSign API Developer Guide 175 Schema Name Schema Type Description AccountID DSXId AccountId of the account settings to be returned. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/GetAccountSettingsList " <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAccountSettingsList xmlns="http://www.docusign.net/API/3.0"> <AccountId>string</AccountId> </ GetAccountSettingsList > </soap:Body> </soap:Envelope> AccountSettingsList Schema Name Schema Type Description AccountSetting AccountSetting Name: string: the name of the account setting. Value: string: the value of the account setting. Type: string: the type of the account setting (ie. Integer, Boolean, String) Usage rules for GetAccountSettingsList and AccountSettingsList • The length of AccountId, must not exceed 100 characters. • The AccountSetting is unbounded. Current “Name” values are: UserOverrideEnabled, ReminderEnabled, ReminderFrequency, ReminderDelay, ExpireEnabled, ExpireAfter, and ExpireWarnBuffer. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 176. DocuSign API Developer Guide 176 Sample Code GetAccountSettingsList – C# // This is simple -- just input your account ID DocuSignWeb.AccountSetting[] settings = _apiClient.GetAccountSettingsList(_accountId); // Display some information about the settings Console.WriteLine("We have {0} account settings:", settings.Length); foreach (DocuSignWeb.AccountSetting setting in settings) { Console.WriteLine("t{0}: {1}", setting.Name, setting.Value); } GetAccountSettingsList – PHP $getAccountSettingsListparams = new GetAccountSettingsList(); $getAccountSettingsListparams->AccountID = $AccountID; $response = $api->GetAccountSettingsList($getAccountSettingsListparams); GetAddressBookItems These methods can be used to manage your server side address book in the DocuSign system. You will be able to retrieve address book entries. Schema Name Schema Type Description AccountID DSXId The DocuSign account ID. Retrieves your address book and account shared address book. This method returns an array of AddressBookItem objects. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 177. DocuSign API Developer Guide 177 AddressBookItem Name Schema Type Description AddressBookID DSXId Unique identifier of the address book item. This can be a maximum of 100 characters. Email String Email associated with the address book item. This can be a maximum of 100 characters. UserName String Name associated with the address book item. This can be a maximum of 100 characters. AccountName String Account name associated with the address book item. This can be a maximum of 100 characters. Shared Boolean True if the address book item is shared with the API user’s account. Created DateTime Date the address book item was created. Owner Boolean True if the API user account is the owner of the address book item. Phone1 AddressBookPhone PhoneNumber: string: phone number, maximum length is 20. PhoneNumberDesignation: value: one of the following: Home, Mobile, Work, Fax, Other. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 178. DocuSign API Developer Guide 178 Name Schema Type Description Phone2 AddressBookPhone PhoneNumber: string: phone number, maximum length is 20. PhoneNumberDesignation: value: one of the following: Home, Mobile, Work, Fax, Other. Phone3 AddressBookPhone PhoneNumber: string: phone number, maximum length is 20. PhoneNumberDesignation: value: one of the following: Home, Mobile, Work, Fax, Other. Phone4 AddressBookPhone PhoneNumber: string: phone number, maximum length is 20. PhoneNumberDesignation: value: one of the following: Home, Mobile, Work, Fax, Other. Rules and exceptions for GetAddressBookItems • Account_Lacks_Permissions – account does not have permissions to use this API. • User_Lacks_Permissions – user does not have permissions to use this API. • Address book items that are passed to this API that the user does not own will not be removed. Sample Code GetAddressBookItems – C# // This is simple -- just input your account ID DocuSignWeb.AddressBookItem[] items = _apiClient.GetAddressBookItems(_accountId); // Display information about the address book items Console.WriteLine("There there are {0} items in the address book:", items.Length); foreach (DocuSignWeb.AddressBookItem item in items) { Console.WriteLine("t{0}: {1}", item.UserName, item.Email); } GetAddressBookItems – PHP $getAddressBookItemsparams = new GetAddressBookItems(); $getAddressBookItemsparams->AccountID = $AccountID; $getAddressBookItemsResponse = $api->GetAddressBookItems($getAddressBookItemsparams); GetRecipientEsignList Senders can use this method to determine if an Esign agreement pre-exists between the sender and recipient. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 179. DocuSign API Developer Guide 179 Schema Name Schema Type Description UserName UserName Sender’s name. SenderEmail Email Sender’s email address. SenderAccountId DSXId Sender’s account Id RecipientEmail Email Recipient’s email address. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/GetRecipientEsignList" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetRecipientEsignList xmlns="http://www.docusign.net/API/3.0"> <UserName>string</UserName> <SenderEmail>string</SenderEmail> <SenderAccountId>string</SenderAccountId> <RecipientEmail>string</RecipientEmail> </GetRecipientEsignList> </soap:Body> </soap:Envelope> RecipientEsignList This element returns a list of RecipientEsignRecords for a designated sender and recipient combination. For each record, the return Boolean value indicates whether or not an Esign agreement exists between the sender and that particular recipient. Schema 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 180. DocuSign API Developer Guide 180 Name Schema Type Description AccountId DSXId The account holding the ESign agreement. UserName UserName The recipient’s name. Email Email The recipient’s email. ESign boolean If true, an Esign agreement exists between the sender and the recipient Rules for using GetRecipientEsignList and RecipientEsignList • The UserName should be valid. • The SenderEmail should be valid; else “Invalid_Email_Address_For_Sender” execution will be thrown. • The length of UserName, SenderEmail, SenderAccountId and RecipientEmail must not exceed 100 characters. • User defined by UserName and SenderEmail pair belong to SenderAccountId specified, else “User_Does_Not_Belong_To_Specified_Account” exception is thrown. Sample Code GetRecipientEsignList – C# // Enter account holder's username, email and accountID, // and the email of the user that you wish to determine if // an esign agreement exists DocuSignWeb.RecipientEsignList recipients = _apiClient.GetRecipientEsignList(_userName, _email, _accountId, "<email>"); // Display the number of people in the list Console.WriteLine("There are {0} recipients", recipients.RecipientEsign.Length); // Examine each record -- does the esign agreement exist? foreach (DocuSignWeb.RecipientEsign esign in recipients.RecipientEsign) { Console.WriteLine("t{0}: {1}", esign.Email, esign.Esign); } GetRecipientEsignList – PHP // Enter account holder's username, email and accountID, and the email of // the user that you wish to determine if an esign agreement exists $getRecipientEsignListparams = new GetRecipientEsignList(); $getRecipientEsignListparams->SenderAccountId = $AccountID; $getRecipientEsignListparams->SenderEmail = $UserID; $getRecipientEsignListparams->UserName = $UserName; $getRecipientEsignListparams->RecipientEmail = $Recipient1Email; $response = $api->GetRecipientEsignList($getRecipientEsignListparams); GetRecipientList Senders can use this method to determine which recipients are available at the given email address. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 181. DocuSign API Developer Guide 181 Schema Name Schema Type Description SenderAccountId DSXId Sender’s account Id RecipientEmail Email Recipient’s email address. Sample Request XML SOAPAction: "http://www.docusign.net/API/3.0/GetRecipientList" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetRecipientList xmlns="http://www.docusign.net/API/3.0"> <SenderAccountId>string</SenderAccountId> <RecipientEmail>string</RecipientEmail> </GetRecipientList> </soap:Body> </soap:Envelope> RecipientList This element returns a list of RecipientRecords for a designated recipient email. For each record, the return Boolean value indicates whether or not an Esign agreement exists between the sender and that particular recipient. Schema Name Schema Type Description RecipientName LongString List of recipient Signature Names available to sign at this email. ReservedRecipientEmail Boolean Whether or not the user has reserved this email to disallow new recipient names at this email address. MultipleUsers Boolean If true, more than one physical person is using this email address to sign with. Rules for using GetRecipientList and RecipientList • The length of SenderAccountId and RecipientEmail must not exceed 100 characters. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 182. DocuSign API Developer Guide 182 • If no active signatures are available at the given email address, then no records will be returned. Sample Code GetRecipientList – C# // Enter the account holder's ID and the target email // to find all recipients at the target email address DocuSignWeb.RecipientList recipients = _apiClient.GetRecipientList(_accountId, "<email>"); // Display the number of recipients Console.WriteLine("There are {0} recipients", recipients.RecipientName.Length); // Examine each record -- does the esign agreement exist? foreach(String recipient in recipients.RecipientName) { Console.WriteLine("t{0}", recipient); } GetRecipientList – PHP // Enter the account holder's ID and the target email to find all recipients // at the target email address $getRecipientListparams = new GetRecipientList(); $getRecipientListparams->SenderAccountId = $AccountID; $getRecipientListparams->RecipientEmail = $Recipient1Email; $response = $api->GetRecipientList($getRecipientListparams); RemoveAddressBookItems Schema Name Schema Type Description AddressBookRemoveItems AddressBookRemoveItem Array of address book item IDs to remove. Array ReturnAddressBook Boolean If true, return the address book item list in the UpdateAddressBookResult object. Removes all the specified items passed from your address book. This method returns an UpdateAddressBookResult object described earlier. AddressBookRemoveItem Schema 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 183. DocuSign API Developer Guide 183 Name Schema Type Description AddressBookID DSXId Address book ID to remove. Rules and exceptions for RemoveAddressBookItems • Account_Lacks_Permissions – account does not have permissions to use this API. • User_Lacks_Permissions – user does not have permissions to use this API. • Address book items that are passed to this API that the user does not own will not be removed. • Invalid address book IDs will be ignored. Sample Code RemoveAddressBookItems – C# // Grab all the address book items from the specified account DocuSignWeb.AddressBookItem[] items = _apiClient.GetAddressBookItems(_accountId); if(items.Length >= 1) { // Use the address book ID of an item to remove it DocuSignWeb.AddressBookRemoveItem toRemove = new DocuSignWeb.AddressBookRemoveItem(); toRemove.AddressBookID = items[0].AddressBookID; // Construct an array with all the items you want to remove DocuSignWeb.AddressBookRemoveItem[] remove = { toRemove }; DocuSignWeb.UpdateAddressBookResult result = _apiClient.RemoveAddressBookItems(remove, false); // Confirm that the removal succeeded Console.WriteLine("Removed item {0} succeeded? {1}", toRemove.AddressBookID, result.Success); } RemoveAddressBookItems – PHP // Grab all the address book items from the specified account $getAddressBookItemsparams = new GetAddressBookItems(); $getAddressBookItemsparams->AccountID = $AccountID; $addBookItems = $api->GetAddressBookItems($getAddressBookItemsparams)- >GetAddressBookItemsResult->AddressBookItem; if (count($addBookItems) >= 1) { $addToRemove = new AddressBookRemoveItem(); // Build an array of the first address book item to remove $addToRemove->AddressBookID = $addBookItems[0]->AddressBookID; $removeAddressBookItemsparams = new RemoveAddressBookItems(); $removeAddressBookItemsparams->AddressBookRemoveItems = array($addToRemove); $removeAddressBookItemsparams->ReturnAddressBook = false; $response = $api->RemoveAddressBookItems($removeAddressBookItemsparams); } else { $response = "No address book items to remove."; } 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 184. DocuSign API Developer Guide 184 RequestTemplate Schema Name Schema Type Description TemplateId DSXId Template ID to return. IncludeDocumentBytes Boolean If true, include the document bytes of the template within the Envelope object returned. Retrieves a specific template from the server. This method returns EnvelopeTemplate upon execution completion. EnvelopeTemplate Name Schema Type Description EnvelopeTemplateDefinition EnvelopeTemplateDefinition Defines the attributes of a template. See the EnvelopeTemplateDefinition section below for more information. Envelope Envelope Template is contained within an Envelope object defined earlier in this document. MatchBox Name Schema Type Description PageNumber Integer Page to put the matchbox on. XPosition Integer X position of the matchbox. YPosition Integer Y position of the matchbox. Width Integer Width of the matchbox. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 185. DocuSign API Developer Guide 185 Name Schema Type Description Height Integer Height of the matchbox. Matchboxes can be supplied with the document structure within the Envelope. They are used in the matching process when documents are uploaded for creating templates. EnvelopeTemplateDefinition Name Schema Type Description TemplateID DSXId Unique identifier of the template. Name String Name of the template. Shared Boolean If true, the template is shared with the Everyone group in the account. If false, the template is only shared with the Administrator group. TemplatePassword String Password if the template is locked. NOTE: This will only be returned if the requesting user is the creator of the template. TemplateDescription String Description of the template. LastModified DateTime Last time the template was modified. PageCount Integer Number of pages in document of the template. Rules and exceptions for RequestTemplate • Account_Lacks_Permissions – account does not have permissions to use this API. • User_Lacks_Permissions – user does not have permissions to use this API. • Template_Unable_To_Load – template ID provided was invalid. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 186. DocuSign API Developer Guide 186 Sample Code RequestTemplate – C# // Request all the templates as shown in linked code DocuSignWeb.EnvelopeTemplateDefinition[] response = <templates request>; // Request information about each template definition foreach (DocuSignWeb.EnvelopeTemplateDefinition def in response) { Console.WriteLine("Retrieved template definition with ID {0}", def.TemplateID); // Request the template specified by the template ID DocuSignWeb.EnvelopeTemplate template = _apiClient.RequestTemplate(def.TemplateID, false); // Display information about the returned template Console.WriteLine("tRetrieved template with name "{0}" and with {1} pages", template.EnvelopeTemplateDefinition.Name, template.EnvelopeTemplateDefinition.PageCount); } RequestTemplate – PHP // Request all the templates this account has on file $requestTemplatesparams = new RequestTemplates(); $requestTemplatesparams->AccountID = $AccountID; $requestTemplatesparams->IncludeAdvancedTemplates = false; $rtsResponses = $api->RequestTemplates($requestTemplatesparams)->RequestTemplatesResult- >EnvelopeTemplateDefinition; // Request info for each template and put into array of $responses $requestTemplateparams = new RequestTemplate(); $requestTemplateparams->IncludeDocumentBytes = false; $responses = array(); foreach ($rtsResponses as $envTemplateDef) { $requestTemplateparams->TemplateID = $envTemplateDef->TemplateID; $response = $api->RequestTemplate($requestTemplateparams); array_push($responses, $response); } RequestTemplateList This method requests a list of templates. Schema Name Schema Type Description TemplateIDs ArraryofString5 An array of Template IDs for the templates being requested. IncludeDocumentBytes Boolean If true, the document bytes of the requested templates are included in the response. The method returns a list of EnvelopeTemplates for the requested templates. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 187. DocuSign API Developer Guide 187 RequestTemplates Schema Name Schema Type Description AccountId DSXId Account to request the templates for. If left blank the API user’s default account will be used. IncludeAdvancedTemplates Boolean If true, this will return templates with advanced features, (advanced features are those not supported by DSPro). If false, only templates without advanced features are returned. This method returns a list of server side templates available for this account. The list format is in EnvelopeTemplateDefinition section above. Rules and exceptions for RequestTemplates • Account_Lacks_Permissions – account does not have permissions to use this API. • User_Lacks_Permissions – user does not have permissions to use this API. Sample Code RequestTemplates – C# // Request all the templates that this account has on file DocuSignWeb.EnvelopeTemplateDefinition[] response = _apiClient.RequestTemplates(_accountId, false); // Print out information about the templates foreach (DocuSignWeb.EnvelopeTemplateDefinition def in response) { Console.WriteLine("Retrieved template definition with ID {0} with name "{1}"", def.TemplateID, def.Name); } RequestTemplates – PHP // Request all the templates this account has on file $requestTemplatesparams = new RequestTemplates(); $requestTemplatesparams->AccountID = $AccountID; $requestTemplatesparams->IncludeAdvancedTemplates = false; $rtsResponses = $api->RequestTemplates($requestTemplatesparams)->RequestTemplatesResult- >EnvelopeTemplateDefinition; 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 188. DocuSign API Developer Guide 188 SaveTemplate Schema Name Schema Type Description EnvelopeTemplate EnvelopeTemplate Template to save. EnvelopeTemplate object was described earlier. This method returns SaveTemplateResult. Input to SaveTemplate is the EnvelopeTemplate object described earlier. Rules and exceptions for SaveTemplate • Account_Lacks_Permissions – account does not have permissions to use this API. • User_Lacks_Permissions – user does not have permissions to use this API or the user does not have permissions to manage templates for the account. • If the template ID is not provided in EnvelopeTemplate a new template will be created. Sample Code SaveTemplate – C# // Request all the templates as shown in linked code DocuSignWeb.EnvelopeTemplateDefinition[] response = <templates request>; foreach (DocuSignWeb.EnvelopeTemplateDefinition def in response) { Console.WriteLine("Retrieved template definition with ID {0}", def.TemplateID); // Request the template specified by the template ID DocuSignWeb.EnvelopeTemplate template = _apiClient.RequestTemplate(def.TemplateID, true); // Modify the name of the template template.EnvelopeTemplateDefinition.Name = "Modified name"; // Save the template back to the account DocuSignWeb.SaveTemplateResult result = _apiClient.SaveTemplate(template); // Confirm that the save operation succeeded Console.WriteLine("tSaved template? {0}", result.Success); } SaveTemplate – PHP // Request all the templates this account has on file $requestTemplatesparams = new RequestTemplates(); $requestTemplatesparams->AccountID = $AccountID; $requestTemplatesparams->IncludeAdvancedTemplates = false; $rtsResponses = $api->RequestTemplates($requestTemplatesparams)->RequestTemplatesResult- >EnvelopeTemplateDefinition; // Make a new template from each template on file and save it $requestTemplateparams = new RequestTemplate(); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 189. DocuSign API Developer Guide 189 $requestTemplateparams->IncludeDocumentBytes = true; $responses = array(); foreach ($rtsResponses as $envTemplateDef) { $requestTemplateparams->TemplateID = $envTemplateDef->TemplateID; $template = $api->RequestTemplate($requestTemplateparams)->RequestTemplateResult; $template->EnvelopeTemplateDefinition->Name = "Modified Name"; $saveTemplateparams = new SaveTemplate(); $saveTemplateparams->EnvelopeTemplate = $template; $response = $api->SaveTemplate($saveTemplateparams); array_push($responses, $response); } UpdateAddressBookItems Updates and inserts all the specified items passed to your address book. This method returns an UpdateAddressBookResult object. Schema Name Schema Type Description AddressBookItems AddressBookItem Array Array of address book items to update or insert. ReturnAddressBook Boolean If true, return the address book item list in the UpdateAddressBookResult object. UpdateAddressBookResult Name Schema Type Description Success Boolean True if successful. AddressBookItems AddressBookItem Array Array of AddressBookItem after the updates are completed. AddressBookItem object described earlier. Rules and exceptions for UpdateAddressBookItems • Account_Lacks_Permissions – account does not have permissions to use this API. • User_Lacks_Permissions – user does not have permissions to use this API. • Address book items that are passed to this API that the user does not own will not be removed. • If the address book ID is left blank in the AddressBookItem object a new address book entry will be added. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 190. DocuSign API Developer Guide 190 • If the AddressBookItem share is changed and the user does not have address book sharing privileges, the address book item share will not be updated. • AddressBook_Email_Invalid – if there is an invalid email in the address book items passed to the API this error will be returned and no updates will be done. UploadTemplate This method returns SaveTemplateResult. Note: this method currently only supports DocuSign Professional Template XML. Schema Name Schema Type Description TemplateXML String XML data to be transformed into a DocuSign server side template. NOTE: only DocuSign Professional template XML is supported. AccountID DSXId Account ID to add the template to. If blank, the API user’s default account will be used. Shared Boolean If true, the template is shared with the Everyone group in the account. If false, the template is only shared with the Administrator group. Rules and exceptions for UploadTemplate • Account_Lacks_Permissions – account does not have permissions to use this API. • User_Lacks_Permissions – user does not have permissions to use this API or the user does not have permissions to manage templates for the account. Sample Code UploadTemplate – C# // Read the template that you want to upload String templateXML = System.IO.File.ReadAllText("path to template"); // Upload the specified template to the account DocuSignWeb.SaveTemplateResult result = _apiClient.UploadTemplate(templateXML, _accountId, false); // Confirm that the template saved successfully Console.WriteLine("The template was successfully uploaded? {0}", result.Success); 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 191. DocuSign API Developer Guide 191 UploadTemplate – PHP // Read the template that you want to upload $templateXML = file_get_contents("path to template"); // Send $uploadTemplateparams = new UploadTemplate(); $uploadTemplateparams->AccountID = $AccountID; $uploadTemplateparams->TemplateXML = $templateXML; $uploadTemplateparams->Shared = true; $response = $api->UploadTemplate($uploadTemplateparams); Embedded Callback Event Codes When DocuSign redirects the Recipient to the Embedded client application, it will append a URL parameter “event” to the CallbackURL to indicate which terminal state the Recipient reached. The valid values are: Event Description OnSigningComplete The Recipient successfully completed the signing the document. OnViewingComplete The Recipient successfully viewed the document. OnCancel The Recipient canceled the document while viewing the envelope. OnDecline The recipient declined the envelope. OnSessionTimeout The recipient session has timed out. OnTTLExpired If a Recipient Token URL is invoked after it is expired. OnAccessCodeFailed The Recipient failed to provide the correct Access Code. OnIdCheckFailed The Recipient failed to pass the ID Check authentication questions. OnException If an exception is thrown. OnFaxPending If a faxed in document is pending. Asynchronous Document Generation The following value can be set to cause the system to report that the envelope has been completed before the actual final documents have been generated. Name Schema Type Description GenerateSignedDocumentAsynch Boolean Optional flag. If true, the final document generation will happen after the envelope status has been set to ‘Completed’. Default is false. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 192. DocuSign API Developer Guide 192 Credential API This section covers the methods involved in implementing a DocuSign Credential API. The DocuSign Credential API can be used to authenticate with an email and password to acquire your API credentials. The credentials can then be used to access the DocuSign Connect API methods described earlier. If you have an integrators key from DocuSign you can place it in front of the email argument bracketed, “[“ and “]”. The DocuSign Credential API exposes the following methods: Login – Allows you to authenticate with an email and password to retrieve your API credentials required to access the DocuSign Connect API. Ping – Allows you to validate that the Credential API is alive. Login The Login method can be used to authenticate and retrieve DocuSign Connect API credentials based on an email and password. This method will return an array of valid DocuSign Connect API accounts that match the email and password provided. Schema Name Schema Type Description Email String Email to authenticate with. Place your bracketed integrators key in front of the email if you have received one from DocuSign. Sample: [integrator key]email Password String Password to authenticate with. ReturnBaseUrl Boolean When true, the response will return the BaseUrl string. This contains information about the server location of your account. The string is should be used in the header for future API calls. Sample Request XML: SOAP 1.1: The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values. POST /api/3.0/credential.asmx HTTP/1.1 Host: www.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/Credential/Login" 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 193. DocuSign API Developer Guide 193 <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Login xmlns="http://www.docusign.net/API/Credential"> <Email>string</Email> <Password>string</Password> <ReturnBaseUrl>boolean</ReturnBaseUrl> </Login> </soap:Body> </soap:Envelope> SOAP 1.2: The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values. POST /api/3.0/credential.asmx HTTP/1.1 Host: www.docusign.net Content-Type: application/soap+xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <Login xmlns="http://www.docusign.net/API/Credential"> <Email>string</Email> <Password>string</Password> <ReturnBaseUrl>boolean</ReturnBaseUrl> </Login> </soap12:Body> LoginResult Name Schema Type Description AccountID DSXId Account ID of the valid DocuSign Connect API user. AccountName String Account Name of the valid DocuSign Connect API user. UserID DSXId User ID of the valid DocuSign Connect API user. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 194. DocuSign API Developer Guide 194 Name Schema Type Description UserName String Username of the valid DocuSign Connect API user. Email String Email of the valid DocuSign Connect API user. BaseUrl String The BaseUrl string for your account. This contains information about the server location of your account. The string is should be used in the header for future API calls. Ping Ping can be used to do a quick check to see if the DocuSign Credential service is available. Schema Sample Request XML: SOAPAction: http://www.docusign.net/API/Credential/Ping <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Ping xmlns="http://www.docusign.net/API/Credential" /> </soap:Body> </soap:Envelope> PingResult Returns true if successful. Sample Code Ping – C# // Use this function to validate that the Credential API is alive bool retval = _apiClient.Ping(); // Confirm that we got an appropriate reply if (retval) { Console.WriteLine("Ping succeeded."); } Ping – PHP $pingParams = new Ping(); $response = $am_api->Ping($pingParams); GetAuthenticationToken This method can be used to get a onetime use URL with an authentication token to launch the DocuSign member system. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 195. DocuSign API Developer Guide 195 Schema Name Schema Type Description Email string Email to authenticate with. Place your bracketed integrators key in front of the email if you have received one from DocuSign. Sample: [integrator key]email Password string Password to authenticate with. AccountID string Optional DocuSign account ID for the user. If left blank the default account ID will be used. GoToEnvelopeID String Optional envelope ID. If provided the URL returned will send the user directly to viewing the envelope. If left blank the user will be taken to the member console. This method returns a string that is the URL to access the DocuSign member system. This URL can be placed in a browser and you will be automatically logged into the member system. RequestSenderToken This method is used to get a onetime use login token that allows the user to be placed into the DocuSign sending wizard. Upon sending completion the user is returned to the return URL provided by the API application. Schema 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 196. DocuSign API Developer Guide 196 Name Schema Type Description Email String Email to authenticate with. Place your bracketed integrators key in front of the email if you have received one from DocuSign. Sample: [integrator key]email Password String Password to authenticate with. EnvelopeID String Optional envelope ID. If provided the user will be placed into the envelope in process. If left blank the user will be placed into a new envelope for sending. AccountID String DocuSign account ID to map the envelope to. ReturnURL String URL to send the user to upon completion of the sending process. The URL will have an event passed to it as a query parameter. The parameter will be named “event”, see “In- session sending events” below for description of the valid events. The DocuSign Envelope Id will also be returned in the “envelopeId” parameter. In-session sending events Events returned on the ReturnURL as a query string parameter. The event is sent in the parameter named “event”. The ReturnURL is called with the event on any completion state of the envelope send. Valid events can be found in the schema type InSessionSendEvent in the DocuSign API XSD. Event Description Send User sends the envelope. Save User saves a draft of the envelope. Cancel User cancels the sending transaction. No envelope ID returned. Error Error performing the send. SessionEnd Sending session ended before the user completed. Rules and exceptions for RequestSenderToken • User_Does_Not_Exist_In_System – API user requesting the sending token URL does not have access to the system. • Account_Does_Not_Exist_In_System – Account is not valid. • Account_Lacks_Permissions – Account does not have valid permissions. • User_Lacks_Permissions – user does not have valid permissions. • User_Authentication_Failed – user/password is not valid. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 197. DocuSign API Developer Guide 197 Account Management Service API This section of the Developer’s Guide provides information about the different methods in the DocuSign Account Management Service API. Methods Exposed in the DocuSign Account Management Service API The DocuSign Account Management Service API exposes the following major methods (listed alphabetically): • ActivateSalesforceInstance - This method is used by the DocuSign for Salesforce package to connect Salesforce to DocuSign. • AddMembersToAccount - This method is used to add new members to an existing account. • AuthenticateMember and AuthenticateMemberEx - These methods requests the status of a member in an account. • ChangeAccountPricePlan - This method is used to change the billing plan for an account. • ChangePassword – This method is used to change the password for an account member. • CheckAccountMember - This method is used to determine if user email is a member of the specified account. • CloseMembers – This method is used to close member accounts in the same manner as closing an account through the DocuSign web console. • CloseSignature - This method is used to remove a signature for a user. • GetAccountCustomFields - This method is used to retrieve a list of the envelope custom fields associated with the account. • GetAccountDistributorCode - This method requests the Distributor Code for an account. • GetAccountInformation - This method requests the account level attributes for an account. • GetAccountSettings - This method requests the settings for an account. • GetConnectCredentials - This method is used by the DocuSign for Salesforce package to retrieve the Salesforce connect settings. • GetEncryptedPassword - This method requests the encrypted form of the user’s password. This encrypted password may be used for authentication in other API function calls along with a User Name or User ID and an Integrator Key. • GetMemberSettings - This method requests some attributes about the specified member of the account. • GetMembershipSummary - This function returns a list of summary information about the accounts and users associated with the supplied email address. • GetPlanGroupInformation - This function returns the plan group names and plans associated with each plan group for the given distributor code. This information is used to assign billing plans to an account. • GetPlanPricingInformation - This function returns the plan pricing information associated with the given distributor code. • GetPlanType - This function requests the plan payment type information for an account. The payment types use the same terminology as the payment method. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 198. DocuSign API Developer Guide 198 • GetProvisioningInformation - This function returns account provisioning information, the DistributorCode, DistributorPassword, and other plan information, for the given Token. • GetSignatures – This method is reserved for DocuSign use only. • GetSuccessorPlanInformation - This function returns the current plan information and a list of successor plans, plans that the current plan could be rolled into, associated with the given distributor code and account. • GetUserProfile - This method retrieves the privacy settings and personal information (address, phone number, etc.) from a user ID card. • GetUserProfileImage - This method retrieves the image from a user ID card. • InitializeClientAccount – This method is reserved for DocuSign use only. • NewAccount - This method creates a new DocuSign account with a single member, who is the account owner. • NewSocialAccount – This method is reserved for DocuSign use only. • Ping - This method determines if the Account Management API service can be contacted. • ResendAccountActivation - This method sends another account activation message to an account user. • SetConnectCredentials - This method is used by the DocuSign for Salesforce package to set the connection used by DocuSign to update Salesforce data. • SetSignatureImages – This method is reserved for DocuSign use only. • SetUserProfile - This method is used to set the privacy settings and personal information (address, phone number, etc.) from a user ID card. • SetUserProfileImage - Thsis method is used to upload an image to a user ID card. • UpdateAccountSettings - This method is used to modify account level settings. • UpdateMemberSettings - This method is used to modify settings for a member of an account. • UpgradeRecipientAccount - This function is used to upgrade a user from a free account, where the user has few privileges, to a paid account plan. Account Management Service API Methods This section outlines the usage rules and behaviors of the Account Management Service methods. The functions are presented in alphabetical order. ActivateSalesforceInstance This method is used by the DocuSign for Salesforce package to connect Salesforce to DocuSign. Schema Name Schema Type Description AccountId String The DocuSign account ID to which you are trying to connect. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 199. DocuSign API Developer Guide 199 Name Schema Type Description ExternalInstanceId String The Salesforce session ID. ConnectUsername String The Salesforce login user name. ConnectPassword String The Saleforce login password SalesforceEnvironment String The Salesforce environment being accessed (i.e: Production or Test). Member Member A complex type that contains information about the member being activated. See the Member section for more information. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/ActivateSalesforceInstance" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ActivateSalesforceInstance xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> <ExternalInstanceId>string</ExternalInstanceId> <ConnectUsername>string</ConnectUsername> <ConnectPassword>string</ConnectPassword> <SalesforceEnvironment>string</SalesforceEnvironment> <Member> <MemberEmailAddress>string</MemberEmailAddress> <MemberUserName>string</MemberUserName> <MemberPassword>string</MemberPassword> <MemberForgottenPasswordQuestion>string</MemberForgottenPasswordQuestion> <MemberForgottenPasswordAnswer>string</MemberForgottenPasswordAnswer> <MemberTitle>string</MemberTitle> <MemberFirstName>string</MemberFirstName> <MemberMiddleName>string</MemberMiddleName> <MemberLastName>string</MemberLastName> <MemberSuffix>string</MemberSuffix> <EnableConnectForUser>boolean</EnableConnectForUser> <MemberSettings> <CanManageAccount>boolean</CanManageAccount> <CanSendEnvelope>boolean</CanSendEnvelope> <CanSendAPIRequests>boolean</CanSendAPIRequests> <APIAccountWideAccess>boolean</APIAccountWideAccess> <EnableVaulting>boolean</EnableVaulting> <VaultingMode>bytes</VaultingMode> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableDSPro>boolean</EnableDSPro> <PowerFormAdmin>boolean</PowerFormAdmin> <PowerFormUser>boolean</PowerFormUser> <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook> <CanManageTemplates>bytes</CanManageTemplates> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 200. DocuSign API Developer Guide 200 </MemberSettings> <ReturnEncryptedPassword>boolean</ReturnEncryptedPassword> </Member> </ActivateSalesforceInstance> </soap:Body> </soap:Envelope> The result contains the information below and returns either a success or failure. If the call fails an error code is provided. Name Schema Type Description AccountId String The DocuSign account ID to which you are connected. SiteId String The DocuSign account number. UserId String The User ID for the connected account. MembershipId String The membership ID for the connected account. EncryptedPassword String The encrypted password for the authenticated user. Sample Return XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ActivateSalesforceInstanceResponse xmlns="http://www.docusign.net/API/AccountManagement"> <ActivateSalesforceInstanceResult> <AccountId>string</AccountId> <SiteId>string</SiteId> <UserId>string</UserId> <MembershipId>string</MembershipId> <EncryptedPassword>string</EncryptedPassword> <Success>boolean</Success> <Error> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 201. DocuSign API Developer Guide 201 <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </ActivateSalesforceInstanceResult> </ActivateSalesforceInstanceResponse> </soap:Body> </soap:Envelope> Member This element contains general information for a member. Name Schema Type Description MemberEmailAddress String The member’s email address for the associated account. This can be a maximum of 100 characters. MemberUserName String The member’s name for the associated account. This can be a maximum of 100 characters. MemberPassword String The member’s password for the associated account. This can be a maximum of 50 characters. MemberForgottenPasswordQuestion String The member’s forgotten password question for the associated account. MemberForgottenPasswordAnswer String The answer to the member’s forgotten password question for the associated account. MemberTitle String The member’s title for the associated account. This can be a maximum of 10 characters. MemberFirstName String The member’s first name. This can be a maximum of 50 characters. MemberMiddileName String The member’s middle name. This can be a maximum of 50 characters. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 202. DocuSign API Developer Guide 202 Name Schema Type Description MemberLastName String The member’s last name. This can be a maximum of 50 characters. MemberSuffix String The suffix for the member’s name. This can be a maximum of 50 characters. EnableConnectForUser Boolean When true, the user is enabled for connect. MemberSettings MemberSettings A complex type that contains the account settings for the member. See MemberSettings for more information. ReturnEncryptedPassword Boolean When true, returns the encrypted DocuSign password sent in the authentication header. MemberSettings This element contains details about the account settings for a member. Name Schema Type Description CanManageAccount Boolean When true, this user can manage account settings, manage user settings, add users, and remove users. CanSendEnvelope Boolean When true, this user can send envelopes though the DocuSign Console. CanSendAPIRequests Boolean When true, this user can send and manage envelopes using the DocuSign API. APIAccountWideAccess Boolean When true, this user can send and manage envelopes for the entire account using the DocuSign API. EnableVaulting Boolean When true, this user can use electronic vaulting for documents. VaultingMode String This element sets the electronic vaulting mode for the user. Enumeration values are: None, eStored and electronicOriginal. EnableTransactionPoint Boolean When true, this user can select an envelope from their member console and upload the envelope documents to TransactionPoint. EnableSequentialSigningAPI Boolean When true, this user can define the routing order of recipients for envelopes sent using the DocuSign API. EnableSequentialSigningUI Boolean When true, this user can define the routing order of recipients while sending documents for signature. EnableDSPro Boolean When true, this user can send and manage envelopes from the DocuSign Desktop Client. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 203. DocuSign API Developer Guide 203 Name Schema Type Description PowerFormAdmin Boolean When true, this user can create, manage and download the PowerForms documents. PowerFormUser Boolean When true, this user can view and download PowerForms documents. CanEditSharedAddressBook String This element sets the address book usage and management rights for the user. Enumeration values are: None, UseOnlyShared, UsePrivateAndShared, Share. CanManageTemplates String This element sets the template usage and management rights for the user. Enumeration values are: None, Use, Create, Share. EnableSignOnPaperOverride Boolean When true, this user can override the account setting that determines if signers may sign their documents on paper as an option to signing electronically. EnableSignerAttachments Boolean When true, this user can add requests for attachments from signers while sending documents. AddMembersToAccount This method is used to add new members to an existing account. Schema Name Schema Type Description AccountId String The account ID of the account to which the members are being added. Members ArrayOfMember An array of Member elements for members that are being added to the account. See the Member section for more information. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/AddMembersToAccount" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AddMembersToAccount xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> <Members> <Member> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 204. DocuSign API Developer Guide 204 <MemberEmailAddress>string</MemberEmailAddress> <MemberUserName>string</MemberUserName> <MemberPassword>string</MemberPassword> <MemberForgottenPasswordQuestion>string</MemberForgottenPasswordQuestion> <MemberForgottenPasswordAnswer>string</MemberForgottenPasswordAnswer> <MemberTitle>string</MemberTitle> <MemberFirstName>string</MemberFirstName> <MemberMiddleName>string</MemberMiddleName> <MemberLastName>string</MemberLastName> <MemberSuffix>string</MemberSuffix> <EnableConnectForUser>boolean</EnableConnectForUser> <MemberSettings> <CanManageAccount>boolean</CanManageAccount> <CanSendEnvelope>boolean</CanSendEnvelope> <CanSendAPIRequests>boolean</CanSendAPIRequests> <APIAccountWideAccess>boolean</APIAccountWideAccess> <EnableVaulting>boolean</EnableVaulting> <VaultingMode>bytes</VaultingMode> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableDSPro>boolean</EnableDSPro> <PowerFormAdmin>boolean</PowerFormAdmin> <PowerFormUser>boolean</PowerFormUser> <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook> <CanManageTemplates>bytes</CanManageTemplates> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> </MemberSettings> <ReturnEncryptedPassword>boolean</ReturnEncryptedPassword> </Member> <Member> <MemberEmailAddress>string</MemberEmailAddress> <MemberUserName>string</MemberUserName> <MemberPassword>string</MemberPassword> <MemberForgottenPasswordQuestion>string</MemberForgottenPasswordQuestion> <MemberForgottenPasswordAnswer>string</MemberForgottenPasswordAnswer> <MemberTitle>string</MemberTitle> <MemberFirstName>string</MemberFirstName> <MemberMiddleName>string</MemberMiddleName> <MemberLastName>string</MemberLastName> <MemberSuffix>string</MemberSuffix> <EnableConnectForUser>boolean</EnableConnectForUser> <MemberSettings> <CanManageAccount>boolean</CanManageAccount> <CanSendEnvelope>boolean</CanSendEnvelope> <CanSendAPIRequests>boolean</CanSendAPIRequests> <APIAccountWideAccess>boolean</APIAccountWideAccess> <EnableVaulting>boolean</EnableVaulting> <VaultingMode>bytes</VaultingMode> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableDSPro>boolean</EnableDSPro> <PowerFormAdmin>boolean</PowerFormAdmin> <PowerFormUser>boolean</PowerFormUser> <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook> <CanManageTemplates>bytes</CanManageTemplates> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> </MemberSettings> <ReturnEncryptedPassword>boolean</ReturnEncryptedPassword> </Member> </Members> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 205. DocuSign API Developer Guide 205 </AddMembersToAccount> </soap:Body> </soap:Envelope> The response contains an array of MemberResults, with the information below, and either a success or failure. If the call fails an error code is provided. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AddMembersToAccountResponse xmlns="http://www.docusign.net/API/AccountManagement"> <AddMembersToAccountResult> <Members> <Member> <UserId>string</UserId> <EncryptedPassword>string</EncryptedPassword> <MembershipId>string</MembershipId> <Success>boolean</Success> <Error xsi:nil="true" /> </Member> <Member> <UserId>string</UserId> <EncryptedPassword>string</EncryptedPassword> <MembershipId>string</MembershipId> <Success>boolean</Success> <Error xsi:nil="true" /> </Member> </Members> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </AddMembersToAccountResult> </AddMembersToAccountResponse> </soap:Body> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 206. DocuSign API Developer Guide 206 </soap:Envelope> MemberResult Name Schema Type Description UserId String The User ID for the new member. EncryptedPassword String The encrypted password for the authenticated user. MembershipId String The membership ID for the new member. AuthenticateMember and AuthenticateMemberEx These method requests the status of a member in an account. Schema Name Schema Type Description AccountId String The account ID associated with the member you are authenticating. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/AuthenticateMember" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AuthenticateMember xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> </AuthenticateMember> </soap:Body> </soap:Envelope> The response contains the information below and either a success or failure. If the call fails an error code is provided. Name Schema Type Description UserId String The user ID for the member being authenticated. EncryptedPassword String The encrypted password for the authenticated user. UsesAPI Boolean When true, the user can use the DocuSign API. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 207. DocuSign API Developer Guide 207 Name Schema Type Description MemberSettings MemberSettings A complex type that contains the account settings for the member. See MemberSettings for more information. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AuthenticateMemberResponse xmlns="http://www.docusign.net/API/AccountManagement"> <AuthenticateMemberResult> <UserId>string</UserId> <AccountId>string</AccountId> <UsesAPI>boolean</UsesAPI> <MemberSettings> <CanManageAccount>boolean</CanManageAccount> <CanSendEnvelope>boolean</CanSendEnvelope> <CanSendAPIRequests>boolean</CanSendAPIRequests> <APIAccountWideAccess>boolean</APIAccountWideAccess> <EnableVaulting>boolean</EnableVaulting> <VaultingMode>bytes</VaultingMode> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableDSPro>boolean</EnableDSPro> <PowerFormAdmin>boolean</PowerFormAdmin> <PowerFormUser>boolean</PowerFormUser> <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook> <CanManageTemplates>bytes</CanManageTemplates> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> </MemberSettings> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 208. DocuSign API Developer Guide 208 <Description>string</Description> </Error> </AuthenticateMemberResult> </AuthenticateMemberResponse> </soap:Body> </soap:Envelope> ChangeAccountPricePlan This method is used to change the billing plan for an account Schema Name Schema Type Description DistributorCode String The Distributor Code that identifies the billing plan groups and plans. DistributorPassword String The Distributor Password for the DistributorCode. AccountId String The account ID for the account you want to change. Pgp String The plan group plan for the account. The Pgp uniquely identifies a plan/plan group and is used to set plans in other functions. EnableSupport Boolean If true the plan has support enabled. IncludedSeats Integer The number of seats included in the plan CreditCardInformation CreditCardInformation This complex type has information about the credit card used to pay for this account. It included the elements: ccNumber, ccExpirationMonth, ccExpirationYear, ccUserName, and ccType. AddressInformation AddressInformation This complex type contains the following information: Street1, Street2, City, State, Zip, Phone, and Fax. The maximum characters or each field are: - Street1, Street2, City, and State: 100 characters - ZIP, Phone, and Fax: 20 characters Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/ChangeAccountPricePlan" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ChangeAccountPricePlan xmlns="http://www.docusign.net/API/AccountManagement"> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 209. DocuSign API Developer Guide 209 <DistributorCode>string</DistributorCode> <DistributorPassword>string</DistributorPassword> <AccountId>string</AccountId> <Pgp>string</Pgp> <EnableSupport>boolean</EnableSupport> <IncludedSeats>int</IncludedSeats> <CreditCardInformation> <ccNumber>string</ccNumber> <ccExpirationMonth>string</ccExpirationMonth> <ccExpirationYear>string</ccExpirationYear> <ccUserName>string</ccUserName> <ccType>string</ccType> </CreditCardInformation> <AddressInformation> <Address1>string</Address1> <Address2>string</Address2> <City>string</City> <State>string</State> <Zip>string</Zip> <Phone>string</Phone> <Fax>string</Fax> </AddressInformation> </ChangeAccountPricePlan> </soap:Body> </soap:Envelope> The response returns a success or a success or failure. If the call fails an error code is provided. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ChangeAccountPricePlanResponse xmlns="http://www.docusign.net/API/AccountManagement"> <ChangeAccountPricePlanResult> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 210. DocuSign API Developer Guide 210 <Description>string</Description> </Error> </ChangeAccountPricePlanResult> </ChangeAccountPricePlanResponse> </soap:Body> </soap:Envelope> ChangePassword This method is used to change the password for an account member. It uses ChangePasswordArg with the following information to change the account member’s password. Schema Name Schema Type Description EmailAddress String The email address for the account member. OldPassword String The account member’s old password. NewPassword String The new password for the account member. ForgottenPasswordQuestion String The member’s forgotten password question. Note: The number of forgotten password questions and answers required is set in the Password Strength Settings for your account. ForgottenPasswordAnswer String The answer to the member’s forgotten password question. ForgottenPasswordQuestion2 String The member’s second forgotten password question. ForgottenPasswordAnswer2 String The answer to the member’s second forgotten password question. ForgottenPasswordQuestion3 String The member’s forgotten third password question. ForgottenPasswordAnswer3 String The answer to the member’s third forgotten password question. ForgottenPasswordQuestion4 String The member’s fourth forgotten password question. ForgottenPasswordAnswer4 String The answer to the member’s fourth forgotten password question. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/ChangePassword" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 211. DocuSign API Developer Guide 211 <ChangePassword xmlns="http://www.docusign.net/API/AccountManagement"> <ChangePasswordArg> <EmailAddress>string</EmailAddress> <OldPassword>string</OldPassword> <NewPassword>string</NewPassword> <ForgottenPasswordQuestion>string</ForgottenPasswordQuestion> <ForgottenPasswordAnswer>string</ForgottenPasswordAnswer> <ForgottenPasswordQuestion2>string</ForgottenPasswordQuestion2> <ForgottenPasswordAnswer2>string</ForgottenPasswordAnswer2> <ForgottenPasswordQuestion3>string</ForgottenPasswordQuestion3> <ForgottenPasswordAnswer3>string</ForgottenPasswordAnswer3> <ForgottenPasswordQuestion4>string</ForgottenPasswordQuestion4> <ForgottenPasswordAnswer4>string</ForgottenPasswordAnswer4> </ChangePasswordArg> </ChangePassword> </soap:Body> </soap:Envelope> The response contains either a success or failure. If the call fails an error code is provided. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ChangePasswordResponse xmlns="http://www.docusign.net/API/AccountManagement"> <ChangePasswordResult> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error</ErrorCode> <Description>string</Description> </Error> </ChangePasswordResult> </ChangePasswordResponse> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 212. DocuSign API Developer Guide 212 CheckAccountMember This method is used to determine if user email is a member of the specified account. Schema Name Schema Type Description AccountId String The account ID associated with the member. Email String The user email to be checked. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/CheckAccountMember" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckAccountMember xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> <Email>string</Email> </CheckAccountMember> </soap:Body> </soap:Envelope> The response contains the information below and either a success or failure. If the call fails an error code is provided. Name Schema Type Description UserId String The ID of the user associated with the account. Status String If true, the user email is a member of the account. If false, an error message is provided. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CheckAccountMemberResponse xmlns="http://www.docusign.net/API/AccountManagement"> <CheckAccountMemberResult> <UserId>string</UserId> <Status>string</Status> <Success>boolean</Success> <Error> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 213. DocuSign API Developer Guide 213 <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </CheckAccountMemberResult> </CheckAccountMemberResponse> </soap:Body> </soap:Envelope> CloseMembers This function closes member accounts in the same manner as closing an account through the DocuSign web console. CloseMembers takes the argument: Name Schema Type Description AccountId String The account ID associated with the member accounts being closed. UserIds ArrayofString An array with the User IDs for the member accounts being closed. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: demo.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/CloseMembers" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CloseMembers xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> <UserIds> <string>string</string> <string>string</string> </UserIds> </CloseMembers> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 214. DocuSign API Developer Guide 214 </soap:Body> </soap:Envelope> The response contains the overall success or failure of the call. If successful, the response contains the Members result information below. If the call fails an error code is provided. Name Schema Type Description Members ArrayOfMemberResult An array with member information for the accounts being closed. See MemberResult for more information. DateStamp dateTime The data time stamp for when the member account was closed. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CloseMembersResponse xmlns="http://www.docusign.net/API/AccountManagement"> <CloseMembersResult> <Success>boolean</Success> <Members> <Member> <UserId>string</UserId> <EncryptedPassword>string</EncryptedPassword> <MembershipId>string</MembershipId> <Success>boolean</Success> <Error xsi:nil="true" /> </Member> <Member> <UserId>string</UserId> <EncryptedPassword>string</EncryptedPassword> <MembershipId>string</MembershipId> <Success>boolean</Success> <Error xsi:nil="true" /> </Member> </Members> <DateStamp>dateTime</DateStamp> <Error> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 215. DocuSign API Developer Guide 215 <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error</ErrorCode> <Description>string</Description> </Error> </CloseMembersResult> </CloseMembersResponse> </soap:Body> </soap:Envelope> CloseSignature This method is used to remove a signature for a user. CloseSignature take the argument: Name Schema Type Description SignatureName String The name of the signature file that should be closed. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: test.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/CloseSignature" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CloseSignature xmlns="http://www.docusign.net/API/AccountManagement"> <SignatureName>string</SignatureName> </CloseSignature> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 216. DocuSign API Developer Guide 216 </soap:Body> </soap:Envelope> The response contains the overall success or failure of the request. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <CloseSignatureResponse xmlns="http://www.docusign.net/API/AccountManagement"> <CloseSignatureResult> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode> <Description>string</Description> </Error> </CloseSignatureResult> </CloseSignatureResponse> </soap:Body> </soap:Envelope> GetAccountCustomFields This retrieves a list of the envelope custom fields associated with the account. These fields can be used in the envelopes for your account to record information about the envelope, help search for envelopes and track information. The envelope custom fields are shown in the Envelope Settings section when a user is creating an envelope in the DocuSign member console. The envelope custom fields are not seen by the envelope recipients. There are two types of envelope custom fields (shown by CustomFieldType), text and list. A text custom field lets the sender enter the value for the field. The list custom field lets the sender select the value of the field from a premade list. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 217. DocuSign API Developer Guide 217 Schema Name Schema Type Description AccountId String The account ID of the account for which information is requested. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: test.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetAccountCustomFields" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAccountCustomFields xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> </GetAccountCustomFields> </soap:Body> </soap:Envelope> This returns a list of envelope custom fields associated with the account and either a success or failure. If the call fails, an error code and message is provided. The following information is included in the result: Name Schema Type Description AccountCustomFields AccountCustomField The list of information about the envelope custom field. Each custom field has the following information: • Name – (String) The name of the envelope custom field. • CustomFieldType – The type of custom field, the values can be List or Text. • Show – (Boolean) When true, the custom field is shown to senders in the DocuSign console during sending. • Required – (Boolean) When true, information must be entered into the custom field to send the envelope. • ListItems – An array of items if the CustomFieldType is List. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 218. DocuSign API Developer Guide 218 <soap:Body> <GetAccountCustomFieldsResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetAccountCustomFieldsResult> <AccountCustomFields> <AccountCustomField> <Name>string</Name> <CustomFieldType>Text or List</CustomFieldType> <Show>boolean</Show> <Required>boolean</Required> <ListItems xsi:nil="true" /> </AccountCustomField> <AccountCustomField> <Name>string</Name> <CustomFieldType>Text or List</CustomFieldType> <Show>boolean</Show> <Required>boolean</Required> <ListItems xsi:nil="true" /> </AccountCustomField> </AccountCustomFields> <Success>boolean</Success> <Error> <ErrorCode>string</ErrorCode> <Description>string</Description> </Error> </GetAccountCustomFieldsResult> </GetAccountCustomFieldsResponse> </soap:Body> </soap:Envelope> GetAccountDistributorCode This function requests the Distributor Code for an account. GetAccountDistributorCode takes the argument: Name Schema Type Description AccountId String The account ID for the account requested. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: test.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetAccountDistributorCode" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAccountDistributorCode xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> </GetAccountDistributorCode> </soap:Body> </soap:Envelope> The function returns the Distributor Code for the account and either a success or failure. If the call fails, an error code is provided. The following information included in the result: 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 219. DocuSign API Developer Guide 219 Name Schema Type Description DistributorCode String The Distributor Code that identifies the billing plan groups and plans. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAccountDistributorCodeResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetAccountDistributorCodeResult> <DistributorCode>string</DistributorCode> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </GetAccountDistributorCodeResult> </GetAccountDistributorCodeResponse> </soap:Body> </soap:Envelope> GetAccountInformation This method requests the account level attributes for an account. Schema Name Schema Type Description AccountId String The account ID for the account being checked. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 220. DocuSign API Developer Guide 220 Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetAccountInformation" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAccountInformation xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> </GetAccountInformation> </soap:Body> </soap:Envelope> The response contains the account information below and either a success or failure. If the call fails an error code is provided. Name Schema Type Description CurrentPlanId String The Plan ID of the requested account. CurrentPlanName String The Plan Name of the requested account. CurrentPlanStartDate dateTime The Plan start date of the requested account. CurrentPlanEndDate dateTime The Plan end date of the requested account. CurrentBillingPeriodStartDate dateTime The billing period start date of the requested account. CurrentBillingPeriodEndDate dateTime The billing period end date of the requested account. CurrentBillingPeriodEnvelopesSent Integer The total number envelopes sent by this account in the current billing period. CurrentBillingPeriodEnvelopesAllowed Integer The total number of envelopes that the account can send during the current billing period. AccountSuspensionStatus String Blank if account is not suspended. Otherwise, it indicates the reason why the account was suspended. AccountSuspensionDate dateTime The date that the account was suspended. AccountName String The account name associated with the requested account. ExternalAccountId String The DocuSign account number. ConnectPermission String Shows the account permission for using Connect. Enumeration values are: None, Full or Sendonly. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 221. DocuSign API Developer Guide 221 Name Schema Type Description DocusignLandingUrl String The URL of the landing page associated with the account. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAccountInformationResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetAccountInformationResult> <CurrentPlanId>string</CurrentPlanId> <CurrentPlanName>string</CurrentPlanName> <CurrentPlanStartDate>dateTime</CurrentPlanStartDate> <CurrentPlanEndDate>dateTime</CurrentPlanEndDate> <CurrentBillingPeriodStartDate>dateTime</CurrentBillingPeriodStartDate> <CurrentBillingPeriodEndDate>dateTime</CurrentBillingPeriodEndDate> <CurrentBillingPeriodEnvelopesSent>integer</CurrentBillingPeriodEnvelopesSent> <CurrentBillingPeriodEnvelopesAllowed>integer</CurrentBillingPeriodEnvelopesAllowed> <AccountSuspensionStatus>string</AccountSuspensionStatus> <AccountSuspensionDate>dateTime</AccountSuspensionDate> <AccountName>string</AccountName> <ExternalAccountId>string</ExternalAccountId> <ConnectPermission>string</ConnectPermission> <DocusignLandingUrl>string</DocusignLandingUrl> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </GetAccountInformationResult> </GetAccountInformationResponse> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 222. DocuSign API Developer Guide 222 GetAccountSettings This method requests the settings for an account. Schema Name Schema Type Description AccountId String The account ID of the account being checked. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetAccountSettings" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAccountSettings xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> </GetAccountSettings> </soap:Body> </soap:Envelope> The response contains the AccountSettings information given below and either a success or failure. If the call fails an error code is provided. AccountSettings Name Schema Type Description UsesAPI Boolean When true, the account can use the DocuSign API. EnableDSPro Boolean When true, this account can send and manage envelopes from the DocuSign Desktop Client. EnableSendToManage Boolean When true, this account can use the Editor Recipient Type. EnableSendToAgent Boolean When true, this account can use the Agent Recipient Type. EnableVaulting Boolean When true, this account can use electronic vaulting for documents. EnableEnvelopeStampingByAccountAdmin Boolean When true, senders for this account can choose to have the envelope ID stamped in the document margins. EnvelopeStamplingDefaultValue Boolean When true, envelopes sent by this account automatically have the envelope ID stamped in the margins, unless the sender selects not to have them stamped. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 223. DocuSign API Developer Guide 223 Name Schema Type Description SignerMustHaveAccount Boolean When true, senders can only send an envelope to a recipient that has a DocuSign account. SignerMustLoginToSign Boolean When true, an envelope signer must log in to the DocuSign console to sign an envelope. SignerCanCreateAccount Boolean When true, the signer without a DocuSign account can create a DocuSign account after signing. AllowInPerson Boolean When true, the account allows In Person Signing. EnablePowerForm Boolean When true, PowerForm access is enabled for the account. AllowSignerReassign Boolean When true, the account allows signers to reassign an envelope. EnableReservedDomain Boolean When true, an account administrator can reserve web domain and users. EnableSequentialSigningAPI Boolean When true, the account can define the routing order of recipients for envelopes sent using the DocuSign API. EnableSequentialSigningUI Boolean When true, the account can define the routing order of recipients for envelopes sent using the DocuSign console. EnableAutoNav Boolean When true, the auto-navigation is enabled for the account. AutoNavRule String The auto-navigation rule for the account. Enumeration values are: Off, RequiredFields, RequiredAndBlankFields, AllFields, PageThenRequiredFields, PageThenRequiredAndBlankFields, PageThenAllFields. EnableTransactionPoint Boolean When true, Transaction Point is enabled for this account. EnvelopeIntegrationAllowed String Shows the envelope integration rule for the account. Enumeration values are: NotAllowed, Full, IntegrationSendOnly. EnvelopeIntegrationEnabled Boolean When true, envelope integration is enabled for the account. CanSelfBrandSend Boolean When true, account administrators can self-brand their sending console through the DocuSign Console. CanSelfBrandSign Boolean When true, account administrators can self-brand their signing console through the DocuSign Console. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 224. DocuSign API Developer Guide 224 Name Schema Type Description IDCheckRequired String Indicates if authentication is required by envelope signers. Enumeration values are: Always, Never, or Optional. Optional means the authentication is determined by the sender. IDCheckExpire String Indicates when a user’s authentication expires. Enumeration values are: Always, Never, Variable. Variable uses the value in IDCheckExpireDays. IDCheckExpireDays Integer The number of days before a user’s authentication expires. This is only active if the IDCheckExpire value is Variable. SignDateFormat String The date/time format applied to Date Signed fields for the account. PKISignDownloadedPDFDocs String The policy for adding a digital certificate to downloaded, printed and emailed documents. Enumeration values are: NoSign, NoSignAllowUserOverride, YesSign InPersonIDCheckQuestion String The default question used by the In Person signing host for an In Person signing session. SessionTimeout Integer The amount of idle activity time, in minutes, before a user is automatically logged out of the system. The minimum setting is 20 minutes and the maximum setting is 120 minutes. AttachCompletedEnvelope Boolean When true, envelope documents are included as a PDF file attachment for signing completed emails. SignerCanSignOnMobile Boolean When true, signer can use the DocuSign mobile signing user interface. SignerShowSecureFieldInitialValues Boolean When true, the initial value of all SecureFields is written to the document when sent. SignerAttachCertificateToEnvelopePDF Boolean When true, the Certificate of Completion is included in the envelope documents PDF when it is downloaded. EnableSignOnPaper Boolean When true, a user can allow signers to use the sign on paper option. EnableSignOnPaperOverride Boolean When true, a user can override the default account setting for the sign on paper option. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 225. DocuSign API Developer Guide 225 Name Schema Type Description EnableSignerAttachments Boolean When true, a user can request attachments from a signer. UseAccountLevelEmail Boolean When true, the content of notification emails is determined at the account level. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetAccountSettingsResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetAccountSettingsResult> <AccountSettings> <UsesAPI>boolean</UsesAPI> <EnableDSPro>boolean</EnableDSPro> <EnableSendToManage>boolean</EnableSendToManage> <EnableSendToAgent>boolean</EnableSendToAgent> <EnableVaulting>boolean</EnableVaulting> <EnableEnvelopeStampingByAccountAdmin>boolean</EnableEnvelopeStampingByAccountAdmin> <EnvelopeStampingDefaultValue>boolean</EnvelopeStampingDefaultValue> <SignerMustHaveAccount>boolean</SignerMustHaveAccount> <SignerMustLoginToSign>boolean</SignerMustLoginToSign> <SignerCanCreateAccount>boolean</SignerCanCreateAccount> <AllowInPerson>boolean</AllowInPerson> <EnablePowerForm>boolean</EnablePowerForm> <AllowSignerReassign>boolean</AllowSignerReassign> <EnableReservedDomain>boolean</EnableReservedDomain> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableAutoNav>boolean</EnableAutoNav> <AutoNavRule>bytes</AutoNavRule> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnvelopeIntegrationAllowed>bytes</EnvelopeIntegrationAllowed> <EnvelopeIntegrationEnabled>boolean</EnvelopeIntegrationEnabled> <CanSelfBrandSend>boolean</CanSelfBrandSend> <CanSelfBrandSign>boolean</CanSelfBrandSign> <IDCheckRequired>bytes</IDCheckRequired> <IDCheckExpire>bytes</IDCheckExpire> <IDCheckExpireDays>integer</IDCheckExpireDays> <SignDateFormat>string</SignDateFormat> <PKISignDownloadedPDFDocs>bytes</PKISignDownloadedPDFDocs> <InPersonIDCheckQuestion>string</InPersonIDCheckQuestion> <SessionTimeout>integer</SessionTimeout> <AttachCompletedEnvelope>boolean</AttachCompletedEnvelope> <SignerCanSignOnMobile>boolean</SignerCanSignOnMobile> <SignerShowSecureFieldInitialValues>boolean</SignerShowSecureFieldInitialValues> <SignerAttachCertificateToEnvelopePDF>boolean</SignerAttachCertificateToEnvelopePDF> <EnableSignOnPaper>boolean</EnableSignOnPaper> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> <UseAccountLevelEmail>boolean</UseAccountLevelEmail> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 226. DocuSign API Developer Guide 226 </AccountSettings> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </GetAccountSettingsResult> </GetAccountSettingsResponse> </soap:Body> </soap:Envelope> GetConnectCredentials This method is used by the DocuSign for Salesforce package to retrieve the Salesforce connect settings. Schema Name Schema Type Description AccountId String The DocuSign account ID. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetConnectCredentials" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetConnectCredentials xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> </GetConnectCredentials> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 227. DocuSign API Developer Guide 227 The response contains the information below and either a success or failure. If the call fails an error code is provided. Name Schema Type Description ConnectUserName String The Salesforce login user name. ConnectConfig String The XML configuration. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetConnectCredentialsResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetConnectCredentialsResult> <ConnectUserName>string</ConnectUserName> <ConnectConfig>string</ConnectConfig> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </GetConnectCredentialsResult> </GetConnectCredentialsResponse> </soap:Body> </soap:Envelope> GetEncryptedPassword This method requests the encrypted form of the user’s password. This encrypted password may be used for authentication in other API function calls along with a User Name or User ID and an Integrator Key. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 228. DocuSign API Developer Guide 228 Sample Request XML: <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetEncryptedPassword xmlns="http://www.docusign.net/API/AccountManagement" /> </soap:Body> </soap:Envelope> The function returns encrypted password for the authenticated user that can be used in successive API calls. Name Schema Type Description EncryptedPassword String The encrypted password for the authenticated user. The call returns either a success or failure. If the call fails an error code is provided. Sample Response XML: <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetEncryptedPasswordResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetEncryptedPasswordResult> <EncryptedPassword>string</EncryptedPassword> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request</ErrorCode> <Description>string</Description> </Error> </GetEncryptedPasswordResult> </GetEncryptedPasswordResponse> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 229. DocuSign API Developer Guide 229 Sample Code GetEncryptedPassword – C# DSAPI_AcctMgmtWebService.GetEncryptedPasswordResponseGetEncryptedPasswordResult result = dsAcctMgmtApi.GetEncryptedPassword(); if (result.Success) { txtEncryptedPW.Text = result.EncryptedPassword; txtResults.Text = "Encrypted Password successfully retrieved."; return; } txtResults.Text = "Encrypted Password request failed: " + result.Error.Description; GetMemberSettings This method requests some attributes about the specified member of the account Schema Name Schema Type Description AccountId String The account ID associated with the member. UserId String The User ID for the member. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetMemberSettings" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetMemberSettings xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> <UserId>string</UserId> </GetMemberSettings> </soap:Body> </soap:Envelope> The response provides the MemberSettings for the user and either a success or failure. If the call fails an error code is provided. See the MemberSettings section for more information. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 230. DocuSign API Developer Guide 230 <GetMemberSettingsResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetMemberSettingsResult> <MemberSettings> <CanManageAccount>boolean</CanManageAccount> <CanSendEnvelope>boolean</CanSendEnvelope> <CanSendAPIRequests>boolean</CanSendAPIRequests> <APIAccountWideAccess>boolean</APIAccountWideAccess> <EnableVaulting>boolean</EnableVaulting> <VaultingMode>bytes</VaultingMode> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableDSPro>boolean</EnableDSPro> <PowerFormAdmin>boolean</PowerFormAdmin> <PowerFormUser>boolean</PowerFormUser> <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook> <CanManageTemplates>bytes</CanManageTemplates> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> </MemberSettings> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </GetMemberSettingsResult> </GetMemberSettingsResponse> </soap:Body> </soap:Envelope> GetMembershipSummary This method requests a summary list of information about the accounts and users associated with the supplied email address. This method uses the UserName/Password/IntegratorKey authentication and requires System Administrator privileges. It takes the argument: Name Schema Type Description Email String The email address for the user whose account and user information is being requested. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 231. DocuSign API Developer Guide 231 Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetMembershipSummary" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetMembershipSummary xmlns="http://www.docusign.net/API/AccountManagement"> <Email>string</Email> </GetMembershipSummary> </soap:Body> </soap:Envelope> This method returns a repeating list of membership summaries with the following information: Name Schema Type Description AccountName String The Account Name associated with the requested user. AccountId String The Account ID associated with the requested user. UserName String The name of the user associated with the account. UserId String The ID of the user associated with the account. UserType String Works in combination with UserStatus to show user membership information. There are two possible values for this element: Recipient and CompanyUser. See the table below for a description of the meaning of different UserId and UserStatus combinations. UserStatus String Works in combination with UserType to show user membership information. There are three possible values for this element: Created, Active, and Closed. See the table below for a description of the meaning of different UserId and UserStatus combinations. PlanName String The plan name for the account. Pgp String The plan group plan for the account. The Pgp uniquely identifies a plan/plan group and is used to set plans in other functions. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 232. DocuSign API Developer Guide 232 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetMembershipSummaryResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetMembershipSummaryResult> <MembershipSummaries> <MembershipSummary> <AccountName>string</AccountName> <AccountId>string</AccountId> <UserName>string</UserName> <UserId>string</UserId> <UserType>CompanyUser or Recipient</UserType> <UserStatus>Created or Active or Closed</UserStatus> <PlanName>string</PlanName> <Pgp>string</Pgp> </MembershipSummary> <MembershipSummary> <AccountName>string</AccountName> <AccountId>string</AccountId> <UserName>string</UserName> <UserId>string</UserId> <UserType>CompanyUser or Recipient</UserType> <UserStatus>Created or Active or Closed</UserStatus> <PlanName>string</PlanName> <Pgp>string</Pgp> </MembershipSummary> </MembershipSummaries> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </GetMembershipSummaryResult> </GetMembershipSummaryResponse> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 233. DocuSign API Developer Guide 233 UserType and UserStatus Combinations UserType UserStatus Description Recipient Created The user has received documents for signing and may have signed them, but does not have a DocuSign account used to log into the console. Recipient Active The user has received documents for signing and has signed up for free DocuSign account. The user has console access to view and sign documents in the console, but cannot send documents. CompanyUser Active The user has a DocuSign account that allows access to view, sign, and send documents. The user also has a billing plan. CompanyUser Created This combination is not used. Recipeint or Closed The user account has been closed. Note that the UserType does CompanyUser not matter if the UserStatus is Closed. GetPlanGroupInformation This function requests the plan group names and plans associated with each plan group for the given distributor code. This information is used to assign billing plans to an account. GetPlanGroupInformation takes the arguments: Name Schema Type Description DistributorCode String The Distributor Code that identifies the billing plan groups and plans. DistributorPassword String The Distributor Password for the DistributorCode. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetPlanGroupInformation" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetPlanGroupInformation xmlns="http://www.docusign.net/API/AccountManagement"> <DistributorCode>string</DistributorCode> <DistributorPassword>string</DistributorPassword> </GetPlanGroupInformation> </soap:Body> </soap:Envelope> The function returns a list of the plan groups for the distributor code. A distributor code may have multiple plan groups associated with it and each of those plan groups may have multiple plans. The following information is included in the result: Name Schema Type Description PlanGroupName String The name of the billing plan group. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 234. DocuSign API Developer Guide 234 Name Schema Type Description PlanGroupPlans PlanGroupPlan A repeating list of the Plan Name and the Plan Group Plan ID for each plan group. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetPlanGroupInformationResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetPlanGroupInformationResult> <PlanGroups> <PlanGroup> <PlanGroupName>string</PlanGroupName> <PlanGroupPlans xsi:nil="true" /> </PlanGroup> <PlanGroup> <PlanGroupName>string</PlanGroupName> <PlanGroupPlans xsi:nil="true" /> </PlanGroup> </PlanGroups> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </GetPlanGroupInformationResult> </GetPlanGroupInformationResponse> </soap:Body> </soap:Envelope> GetPlanPricingInformation This function requests the plan pricing information associated with the given distributor code. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 235. DocuSign API Developer Guide 235 GetPlanPricingInformation takes the arguments: Name Schema Type Description DistributorCode String The Distributor Code that identifies the billing plan groups and plans. DistributorPassword String The Distributor Password for the DistributorCode. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetPlanPricingInformation" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetPlanPricingInformation xmlns="http://www.docusign.net/API/AccountManagement"> <DistributorCode>string</DistributorCode> <DistributorPassword>string</DistributorPassword> <Pgp>string</Pgp> </GetPlanPricingInformation> </soap:Body> </soap:Envelope> The function returns the plan pricing information for the distributor code. The following information is included in the result: Name Schema Type Description PlanName String The name of the plan. PaymentCycle The payment cycle associated with the plan. The possible values are: Monthly or Annually. PaymentMethod The payment method used with the plan. The possible values are: CreditCard, PurchaseOrder, Premium, or Freemium. PerSeatPrice Decimal The per seat price for the plan. OtherDiscountPercent Decimal Any other percentage discount for the plan. SupportIncidentFee Decimal The support incident fee charged for each support incident. SupportPlanFee Decimal The support plan fee charged for this plan. IncludedSeats Integer The number of seats included in the plan. EnableSupport Boolean If “true” the plan has support enabled. Pgp String The plan group plan for the account. The Pgp uniquely identifies a plan/plan group and is used to set plans in other functions. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 236. DocuSign API Developer Guide 236 Name Schema Type Description SeatDiscounts SeatDiscount A complex type that return any seat discount information. It contains the information: BeginSeatCount, EndSeatCount and SeatDiscountPercent. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetPlanPricingInformationResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetPlanPricingInformationResult> <Plan> <PlanName>string</PlanName> <PaymentCycle>Monthly or Annually</PaymentCycle> <PaymentMethod>CreditCard or PurchaseOrder or Premium or Freemium</PaymentMethod> <PerSeatPrice>decimal</PerSeatPrice> <OtherDiscountPercent>decimal</OtherDiscountPercent> <SupportIncidentFee>decimal</SupportIncidentFee> <SupportPlanFee>decimal</SupportPlanFee> <IncludedSeats>integer</IncludedSeats> <EnableSupport>boolean</EnableSupport> <PgpId>string</PgpId> <SeatDiscounts> <SeatDiscount xsi:nil="true" /> <SeatDiscount xsi:nil="true" /> </SeatDiscounts> </Plan> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 237. DocuSign API Developer Guide 237 </GetPlanPricingInformationResult> </GetPlanPricingInformationResponse> </soap:Body> </soap:Envelope> GetPlanType This function requests the plan payment type information for an account. The payment types use the same terminology as the payment method. GetPlanType takes the argument: Name Schema Type Description AccountId String The account ID for the account requested. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: test.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetPlanType" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetPlanType xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> </GetPlanType> </soap:Body> </soap:Envelope> The function returns the account plan payment type (the PaymentMethod value on the Plan table for the PlanId that is associated with the specified AccountId) and either a success or failure. If the call fails an error code is provided. The following information included in the result: Name Schema Type Description LogicalPlanType String The payment method used with the plan. The possible values are: CreditCard, PurchaseOrder, or Freemium. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetPlanTypeResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetPlanTypeResult> <LogicalPlanType>string</LogicalPlanType> <Success>boolean</Success> <Error> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 238. DocuSign API Developer Guide 238 <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </GetPlanTypeResult> </GetPlanTypeResponse> </soap:Body> </soap:Envelope> GetProvisioningInformation This function requests account provisioning information, the DistributorCode, DistributorPassword, and other plan information, for the given Token. GetProvisioningInformation takes the arguments: Name Schema Type Description AppToken String The token associated with the account provisioning information. This is provided by the group provisioning the account. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetProvisioningInformation" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetProvisioningInformation xmlns="http://www.docusign.net/API/AccountManagement"> <AppToken>string</AppToken> </GetProvisioningInformation> </soap:Body> </soap:Envelope> The function returns account provisioning information, the DistributorCode, DistributorPassword, and other plan information. The following information included in the result: 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 239. DocuSign API Developer Guide 239 Name Schema Type Description DistributorCode String The Distributor Code that identifies the billing plan groups and plans. DistributorPassword String The Distributor Password for the DistributorCode. Pgp String The plan group plan for the account. The Pgp uniquely identifies a plan/plan group and is used to set plans in other functions. DefaultConnectConfigurationId Integer Reserved. PasswordRuleText String A text string describing the rules for setting an account password. PurchaseOrderOrPromoAllowed Boolean Shows if a Purchase Order or Promotion is associated with the account. Success Boolean This is True if the API succeeded. If False the ErrorCode and Description fields will contain the error information. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetProvisioningInformationResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetProvisioningInformationResult> <DistributorCode>string</DistributorCode> <DistributorPassword>string</DistributorPassword> <Pgp>string</Pgp> <PlanPromoText>string</PlanPromoText> <DefaultConnectConfigurationId>integer</DefaultConnectConfigurationId> <PasswordRuleText>string</PasswordRuleText> <PurchaseOrderOrPromoAllowed>boolean</PurchaseOrderOrPromoAllowed> <Success>boolean</Success> <Error> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 240. DocuSign API Developer Guide 240 <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </GetProvisioningInformationResult> </GetProvisioningInformationResponse> </soap:Body> </soap:Envelope> GetSuccessorPlanInformation This function requests the current plan information and a list of successor plans, plans that the current plan could be rolled into, associated with the given distributor code and account. GetSuccessorPlanInformation takes the arguments: Name Schema Type Description DistributorCode String The Distributor Code that identifies the billing plan groups and plans. DistributorPassword String The Distributor Password for the DistributorCode. AccountId String The Account ID for the account for which information is being requested. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetSuccessorPlanInformation" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetSuccessorPlanInformation xmlns="http://www.docusign.net/API/AccountManagement"> <DistributorCode>string</DistributorCode> <DistributorPassword>string</DistributorPassword> <AccountId>string</AccountId> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 241. DocuSign API Developer Guide 241 </GetSuccessorPlanInformation> </soap:Body> </soap:Envelope> The function returns the current plan information and a list of successor plans for the distributor code and account. The following information included in the result: Name Schema Type Description CurrentPlan CurrentPlan A complex type that returns the pricing plan information for the current plan. The information in this complex type is the same as the return from the GetPricingPlanInformation call. See the return information above for more information. SuccessorPlan SucessorPlan The list of SuccessorPlans. One of the plans in the list could be selected to succeed the current plan. The SuccessorPlan information in this complex type is the same as the return from the GetPricingPlanInformation call. See the return information above for more information. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetSuccessorPlanInformationResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetSuccessorPlanInformationResult> <CurrentPlan> <PlanName>string</PlanName> <PaymentCycle>Monthly or Annually</PaymentCycle> <PaymentMethod>CreditCard or PurchaseOrder or Premium or Freemium</PaymentMethod> <PerSeatPrice>decimal</PerSeatPrice> <OtherDiscountPercent>decimal</OtherDiscountPercent> <SupportIncidentFee>decimal</SupportIncidentFee> <SupportPlanFee>decimal</SupportPlanFee> <IncludedSeats>integer</IncludedSeats> <EnableSupport>boolean</EnableSupport> <PgpId>string</PgpId> <SeatDiscounts> <SeatDiscount xsi:nil="true" /> <SeatDiscount xsi:nil="true" /> </SeatDiscounts> </CurrentPlan> <SuccessorPlans> <SuccessorPlan> <PlanName>string</PlanName> <PaymentCycle>Monthly or Annually</PaymentCycle> <PaymentMethod>CreditCard or PurchaseOrder or Premium or Freemium</PaymentMethod> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 242. DocuSign API Developer Guide 242 <PerSeatPrice>decimal</PerSeatPrice> <OtherDiscountPercent>decimal</OtherDiscountPercent> <SupportIncidentFee>decimal</SupportIncidentFee> <SupportPlanFee>decimal</SupportPlanFee> <IncludedSeats>integer</IncludedSeats> <EnableSupport>boolean</EnableSupport> <PgpId>string</PgpId> <SeatDiscounts xsi:nil="true" /> </SuccessorPlan> <SuccessorPlan> <PlanName>string</PlanName> <PaymentCycle>Monthly or Annually</PaymentCycle> <PaymentMethod>CreditCard or PurchaseOrder or Premium or Freemium</PaymentMethod> <PerSeatPrice>decimal</PerSeatPrice> <OtherDiscountPercent>decimal</OtherDiscountPercent> <SupportIncidentFee>decimal</SupportIncidentFee> <SupportPlanFee>decimal</SupportPlanFee> <IncludedSeats>integer</IncludedSeats> <EnableSupport>boolean</EnableSupport> <PgpId>string</PgpId> <SeatDiscounts xsi:nil="true" /> </SuccessorPlan> </SuccessorPlans> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </GetSuccessorPlanInformationResult> </GetSuccessorPlanInformationResponse> </soap:Body> </soap:Envelope> GetUserProfile This method retrieves the privacy settings and personal information (address, phone number, etc.) from a user ID card. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 243. DocuSign API Developer Guide 243 GetUserProfile takes the argument: Name Schema Type Description UserId String The User ID for the user for which you want to retrieve information. AccountId String The Account ID for the account associated with the user. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: test.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetUserProfile" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetUserProfile xmlns="http://www.docusign.net/API/AccountManagement"> <UserId>string</UserId> <AccountId>string</AccountId> </GetUserProfile> </soap:Body> </soap:Envelope> The response returns the user profile information from the user’s ID card. The User Profile contains the following information. Name Schema Type Description AccountId String The Account ID for the account associated with the user. UserId String User ID for the user. ShowDocuSignID Boolean When true, the user’s ID card can be viewed from signed documents and envelope history. DisplayCompanyAndTitle Boolean When true, the user’s company and title information are shown on the ID card. DisplayAddressAndPhone Boolean When true, the user’s Address and Phone number are shown on the ID card. DisplayUsageHistory Boolean When true, the user’s usage information is shown on the ID card. Company String The user’s Company information. Title String The user’s Title information. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 244. DocuSign API Developer Guide 244 Name Schema Type Description Address Address A complex element consisting of the optional elements: • Address1 • Address2 • City • State • Zip • Phone • Fax • Country AuthenticationHistory AuthenticationMethod Shows the authentication methods used by the user. UsageHistory Usage History A complex element consisting of: • SignedCount – the number of enevelopes the user has signed. • LastSignedTimestamp – the dateand time the user last signed an envelope. • SentCount – the number of envelopes the user has sent. • LastSentTimestamp – the date and time the user last sent an envelope. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetUserProfileResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetUserProfileResult> <UserProfile> <AccountId>string</AccountId> <UserId>string</UserId> <ShowDocuSignID>boolean</ShowDocuSignID> <DisplayCompanyAndTitle>boolean</DisplayCompanyAndTitle> <DisplayAddressAndPhone>boolean</DisplayAddressAndPhone> <DisplayUsageHistory>boolean</DisplayUsageHistory> <Company>string</Company> <Title>string</Title> <Address> <Address1>string</Address1> <Address2>string</Address2> <City>string</City> <State>string</State> <Zip>string</Zip> <Phone>string</Phone> <Fax>string</Fax> <Country>string</Country> </Address> <AuthenticationHistory> <AuthenticationMethod xsi:nil="true" /> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 245. DocuSign API Developer Guide 245 <AuthenticationMethod xsi:nil="true" /> </AuthenticationHistory> <UsageHistory> <SignedCount>int</SignedCount> <LastSignedTimestamp>dateTime</LastSignedTimestamp> <SentCount>int</SentCount> <LastSentTimestamp>dateTime</LastSentTimestamp> </UsageHistory> </UserProfile> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode> <Description>string</Description> </Error> </GetUserProfileResult> </GetUserProfileResponse> </soap:Body> </soap:Envelope> GetUserProfileImage This method retrieves the image from a user ID card. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: test.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/GetUserProfileImage" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetUserProfileImage xmlns="http://www.docusign.net/API/AccountManagement" /> </soap:Body> </soap:Envelope> The request returns the image file from the user ID card 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 246. DocuSign API Developer Guide 246 Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <GetUserProfileImageResponse xmlns="http://www.docusign.net/API/AccountManagement"> <GetUserProfileImageResult> <UserProfileImage> <Image> <MimeType>string</MimeType> <ImageData>base64Binary</ImageData> </Image> </UserProfileImage> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode> <Description>string</Description> </Error> </GetUserProfileImageResult> </GetUserProfileImageResponse> </soap:Body> </soap:Envelope> NewAccount This method creates a new DocuSign account with a single member, who is the account owner. Name Schema Type Description AccountName String The account name for the new account. DistributorCode String The Distributor Code that identifies the billing plan groups and plans for the new account. DistributorPassword String The Distributor Password for the DistributorCode. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 247. DocuSign API Developer Guide 247 Name Schema Type Description Pgp String The plan group plan for the account. The Pgp uniquely identifies a plan/plan group and is used to set plans in other functions. CreditCardInformation CreditCardInformation A complex type that has information about the credit card used to pay for this account. It included the elements: ccNumber, ccExpirationMonth, ccExpirationYear, ccUserName, and ccType. ReferralInformation ReferralInformation A complex type that contains the following information: EnableSupport, IncludedSeats, ReferrerName, ReferralCode, AdvertisementID, PublisherID, ShopperID, PromoCode, GroupMemberID, IdType, and Industry. AccountSettings AccountSettings A complex type with the account settings information for the new account. See the AccountSettings section for more information Member Member A complex type with the member information for the new account. See Member section for more information. AddressInformation AddressInformation A complex type that contains the following information for the new account: Street1, Street2, City, State, Zip, Phone, and Fax. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/NewAccount" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <NewAccount xmlns="http://www.docusign.net/API/AccountManagement"> <AccountName>string</AccountName> <DistributorCode>string</DistributorCode> <DistributorPassword>string</DistributorPassword> <Pgp>string</Pgp> <CreditCardInformation> <ccNumber>string</ccNumber> <ccExpirationMonth>string</ccExpirationMonth> <ccExpirationYear>string</ccExpirationYear> <ccUserName>string</ccUserName> <ccType>string</ccType> </CreditCardInformation> <ReferralInformation> <EnableSupport>boolean</EnableSupport> <IncludedSeats>positiveInteger</IncludedSeats> <SaleDiscountPercent>decimal</SaleDiscountPercent> <PlanStartMonth>positiveInteger</PlanStartMonth> <ReferrerName>string</ReferrerName> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 248. DocuSign API Developer Guide 248 <ReferralCode>string</ReferralCode> <AdvertisementID>string</AdvertisementID> <PublisherID>string</PublisherID> <ShopperID>string</ShopperID> <PromoCode>string</PromoCode> <GroupMemberID>string</GroupMemberID> <IdType>string</IdType> <Industry>string</Industry> </ReferralInformation> <AccountSettings> <UsesAPI>boolean</UsesAPI> <EnableDSPro>boolean</EnableDSPro> <EnableVaulting>boolean</EnableVaulting> <EnableEnvelopeStampingByAccountAdmin>boolean</EnableEnvelopeStampingByAccountAdmin> <EnvelopeStampingDefaultValue>boolean</EnvelopeStampingDefaultValue> <SignerMustHaveAccount>boolean</SignerMustHaveAccount> <SignerMustLoginToSign>boolean</SignerMustLoginToSign> <SignerCanCreateAccount>boolean</SignerCanCreateAccount> <AllowInPerson>boolean</AllowInPerson> <EnablePowerForm>boolean</EnablePowerForm> <AllowSignerReassign>boolean</AllowSignerReassign> <EnableReservedDomain>boolean</EnableReservedDomain> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableAutoNav>boolean</EnableAutoNav> <AutoNavRule>bytes</AutoNavRule> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnvelopeIntegrationAllowed>bytes</EnvelopeIntegrationAllowed> <EnvelopeIntegrationEnabled>boolean</EnvelopeIntegrationEnabled> <CanSelfBrandSend>boolean</CanSelfBrandSend> <CanSelfBrandSign>boolean</CanSelfBrandSign> <IDCheckRequired>bytes</IDCheckRequired> <IDCheckExpire>bytes</IDCheckExpire> <IDCheckExpireDays>integer</IDCheckExpireDays> <SignDateFormat>string</SignDateFormat> <PKISignDownloadedPDFDocs>bytes</PKISignDownloadedPDFDocs> <InPersonIDCheckQuestion>string</InPersonIDCheckQuestion> <SessionTimeout>integer</SessionTimeout> <AttachCompletedEnvelope>boolean</AttachCompletedEnvelope> <SignerCanSignOnMobile>boolean</SignerCanSignOnMobile> <SignerShowSecureFieldInitialValues>boolean</SignerShowSecureFieldInitialValues> <SignerAttachCertificateToEnvelopePDF>boolean</SignerAttachCertificateToEnvelopePDF> <EnableSignOnPaper>boolean</EnableSignOnPaper> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> <UseAccountLevelEmail>boolean</UseAccountLevelEmail> </AccountSettings> <Member> <MemberEmailAddress>string</MemberEmailAddress> <MemberUserName>string</MemberUserName> <MemberPassword>string</MemberPassword> <MemberForgottenPasswordQuestion>string</MemberForgottenPasswordQuestion> <MemberForgottenPasswordAnswer>string</MemberForgottenPasswordAnswer> <MemberTitle>string</MemberTitle> <MemberFirstName>string</MemberFirstName> <MemberMiddleName>string</MemberMiddleName> <MemberLastName>string</MemberLastName> <MemberSuffix>string</MemberSuffix> <EnableConnectForUser>boolean</EnableConnectForUser> <MemberSettings> <CanManageAccount>boolean</CanManageAccount> <CanSendEnvelope>boolean</CanSendEnvelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 249. DocuSign API Developer Guide 249 <CanSendAPIRequests>boolean</CanSendAPIRequests> <APIAccountWideAccess>boolean</APIAccountWideAccess> <EnableVaulting>boolean</EnableVaulting> <VaultingMode>bytes</VaultingMode> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableDSPro>boolean</EnableDSPro> <PowerFormAdmin>boolean</PowerFormAdmin> <PowerFormUser>boolean</PowerFormUser> <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook> <CanManageTemplates>bytes</CanManageTemplates> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> </MemberSettings> <ReturnEncryptedPassword>boolean</ReturnEncryptedPassword> </Member> <AddressInformation> <Address1>string</Address1> <Address2>string</Address2> <City>string</City> <State>string</State> <Zip>string</Zip> <Phone>string</Phone> <Fax>string</Fax> </AddressInformation> </NewAccount> </soap:Body> </soap:Envelope> The response contains the information below and either a success or failure. If the call fails an error code is provided. Name Schema Type Description AccountId String The DocuSign account ID for the new account. SiteId String The Site ID for the new account. UserId String The User ID for the new account. MembershipId String The membership ID for the new account. EncryptedPassword String The encrypted password for the new account. . Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <NewAccountResponse xmlns="http://www.docusign.net/API/AccountManagement"> <NewAccountResult> <AccountId>string</AccountId> <SiteId>string</SiteId> <UserId>string</UserId> <MembershipId>string</MembershipId> <EncryptedPassword>string</EncryptedPassword> <Success>boolean</Success> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 250. DocuSign API Developer Guide 250 <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </NewAccountResult> </NewAccountResponse> </soap:Body> </soap:Envelope> Ping This method determines if the AccountManagement API service can be contacted. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/Ping" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Ping xmlns="http://www.docusign.net/API/AccountManagement" /> </soap:Body> </soap:Envelope> This method simply returns “true” in the result XML if the calling application was able to reach it. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <PingResponse xmlns="http://www.docusign.net/API/AccountManagement"> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 251. DocuSign API Developer Guide 251 <PingResult>boolean</PingResult> </PingResponse> </soap:Body> </soap:Envelope> ResendAccountActivation This method sends another account activation message to an account user. Name Schema Type Description DistributorCode String The Distributor Code that identifies the billing plan groups and plans. DistributorPassword String The Distributor Password for the DistributorCode. MemberEmailAddress String The member’s email address for the associated account. MemberUserName String The member’s name for the associated account. MemberPassword String The member’s password for the associated account. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: test.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/ResendAccountActivation" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ResendAccountActivation xmlns="http://www.docusign.net/API/AccountManagement"> <DistributorCode>string</DistributorCode> <DistributorPassword>string</DistributorPassword> <MemberEmailAddress>string</MemberEmailAddress> <MemberUserName>string</MemberUserName> <MemberPassword>string</MemberPassword> </ResendAccountActivation> </soap:Body> </soap:Envelope> The response returns a success or failure result Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 252. DocuSign API Developer Guide 252 <ResendAccountActivationResponse xmlns="http://www.docusign.net/API/AccountManagement"> <ResendAccountActivationResult> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode> <Description>string</Description> </Error> </ResendAccountActivationResult> </ResendAccountActivationResponse> </soap:Body> </soap:Envelope> SetConnectCredentials This method is used by the DocuSign for Salesforce package to set the connection used by DocuSign to update Salesforce data. Name Schema Type Description AccountId String The DocuSign account ID. ConnectUsername String The Salesforce login user name. ConnectPassword String The Salesforce login password. ConnectConfigurationId Int The default XML used when setting up Connect for Salesforce. SalesforceEnvironment String The Salesforce environment being accessed (i.e: Production or Test). Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/SetConnectCredentials" <?xml version="1.0" encoding="utf-8"?> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 253. DocuSign API Developer Guide 253 <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetConnectCredentials xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> <ConnectUsername>string</ConnectUsername> <ConnectPassword>string</ConnectPassword> <ConnectConfigurationId>int</ConnectConfigurationId> <SalesforceEnvironment>string</SalesforceEnvironment> </SetConnectCredentials> </soap:Body> </soap:Envelope> This method returns a ConnectTestResult string and either a success or failure. If the call fails an error code is provided. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetConnectCredentialsResponse xmlns="http://www.docusign.net/API/AccountManagement"> <SetConnectCredentialsResult> <ConnectTestResult>string</ConnectTestResult> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </SetConnectCredentialsResult> </SetConnectCredentialsResponse> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 254. DocuSign API Developer Guide 254 SetUserProfile This method is used to set the privacy settings and personal information (address, phone number, etc.) from a user ID card. Name Schema Type Description AccountId String The Account ID for the account associated with the user. UserId String User ID for the user. ShowDocuSignID Boolean When true, the user’s ID card can be viewed from signed documents and envelope history. DisplayCompanyAndTitle Boolean When true, the user’s company and title information are shown on the ID card. DisplayAddressAndPhone Boolean When true, the user’s Address and Phone number are shown on the ID card. DisplayUsageHistory Boolean When true, the user’s usage information is shown on the ID card. Company String The user’s Company information. Title String The user’s Title information. Address Address A complex element consisting of the optional elements: • Address1 • Address2 • City • State • Zip • Phone • Fax • Country AuthenticationHistory AuthenticationMethod A complex element consisting of: • AuthenticationMethodType (PhoneAuth, STAN, ISCheck, OFAC, AccessCode, AgeVerify, or SSOAuth) • TotalCount – the number of times used. • LastTimestamp – the data and time the user last used the authentication method. • LastProvider – the last provider that authenticated the user. UsageHistory Usage History A complex element consisting of: • SignedCount – the number of enevelopes the user has signed. • LastSignedTimestamp – the dateand time the user last signed an envelope. • SentCount – the number of envelopes the user has sent. • LastSentTimestamp – the date and time the user last sent an envelope. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 255. DocuSign API Developer Guide 255 Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: test.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/SetUserProfile" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetUserProfile xmlns="http://www.docusign.net/API/AccountManagement"> <UserProfile> <AccountId>string</AccountId> <UserId>string</UserId> <ShowDocuSignID>boolean</ShowDocuSignID> <DisplayCompanyAndTitle>boolean</DisplayCompanyAndTitle> <DisplayAddressAndPhone>boolean</DisplayAddressAndPhone> <DisplayUsageHistory>boolean</DisplayUsageHistory> <Company>string</Company> <Title>string</Title> <Address> <Address1>string</Address1> <Address2>string</Address2> <City>string</City> <State>string</State> <Zip>string</Zip> <Phone>string</Phone> <Fax>string</Fax> <Country>string</Country> </Address> <AuthenticationHistory> <AuthenticationMethod Type="PhoneAuth or STAN or IDCheck or OFAC or AccessCode or AgeVerify or SSOAuth"> <TotalCount>int</TotalCount> <LastTimestamp>dateTime</LastTimestamp> <LastProvider>string</LastProvider> </AuthenticationMethod> <AuthenticationMethod Type="PhoneAuth or STAN or IDCheck or OFAC or AccessCode or AgeVerify or SSOAuth"> <TotalCount>int</TotalCount> <LastTimestamp>dateTime</LastTimestamp> <LastProvider>string</LastProvider> </AuthenticationMethod> </AuthenticationHistory> <UsageHistory> <SignedCount>int</SignedCount> <LastSignedTimestamp>dateTime</LastSignedTimestamp> <SentCount>int</SentCount> <LastSentTimestamp>dateTime</LastSentTimestamp> </UsageHistory> </UserProfile> </SetUserProfile> </soap:Body> </soap:Envelope> The response returns the user Membership ID and the success of failure of the information post. Sample Response XML HTTP/1.1 200 OK 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 256. DocuSign API Developer Guide 256 Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetUserProfileResponse xmlns="http://www.docusign.net/API/AccountManagement"> <SetUserProfileResult> <MembershipId>string</MembershipId> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode> <Description>string</Description> </Error> </SetUserProfileResult> </SetUserProfileResponse> </soap:Body> </soap:Envelope> SetUserProfileImage Thsis method is used to upload an image file to a user ID card. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: test.docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/SetUserProfileImage" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetUserProfileImage xmlns="http://www.docusign.net/API/AccountManagement"> <UserProfileImage> <Image> <MimeType>string</MimeType> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 257. DocuSign API Developer Guide 257 <ImageData>base64Binary</ImageData> </Image> </UserProfileImage> </SetUserProfileImage> </soap:Body> </soap:Envelope> The response returns the user ID for the user and a success or failure of the post. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <SetUserProfileImageResponse xmlns="http://www.docusign.net/API/AccountManagement"> <SetUserProfileImageResult> <UserId>string</UserId> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed or Hourly_API_Invocation_Limit_Exceeded or Initialize_Client_Account_Error or Max_Members_Exceeded or Invalid_File_Or_Too_Large</ErrorCode> <Description>string</Description> </Error> </SetUserProfileImageResult> </SetUserProfileImageResponse> </soap:Body> </soap:Envelope> UpdateAccountSettings This method is used to modify account level settings. Name Schema Type Description AccountId String The account ID for the account to be modified. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 258. DocuSign API Developer Guide 258 Name Schema Type Description AccountSettings AccountSettings A complex type with the account settings information being modified. See the AccountSettings section for more information Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/UpdateAccountSettings" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <UpdateAccountSettings xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> <AccountSettings> <UsesAPI>boolean</UsesAPI> <EnableDSPro>boolean</EnableDSPro> <EnableSendToManage>boolean</EnableSendToManage> <EnableSendToAgent>boolean</EnableSendToAgent> <EnableVaulting>boolean</EnableVaulting> <EnableEnvelopeStampingByAccountAdmin>boolean</EnableEnvelopeStampingByAccountAdmin> <EnvelopeStampingDefaultValue>boolean</EnvelopeStampingDefaultValue> <SignerMustHaveAccount>boolean</SignerMustHaveAccount> <SignerMustLoginToSign>boolean</SignerMustLoginToSign> <SignerCanCreateAccount>boolean</SignerCanCreateAccount> <AllowInPerson>boolean</AllowInPerson> <EnablePowerForm>boolean</EnablePowerForm> <AllowSignerReassign>boolean</AllowSignerReassign> <EnableReservedDomain>boolean</EnableReservedDomain> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableAutoNav>boolean</EnableAutoNav> <AutoNavRule>bytes</AutoNavRule> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnvelopeIntegrationAllowed>bytes</EnvelopeIntegrationAllowed> <EnvelopeIntegrationEnabled>boolean</EnvelopeIntegrationEnabled> <CanSelfBrandSend>boolean</CanSelfBrandSend> <CanSelfBrandSign>boolean</CanSelfBrandSign> <IDCheckRequired>bytes</IDCheckRequired> <IDCheckExpire>bytes</IDCheckExpire> <IDCheckExpireDays>integer</IDCheckExpireDays> <SignDateFormat>string</SignDateFormat> <PKISignDownloadedPDFDocs>bytes</PKISignDownloadedPDFDocs> <InPersonIDCheckQuestion>string</InPersonIDCheckQuestion> <SessionTimeout>integer</SessionTimeout> <AttachCompletedEnvelope>boolean</AttachCompletedEnvelope> <SignerCanSignOnMobile>boolean</SignerCanSignOnMobile> <SignerShowSecureFieldInitialValues>boolean</SignerShowSecureFieldInitialValues> <SignerAttachCertificateToEnvelopePDF>boolean</SignerAttachCertificateToEnvelopePDF> <EnableSignOnPaper>boolean</EnableSignOnPaper> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> <UseAccountLevelEmail>boolean</UseAccountLevelEmail> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 259. DocuSign API Developer Guide 259 </AccountSettings> </UpdateAccountSettings> </soap:Body> </soap:Envelope> The method returns either a success or failure. If the call fails an error code is provided. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <UpdateAccountSettingsResponse xmlns="http://www.docusign.net/API/AccountManagement"> <UpdateAccountSettingsResult> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </UpdateAccountSettingsResult> </UpdateAccountSettingsResponse> </soap:Body> </soap:Envelope> UpdateMemberSettings This method is used to modify settings for a member of an account Name Schema Type Description AccountId String The account ID associated with the member. UserId String The User ID of the user that is being modified. MemberSettings MemberSettings A complex type with the member settings that are being modified. See the MemberSettings section for more information. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 260. DocuSign API Developer Guide 260 Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/UpdateMemberSettings" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <UpdateMemberSettings xmlns="http://www.docusign.net/API/AccountManagement"> <AccountId>string</AccountId> <UserId>string</UserId> <MemberSettings> <CanManageAccount>boolean</CanManageAccount> <CanSendEnvelope>boolean</CanSendEnvelope> <CanSendAPIRequests>boolean</CanSendAPIRequests> <APIAccountWideAccess>boolean</APIAccountWideAccess> <EnableVaulting>boolean</EnableVaulting> <VaultingMode>bytes</VaultingMode> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableDSPro>boolean</EnableDSPro> <PowerFormAdmin>boolean</PowerFormAdmin> <PowerFormUser>boolean</PowerFormUser> <CanEditSharedAddressBook>bytes</CanEditSharedAddressBook> <CanManageTemplates>bytes</CanManageTemplates> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> </MemberSettings> </UpdateMemberSettings> </soap:Body> </soap:Envelope> The method returns either a success or failure. If the call fails an error code is provided. Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <UpdateMemberSettingsResponse xmlns="http://www.docusign.net/API/AccountManagement"> <UpdateMemberSettingsResult> <Success>boolean</Success> <Error> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 261. DocuSign API Developer Guide 261 <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </UpdateMemberSettingsResult> </UpdateMemberSettingsResponse> </soap:Body> </soap:Envelope> UpgradeRecipientAccount This function is used to upgrade a user from a free account, where the user has few privileges, to a paid account plan. The function changes the UserType/UserStatus of the account from Recipient/Active to CompanyUser/Active. This function uses the UserName/Password/IntegratorKey authentication and requires System Administrator or Account Administrator privileges. It takes the arguments: Name Schema Type Description DistributorCode String The Distributor Code that identifies the billing plan groups and plans. DistributorPassword String The Distributor Password for the DistributorCode. AccountId String The Account ID associated with the user. UserId String The ID of the user associated with the account. Pgp String The plan group plan for the user. CreditCardInformation CreditCardInformation This complex type has information about the credit card used to pay for this account. It included the elements: ccNumber, ccExpirationMonth, ccExpirationYear, ccUserName, and ccType. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 262. DocuSign API Developer Guide 262 Name Schema Type Description ReferralInformation ReferralInformation This complex type contains the following information: EnableSupport, IncludedSeats, ReferrerName, ReferralCode, AdvertisementID, PublisherID, ShopperID, PromoCode, GroupMemberID, IdType, and Industry. AccountSettings AccountSettings This complex type contains the following information: attachCompletedEnvelope, envelopeIntegrationAllowed, envelopeIntegrationEnabled and UseAccountLevelEmail. Note, the complete AccountSettings structure exists for this, but only the above fields are used within this API. AddressInformation AddressInformation This complex type contains the following information: Street1, Street2, City, State, Zip, Phone, and Fax. Sample Request XML POST /api/3.0/accountmanagement.asmx HTTP/1.1 Host: docusign.net Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://www.docusign.net/API/AccountManagement/UpgradeRecipientAccount" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <UpgradeRecipientAccount xmlns="http://www.docusign.net/API/AccountManagement"> <DistributorCode>string</DistributorCode> <DistributorPassword>string</DistributorPassword> <AccountId>string</AccountId> <UserId>string</UserId> <Pgp>string</Pgp> <CreditCardInformation> <ccNumber>string</ccNumber> <ccExpirationMonth>string</ccExpirationMonth> <ccExpirationYear>string</ccExpirationYear> <ccUserName>string</ccUserName> <ccType>string</ccType> </CreditCardInformation> <ReferralInformation> <EnableSupport>boolean</EnableSupport> <IncludedSeats>positiveInteger</IncludedSeats> <SaleDiscountPercent>decimal</SaleDiscountPercent> <PlanStartMonth>positiveInteger</PlanStartMonth> <ReferrerName>string</ReferrerName> <ReferralCode>string</ReferralCode> <AdvertisementID>string</AdvertisementID> <PublisherID>string</PublisherID> <ShopperID>string</ShopperID> <PromoCode>string</PromoCode> <GroupMemberID>string</GroupMemberID> <IdType>string</IdType> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 263. DocuSign API Developer Guide 263 <Industry>string</Industry> </ReferralInformation> <AccountSettings> <UsesAPI>boolean</UsesAPI> <EnableDSPro>boolean</EnableDSPro> <EnableSendToManage>boolean</EnableSendToManage> <EnableSendToAgent>boolean</EnableSendToAgent> <EnableVaulting>boolean</EnableVaulting> <EnableEnvelopeStampingByAccountAdmin>boolean</EnableEnvelopeStampingByAccountAdmin> <EnvelopeStampingDefaultValue>boolean</EnvelopeStampingDefaultValue> <SignerMustHaveAccount>boolean</SignerMustHaveAccount> <SignerMustLoginToSign>boolean</SignerMustLoginToSign> <SignerCanCreateAccount>boolean</SignerCanCreateAccount> <AllowInPerson>boolean</AllowInPerson> <EnablePowerForm>boolean</EnablePowerForm> <AllowSignerReassign>boolean</AllowSignerReassign> <EnableReservedDomain>boolean</EnableReservedDomain> <EnableSequentialSigningAPI>boolean</EnableSequentialSigningAPI> <EnableSequentialSigningUI>boolean</EnableSequentialSigningUI> <EnableAutoNav>boolean</EnableAutoNav> <AutoNavRule>bytes</AutoNavRule> <EnableTransactionPoint>boolean</EnableTransactionPoint> <EnvelopeIntegrationAllowed>bytes</EnvelopeIntegrationAllowed> <EnvelopeIntegrationEnabled>boolean</EnvelopeIntegrationEnabled> <CanSelfBrandSend>boolean</CanSelfBrandSend> <CanSelfBrandSign>boolean</CanSelfBrandSign> <IDCheckRequired>bytes</IDCheckRequired> <IDCheckExpire>bytes</IDCheckExpire> <IDCheckExpireDays>integer</IDCheckExpireDays> <SignDateFormat>string</SignDateFormat> <PKISignDownloadedPDFDocs>bytes</PKISignDownloadedPDFDocs> <InPersonIDCheckQuestion>string</InPersonIDCheckQuestion> <SessionTimeout>integer</SessionTimeout> <AttachCompletedEnvelope>boolean</AttachCompletedEnvelope> <SignerCanSignOnMobile>boolean</SignerCanSignOnMobile> <SignerShowSecureFieldInitialValues>boolean</SignerShowSecureFieldInitialValues> <SignerAttachCertificateToEnvelopePDF>boolean</SignerAttachCertificateToEnvelopePDF> <EnableSignOnPaper>boolean</EnableSignOnPaper> <EnableSignOnPaperOverride>boolean</EnableSignOnPaperOverride> <EnableSignerAttachments>boolean</EnableSignerAttachments> <UseAccountLevelEmail>boolean</UseAccountLevelEmail> </AccountSettings> <AddressInformation> <Address1>string</Address1> <Address2>string</Address2> <City>string</City> <State>string</State> <Zip>string</Zip> <Phone>string</Phone> <Fax>string</Fax> </AddressInformation> </UpgradeRecipientAccount> </soap:Body> </soap:Envelope> The user being upgraded must have a UserType/UserStatus of Recipient/Active or the call will result in an error. The call returns either a success or failure. If the call fails an error code is provided. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 264. DocuSign API Developer Guide 264 Sample Response XML HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <UpgradeRecipientAccountResponse xmlns="http://www.docusign.net/API/AccountManagement"> <UpgradeRecipientAccountResult> <Success>boolean</Success> <Error> <ErrorCode>Unspecified_Error or Invalid_Account_ID or Account_Requires_User_Name_And_Password_For_Activation or Account_Is_Already_Activated_For_Salesforce or Invalid_Distributor_For_Account or Invalid_User_ID or Invalid_Account or User_Is_Not_An_Account_Manager or Invalid_Login or Invalid_Member_User_Name or Invalid_Member_Email or Member_Email_Not_Allowed or Member_Email_And_User_Name_Awaiting_Activation or Member_Email_And_User_Name_Already_Exists_For_This_Account or Member_Password_Blank or Member_Forgotten_Password_Question_Blank or Member_Forgotten_Password_Answer_Blank or Invalid_Password_Format or Invalid_Member_Data or Member_Email_And_User_Name_Already_Exists or Not_Authorized or Invalid_Distributor_Selected or Invalid_PGP_For_Distributor or Invalid_Credit_Card_Type or CreditCard_Auth_Failed or Invalid_PGP or Invalid_Plan_Retired or Invalid_Successor_Plan or Invalid_Credit_Card or Credit_Card_Expiration or Invalid_AppToken or Distributor_Not_Enabled_For_AppToken or Plan_Group_Not_Enabled_For_Distributor or Invalid_Configuration_Number or Invalid_Salesforce_Credentials or Invalid_Salesforce_External_Instance_ID or Invalid_DocuSign_Connect_Configuration_For_Account or Invalid_User or Invalid_Membership or Invalid_Account_Member or Invalid_Edit_User or Invalid_Edit_Membership or Invalid_CanEditSharedAddressBook_Value or Invalid_CanManageTemplates_Value or Invalid_Membership_ID or Invalid_Request or Partner_Authentication_Failed</ErrorCode> <Description>string</Description> </Error> </UpgradeRecipientAccountResult> </UpgradeRecipientAccountResponse> </soap:Body> </soap:Envelope> 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.
  • 265. 111 Sutter Street, Suite 1000, San Francisco, CA 94104 Ι Tel. 866.219.4318 Ι www.docusign.com Ι © DocuSign, Inc.