Zoho: Update service records
Zoho services.updateServicesS: arguments, response, policy and SDK examples.
← Services operations · Get started
Operation zoho.updateservicess
Provider route: PUT /crm/v8/Services__s. 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["services"]["updateServicesS"]>[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.services.updateServicesS(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.services.update_services_s(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
query | object | Optional | Additional keys: not allowed |
query.affected_data | boolean | Optional | One of: true |
body | Model | Optional | Expand Update service records — request body — body |
Referenced models: Update service records — 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 service records — response body — data |
$ (anyOf 2) | object | Alternative | Wrapped multi-status response. Contains a data array with one entry for each service record in the request, where each entry independently indicates success or failure. Additional keys: not allowed |
$ (anyOf 2).data | array | Required within parent | Represents the per-record status array in the multi-status response. Contains one entry for each service record in the request, where each entry independently indicates success or failure for that record. Maximum items: 100 Minimum items: 1 |
$ (anyOf 2).data[] | JSON | Each item | Represents one entry in the multi-status data array. Each item is either a success entry carrying the result code, message, status, and details for the corresponding service record, or an error entry containing the error code, message, status, and a details block identifying the offending field. |
$ (anyOf 2).data[] (anyOf 1) | Model | Alternative | Expand Update service records — response body — data data item code, details, message, status — Services Post207multistatus Response207 |
$ (anyOf 2).data[] (anyOf 2) | Model | Alternative | Expand Update service records — response body — data data item code, details, message, status — Data Error |
Referenced models: Update service records — response body — data data item code, details, message, status — Data Error, Update service records — response body — data, Update service records — response body — data data item code, details, message, status — Services Post207multistatus Response207
Schemas
Section titled “Schemas”4 more schemas are linked from the tables above, on the schema pages.
Update service records — response body — data data item code, details, message, status — Data Error
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Standard error response object returned when a request fails. Contains the error code, the message, the status, and a details block identifying the offending field. Additional keys: allowed |
code | string | Required within parent | Represents the error code returned when a data validation error occurs. Maximum length: 255 |
details | object | Required within parent | Represents the details providing validation context for the error. Additional keys: not allowed |
details.api_name | string | Optional | Represents the API name of the field that triggered the error. Maximum length: 255 |
details.json_path | string | Optional | Represents the JSON path to the field that triggered the error. Maximum length: 1000 |
message | string | Required within parent | Represents the error message returned when the request fails. Maximum length: 1000 |
status | string | Required within parent | Represents the status of the response, indicating that an error occurred. Maximum length: 1000 |
Update service records — response body — data
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Wrapped response for a bulk service update request. Contains a per-record status array with the success code and audit metadata for each processed service. Additional keys: not allowed |
data | array | Optional | Represents the per-record status array, with one entry for each service record processed in the bulk update. Maximum items: 100 Minimum items: 1 |
data[] | Model | Each item | Expand Delete a service record by ID — response body — data item |
Referenced models: Delete a service record by ID — response body — data item
Update service records — response body — data data item code, details, message, status — Services Post207multistatus Response207
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a success item in a multi-status response. Carries the success code, message, status, and details for the corresponding service record in the request. Additional keys: not allowed |
code | string | Optional | Represents the operation result code for the service record. Maximum length: 255 |
details | Model | Optional | Expand Delete a service record by ID — response body — data item details |
message | string | Optional | Represents the result message for the operation result. Maximum length: 255 |
status | string | Optional | Represents the status of the operation. Maximum length: 255 |
Referenced models: Delete a service record by ID — response body — data item details
Update service records — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Request body schema for updating multiple services. Contains a data array with up to 100 service objects, each identified by its ID and carrying the fields to be updated. Additional keys: not allowed |
data | array | Required within parent | Specify the array of service objects to be updated. You can include up to 100 objects. Maximum items: 100 Minimum items: 1 |
data[] | Model | Each item | Expand Update service records — request body — body data item |
Referenced models: Update service records — request body — body data item
Delete a service record by ID — response body — data item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a per-record status item in a response. Carries the operation code, message, status, and details (such as audit metadata and the affected_data block) for one service record. Additional keys: not allowed |
code | string | Optional | Represents the operation result code for the service record. Maximum length: 255 |
details | Model | Optional | Expand Delete a service record by ID — response body — data item details |
message | string | Optional | Represents the result message for the operation result. Maximum length: 255 |
status | string | Optional | Represents the status of the operation. Maximum length: 255 |
Referenced models: Delete a service record by ID — response body — data item details
Delete a service record by ID — response body — data item details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the details as a per-record status item. Carries audit metadata (Modified_Time, Modified_By, Created_Time, Created_By) and the persisted record ID. Additional keys: allowed |
Created_By | Model | Optional | Expand Delete a service record by ID — response body — data item details Created By |
Created_Time | string | Optional | Represents the timestamp when the service record was first saved to the organization. Maximum length: 255 |
Modified_By | Model | Optional | Expand Delete a service record by ID — response body — data item details Modified By |
Modified_Time | string | Optional | Represents the timestamp when the service record was last modified. Maximum length: 255 |
id | string | Optional | Represents the unique ID of the affected service record. Maximum length: 255 |
Referenced models: Delete a service record by ID — response body — data item details Created By, Delete a service record by ID — response body — data item details Modified By
Update service records — request body — body data item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | Service object schema used in update requests. Extends the base service object with update-specific overrides on the Owner field. |
$ (allOf 1) | Model | All variants apply | Expand Update service records — request body — body / data / item / Available_Till: 2026-01-13, 2026-01-29, Job Sheet Required: Yes, No, Location: Business Address, Business Address and Client Address, Client Address, Status: Available, Temporarily Unavailable, Not in Use, Scheduled |
$ (allOf 2) | object | All variants apply | Update specific overrides applied to the base service object schema. Additional keys: allowed |
$ (allOf 2).Owner | Model | Optional | Expand Update service records — request body — body data item Owner Owner |
Referenced models: Update service records — request body — body / data / item / Available_Till: 2026-01-13, 2026-01-29, Job Sheet Required: Yes, No, Location: Business Address, Business Address and Client Address, Client Address, Status: Available, Temporarily Unavailable, Not in Use, Scheduled, Update service records — request body — body data item Owner Owner
Delete a service record by ID — response body — data item details Created By
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the user who created the service record, identified by name and ID. Refer to the [Get users](users.yaml#$.paths./users.get) resource for valid values. Additional keys: not allowed |
id | string | Optional | Represents the unique ID of the user who created the service record. Refer to the [Get users](users.yaml#$.paths./users.get) endpoint for details. Maximum length: 255 |
name | string | Optional | Represents the display name of the user who created the service record. Refer to the [Get users](users.yaml#$.paths./users.get) endpoint for details. Maximum length: 255 |
Delete a service record by ID — response body — data item details Modified By
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the user who last modified the service record, identified by name and ID. Refer to the [Get users](users.yaml#$.paths./users.get) resource for valid values. Additional keys: not allowed |
id | string | Optional | Represents the unique ID of the user who modified the service record. Refer to the [Get users](users.yaml#$.paths./users.get) endpoint for details. Maximum length: 255 |
name | string | Optional | Represents the display name of the user who modified the service record. Refer to the [Get users](users.yaml#$.paths./users.get) endpoint for details. Maximum length: 255 |
Update service records — request body — body data item Owner Owner
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | JSON | Root | Service owner schema used in update requests, where the email of the owner is required. |
$ (allOf 1) | Model | All variants apply | Expand Update service records — request body — body / data / item / Available_Till: 2026-01-13, 2026-01-29, Job Sheet Required: Yes, No, Location: Business Address, Business Address and Client Address, Client Address, Status: Available, Temporarily Unavailable, Not in Use, Scheduled Owner |
$ (allOf 2) | object | All variants apply | Required fields for the Owner object when updating a service. Additional keys: allowed |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: zoho.updateservicess. Catalog operation: updateServicesS. 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.