Skip to content

Zoho: Update a custom layout

Zoho layouts.updateLayout: arguments, response, policy and SDK examples.

← Layouts operations · Get started

Operation zoho.updatelayout

Provider route: PATCH /crm/v8/settings/layouts/{id}. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/zoho with npm, or alter-sdk-zoho with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { ZohoIntegration } from "@alter-ai/zoho";
async function execute(input: Parameters<ZohoIntegration["layouts"]["updateLayout"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new ZohoIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.layouts.updateLayout(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_zoho import ZohoIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = ZohoIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.layouts.update_layout(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.idstringRequired within parentRepresents a unique numeric identifier for a CRM entity, expressed as a 64-bit integer serialized as a string to preserve precision in JSON.
Format: int64
Maximum length: 19
Minimum length: 1
Pattern: ^[0-9]{1,19}$
queryobjectRequired within parentAdditional keys: not allowed
query.modulestringRequired within parentUnique API identifier for the module used in third-party integrations; starts with a letter, contains only alphanumeric characters and underscores, and has no consecutive or trailing underscores.
Maximum length: 50
bodyModelRequired within parentExpand Update a custom layout — request body — body

Referenced models: Update a custom layout — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Update a custom layout — response body

Referenced models: Update a custom layout — response body

2 more schemas are linked from the tables above, on the schema pages.

Update a custom layout — response body
FieldTypePresenceDescription and constraints
$objectRootRepresents the successful response returned when a layout update operation completes, containing the per-layout update results.
Additional keys: not allowed
layoutsarrayRequired within parentContains the array of result entries for the layout update operation, each reporting the outcome for an individual layout.
Maximum items: 1
Minimum items: 1
layouts[]ModelEach itemExpand Update a custom layout — response body — layouts item

Referenced models: Update a custom layout — response body — layouts item

Update a custom layout — request body — body
FieldTypePresenceDescription and constraints
$objectRootRepresents the request body for updating a layout, containing exactly one layout object with the configuration changes to apply.
Additional keys: not allowed
layoutsarrayRequired within parentContains exactly one layout object defining the update operations to be applied, including sections, profiles, and display settings.
Maximum items: 1
Minimum items: 1
layouts[]ModelEach itemExpand Update a custom layout — request body — body layouts item

Referenced models: Update a custom layout — request body — body layouts item

Update a custom layout — response body — layouts item
FieldTypePresenceDescription and constraints
$objectRootRepresents the success result returned when a layout update operation completes without error, containing a confirmation code, message, and the identifying details of the updated layout.
Additional keys: not allowed
codestringRequired within parentRepresents the success code returned when the layout update operation completes without error.
Known values: SUCCESS
detailsobjectRequired within parentContains the identifying details of the layout that was successfully updated, such as its ID.
Additional keys: not allowed
details.idstringRequired within parentRepresents a unique numeric identifier for a CRM entity, expressed as a 64-bit integer serialized as a string to preserve precision in JSON.
Unique identifier of the updated layout.
Format: int64
Maximum length: 19
Minimum length: 1
Pattern: ^[0-9]{1,19}$
messagestringRequired within parentContains a confirmation message indicating that the layout update operation completed successfully.
Maximum length: 255
statusstringRequired within parentIndicates the outcome of the layout update operation. Possible values: `success` — the layout update completes successfully.
Known values: success
Update a custom layout — request body — body layouts item
FieldTypePresenceDescription and constraints
$objectRootRepresents the layout configuration object supplied in an update request, containing at least one of the updatable attributes: name, sections, profiles, or business card display setting.
Minimum fields: 1
Additional keys: not allowed
namestringOptionalRepresents the new display name for the layout. Must be unique within the module's layout configurations.
Maximum length: 255
Minimum length: 1
profilesarrayOptionalContains the array of profile objects to be added to or removed from the layout's profile associations in this update operation.
Maximum items: 50
Minimum items: 1
profiles[]ModelEach itemExpand Update a custom layout — request body — body layouts item profiles item
sectionsarrayOptionalContains the array of section objects to be created, modified, or deleted as part of this layout update, defining the field and configuration changes within each section.
Maximum items: 5
Minimum items: 1
sections[]ModelEach itemExpand Update a custom layout — request body — body layouts item sections item
show_business_cardbooleanOptionalSpecifies whether the business card view is enabled or disabled for this layout as part of the update.

Referenced models: Update a custom layout — request body — body layouts item profiles item, Update a custom layout — request body — body layouts item sections item

Update a custom layout — request body — body layouts item profiles item
FieldTypePresenceDescription and constraints
$objectRootRepresents a profile operation object used in layout update requests to add a profile to or remove a profile from the layout's permission associations.
Additional keys: not allowed
_deletebooleanOptionalIndicates whether this profile's association with the layout should be removed. Possible values: `true` — the profile is disassociated from the layout; `false` — the profile association is retained or added.
idstringRequired within parentRepresents a unique numeric identifier for a CRM entity, expressed as a 64-bit integer serialized as a string to preserve precision in JSON.
Unique identifier of the profile.
Format: int64
Maximum length: 19
Minimum length: 1
Pattern: ^[0-9]{1,19}$
Update a custom layout — request body — body layouts item sections item
FieldTypePresenceDescription and constraints
$objectRootRepresents a section operation object used in layout update requests to create, modify, or delete a section within the layout, including its label, field assignments, column count, and sequence.
Minimum fields: 1
Additional keys: allowed
_deleteModelOptionalExpand Update a custom layout — request body — body layouts item sections item delete
Delete configuration for removing the section. When provided, the section identified by id will be deleted.
column_countintegerOptionalIndicates the number of columns in which fields are arranged within this section when the layout is rendered on record forms.
Format: int32
Maximum: 2
Minimum: 1
display_labelstringOptionalRepresents the heading label of the section as displayed in the CRM interface. Required when creating a new section.
Maximum length: 255
Minimum length: 1
fieldsarrayOptionalContains the array of field operations to perform within this section, including adding, updating, creating, or removing field entries.
Maximum items: 25
Minimum items: 1
fields[]ModelEach itemExpand Update a custom layout — request body — body layouts item sections item fields item
idstringOptionalRepresents a unique numeric identifier for a CRM entity, expressed as a 64-bit integer serialized as a string to preserve precision in JSON.
Unique identifier of the section. Required for updating or deleting existing sections. Omit when creating a new section.
Format: int64
Maximum length: 19
Minimum length: 1
Pattern: ^[0-9]{1,19}$
namestringOptionalRepresents the internal API name of the section. Required when creating a new section through a layout update.
Maximum length: 255
Minimum length: 1
sequence_numberintegerOptionalIndicates the one-based ordinal position of the section within the layout, controlling the order in which sections are rendered.
Format: int32
Maximum: 100
Minimum: 1
tab_traversalstringOptionalSpecifies the tab key navigation direction within the section. Defines how focus moves between fields when users press Tab. Possible values: `left_to_right` — focus moves horizontally across columns first. `top_to_bottom` — focus moves vertically down each column first.
One of: left_to_right, top_to_bottom

Referenced models: Update a custom layout — request body — body layouts item sections item delete, Update a custom layout — request body — body layouts item sections item fields item

Update a custom layout — request body — body layouts item sections item delete
FieldTypePresenceDescription and constraints
$objectRootRepresents the configuration object used to specify the deletion mode when removing a layout or resource, indicating whether the deletion is permanent or a soft delete to the recycle bin.
Additional keys: not allowed
permanentbooleanRequired within parentIndicates whether the resource is removed irrecoverably or placed in the recycle bin for potential recovery. Possible values: `true` — the resource is permanently destroyed and cannot be restored; `false` — the resource is moved to trash and may be recovered before final purge.

SDK function policy ID: zoho.updatelayout. Catalog operation: updateLayout. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.