Layouts Metadata
Purpose
To retrieve details of all layouts or a specific layout associated with a particular module in your Zoho CRM account.
Endpoints
- GET /settings/layouts?module={module_API_name}
- GET /settings/layouts/{layout_ID}?module={module_API_name}
- {module_api_name} : API name of the module whose layouts you want to retrieve.
- {record_id} : The unique ID of a specific layout you want to fetch.
Request Details
Request URL
{api-domain}/crm/{version}/settings/layouts
Supported modules
Leads, Accounts, Contacts, Deals, Campaigns, Tasks, Cases, Events, Calls, Solutions, Products, Vendors, Price Books, Quotes, Sales Orders, Purchase Orders, Invoices, Custom, Appointments, and Services.
Header
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Scope
ZohoCRM.settings.layouts.READ (or)
ZohoCRM.settings.layouts.ALL (or)
ZohoCRM.settings.ALL
Parameters
- modulestring, mandatory
Specify the API name of the required module. Use the GET - Modules Metadata API to retrieve all available module API names. For example, Leads, Contacts, Accounts, Deals, and so on.
Note
- In the Deals module, the "forecast_category" key is changed from string to a JSON Object.
- In the Events module, a new data type "multireminder" is introduced for the "Remind_At" key.
- When the pipeline feature is enabled, a new field "Pipeline" is added in the response.
The pick_list_values for a pipeline inside the maps key represent the stages that are available in the pipeline. - When you have created a wizard in the module, the "fields" array will have an object for wizard.
- The "fields" array will also contain an object each for image upload, multi-select lookup, and multi-select user lookup fields with the data types imageupload, multiselectlookup, and mutliuserlookup, respectively.
- The sections related to Score Summary and Visit Summary will be rendered in the response only when you enable these features.
- For the Users module,
- Timezone offset varies based on daylight settings. So, the picklist field's display_value will change accordingly.
- In the Country_Locale field, the picklist values are translated if translation is enabled.
Sample Request
Copiedcurl "https://www.zohoapis.com/crm/v8/settings/layouts?module=Leads"
-X GET
-H "Authorization: Zoho-oauthtoken 1000.8cb99dxxxxxxxxxxxxx9be93.9b8xxxxxxxxxxxxxxxf"
Copiedresponse = invokeurl
[
url: "https://www.zohoapis.com/crm/v8/settings/layouts?module=Leads"
type: GET
connection:"crm_oauth_connection"
];
info response;
Response JSON
- created_timestring
Represents the date and time at which the current layout was created.
- convert_mappingJSON object
Represents the base layout details used for converting records from one module to another.
- modified_timestring
Represents the date and time at which the layout was last modified.
- visibleBoolean
Represents if the current layout is visible to the user.
true: The current layout is visible to the user.
false: The current layout is not visible to the user. - namestring
Represents the name of the layout.
- modified_byJSON object
Represents the name and ID of the user who last modified the layout.
- profilesJSON array
Each object in the array represents the name and ID of the profile that has access to the current layout. The value of this key will be null when the user does not have the Module Customization permission.
- _default_viewJSON object
This key is enabled when a wizard layout is set as the default layout in the create view of a module. It contains the ID and name of the default layout for each profile.
- _default_assignment_viewJSON object
This key is enabled when a canvas layout is set as the default layout in the detail view of a module i.e., when viewing a record in a module. The Standard layout is the default layout view.
- idstring
Represents the unique ID of the layout.
- created_byJSON object
Represents the name and ID of the user who created the layout.
- api_nameJSON array
Represent the API name of the layout.
- sectionsJSON array
Each object in the array represents the details of sections in the current layout.
- display_labelstring
Represents the display name of the section.
- modestring
Represents the section's mode in the layout.
- Possible values :
- All modules except :
- default_create : The section is used in the default create mode.
- quick_create : The section is used in the quick create mode.
- business_card : The section is used in the business card mode.
- Events module :
- create : The section is used in the create mode.
- view : The section is used in the view mode.
- quick_view : The section is used in the quick view mode.
- Subforms :
- create : The section is used in the create mode.
- view : The section is used in the view mode.
- Wizards :
- create : The section is used in the create mode.
- sequence_numberinteger
Represents the position of the section in the layout.
- isSubformSectionBoolean
Represents if the section is the subform section.
Possible values :
- true: The current section is a subform section.
- false: The current section is not a subform section.
- actions_allowedJSON object
Represents a set of actions allowed for the section.
- add_fieldBoolean
Represents whether fields can be added to the section.
- renameBoolean
Represents whether the section can be renamed.
- change_tab_traversalBoolean
Represents whether the tab order of the section can be changed.
- reorderBoolean
Represents whether the section's order can be changed.
- deleteBoolean
Represents whether the section can be deleted.
- remove_fieldBoolean
Represents whether fields can be removed from the section.
- change_column_countBoolean
Represents whether the number of columns in the section can be changed.
- tab_traversalstring
Represents the order in which the cursor moves through the fields in a section when the "Tab" button is pressed. This key helps in understanding the navigation flow within the section.
Possible values:
- top_to_bottom : The cursor moves from the top field to the bottom field.
- left_to_right : The cursor moves from the left field to the right field.
- api_namestring
Represents the API name of the section.
- namestring
Represents the display name of the current section.
- generated_typestring
Represents if the section is system-defined or custom.
- typestring
Represents if the section is used or not in the layout.
- show_business_cardBoolean
Represents whether the business card section must be displayed or not in the layout.
Possible values :
- true : The business card section is displayed in the layout.
- false : The business card section is not displayed in the layout.
- fieldsJSON array
Each object in the array represents the details of a field in the section. Refer to the GET - Fields Metadata API to know more about the keys in this array.
- searchableBoolean
Represents whether the field is supported in a search.
Possible values:
- true : The field is supported in a search.
- false : The field is not supported in a search.
- enable_colour_codeBoolean
Represents whether color coding is enabled for the field.
Possible values:
- true : Color coding is enabled for the field.
- false : Color coding is not enabled for the field.
- statusstring
Represents the current status of the layout.
Possible values :
- active : The layout is currently active and in use.
- inactive : The layout is currently inactive and not in use.
- downgrade : The layout has been downgraded.
- hidden : The layout is hidden from the user.
- sourcestring
Represents the origin of the layout. This key helps in understanding where the layout was created or originated from.
Possible values :
- crm : The layout was created within Zoho CRM.
- platform_plugin : The layout was created through a platform plugin.
- marketplace_plugin : The layout was created through a marketplace plugin.
- campaign_integration : The layout was created through a campaign integration.
Possible Errors
- REQUIRED_PARAM_MISSINGHTTP 400
Bad Request
Resolution: You have not specified the mandatory parameter. Refer to the Parameters section. - INVALID_MODULEHTTP 400
The module name given seems to be invalid
Resolution: You have specified an invalid module name or there is no tab permission, or the module could have been removed from the available modules. Specify a valid module API name. Use the GET - Module Metadata API to get API names of the modules. - INVALID_MODULEHTTP 400
The given module is not supported in API
Resolution: The modules such as Documents and Projects are not supported in the current API. (This error will not be shown, once these modules are been supported). Specify a valid module API name. Use the GET - Module Metadata API to get API names of the modules. - 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. - AUTHORIZATION_FAILEDHTTP 400
User does not have sufficient privilege to read layouts data
Resolution: The user does not have the permission to retrieve layouts data. Contact your system administrator. - OAUTH_SCOPE_MISMATCHHTTP 401
Unauthorized
Resolution: Client does not have ZohoCRM.settings.layouts.READ scope. Create a new client with valid scope. Refer to the Scope section. - NO_PERMISSIONHTTP 403
Permission denied to read
Resolution: The user does not have permission to read layouts data. Contact your system administrator. - 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. - INTERNAL_ERRORHTTP 500
Internal Server Error
Resolution: Unexpected and unhandled exception in Server. Contact support team.
Sample Response
Copied{
"layouts": [
{
"has_more_profiles": false,
"created_time": null,
"convert_mapping": {
"Contacts": {
"name": "Standard",
"id": "2276164000000095059"
},
"Deals": {
"name": "Standard",
"id": "2276164000000095023",
"fields": [
{
"api_name": "Amount",
"field_label": "Amount",
"id": "2276164000000000517",
"required": false
},
{
"api_name": "Deal_Name",
"field_label": "Potential Name",
"id": "2276164000000000519",
"required": true
},
{
"api_name": "Closing_Date",
"field_label": "Closing Date",
"id": "2276164000000000521",
"required": false
},
{
"api_name": "Stage",
"field_label": "Stage",
"id": "2276164000000000525",
"required": true
}
]
},
"Accounts": {
"name": "Standard",
"id": "2276164000000095047"
}
},
"visible": true,
"created_for": null,
"profiles": [
{
"_default_assignment_view": {
"name": "Standard",
"id": "2276164000000095055",
"type": "layout"
},
"default": true,
"name": "Administrator",
"id": "2276164000000015972",
"_default_view": {
"name": "Standard",
"id": "2276164000000095055",
"type": "layout"
}
}
],
"source": "crm",
"created_by": null,
"sections": [
{
"isSubformSection": false,
"type": "used",
"display_label": "Lead Image",
"mode": "default_create",
"sequence_number": 1,
"actions_allowed": {
"add_field": false,
"rename": false,
"change_tab_traversal": false,
"reorder": false,
"delete": false,
"remove_field": false,
"change_column_count": false
},
"tab_traversal": "left_to_right",
"api_name": "Record_Image__s",
"column_count": 1,
"name": "Record Image",
"generated_type": "default",
"id": "2276164000000266005",
"fields": [
{
"associated_module": null,
"webhook": false,
"operation_type": {
"web_update": true,
"api_create": true,
"web_create": true,
"api_update": true
},
"colour_code_enabled_by_system": false,
"field_label": "Lead Image",
"tooltip": null,
"type": "used",
"field_read_only": false,
"customizable_properties": [
"image_enable",
"add_to_other_layouts"
],
"required": false,
"subform_properties": null,
"display_label": "Record Image",
"read_only": false,
"association_details": null,
"businesscard_supported": false,
"multi_module_lookup": {},
"id": "2276164000000179001",
"created_time": null,
"filterable": false,
"visible": true,
"profiles": [
{
"permission_type": "read_write",
"name": "Administrator",
"id": "2276164000000015972"
},
{
"permission_type": "read_write",
"name": "Standard",
"id": "2276164000000015975"
}
],
"view_type": {
"view": true,
"edit": true,
"quick_create": false,
"create": true
},
"separator": false,
"searchable": false,
"external": null,
"api_name": "Record_Image",
"unique": {},
"enable_colour_code": false,
"pick_list_values": [],
"system_mandatory": false,
"virtual_field": false,
"json_type": "string",
"crypt": null,
"created_source": "default",
"display_type": -1,
"ui_type": 66,
"validation_rule": null,
"modified_time": null,
"public": false,
"section_id": 5,
"email_parser": {
"fields_update_supported": false,
"record_operations_supported": false
},
"currency": {},
"custom_field": false,
"lookup": {},
"convert_mapping": {
"Contacts": null,
"Deals": null,
"Accounts": null
},
"rollup_summary": {},
"length": 255,
"column_name": "PHOTO_FILEID",
"display_field": false,
"pick_list_values_sorted_lexically": false,
"default_value": null,
"sortable": false,
"sequence_number": 1,
"global_picklist": null,
"history_tracking": null,
"data_type": "profileimage",
"formula": {},
"additional_column": null,
"decimal_place": null,
"mass_update": false,
"multiselectlookup": {},
"auto_number": {}
}
],
"properties": null
},
.
.
.
],
"display_label": "Standard",
"show_business_card": true,
"actions_allowed": {
"edit": true,
"rename": true,
"clone": true,
"downgrade": false,
"delete": false,
"deactivate": false,
"set_layout_permissions": true
},
"modified_time": "2024-12-16T15:32:24+05:30",
"api_name": "Standard__s",
"name": "Standard",
"modified_by": {
"name": "Patricia",
"id": "2276164000000471001"
},
"generated_type": "system",
"id": "2276164000000095055",
"status": "active"
}
]
}