List of Available APIs

Purpose

To retrieve the list of supported APIs in the current API version, with the option to filter the APIs based on their request methods, OAuth scopes and credit limits.

Request Details

Request URL

{api-domain}/crm/{version}/__apis

Header

Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52

Scope

scope = ZohoCRM.apis.READ 

Parameter

  • filtersstring, optional

    The 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. By default, all supported APIs are displayed for the specified API version.

    The “filters” parameter structure should be:
    {
       "field": {
           "api_name": "{{value}}"
       },
       "comparator": "equals",
       "value": "{{value}}"
    }   
    Note: Encode the value of the filters parameter before sending a request. 

    Example : {"field": {"api_name": "operation_types.method"},"comparator": "equals","value": "POST"}   
    Explanation : 
    It filters only the POST request method APIs, i.e., the value "POST" in the "value" key depends on the value given in the "api_name" key in the field JSON object.  It filters only the POST request method APIs, i.e., the value "POST" in the "value" key depends on the value given in the "api_name" key in the field JSON object. 

  • 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:

      Note: Each filter criterion is explained below with a sample request and response.

  • comparatorstring, mandatory

    Represents the comparison operator used for filtering. Supported value: equals.

  • valuestring, mandatory

    Contains the value to be compared with the corresponding attribute of the "api_name" key in the field JSON object.   

Notes

  • Encode the value of the filters parameter before sending a request.
  • The "filters" parameter supports :
    • A single criteria.
    • The "equals" comparator.
  • The API will be supported from version 2.
  • The credit limit for this API is 1.

Sample Request

Copiedcurl "https://www.zohoapis.com/crm/v7/__apis"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"

Sample Response

Copied{
    "__apis": [
        {
            "path": "/crm/v7/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/v7/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/v7/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 "OAuth Scope" value 

  • "api_name": "operation_types.oauth_scope"

    To filter OAuth scope-specific available APIs.

    The “filters” parameter structure should be:

    filters : {"field": {"api_name": "operation_types.oauth_scope"}, "comparator": "equals" "value": "{{scope_name}}"}

    The supported scope name values are settings, modules, users, templates, org, mass_convert, features, mass_delete, mass_update, share, change_owner, send_mail, bulk, composite_requests, notifications, and coql. 

    To know the individual module-specific supported APIs, you can give the value such as "modules.leads", "modules.contacts", and so on.

    To know the individual metadata-specific supported APIs, you should specify the value as "settings.territories", "settings.custom_views", "settings.fields", and so on.

Sample request using the "filters" parameter to fetch "OAuth scope" related APIs

Copiedcurl "https://www.zohoapis.com/crm/v7/__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/v7/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/v7/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/v7/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
                }
            ]
        },
        .
        .
        .
    ]
}

The "filters" parameter with "Method" value

  • "api_name": "operation_types.method" 

    To filter method-specific available APIs. 

    The “filters” parameter structure should be:

    filters - {"field": {"api_name": "operation_types.method"},"comparator": "equals","value": "{{request_method_as_value}}"} 

    Supported values: GET, POST, PUT, PATCH, and DELETE.

Notes

  • The supported methods are case-sensitive.

Sample request using the "filters" parameter to fetch "method" specific APIs

Copiedcurl "https://www.zohoapis.com/crm/v7/__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/v7/Quotes/{{id}}/actions/send_mail",
            "operation_types": [
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.send_mail.quotes.CREATE",
                    "max_credits": 20,
                    "min_credits": 20
                }
            ]
        },
        {
            "path": "/crm/v7/Accounts/{{id}}/photo",
            "operation_types": [
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.modules.accounts.CREATE",
                    "max_credits": 1,
                    "min_credits": 1
                }
            ]
        },
        {
            "path": "/crm/v7/Deals/upsert",
            "operation_types": [
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.modules.deals.CREATE",
                    "max_credits": 10,
                    "min_credits": 1
                }
            ]
        },
        {
            "path": "/crm/v7/Deals/{{id}}/Attachments",
            "operation_types": [
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.modules.deals.CREATE",
                    "max_credits": 1,
                    "min_credits": 1
                }
            ]
        },
        {
            "path": "/crm/v7/Events",
            "operation_types": [
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.modules.events.CREATE",
                    "max_credits": 10,
                    "min_credits": 1
                }
            ]
        },
        {
            "path": "/crm/v7/Deals/{{id}}/actions/assign_territories",
            "operation_types": [
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.modules.deals.UPDATE",
                    "max_credits": 1,
                    "min_credits": 1
                }
            ]
        },
        .
        .
        .
    ]
}

The "filters" parameter with "Module" value

  • "api_name": "module"

    To filter module-specific supported APIs.

    The “filters” parameter structure should be:

    filters : {"field": {"api_name": "module"},"comparator": "equals","value": "{{module_api_name}}"} 

    Supported modules 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.

