> 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

# Authentication

> Before your application can make calls to the Rooms API, it must authenticate and obtain an access token. Learn how to authenticate with the Rooms API.

Before your application can make calls to the Rooms API, it must authenticate and obtain an access token. You must submit this access token, which proves your app’s identity and authorization, with each request.

You can use any supported OAuth2 authentication workflows to obtain an access token and make calls to the Rooms API: [Authorization Code Grant](/platform/auth/confidential-authcode-get-token), [Implicit Grant](/platform/auth/implicit/implicit-get-token), or [JSON Web Token (JWT) Grant](/platform/auth/jwt/jwt-get-token). Service integrations may use Authorization Code Grant or JWT grant, while mobile apps may use Implicit Grant. See [platform authentication](/platform/auth) for an overview of these grants and how to choose which grant to use for your app.

## Prerequisites

Before you can use the Docusign Rooms API, you need the following:

1. A Docusign eSignature developer account and a Docusign Rooms account.

   * [Create an eSignature developer account](https://www.docusign.com/developers/sandbox?postActivateUrl=https://developers.docusign.com/&_gl=1*1d3gman*_gcl_au*ODczOTUxNTUwLjE3MjcyOTgwNDc.).
   * [Create a Rooms developer account](/docs/rooms-api/rooms101/create-account).
2. An [integration key](/platform/configure-app#integration-key) that identifies your app.
3. A defined [redirect URI](/platform/configure-app#redirect-uri) for your integration key. This is the URL the user's internet browser will be sent to the redirect URI after authentication is complete.
4. You must also have configured your app correctly for the OAuth type you want to use. For details, see [configure your app](/platform/configure-app).

## Required scopes

The only difference between authenticating with the Rooms API and the eSignature API is that when you request an access token for your OAuth2 scenario, you must request a special Rooms API [scope](/platform/auth/reference/scopes) during the authentication process. You can combine Rooms scopes with eSignature API scopes.

You can choose from the following Rooms scopes:

| Scope                 | Description                                                                                                                                                                                             |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dtr.rooms.read`      | Read rooms data.                                                                                                                                                                                        |
| `dtr.rooms.write`     | Update the data of a room.                                                                                                                                                                              |
| `dtr.documents.read`  | Read documents from Docusign Rooms.                                                                                                                                                                     |
| `dtr.documents.write` | Write documents to Docusign Rooms.                                                                                                                                                                      |
| `dtr.profile.read`    | Read profile data for accounts or signers associated with your company.                                                                                                                                 |
| `dtr.profile.write`   | Write profile data to accounts or signers associated with your company.                                                                                                                                 |
| `dtr.company.read`    | Read information from all rooms and profiles associated with your company.                                                                                                                              |
| `dtr.company.write`   | Write information to all rooms and profiles associated with your company.                                                                                                                               |
| `room_forms`          | Use endpoints related to the forms feature.                                                                                                                                                             |
| `signature`           | The eSignature API `signature` scope is required to call the [GetESignPermissionProfiles](/docs/rooms-api/reference/esignpermissionprofiles/esignpermissionprofiles/getesignpermissionprofiles) method. |

* Using Authorization Code Grant, you request scopes when you make the authorization code request.
* Using Implicit Grant, you request scopes when you make the access token request.
* Using JWT Grant, you request scopes in the body of the JWT token.

## Next steps:

* See [authentication](/platform/auth) in the Platform 101 documentation for an overview of each OAuth grant and how to choose which grant to use for your app.
* Learn how to implement each authentication flow by viewing these guides:

  * How to [obtain an access token with Confidential Authorization Code Grant](/platform/auth/confidential-authcode-get-token).
  * How to [obtain an access token with Implicit Grant](/platform/auth/implicit-get-token).
  * How to [obtain an access token with JWT Grant](/platform/auth/jwt-get-token).