> 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 > Docusign Rooms API how-to guides show how to use the Rooms API for common programming scenarios. The how-to guides in this section demonstrate how common [Docusign Rooms](/docs/rooms-api/rooms101) scenarios work and how you can implement them in your own apps. **Note**: Although the authentication process to obtain an access token is the same for both eSignature REST and other Docusign APIs, you must request a different set of scopes during that process to call other Docusign API endpoints. See [Rooms API authentication](/docs/rooms-api/rooms101/auth) for details. 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) After you obtain your developer account, you will need to contact [Docusign Support](https://support.docusign.com/s/contactSupport) to enable Docusign Rooms for your developer account. Once enabled, you will need to link the Docusign eSignature account to your newly created Docusign Rooms account by logging into it from your Docusign developer account. At that point, you will be ready to use Docusign Rooms and its API. For complete instructions on setting up your accounts, see [Create a Rooms developer account](/docs/rooms-api/rooms101/create-account). Each Rooms API how-to guide is listed below: | How-to guide | Code example source | | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [How to create a room with data](/docs/rooms-api/how-to/create-room-with-data) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/Rooms/eg001CreateRoomWithDataController.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/Rooms/Examples/CreateRoomWithData.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/rooms/examples/R001ControllerCreateRoom.java), [Node](https://github.com/docusign/code-examples-node/blob/master/lib/rooms/examples/createRoomWithData.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/Rooms/CreateRoomsWithDataService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/Rooms/eg001CreateRoomWithDataController.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/rooms/examples/eg001_create_room_with_data.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/room_api/eg001_create_room_with_data_service.rb) | | [How to create a room with a template](/docs/rooms-api/how-to/create-room-with-template) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/Rooms/eg002CreateRoomWithTemplateController.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/Rooms/Examples/CreateRoomFromTemplate.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/rooms/services/CreateRoomWithTemplateService.java), [Node](https://github.com/docusign/code-examples-node/blob/master/lib/rooms/examples/createRoomFromTemplate.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/Rooms/CreateRoomWithTemplatesService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/Rooms/eg002CreateRoomWithTemplateController.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/rooms/examples/eg002_create_room_with_template.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/room_api/eg002_create_room_with_template_service.rb) | | [How to export data from a room](/docs/rooms-api/how-to/export-room-data) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/Rooms/eg003ExportDataFromRoomController.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/Rooms/Examples/ExportDataFromRoom.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/rooms/examples/R003ControllerExportingDataFromRoom.java), [Node](https://github.com/docusign/code-examples-node/blob/master/lib/rooms/examples/exportDataFromRoom.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/Rooms/ExportDataFromRoomService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/Rooms/eg003ExportDataFromRoomController.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/rooms/examples/eg003_export_data_from_room.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/room_api/eg003_export_data_from_room_service.rb) | | [How to add forms to a room](/docs/rooms-api/how-to/add-form-to-room) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/Rooms/eg004AddFormsToRoomController.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/Rooms/Examples/AddingFormToRoom.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/rooms/examples/R004ControllerAddingFormsToRoom.java), [Node](https://github.com/docusign/code-examples-node/blob/master/lib/rooms/examples/addingFormToRoom.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/Rooms/AddFormsToRoomService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/Rooms/eg004AddFormsToRoomController.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/rooms/examples/eg004_add_forms_to_room.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/room_api/eg004_add_forms_to_room_service.rb) | | [How to get a room with filters](/docs/rooms-api/how-to/get-room-with-filters) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/Rooms/eg005GetRoomsWithFiltersController.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/Rooms/Examples/GetRoomsWithFilters.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/rooms/examples/R005ControllerGetRoomsWithFilters.java), [Node.js](https://github.com/docusign/code-examples-node/blob/master/lib/rooms/examples/getRoomsWithFilters.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/Rooms/GetRoomsWithFiltersService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/Rooms/eg005GetRoomsWithFiltersController.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/rooms/examples/eg005_get_rooms_with_filters.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/room_api/eg005_get_rooms_with_filters_service.rb) | | [How to create an external form fillable session](/docs/rooms-api/how-to/external-form-fill) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/Rooms/eg006CreateAnExternalFormFillSessionController.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/Rooms/Examples/CreateExternalFormFillSession.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/rooms/examples/R006ControllerCreateExternalFormFillSession.java), [Node](https://github.com/docusign/code-examples-node/blob/master/lib/rooms/examples/createExternalFormFillSession.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/Rooms/CreateExternalFormFillSessionService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/Rooms/eg006CreateAnExternalFormFillSessionController.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/rooms/examples/eg006_create_external_form_fill_session.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/master/app/services/room_api/eg006_create_an_external_form_fill_session_service.rb) | | [How to create a form group](/docs/rooms-api/how-to/create-form-group) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/Rooms/eg007CreateFormGroup.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/Rooms/Examples/CreateFormGroups.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/rooms/examples/R007ControllerCreateFormGroup.java), [Node](https://github.com/docusign/code-examples-node/blob/master/lib/rooms/examples/createFormGroup.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/Rooms/CreateFormGroupService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/Rooms/eg007CreateFormGroup.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/rooms/examples/eg007_create_form_group.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/room_api/eg007_create_form_group_service.rb) | | [How to grant office access to a form group](/docs/rooms-api/how-to/access-form-group) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/Rooms/eg008AccessFormGroup.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/Rooms/Examples/GrantOfficeAccessToFormGroup.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/rooms/examples/R008ControllerGrantOfficeAccessToFormGroup.java), [Node](https://github.com/docusign/code-examples-node/blob/master/lib/rooms/examples/grantOfficeAccessToFormGroup.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/Rooms/GrantOfficeAccessToFormGroupService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/Rooms/eg008AccessFormGroup.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/rooms/examples/eg008_grant_office_access_to_form_group.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/room_api/eg008_grant_office_access_to_form_group_service.rb) | | [How to assign a form to a form group](/docs/rooms-api/how-to/assign-form-group) | [Bash](https://github.com/docusign/code-examples-bash/blob/master/examples/Rooms/eg009AssignFormGroup.sh), [C#](https://github.com/docusign/code-examples-csharp/blob/master/launcher-csharp/Rooms/Examples/AssignFormToFormGroups.cs), [Java](https://github.com/docusign/code-examples-java/blob/master/src/main/java/com/docusign/controller/rooms/examples/R009ControllerAssignFormToFormGroup.java), [Node](https://github.com/docusign/code-examples-node/blob/master/lib/rooms/examples/assignFormToFormGroup.js), [PHP](https://github.com/docusign/code-examples-php/blob/master/src/Services/Examples/Rooms/AssignFormToFormGroupService.php), [PowerShell](https://github.com/docusign/code-examples-powershell/blob/master/examples/Rooms/eg009AssignFormGroup.ps1), [Python](https://github.com/docusign/code-examples-python/blob/master/app/rooms/examples/eg009_assign_form_to_form_group.py), [Ruby](https://github.com/docusign/code-examples-ruby/blob/main/app/services/room_api/eg009_assign_form_to_form_group_service.rb) | ## Next steps * See [Go-Live](/docs/rooms-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 API code examples. > Docusign Rooms API how-to guides show how to use the Rooms API for common programming scenarios. ## Docs - [Code example launchers](https://developers.docusign.com/docs/rooms-api/how-to/code-launchers.md): Describes what code launcher projects are, and what eSignature REST API code examples they support. - [How to create a room with data](https://developers.docusign.com/docs/rooms-api/how-to/create-room-with-data.md): Learn how to create a Docusign room with populated data. - [How to create a room with a template](https://developers.docusign.com/docs/rooms-api/how-to/create-room-with-template.md): Learn how to create a Docusign Room using a predefined template. - [How to export data from a room](https://developers.docusign.com/docs/rooms-api/how-to/export-room-data.md): Learn how to export data from a room through the Rooms API - [How to add forms to a room](https://developers.docusign.com/docs/rooms-api/how-to/add-form-to-room.md): Learn how to attach and add forms to a room with the Rooms API - [How to get a room with filters](https://developers.docusign.com/docs/rooms-api/how-to/get-room-with-filters.md): Describes how to return rooms filtered by parameters using the Rooms API - [How to create and embed an external form fill session](https://developers.docusign.com/docs/rooms-api/how-to/external-form-fill.md): Describes how to create and embed an external form fill session using the Rooms API. - [How to create a form group](https://developers.docusign.com/docs/rooms-api/how-to/create-form-group.md): Demonstrates how to create a form group for your Docusign Rooms for Real Estate account. - [How to grant office access to a form group](https://developers.docusign.com/docs/rooms-api/how-to/access-form-group.md): This topic demonstrates how to assign an office to a form group for your Docusign Rooms for Real Estate account. As a prerequisite, make sure that you have created a form group. - [How to assign a form to a form group](https://developers.docusign.com/docs/rooms-api/how-to/assign-form-group.md): This topic demonstrates how to assign a form to a form group for your Docusign Rooms for Real Estate account.