Zoho: Update custom fields
Zoho fields.updateField: arguments, response, policy and SDK examples.
← Fields operations · Get started
Operation zoho.updatefield
Provider route: PATCH /crm/v8/settings/fields. 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["fields"]["updateField"]>[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.fields.updateField(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.fields.update_field(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
query | object | Required within parent | Additional keys: not allowed |
query.module | string | Required within parent | The API name of the module to which the field belongs. Maximum length: 30 |
body | Model | Required within parent | Expand Update custom fields — request body — body |
Referenced models: Update custom fields — 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 |
|---|---|---|---|
$ | JSON | Root | |
$ (anyOf 1) | Model | Alternative | Expand Update custom fields — response body — fields |
$ (anyOf 2) | object | Alternative | Represents the multi-status response for a bulk field update request, containing a mix of success and error results. Additional keys: not allowed |
$ (anyOf 2).fields | array | Required within parent | Represents the list of per-field results for the bulk update operation, where each item indicates either a successful update or a validation error. Maximum items: 25 Minimum items: 2 |
$ (anyOf 2).fields[] | JSON | Each item | |
$ (anyOf 2).fields[] (anyOf 1) | Model | Alternative | Expand Delete a custom field — response body — fields item |
$ (anyOf 2).fields[] (anyOf 2) | Model | Alternative | Expand Update custom fields — response body — fields fields item Represents the error response structure |
Referenced models: Update custom fields — response body — fields, Delete a custom field — response body — fields item, Update custom fields — response body — fields fields item Represents the error response structure
Schemas
Section titled “Schemas”12 more schemas are linked from the tables above, on the schema pages.
Update custom fields — response body — fields
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the response body returned when one or more custom fields are created. Additional keys: not allowed |
fields | array | Required within parent | Represents the list of creation results, one per field submitted in the request. Maximum items: 5 |
fields[] | Model | Each item | Expand Delete a custom field — response body — fields item |
Referenced models: Delete a custom field — response body — fields item
Delete a custom field — response body — fields item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the result of a single field creation. Additional keys: not allowed |
code | string | Required within parent | Represents the result code. Known values: SUCCESS |
details | object | Required within parent | Represents the details of the created field. Additional keys: not allowed |
details.id | string | Required within parent | Represents the ID of the created field. Maximum length: 25 |
message | string | Required within parent | Represents the result message. Maximum length: 225 |
status | string | Required within parent | Represents the status of the operation. Known values: success |
Update custom fields — response body — fields / fields / item / Represents the error response structure / code: DEPENDENT MISMATCH, status: error, success details Represents the dependent mismatch details — shared_details_02ed58aa78cb
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the dependent mismatch details. Additional keys: not allowed |
api_name | string | Required within parent | Represents the API name of the global picklist. Maximum length: 25 |
dependee | object | Required within parent | Represents the dependice Details . Additional keys: not allowed |
dependee.api_name | string | Required within parent | Represents the API name of the global picklist. Maximum length: 25 |
dependee.json_path | string | Required within parent | Represents the JSON path to the field with the error. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
json_path | string | Required within parent | Represents the JSON path to the field with the error. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
supported_values | array | Required within parent | Represents the list of supported values that can be provided for the field. Maximum items: 25 Minimum items: 1 |
supported_values[] | string | Each item | Represents the supported value. Maximum length: 255 |
Update custom fields — response body — fields / fields / item / Represents the error response structure / code: EXPECTED FIELD MISSING, status: error, success details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the details of the expected fields that are missing. Additional keys: not allowed |
api_name | string | Optional | Represents the API name of the expected field. Maximum length: 25 |
expected_fields | array | Optional | Represents the list of expected fields that are missing. Maximum items: 25 Minimum items: 1 |
expected_fields[] | object | Each item | Represents the field due to which dependent fields are expected. Additional keys: not allowed |
expected_fields[].api_name | string | Optional | Represents the API name of the expected field. Maximum length: 25 |
expected_fields[].json_path | string | Optional | Represents the JSON path of the expected field. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
json_path | string | Optional | Represents the JSON path of the expected field. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
Update custom fields — response body — fields / fields / item / Represents the error response structure / code: DYNAMIC EXPRESSION LENGTH EXCEEDED, status: error details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the length Exceeded details. Additional keys: not allowed |
api_name | string | Required within parent | Represents the API name of the global picklist. Maximum length: 25 |
dependee | object | Required within parent | Represents the maximum length allowed. Additional keys: not allowed |
dependee.api_name | string | Optional | Represents the API name of the global picklist. Maximum length: 25 |
dependee.json_path | string | Optional | Represents the JSON path to the field with the error. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
json_path | string | Required within parent | Represents the JSON path to the field with the error. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
Update custom fields — response body — fields / fields / item / Represents the error response structure / code: INVALID DATA, status: error details api name, json path, supported values
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Indicates whether the given data is invalid for a list of values. Additional keys: not allowed |
api_name | string | Required within parent | Represents the API name of the global picklist. Maximum length: 25 |
json_path | string | Required within parent | Represents the JSON path to the field with the error. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
supported_values | array | Required within parent | Represents the list of supported values accepted for the JSON key identified by **api_name** and **json_path**. Maximum items: 25 Minimum items: 1 |
supported_values[] | JSON | Each item | |
supported_values[] (anyOf 1) | string | Alternative | Represents the string values that can be present. Maximum length: 255 |
supported_values[] (anyOf 2) | boolean | Alternative | Represents a Boolean value that can be present in the supported values list. |
Update custom fields — response body — fields / fields / item / Represents the error response structure / code: INVALID DATA, status: error details allowed values, api name, json path
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Indicates whether the given data is invalid for a list of values. Additional keys: not allowed |
allowed_values | array | Required within parent | Represents the list of allowed values accepted for the JSON key identified by **api_name** and **json_path**. Maximum items: 25 Minimum items: 1 |
allowed_values[] | string | Each item | Represents the values can be present. Maximum length: 255 |
api_name | string | Required within parent | Represents the API name of the global picklist. Maximum length: 25 |
json_path | string | Required within parent | Represents the JSON path to the field with the error. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
Update custom fields — response body — fields / fields / item / Represents the error response structure / code: PARTICIPATING FIELD NOT FOUND, status error details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the details of the validation errors. Additional keys: not allowed |
api_name | string | Required within parent | Represents the API name of the field with incorrect data type. Maximum length: 25 |
id | string | Required within parent | Represents the ID of the field with incorrect data type. Maximum length: 25 |
json_path | string | Required within parent | Represents the JSON path of the field with incorrect data type. Maximum length: 500 |
Update custom fields — response body — fields / fields / item / Represents the error response structure / code: INVALID DATA, status: error details Represents the error Response for invalid data
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the error Response for invalid data. Additional keys: not allowed |
api_name | string | Required within parent | Represents the API name of the field that triggered the error, used to identify the specific field within the Zoho CRM module. Maximum length: 25 |
json_path | string | Required within parent | Represents the JSON path to the field with the error. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
Update custom fields — response body — fields / fields / item / Represents the error response structure / code: DEPENDENT FIELD MISSING, status: error, success details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the missing dependent field details. Additional keys: not allowed |
api_name | string | Optional | Represents the API name of the global picklist. Maximum length: 25 |
dependee | object | Optional | Represents the field due to which dependent fields are expected. Additional keys: not allowed |
dependee.api_name | string | Optional | Represents the API name of the global picklist. Maximum length: 30 |
dependee.json_path | string | Optional | Represents the JSON path to the field with the error. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
json_path | string | Optional | Represents the JSON path to the field with the error. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
Update custom fields — response body — fields / fields / item / Represents the error response structure / code: INVALID DATA, status: error details Represents the request has invalid datatype
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the request has invalid datatype Additional keys: not allowed |
api_name | string | Required within parent | Represents the API name of the global picklist. Maximum length: 30 |
expected_data_type | string | Required within parent | Represents the name of the expected_data_type. Maximum length: 25 |
json_path | string | Required within parent | Represents the JSON path to the field with the error. Maximum length: 500 Pattern: ^\$(\.[a-zA-Z_][a-zA-Z0-9_]*|\[[0-9]+\])+$ |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: zoho.updatefield. Catalog operation: updateField. 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.