Features API
The Features API allows you to fetch information about the features in your org, and its limits. These limits may vary depending on your org's edition.
Purpose
To retrieve details of features and its limits for your current org.
Request Details
Request URLs
To retrieve all the available features and their corresponding limits:
{api-domain}/crm/{version}/__features
To retrieve a specific feature:
{api-domain}/crm/{version}/__features?api_names={feature_api_name_1},{feature_api_name_2}
To retrieve all the features specific to a module:
{api-domain}/crm/{version}/__features?module={module_api_name}
To retrieve detailed information of a specific feature and its sub-features:
{api-domain}/crm/{version}/__features/{feature_api_name}
Header
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Scope
scope=ZohoCRM.features.READ
Parameters
- modulestring, optional
To retrieve all available features and their limits for a particular module, specify the module API name of the module.
- api_namesstring, optional
Specify the feature api name to retrieve the details and limits specific to that feature. To retrieve details of more than one feature, give the feature api names in comma seperated format.
- pageinteger, optional
To get the list of features from the respective pages. Default value for page is 1.
Possible values: Positive Integer values only. - per_pageinteger, optional
To get the list of features available per page. The default and the maximum possible value is 200.
Possible values: Positive Integer values only. - page_tokenstring, mandatory to fetch more than 2000 services by pagination
You can use the page param to fetch up to 2000 features without page_token. To fetch more than 2000 features, you must include the page_token param in the request. This param takes the value from the key next_page_token in the response of the first GET features call. This token value is user-specific and if you use another user's token, the system will throw an error.
The page token is bound to parameters and expires in 24 hours. Also, you cannot use this param with the page param.
Sample Request
Response JSON Keys
- componentsJSON Array
Represents the details of components of a feature.
- api_namestring
Represents the api name of the feature.
- module_supportedboolean
It represents whether the feature is specific to a module.
- detailsJSON object
Contains the details regarding the limits for the feature.
- limitsJSON object
It represents the limits related to the feature.
- edition_limitsinteger
It represents the a maximum count of the feature allocated for the current edition.
- totalinteger
It represents the actual count of the feature allocated to the current org.
- feature_labelstring
It represents the feature name in UI. This will be translated to a user's language.
- parent_featurestring
It represents the parent feature of the corresponding feature if applicable.
Possible Errors
- INVALID_REQUEST_METHODHTTP 400
The http request method type is not a valid one
Resolution: You have specified an invalid HTTP method to access the API URL.
Specify a valid request method. Refer to the endpoints section above. - INVALID_MODULEHTTP 400
The module name given seems to be invalid
Resolution: You have specified an invalid module name.
Specify a valid module name. - OAUTH_SCOPE_MISMATCHHTTP 401
Unauthorized
Resolution: Client does not have ZohoCRM.features.READ scope.
Generate a new token with valid scope. Refer to scope section above for more details. - AUTHENTICATION_FAILUREHTTP 401
Authentication failed
Resolution: Pass the access token in the request header of the API call. - INVALID_URL_PATTERNHTTP 404
Please check if the URL trying to access is a correct one
Resolution: The request URL specified is incorrect. Specify a valid request URL.Refer to the request URL section above. - INTERNAL_ERRORHTTP 500
Internal Server Error
Resolution: Unexpected and unhandled exception in the server. Contact support team.
Sample Response
Copied{
"__features": [
{
"components": [
{
"api_name": "global_picklist_per_module",
"module_supported": false,
"details": {
"limits": {
"edition_limit": 7,
"total": 7
}
},
"feature_label": "Global Picklist Per Module"
},
{
"api_name": "association_per_global_field",
"module_supported": false,
"details": {
"limits": {
"edition_limit": 15,
"total": 15
}
},
"feature_label": "Association Per Global Set"
},
{
"api_name": "used_option_count",
"module_supported": false,
"details": {
"limits": {
"edition_limit": 1000,
"total": 1000
}
},
"feature_label": "Used Option Count"
},
{
"api_name": "inc_used_option_count",
"module_supported": false,
"details": null,
"feature_label": "Increased Used Option Count"
},
{
"api_name": "unused_option_count",
"module_supported": false,
"details": {
"limits": {
"edition_limit": 500,
"total": 500
}
},
"feature_label": "Unused Option Count"
},
{
"api_name": "large_global_set",
"module_supported": false,
"details": null,
"feature_label": "Large Global Set"
}
],
"api_name": "global_picklists",
"parent_feature": null,
"module_supported": false,
"details": {
"limits": {
"edition_limit": 10,
"total": 10
}
},
"feature_label": "Global Picklists"
},
{
"components": null,
"api_name": "team_spaces",
"parent_feature": null,
"module_supported": false,
"details": {
"limits": {
"edition_limit": 25,
"total": 25
}
},
"feature_label": "Teamspace"
},
{
"components": null,
"api_name": "Lookup_Filter",
"parent_feature": null,
"module_supported": false,
"details": {
"limits": {
"edition_limit": 5,
"total": 5
}
},
"feature_label": null
},
{
"components": null,
"api_name": null,
"parent_feature": null,
"module_supported": false,
"details": null,
"feature_label": null
},
{
"components": null,
"api_name": "domain_mappings",
"parent_feature": null,
"module_supported": false,
"details": null,
"feature_label": "domain_mapping"
},
{
"components": [
{
"api_name": "excluded_fields",
"module_supported": false,
"details": {
"limits": {
"edition_limit": 15,
"total": 15
}
},
"feature_label": "Excluded Fields"
},
{
"api_name": "locking_rules",
"module_supported": false,
"details": {
"limits": {
"edition_limit": 5,
"total": 5
}
},
"feature_label": "Locking Rules"
},
{
"api_name": "restricted_custom_buttons",
"module_supported": false,
"details": {
"limits": {
"edition_limit": 30,
"total": 30
}
},
"feature_label": "Restricted Custom Buttons"
},
{
"api_name": "excluded_profiles",
"module_supported": false,
"details": {
"limits": {
"edition_limit": 15,
"total": 15
}
},
"feature_label": "Excluded Profiles"
}
],
"api_name": "record_locking_configurations",
"parent_feature": null,
"module_supported": true,
"details": null,
"feature_label": "Locking Configuration"
},
{
"components": null,
"api_name": "field_level_security",
"parent_feature": null,
"module_supported": false,
"details": null,
"feature_label": "Field Level Security"
},
{
"components": null,
"api_name": "groups",
"parent_feature": null,
"module_supported": false,
"details": {
"limits": {
"edition_limit": 50,
"total": 50
}
},
"feature_label": "Groups"
},
{
"components": null,
"api_name": "data_sharing",
"parent_feature": null,
"module_supported": true,
"details": null,
"feature_label": "Data Sharing"
},
{
"components": null,
"api_name": "data_sharing_rules",
"parent_feature": {
"api_name": "data_sharing"
},
"module_supported": true,
"details": {
"limits": {
"edition_limit": 25,
"total": 25
}
},
"feature_label": "Data Sharing Rules"
},
{
"components": null,
"api_name": "data_sharing_rules",
"parent_feature": {
"api_name": "data_sharing"
},
"module_supported": false,
"details": {
"limits": {
"edition_limit": 10,
"total": 10
}
},
"feature_label": "Data_Sharing_Rules_Criteria"
},
{
"components": null,
"api_name": "record_level_sharing",
"parent_feature": null,
"module_supported": true,
"details": null,
"feature_label": "Record level sharing"
},
{
"components": null,
"api_name": "record_level_sharing",
"parent_feature": {
"api_name": "record_level_sharing"
},
"module_supported": false,
"details": {
"limits": {
"edition_limit": 10,
"total": 10
}
},
"feature_label": "Record level sharing"
},
{
"components": null,
"api_name": "personal_health_fields",
"parent_feature": null,
"module_supported": true,
"details": {
"used_count": {
"total": 0
},
"limits": {
"edition_limit": 30,
"total": 30
}
},
"feature_label": "Personal Health Fields"
},
{
"components": null,
"api_name": "webform_fields_limit",
"parent_feature": {
"api_name": "web_forms"
},
"module_supported": false,
"details": {
"limits": {
"edition_limit": 50,
"total": 50
}
},
"feature_label": "Webform Fields Limit"
},
{
"components": null,
"api_name": "webform_abtesting",
"parent_feature": {
"api_name": "web_forms"
},
"module_supported": false,
"details": {
"limits": {
"edition_limit": 2,
"total": 2
}
},
"feature_label": "Webform ABTesting"
},
{
"components": null,
"api_name": "webform_suggestions",
"parent_feature": {
"api_name": "web_forms"
},
"module_supported": false,
"details": null,
"feature_label": "Webform Suggestions"
},
{
"components": null,
"api_name": "unsubscribe",
"parent_feature": {
"api_name": "web_forms"
},
"module_supported": false,
"details": {
"limits": {
"edition_limit": 10,
"total": 10
}
},
"feature_label": "Unsubscribe"
},
{
"components": null,
"api_name": "auto_response_rules",
"parent_feature": {
"api_name": "web_forms"
},
"module_supported": true,
"details": null,
"feature_label": "AutoResponse Rules"
},
{
"components": null,
"api_name": "scheduled_mass_email",
"parent_feature": null,
"module_supported": false,
"details": null,
"feature_label": "Scheduled Mass Email"
},
{
"components": null,
"api_name": "inventory_templates",
"parent_feature": null,
"module_supported": true,
"details": null,
"feature_label": "Inventory Templates"
}
],
"info": {
"per_page": 200,
"count": 200,
"page": 1,
"more_records": true
}
}