> 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.