Zoho: Create service records in Zoho CRM
Zoho services.createServicesS: arguments, response, policy and SDK examples.
← Services operations · Get started
Operation zoho.createservicess
Provider route: POST /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"]["createServicesS"]>[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.createServicesS(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.create_services_s(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
body | Model | Optional | Expand Create service records in Zoho CRM — request body — body |
Referenced models: Create service records in Zoho CRM — 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 Create service records in Zoho CRM — response body — data |
$ (anyOf 2) | object | Alternative | Represents the multi-status response returned when some service records were created successfully and others encountered errors. Contains a data array with one entry per service record submitted in the request; each entry independently indicates success or failure for its corresponding record. Additional keys: not allowed |
$ (anyOf 2).data | array | Required within parent | Contains one entry per service record submitted in the request, indicating success or failure for the corresponding 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 object containing the created record’s ID and audit metadata, or an error object describing the validation failure for the corresponding service record. |
$ (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 Create service records in Zoho CRM — response body — data / data / item / code: MANDATORY NOT FOUND |
Referenced models: Create service records in Zoho CRM — response body — data / data / item / code: MANDATORY NOT FOUND, Create service records in Zoho CRM — response body — data, Update service records — response body — data data item code, details, message, status — Services Post207multistatus Response207
Schemas
Section titled “Schemas”2 more schemas are linked from the tables above, on the schema pages.
Create service records in Zoho CRM — response body — data / data / item / code: MANDATORY NOT FOUND
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Multi-status error item returned when a service record in a bulk operation is missing a required field. Additional keys: allowed |
code | string | Required within parent | Represents the error code returned for the failed request. Known values: MANDATORY_NOT_FOUND |
details | object | Required within parent | Represents the details providing validation context for the error. Additional keys: allowed |
details.api_name | string | Required within parent | Represents the API name of the field that triggered the error. Maximum length: 255 |
details.json_path | string | Required within parent | Represents the JSON path to the field that triggered the error in the request payload. Maximum length: 1000 |
message | string | Required within parent | Represents the error message describing that a mandatory field was not found in the multi-status request. Maximum length: 100 |
status | string | Required within parent | Represents the status of the response. Maximum length: 100 |
Create service records in Zoho CRM — response body — data
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Wrapped response for a service create request. Contains a per-record status array with the success code, persisted ID, and audit metadata for each service record processed. Additional keys: not allowed |
data | array | Optional | Represents the per-record status array, with one entry for each service record processed in the create request. 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
Create service records in Zoho CRM — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Request body schema for creating services. Contains a data array of service objects to be created and an optional skip_mandatory flag. Additional keys: not allowed |
data | array | Required within parent | Specify the array of service objects to be created. You can include up to 100 objects. Maximum items: 100 Minimum items: 1 |
data[] | Model | Each item | Expand Create service records in Zoho CRM — request body — body data item |
skip_mandatory | boolean or null | Optional | Specify whether to skip mandatory-field validation when creating service records. |
Referenced models: Create service records in Zoho CRM — 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
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 |
Create service records in Zoho CRM — request body — body data item Available Timings item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a single availability time window for the service, defined by a start time (From) and an end time (To). Additional keys: not allowed |
From | string or null | Optional | Specify the start of the availability time window in HH:MM (24-hour) format. Maximum length: 5 |
To | string or null | Optional | Specify the end of the availability time window in HH:MM (24-hour) format. Maximum length: 5 |
Create service records in Zoho CRM — request body — body data item Layout
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the layout used to render the service record. Refer to the [Get layouts](layouts.yaml#$.paths./settings/layouts.get) resource for valid values. Additional keys: not allowed |
id | string or null | Optional | Specify the unique ID of the layout to use for the service record. Refer to the [Get layouts](layouts.yaml#$.paths./settings/layouts.get) resource for valid values. Maximum length: 18 |
Create service records in Zoho CRM — request body — body data item Members item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a member who delivers the service. Identifies the user by name and ID. Refer to the [Get users](users.yaml#$.paths./users.get) resource for valid values. Additional keys: not allowed |
Members | Model | Optional | Expand Create service records in Zoho CRM — request body — body data item Members item contains member details |
id | string or null | Optional | Specify the unique ID of the user who delivers the service. Refer to the [Get users](users.yaml#$.paths./users.get) resource for valid values. Maximum length: 18 |
name | string or null | Optional | Specify the display name of the user who delivers the service. Maximum length: 120 |
Referenced models: Create service records in Zoho CRM — request body — body data item Members item
Create service records in Zoho CRM — request body — body data item Tax item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents a tax entry applied to the service cost, identified by its tax ID and value label. Additional keys: not allowed |
id | null | Optional | Specify the unique ID of the tax applied to the service cost. |
value | string or null | Optional | Specify the display label of the tax applied to the service cost. Maximum length: 100 |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: zoho.createservicess. Catalog operation: createServicesS. 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.