The "filters" parameter with "Custom Module" value

  • "api_name": "module"

    To filter available custom module-specific APIs.

    The “filters” parameter structure should be:

    {"field": {"api_name": "module"},"comparator": "equals","value": "custom"}  

    Supported value: custom

Module-specific notes

  • You can specify only the system-defined modules.

Custom module-specific notes

  • The system does not allow directly specifying actual custom module names in the "value" key. Instead, use the value "custom". The system will list the available APIs related to custom modules.
    The response for a custom module API endpoint looks like : /crm/{{version}}/{{module}}/actions/add_tags. For more samples, refer to the sample response of the custom module.

Sample request using the "filters" parameter to fetch "module" specific APIs

Copiedcurl "https://www.zohoapis.com/crm/v7/__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/v7/Leads/{{id}}/actions/merge",
            "operation_types": [
                {
                    "method": "GET",
                    "oauth_scope": "ZohoCRM.modules.leads.READ",
                    "max_credits": 1,
                    "min_credits": 1
                },
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.modules.leads.CREATE",
                    "max_credits": 50,
                    "min_credits": 50
                }
            ]
        },
        {
            "path": "/crm/v7/Leads/{{id}}/actions/download_fields_attachment",
            "operation_types": [
                {
                    "method": "GET",
                    "oauth_scope": "ZohoCRM.modules.leads.READ",
                    "max_credits": 1,
                    "min_credits": 1
                }
            ]
        },
        {
            "path": "/crm/v7/Leads/{{id}}/__emails_sharing_details",
            "operation_types": [
                {
                    "method": "GET",
                    "oauth_scope": "ZohoCRM.modules.leads.READ",
                    "max_credits": 1,
                    "min_credits": 1
                }
            ]
        },
        {
            "path": "/crm/v7/Leads/actions/add_tags",
            "operation_types": [
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.modules.leads.UPDATE",
                    "max_credits": 50,
                    "min_credits": 1
                }
            ]
        },
        .
        .
        .
        
    ]
}

Sample request using the "filters" parameter to fetch "Custom Module" related APIs

Copiedcurl "https://www.zohoapis.com/crm/v7/__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"

Response JSON Keys

  • __apisJSON array

    Contains the details of supported APIs for each endpoint up to the specified API version in the request URL.

    • pathstring

      Represents the API endpoint for the specified API version in the request URL.

    • operation_typesstring

      Represents the allowed operations on a specific path.

      • methodstring

        Represents the request method.

      • 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
    • Invalid JSON passed as parameter 
      Resolution: Specify a valid JSON to the filters parameter. Refer to the Parameter sections above.
    • The given api_name seems to be invalid 
      Resolution: Specify a valid input. Possible values are operation_types.oauth_scope, operation_types.method, and module.
    • The given value is invalid given in the "value" key
      Resolutions: Specify a valid value.
      • For the "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 the "api_name" : "operation_types.method", the values can be GET, POST, PUT, PATCH, and DELETE.
      • For the "api_name" : "module", the values should be the system-defined modules such as Leads, Contacts, Accounts, and so on.  Refer to the Parameter sections above.
      • For custom module, the value should be custom.
    • The given comparator is not supported
      Resolution: Supported comparator is equals.
    • The given method value is not supported 
      Resolution: The given method value is case-sensitive. Supported methods are GET, POST, PUT, PATCH, and DELETE.
  • DEPENDENT_FIELD_MISSINGHTTP 400

    Dependent Field missing 
    Resolution: Specify the dependent fields for the filter parameter. Refer to the Parameter sections above.

  • MANDATORY_NOT_FOUNDHTTP 400

    One ore more mandatory keys are missing in the parameter value
    Resolution: Specify all mandatory fields. Refer to the Parameter sections above.

  • 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.

  • OAUTH_SCOPE_MISMATCHHTTP 401

    Unauthorized
    Resolution: The client does not have a valid scope to retrieve supported APIs. Create a new token with valid scope. Refer to scope section above.

  • 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{
    "__apis": [
        {
            "path": "/crm/v7/{{module}}/actions/add_tags",
            "operation_types": [
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.modules.custom.UPDATE",
                    "max_credits": 50,
                    "min_credits": 1
                }
            ]
        },
        {
            "path": "/crm/v7/{{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/v7/{{module}}/{{id}}/actions/remove_territories",
            "operation_types": [
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.modules.custom.UPDATE",
                    "max_credits": 1,
                    "min_credits": 1
                }
            ]
        },
        {
            "path": "/crm/v7/{{module}}/upsert",
            "operation_types": [
                {
                    "method": "POST",
                    "oauth_scope": "ZohoCRM.modules.custom.CREATE",
                    "max_credits": 10,
                    "min_credits": 1
                }
            ]
        },
        {
            "path": "/crm/v7/{{module}}/deleted",
            "operation_types": [
                {
                    "method": "GET",
                    "oauth_scope": "ZohoCRM.modules.custom.READ",
                    "max_credits": 2,
                    "min_credits": 2
                }
            ]
        },
        .
        .
        .
    ]
}