Modules API

Zoho CRM has standard modules such as Leads, Accounts, Contacts, Deals, Forecasts, Activities, and so on. Using Zoho CRM REST API, you can retrieve the list of available modules through the Get List of Modules API.

Get List of Modules

Purpose

To retrieve the list of all the modules available in your CRM account.

Request Details

Request URL

{api-domain}/crm/{version}/settings/modules

Header

Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52

Scope

scope=ZohoCRM.settings.ALL
(or)
scope=ZohoCRM.settings.modules.{operation_type}

Possible operation types

ALL - Full data access
READ - Get module data

Note

  • Refer to the key api_name in the JSON data while accessing the resource. Every module, field, and related list will have an API name, which you can use in the third-party integrations. For example, if you want to access the Leads module, use “Leads" which is the api_name every time you access the resource. The Zoho CRM generates an API name internally while creating a custom module, custom field, or related list label. Please note that you cannot alter the API Names for the default modules, fields, and related list. You can change the API names only for custom modules, fields, and related lists.
  • The generated API name can contain only alphabets, numbers, and underscores. The API name should start with an alphabet and should not have two consecutive underscores or end with an underscore.
  • For the Events module,
    • The singular_label and plural_label will be Meeting and Meetings, respectively.
    • The module_name will be Meetings.
    • The api_name will remain Events.
  • The modules removed from Organize will also be fetched in the response.
  • Use the profiles key in the response to know the profiles that have permission to view a particular module.
  • New modules are added when a new file upload / image upload fields are added to a module.

Parameters

  • status 
    The status parameter can be used to retrieve specific types of modules. Valid values for status are user_hidden,system_hidden,scheduled_for_deletion,visible. eg:status=user_hidden,system_hidden can be used to retrieve all modules that are hidden to user and system. Status parameter is not mandatory.

Sample Request

Copiedcurl "https://www.zohoapis.com/crm/v6/settings/modules"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.03xxxxxxxxxxxxxxxxxa5317.dxxxxxxxxxxxxxxxxxfa"
Copiedresponse = invokeurl
[
	url: "https://www.zohoapis.com/crm/v6/settings/modules"
	type: GET
	connection:"crm_oauth_connection"
];
info response;

