Skip to content

Zoho: Get layout by ID

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

← Layouts operations · Get started

Operation zoho.getlayoutbyid

Provider route: GET /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"]["getLayoutById"]>[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.getLayoutById(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.get_layout_by_id(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}$
queryModelRequired within parentExpand Get layout by ID — request body — query

Referenced models: Get layout by ID — request body — query

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

FieldTypePresenceDescription and constraints
$JSONRoot
$ (anyOf 1)JSONAlternative
$ (anyOf 1) (anyOf 1)ModelAlternativeExpand Get layouts metadata — response body — layouts — Layout Response Schema
$ (anyOf 1) (anyOf 2)ModelAlternativeExpand Get layouts metadata — response body — layouts — Layout Fields Response Schema
$ (anyOf 2)nullAlternative

Referenced models: Get layouts metadata — response body — layouts — Layout Fields Response Schema, Get layouts metadata — response body — layouts — Layout Response Schema

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

Get layouts metadata — response body — layouts — Layout Fields Response Schema
FieldTypePresenceDescription and constraints
$objectRootRepresents the response returned when the `fields` query parameter trims each layout to the requested keys. Only `id` is guaranteed - it is returned even when it is not requested - every other key appears only when it was asked for, and keys with no value for a layout are returned as null.
Additional keys: not allowed
layoutsarrayRequired within parentRepresents the array of layout objects trimmed to the keys requested through the `fields` parameter, ordered by layout name.
Maximum items: 15
layouts[]objectEach itemRepresents an individual layout carrying only the keys requested through the `fields` parameter, plus the always-present `id`.
Additional keys: not allowed
layouts[].api_namestringOptionalRepresents an API identifier string composed of alphanumeric characters and underscores, used as a programmatic reference for fields, modules, and other CRM entities.
API name of the layout.
Maximum length: 50
Minimum length: 1
Pattern: ^[A-Za-z][A-Za-z0-9_]*$
layouts[].created_byJSONOptional
layouts[].created_by (anyOf 1)ModelAlternativeExpand Get layouts metadata — response body — layouts layouts item created by id, name
User who created the layout.
layouts[].created_by (anyOf 2)nullAlternativeRepresents a null value used in `oneOf` schemas where a property may be absent or explicitly set to null.
layouts[].created_timeJSONOptional
layouts[].created_time (anyOf 1)stringAlternativeISO 8601 datetime with timezone offset indicating when the layout was created.
Format: date-time
layouts[].created_time (anyOf 2)nullAlternativeRepresents a null value used in `oneOf` schemas where a property may be absent or explicitly set to null.
layouts[].display_labelstringOptionalRepresents the display label of the layout shown in the CRM interface.
Maximum length: 100
Minimum length: 1
layouts[].generated_typestringOptionalIndicates whether the layout was generated by the system or created by a user.
Known values: system, custom
layouts[].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 layout.
Format: int64
Maximum length: 19
Minimum length: 1
Pattern: ^[0-9]{1,19}$
layouts[].modified_byJSONOptional
layouts[].modified_by (anyOf 1)ModelAlternativeExpand Get layouts metadata — response body — layouts layouts item created by id, name
User who last modified the layout.
layouts[].modified_by (anyOf 2)nullAlternativeRepresents a null value used in `oneOf` schemas where a property may be absent or explicitly set to null.
layouts[].modified_timeJSONOptional
layouts[].modified_time (anyOf 1)stringAlternativeISO 8601 datetime with timezone offset indicating when the layout was last modified.
Format: date-time
layouts[].modified_time (anyOf 2)nullAlternativeRepresents a null value used in `oneOf` schemas where a property may be absent or explicitly set to null.
layouts[].namestringOptionalRepresents the internal API name of the layout.
Maximum length: 40
Minimum length: 1
layouts[].show_business_cardbooleanOptionalIndicates whether the business card view is enabled for this layout.
layouts[].sourcestringOptionalRepresents the source from which this layout was created.
Known values: crm, platform_plugin, marketplace_plugin, campaign_integration
layouts[].statusstringOptionalRepresents the current status of the layout.
Known values: active, inactive
layouts[].visiblebooleanOptionalIndicates whether the layout is visible to users in the CRM interface.

Referenced models: Get layouts metadata — response body — layouts layouts item created by id, name

