---
title: "Get User Features"
method: GET
path: "/restapi/v1.0/account/{accountId}/extension/{extensionId}/features"
tags: ["Features"]
---

# Get User Features

`GET /restapi/v1.0/account/{accountId}/extension/{extensionId}/features`

Returns a list of supported features and the information on their
availability for the current extension. Particular feature(s) can
be checked by providing `featureId` query parameter. Multiple values
are supported in the format: `?featureId=Feature1&featureId=Feature2`.
To get only available features in order to decrease response size,
`availableOnly=true` query param can be specified. If a feature
is available for the current user, `"available": true` is returned in
response for the record with the corresponding feature ID. Otherwise,
the additional attribute `reason` is returned with the appropriate code:
- `ServicePlanLimitation` -  a feature is not included in account service plan;
- `AccountLimitation` - a feature is turned off for account;
- `ExtensionTypeLimitation` - a feature is not applicable for extension type;
- `ExtensionLimitation` - a feature is not available for extension, e.g., additional license required;
- `InsufficientPermissions` - required permission is not granted to the current user (not the one, who is specified in the URL, but the one who is calling this API);
- `ConfigurationLimitation` - a feature is turned off for extension, e.g., by account administrator.

Also, some features may have additional parameters, e.g. limits, which are returned in `params` attribute as a name-value collection:

    {
      "id": "HUD",
      "available": true,
      "params": [
        {
          "name": "limitMax",
          "value": "100"
        }
      ]
    }

## Path parameters

- `accountId` string, required
- `extensionId` string, required

## Query parameters

- `availableOnly` boolean
- `featureId` string[]

## Response `200`

Feature list

- FeatureList
  - `records` FeatureInfo[]
    - `id` string — Internal identifier of a feature
    - `available` boolean — Specifies if the feature is available for the current user according to services enabled for the account, type, entitlements and permissions of the extension. If the authorized user gets features of the other extension, only features that can be delegated are returned (such as configuration by administrators).
    - `params` ParamsInfo[]
      - `name` string — Parameter name
      - `value` string — Parameter value
    - `reason` ReasonInfo — Reason for the feature unavailability. Returned only if `available` is set to `false`
      - `code` 'ServicePlanLimitation' | 'AccountLimitation' | 'ExtensionTypeLimitation' | 'ExtensionLimitation' | 'InsufficientPermissions' | 'ConfigurationLimitation' — Reason code
      - `message` string — Reason description
      - `permission` string

---

[API](https://skmtc.net/ringcentral/apis/ringcentral-api.md) · [All operations](https://skmtc.net/ringcentral/apis/ringcentral-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ringcentral/ringcentral-api/revisions/8d602198ec97/schema)