Response JSON Keys

  • deletableboolean

    Describes if the user can delete a record in the current module.
    Possible values- true: The user can delete a record in the current module.
    false: The user cannot delete a record in the current module.

  • descriptionstring

    Represents the description of the module, if any.

  • creatableboolean

    Represents if the user can create records in the current module.
    Possible values- true: The user can create records in the current module.
    false: The user cannot create records in the current module.

  • modified_timedate and time in ISO8601 format

    Represents the date and time of when the module properties were last modified.

  • plural_labelstring

    Represents the plural of the module name. Example: Leads.

  • singular_labelstring

    Represents the singular of the module name. Example: Lead.

  • presence_sub_menuboolean

    Represents if the module has a submenu. For instance, Tasks in Activities is a submenu.
    Possible values- true: The current module has a submenu.
    false: The current module does not have a submenu.

  • lookupableboolean

    Specifies if the module can be used as a lookup field in other modules.

  • idstring

    Represents the unique ID of the module. For instance, 4150868000000002173

  • visibleboolean

    Represents if the module is visible to the current user's profile.

  • visibilityinteger

    Represents the visibility of the module to the current user.

    • 1- The module is visible
    • 0- The module is hidden
    • -1 - The module is unavailable/hidden by the system itself due to the downgrading of the plan.
  • convertableboolean

    Describes if the user can convert the record into another type of record. For example: Convert Leads into Deals.
    Possible values- true: The user can convert the records in the current module into another type of record.
    false: The user cannot convert the records in the current module into another type of record.

  • viewableboolean

    Represents if the user can view the records in the current module.
    Possible values- true: The user can view the records in the current module.
    false: The user cannot view the records in the current module.

  • editableboolean

    Describes if the user can edit a record in the current module.
    Possible values- true: The user can edit a record in the current module.
    false: The user cannot edit a record in the current module.

  • api_supportedboolean

    Describes if the current module is accessible via API.
    Possible values- true: The current module is accessible via API. For instance, Leads, Quotes.
    false: The current module is not accessible via API. For instance, Feeds, Documents, and so on.

  • profilesJSON array

    Each object in the array represents the details of the profile that has access to the module. Example: {
    "name": "Administrator",
    "id": "4150868000000026011"
    },

  • show_as_tabboolean

    Represents if the module is displayed as a tab in the CRM UI.
    Possible values- true: The module is displayed as a tab in the CRM UI. For instance, Contacts, Accounts, and so on.
    false: The module is not displayed as a tab in the CRM UI. For instance, Notes, Attachments, Linking modules, and so on.

  • web_linkstring

    Represents the web link of the module, if any. For instance, https://extensions.zoho.com/plugin/facebook

  • sequence_numberinteger

    Represents the position of the module in the CRM.

  • api_namestring

    Represents the API name of the module. Example: Leads.

  • quick_createboolean

    Represents if the module supports quick create.
    Possible values- true: The user can add records using quick create in the current module. For instance, Contacts, Accounts, and so on.
    false: The user cannot add records using quick create in the current module. For instance, Feeds, Forecasts, and so on.

  • modified_byJSON object

    Represents the name and ID of the user who last modified the module properties. For example: "modified_by": {
    "name": "Patricia Boyle",
    "id": "4150868000000225013"
    }

  • generated_typestring

    Represents how the module was created.
    Possible values- default: It is a default module. For instance, Contacts, Accounts, and so on.
    linking: It is a linking module.
    subform: It is a line item subform in one of the inventory modules.
    web: It is a web-tab widget.
    custom: It is a custom module.

  • feeds_requiredboolean

    Represents if feeds is enabled for the module.
    Possible values- true: Feeds is enabled for the current module.
    false: Feeds is not enabled for the current module.

  • argumentsJSON array

    Represents the parameters for the link used in Web-tab. Each object represents display name and the value of the argument. Example: "arguments": [
    {
    "name": "sample",
    "value": "users.city"
    }
    ]

  • module_namestring

    Represents the display name of the module.

  • business_card_field_limitinteger

    Represents the number of fields you can have in the business card details.
    Note: Business card details are displayed on the "Details View" page of a record. This is also the information shown when you hover over a lookup field.

  • custom_viewJSON object

    Represents the details of the custom views created for this module. If you pass the custom view ID, the response contains the details of that custom view. Otherwise, the system fetches the details of the default view in that module.

  • parent_moduleJSON object

    Represents the details of the parent module, if any. For instance, Activities is the parent module for Tasks, Calls, and Events.

  • statusboolean

    Represents if the module is user_hidden,system_hidden,scheduled_for_deletion or visible .

  • sub_menu_availableboolean

    Represents if sub menu option is available for the module or not.

Possible Errors

  • 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 request URL section above.

  • OAUTH_SCOPE_MISMATCHHTTP 401

    Unauthorized
    Resolution: Client does not have ZohoCRM.settings.modules.READ scope. Create a new client with valid scope. Refer to scope section above.

  • NO_PERMISSIONHTTP 403

    Permission denied to read
    Resolution: The user does not have permission to read records. Contact your system administrator.

  • INTERNAL_ERRORHTTP 500

    Internal Server Error
    Resolution: Unexpected and unhandled exception in the server. Contact support team.

  • 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 endpoints section above.

  • AUTHORIZATION_FAILEDHTTP 400

    User does not have sufficient privilege to read module details.
    Resolution: The user does not have the permission to retrieve module details. Contact your system administrator.

Sample Response

