Zoho: Activate Layout
Zoho layoutsActivateDeactivate.activateLayout: arguments, response, policy and SDK examples.
← Layouts activate deactivate operations · Get started
Operation zoho.activatelayout
Provider route: POST /crm/v8/settings/layouts/{id}/actions/activate. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”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["layoutsActivateDeactivate"]["activateLayout"]>[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.layoutsActivateDeactivate.activateLayout(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom 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_activate_deactivate.activate_layout(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.id | string | Required within parent | Layout identifier as a 64-bit integer Format: int64 |
query | object | Required within parent | Additional keys: not allowed |
query.module | string | Required within parent | Module API name Maximum length: 100 Minimum length: 1 Pattern: ^[A-Z][A-Za-z0-9_]*$ |
body | Model | Required within parent | Expand Activate Layout — request body — body |
Referenced models: Activate Layout — request body — body
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the success response returned when a layout is successfully activated. Additional keys: not allowed |
layouts | array | Required within parent | Array containing the result of the layout activation operation. Always returned in the response. Maximum items: 1 Minimum items: 1 |
layouts[] | object | Each item | Represents the result details for the activated layout. Additional keys: not allowed |
layouts[].code | string | Required within parent | Represents the operation result code. Possible values: SUCCESS - Indicates the layout was activated successfully. Always returned in the response. Known values: SUCCESS |
layouts[].details | object | Required within parent | Contains the details of the activated layout. Always returned in the response. Additional keys: not allowed |
layouts[].details.id | string | Required within parent | Represents the unique identifier of the activated layout. Always returned in the response. Maximum length: 20 Minimum length: 1 Pattern: ^[0-9]+$ |
layouts[].message | string | Required within parent | Represents the confirmation message for the activation operation. Always returned in the response. Maximum length: 200 |
layouts[].status | string | Required within parent | Represents the overall operation status. Possible values: success - Indicates the activation completed without errors. Always returned in the response. Known values: success |
Schemas
Section titled “Schemas”Activate Layout — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the request payload for activating a layout, including the layout identifier and optional profile associations. Additional keys: not allowed |
layouts | array | Required within parent | Specify the array containing exactly one layout object to activate. The layout includes its unique identifier and optionally the profiles to associate or disassociate. Profile associations can be added (default) or removed (using _delete flag). The array must contain exactly one item. Maximum items: 1 Minimum items: 1 |
layouts[] | object | Each item | Specify the layout configuration, including its unique identifier and the profile associations to add or remove during activation. Additional keys: not allowed |
layouts[].id | string | Required within parent | Specify the unique identifier of the deactivated layout to activate. Must reference an existing deactivated layout within the specified module. The ID is represented as a string containing a 64-bit integer value. Layout IDs are data center-specific. The status key in the response from the [Get Layouts Metadata API](layouts.yaml#$.paths./settings/layouts.get) indicates whether the layout is **active** or **inactive**. Format: int64 Maximum length: 20 Minimum length: 1 Pattern: ^[0-9]+$ |
layouts[].profiles | array | Optional | Specify the profile associations to add to or remove from the layout during activation. Omitting this field or providing an empty array preserves existing profile associations. Refer to the [Get Profiles](profiles.yaml#$.paths./settings/profiles.get) resource for valid values. Use the _delete flag to remove existing associations. Empty array or omitting this field entirely preserves existing profile associations. At least one profile must remain associated with the layout after all operations are applied. While duplicate profile IDs are technically allowed, they cause unnecessary processing and should be avoided. Maximum items: 100 |
layouts[].profiles[] | object | Each item | Specify a profile to associate with or disassociate from the layout. Additional keys: not allowed |
layouts[].profiles[]._delete | boolean | Optional | Specify whether to remove this profile's association from the layout. Possible values: **true** - Removes the profile association from the layout. **false** - Adds or retains the profile association on the layout. Default: false |
layouts[].profiles[].id | string | Required within parent | Specify the unique identifier of the profile to associate with or disassociate from the layout. Must be a profile that exists in the CRM organization and is associated with the specified module. The ID is represented as a string containing a 64-bit integer value. Refer to the [Get Profiles](profiles.yaml#$.paths./settings/profiles.get) resource for valid values. Format: int64 Maximum length: 20 Minimum length: 1 Pattern: ^[0-9]+$ |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: zoho.activatelayout. Catalog operation: activateLayout. 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.