> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoho CRM: README

> Update a Layout. Zoho CRM Layouts Update Layout reference includes SDK V2 and CLI requests, input constraints, response fields, and Deepline cost.

Update a Layout.

<Info>
  Tool ID: `zoho_crm_layouts_update_layout`
</Info>

## Run this action

This action has conditional or dynamic input fields that cannot be represented by a reliable static example.

Inspect the live contract before executing it:

```bash theme={null}
deepline tools get zoho_crm_layouts_update_layout --json
```

## Example response

The static output schema is not detailed enough to generate a reliable example. Use `deepline tools get zoho_crm_layouts_update_layout --json` for the complete live contract.

## Input reference

Request body for updating a layout. Only a single layout can be updated per request.

| Name              | Type     | Required | Default | Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| ----------------- | -------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.id`      | `string` | Yes      | —       | Unique identifier of the layout. Must be a valid 64-bit integer represented as a string. Can be obtained from the Get Layouts API. Format: `int64`. Minimum length: 1. Maximum length: 19. Pattern: `^[0-9]&#123;1,19&#125;$`.                                                                                                                                                                                                                                                                                                                                         |
| `payload.module`  | `string` | Yes      | —       | Specify the API name of the required module. Supports both standard modules (Leads, Accounts, Contacts, Deals, Campaigns, Tasks, Cases, Events, Calls, Solutions, Products, Vendors, Price\_Books, Quotes, Sales\_Orders, Purchase\_Orders, Invoices, Appointments, Services) and custom modules. Module API names are case-insensitive, can contain alphanumeric characters and underscores, must not contain spaces, and have a maximum length of 50 characters. Use the GET - Modules Metadata API to retrieve all See the live schema for the complete constraint. |
| `payload.layouts` | `array`  | Yes      | —       | Array containing exactly one layout object with update properties. Only single layout updates are supported per request. Minimum items: 1. Maximum items: 1.                                                                                                                                                                                                                                                                                                                                                                                                           |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Request body for updating a layout. Only a single layout can be updated per request.",
    "properties": {
      "id": {
        "type": "string",
        "description": "Unique identifier of the layout. Must be a valid 64-bit integer represented as a string. Can be obtained from the Get Layouts API.",
        "minLength": 1,
        "maxLength": 19,
        "pattern": "^[0-9]{1,19}$",
        "format": "int64"
      },
      "module": {
        "type": "string",
        "description": "Specify the API name of the required module. Supports both standard modules (Leads, Accounts, Contacts, Deals, Campaigns, Tasks, Cases, Events, Calls, Solutions, Products, Vendors, Price_Books, Quotes, Sales_Orders, Purchase_Orders, Invoices, Appointments, Services) and custom modules. Module API names are case-insensitive, can contain alphanumeric characters and underscores, must not contain spaces, and have a maximum length of 50 characters. Use the GET - Modules Metadata API to retrieve all available module API names.",
        "minLength": 1,
        "maxLength": 50,
        "pattern": "^[A-Za-z0-9_]+$"
      },
      "layouts": {
        "type": "array",
        "description": "Array containing exactly one layout object with update properties. Only single layout updates are supported per request.",
        "minItems": 1,
        "maxItems": 1,
        "items": {
          "type": "object",
          "description": "Layout object containing the fields to update. At least one property must be provided. Maximum 5 sections and 5 fields (total across all sections) can be modified per request.",
          "minProperties": 1,
          "properties": {
            "name": {
              "type": "string",
              "description": "New name for the layout. Must be unique within the module.",
              "minLength": 1,
              "maxLength": 255
            },
            "show_business_card": {
              "type": "boolean",
              "description": "Enable or disable the business card display for this layout."
            },
            "profiles": {
              "type": "array",
              "description": "Array of profile objects to add or remove from the layout.",
              "minItems": 1,
              "maxItems": 50,
              "items": {
                "type": "object",
                "description": "Profile object for adding or removing profile permissions.",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Unique identifier (64-bit integer represented as string)",
                    "minLength": 1,
                    "maxLength": 19,
                    "pattern": "^[0-9]{1,19}$",
                    "format": "int64"
                  },
                  "_delete": {
                    "type": "boolean",
                    "description": "Set to true to remove this profile's access to the layout."
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              }
            },
            "sections": {
              "type": "array",
              "description": "Array of section objects to create, update, or delete. Maximum 5 sections allowed per request. Total fields across all sections must not exceed 5.",
              "minItems": 1,
              "maxItems": 5,
              "items": {
                "type": "object",
                "description": "Section object for creating, updating, or deleting sections. For creating a new section, provide name, display_label, sequence_number, tab_traversal, and column_count. For updating an existing section, provide id along with properties to update. For deleting a section, provide id and _delete object.",
                "minProperties": 1,
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "Unique identifier (64-bit integer represented as string)",
                    "minLength": 1,
                    "maxLength": 19,
                    "pattern": "^[0-9]{1,19}$",
                    "format": "int64"
                  },
                  "name": {
                    "type": "string",
                    "description": "Internal API name of the section. Required when creating a new section. Should be unique within the layout.",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "display_label": {
                    "type": "string",
                    "description": "Display label shown in the UI for the section. Required when creating a new section.",
                    "minLength": 1,
                    "maxLength": 255
                  },
                  "sequence_number": {
                    "type": "integer",
                    "description": "Position/order of the section in the layout (1-based). Required when creating a new section. Lower numbers appear first.",
                    "minimum": 1,
                    "maximum": 100,
                    "format": "int32"
                  },
                  "tab_traversal": {
                    "type": "string",
                    "description": "Tab traversal mode for the section. Defines how tab key navigation works within the section. 1 = column-wise, 2 = row-wise.",
                    "enum": [
                      "left_to_right",
                      "top_to_bottom"
                    ]
                  },
                  "column_count": {
                    "type": "integer",
                    "description": "Number of columns in the section layout.",
                    "minimum": 1,
                    "maximum": 2,
                    "format": "int32"
                  },
                  "fields": {
                    "type": "array",
                    "description": "Array of field objects to add, update, create, or remove from this section. Note: Total fields across all sections in the request must not exceed 5.",
                    "minItems": 1,
                    "maxItems": 5,
                    "items": {
                      "type": "object",
                      "description": "Field object for adding, updating, creating, or removing fields from a section. For adding an existing field, provide only id. For updating field position, provide id and sequence_number. For creating a new field, provide field_label, data_type, and optionally length and sequence_number. For removing/moving a field, provide id and _delete object.",
                      "minProperties": 1,
                      "properties": {
                        "id": {
                          "type": "string",
                          "description": "Unique identifier (64-bit integer represented as string)",
                          "minLength": 1,
                          "maxLength": 19,
                          "pattern": "^[0-9]{1,19}$",
                          "format": "int64"
                        },
                        "field_label": {
                          "type": "string",
                          "description": "Display label for the field. Required when creating a new custom field.",
                          "minLength": 1,
                          "maxLength": 255
                        },
                        "data_type": {
                          "type": "string",
                          "description": "Data type of the field. Required when creating a new custom field. Determines the field's input type and validation.",
                          "enum": [
                            "text",
                            "textarea",
                            "email",
                            "phone",
                            "website",
                            "integer",
                            "bigint",
                            "currency",
                            "double",
                            "percent",
                            "date",
                            "datetime",
                            "boolean",
                            "picklist",
                            "multiselectpicklist",
                            "lookup",
                            "multiselectlookup",
                            "autonumber",
                            "fileupload",
                            "imageupload",
                            "formula",
                            "rollup_summary",
                            "consent_lookup",
                            "profileimage",
                            "richtextarea",
                            "userlookup",
                            "multiuserlookup",
                            "event_reminder"
                          ]
                        },
                        "length": {
                          "type": "integer",
                          "description": "Maximum length of the field value in characters. Applicable for text-type fields (text, textarea, richtextarea).",
                          "minimum": 1,
                          "maximum": 32000,
                          "format": "int32"
                        },
                        "sequence_number": {
                          "type": "integer",
                          "description": "Position/order of the field within the section (1-based). Lower numbers appear first.",
                          "minimum": 1,
                          "format": "int32"
                        },
                        "_delete": {
                          "type": "object",
                          "description": "Delete configuration object.",
                          "properties": {
                            "permanent": {
                              "type": "boolean",
                              "description": "If true, permanently deletes the resource. If false, moves it to unused section (for fields)."
                            }
                          },
                          "required": [
                            "permanent"
                          ],
                          "additionalProperties": false
                        }
                      },
                      "additionalProperties": false
                    }
                  },
                  "_delete": {
                    "type": "object",
                    "description": "Delete configuration object.",
                    "properties": {
                      "permanent": {
                        "type": "boolean",
                        "description": "If true, permanently deletes the resource. If false, moves it to unused section (for fields)."
                      }
                    },
                    "required": [
                      "permanent"
                    ],
                    "additionalProperties": false
                  }
                },
                "additionalProperties": true
              }
            }
          },
          "additionalProperties": false
        }
      }
    },
    "required": [
      "id",
      "module",
      "layouts"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name                               | Type        | Required | Default | Details                                                                                                                                              |
| ---------------------------------- | ----------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| `result.data`                      | `object`    | Yes      | —       | Successful response for layout update operation.                                                                                                     |
| `result.data.layouts`              | `array`     | Yes      | —       | Array containing the result of the layout update operation. Minimum items: 1. Maximum items: 1.                                                      |
| `result.data.layouts[].code`       | `"SUCCESS"` | Yes      | —       | Success code. Allowed: `SUCCESS`.                                                                                                                    |
| `result.data.layouts[].details`    | `object`    | Yes      | —       | Details about the updated layout.                                                                                                                    |
| `result.data.layouts[].details.id` | `string`    | Yes      | —       | Unique identifier (64-bit integer represented as string) Format: `int64`. Minimum length: 1. Maximum length: 19. Pattern: `^[0-9]&#123;1,19&#125;$`. |
| `result.data.layouts[].message`    | `string`    | Yes      | —       | Success message. Maximum length: 255.                                                                                                                |
| `result.data.layouts[].status`     | `"success"` | Yes      | —       | Status indicator. Allowed: `success`.                                                                                                                |
| `result.meta`                      | `object`    | No       | —       | Additional response metadata (status, paging).                                                                                                       |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Successful response for layout update operation.",
        "properties": {
          "layouts": {
            "type": "array",
            "description": "Array containing the result of the layout update operation.",
            "minItems": 1,
            "maxItems": 1,
            "items": {
              "type": "object",
              "description": "Success result for a layout update.",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Success code.",
                  "enum": [
                    "SUCCESS"
                  ]
                },
                "details": {
                  "type": "object",
                  "description": "Details about the updated layout.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique identifier (64-bit integer represented as string)",
                      "minLength": 1,
                      "maxLength": 19,
                      "pattern": "^[0-9]{1,19}$",
                      "format": "int64"
                    }
                  },
                  "required": [
                    "id"
                  ],
                  "additionalProperties": false
                },
                "message": {
                  "type": "string",
                  "description": "Success message.",
                  "maxLength": 255
                },
                "status": {
                  "type": "string",
                  "description": "Status indicator.",
                  "enum": [
                    "success"
                  ]
                }
              },
              "required": [
                "code",
                "details",
                "message",
                "status"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "layouts"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [SDK V2 quickstart](/docs/sdk-v2/quickstart)
* [SDK reference](/docs/sdk-v2/sdk-reference)
* [Run tools across a CSV](/docs/sdk-v2/batch-csv)