Get layout by ID — request body — query
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
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
modestringOptionalOne of: all, business_card, quick_create
includestringOptionalOne of: total_profiles, portal_user_types
include_inner_detailsstringOptionalMaximum length: 255
Pattern: ^[a-z_]+(\.[a-z_]+)?(,[a-z_]+(\.[a-z_]+)?)*$
include_element_typesstringOptionalOne of: field, mirror_field
Get layouts metadata — response body — layouts layouts item created by id, name
FieldTypePresenceDescription and constraints
$objectRootRepresents a reference to the CRM user who performed an action, such as creating or modifying a layout, identified by their unique ID and display name.
Additional keys: not allowed
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}$
namestringRequired within parentRepresents the display name of the CRM user, shown in audit fields and reference contexts such as created_by and modified_by.
Maximum length: 100
Minimum length: 1
Get layouts metadata — response body — layouts layouts item sections item actions allowed
FieldTypePresenceDescription and constraints
$objectRootRepresents the set of Boolean permission flags indicating which modification operations are permitted on a layout section, such as adding fields, renaming, reordering, and deleting.
Additional keys: not allowed
add_fieldbooleanRequired within parentIndicates whether new fields may be introduced into the layout section. Possible values: `true` — adding fields to the section is permitted; `false` — adding fields to the section is not permitted.
change_column_countbooleanRequired within parentIndicates whether the number of columns displayed within the layout section may be modified. Possible values: `true` — adjusting the column count for the section is permitted; `false` — adjusting the column count for the section is not permitted.
change_tab_traversalbooleanRequired within parentIndicates whether the keyboard tab traversal order of fields within the layout section may be modified. Possible values: `true` — changing the tab traversal order is permitted; `false` — changing the tab traversal order is not permitted.
deletebooleanRequired within parentIndicates whether the layout section may be permanently removed from the layout. Possible values: `true` — deleting the section is permitted; `false` — deleting the section is not permitted.
remove_fieldbooleanRequired within parentIndicates whether existing fields may be detached from the layout section. Possible values: `true` — removing fields from the section is permitted; `false` — removing fields from the section is not permitted.
renamebooleanRequired within parentIndicates whether the display name of the layout section may be changed. Possible values: `true` — renaming the section is permitted; `false` — renaming the section is not permitted.
reorderbooleanRequired within parentIndicates whether the relative ordering of sections or fields within the layout may be changed. Possible values: `true` — reordering is permitted; `false` — reordering is not permitted.
Get layouts metadata — response body — layouts layouts item convert mapping value
FieldTypePresenceDescription and constraints
$JSONRootRepresents the convert mapping configuration that defines how record field values are transferred across modules during a record conversion operation.
$ (anyOf 1)objectAlternativeRepresents the lead conversion mapping configuration, specifying how fields from the Leads module are mapped to corresponding fields in the Contacts, Deals, and Accounts modules.
Additional keys: not allowed
$ (anyOf 1).AccountsModelRequired within parentExpand Get layouts metadata — response body — layouts layouts item convert mapping value Invoices Invoices
$ (anyOf 1).ContactsModelRequired within parentExpand Get layouts metadata — response body — layouts layouts item convert mapping value Invoices Invoices
$ (anyOf 1).DealsModelRequired within parentExpand Get layouts metadata — response body — layouts layouts item convert mapping value Accounts, Contacts, Deals Deals
$ (anyOf 2)objectAlternativeRepresents the Quotes module conversion mapping configuration, specifying how fields from a Quote are mapped to corresponding fields in the Invoices and Sales_Orders modules.
Additional keys: not allowed
$ (anyOf 2).InvoicesModelRequired within parentExpand Get layouts metadata — response body — layouts layouts item convert mapping value Invoices Invoices
$ (anyOf 2).SalesOrdersModelRequired within parentExpand Get layouts metadata — response body — layouts layouts item convert mapping value Invoices Invoices
$ (anyOf 3)objectAlternativeRepresents the Sales Order conversion mapping configuration, specifying how fields from a Sales Order are mapped to corresponding fields in the Invoices module.
Additional keys: not allowed
$ (anyOf 3).InvoicesModelRequired within parentExpand Get layouts metadata — response body — layouts layouts item convert mapping value Invoices Invoices
$ (anyOf 4)objectAlternativeRepresents a null or empty convert mapping object indicating that no field conversion mapping is configured for this field.
Maximum fields: 0
Additional keys: not allowed

Referenced models: Get layouts metadata — response body — layouts layouts item convert mapping value Invoices Invoices, Get layouts metadata — response body — layouts layouts item convert mapping value Accounts, Contacts, Deals Deals

SDK function policy ID: zoho.getlayoutbyid. Catalog operation: getLayoutById. 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.

No-content response statuses: [204]

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.