> For AI agents: [llms.txt](https://docs.trustedauth.com/llms.txt) provides a Markdown index of this documentation.

# Add an API/URL resource server

Manage OAuth authorization with a resource server.

Use this page to define protected APIs/URLs, configure token behavior, and assign scopes that OIDC/OAuth applications can request on behalf of users.

In this model:

- The API/URL resource server defines what is protected.
- Scopes define what permissions can be requested.
- Access tokens carry claims and scope values that your API validates.

## Add an API/URL resource server

1. Click Menu icon **>** **Security > Authorization**. The **Authorization** page appears.

2. Select **API/URL** to add a protected resource. The **APIs/URLs** list page appears.

3. Click Circle Plus icon. The **Add API/URL** page appears.

4. Under **Basic Definition**, do the following:

   1. Select **Enabled** to make this API/URL resource active in IDaaS. JWT access tokens will not be issued unless the authorization is active.

   2. Enter a **Name** for the resource.

   3. Enter a **Description** for the resource.

   4. Add a **Value** for the resource. The value should be an absolute URI value. The value corresponds to the API (for example, an audience value) that the resource server is protecting.

   note
   The API/URL names and values must be unique across all resource servers.

   5. Select the **Supported OIDC/OAuth Applications** from the drop-down list.
      > These are the applications that have permission to access the resource server. If you want all OIDC and OAuth applications to access the resource server, leave this field blank.

5. Under **Token Definition**, do the following:

   1. Select **Require Consent** to prompt users for consent when an OAuth token is requested.
   2. Select **Include Application Name** to include the application name in OAuth access tokens.
   3. Select **Include Client ID** to include the client ID in OAuth access tokens.
   4. Select **Include OIDC Scopes and Claims** to include the claims derived from OIDC scopes and claim requests in OAuth access tokens.
   5. Select **Include Authentication Claims** to include authentication claims in OAuth access tokens.
   6. Select **Include Transaction Claims** to include the transaction details in OAuth access tokens (for applications using the JWT IDaaS grant type).
   7. Set the **Access Token Timeout** to the time that the access token is valid before it expires.
   8. Select **Refresh Token** to allow refresh token requests for OAuth access tokens. If you select this option, complete the following:
      1. Set the **Refresh Token Timeout** to the time that the refresh token associated with the access token is valid. This controls how long the specific refresh token can be used to acquire a new access token and refresh token.
      2. Set the **Refresh Token Limit** to the maximum amount of time the refresh token process is valid. This controls how long the refresh token exchange process can be used to acquire a new access token and refresh token.
   9. Set **Sender Constraint** to define how access tokens are bound to clients. If you select DPoP (Demonstrating Proof of Possession), complete the following:
      1. Set **DPoP Required** to require a DPoP proof for all requests.
      2. Set **Supported DPoP Signing Algorithms** to specify the allowed signing algorithms.

6. Under **Scope Configuration**, add the scopes (the permissions) the OIDC and OAuth application can request on behalf of the user for the configured API/URL (for example, `view:calendar`, `edit:calendar`).

   To add scopes:

   1. Select **Allow All Scopes to be requested** to allow client applications to use the specific scope all_scopes to request all scopes the user has access to for this API/URL. This is a short-hand mechanism to request all scopes instead of listing out all scopes in the request.

   2. Select **Role-Based Access Control** (RBAC) to enable access to scopes based on their Access Management Role associations. If disabled, the user has access to all scopes associated with the API/URL regardless of their Access Management Role. When enabled, the user only has access to the scopes permitted by the Access Management Role associations. To create RBAC, see [Configure Role-Based Access Control (RBAC)](/docs/applications-and-sso/manage-applications/integrate-oidc-and-oauth-cloud-applications/manage-resource-servers/configure-role-based-access-control-rbac.md)

   3. Click **Add**. The **Add Scope** dialog box appears.

   4. Add a **Name** for the scope.

   5. Add a **Value** for the scope, for example, `edit:calendar`.

   6. Click **Add**.

   note
   Scope names and values must be unique across scopes defined across all APIs/URLs.

7. Click **Save**.

   The API/URL resource server is now available for client application authorization and scope-based access control.

## Manage API/URL authorization

Use the following, as required, to view, edit, or delete an API/URL authorization entry.

- View to confirm current resource, token, and scope configuration.
- Edit to update policy and token behavior for future token requests.
- Delete to remove the resource from authorization flows when it is no longer needed.

### View API/URL authorization details

1. Click Menu icon **>** **Resources >Authorization**. The **Authorization** page appears.

2. Select **API/URL**. The **Authorization** page appears.

3. Click Play icon next to the API/URL. The **API/URL** details appear.

4. Click Triangle icon to hide the API/URL details.

   Use this view to verify **Basic Definition**, **Token Definition**, and **Scope Configuration** values.

### Edit an API/URL authorization

1. Click Menu icon **>** **Resources >Authorization**. The **Authorization** page appears.

2. Select **APIs/URLs**. The **Authorization** page appears.

3. Click the authorization name. The **Edit APIs/URLs** page appears.

4. Make the required changes.

5. Click **Save**.

   Updated settings apply to new token requests. Existing issued tokens remain valid until they expire.

### Delete an API/URL authorization

1. Click Menu icon **>** **Resources >Authorization**. The **Authorization** page appears.

2. Select **API/URL**. The **Authorization** page appears.

3. Click **Trash icon** next to the API/URL resource you want to delete. The **Delete API/URL** confirmation prompt appears.

4. Click **Delete**.

warning
Deleting an API/URL resource server prevents new token grants for that resource. Update or remove dependent client application configuration before deletion.
