List of Available APIs
Purpose
To retrieve the list of supported APIs in a specific API version, with the option to filter the APIs based on their request methods or OAuth scopes.
Endpoints
- GET /__apis
Request Details
Request URL
{api-domain}/crm/{version}/__apis
Header
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Scope
ZohoCRM.apis.READ
Parameter
- filtersstring, optional
This parameter allows you to filter the supported APIs for the version specified in the URL. You can filter based on three criteria: Module, OAuth scope, and Method. When you do not include this parameter, all supported APIs are displayed for the specified API version, by default.
Structure for the filters parameter:
{
"field": {
"api_name": "{{value}}"
},
"comparator": "equals",
"value": "{{value}}"
}
Note: You must encode the value of the filters parameter before sending the request. You can have only one criterion for this parameter.
Example: {"field": {"api_name": "operation_types.method"},"comparator": "equals","value": "POST"}
This fetches all the APIs whose request method is POST. - fieldsJSON object, mandatory
Represents the attribute to filter with.
Supported attributes: Module, OAuth scope, and Request Method.
- api_namestring, mandatory
Represents the API name of the filter to query. Supported filters include:
- operation_types.oauth_scope - to filter APIs based on the specified OAuth scopes.
- operation_types.method - to filter APIs on a specific method.
- module(including custom module) - to filter APIs that support the specified module.
Each filter criterion is explained with a sample request and response in the following sections.
- comparatorstring, mandatory
Represents the comparator used for filtering. The supported value is equals.
- valuestring, mandatory
Contains the value to be compared with the corresponding attribute of the api_name key in the field JSON object.
Note
- Encode the value of the filters parameter before sending a request.
- The filters parameter supports:
- A single criterion.
- The equals comparator.
- This API is supported from version 2.
- This API consumes 1 credit.
Sample Request
Copiedcurl "https://www.zohoapis.com/crm/v8/__apis"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Sample Response
Copied{
"__apis": [
{
"path": "/crm/v8/Quotes/{{id}}/actions/send_mail",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.send_mail.quotes.CREATE",
"max_credits": 20,
"min_credits": 20
},
{
"method": "PUT",
"oauth_scope": "ZohoCRM.send_mail.quotes.CREATE",
"max_credits": 20,
"min_credits": 20
}
]
},
{
"path": "/crm/v8/Accounts/{{id}}/photo",
"operation_types": [
{
"method": "GET",
"oauth_scope": "ZohoCRM.modules.accounts.READ",
"max_credits": 1,
"min_credits": 1
},
{
"method": "DELETE",
"oauth_scope": "ZohoCRM.modules.accounts.DELETE",
"max_credits": 1,
"min_credits": 1
},
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.accounts.CREATE",
"max_credits": 1,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/Deals/{{id}}/Attachments",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.deals.CREATE",
"max_credits": 1,
"min_credits": 1
},
{
"method": "GET",
"oauth_scope": "ZohoCRM.modules.deals.READ",
"max_credits": 1,
"min_credits": 1
},
{
"method": "PUT",
"oauth_scope": "ZohoCRM.modules.deals.UPDATE",
"max_credits": 1,
"min_credits": 1
},
{
"method": "DELETE",
"oauth_scope": "ZohoCRM.modules.deals.DELETE",
"max_credits": 1,
"min_credits": 1
}
]
},
.
.
.
]
}
The "filters" parameter with the value "oauth_scope"
- "api_name": "operation_types.oauth_scope"
To filter the APIs based on a specific OAuth scope.
The filters parameter structure is:
filters : {"field": {"api_name": "operation_types.oauth_scope"}, "comparator": "equals", "value": "{{scope_name}}"}
- Supported scope names - settings, modules, users, templates, org, mass_convert, features, mass_delete, mass_update, share, change_owner, send_mail, bulk, composite_requests, notifications, and coql.
- To fetch the individual module-specific APIs, include the module name like "modules.leads", "modules.contacts", and so on.
- To fetch the individual metadata-specific APIs, specify the value as "settings.territories", "settings.custom_views", "settings.fields", and so on.
Sample request using the "filters" parameter with the value "oauth_scope"
Copiedcurl "https://www.zohoapis.com/crm/v8/__apis?filters=%7B%22field%22%3A%20%7B%22api_name%22%3A%20%22operation_types.oauth_scope%22%7D%2C%22comparator%22%3A%20%22equals%22%2C%22value%22%3A%20%22send_mail%22%7D"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Sample Response
Copied{
"__apis": [
{
"path": "/crm/v8/Quotes/{{id}}/actions/send_mail",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.send_mail.quotes.CREATE",
"max_credits": 20,
"min_credits": 20
},
{
"method": "PUT",
"oauth_scope": "ZohoCRM.send_mail.quotes.CREATE",
"max_credits": 20,
"min_credits": 20
}
]
},
{
"path": "/crm/v8/Invoices/{{id}}/actions/send_mail",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.send_mail.invoices.CREATE",
"max_credits": 20,
"min_credits": 20
},
{
"method": "PUT",
"oauth_scope": "ZohoCRM.send_mail.invoices.CREATE",
"max_credits": 20,
"min_credits": 20
}
]
},
{
"path": "/crm/v8/Sales_Orders/{{id}}/actions/send_mail",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.send_mail.salesorders.CREATE",
"max_credits": 20,
"min_credits": 20
},
{
"method": "PUT",
"oauth_scope": "ZohoCRM.send_mail.salesorders.CREATE",
"max_credits": 20,
"min_credits": 20
}
]
},
.
.
.
]
}
Show full
Show less
The "filters" parameter with the value "method"
- "api_name": "operation_types.method"
To filter the APIs based on a request method.
The filters parameter structure is:
filters - {"field": {"api_name": "operation_types.method"},"comparator": "equals","value": "{{request_method_as_value}}"}
Supported values: GET, POST, PUT, PATCH, and DELETE. These values are case-sensitive.
Sample request using the "filters" parameter with the value "method"
Copiedcurl "https://www.zohoapis.com/crm/v8/__apis?filters=%7B%22field%22%3A%20%7B%22api_name%22%3A%20%22operation_types.method%22%7D%2C%22comparator%22%3A%20%22equals%22%2C%22value%22%3A%20%22POST%22%7D"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Sample Response
Copied{
"__apis": [
{
"path": "/crm/v8/Quotes/{{id}}/actions/send_mail",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.send_mail.quotes.CREATE",
"max_credits": 20,
"min_credits": 20
}
]
},
{
"path": "/crm/v8/Accounts/{{id}}/photo",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.accounts.CREATE",
"max_credits": 1,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/Deals/upsert",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.deals.CREATE",
"max_credits": 10,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/Deals/{{id}}/Attachments",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.deals.CREATE",
"max_credits": 1,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/Events",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.events.CREATE",
"max_credits": 10,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/Deals/{{id}}/actions/assign_territories",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.deals.UPDATE",
"max_credits": 1,
"min_credits": 1
}
]
},
.
.
.
]
}
Show full
Show less
The "filters" parameter with the value "module"
- "api_name": "module"
To filter the APIs based on supported modules.
The filters parameter structure is:
filters : {"field": {"api_name": "module"},"comparator": "equals","value": "{{module_api_name}}"}
Supported values are system-defined modules such as Leads, Accounts, Contacts, Deals, Campaigns, Tasks, Cases, Meetings, Calls, Solutions, Products, Vendors, Price Books, Quotes, Sales Orders, Purchase Orders, Invoices, Appointments, Appointments Rescheduled History, and Services.
Sample request using the "filters" parameter with the value "module"
Copiedcurl "https://www.zohoapis.com/crm/v8/__apis?filters=%7B%22field%22%3A%20%7B%22api_name%22%3A%20%22module%22%7D%2C%22comparator%22%3A%20%22equals%22%2C%22value%22%3A%20%22Deals%22%7D"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Sample Response
Copied{
"__apis": [
{
"path": "/crm/v8/Deals/upsert",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.deals.CREATE",
"max_credits": 10,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/Deals/{{id}}/Attachments",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.deals.CREATE",
"max_credits": 1,
"min_credits": 1
},
{
"method": "GET",
"oauth_scope": "ZohoCRM.modules.deals.READ",
"max_credits": 1,
"min_credits": 1
},
{
"method": "PUT",
"oauth_scope": "ZohoCRM.modules.deals.UPDATE",
"max_credits": 1,
"min_credits": 1
},
{
"method": "DELETE",
"oauth_scope": "ZohoCRM.modules.deals.DELETE",
"max_credits": 1,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/Deals/{{id}}/actions/assign_territories",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.deals.UPDATE",
"max_credits": 1,
"min_credits": 1
}
]
},
.
.
.
]
}
Show full
Show less
Sample request using the "filters" parameter with value "custom"
Copiedcurl "https://www.zohoapis.com/crm/v8/__apis?filters=%7B%22field%22%3A%20%7B%22api_name%22%3A%20%22module%22%7D%2C%22comparator%22%3A%20%22equals%22%2C%22value%22%3A%20%22custom%22%7D"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Response JSON Keys
- __apisJSON array
Contains the details of supported APIs in the API version given in the request URL.
- pathstring
Represents the API endpoint for the API version in the request URL.
- operation_typesstring
Represents the allowed operations for that API in that version.
- methodstring
Represents the supported request method for that API.
- oauth_scopestring
Represents the OAuth scope required to perform this operation.
- max_creditsinteger
Represents the maximum credits that the API consumes.
- min_creditsinteger
Represents the minimum credits that the API consumes.
Possible Errors
- INVALID_DATAHTTP 400
- You have passed an invalid JSON as value to the filters parameter.
Resolution: Specify a valid JSON to the filters parameter. Refer to the Parameter section for the right format. - You have given an invalid value to the api_name attribute in the filters parameter.
Resolution: Specify a valid value to the api_name attribute. Possible values are operation_types.oauth_scope, operation_types.method, and module. - You have given an invalid value for the value key in the filters parameter.
Resolutions:- For "api_name" : "operation_types.oauth_scope", the values can be modules, settings, share, change_owner, mass_update, mass_delete, mass_convert, and so on.
- For "api_name" : "operation_types.method", the values can be GET, POST, PUT, PATCH, and DELETE.
- For "api_name" : "module", the value should be any of the system-defined modules such as Leads, Contacts, Accounts, and so on. Refer to the Parameter section for the supported values.
- For custom module, the value should be custom.
- The comparator you have used is not supported.
Resolution: The supported comparator is equals. - The given method value is not supported.
Resolution: The method value is case-sensitive. The supported methods are GET, POST, PUT, PATCH, and DELETE.
- You have passed an invalid JSON as value to the filters parameter.
- DEPENDENT_FIELD_MISSINGHTTP 400
You have not specified one or more dependent values in the parameter.
Resolution: Specify the dependent fields for the filter parameter. Refer to the Parameter section for the mandatory and optional attributes. - MANDATORY_NOT_FOUNDHTTP 400
One ore more mandatory keys are missing in the parameter value.
Resolution: Specify all mandatory fields. Refer to the Parameter section. - INVALID_REQUEST_METHODHTTP 400
The request method is incorrect.
Resolution: Use the HTTP GET method to make this API call. Any other request method will result in this error. - OAUTH_SCOPE_MISMATCHHTTP 401
The access token you have used to make this API call does not have the required scope.
Resolution: Generate a new access token with the scope ZohoCRM.apis.READ and try this API again. - AUTHENTICATION_FAILUREHTTP 401
You have not authorized the API call with valid access token.
Resolution: Include a valid access token in the request header to authorize the API call. - INVALID_URL_PATTERNHTTP 404
The request URL is incorrect.
Resolution: Specify a valid request URL. Refer to the request URL section.
- INTERNAL_ERRORHTTP 500
Unexpected and unhandled exception in the server.
Resolution: Contact the support team at support@zohocrm.com.
Sample Response
Copied{
"__apis": [
{
"path": "/crm/v8/{{module}}/actions/add_tags",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.custom.UPDATE",
"max_credits": 50,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/{{module}}/{{id}}/Locking_Information__s/{{id}}",
"operation_types": [
{
"method": "GET",
"oauth_scope": "ZohoCRM.modules.custom.READ",
"max_credits": 1,
"min_credits": 1
},
{
"method": "PUT",
"oauth_scope": "ZohoCRM.modules.custom.UPDATE",
"max_credits": 1,
"min_credits": 1
},
{
"method": "DELETE",
"oauth_scope": "ZohoCRM.modules.custom.DELETE",
"max_credits": 1,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/{{module}}/{{id}}/actions/remove_territories",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.custom.UPDATE",
"max_credits": 1,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/{{module}}/upsert",
"operation_types": [
{
"method": "POST",
"oauth_scope": "ZohoCRM.modules.custom.CREATE",
"max_credits": 10,
"min_credits": 1
}
]
},
{
"path": "/crm/v8/{{module}}/deleted",
"operation_types": [
{
"method": "GET",
"oauth_scope": "ZohoCRM.modules.custom.READ",
"max_credits": 2,
"min_credits": 2
}
]
},
.
.
.
]
}