> You are reading the Docusign Developer Documentation. For clean Markdown of any page, append .md to the page URL. > > Documentation indexes by section: > - APIs and SDKs: https://docusign.docs.buildwithfern.com/docs/llms.txt > - Platform 101: https://docusign.docs.buildwithfern.com/platform/llms.txt > - Extension Apps: https://docusign.docs.buildwithfern.com/extension-apps/llms.txt > - Docusign CLI: https://docusign.docs.buildwithfern.com/docusign-cli/llms.txt > > Authentication (OAuth, JWT Grant, M2M): https://docusign.docs.buildwithfern.com/platform/auth > Webhooks and Connect: https://docusign.docs.buildwithfern.com/platform/webhooks > > OpenAPI specifications: https://docusign.docs.buildwithfern.com/openapi.json > MCP server: https://docusign.docs.buildwithfern.com/_mcp/server # How-to guides overview > This section contains eSignature API how-tos that show how to implement the Docusign eSignature REST API in a variety of scenarios. ## How-to guides overview The how-to guides in this section demonstrate common [Docusign eSignature functionality](/docs/esign-rest-api/esign101) and how you can implement it into your own apps. All API how-to guides assume you are developing with a Docusign developer account. A developer account is not specific to the [eSignature REST API](/docs/esign-rest-api). If you have a developer account that you are using with our eSignature REST API, it will also work with other [Docusign APIs](/docs). If you need to create a free developer account, select **Developer Account** from the menu at the top-right of the page, then **Create Account** or use the button below. [Create account](https://www.docusign.com/developers/sandbox) The eSignature REST API how-to categories and guides are listed below: * [Requesting a signature](/docs/esign-rest-api/how-to#requesting-a-signature) * [Working with envelopes and templates](/docs/esign-rest-api/how-to#working-with-envelopes-and-templates) * [Working with advanced recipient routing](/docs/esign-rest-api/how-to#working-with-advanced-recipient-routing) * [Working with documents](/docs/esign-rest-api/how-to#working-with-documents) * [Working with tabs](/docs/esign-rest-api/how-to#working-with-tabs) * [Working with brands](/docs/esign-rest-api/how-to#working-with-brands) * [Working with permissions](/docs/esign-rest-api/how-to#working-with-permissions) * [Implementing multi-factor recipient (signer) authentication](/docs/esign-rest-api/how-to#implementing-multi-factor-recipient-\(signer\)-authentication) ### Requesting a signature The following how-to guides demonstrate common scenarios for requesting a signature: | How-to guide | Code example source | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [How to request a signature by email](/docs/esign-rest-api/how-to/request-signature-email-remote) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg002SigningViaEmail.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/SigningViaEmail.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/SigningViaEmailService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/signingViaEmail.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/SigningViaEmailService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg002SigningViaEmail.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg002_signing_via_email.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg002_signing_via_email_service.rb) | | [How to request a signature by email using a template](/docs/esign-rest-api/how-to/request-signature-template-remote) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg009UseTemplate.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/CreateEnvelopeFromTemplate.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/UseTemplateService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/useTemplate.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/UseTemplateService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg009UseTemplate.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg009_use_template.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg009_use_template_service.rb) | | [How to request a signature by email with document generation](/docs/esign-rest-api/how-to/request-signature-email-document-generation) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg042DocumentGeneration.sh/), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/DocumentGeneration.cs/), [Java](https://github.com/docusign/code-examples-java/tree/master/src/main/java/com/docusign/controller/eSignature/services/DocumentGenerationService.java/), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/documentGeneration.js/), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/DocumentGenerationService.php/), [Powershell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg042DocumentGeneration.ps1/), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg042_document_generation.py/), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg042_document_generation_service.rb/) | | [How to request a signature by multiple delivery methods](/docs/esign-rest-api/how-to/request-signature-multiple-delivery-methods) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg046MultipleDelivery.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/MultipleDelivery.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG046ControllerMultipleDelivery.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/multipleDelivery.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/MultipleDeliveryService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg046MultipleDelivery.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg046_multiple_delivery.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg046_multiple_delivery_service.rb) | | [How to request a signature by SMS or WhatsApp delivery](/docs/esign-rest-api/how-to/request-signature-sms-whatsapp) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg037SigningViaSMS.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/SMSDelivery.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/SMSDeliveryService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/smsDelivery.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/SMSDeliveryService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg037SMSDelivery.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg037_sms_delivery.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg037_sms_delivery_service.rb) | | [How to request a signature by email using CORS](/docs/esign-rest-api/how-to/request-signature-email-browser-cors) | [CodePen](https://codepen.io/docusign/pen/vYVeqEL) | | [How to request a signature through your CORS-enabled browser app](/docs/esign-rest-api/how-to/request-signature-in-cors-app-embedded) | [CodePen](https://codepen.io/docusign/pen/poZXGNB) | | [How to request a signature through your app](/docs/esign-rest-api/how-to/request-signature-in-app-embedded) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/eg001EmbeddedSigning.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/EmbeddedSigningCeremony.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/EmbeddedSigningService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/embeddedSigning.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/EmbeddedSigningService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/eg001EmbeddedSigning.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg001_embedded_signing.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg001_embedded_signing_service.rb) | | [How to request a signature using a composite template](/docs/esign-rest-api/how-to/request-signature-composite-template-embedded) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg013AddDocToTemplate.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/CreateEnvelopeUsingCompositeTemplate.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/AddDocToTemplateService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/addDocToTemplate.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/AddDocToTemplateService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg013AddDocToTemplate.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg013_add_doc_to_template.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg013_add_doc_to_template_service.rb) | | [How to request a signature through your app (embedded signing) with a CFR Part 11 account](/docs/esign-rest-api/how-to/request-signature-in-app-embedded-cfrpart11) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg041EmbeddedSigningCFR.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/CFRPart11EmbeddedSending.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/CfrEmbeddedSigningService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/embeddedSigningCFR.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/CFREmbeddedSigningService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg041EmbeddedSigningCFR.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg041_cfr_embedded_signing.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg041_cfr_embedded_signing_service.rb) | | [How to send an envelope to an In Person Signer](/docs/esign-rest-api/how-to/send-envelope-to-in-person-signer) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg039InPersonSigning.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/InPersonSigning.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/InPersonSigningService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/signingInPerson.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/InPersonSigningService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg039SigningInPerson.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg039_in_person_signer.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg039_signing_in_person_service.rb) | | [How to send a request for payment](/docs/esign-rest-api/how-to/request-a-payment) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg014CollectPayment.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/CollectPaymentInEnvelope.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/CollectPaymentService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/collectPayment.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/CollectPaymentService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg014CollectPayment.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg014_collect_payment.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg014_collect_payment_service.rb) | | [How to request a signature using focused view](/docs/esign-rest-api/how-to/request-signature-focused-view) | [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/FocusedView.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/FocusedViewService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/focusedView.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/FocusedViewService.php), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg044_focused_view.py) | ### Working with envelopes and templates The following how-to guides demonstrate common scenarios for working with envelopes and templates: | How-to guide | Code example source | | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [How to get envelope information](/docs/esign-rest-api/how-to/get-envelope-information) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg004EnvelopeInfo.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/GetEnvelopeInformation.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/EnvelopeInfoService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/envelopeInfo.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/EnvelopeInfoService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg004EnvelopeInfo.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg004_envelope_info.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg004_envelope_info_service.rb) | | [How to list envelope recipients](/docs/esign-rest-api/how-to/get-envelope-recipients) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg005EnvelopeRecipients.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/ListEnvelopeRecipients.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG005ControllerEnvelopeRecipients.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/envelopeRecipients.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/EnvelopeRecipientsService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg005EnvelopeRecipients.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg005_envelope_recipients.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/controllers/e_sign/eeg005_envelope_recipients_controller.rb) | | [How to list envelope status changes](/docs/esign-rest-api/how-to/list-envelope-status-changes) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg003ListEnvelopes.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/ListAccountEnvelopes.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG003ControllerListEnvelopes.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/listEnvelopes.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/ListEnvelopesService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg003ListEnvelopes.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg003_list_envelopes.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg003_list_envelopes_service.rb) | | [How to create a template](/docs/esign-rest-api/how-to/create-template) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg008CreateTemplate.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/CreateNewTemplate.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/CreateTemplateService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/createTemplate.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/CreateTemplateService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg008CreateTemplate.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg008_create_template.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg008_create_template_service.rb) | | [How to send an envelope via your app](/docs/esign-rest-api/how-to/embedded-sending) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg011EmbeddedSending.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/EmbeddedSending.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/EmbeddedSendingService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/embeddedSending.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/EmbeddedSendingService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg011EmbeddedSending.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg011_embedded_sending.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg011_embedded_sending_service.rb) | | [How to bulk send envelopes](/docs/esign-rest-api/how-to/bulk-send-envelopes) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg031BulkSending.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/SendBulkEnvelopes.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG031ControllerBulkSendEnvelopes.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/bulkSendEnvelope.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/BulkSendEnvelopesService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg031BulkSending.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg031_bulk_send.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg031_bulk_sending_envelopes_service.rb) | | [How to delete and restore an envelope](/docs/esign-rest-api/how-to/delete-restore-envelope) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg045DeleteRestoreEnvelope.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/DeleteRestoreEnvelope.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG045ControllerDeleteRestoreEnvelope.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/deleteRestoreEnvelope.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/DeleteRestoreEnvelopeService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg045DeleteRestoreEnvelope.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg045_delete_restore_envelope.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg045_delete_restore_envelope_service.rb) | ### Working with advanced recipient routing The following how-to guides demonstrate common scenarios for advanced recipient routing (ARR): | How-to guide | Code example source | | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [How to pause a signature workflow](/docs/esign-rest-api/how-to/pause-workflow) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg032PauseSignatureWorkflow.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/PauseSignatureWorkflow.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/PauseSignatureWorkflowService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/pauseSignatureWorkflow.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/PauseSignatureWorkflowService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/main/examples/eSignature/eg032PauseSignatureWorkflow.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg032_pause_signature_workflow.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg032_pauses_signature_workflow_service.rb) | | [How to unpause a signature workflow](/docs/esign-rest-api/how-to/unpause-workflow) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg033UnpauseSignatureWorkflow.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/UnpauseSignatureWorkflow.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/UnpauseSignatureWorkflowService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/unpauseSignatureWorkflow.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/UnpauseSignatureWorkflowService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/main/examples/eSignature/eg033UnpauseSignatureWorkflow.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg033_unpause_signature_workflow.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg033_unpauses_signature_workflow_service.rb) | | [How to use conditional recipients](/docs/esign-rest-api/how-to/use-conditional-recipients) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg034UseConditionalRecipients.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/ConditionalRecipientsWorkflow.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/UseConditionalRecipientsService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/useConditionalRecipients.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/UseConditionalRecipientsService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/main/examples/eSignature/eg034UseConditionalRecipients.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg034_use_conditional_recipients.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg034_use_conditional_recipients_service.rb) | | [How to schedule an envelope](/docs/esign-rest-api/how-to/schedule-an-envelope) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg035ScheduledSending.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/ScheduledSending.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG035ControllerScheduledSending.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/scheduledSending.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/ScheduledSendingService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg035ScheduledSending.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg035_scheduled_sending.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg035_scheduled_sending_service.rb) | | [How to send an envelope with delayed routing](/docs/esign-rest-api/how-to/send-envelope-with-delayed-routing) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg036DelayedRouting.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/DelayedRouting.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG036ControllerDelayedRouting.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/delayedRouting.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/DelayedRoutingService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg036DelayedRouting.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg036_delayed_routing.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg036_delayed_routing_service.rb) | ### Working with documents The following how-to guides demonstrate common scenarios for working with documents: | How-to guide | Code example source | | ------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [How to list envelope documents](/docs/esign-rest-api/how-to/list-envelope-documents) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg006EnvelopeDocs.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/ListEnvelopeDocuments.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG006ControllerEnvelopeDocs.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/envelopeDocs.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/EnvelopeDocsService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg006EnvelopeDocs.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg006_envelope_docs.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg006_envelope_docs_service.rb) | | [How to download envelope documents](/docs/esign-rest-api/how-to/download-envelope-documents) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg007EnvelopeGetDoc.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/GetDocumentFromEnvelope.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/EnvelopeGetDocService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/envelopeGetDoc.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/EnvelopeGetDocService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg007EnvelopeGetDoc.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg007_envelope_get_doc.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg007_envelope_get_doc_service.rb) | | [How to attach documents via binary transfer](/docs/esign-rest-api/how-to/send-binary) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg010SendBinaryDocs.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/CreateEnvelopeWithMultipleDocumentTypes.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG010ControllerSendBinaryDocs.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/sendBinaryDocs.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/SendBinaryDocsService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg010SendBinaryDocs.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg010_send_binary_docs.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg010_send_binary_docs_service.rb) | | [How to create a signable HTML document](/docs/esign-rest-api/how-to/creating-signable-html) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg038ResponsiveSigning.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/ResponsiveSigning.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/ResponsiveSigningService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/responsiveSigning.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/ResponsiveSigningService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg038ResponsiveSigning.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg038_responsive_signing.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg038_responsive_signing_service.rb) | | [How to convert a PDF file into a signable HTML document](/docs/esign-rest-api/how-to/converting-pdf) | N/A | | [How to set document visibility for envelope recipients](/docs/esign-rest-api/how-to/set-document-visibility) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg040SetDocumentVisibility.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/SetDocumentVisibility.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/SetDocumentVisibilityService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/setDocumentVisibility.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/SetDocumentsVisibilityService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg040SetDocumentVisibility.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg040_document_visibility.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg040_set_document_visibility_service.rb) | ### Working with tabs The following how-to guides demonstrate common scenarios for working with tabs: | How-to guide | Code example source | | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | [How to get envelope tab values](/docs/esign-rest-api/how-to/get-envelope-tab-values) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg015EnvelopeTabData.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/GetEnvelopeTabData.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG015ControllerGetTabValues.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/envelopeTabData.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/EnvelopeTabDataService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg015EnvelopeTabData.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg015_envelope_tab_data.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg015_get_envelope_tab_data_service.rb) | | [How to get envelope custom tab values](/docs/esign-rest-api/how-to/get-envelope-custom-tab-values) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg018EnvelopeCustomFieldData.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/GetCustomFields.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG018ControllerEnvelopeCustomFieldValues.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/envelopeCustomFieldData.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/EnvelopeCustomFieldDataService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg018EnvelopeCustomFieldData.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg018_envelope_custom_field_data.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg018_get_envelope_custom_field_data_service.rb) | | [How to set envelope tab values](/docs/esign-rest-api/how-to/set-envelope-tab-values) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg016SetTabValues.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/SetEnvelopeTabValue.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG016ControllerSetTabValues.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/setTabValues.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/SetTabValuesService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg016SetTabValues.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg016_set_tab_values.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg016_set_envelope_tab_data_service.rb) | | [How to set tab values in a template](/docs/esign-rest-api/how-to/set-template-tab-values) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg017SetTemplateTabValues.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/SetTemplateTabValues.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG017ControllerSetTemplateTabValues.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/setTemplateTabValues.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/SetTemplateTabValuesService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg017SetTemplateTabValues.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg017_set_template_tab_values.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg017_set_template_tab_values_service.rb) | ### Working with brands The following how-to guides demonstrate common scenarios for working with brands: | How-to guide | Code example source | | -------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [How to create a brand](/docs/esign-rest-api/how-to/create-brand) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg028CreatingABrand.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/CreateBrand.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/CreateBrandService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/createBrand.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/CreateBrandService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg028CreatingABrand.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg028_brand_creating.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg028_brands_creating_service.rb) | | [How to apply a brand to an envelope](/docs/esign-rest-api/how-to/apply-brand-to-envelope) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg029ApplyingBrandEnvelope.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/ApplyBrandToEnvelope.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/ApplyBrandToEnvelopeService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/applyBrandToEnvelope.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/ApplyBrandToEnvelopeService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg029ApplyingBrandEnvelope.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg029_brands_apply_to_envelope.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg029_brands_apply_to_envelope_service.rb) | | [How to apply a brand and template to an envelope](/docs/esign-rest-api/how-to/apply-brand-and-template-to-envelope) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg030ApplyingBrandTemplate.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/ApplyBrandToTemplate.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/ApplyBrandToTemplateService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/applyBrandToTemplate.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/ApplyBrandToTemplateService.php), [PowerShell](https://github.com/docusign/code-examples-powerShell/blob/master/examples/eSignature/eg030ApplyingBrandTemplate.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg030_brands_apply_to_template.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg030_brands_apply_to_template_service.rb) | ### Working with permissions The following how-to guides demonstrate common scenarios for working with permissions: | How-to guide | Code example source | | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [How to create a permission profile](/docs/esign-rest-api/how-to/permission-profile-creating) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg024CreatingPermissionProfiles.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/CreatePermissionProfile.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG024ControllerPermissionCreate.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/createPermission.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/PermissionCreateService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/main/examples/eSignature/eg024CreatingPermissionProfiles.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg024_permissions_creating.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg024_permission_create_service.rb) | | [How to update individual permission settings](/docs/esign-rest-api/how-to/permission-profile-updating) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg026UpdatingIndividualPermission.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/ChangePermissionSingleSetting.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG026ControllerPermissionChangeSingleSetting.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/permissionChangeSingleSetting.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/PermissionChangeSingleSettingService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg026UpdatingIndividualPermission.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg026_permissions_change_single_setting.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg026_permissions_change_single_setting_service.rb) | | [How to set a permission profile](/docs/esign-rest-api/how-to/permission-profile-setting) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg025SettingPermissionProfiles.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/SetUserGroupPermission.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG025ControllerPermissionSetUserGroups.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/permissionSetUserGroup.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/PermissionSetUserGroupService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg025SettingPermissionProfiles.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg025_permissions_set_user_group.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg025_permissions_set_user_group_service.rb) | | [How to delete a permission profile](/docs/esign-rest-api/how-to/permission-profile-deleting) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg027DeletingPermissions.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/DeletePermission.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG027ControllerPermissionDelete.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/deletePermission.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/PermissionDeleteService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg027DeletingPermissions.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg027_permissions_delete.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg027_permissions_delete_service.rb) | | [How to share access to an envelope inbox](/docs/esign-rest-api/how-to/shared-access) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg043SharedAccess.sh),[C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/SharedAccess.cs) ,[Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/SharedAccessService.java) ,[Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/sharedAccess.js) ,[PHP](https://github.com/docusign/code-examples-php/blob/master/src/Controllers/Examples/eSignature/EG043AuthRequest.php) ,[PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg043SharedAccess.ps1) ,[Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg043_shared_access.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg043_shared_access_service.rb) | | [How to share access to an individual envelope](/docs/esign-rest-api/how-to/share-individual-envelope-access) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg047SharedEnvelopeAccess.sh), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg047SharedEnvelopeAccess.ps1) | ### Implementing multi-factor recipient (signer) authentication The following how-to guides demonstrate common scenarios for implementing multi-factor recipient authentication: | How-to guide | Code example source | | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [How to require ID verification (IDV) for a recipient](/docs/esign-rest-api/how-to/id-verification) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg023SigningViaEmailWithIDVAuthentication.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/RecipientAuthIDV.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/IdvAuthenticationService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/idvAuthentication.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/IDVAuthenticationService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg023SigningViaEmailWithIDVAuthentication.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg023_idv_authentication.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/controllers/e_sign/eeg023_idv_authentication_controller.rb) | | [How to require knowledge-based authentication (KBA) for a recipient](/docs/esign-rest-api/how-to/knowledge-based-authentication) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg022SigningViaEmailWithKnowledgeBasedAuthentication.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/RecipientAuthKBA.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG022ControllerKBAAuthentication.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/kbaAuthentication.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/KbAuthenticationService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg022SigningViaEmailWithKnowledgeBasedAuthentication.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg022_kba_authentication.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg022_kba_authentication_service.rb) | | [How to require phone authentication for a recipient](/docs/esign-rest-api/how-to/phone-auth) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg020SigningViaEmailWithPhoneAuthentication.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/RecipientAuthPhone.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/examples/EG020ControllerPhoneAuthentication.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/phoneAuthentication.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/PhoneAuthenticationService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg020SigningViaEmailWithPhoneAuthentication.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg020_phone_authentication.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/e_sign/eg020_phone_authentication_service.rb) | | [How to require access code authentication for a recipient](/docs/esign-rest-api/how-to/require-access-code-recipient) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/eSignature/eg019SigningViaEmailWithAccessCode.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/eSignature/Examples/RecipientAuthAccessCode.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/eSignature/services/AccessCodeAuthenticationService.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/eSignature/examples/accessCodeAuthentication.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/eSignature/AccessCodeAuthenticationService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/eSignature/eg019SigningViaEmailWithAccessCode.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/eSignature/examples/eg019_access_code_authentication.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/e_sign/eg019_access_code_authentication_service.rb) | ## Next steps * See [Go-Live](/docs/esign-rest-api/go-live) to find the base path for API calls in the production environment. * Learn about [Quickstart](/docs/esign-rest-api/quickstart) and how you can use it to quickly set up and run eSignature REST API code examples. * Learn about [Code example launchers](/docs/click-api/how-to/code-launchers) and how you can use them to see all available eSignature REST API code examples. > This section contains eSignature API how-tos that show how to implement the Docusign eSignature REST API in a variety of scenarios. ## Docs - [Code example launchers](https://developers.docusign.com/docs/esign-rest-api/how-to/code-launchers.md): Describes what code launcher projects are, and what eSignature REST API code examples they support. - [How to request a signature by email](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-email-remote.md): This topic demonstrates how to use the eSignature REST API and SDKs to send a signature request for a signer to read and sign via an email, also known as a remote signing. - [How to request a signature by email using a template](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-template-remote.md): This topic demonstrates how to use a template containing predefined attributes to create new envelopes and send them by email. - [How to request a signature by email with document generation](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-email-document-generation.md): This topic demonstrates how to request a remote signature with dynamic data fields using document generation. - [How to request a signature by email using CORS](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-email-browser-cors.md): Learn how to send a signature request via email using JavaScript through your Cross-Origin Resource Sharing (CORS) app. - [How to request a signature by multiple delivery methods](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-multiple-delivery-methods.md): This topic demonstrates how to request a signature using email as the primary delivery method, with either SMS or WhatsApp as an additional delivery method. - [How to request a signature by SMS or WhatsApp delivery](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-sms-whatsapp.md): This topic demonstrates how to send a signature request via an SMS message. Recipients receive an SMS notification with a signing link that they can use to open and electronically sign a document using the Docusign mobile app or the Docusign website. - [How to request a signature through your app](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-in-app-embedded.md): Demonstrates how to create an envelope and request a signature using embedded signing in your app or website. - [How to request a signature through your CORS-enabled browser app](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-in-cors-app-embedded.md): Learn how to collect signatures directly within your browser app using JavaScript through your Cross-Origin Resource Sharing (CORS) app. - [How to request a signature using a composite template](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-composite-template-embedded.md): Demonstrates how to request a signature via your app, using an envelope derived from multiple templates - [How to request a signature using focused view](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-focused-view.md): Demonstrates how to request a signature using focused view, a minimal wrapper around the agreement document. - [How to request a signature through your app (embedded signing) with a CFR Part 11 account](https://developers.docusign.com/docs/esign-rest-api/how-to/request-signature-in-app-embedded-cfrpart11.md): Demonstrates how to create an envelope and request a signature using embedded signing in your app or website. - [How to send an envelope to an In Person Signer](https://developers.docusign.com/docs/esign-rest-api/how-to/send-envelope-to-in-person-signer.md): This topic demonstrates how to host an In Person Signing session with embedded signing. - [How to send a request for payment](https://developers.docusign.com/docs/esign-rest-api/how-to/request-a-payment.md): Demonstrates how to programmatically send a request for payment, including an order form that allows online payment via credit card. - [How to get envelope information](https://developers.docusign.com/docs/esign-rest-api/how-to/get-envelope-information.md): Demonstrates how to get data on an already-defined envelope. - [How to list envelope recipients](https://developers.docusign.com/docs/esign-rest-api/how-to/get-envelope-recipients.md): Demonstrates how to get data on the recipients of an already-defined envelope. - [How to list envelope status changes](https://developers.docusign.com/docs/esign-rest-api/how-to/list-envelope-status-changes.md): Demonstrates how to get a set of status history data for all of your envelopes - [How to create a template](https://developers.docusign.com/docs/esign-rest-api/how-to/create-template.md): Demonstrates how to create a new template programmatically. - [How to send an envelope via your app](https://developers.docusign.com/docs/esign-rest-api/how-to/embedded-sending.md): Demonstrates how to embed the Docusign UI in your web app to finalize or update the envelope and documents before they are sent. - [How to bulk send envelopes](https://developers.docusign.com/docs/esign-rest-api/how-to/bulk-send-envelopes.md): Demonstrates how to send envelopes in bulk to multiple recipients - [Working with elastic templates](https://developers.docusign.com/docs/esign-rest-api/how-to/working-with-elastic-templates.md): See how-to guides and resources for working with elastic templates. - [How to delete and restore an envelope](https://developers.docusign.com/docs/esign-rest-api/how-to/delete-restore-envelope.md): Learn how to delete and restore an envelope - [How to pause a signature workflow](https://developers.docusign.com/docs/esign-rest-api/how-to/pause-workflow.md): Demonstrates how to create an envelope where the workflow is paused before the envelope is sent to a second recipient. - [How to unpause a signature workflow](https://developers.docusign.com/docs/esign-rest-api/how-to/unpause-workflow.md): This topic demonstrates how to resume an envelope workflow that has been paused. - [How to use conditional recipients](https://developers.docusign.com/docs/esign-rest-api/how-to/use-conditional-recipients.md): Demonstrates how to create an envelope where the workflow is routed to different recipients based on the value of a transaction. - [How to schedule an envelope](https://developers.docusign.com/docs/esign-rest-api/how-to/schedule-an-envelope.md): Describes how to create an envelope and automatically send it at a specific time. - [How to send an envelope with delayed routing](https://developers.docusign.com/docs/esign-rest-api/how-to/send-envelope-with-delayed-routing.md): Describes how to send an envelope and set a delay between the steps of your envelope's routing order. - [How to list envelope documents](https://developers.docusign.com/docs/esign-rest-api/how-to/list-envelope-documents.md): Demonstrates how to get data on the documents in an already-defined envelope. - [How to download envelope documents](https://developers.docusign.com/docs/esign-rest-api/how-to/download-envelope-documents.md): Demonstrates how to programmatically download the documents associated with an envelope. - [How to attach documents via binary transfer](https://developers.docusign.com/docs/esign-rest-api/how-to/send-binary.md): Demonstrates how to send documents using binary transfer rather than Base64 conversion. - [How to create a signable HTML document](https://developers.docusign.com/docs/esign-rest-api/how-to/creating-signable-html.md): Describes how to create a signable HTML document used for the Responsive Signing feature - [How to convert a PDF file into a signable HTML document](https://developers.docusign.com/docs/esign-rest-api/how-to/converting-pdf.md): Describes how to convert a PDF file to a signable HTML document using the Docusign Responsive Signing feature - [How to set document visibility for envelope recipients](https://developers.docusign.com/docs/esign-rest-api/how-to/set-document-visibility.md): This topic demonstrates how to set document visibility for envelope recipients. Document visibility allows senders to control which documents each recipient can see in an envelope with multiple documents. - [How to get envelope tab values](https://developers.docusign.com/docs/esign-rest-api/how-to/get-envelope-tab-values.md): Demonstrates how to retrieve envelope tab data. - [How to get envelope custom tab values](https://developers.docusign.com/docs/esign-rest-api/how-to/get-envelope-custom-tab-values.md): Demonstrates how to retrieve the values of custom tabs. - [How to set envelope tab values](https://developers.docusign.com/docs/esign-rest-api/how-to/set-envelope-tab-values.md): Describes how to set values in a tab. - [How to set tab values in a template](https://developers.docusign.com/docs/esign-rest-api/how-to/set-template-tab-values.md): Demonstrates how to create and prefill tabs on a template using the Docusign eSignature REST API - [How to create a brand](https://developers.docusign.com/docs/esign-rest-api/how-to/create-brand.md): Demonstrates how to create a new brand using the eSignature API and SDKs - [How to apply a brand to an envelope](https://developers.docusign.com/docs/esign-rest-api/how-to/apply-brand-to-envelope.md): Demonstrates how to apply a brand to an envelope using the eSignature REST API. - [How to apply a brand and template to an envelope](https://developers.docusign.com/docs/esign-rest-api/how-to/apply-brand-and-template-to-envelope.md): Demonstrates how to apply a brand and a template to an envelope with the eSignature REST API. - [How to create a permission profile](https://developers.docusign.com/docs/esign-rest-api/how-to/permission-profile-creating.md): Demonstrates how to create a new permission profile. - [How to update individual permission settings](https://developers.docusign.com/docs/esign-rest-api/how-to/permission-profile-updating.md): Demonstrates how to update individual permission settings on a permission profile with the eSignature REST API - [How to set up a permission profile](https://developers.docusign.com/docs/esign-rest-api/how-to/permission-profile-setting.md): Demonstrates how to set a user group’s permission profile with the eSignature REST API - [How to delete a permission profile](https://developers.docusign.com/docs/esign-rest-api/how-to/permission-profile-deleting.md): Demonstrates how to delete a permission profile - [How to share access to a Docusign envelope inbox](https://developers.docusign.com/docs/esign-rest-api/how-to/shared-access.md): This topic demonstrates how to share envelope inbox access with another user and view an envelope using the SHARED ACCESS view in the Docusign UI. - [How to share access to an individual envelope](https://developers.docusign.com/docs/esign-rest-api/how-to/share-individual-envelope-access.md): This topic demonstrates how to share a single envelope with another user and view it through the Shared Access feature without being a recipient of the envelope. - [How to require ID verification (IDV) for a recipient](https://developers.docusign.com/docs/esign-rest-api/how-to/id-verification.md): This topic demonstrates how to request a signature via email while also using ID verification (IDV) authentication. - [How to require knowledge-based authentication (KBA) for a recipient](https://developers.docusign.com/docs/esign-rest-api/how-to/knowledge-based-authentication.md): This topic demonstrates requesting a signature via email while also using knowledge-based authentication (KBA). - [How to require phone authentication for a recipient](https://developers.docusign.com/docs/esign-rest-api/how-to/phone-auth.md): Demonstrates requesting a signature via email while also utilizing phone authentication. - [How to require access code authentication for a recipient](https://developers.docusign.com/docs/esign-rest-api/how-to/require-access-code-recipient.md): Demonstrates how to request a signature by email while also using access code authentication. - [How to embed the Docusign UI in your app](https://developers.docusign.com/docs/esign-rest-api/how-to/embed-ui.md): This page demonstrates how to embed the Docusign UI in your app.