Copied{
    "modules": [
        {
            "has_more_profiles": false,
            "access_type": "org_based",
            "private_profile": null,
            "global_search_supported": false,
            "deletable": false,
            "description": null,
            "creatable": false,
            "recycle_bin_on_delete": false,
            "modified_time": null,
            "plural_label": "Home",
            "presence_sub_menu": false,
            "actual_plural_label": "Home",
            "lookupable": false,
            "id": "5725767000000002173",
            "isBlueprintSupported": false,
            "visibility": 1,
            "convertable": false,
            "sub_menu_available": false,
            "editable": false,
            "actual_singular_label": "Home",
            "profiles": [
                {
                    "name": "Administrator",
                    "id": "5725767000000026011"
                },
                {
                    "name": "Standard",
                    "id": "5725767000000026014"
                },
                {
                    "name": "asd",
                    "id": "5725767000000871001"
                }
            ],
            "show_as_tab": true,
            "web_link": null,
            "sequence_number": 1,
            "singular_label": "Home",
            "viewable": true,
            "api_supported": false,
            "api_name": "Home",
            "quick_create": false,
            "modified_by": null,
            "generated_type": "default",
            "feeds_required": false,
            "public_fields_configured": false,
            "arguments": [],
            "module_name": "Home",
            "profile_count": 3,
            "business_card_field_limit": 5,
            "parent_module": {},
            "status": "visible"
        },
        {
            "has_more_profiles": false,
            "access_type": "org_based",
            "private_profile": null,
            "global_search_supported": true,
            "deletable": true,
            "description": null,
            "creatable": true,
            "recycle_bin_on_delete": true,
            "modified_time": "2025-04-24T10:32:20-07:00",
            "plural_label": "Leads",
            "presence_sub_menu": true,
            "actual_plural_label": "Leads",
            "lookupable": true,
            "id": "5725767000000002175",
            "isBlueprintSupported": true,
            "visibility": 1,
            "convertable": true,
            "sub_menu_available": true,
            "editable": true,
            "actual_singular_label": "Lead",
            "profiles": [
                {
                    "name": "Administrator",
                    "id": "5725767000000026011"
                },
                {
                    "name": "Standard",
                    "id": "5725767000000026014"
                },
                {
                    "name": "asd",
                    "id": "5725767000000871001"
                }
            ],
            "show_as_tab": true,
            "web_link": null,
            "sequence_number": 2,
            "singular_label": "Lead",
            "viewable": true,
            "api_supported": true,
            "api_name": "Leads",
            "quick_create": true,
            "modified_by": {
                "name": "Patricia Boyle",
                "id": "5725767000000411001"
            },
            "generated_type": "default",
            "feeds_required": false,
            "public_fields_configured": false,
            "arguments": [],
            "module_name": "Leads",
            "profile_count": 3,
            "business_card_field_limit": 5,
            "parent_module": {},
            "status": "visible"
        },
        {
            "has_more_profiles": false,
            "access_type": "org_based",
            "private_profile": null,
            "global_search_supported": true,
            "deletable": true,
            "description": null,
            "creatable": true,
            "recycle_bin_on_delete": true,
            "modified_time": "2025-04-10T00:59:37-07:00",
            "plural_label": "Contacts",
            "presence_sub_menu": true,
            "actual_plural_label": "Contacts",
            "lookupable": true,
            "id": "5725767000000002179",
            "isBlueprintSupported": true,
            "visibility": 1,
            "convertable": false,
            "sub_menu_available": true,
            "editable": false,
            "actual_singular_label": "Contact",
            "profiles": [
                {
                    "name": "Administrator",
                    "id": "5725767000000026011"
                },
                {
                    "name": "Standard",
                    "id": "5725767000000026014"
                },
                {
                    "name": "asd",
                    "id": "5725767000000871001"
                }
            ],
            "show_as_tab": true,
            "web_link": null,
            "sequence_number": 3,
            "singular_label": "Contact",
            "viewable": true,
            "api_supported": true,
            "api_name": "Contacts",
            "quick_create": true,
            "modified_by": {
                "name": "Patricia Boyle",
                "id": "5725767000000411001"
            },
            "generated_type": "default",
            "feeds_required": false,
            "public_fields_configured": false,
            "arguments": [],
            "module_name": "Contacts",
            "profile_count": 3,
            "business_card_field_limit": 5,
            "parent_module": {},
            "status": "visible"
        },
        {
            "has_more_profiles": false,
            "access_type": "org_based",
            "private_profile": null,
            "global_search_supported": true,
            "deletable": true,
            "description": null,
            "creatable": true,
            "recycle_bin_on_delete": true,
            "modified_time": "2025-04-15T03:03:21-07:00",
            "plural_label": "Accounts",
            "presence_sub_menu": true,
            "actual_plural_label": "Accounts",
            "lookupable": true,
            "id": "5725767000000002177",
            "isBlueprintSupported": true,
            "visibility": 1,
            "convertable": false,
            "sub_menu_available": true,
            "editable": true,
            "actual_singular_label": "Account",
            "profiles": [
                {
                    "name": "Administrator",
                    "id": "5725767000000026011"
                },
                {
                    "name": "Standard",
                    "id": "5725767000000026014"
                },
                {
                    "name": "asd",
                    "id": "5725767000000871001"
                }
            ],
            "show_as_tab": true,
            "web_link": null,
            "sequence_number": 4,
            "singular_label": "Account",
            "viewable": true,
            "api_supported": true,
            "api_name": "Accounts",
            "quick_create": true,
            "modified_by": {
                "name": "Patricia Boyle",
                "id": "5725767000000411001"
            },
            "generated_type": "default",
            "feeds_required": false,
            "public_fields_configured": false,
            "arguments": [],
            "module_name": "Accounts",
            "profile_count": 3,
            "business_card_field_limit": 5,
            "parent_module": {},
            "status": "visible"
        },
        .
        .
        .
    ]
}