openapi: 3.1.0 info: title: Records description: >- Records are the individual data entries within Zoho CRM modules, such as leads, contacts, deals, and other standard or custom module objects. This API enables developers to create, retrieve, update, delete, upsert, and clone records across all modules in a Zoho CRM organization. version: '8' servers: - url: https://zohoapis.{dc}/crm/{version} description: >- Production API server for Zoho CRM. Sample request URL: `https://zohoapis.{dc}/crm/{version}` variables: dc: enum: - com - eu - in - cn - au default: com description: >- The top-level domain for the regional Zoho CRM API server. Possible values: **com**, **eu**, **in**, **cn**, **au**. Default: **com**. version: default: v8 description: 'The version of the CRM API to use in the request URL. Default: **v8**.' paths: /{module}: get: operationId: getRecords description: >- Retrieves records from the specified module in your Zoho CRM organization. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. Use "sort_by" and "sort_order" to control the sorting of records. To fetch up to 2000 records, use "page" (1-10) and "per_page" (maximum 200). To fetch more than 2000 records, use the "page_token" returned in the response. Consecutive page tokens can be used to navigate through up to 100,000 records. The "$has_more" key is returned when fetching a specific record and indicates whether more records are available in subforms, multi-select lookup fields, and multi-user lookup fields. To retrieve details of a related list, use the [Get Related Records API](related_records.yaml#$.paths./{parentRecordModule}/{parentRecord}/{relatedList}.get). summary: Get records from a specified module tags: - Records parameters: - $ref: '#/components/parameters/Module' - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/TerritoryId' - $ref: '#/components/parameters/Ids' - $ref: '#/components/parameters/Cvid' - $ref: '#/components/parameters/Filters' - $ref: '#/components/parameters/CrossFilters' - $ref: '#/components/parameters/FilterId' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageToken' - $ref: '#/components/parameters/SortOrder' - $ref: '#/components/parameters/SortBy' - $ref: '#/components/parameters/Converted' - $ref: '#/components/parameters/IncludeChild' responses: '200': description: >- Returns the list of records retrieved from the specified module, including pagination metadata in the **info** object. content: application/json: schema: $ref: '#/components/schemas/RecordGETSuccessResponse' examples: Leads: summary: Successful retrieval of records from the Leads module value: data: - id: '4150868000000002175' Owner: name: Patricia Boyle id: '4150868000000225013' email: patricia.boyle@example.com Company: Zylker Corp First_Name: John Last_Name: Doe Email: john.doe@zylker.com Phone: +1-555-123-4567 Lead_Status: Not Contacted Created_Time: '2023-10-15T10:30:00+00:00' Modified_Time: '2023-10-15T14:20:00+00:00' info: call: false per_page: 5 next_page_token: c8582xx9e7c7 count: 5 sort_by: id page: 1 page_token_expiry: '2022-11-11T15:08:14+05:30' sort_order: desc email: false more_records: true previous_page_token: null description: >- Shows a successful Get Records response for the Leads module, including five records and pagination metadata in the info object. '204': description: >- Returns an empty response when the request is successful but no records match the specified criteria. '400': description: >- The request could not be processed due to invalid input or a missing required parameter. **Resolution:** The request must include all required parameters with valid values. content: application/json: schema: description: >- Represents the error response returned when a Get Records operation fails due to a validation, pagination, or processing error. The specific error variant is resolved via the discriminator on the **code** field. x-zs-$id: RecordGETErrorResponse oneOf: - $ref: '#/components/schemas/InvalidDataGETError' - $ref: '#/components/schemas/InvalidDataSortByError' - $ref: '#/components/schemas/TokenBoundDataMismatchGETError' - $ref: '#/components/schemas/InvalidModuleGETError' - $ref: '#/components/schemas/RequiredParamMissingGETError' - $ref: '#/components/schemas/LimitExceededGETError' - $ref: '#/components/schemas/ExpiredValueGETError' - $ref: '#/components/schemas/PatternNotMatchedGetError' - $ref: >- #/components/schemas/DiscretePaginationLimitExceededGETError - $ref: '#/components/schemas/AmbiguityDuringProcessingGETError' - $ref: '#/components/schemas/PaginationLimitExceededGETError' examples: InvalidData: summary: Invalid module API name in the request URL value: code: INVALID_MODULE details: resource_path_index: 0 message: the module name given seems to be invalid status: error description: >- Shows the error response when an invalid module name is provided in the request URL. InvalidCvid: summary: Invalid Custom View ID in the cvid parameter value: code: INVALID_DATA details: param_name: cvid message: invalid data status: error description: >- Shows the error response when an invalid or non-existent Custom View ID is provided in the cvid parameter. Use the [Get Custom Views Metadata API](custom_views.yaml#$.paths./settings/custom_views.get) to retrieve valid Custom View IDs. TokenBoundDataMismatch: summary: Page token mismatch due to changed request parameters value: code: TOKEN_BOUND_DATA_MISMATCH message: >- The page_token given seems to be invalid or input param is added or altered or deleted status: error details: param_name: page_token description: >- Shows the error response when the page_token value does not match the original request parameters used when the token was generated. RequiredParamMissing: summary: Required fields parameter missing from the request value: code: REQUIRED_PARAM_MISSING status: error details: param_name: fields message: required param is missing description: >- Shows the error response when the required fields parameter is missing from the request. LimitExceeded: summary: Field count exceeds the maximum allowed limit value: code: LIMIT_EXCEEDED details: limit: 50 param_name: fields message: limit exceeded status: error description: >- Shows the error response when the number of field API names in the fields parameter exceeds the allowed limit of 50. ExpiredValue: summary: Expired page_token parameter value value: status: error code: EXPIRED_VALUE message: Page token expired details: api_name: page_token json_path: $.query.page_token description: >- Shows the error response when the page_token parameter value has expired and can no longer be used for pagination. DiscretePaginationLimitExceeded: summary: Pagination limit exceeded without the page_token parameter value: code: DISCRETE_PAGINATION_LIMIT_EXCEEDED message: >- You can only get the first 2000 records without using page_token param status: error details: limit: 2000 description: >- Shows the error response when records beyond the first 2,000 are requested without including the page_token parameter. PaginationLimitExceeded: summary: Pagination limit of 100,000 records exceeded value: code: PAGINATION_LIMIT_EXCEEDED message: >- You can only get upto 100000 records using page_token param status: error details: param_name: page_token description: >- Shows the error response when the total number of records requested via page_token pagination exceeds 100,000. '401': description: >- Authentication failed because the OAuth token is missing, expired, or does not include the required scope. **Resolution:** A new access token must be generated with the required scope for this operation. content: application/json: schema: $ref: '#/components/schemas/RecordUnauthorizedResponse' examples: ScopeMismatch: summary: OAuth access token missing the required read scope value: code: OAUTH_SCOPE_MISMATCH message: Unauthorized status: error details: {} description: >- Shows the 401 error response when the OAuth access token does not include the required read scope for the requested module. '403': description: >- Permission denied to retrieve records from the specified module. **Resolution:** The CRM administrator must grant the required module access permission to the user's profile. content: application/json: schema: $ref: '#/components/schemas/RecordPermissionResponse' examples: NoPermission: summary: User profile lacks module access permission value: code: NO_PERMISSION message: Permission denied status: error details: permissions: - Crm_Implied_View_Leads description: >- Shows the 403 error response when the user's CRM profile does not include the permission required to retrieve records from the specified module. '404': description: >- The request URL does not match any valid API endpoint pattern. **Resolution:** The API endpoint URL must be verified for correct format and path parameters. content: application/json: schema: $ref: '#/components/schemas/RecordInvalidURLResponse' examples: InvalidUrlPattern: summary: Invalid or unrecognized API endpoint URL pattern value: code: INVALID_URL_PATTERN message: Please check if the URL trying to access is a correct one status: error details: {} description: >- Shows the 404 error response when the API endpoint URL does not match any recognized pattern. '500': description: >- An unexpected server error occurred while processing the request. **Resolution:** The request can be retried after some time. If the error persists, Zoho CRM support must be contacted. content: application/json: schema: $ref: '#/components/schemas/RecordInternalErrorResponse' examples: InternalError: summary: Unexpected internal server error during request processing value: code: INTERNAL_ERROR message: Internal Server Error status: error details: {} description: >- Shows the 500 error response when an unexpected server error occurs while processing the request. security: - OAuth2: - ZohoCRM.modules.READ post: operationId: createRecords summary: Create records in a specified module description: >- Creates one or more records in the specified module in your Zoho CRM organization. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module API name. Use the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to retrieve the available field API names and data types. You can create up to 100 records in a single API call. Specify the required field API names and their corresponding values in the request body. tags: - Records parameters: - $ref: '#/components/parameters/Module' requestBody: content: application/json: schema: description: The request body for Records Post $ref: '#/components/schemas/RecordsInputSchema' examples: LeadsCreateExample: summary: Create a new Lead record description: >- Example request body for creating a new Lead record with standard and custom fields. "Last_Name" is the mandatory field for creating a Lead record in the Leads module. Please note that the mandatory-field behavior is changing, you must specify at least one of "First_Name" or "Last_Name" when creating a Lead record. value: data: - Owner: name: Patricia Boyle id: '5725767000000411001' Company: ABC Corp First_Name: Patricia Last_Name: Boyle Email: boyle@abc.com Phone: 111-1234567 Fax: 555-7654321 Mobile: 555-9876543 Website: www.abc.com Lead_Source: Web Download Lead_Status: Not Contacted Industry: Technology No_of_Employees: 250 Annual_Revenue: 500000 Email_Opt_Out: false Skype_ID: patricia.boyle Street: 24 Vine Street City: Newark State: New Jersey Zip_Code: '07102' Country: USA Description: Interested in enterprise licensing Rating: Hot Secondary_Email: patricia.b@abc.com ContactsCreateExample: summary: Create a new Contact record description: >- Example request body for creating a new contact record with standard and custom fields. "Last_Name" is the mandatory field for creating a Contact record in the Contacts module. Please note that the mandatory-field behavior is changing, you must specify at least one of "First_Name" or "Last_Name" when creating a Contact record. value: data: - Owner: name: Patricia Boyle id: '5725767000000411001' First_Name: Kane Last_Name: Kingslei Full_Name: Anna Kingsley Account_Name: name: Bentley Systems id: '5725767000007910001' Email: anna.kingsley@bentley.com Title: VP of Sales Department: Sales Phone: 555-33445561 Home_Phone: 555-3344557 Other_Phone: 555-3344558 Fax: 555-3344559 Mobile: 555-3344550 Date_of_Birth: '1985-04-12' Assistant: Diane Cole Email_Opt_Out: false Skype_ID: anna.kingsley Mailing_Street: 220 Market Street Mailing_City: Philadelphia Mailing_State: Pennsylvania Mailing_Zip: '19103' Mailing_Country: USA Description: Primary decision maker AccountsCreateExample: summary: Create a new Account record description: >- Example request body for creating a new Account record with standard and custom fields. Account_Name is mandatory to create a new record in the Accounts module. value: data: - Owner: name: Patricia Boyle id: '5725767000000411001' Account_Name: Bentley Systems Phone: 555-2233445 Fax: 555-2233446 Parent_Account: name: Bentley Holdings id: '5725767000007908001' Website: www.bentleysystems.com Ticker_Symbol: BSY Account_Type: Customer Ownership: Private Industry: Engineering Employees: 1200 Annual_Revenue: 25000000 SIC_Code: '3827' Billing_Street: 1000 Commerce Drive Billing_City: Exton Billing_State: Pennsylvania Billing_Code: '19341' Billing_Country: USA Shipping_Street: 1000 Commerce Drive Shipping_City: Exton Shipping_State: Pennsylvania Shipping_Code: '19341' Shipping_Country: USA Description: Key strategic account Account_Number: '10023' Account_Site: Headquarters Tag: - name: Enterprise DealsCreateExample: summary: Create a new Deal record description: >- Example request body for creating a new Deal record with standard and custom fields. Deal_Name, Closing_Date, Pipeline, and Stage are mandatory to create a new record in the Deals module. value: data: - Owner: name: Patricia Boyle id: '5725767000000411001' Deal_Name: Bentley Systems - Annual License Renewal Amount: 85000 Closing_Date: '2026-09-30' Account_Name: name: Bentley Systems id: '5725767000007908001' Stage: Negotiation/Review Type: Existing Business Expected_Revenue: 80000 Next_Step: Send revised contract Lead_Source: Partner Referral Contact_Name: name: Anna Kingsley id: '5725767000011356002' Description: Renewal negotiation for enterprise licensing Pipeline: Standard (Standard) Tag: - name: Renewal CampaignsCreateExample: summary: Create a new Campaign record description: >- Example request body for creating a new Campaign record with standard and custom fields. 'Campaign_Name' is mandatory. value: data: - Campaign_Name: Fall Renewal Campaign Type: Webinar Status: In Progress Start_Date: '2026-09-01' End_Date: '2026-09-30' Expected_Revenue: 150000 Budgeted_Cost: 20000 Actual_Cost: 18500 Expected_Response: 25 Num_sent: 5000 Description: Renewal-focused email and webinar campaign Currency: USD Parent_Campaign: name: 2026 Annual Marketing Plan id: '5725767000004498133' Tag: - name: Q3 TasksCreateExample: summary: Create a new Task record description: >- Example request body for creating a new Task record with standard and custom fields. 'Subject' is mandatory to create a new record in the Tasks module. value: data: - Subject: Follow up on renewal contract Due_Date: '2026-08-28' Who_Id: name: Anna Kingsley id: '5725767000011356002' Status: In Progress Priority: High Description: Confirm terms before sending final contract Tag: - name: Renewal CasesCreateExample: summary: Create a new Case record description: >- Example request body for creating a new Case record with standard and custom fields. 'Status', 'Case_Origin', and 'Subject' are mandatory to create a new record in the Cases module. value: data: - Status: In Progress Product_Name: name: CRM Enterprise Suite id: '5725767000006754021' Priority: High Type: Question Case_Origin: Email Subject: Unable to export report as PDF Account_Name: name: Bentley Systems id: '5725767000011373001' Deal_Name: name: Bentley Systems - Annual License Renewal id: '5725767000011360004' Reported_By: Anna Kingsley Email: anna.kingsley@bentleysystems.com Phone: 555-3344556 Description: Customer reports PDF export fails with a timeout error Internal_Comments: Escalated to engineering team Solution: Restart the export service and retry Comments: Awaiting customer confirmation Currency: USD Case_Reason: Product Defect Tag: - name: Escalated EventsCreateExample: summary: Create a new Event record description: >- Example request body for creating a new Event record with standard and custom fields. "Event_Title", "Meeting_Venue__s", "Start_DateTime", and "End_DateTime" are mandatory to create a new record in the Events module. To retrieve the cancellation status of a Meeting using the Get Records API, specify "$event_cancelled" in the "fields" parameter. The "$event_cancelled" key in the response indicates whether the Meeting has been cancelled. value: data: - Event_Title: Renewal Contract Review Meeting_Venue__s: Client location venue: Zoho Conference Room Who_Id: name: Anna Kingsley id: '5725767000011356002' All_day: false Start_DateTime: '2026-08-25T10:00:00-05:00' End_DateTime: '2026-08-25T11:00:00-05:00' Description: Review the final renewal terms with Bentley Systems Participants: - Email: alice@mail.com name: Alice Brown type: lead participant: '5725767000005425036' Remind_At: - unit: 15 period: minutes Tag: - name: Renewal CallsCreateExample: summary: Create a new Call record description: >- Example request body for creating a new Call record with standard and custom fields. In Calls module, the call duration for an Inbound or Outbound call cannot be zero. value: data: - Subject: Discuss renewal pricing Call_Type: Outbound Call_Purpose: Prospecting Who_Id: name: Anna Kingsley id: '5725767000011356002' Call_Start_Time: '2026-01-20T10:00:00-05:00' Call_Duration: '00:20' Description: Discussed renewal pricing options and next steps Call_Result: Interested Tag: - name: Renewal SolutionsCreateExample: summary: Create a new Solution record description: >- Example request body for creating a new Solution record with standard and custom fields. 'Solution_Title' is mandatory to create a new record in the Solutions module. value: data: - Solution_Title: How to resolve PDF export timeout error Product_Name: name: CRM Enterprise Suite id: '5725767000006754021' Question: Why does the PDF export fail with a timeout error? Answer: >- Restart the export service from Setup > System Settings and retry the export. Tag: - name: Known Issue ProductsCreateExample: summary: Create a new Product record description: >- Example request body for creating a new Product record with standard and custom fields. 'Product_Name' is mandatory to create a new record in the Products module. value: data: - Owner: name: Patricia Boyle id: '5725767000000411001' Product_Name: CRM Enterprise Suite Product_Code: PRD-2001 Vendor_Name: name: Zylker Hardwares id: '5725767000001693003' Product_Active: true Manufacturer: Zylker Corp Product_Category: Software Sales_Start_Date: '2026-01-01' Sales_End_Date: '2027-12-31' Support_Start_Date: '2026-01-01' Support_Expiry_Date: '2027-12-31' Unit_Price: 999 Commission_Rate: 5 Taxable: true Usage_Unit: License Qty_Ordered: 100 Qty_in_Stock: 50 Reorder_Level: 10 Qty_in_Demand: 20 Description: Enterprise-grade CRM licensing bundle Tag: - name: Flagship VendorsCreateExample: summary: Create a new Vendor record description: >- Example request body for creating a new Vendor record with standard and custom fields. "Vendor_Name" is mandatory to create a new record in the Vendors module. value: data: - Vendor_Name: Zylker Hardwares Owner: name: Patricia Boyle id: '5725767000000411001' Phone: 555-4455667 Email: sales@zylkerhardwares.com Website: www.zylkerhardwares.com Category: Hardware Supplier Street: 88 Industrial Ave City: Trenton State: New Jersey Zip_Code: '08608' Country: USA Description: Primary hardware supplier Tag: - name: Preferred Vendor PurchaseOrdersCreateExample: summary: Create a new Purchase Order record description: >- Example request body for creating a new Purchase Order record with standard and custom fields. "Subject", "Vendor_Name", "Purchase_Items", and "Product_Name" are mandatory to create a new record in the Purchase Orders module. Specify the module API name as 'Purchase_Orders' in the URL value: data: - PO_Number: PO-88213 Subject: Purchase Order for CRM Enterprise Suite Stock Vendor_Name: name: Zylker Hardwares id: '5725767000011346004' Contact_Name: name: Anna Kingsley id: '5725767000011356002' PO_Date: '2026-08-15' Due_Date: '2026-09-01' Carrier: UPS Excise_Duty: 0 Sales_Commission: 0 Status: Approved Owner: name: Patricia Boyle id: '5725767000000411001' Sub_Total: 50000 Discount: 0 Tax: 0 Adjustment: 0 Grand_Total: 50000 Billing_Street: 88 Industrial Ave Billing_City: Trenton Billing_State: New Jersey Billing_Code: '08608' Billing_Country: USA Shipping_Street: 1000 Commerce Drive Shipping_City: Exton Shipping_State: Pennsylvania Shipping_Code: '19341' Shipping_Country: USA Terms_and_Conditions: Net 30 Description: Restocking order for enterprise licenses Tracking_Number: 1Z999AA10123456784 Requisition_No: REQ-4021 Purchase_Items: - Product_Name: name: CRM Enterprise Suite id: '5725767000011358006' quantity: 50 list_price: 999 discount: 0 total: 49950 PriceBooksCreateExample: summary: Create a new Price Book record description: >- Example request body for creating a new Price Book record with standard and custom fields. "Price_Book_Name" and "Pricing_Details" are mandatory to create a new record in the Price Books module. Specify the module API name as 'Price_Books' in the URL. value: data: - Owner: name: Patricia Boyle id: '5725767000000411001' Price_Book_Name: Standard Price Book 2026 Active: true Pricing_Model: Flat Pricing_Details: - from_range: 1 to_range: 10 discount: 0 unit_price: 999 - from_range: 11 to_range: 50 discount: 10 unit_price: 899.1 Tag: - name: '2026' QuotesCreateExample: summary: Create a new Quote record description: >- Example request body for creating a new Quote record with standard and custom fields. "Subject", "Account_Name", "Quoted_Items", and "Product_Name" are mandatory to create a new record in the Quotes module. value: data: - Quote_Number: Q-00234 Subject: Quote for Bentley Systems Renewal Deal_Name: name: Bentley Systems - Annual License Renewal id: '5725767000011360004' Quote_Stage: Delivered Valid_Till: '2026-09-15' Contact_Name: name: Anna Kingsley id: '5725767000011356002' Account_Name: name: Bentley Systems id: '5725767000011373001' Owner: name: Patricia Boyle id: '5725767000000411001' Carrier: FedEx Sub_Total: 90000 Discount: 5000 Tax: 0 Adjustment: 0 Grand_Total: 85000 Billing_Street: 1000 Commerce Drive Billing_City: Exton Billing_State: Pennsylvania Billing_Code: '19341' Billing_Country: USA Shipping_Street: 1000 Commerce Drive Shipping_City: Exton Shipping_State: Pennsylvania Shipping_Code: '19341' Shipping_Country: USA Terms_and_Conditions: Payment due within 30 days Description: Renewal quote for enterprise licensing Team: Sales Team East Quoted_Items: - Product_Name: name: CRM Enterprise Suite SalesOrdersCreateExample: summary: Create a new Sales Order record description: >- Example request body for creating a new Sales Order record with standard and custom fields. "Subject", "Account_Name", "Odered_Items", and "Product_Name" are mandatory to create a new record in the Sales Orders module. Specify the module API name as 'Sales_Orders' in the URL value: data: - SO_Number: SO-00567 Subject: Sales Order for Bentley Systems Renewal Deal_Name: name: Bentley Systems - Annual License Renewal id: '5725767000011360004' Purchase_Order: PO-88213 Quote_Name: name: Q-00234 id: '5725767000011359014' Due_Date: '2026-09-20' Pending: '0.00' Contact_Name: name: Anna Kingsley id: '5725767000011356002' Account_Name: name: Bentley Systems id: '5725767000011373001' Owner: name: Patricia Boyle id: '5725767000000411001' Carrier: FedEx Excise_Duty: 0 Sales_Commission: 5 Status: Created Sub_Total: 90000 Discount: 5000 Tax: 0 Adjustment: 0 Grand_Total: 85000 Billing_Street: 1000 Commerce Drive Billing_City: Exton Billing_State: Pennsylvania Billing_Code: '19341' Billing_Country: USA Shipping_Street: 1000 Commerce Drive Shipping_City: Exton Shipping_State: Pennsylvania Shipping_Code: '19341' Shipping_Country: USA Terms_and_Conditions: Payment due within 30 days Description: Renewal sales order Customer_No: CUST-1042 Ordered_Items: - Product_Name: Product_Code: PRD-2001 Qty_Ordered: 100 name: CRM Enterprise Suite Qty_in_Stock: 50 Tax: [] id: '5725767000011358006' Taxable: true Unit_Price: 999 InvoicesCreateExample: summary: Create a new Invoice record description: >- Example request body for creating a new Invoice record with standard and custom fields. "Subject", "Account_Name", "Invoiced_Items", and "Product_Name" are mandatory to create a new record in the Invoices module. value: data: - Owner: name: Patricia Boyle id: '5725767000000411001' Invoice_Number: INV-3021 Subject: Invoice for Bentley Systems Renewal Sales_Order: name: SO-00567 id: '5725767000011355014' Invoice_Date: '2026-09-01' Purchase_Order: PO-88213 Due_Date: '2026-09-30' Account_Name: name: Bentley Systems id: '5725767000011373001' Contact_Name: name: Anna Kingsley id: '5725767000011356002' Grand_Total: 85000 Billing_Street: 1000 Commerce Drive Billing_City: Exton Billing_State: Pennsylvania Billing_Code: '19341' Billing_Country: USA Shipping_Street: 1000 Commerce Drive Shipping_City: Exton Shipping_State: Pennsylvania Shipping_Code: '19341' Shipping_Country: USA Terms_and_Conditions: Payment due within 30 days Description: Renewal invoice Invoiced_Items: - Product_Name: name: CRM Enterprise Suite id: '5725767000011358006' quantity: 90 list_price: 999 discount: 5 total: 85414.5 CustomModuleCreateExample: summary: Create a record in a custom module description: >- To create a record in a custom module, resolve the following metadata first. Retrieve the custom module API name from the [Get Modules](modules.yaml#$.paths./settings/modules.get) resource — custom modules are identified by generated_type: "custom". Retrieve valid field API names from the [Get Fields Metadata](fields.yaml#$.paths./settings/fields.get) resource with `module={api_name}`, which returns each field's `api_name`, `system_mandatory`, `field_read_only`, and `data_type`. If the module has more than one layout, retrieve the Layout ID from the [Get Layouts](layouts.yaml#$.paths./settings/layouts.get) resource with `module={api_name}` and include it as `Layout: { id: "" }` in the record payload. Once resolved, send the creation request to `POST /crm/v8/{module_api_name}` with a `data` array using the confirmed field API names. value: data: - Name: Extended Warranty - Bentley Systems Owner: name: Patricia Boyle id: '554023000000235011' Email: warranty-admin@zylker.com Secondary_Email: warranty-admin2@zylker.com Email_Opt_Out: false Description: >- Custom module records inherit these system fields (Owner, Name, Email, Currency, Tag, etc.) plus your own user-defined fields Currency: USD Tag: - name: Custom required: true description: >- To insert a single record, send only one JSON object in the input with the necessary keys and values. Duplicates are checked for every insert record API call based on unique fields. A maximum of 100 records can be inserted per API call. You must use only Field API names in the input. You can obtain the field API names from the [Fields metadata API](fields.yaml#$.paths./settings/fields.get) Choose "Fields" from the "Filter By" drop-down. In the Calls module, the call duration for an Inbound or Outbound call cannot be zero. For any module, specify all the mandatory fields while creating a record. When inserting multiple records, the Response JSON array maintains the same order as the input records, allowing each response to be mapped to its respective input record. In case of partial success or failure, the API returns an HTTP status 207 (Multi-Status), where individual record-level success or error details are provided within the response array in the same order. You must provide the layout ID field if you want to, include the layout specific mandatory fields in the API-level mandatory check. Include only the fields that are defined in your layout for API-level processing and ignore the rest. responses: '201': description: >- Returns the details of each successfully created record, including the record ID and audit metadata. content: application/json: schema: $ref: '#/components/schemas/RecordSuccessResponse' examples: Success: summary: Successfully created a single record value: data: - code: SUCCESS details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '5725767000000524157' Created_By: name: Patricia Boyle id: '5725767000000411001' $approval_state: approved message: record added status: success description: >- Shows the 201 response for a successfully created record, including the record ID, audit timestamps, and approval state. '207': description: >- Returns a multi-status response when some record create operations succeed and others fail. Each item in the data array independently reports the outcome for the corresponding record. content: application/json: schema: type: object description: >- Represents the response returned when a bulk record create operation results in mixed success and failure outcomes. additionalProperties: false x-zs-$id: RecordsCreateMultiStatusResponse properties: data: type: array description: >- Contains the list of per-record results. Each item represents either a successfully created record or an error identified by its **code** value. maxItems: 100 minItems: 2 allOf: - contains: type: object properties: status: const: success type: string description: >- The status value that must be 'success' for the item to match this constraint. required: - status description: >- Ensures at least one item in the array has a 'success' status. additionalProperties: true minContains: 1 description: >- Ensures the response contains at least one successfully created record in the data array. - contains: type: object properties: status: const: error type: string description: >- The status value that must be 'error' for the item to match this constraint. required: - status description: >- Ensures at least one item in the array has an 'error' status. additionalProperties: true minContains: 1 description: >- Ensures the response contains at least one record create operation that encountered an error in the data array. items: oneOf: - $ref: '#/components/schemas/RecordPostSuccessDataItem' - $ref: '#/components/schemas/RecordPostErrorDataItem' description: >- Represents a single record create result, which is either a success item or an error item identified by the **status** field. required: - data examples: MixedResults: summary: >- Mixed create results with one success and one validation error value: data: - code: SUCCESS details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '5725767000000524157' Created_By: name: Patricia Boyle id: '5725767000000411001' $approval_state: approved message: record added status: success - code: INVALID_DATA details: api_name: Last_Name json_path: $.data[1].Last_Name message: the field api name given seems to be invalid status: error description: >- Shows the 207 multi-status response when one record is created successfully and another fails validation. '400': description: >- The request could not be processed because one or more records contain invalid data or missing required fields. **Resolution:** Each error in the data array identifies the specific record and field that caused the failure. The request must be corrected and resubmitted. content: application/json: schema: $ref: '#/components/schemas/RecordsPostErrorResponse' examples: InvalidData: summary: Invalid field value in the create request value: data: - code: INVALID_DATA message: The field value given for Company is invalid status: error details: api_name: Company json_path: $.data[0].Company description: >- Shows the error response when an invalid value is provided for a field in the create request. InvalidDataType: summary: Field value has an incorrect data type value: data: - code: INVALID_DATA details: expected_data_type: integer api_name: Number_1 json_path: $.data[0].Number_1 message: invalid data status: error description: >- Shows the error response when a field value does not match the expected data type. InvalidSupportedValue: summary: Unsupported value for a fixed-value field value: data: - code: INVALID_DATA details: api_name: name json_path: $.apply_feature_execution[0].name supported_values: - layout_rules - range_validation - assignment_rules - function_validation_rule - criteria_validation_rule - global_map_dependency - territory_subordinates message: invalid data status: error description: >- Shows the error response when an unsupported value is provided for a field that only accepts a fixed set of values. InvalidDataLength: summary: Field value exceeds the maximum allowed length value: data: - code: INVALID_DATA details: maximum_length: 2 api_name: Number_1 json_path: $.data[0].Number_1 message: invalid data status: error description: >- Shows the error response when a field value exceeds the maximum allowed length. InvalidModule: summary: Invalid module API name in the request URL value: data: - code: INVALID_MODULE details: resource_path_index: 0 message: the module name given seems to be invalid status: error description: >- Shows the error response when an invalid module name is provided in the request URL. MultipleErrors: summary: Multiple validation errors in a single record value: data: - code: MULTIPLE_OR_MULTI_ERRORS details: errors: - code: DUPLICATE_DATA details: api_name: Email duplicate_record: Owner: name: Prajesh Kumar S id: '4881139000000307001' zuid: '736078909' module: api_name: Leads id: '4881139000000002175' id: '4881139000000428295' json_path: $.data[0].Email more_records: true message: duplicate data status: error - code: DUPLICATE_DATA details: api_name: Mobile duplicate_record: Owner: name: Prajesh Kumar S id: '4881139000000307001' zuid: '736078909' module: api_name: Leads id: '4881139000000002175' id: '4881139000002432007' json_path: $.data[0].Mobile more_records: true message: duplicate data status: error message: Multiple errors in the request status: error description: >- Shows the error response when a single record has multiple validation failures, such as duplicate values in two different unique fields. DependentFieldMissing: summary: Required dependent field missing from the request value: data: - code: DEPENDENT_FIELD_MISSING details: dependee: api_name: Product_Category json_path: $.data[0].Product_Category api_name: Product_Subcategory json_path: $.data[0].Product_Subcategory message: >- The field 'Product_Subcategory' is required when 'Product_Category' is provided status: error description: >- Shows the error response when a required dependent field is absent because its triggering field was provided. DependentServiceError: summary: Dependent service error during record creation value: data: - code: DEPENDENT_SERVICE_ERROR details: dependency_error: NO_PERMISSION message: >- The dependent service does not have permission to complete the operation status: error description: >- Shows the error response when a dependent external service fails while processing the record create request. MandatoryNotFound: summary: Required field missing from the create request value: data: - code: MANDATORY_NOT_FOUND details: api_name: id json_path: $.data.service.id message: Service Id Not Found status: error description: >- Shows the error response when a required field is missing from the create request. MandatoryNotFoundLayoutRule: summary: Layout rule mandatory field absent from the request value: data: - code: MANDATORY_NOT_FOUND details: layout_rule: name: Layout Rule id: '5410702000000761547' api_name: Phone json_path: $.data[0].Phone message: required field not found status: error description: >- Shows the error response when a field made mandatory by a Layout Rule is absent from the create request. Use the [Get Layouts Metadata API](layouts.yaml#$.paths./settings/layouts.get) to retrieve Layout IDs. DependentMismatch: summary: Dependent field value conflicts with controlling field value: data: - code: DEPENDENT_MISMATCH details: dependee: api_name: Status json_path: $.data[0].Status api_name: Unavailable_Till json_path: $.data[0].Unavailable_Till message: Unavailable Till must be greater than current Time. status: error description: >- Shows the error response when the value of a dependent field conflicts with the requirements of its controlling field. InvalidRequestMethod: summary: Unsupported HTTP method for this endpoint value: data: - status: error message: The HTTP request method type is not a valid one. code: INVALID_REQUEST_METHOD details: resource_path_index: 0 description: >- Shows the error response when an unsupported HTTP method is used for this endpoint. AuthorizationFailed: summary: Insufficient privileges to create a record value: data: - code: AUTHORIZATION_FAILED details: resource_path_index: 0 message: >- User does not have sufficient privilege to perform this action status: error description: >- Shows the error response when the user does not have sufficient privileges to create a record in the specified module. DuplicateDataError: summary: Duplicate field value matches an existing record value: data: - code: DUPLICATE_DATA details: api_name: Unique_1 duplicate_record: Owner: name: Pranav id: '2008662000000454001' zuid: '75092197' id: '2008662000006256222' json_path: $.data[0].Unique_1 id: '2008662000006256222' more_records: false message: duplicate data status: error description: >- Shows the error response when a record with the same unique field value already exists in the module. '401': description: >- Authentication failed because the OAuth token is missing, expired, or does not have the required scope. **Resolution:** Generate a new access token with the required scope for this operation. content: application/json: schema: $ref: '#/components/schemas/RecordUnauthorizedResponse' examples: OauthScopeMismatch: summary: OAuth access token missing the required create scope value: code: OAUTH_SCOPE_MISMATCH message: Unauthorized status: error details: {} description: >- Shows the 401 error response when the OAuth access token does not include the required create scope for the requested module. '403': description: >- Permission denied to create records in the specified module. **Resolution:** The CRM administrator must grant the required create permission to the user's profile. content: application/json: schema: $ref: '#/components/schemas/RecordPermissionResponse' examples: NoPermission: summary: User profile lacks module create permission value: code: NO_PERMISSION message: Permission denied status: error details: permissions: - Crm_Implied_View_Leads description: >- Shows the 403 error response when the user profile lacks the required module create permission. '404': description: >- The request URL does not match any valid API endpoint pattern. **Resolution:** The API endpoint URL must be verified for correct format and path parameters. content: application/json: schema: $ref: '#/components/schemas/RecordInvalidURLResponse' examples: InvalidUrlPattern: summary: Invalid or unrecognized API endpoint URL pattern value: code: INVALID_URL_PATTERN message: Please check if the URL trying to access is a correct one status: error details: {} description: >- Shows the 404 error response when the API endpoint URL does not match any recognized pattern. '500': description: >- An unexpected server error occurred while processing the request. **Resolution:** The request can be retried after some time. If the error persists, Zoho CRM support must be contacted. content: application/json: schema: $ref: '#/components/schemas/RecordInternalErrorResponse' examples: InternalError: summary: Unexpected internal server error during record creation value: code: INTERNAL_ERROR message: Internal Server Error status: error details: {} description: >- Shows the 500 error response when an unexpected server error occurs while processing the request. security: - OAuth2: - ZohoCRM.modules.CREATE put: operationId: updateRecords description: >- Updates one or more existing records in the specified module in your Zoho CRM organization. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module API name and the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to retrieve the field API names. A maximum of 100 records can be updated per API call. Use only Field API names in the input. You can update all fields supported by the Insert Records API operation. When updating multiple records, the response array maintains the same order as the input records, allowing each response to be mapped to its corresponding input record. To update multiple subform records, specify the subform API name as a key within the record and provide the subform records as a JSON array. Use the subform field API names as keys within each subform record. For detailed information on subforms, refer to the [Manipulating Subform using Zoho CRM APIs](https://help.zoho.com/portal/en/community/topic/kaizen-124-accessing-subform-using-zoho-crm-apis). Use the [Modules API](modules.yaml#$.paths./settings/modules.get) and [Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to retrieve the API names of the subform and its fields. To update an existing subform record, include its record ID in the subform JSON array. Use the [Get Records API](record.yaml#$.paths./module.get) with the subform API name to retrieve subform record IDs. When adding a new subform record, it is appended to the existing records. Passing an empty JSON array for a subform deletes all its records. To delete a specific subform record, specify its record ID and set "_delete" to "null". Deleting the parent record also deletes all its subform records. summary: Update records in a specified module tags: - Records parameters: - $ref: '#/components/parameters/Module' requestBody: content: application/json: schema: description: >- Request body containing the updated resource data to modify the existing record. $ref: '#/components/schemas/RecordsPutInputSchema' examples: Leads: summary: Records retrieved from the Leads module value: data: - Layout: id: '554023000002734009' Lead_Source: Employee Referral Company: ABC Last_Name: Daly First_Name: Paul Email: p.daly@zylker.com State: Texas id: '111112000000142001' apply_feature_execution: - name: layout_rules skip_feature_execution: - name: cadences trigger: - approval - workflow - blueprint - pathfinder - orchestration description: >- Shows the request body structure for the updateRecords operation. SubformExample: value: data: - Last_Name: Patricia Company: Info Technology id: '111112000000142001' Project_Details: - Project_Name: Mobile App Development Project_Type: Development Expected_Budget: 50000 - Project_Name: Infrastructure Upgrade Project_Type: Infrastructure Expected_Budget: 30000 description: >- Example request body for updating multiple subform records. "Project_Details" is the subform API name, and "Project_Name", "Project_Type", and "Expected_Budget" are fields in the subform. required: true description: >- The request body must contain a **data** array. You can include a maximum of 100 objects per request. Each object must include an **id** field to identify the record to update. responses: '200': description: >- Returns the details of each successfully updated records, including the record ID and audit metadata. content: application/json: schema: $ref: '#/components/schemas/RecordSuccessResponse' examples: Success: summary: Successfully completed operation value: data: - code: SUCCESS details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '5725767000000524157' Created_By: name: Patricia Boyle id: '5725767000000411001' $approval_state: approved message: record updated status: success description: >- Shows the successful response for the updateRecords operation, including the record ID and audit metadata. '207': description: >- Returns a multi-status response when some record update operations succeed and others fail. Each item in the data array independently reports the outcome for the corresponding record. content: application/json: schema: type: object description: >- Represents the multi-status response returned when a bulk operation results in mixed success and failure outcomes. additionalProperties: false x-zs-$id: RecordsPutMultiStatusResponse properties: data: type: array description: Contains the list of per-record results for the operation. maxItems: 100 allOf: - contains: type: object properties: status: const: success type: string description: >- The status value that must be 'success' for the item to match this constraint. required: - status description: >- Ensures at least one item in the array has a 'success' status. additionalProperties: true minContains: 1 description: >- Ensures the response contains at least one successful result in the data array. - contains: type: object properties: status: const: error type: string description: >- The status value that must be 'error' for the item to match this constraint. required: - status description: >- Ensures at least one item in the array has an 'error' status. additionalProperties: true minContains: 1 description: >- Ensures the response contains at least one failed result in the data array. items: oneOf: - $ref: '#/components/schemas/RecordPostSuccessDataItem' - $ref: '#/components/schemas/RecordPutErrorDataItem' description: >- Represents a single record operation result, which is either a success or error item identified by the **status** field. minItems: 2 required: - data examples: MixedResults: summary: Mixed results with success and failure items value: data: - code: SUCCESS details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '111112000000142001' Created_By: name: Patricia Boyle id: '5725767000000411001' $approval_state: approved message: record updated status: success - code: INVALID_DATA details: api_name: Last_Name json_path: $.data[1].Last_Name message: the field api name given seems to be invalid status: error description: >- Shows the 207 multi-status response with a mix of successful and failed records in the data array. '400': description: >- The request could not be processed because one or more records contain invalid data or missing required fields. **Resolution:** Each error in the data array identifies the specific record and field that caused the failure. The request must be corrected and resubmitted. content: application/json: schema: $ref: '#/components/schemas/RecordsPutErrorResponse' examples: InvalidData: summary: Invalid field value in the request value: data: - code: INVALID_DATA message: The field value given for Company is invalid status: error details: api_name: Company json_path: $.data[0].Company description: >- Shows the error response when invalid data is provided in the request. InvalidDataType: summary: Field value with an incorrect data type value: data: - code: INVALID_DATA details: expected_data_type: integer api_name: Number_1 json_path: $.data[0].Number_1 message: invalid data status: error description: >- Shows the error response when a field value does not match the expected data type. InvalidSupportedValue: summary: Unsupported value for a fixed-value field value: data: - code: INVALID_DATA details: api_name: name json_path: $.apply_feature_execution[0].name supported_values: - layout_rules - range_validation - assignment_rules - function_validation_rule - criteria_validation_rule - global_map_dependency - territory_subordinates message: invalid data status: error description: >- Shows the error response when an unsupported value is provided for a fixed-value field. InvalidDataLength: summary: Field value exceeds the maximum allowed length value: data: - code: INVALID_DATA details: maximum_length: 2 api_name: Number_1 json_path: $.data[0].Number_1 message: invalid data status: error description: >- Shows the error response when a field value exceeds the maximum allowed length. InvalidModule: summary: Invalid module API name in the request value: data: - code: INVALID_MODULE details: resource_path_index: 0 message: the module name given seems to be invalid status: error description: >- Shows the error response when an invalid module name is provided in the request URL. MultipleErrors: summary: Multiple validation errors in a single record value: data: - code: MULTIPLE_OR_MULTI_ERRORS details: errors: - code: DUPLICATE_DATA details: api_name: Email duplicate_record: Owner: name: Prajesh Kumar S id: '4881139000000307001' zuid: '736078909' module: api_name: Leads id: '4881139000000002175' id: '4881139000000428295' json_path: $.data[0].Email more_records: true message: duplicate data status: error - code: DUPLICATE_DATA details: api_name: Mobile duplicate_record: Owner: name: Prajesh Kumar S id: '4881139000000307001' zuid: '736078909' module: api_name: Leads id: '4881139000000002175' id: '4881139000002432007' json_path: $.data[0].Mobile more_records: true message: duplicate data status: error message: Multiple errors in the request status: error description: >- Shows the error response when a single record has multiple validation failures. DependentFieldMissing: summary: Required dependent field missing from the request value: data: - code: DEPENDENT_FIELD_MISSING details: dependee: api_name: Product_Category json_path: $.data[0].Product_Category api_name: Product_Subcategory json_path: $.data[0].Product_Subcategory message: >- The field 'Product_Subcategory' is required when 'Product_Category' is provided status: error description: >- Shows the error response when a required dependent field is absent from the request. DependentServiceError: summary: Dependent external service error during processing value: data: - code: DEPENDENT_SERVICE_ERROR details: dependency_error: NO_PERMISSION message: >- The dependent service does not have permission to complete the operation status: error description: >- Shows the error response when a dependent external service fails during the operation. MandatoryNotFound: summary: Required field missing from the request value: data: - code: MANDATORY_NOT_FOUND details: api_name: id json_path: $.data.service.id message: Service Id Not Found status: error description: >- Shows the error response when a required field is missing from the request. MandatoryNotFoundLayoutRule: summary: Layout rule mandatory field absent from the request value: data: - code: MANDATORY_NOT_FOUND details: layout_rule: name: Layout Rule id: '5410702000000761547' api_name: Phone json_path: $.data[0].Phone message: required field not found status: error description: >- Shows the error response when a field made mandatory by a Layout Rule is absent from the update request. Use the [Get Layouts Metadata API](layouts.yaml#$.paths./settings/layouts.get) to retrieve Layout IDs. DependentMismatch: summary: Dependent field value conflicts with controlling field value: data: - code: DEPENDENT_MISMATCH details: dependee: api_name: Status json_path: $.data[0].Status api_name: Unavailable_Till json_path: $.data[0].Unavailable_Till message: Unavailable Till must be greater than current Time. status: error description: >- Shows the error response when a dependent field value conflicts with its controlling field. InvalidRequestMethod: summary: Unsupported HTTP method for this endpoint value: data: - status: error message: The HTTP request method type is not a valid one. code: INVALID_REQUEST_METHOD details: resource_path_index: 0 description: >- Shows the error response when an unsupported HTTP method is used for this endpoint. AuthorizationFailed: summary: Insufficient privileges for the operation value: data: - code: AUTHORIZATION_FAILED details: resource_path_index: 0 message: >- User does not have sufficient privilege to perform this action status: error description: >- Shows the error response when the user does not have sufficient privileges for this operation. DuplicateDataError: summary: Duplicate unique field value matches an existing record value: data: - code: DUPLICATE_DATA details: api_name: Unique_1 duplicate_record: Owner: name: Pranav id: '2008662000000454001' zuid: '75092197' id: '2008662000006256222' json_path: $.data[0].Unique_1 id: '2008662000006256222' more_records: false message: duplicate data status: error description: >- Shows the error response when a unique field value already exists in the module. RecordLockedError: summary: Record is locked and cannot be modified value: data: - code: RECORD_LOCKED details: api_name: id json_path: $.data[0].id action: record_locking message: >- Sorry, you cannot perform this operation as the record is locked. status: error description: >- Shows the error response when the target record is locked and cannot be modified. NotApprovedError: summary: Record is not approved and cannot be modified value: data: - code: NOT_APPROVED details: resource_path_index: 1 message: Cannot update record that is not approved yet status: error description: >- Shows the error response when the record has not been approved and cannot be modified. NotReviewedError: summary: Record is under review and cannot be modified value: data: - code: NOT_REVIEWED details: {} message: record in review status: error description: >- Shows the error response when the record is under review and cannot be modified. LimitExceededError: summary: Record count exceeds the allowed limit per request value: data: - code: LIMIT_EXCEEDED details: maximum_length: 100 api_name: data message: count of records in your request exceeds the limit status: error description: >- Shows the error response when the number of records in the request exceeds the allowed limit. DuplicateLinkingDataError: summary: Duplicate MxN linking field association detected value: data: - code: DUPLICATE_LINKING_DATA details: linking_fields: - Bugs_MxN - CM_MxN id: '1385235000011590004' message: duplicate association status: error description: >- Shows the error response when duplicate MxN linking field associations are detected. '401': description: >- Authentication failed because the OAuth token is missing, expired, or does not include the required scope. **Resolution:** A new access token must be generated with the required scope for this operation. content: application/json: schema: $ref: '#/components/schemas/RecordUnauthorizedResponse' examples: OauthScopeMismatch: summary: OAuth access token missing the required scope value: code: OAUTH_SCOPE_MISMATCH message: Unauthorized status: error details: {} description: >- Shows the 401 error response when the OAuth access token does not include the required scope for this operation. '403': description: >- Permission denied to update records in the specified module. **Resolution:** The CRM administrator must grant the required update permission to the user's profile. content: application/json: schema: $ref: '#/components/schemas/RecordPermissionResponse' examples: NoPermission: summary: User profile lacks the required module permission value: code: NO_PERMISSION message: Permission denied status: error details: permissions: - Crm_Implied_View_Leads description: >- Shows the 403 error response when the user profile lacks the required module permission. '404': description: >- The request URL does not match any valid API endpoint pattern. **Resolution:** The API endpoint URL must be verified for correct format and path parameters. content: application/json: schema: $ref: '#/components/schemas/RecordInvalidURLResponse' examples: InvalidUrlPattern: summary: Invalid or unrecognized API endpoint URL pattern value: code: INVALID_URL_PATTERN message: Please check if the URL trying to access is a correct one status: error details: {} description: >- Shows the 404 error response when the API endpoint URL does not match any recognized pattern. '412': description: >- The record has been modified after the timestamp specified in the If-Unmodified-Since header. **Resolution:** The latest version of the record must be retrieved and the update must be resubmitted with the current modification timestamp. content: application/json: schema: type: object x-zs-$id: RecordAlreadyModifiedErrorResponse description: >- Represents the error response returned when the record has been modified after the If-Unmodified-Since timestamp. additionalProperties: false properties: data: type: array description: Contains the list of per-record results for the operation. maxItems: 100 items: type: object description: >- Represents a single record operation result, which is either a success or error item identified by the **status** field. additionalProperties: false properties: code: type: string description: >- Contains the list of per-record results for the operation. enum: - ALREADY_MODIFIED message: type: string description: >- Contains the list of per-record results for the operation. status: type: string description: >- Contains the list of per-record results for the operation. enum: - error details: type: object description: >- Contains the list of per-record results for the operation. additionalProperties: false properties: Modified_Time: type: string format: date-time description: >- Contains the list of per-record results for the operation. Created_Time: type: string format: date-time description: >- Contains the list of per-record results for the operation. id: type: string description: >- Contains the list of per-record results for the operation. format: int64 Modified_By: type: object additionalProperties: false description: >- Contains the list of per-record results for the operation. properties: name: type: string description: >- Contains the list of per-record results for the operation. maxLength: 101 id: type: string description: >- Contains the list of per-record results for the operation. format: int64 required: - name - id Created_By: type: object additionalProperties: false description: >- Contains the list of per-record results for the operation. properties: name: type: string description: >- Contains the list of per-record results for the operation. maxLength: 101 id: type: string description: >- Contains the list of per-record results for the operation. format: int64 required: - name - id required: - id required: - code - message - status minItems: 1 required: - data examples: AlreadyModified: summary: Record already modified after the specified timestamp description: >- Shows the 412 error response when the record has been modified after the If-Unmodified-Since timestamp. value: data: - code: ALREADY_MODIFIED message: >- record updated time has already passed if-unmodified-since time status: error details: Modified_Time: '2023-06-04T12:00:24+05:30' Created_Time: '2023-04-17T16:23:25+05:30' id: '492070000199308229' Modified_By: name: Senthilkumar id: '492070000000209017' Created_By: name: Senthilkumar id: '492070000000209017' '500': description: >- An unexpected server error occurred while processing the request. **Resolution:** The request can be retried after some time. If the error persists, Zoho CRM support must be contacted. content: application/json: schema: $ref: '#/components/schemas/RecordInternalErrorResponse' examples: InternalError: summary: Unexpected internal server error during processing value: code: INTERNAL_ERROR message: Internal Server Error status: error details: {} description: >- Shows the 500 error response when an unexpected server error occurs. security: - OAuth2: - ZohoCRM.modules.UPDATE delete: operationId: deleteRecords summary: Delete records from a specified module description: >- To permanently delete more records from the specified module in your Zoho CRM organization, use the [Get Records API](record.yaml#$.paths./module.get) to retrieve the record IDs. A maximum of 100 records can be deleted per API call. By default, all workflows related to this API are executed. All subforms related to the deleted records are also deleted. tags: - Records parameters: - $ref: '#/components/parameters/Module' - $ref: '#/components/parameters/Ids' responses: '200': description: Returns the deletion status for each records successfully deleted. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteSuccessResponse' examples: SuccessfulDeletion: summary: Successfully deleted records description: >- Shows the successful response for the deleteRecords operation, including the record ID and audit metadata. value: data: - code: SUCCESS details: id: '410405000002264040' message: record deleted status: success - code: SUCCESS details: id: '410405000002264025' message: record deleted status: success '207': description: >- Returns a multi-status response when some record deletion operations succeed and others fail. Each item in the data array independently reports the outcome for the corresponding record. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteMultiStatusResponse' examples: MixedResults: summary: Mixed results with success and failure items value: data: - status: success code: SUCCESS message: record deleted details: id: '410405000002264040' - status: error code: INVALID_DATA message: record not deleted details: id: '4150868000005067099' - status: success code: SUCCESS message: record deleted details: id: '410405000002264025' description: >- Shows the 207 multi-status response with a mix of successful and failed records in the data array. '400': description: >- The request could not be processed because of an invalid module, missing parameters, or invalid record IDs. **Resolution:** The request must include valid module API name and record IDs. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteBadRequestResponse' examples: InvalidModule: summary: Invalid module API name in the request value: status: error code: INVALID_MODULE message: the module name given seems to be invalid details: resource_path_index: 0 description: >- Shows the error response when an invalid module name is provided in the request URL. MissingParam: summary: Required parameter missing from the request value: status: error code: REQUIRED_PARAM_MISSING message: One of the expected parameter is missing details: param_name: ids description: >- Shows the error response when a required parameter is missing from the request. InvalidRequestMethod: summary: Unsupported HTTP method for this endpoint value: status: error code: INVALID_REQUEST_METHOD message: The http request method type is not a valid one details: {} description: >- Shows the error response when an unsupported HTTP method is used for this endpoint. AuthorizationFailed: summary: Insufficient privileges for the operation value: status: error code: AUTHORIZATION_FAILED message: User does not have sufficient privilege to delete records details: {} description: >- Shows the error response when the user does not have sufficient privileges for this operation. RecordLocked: summary: Record is locked and cannot be modified value: data: - code: RECORD_LOCKED details: action: record_locking id: '5040565000001052497' message: >- You cannot perform this operation as the record is locked. status: error description: >- Shows the error response when the target record is locked and cannot be modified. NotApproved: summary: Record is not approved and cannot be deleted value: data: - code: NOT_APPROVED details: {} message: cannot delete record that is not approved yet status: error description: >- Shows the error response when the record has not been approved and cannot be deleted. UnableToParseDataType: summary: Request body or parameters in incorrect format value: data: - code: INVALID_DATA message: >- either the request body or parameters is in wrong format status: error details: id: '5040565000001052497' description: >- Shows the error response when the request body or parameters are in an incorrect format. '401': description: >- Authentication failed because the OAuth token is missing, expired, or does not include the required scope. **Resolution:** A new access token must be generated with the required scope for this operation. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteUnauthorizedResponse' examples: ScopeMismatch: summary: OAuth access token missing the required scope value: code: OAUTH_SCOPE_MISMATCH message: Unauthorized status: error details: {} description: >- Shows the 401 error response when the OAuth access token does not include the required scope for this operation. '403': description: >- Permission denied to delete records in the specified module. **Resolution:** The CRM administrator must grant the required deletion permission to the user's profile. content: application/json: schema: $ref: '#/components/schemas/RecordDeletePermissionResponse' examples: NoPermission: summary: User profile lacks the required module permission value: code: NO_PERMISSION message: Permission denied to delete status: error details: permissions: - Crm_Implied_View_Leads description: >- Shows the 403 error response when the user profile lacks the required module permission. '404': description: >- The request URL does not match any valid API endpoint pattern. **Resolution:** The API endpoint URL must be verified for correct format and path parameters. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteInvalidURLResponse' examples: InvalidUrlPattern: summary: Invalid or unrecognized API endpoint URL pattern value: code: INVALID_URL_PATTERN message: Please check if the URL trying to access is a correct one status: error details: {} description: >- Shows the 404 error response when the API endpoint URL does not match any recognized pattern. '500': description: >- An unexpected server error occurred while processing the request. **Resolution:** The request can be retried after some time. If the error persists, Zoho CRM support must be contacted. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteInternalErrorResponse' examples: InternalError: summary: Unexpected internal server error during processing value: code: INTERNAL_ERROR message: Internal Server Error status: error details: {} description: >- Shows the 500 error response when an unexpected server error occurs. security: - OAuth2: - ZohoCRM.modules.DELETE /{module}/upsert: post: operationId: upsertRecords summary: Create or update records in a specified module description: >- The Upsert API inserts a new record or updates an existing record based on duplicate check field values. If a matching record is found, it is updated; otherwise, a new record is inserted. When using the Upsert API, the system checks for duplicate records based on the duplicate check fields. There are two types of duplicate check fields: system-defined duplicate check fields and user-defined unique fields. System-defined duplicate check fields are predefined unique fields for each module. The system automatically checks these fields to prevent duplicate records. Refer to the System-defined Duplicate Check Fields section for module-specific details. User-defined unique fields are fields for which the "Do not allow duplicate values" option is enabled. These fields allow users to define custom fields for duplicate checking. For more information, refer to [Mark a Field as Unique](https://help.zoho.com/portal/en/kb/crm/customize-crm-account/customizing-fields/articles/use-custom-fields#Mark_a_Field_as_Unique). When a record is upserted, the system first checks for duplicates in these fields. If a matching record exists, it gets updated; otherwise, a new record is inserted. You can specify the order in which the system checks for duplicate records using the "duplicate_check_fields" array in the API request. The array can contain system-defined duplicate check fields, such as "Email" for the Leads module, and user-defined unique fields, such as "Phone" and "Fax". For example, in the Leads module, you can specify: "duplicate_check_fields": ["Email", "Phone", "Fax"]. If "duplicate_check_fields" is not specified, the system checks duplicate records in the following order: 1. System-defined duplicate check fields. 2. User-defined unique fields. tags: - Records parameters: - $ref: '#/components/parameters/Module' requestBody: content: application/json: schema: $ref: '#/components/schemas/RecordsUpsertSchema' examples: RequestBody: summary: Sample request body for the upsertRecords operation description: >- Shows the request body structure for the upsertRecords operation. value: data: - Last_Name: test Email: a@gmail.com Phone: '987654321' id: '5725767000000524001' duplicate_check_fields: - Phone required: true description: >- The request body must contain a **data** array. You can include a maximum of 100 objects per request. You must use only Field API names in the input; obtain them from the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get). The "INVALID_DATA" error is returned if a field value exceeds the maximum length defined for that field. For example, if a Text field has a maximum length of 10 characters, the API cannot accept a value such as "12345678901", since it contains 11 characters. Records with subform details can also be inserted or updated through this API. Provide the layout ID to include layout-specific mandatory fields in the API-level mandatory field check; only the fields defined in that layout are considered for processing, and the rest are ignored. responses: '200': description: >- Returns the details of each successfully processed records, including the record ID and audit metadata. content: application/json: schema: $ref: '#/components/schemas/RecordUpsertSuccessResponse' examples: Success: summary: Successfully completed operation value: data: - code: SUCCESS duplicate_field: Email action: update details: Modified_Time: '2020-10-14T10:31:43+05:30' Modified_By: name: Patricia Boyle id: '4150868000000225013' Created_Time: '2019-09-11T16:21:15+05:30' id: '4150868000000376008' Created_By: name: Patricia Boyle id: '4150868000000225013' message: record updated status: success - code: SUCCESS duplicate_field: Email action: insert details: Modified_Time: '2020-10-14T10:31:43+05:30' Modified_By: name: Patricia Boyle id: '4150868000000225013' Created_Time: '2020-10-14T10:31:43+05:30' id: '4150868000003194003' Created_By: name: Patricia Boyle id: '4150868000000225013' message: record added status: success description: >- Shows the successful response for the upsertRecords operation, including the record ID and audit metadata. '207': description: >- Returns a multi-status response when some record upsert operations succeed and others fail. Each item in the data array independently reports the outcome for the corresponding record. content: application/json: schema: type: object description: >- Represents the multi-status response returned when a bulk operation results in mixed success and failure outcomes. additionalProperties: false x-zs-$id: RecordsUpsertMultiStatusResponse properties: data: type: array description: Contains the list of per-record results for the operation. maxItems: 100 allOf: - contains: type: object properties: status: const: success description: >- Indicates a successful upsert. Always "success" for matched items. required: - status description: >- Schema used to identify items in the response that represent a successful upsert operation. additionalProperties: true minContains: 1 description: >- Ensures the response contains at least one successful result in the data array. - contains: type: object properties: status: const: error description: >- Indicates a failed upsert. Always "error" for matched items. required: - status description: >- Schema used to identify items in the response that represent a failed upsert operation. additionalProperties: true minContains: 1 description: >- Ensures the response contains at least one failed result in the data array. items: oneOf: - $ref: '#/components/schemas/RecordUpsertSuccessDataItem' - $ref: '#/components/schemas/RecordUpsertErrorDataItem' description: >- Represents a single record operation result, which is either a success or error item identified by the **status** field. minItems: 2 required: - data examples: MixedResults: summary: Mixed results with success and failure items value: data: - code: SUCCESS duplicate_field: Email action: insert details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '111112000000142001' Created_By: name: Patricia Boyle id: '5725767000000411001' message: record added status: success - code: INVALID_DATA details: expected_data_type: text api_name: Company json_path: $.data[1].Company message: invalid data status: error description: >- Shows the 207 multi-status response with a mix of successful and failed records in the data array. '400': description: >- The request could not be processed because one or more records contain invalid data or missing required fields. **Resolution:** Each error in the data array identifies the specific record and field that caused the failure. The request must be corrected and resubmitted. content: application/json: schema: $ref: '#/components/schemas/RecordsUpsertErrorResponse' examples: InvalidData: summary: Invalid field value in the request value: data: - code: INVALID_DATA message: The field value given for Company is invalid status: error details: api_name: Company json_path: $.data[0].Company description: >- Shows the error response when invalid data is provided in the request. InvalidDataType: summary: Field value with an incorrect data type value: data: - code: INVALID_DATA details: expected_data_type: integer api_name: Number_1 json_path: $.data[0].Number_1 message: invalid data status: error description: >- Shows the error response when a field value does not match the expected data type. InvalidSupportedValue: summary: Unsupported value for a fixed-value field value: data: - code: INVALID_DATA details: api_name: name json_path: $.apply_feature_execution[0].name supported_values: - layout_rules - range_validation - assignment_rules - function_validation_rule - criteria_validation_rule - global_map_dependency - territory_subordinates message: invalid data status: error description: >- Shows the error response when an unsupported value is provided for a fixed-value field. InvalidDataLength: summary: Field value exceeds the maximum allowed length value: data: - code: INVALID_DATA details: maximum_length: 2 api_name: Number_1 json_path: $.data[0].Number_1 message: invalid data status: error description: >- Shows the error response when a field value exceeds the maximum allowed length. InvalidModule: summary: Invalid module API name in the request value: data: - code: INVALID_MODULE details: resource_path_index: 0 message: the module name given seems to be invalid status: error description: >- Shows the error response when an invalid module name is provided in the request URL. MultipleErrors: summary: Multiple validation errors in a single record value: data: - code: MULTIPLE_OR_MULTI_ERRORS details: errors: - code: DUPLICATE_DATA details: api_name: Email duplicate_record: Owner: name: Prajesh Kumar S id: '4881139000000307001' zuid: '736078909' module: api_name: Leads id: '4881139000000002175' id: '4881139000000428295' json_path: $.data[0].Email more_records: true message: duplicate data status: error - code: DUPLICATE_DATA details: api_name: Mobile duplicate_record: Owner: name: Prajesh Kumar S id: '4881139000000307001' zuid: '736078909' module: api_name: Leads id: '4881139000000002175' id: '4881139000002432007' json_path: $.data[0].Mobile more_records: true message: duplicate data status: error message: Multiple errors in the request status: error description: >- Shows the error response when a single record has multiple validation failures. DependentFieldMissing: summary: Required dependent field missing from the request value: data: - code: DEPENDENT_FIELD_MISSING details: dependee: api_name: Product_Category json_path: $.data[0].Product_Category api_name: Product_Subcategory json_path: $.data[0].Product_Subcategory message: >- The field 'Product_Subcategory' is required when 'Product_Category' is provided status: error description: >- Shows the error response when a required dependent field is absent from the request. DependentServiceError: summary: Dependent external service error during processing value: data: - code: DEPENDENT_SERVICE_ERROR details: dependency_error: NO_PERMISSION message: >- The dependent service does not have permission to complete the operation status: error description: >- Shows the error response when a dependent external service fails during the operation. MandatoryNotFoundInsert: summary: Required field missing during a record create via upsert value: data: - code: MANDATORY_NOT_FOUND details: api_name: id json_path: $.data.service.id message: Service Id Not Found status: error description: >- Shows the error response when a required field is absent during a record create via the upsert operation. MandatoryNotFoundLayoutRuleInsert: summary: Layout rule mandatory field absent during record insertion value: data: - code: MANDATORY_NOT_FOUND details: layout_rule: name: Layout Rule id: '5410702000000761547' api_name: Phone json_path: $.data[0].Phone message: required field not found status: error description: >- Shows the error response when a field made mandatory by a Layout Rule is absent during a record create via the upsert operation. Use the [Get Layouts Metadata API](layouts.yaml#$.paths./settings/layouts.get) to retrieve Layout IDs. MandatoryNotFoundLayoutRule: summary: Layout rule mandatory field absent from the request value: data: - code: MANDATORY_NOT_FOUND details: layout_rule: name: Layout Rule id: '5410702000000761547' api_name: Designation json_path: $.data[0].Designation id: '5410702000000761566' message: required field not found status: error description: >- Shows the error response when a field made mandatory by a Layout Rule is absent from the upsert request. MandatoryNotFoundRecordId: summary: Required field missing during upsert update value: data: - code: MANDATORY_NOT_FOUND details: api_name: Single_Line_1 json_path: $.data[0].Single_Line_1 id: '5410702000000761568' message: required field not found status: error description: >- Shows the error response when a required field is missing during an upsert operation that updates an existing record. DependentMismatch: summary: Dependent field value conflicts with controlling field value: data: - code: DEPENDENT_MISMATCH details: dependee: api_name: Status json_path: $.data[0].Status api_name: Unavailable_Till json_path: $.data[0].Unavailable_Till message: Unavailable Till must be greater than current Time. status: error description: >- Shows the error response when a dependent field value conflicts with its controlling field. InvalidRequestMethod: summary: Unsupported HTTP method for this endpoint value: data: - status: error message: The HTTP request method type is not a valid one. code: INVALID_REQUEST_METHOD details: resource_path_index: 0 description: >- Shows the error response when an unsupported HTTP method is used for this endpoint. AuthorizationFailed: summary: Insufficient privileges for the operation value: data: - code: AUTHORIZATION_FAILED details: resource_path_index: 0 message: >- User does not have sufficient privilege to perform this action status: error description: >- Shows the error response when the user does not have sufficient privileges for this operation. DuplicateDataError: summary: Duplicate unique field value matches an existing record value: data: - code: DUPLICATE_DATA details: api_name: Unique_1 duplicate_record: Owner: name: Pranav id: '2008662000000454001' zuid: '75092197' id: '2008662000006256222' json_path: $.data[0].Unique_1 id: '2008662000006256222' more_records: false message: duplicate data status: error description: >- Shows the error response when a unique field value already exists in the module. '401': description: >- Authentication failed because the OAuth token is missing, expired, or does not include the required scope. **Resolution:** A new access token must be generated with the required scope for this operation. content: application/json: schema: $ref: '#/components/schemas/RecordUnauthorizedResponse' examples: OauthScopeMismatch: summary: OAuth access token missing the required scope value: code: OAUTH_SCOPE_MISMATCH message: Unauthorized status: error details: {} description: >- Shows the 401 error response when the OAuth access token does not include the required scope for this operation. '403': description: >- Permission denied to upsert records in the specified module. **Resolution:** The CRM administrator must grant the required upsert permission to the user's profile. content: application/json: schema: $ref: '#/components/schemas/RecordPermissionResponse' examples: NoPermission: summary: User profile lacks the required module permission value: code: NO_PERMISSION message: Permission denied status: error details: permissions: - Crm_Implied_View_Leads description: >- Shows the 403 error response when the user profile lacks the required module permission. '404': description: >- The request URL does not match any valid API endpoint pattern. **Resolution:** The API endpoint URL must be verified for correct format and path parameters. content: application/json: schema: $ref: '#/components/schemas/RecordInvalidURLResponse' examples: InvalidUrlPattern: summary: Invalid or unrecognized API endpoint URL pattern value: code: INVALID_URL_PATTERN message: Please check if the URL trying to access is a correct one status: error details: {} description: >- Shows the 404 error response when the API endpoint URL does not match any recognized pattern. '412': description: >- The record has been modified after the timestamp specified in the If-Unmodified-Since header. **Resolution:** The latest version of the record must be retrieved and the update must be resubmitted with the current modification timestamp. content: application/json: schema: type: object x-zs-$id: PostRecordAlreadyModifiedResponse description: >- Represents the error response returned when the record has been modified after the If-Unmodified-Since timestamp. additionalProperties: false properties: data: type: array description: Contains the list of per-record results for the operation. maxItems: 100 items: type: object description: >- Represents a single record operation result, which is either a success or error item identified by the **status** field. additionalProperties: false properties: code: type: string description: >- Contains the list of per-record results for the operation. enum: - ALREADY_MODIFIED message: type: string description: >- Contains the list of per-record results for the operation. maxLength: 255 status: type: string description: >- Contains the list of per-record results for the operation. enum: - error details: type: object description: >- Contains the list of per-record results for the operation. additionalProperties: false properties: Modified_Time: type: string format: date-time description: >- Contains the list of per-record results for the operation. Created_Time: type: string format: date-time description: >- Contains the list of per-record results for the operation. id: type: string description: >- Contains the list of per-record results for the operation. format: int64 Modified_By: type: object additionalProperties: false description: >- Contains the list of per-record results for the operation. properties: name: type: string description: >- Contains the list of per-record results for the operation. maxLength: 101 id: type: string description: >- Contains the list of per-record results for the operation. format: int64 required: - name - id Created_By: type: object additionalProperties: false description: >- Contains the list of per-record results for the operation. properties: name: type: string description: >- Contains the list of per-record results for the operation. maxLength: 101 id: type: string description: >- Contains the list of per-record results for the operation. format: int64 required: - name - id required: - id required: - code - message - status minItems: 1 required: - data examples: AlreadyModified: summary: Record already modified after the specified timestamp description: >- Shows the 412 error response when the record has been modified after the If-Unmodified-Since timestamp. value: data: - code: ALREADY_MODIFIED message: >- record updated time has already passed if-unmodified-since time status: error details: Modified_Time: '2023-06-04T12:00:24+05:30' Created_Time: '2023-04-17T16:23:25+05:30' id: '492070000199308229' Modified_By: name: Senthilkumar id: '492070000000209017' Created_By: name: Senthilkumar id: '492070000000209017' '500': description: >- An unexpected server error occurred while processing the request. **Resolution:** The request can be retried after some time. If the error persists, Zoho CRM support must be contacted. content: application/json: schema: $ref: '#/components/schemas/RecordInternalErrorResponse' examples: InternalError: summary: Unexpected internal server error during processing value: code: INTERNAL_ERROR message: Internal Server Error status: error details: {} description: >- Shows the 500 error response when an unexpected server error occurs. security: - OAuth2: - ZohoCRM.modules.CREATE /{module}/deleted: get: operationId: getDeletedRecords summary: Get deleted records from a specified module description: >- To retrieve the list of deleted records from the specified module in your Zoho CRM organization, including records in the recycle bin and permanently deleted records. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. tags: - Deleted Records parameters: - $ref: '#/components/parameters/Module' - $ref: '#/components/parameters/DeletedRecordsType' - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PerPage' - $ref: '#/components/parameters/IfModifiedSince' responses: '200': description: Returns the deletion status for each records successfully deleted. content: application/json: schema: $ref: '#/components/schemas/DeletedRecordsSuccessResponse' examples: DeletedRecords: summary: List of deleted records with metadata value: data: - deleted_by: name: Patricia Boyle id: '410888000000086001' id: '410888000000099071' display_name: Patricia type: recycle created_by: name: Patricia Boyle id: '410888000000086001' deleted_time: '2015-06-19T11:19:38+05:30' - deleted_by: name: Patricia Boyle id: '410888000000086001' id: '410888000000094004' display_name: Patricia type: recycle created_by: name: Patricia Boyle id: '410888000000086001' deleted_time: '2015-04-07T17:43:33+05:30' - deleted_by: null id: '410888000000680013' display_name: null type: permanent created_by: null deleted_time: '2016-10-26T11:44:15+05:30' - deleted_by: null id: '410888000000680009' display_name: null type: permanent created_by: null deleted_time: '2016-10-26T11:44:15+05:30' info: per_page: 200 count: 4 page: 1 more_records: false description: >- Shows the successful response containing deleted records with their deletion metadata and type information. '204': description: >- Returns an empty response when the request is successful but no records match the specified criteria. '400': description: >- The request could not be processed because of an invalid module, missing parameters, or invalid record IDs. **Resolution:** The request must include valid module API name and record IDs. content: application/json: schema: $ref: '#/components/schemas/DeletedRecordsErrorResponse' examples: InvalidModule: summary: Invalid module API name in the request value: data: - code: INVALID_MODULE message: the module name given seems to be invalid status: error details: resource_path_index: 0 description: >- Shows the error response when an invalid module name is provided in the request URL. PatternNotMatched: summary: Value does not match the expected pattern value: data: - code: PATTERN_NOT_MATCHED details: param_name: type message: Please check whether the input values are correct status: error description: >- Shows the error response when the provided value does not match the expected pattern. '401': description: >- Authentication failed because the OAuth token is missing, expired, or does not include the required scope. **Resolution:** A new access token must be generated with the required scope for this operation. content: application/json: schema: $ref: '#/components/schemas/RecordUnauthorizedResponse' examples: ScopeMismatch: summary: OAuth access token missing the required scope value: code: OAUTH_SCOPE_MISMATCH message: Unauthorized status: error details: {} description: >- Shows the 401 error response when the OAuth access token does not include the required scope for this operation. '403': description: >- Permission denied to delete records in the specified module. **Resolution:** The CRM administrator must grant the required deletion permission to the user's profile. content: application/json: schema: $ref: '#/components/schemas/RecordPermissionResponse' examples: NoPermission: summary: User profile lacks the required module permission value: code: NO_PERMISSION message: permission denied status: error details: permissions: - Crm_Implied_View_Leads description: >- Shows the 403 error response when the user profile lacks the required module permission. '500': description: >- An unexpected server error occurred while processing the request. **Resolution:** The request can be retried after some time. If the error persists, Zoho CRM support must be contacted. content: application/json: schema: $ref: '#/components/schemas/RecordInternalErrorResponse' examples: InternalError: summary: Unexpected internal server error during processing value: code: INTERNAL_ERROR message: Internal Server Error status: error details: {} description: >- Shows the 500 error response when an unexpected server error occurs. security: - OAuth2: - ZohoCRM.modules.READ /{module}/{recordId}: get: operationId: getRecord description: >- To retrieve the details of a specific record by its unique ID from the specified module in your Zoho CRM organization. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. Use the [Get Records API](record.yaml#$.paths./module.get) to retrieve the record IDs. summary: Get a record by ID from a specified module tags: - Records parameters: - $ref: '#/components/parameters/Record' - $ref: '#/components/parameters/Module' responses: '200': description: >- Returns the details of the requested record from the specified module. content: application/json: schema: $ref: '#/components/schemas/RecordIDGETSuccessResponse' examples: Leads: summary: Records retrieved from the Leads module value: data: - id: '4150868000000002175' Owner: name: Patricia Boyle id: '4150868000000225013' email: patricia.boyle@example.com Company: Zylker Corp First_Name: John Last_Name: Doe Email: john.doe@zylker.com Phone: +1-555-123-4567 Lead_Status: Not Contacted Created_Time: '2023-10-15T10:30:00+00:00' Modified_Time: '2023-10-15T14:20:00+00:00' description: >- Shows the successful response for the getRecord operation, including the record ID and audit metadata. '204': description: >- Returns an empty response when the request is successful but no record match the specified criteria. '400': description: >- The request could not be processed because one or more records contain invalid data or missing required fields. **Resolution:** Each error in the data array identifies the specific record and field that caused the failure. The request must be corrected and resubmitted. content: application/json: schema: description: >- Represents the error response returned when one or more record operations fail. x-zs-$id: RecordIDGETErrorResponse oneOf: - $ref: '#/components/schemas/TokenBoundDataMismatchGETError' - $ref: '#/components/schemas/InvalidModuleGETError' - $ref: '#/components/schemas/ExpiredValueGETError' examples: InvalidData: summary: Invalid field value in the request value: code: INVALID_MODULE details: resource_path_index: 0 message: the module name given seems to be invalid status: error description: >- Shows the error response when invalid data is provided in the request. TokenBoundDataMismatch: summary: TokenBoundDataMismatch response example value: code: TOKEN_BOUND_DATA_MISMATCH message: >- The page_token given seems to be invalid or input param is added or altered or deleted status: error details: param_name: page_token description: Shows the response for the TokenBoundDataMismatch scenario. ExpiredValue: summary: ExpiredValue response example value: status: error code: EXPIRED_VALUE message: Page token expired details: api_name: page_token json_path: $.query.page_token description: Shows the response for the ExpiredValue scenario. '401': description: >- Authentication failed because the OAuth token is missing, expired, or does not include the required scope. **Resolution:** A new access token must be generated with the required scope for this operation. content: application/json: schema: $ref: '#/components/schemas/RecordUnauthorizedResponse' examples: ScopeMismatch: summary: OAuth access token missing the required scope value: code: OAUTH_SCOPE_MISMATCH message: Unauthorized status: error details: {} description: >- Shows the 401 error response when the OAuth access token does not include the required scope for this operation. '403': description: >- Permission denied to retrieve record in the specified module. **Resolution:** The CRM administrator must grant the required retrieval permission to the user's profile. content: application/json: schema: $ref: '#/components/schemas/RecordPermissionResponse' examples: NoPermission: summary: User profile lacks the required module permission value: code: NO_PERMISSION message: Permission denied status: error details: permissions: - Crm_Implied_View_Leads description: >- Shows the 403 error response when the user profile lacks the required module permission. '404': description: >- The request URL does not match any valid API endpoint pattern. **Resolution:** The API endpoint URL must be verified for correct format and path parameters. content: application/json: schema: $ref: '#/components/schemas/RecordInvalidURLResponse' examples: InvalidUrlPattern: summary: Invalid or unrecognized API endpoint URL pattern value: code: INVALID_URL_PATTERN message: Please check if the URL trying to access is a correct one status: error details: {} description: >- Shows the 404 error response when the API endpoint URL does not match any recognized pattern. '500': description: >- An unexpected server error occurred while processing the request. **Resolution:** The request can be retried after some time. If the error persists, Zoho CRM support must be contacted. content: application/json: schema: $ref: '#/components/schemas/RecordInternalErrorResponse' examples: InternalError: summary: Unexpected internal server error during processing value: code: INTERNAL_ERROR message: Internal Server Error status: error details: {} description: >- Shows the 500 error response when an unexpected server error occurs. security: - OAuth2: - ZohoCRM.modules.READ put: operationId: updateRecord description: >- To update the field values of a specific record in the specified module in your Zoho CRM organization. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. Use the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to retrieve the field IDs and API names. summary: Update a specific record by ID tags: - Records parameters: - $ref: '#/components/parameters/Module' - $ref: '#/components/parameters/Record' requestBody: content: application/json: schema: description: >- Request body containing the updated resource data to modify the existing record. $ref: '#/components/schemas/RecordsSinglePutInputSchema' examples: Leads: summary: Records retrieved from the Leads module value: data: - Layout: id: '554023000002734009' Lead_Source: Employee Referral Company: ABC Last_Name: Daly First_Name: Paul Email: p.daly@zylker.com State: Texas id: '111112000000142001' apply_feature_execution: - name: layout_rules skip_feature_execution: - name: cadences trigger: - approval - workflow - blueprint - pathfinder - orchestration description: >- Shows the request body structure for the updateRecord operation. required: true description: >- The request body must contain a **data** array with one object. The object must include an **id** field to identify the record to update. responses: '200': description: >- Returns the details of each successfully updated record, including the record ID and audit metadata. content: application/json: schema: $ref: '#/components/schemas/RecordSuccessResponse' examples: Success: summary: Successfully completed operation value: data: - code: SUCCESS details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '5725767000000524157' Created_By: name: Patricia Boyle id: '5725767000000411001' $approval_state: approved message: record updated status: success description: >- Shows the successful response for the updateRecord operation, including the record ID and audit metadata. '400': description: >- The request could not be processed because one or more records contain invalid data or missing required fields. **Resolution:** Each error in the data array identifies the specific record and field that caused the failure. The request must be corrected and resubmitted. content: application/json: schema: $ref: '#/components/schemas/RecordsIDPutErrorResponse' examples: InvalidData: summary: Invalid field value in the request value: data: - code: INVALID_DATA message: The field value given for Company is invalid status: error details: api_name: Company json_path: $.data[0].Company description: >- Shows the error response when invalid data is provided in the request. InvalidDataType: summary: Field value with an incorrect data type value: data: - code: INVALID_DATA details: expected_data_type: integer api_name: Number_1 json_path: $.data[0].Number_1 message: invalid data status: error description: >- Shows the error response when a field value does not match the expected data type. InvalidSupportedValue: summary: Unsupported value for a fixed-value field value: data: - code: INVALID_DATA details: api_name: name json_path: $.apply_feature_execution[0].name supported_values: - layout_rules - range_validation - assignment_rules - function_validation_rule - criteria_validation_rule - global_map_dependency - territory_subordinates message: invalid data status: error description: >- Shows the error response when an unsupported value is provided for a fixed-value field. InvalidDataLength: summary: Field value exceeds the maximum allowed length value: data: - code: INVALID_DATA details: maximum_length: 2 api_name: Number_1 json_path: $.data[0].Number_1 message: invalid data status: error description: >- Shows the error response when a field value exceeds the maximum allowed length. InvalidModule: summary: Invalid module API name in the request value: data: - code: INVALID_MODULE details: resource_path_index: 0 message: the module name given seems to be invalid status: error description: >- Shows the error response when an invalid module name is provided in the request URL. MultipleErrors: summary: Multiple validation errors in a single record value: data: - code: MULTIPLE_OR_MULTI_ERRORS details: errors: - code: DUPLICATE_DATA details: api_name: Email duplicate_record: Owner: name: Prajesh Kumar S id: '4881139000000307001' zuid: '736078909' module: api_name: Leads id: '4881139000000002175' id: '4881139000000428295' json_path: $.data[0].Email more_records: true message: duplicate data status: error - code: DUPLICATE_DATA details: api_name: Mobile duplicate_record: Owner: name: Prajesh Kumar S id: '4881139000000307001' zuid: '736078909' module: api_name: Leads id: '4881139000000002175' id: '4881139000002432007' json_path: $.data[0].Mobile more_records: true message: duplicate data status: error message: Multiple errors in the request status: error description: >- Shows the error response when a single record has multiple validation failures. DependentFieldMissing: summary: Required dependent field missing from the request value: data: - code: DEPENDENT_FIELD_MISSING details: dependee: api_name: Product_Category json_path: $.data[0].Product_Category api_name: Product_Subcategory json_path: $.data[0].Product_Subcategory message: >- The field 'Product_Subcategory' is required when 'Product_Category' is provided status: error description: >- Shows the error response when a required dependent field is absent from the request. MandatoryNotFound: summary: Required field missing from the request value: data: - code: MANDATORY_NOT_FOUND details: api_name: id json_path: $.data.service.id message: Service Id Not Found status: error description: >- Shows the error response when a required field is missing from the request. MandatoryNotFoundLayoutRule: summary: Layout rule mandatory field absent from the request value: data: - code: MANDATORY_NOT_FOUND details: layout_rule: name: Layout Rule id: '5410702000000761547' api_name: Phone json_path: $.data[0].Phone message: required field not found status: error description: >- Shows the error response when a field made mandatory by a Layout Rule is absent from the update request. Use the [Get Layouts Metadata API](layouts.yaml#$.paths./settings/layouts.get) to retrieve Layout IDs. DependentMismatch: summary: Dependent field value conflicts with controlling field value: data: - code: DEPENDENT_MISMATCH details: dependee: api_name: Status json_path: $.data[0].Status api_name: Unavailable_Till json_path: $.data[0].Unavailable_Till message: Unavailable Till must be greater than current Time. status: error description: >- Shows the error response when a dependent field value conflicts with its controlling field. InvalidRequestMethod: summary: Unsupported HTTP method for this endpoint value: data: - status: error message: The HTTP request method type is not a valid one. code: INVALID_REQUEST_METHOD details: resource_path_index: 0 description: >- Shows the error response when an unsupported HTTP method is used for this endpoint. AuthorizationFailed: summary: Insufficient privileges for the operation value: data: - code: AUTHORIZATION_FAILED details: resource_path_index: 0 message: >- User does not have sufficient privilege to perform this action status: error description: >- Shows the error response when the user does not have sufficient privileges for this operation. DuplicateDataError: summary: Duplicate unique field value matches an existing record value: data: - code: DUPLICATE_DATA details: api_name: Unique_1 duplicate_record: Owner: name: Pranav id: '2008662000000454001' zuid: '75092197' id: '2008662000006256222' json_path: $.data[0].Unique_1 id: '2008662000006256222' more_records: false message: duplicate data status: error description: >- Shows the error response when a unique field value already exists in the module. RecordLockedError: summary: Record is locked and cannot be modified value: data: - code: RECORD_LOCKED details: api_name: id json_path: $.data[0].id action: record_locking message: >- Sorry, you cannot perform this operation as the record is locked. status: error description: >- Shows the error response when the target record is locked and cannot be modified. NotApprovedError: summary: Record is not approved and cannot be modified value: code: NOT_APPROVED details: resource_path_index: 1 message: Cannot update record that is not approved yet status: error description: >- Shows the error response when the record has not been approved and cannot be modified. NotReviewedError: summary: Record is under review and cannot be modified value: data: - code: NOT_REVIEWED details: {} message: record in review status: error description: >- Shows the error response when the record is under review and cannot be modified. LimitExceededError: summary: Record count exceeds the allowed limit per request value: data: - code: LIMIT_EXCEEDED details: maximum_length: 100 api_name: data message: count of records in your request exceeds the limit status: error description: >- Shows the error response when the number of records in the request exceeds the allowed limit. ResourcePathIndexError: summary: Invalid resource path index reference value: data: - code: INVALID_DATA message: record not deleted details: resource_path_index: 1 status: error description: >- Shows the error response when the resource path index indicates an invalid data reference. '401': description: >- Authentication failed because the OAuth token is missing, expired, or does not include the required scope. **Resolution:** A new access token must be generated with the required scope for this operation. content: application/json: schema: $ref: '#/components/schemas/RecordUnauthorizedResponse' examples: OauthScopeMismatch: summary: OAuth access token missing the required scope value: code: OAUTH_SCOPE_MISMATCH message: Unauthorized status: error details: {} description: >- Shows the 401 error response when the OAuth access token does not include the required scope for this operation. '403': description: >- Permission denied to update record in the specified module. **Resolution:** The CRM administrator must grant the required update permission to the user's profile. content: application/json: schema: $ref: '#/components/schemas/RecordPermissionResponse' examples: NoPermission: summary: User profile lacks the required module permission value: code: NO_PERMISSION message: Permission denied status: error details: permissions: - Crm_Implied_View_Leads description: >- Shows the 403 error response when the user profile lacks the required module permission. '404': description: >- The request URL does not match any valid API endpoint pattern. **Resolution:** The API endpoint URL must be verified for correct format and path parameters. content: application/json: schema: $ref: '#/components/schemas/RecordInvalidURLResponse' examples: InvalidUrlPattern: summary: Invalid or unrecognized API endpoint URL pattern value: code: INVALID_URL_PATTERN message: Please check if the URL trying to access is a correct one status: error details: {} description: >- Shows the 404 error response when the API endpoint URL does not match any recognized pattern. '412': description: >- The record has been modified after the timestamp specified in the If-Unmodified-Since header. **Resolution:** The latest version of the record must be retrieved and the update must be resubmitted with the current modification timestamp. content: application/json: schema: type: object description: >- Represents the error response returned when the record has been modified after the If-Unmodified-Since timestamp. x-zs-$id: RecordAlreadyModifiedResponse additionalProperties: false properties: data: type: array description: Contains the list of per-record results for the operation. maxItems: 100 items: type: object description: >- Represents a single record operation result, which is either a success or error item identified by the **status** field. additionalProperties: false properties: code: type: string description: >- Contains the list of per-record results for the operation. enum: - ALREADY_MODIFIED message: type: string description: >- Contains the list of per-record results for the operation. maxLength: 255 status: type: string description: >- Contains the list of per-record results for the operation. enum: - error details: type: object description: >- Contains the list of per-record results for the operation. additionalProperties: false properties: Modified_Time: type: string format: date-time description: >- Contains the list of per-record results for the operation. Created_Time: type: string format: date-time description: >- Contains the list of per-record results for the operation. id: type: string description: >- Contains the list of per-record results for the operation. format: int64 Modified_By: type: object additionalProperties: false description: >- Contains the list of per-record results for the operation. properties: name: type: string description: >- Contains the list of per-record results for the operation. maxLength: 101 id: type: string description: >- Contains the list of per-record results for the operation. format: int64 required: - name - id Created_By: type: object additionalProperties: false description: >- Contains the list of per-record results for the operation. properties: name: type: string description: >- Contains the list of per-record results for the operation. maxLength: 101 id: type: string description: >- Contains the list of per-record results for the operation. format: int64 required: - name - id required: - id required: - code - message - status minItems: 1 required: - data examples: AlreadyModified: summary: Record already modified after the specified timestamp description: >- Shows the 412 error response when the record has been modified after the If-Unmodified-Since timestamp. value: data: - code: ALREADY_MODIFIED message: >- record updated time has already passed if-unmodified-since time status: error details: Modified_Time: '2023-06-04T12:00:24+05:30' Created_Time: '2023-04-17T16:23:25+05:30' id: '492070000199308229' Modified_By: name: Senthilkumar id: '492070000000209017' Created_By: name: Senthilkumar id: '492070000000209017' '500': description: >- An unexpected server error occurred while processing the request. **Resolution:** The request can be retried after some time. If the error persists, Zoho CRM support must be contacted. content: application/json: schema: $ref: '#/components/schemas/RecordInternalErrorResponse' examples: InternalError: summary: Unexpected internal server error during processing value: code: INTERNAL_ERROR message: Internal Server Error status: error details: {} description: >- Shows the 500 error response when an unexpected server error occurs. security: - OAuth2: - ZohoCRM.modules.UPDATE delete: operationId: deleteRecord summary: Delete a specific record by ID description: >- To permanently delete a specific record by its unique ID from the specified module in your Zoho CRM organization. Use the [Get Records API](record.yaml#$.paths./module.get) to retrieve the record IDs. tags: - Records parameters: - $ref: '#/components/parameters/Module' - $ref: '#/components/parameters/Record' responses: '200': description: Returns the deletion status for each record successfully deleted. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteByIdSuccessResponse' examples: SuccessfulDeletion: summary: Successfully deleted records value: data: - code: SUCCESS message: record deleted status: success details: id: '5843104000000624046' description: >- Shows the successful response for the deleteRecord operation, including the record ID and audit metadata. '400': description: >- The request could not be processed because of an invalid module, missing parameters, or invalid record IDs. **Resolution:** The request must include valid module API name and record IDs. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteByIdErrorResponse' examples: InvalidRecordId: summary: Invalid record ID in the request URL value: code: INVALID_DATA message: invalid record id details: resource_path_index: 0 status: error description: >- Shows the error response when an invalid record ID is provided in the URL. RecordNotDeleted: summary: Record could not be deleted due to invalid data value: code: INVALID_DATA message: record not deleted details: resource_path_index: 1 status: error description: >- Shows the error response when a record cannot be deleted due to invalid data. UnableToParseDataType: summary: Request body or parameters in incorrect format value: code: INVALID_DATA message: either the request body or parameters is in wrong format details: resource_path_index: 1 status: error description: >- Shows the error response when the request body or parameters are in an incorrect format. InvalidModule: summary: Invalid module API name in the request value: code: INVALID_MODULE message: the module name given seems to be invalid details: resource_path_index: 0 status: error description: >- Shows the error response when an invalid module name is provided in the request URL. InvalidRequestMethod: summary: Unsupported HTTP method for this endpoint value: code: INVALID_REQUEST_METHOD message: The http request method type is not a valid one details: {} status: error description: >- Shows the error response when an unsupported HTTP method is used for this endpoint. AuthorizationFailed: summary: Insufficient privileges for the operation value: code: AUTHORIZATION_FAILED message: User does not have sufficient privilege to delete records details: {} status: error description: >- Shows the error response when the user does not have sufficient privileges for this operation. RecordLocked: summary: Record is locked and cannot be modified value: data: - code: RECORD_LOCKED details: action: record_locking id: '5040565000001052497' message: >- You cannot perform this operation as the record is locked. status: error description: >- Shows the error response when the target record is locked and cannot be modified. NotApproved: summary: Record is not approved and cannot be deleted value: data: - code: NOT_APPROVED details: id: '5040565000001052497' message: cannot delete record that is not approved yet status: error description: >- Shows the error response when the record has not been approved and cannot be deleted. MissingParam: summary: Required parameter missing from the request value: code: REQUIRED_PARAM_MISSING message: Required parameter is missing details: param_name: ids status: error description: >- Shows the error response when a required parameter is missing from the request. '401': description: >- Authentication failed because the OAuth token is missing, expired, or does not include the required scope. **Resolution:** A new access token must be generated with the required scope for this operation. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteByIdUnauthorizedResponse' examples: ScopeMismatch: summary: OAuth access token missing the required scope value: code: OAUTH_SCOPE_MISMATCH message: Unauthorized status: error details: {} description: >- Shows the 401 error response when the OAuth access token does not include the required scope for this operation. '403': description: >- Permission denied to delete record in the specified module. **Resolution:** The CRM administrator must grant the required deletion permission to the user's profile. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteByIdNoPermissionResponse' examples: NoPermission: summary: User profile lacks the required module permission value: code: NO_PERMISSION message: Permission denied to delete status: error details: permissions: - Crm_Implied_View_Leads description: >- Shows the 403 error response when the user profile lacks the required module permission. '404': description: >- The request URL does not match any valid API endpoint pattern. **Resolution:** The API endpoint URL must be verified for correct format and path parameters. content: application/json: schema: $ref: '#/components/schemas/RecordDeleteByIdInvalidUrlPatternResponse' examples: InvalidUrlPattern: summary: Invalid or unrecognized API endpoint URL pattern value: code: INVALID_URL_PATTERN message: Please check if the URL trying to access is a correct one status: error details: {} description: >- Shows the 404 error response when the API endpoint URL does not match any recognized pattern. '500': description: >- An unexpected server error occurred while processing the request. **Resolution:** The request can be retried after some time. If the error persists, Zoho CRM support must be contacted. content: application/json: schema: $ref: >- #/components/schemas/RecordDeleteByIdInternalServerErrorResponse examples: InternalError: summary: Unexpected internal server error during processing value: data: - code: INTERNAL_ERROR message: Internal Server Error status: error details: {} description: >- Shows the 500 error response when an unexpected server error occurs. security: - OAuth2: - ZohoCRM.modules.DELETE /{module}/{recordId}/actions/clone: post: operationId: cloneRecord summary: Record Clone description: >- Clones a record in the specified module. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. Use the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to retrieve the field IDs and API names. By default, the field values of the parent record are copied to the cloned record. To modify or add field values, specify the field API names and their corresponding values in the input body. If no field values need to be modified, the input body can be omitted. Mandatory fields specified in the input must not be null. The Sample Inputs, Sample Responses, and Possible Errors documented for the [Insert Records API](record.yaml#$.paths./module.post) also apply to the [Record Clone API](record.yaml#$.paths./{module}/{recordId}/actions/clone.post). tags: - Records parameters: - $ref: '#/components/parameters/Module' - $ref: '#/components/parameters/Record' requestBody: content: application/json: schema: description: >- By default, when you clone a record, the field values of the parent record will also be copied to the cloned record. If you want to modify certain fields or to add value to some fields, specify their field API names and their corresponding values in the input body. $ref: '#/components/schemas/RecordsInputSchema' examples: Leads: summary: Records retrieved from the Leads module value: data: - Lead_Source: Employee Referral Company: ABC Last_Name: Daly First_Name: Paul Email: p.daly@zylker.com State: Texas id: '111112000000142001' apply_feature_execution: - name: layout_rules skip_feature_execution: - name: cadences description: >- Use the "skip_feature_execution" array to skip Cadences execution when creating a record through the API. Specify "cadences" as the value of the "name" key and include this key alongside "data" in the request. required: true description: >- The request body must contain a **data** array with one object containing the field values to override in the cloned record. responses: '201': description: >- Returns the details of each successfully cloned record, including the record ID and audit metadata. content: application/json: schema: $ref: '#/components/schemas/RecordSuccessResponse' examples: Success: summary: Successfully completed operation value: data: - code: SUCCESS details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '5725767000000524157' Created_By: name: Patricia Boyle id: '5725767000000411001' $approval_state: approved message: record added status: success description: >- Shows the successful response for the cloneRecord operation, including the record ID and audit metadata. '400': description: >- The request could not be processed because one or more records contain invalid data or missing required fields. **Resolution:** Each error in the data array identifies the specific record and field that caused the failure. The request must be corrected and resubmitted. content: application/json: schema: x-zs-$id: RecordCloneErrorResponse oneOf: - $ref: '#/components/schemas/DependentFieldMissingError' - $ref: '#/components/schemas/RecordDeleteByIdInvalidDataError' - $ref: '#/components/schemas/RecordsIdPostErrorResponse' - $ref: '#/components/schemas/InvalidModuleGETError' examples: InvalidData: summary: Invalid field value in the request value: data: - code: INVALID_DATA message: The field value given for Company is invalid status: error details: api_name: Company json_path: $.data[0].Company description: >- Shows the error response when invalid data is provided in the request. InvalidDataType: summary: Field value with an incorrect data type value: data: - code: INVALID_DATA details: expected_data_type: integer api_name: Number_1 json_path: $.data[0].Number_1 message: invalid data status: error description: >- Shows the error response when a field value does not match the expected data type. InvalidSupportedValue: summary: Unsupported value for a fixed-value field value: data: - code: INVALID_DATA details: api_name: name json_path: $.apply_feature_execution[0].name supported_values: - layout_rules - range_validation - assignment_rules - function_validation_rule - criteria_validation_rule - global_map_dependency - territory_subordinates message: invalid data status: error description: >- Shows the error response when an unsupported value is provided for a fixed-value field. InvalidDataLength: summary: Field value exceeds the maximum allowed length value: data: - code: INVALID_DATA details: maximum_length: 2 api_name: Number_1 json_path: $.data[0].Number_1 message: invalid data status: error description: >- Shows the error response when a field value exceeds the maximum allowed length. InvalidModule: summary: Invalid module API name in the request value: data: - code: INVALID_MODULE details: resource_path_index: 0 message: the module name given seems to be invalid status: error description: >- Shows the error response when an invalid module name is provided in the request URL. MultipleErrors: summary: Multiple validation errors in a single record value: data: - code: MULTIPLE_OR_MULTI_ERRORS details: errors: - code: DUPLICATE_DATA details: api_name: Email duplicate_record: Owner: name: Prajesh Kumar S id: '4881139000000307001' zuid: '736078909' module: api_name: Leads id: '4881139000000002175' id: '4881139000000428295' json_path: $.data[0].Email more_records: true message: duplicate data status: error - code: DUPLICATE_DATA details: api_name: Mobile duplicate_record: Owner: name: Prajesh Kumar S id: '4881139000000307001' zuid: '736078909' module: api_name: Leads id: '4881139000000002175' id: '4881139000002432007' json_path: $.data[0].Mobile more_records: true message: duplicate data status: error message: Multiple errors in the request status: error description: >- Shows the error response when a single record has multiple validation failures. DependentServiceError: summary: Dependent external service error during processing value: data: - code: DEPENDENT_SERVICE_ERROR details: dependency_error: NO_PERMISSION message: >- The dependent service does not have permission to complete the operation status: error description: >- Shows the error response when a dependent external service fails during the operation. MandatoryNotFound: summary: Required field missing from the request value: data: - code: MANDATORY_NOT_FOUND details: api_name: id json_path: $.data.service.id message: Service Id Not Found status: error description: >- Shows the error response when a required field is missing from the request. MandatoryNotFoundLayoutRule: summary: Layout rule mandatory field absent from the request value: data: - code: MANDATORY_NOT_FOUND details: layout_rule: name: Layout Rule id: '5410702000000761547' api_name: Phone json_path: $.data[0].Phone message: required field not found status: error description: >- Shows the error response when a field made mandatory by a Layout Rule is absent from the clone request. Use the [Get Layouts Metadata API](layouts.yaml#$.paths./settings/layouts.get) to retrieve Layout IDs. InvalidRequestMethod: summary: Unsupported HTTP method for this endpoint value: data: - status: error message: The HTTP request method type is not a valid one. code: INVALID_REQUEST_METHOD details: resource_path_index: 0 description: >- Shows the error response when an unsupported HTTP method is used for this endpoint. AuthorizationFailed: summary: Insufficient privileges for the operation value: data: - code: AUTHORIZATION_FAILED details: resource_path_index: 0 message: >- User does not have sufficient privilege to perform this action status: error description: >- Shows the error response when the user does not have sufficient privileges for this operation. DuplicateDataError: summary: Duplicate unique field value matches an existing record value: data: - code: DUPLICATE_DATA details: api_name: Unique_1 duplicate_record: Owner: name: Pranav id: '2008662000000454001' zuid: '75092197' id: '2008662000006256222' json_path: $.data[0].Unique_1 id: '2008662000006256222' more_records: false message: duplicate data status: error description: >- Shows the error response when a unique field value already exists in the module. ResourcePathIndexError: summary: Invalid resource path index reference value: data: - code: INVALID_DATA message: record not deleted details: resource_path_index: 1 status: error description: >- Shows the error response when the resource path index indicates an invalid data reference. '401': description: >- Authentication failed because the OAuth token is missing, expired, or does not include the required scope. **Resolution:** A new access token must be generated with the required scope for this operation. content: application/json: schema: x-zs-$id: RecordUnauthorizedOrAuthenticationFailureResponse description: Represents the response schema for the cloneRecord operation. oneOf: - $ref: '#/components/schemas/RecordUnauthorizedResponse' - $ref: '#/components/schemas/RecordAuthenticationFailureResponse' examples: OauthScopeMismatch: summary: OAuth access token missing the required scope value: code: OAUTH_SCOPE_MISMATCH message: Unauthorized status: error details: {} description: >- Shows the 401 error response when the OAuth access token does not include the required scope for this operation. AuthenticationFailure: summary: Authentication token missing or invalid value: code: AUTHENTICATION_FAILURE details: {} message: Authentication failed status: error description: >- Shows the 401 error response when the authentication token is missing or invalid. '403': description: >- Permission denied to clone record in the specified module. **Resolution:** The CRM administrator must grant the required clone permission to the user's profile. content: application/json: schema: $ref: '#/components/schemas/RecordPermissionResponse' examples: NoPermission: summary: User profile lacks the required module permission value: code: NO_PERMISSION message: Permission denied status: error details: permissions: - Crm_Implied_View_Leads description: >- Shows the 403 error response when the user profile lacks the required module permission. '404': description: >- The request URL does not match any valid API endpoint pattern. **Resolution:** The API endpoint URL must be verified for correct format and path parameters. content: application/json: schema: $ref: '#/components/schemas/RecordInvalidURLResponse' examples: InvalidUrlPattern: summary: Invalid or unrecognized API endpoint URL pattern value: code: INVALID_URL_PATTERN message: Please check if the URL trying to access is a correct one status: error details: {} description: >- Shows the 404 error response when the API endpoint URL does not match any recognized pattern. '500': description: >- An unexpected server error occurred while processing the request. **Resolution:** The request can be retried after some time. If the error persists, Zoho CRM support must be contacted. content: application/json: schema: $ref: '#/components/schemas/RecordInternalErrorResponse' examples: InternalError: summary: Unexpected internal server error during processing value: code: INTERNAL_ERROR message: Internal Server Error status: error details: {} description: >- Shows the 500 error response when an unexpected server error occurs. security: - OAuth2: - ZohoCRM.modules.CREATE components: parameters: Module: name: module example: Leads description: >- Specify the API name of the module. Use the [Get Modules API](modules.yaml#$.paths./settings/modules.get) to retrieve the module ID and API name. in: path required: true schema: type: string maxLength: 25 Fields: name: fields description: >- Specify a comma-separated list of field API names to include in the response. Use the [Get Fields Metadata API](fields.yaml#$.paths./settings/fields.get) to retrieve the field IDs and API names. in: query required: true schema: type: string Record: name: recordId description: >- Specify the unique ID of the record. Use the [Get Records API](record.yaml#$.paths./module.get) to retrieve the record IDs. in: path required: true schema: type: string format: int64 TerritoryId: name: territory_id description: >- Specify the unique ID of the territory. Use the [Get Territories API](territories.yaml#$.paths./settings/territories.get) to retrieve the territory ID. in: query schema: type: string format: int64 Ids: name: ids description: >- Specify a comma-separated list of record IDs. Use the [Get Records API](record.yaml#$.paths./module.get) to retrieve the record IDs. in: query style: form explode: false schema: type: array uniqueItems: true items: type: string format: int64 description: Unique record ID in int64 string format. minItems: 1 Cvid: name: cvid description: >- Specify the unique ID of the Custom View. Use the [Get Custom Views Metadata API](custom_views.yaml#$.paths./settings/custom_views.get) to retrieve the Custom View IDs. in: query schema: type: string format: int64 Filters: name: filters in: query schema: $ref: '#/components/schemas/FilterCriterionRequest' description: >- Specify the filter criteria for retrieving specific Custom Views. Accepts a filter object to narrow down results based on Custom View properties. CrossFilters: name: cross_filters in: query style: deepObject explode: true schema: $ref: '#/components/schemas/CrossFiltersRequest' description: >- Specify the filter criteria for retrieving specific Custom Views. Accepts a filter object to narrow down results based on Custom View properties. FilterId: name: filterId in: query description: The filter identifier schema: format: int64 type: string description: The filter identifier x-zs-$ref: resource: filters origins: - operationId: getFilters propertyId: FilterId maxLength: 20 PerPage: name: per_page description: Specify the number of records to return per page. Maximum is 200. in: query schema: type: integer format: int32 maximum: 200 minimum: 1 Page: name: page description: Specify the page number to retrieve. Starts at 1. in: query schema: type: integer format: int32 minimum: 1 PageToken: name: page_token description: >- Specify the page token to retrieve records beyond the first 2,000 results. Use the **next_page_token** value from a previous response to access the next page of results. in: query schema: type: string maxLength: 96 SortOrder: name: sort_order description: >- Specify the sort order for the records.
Possible values:
desc - Returns records in descending order.
asc - Returns records in ascending order. in: query schema: type: string enum: - desc - asc SortBy: name: sort_by description: >- Specify the field to sort records by. Possible values:**id** - Sorts by record ID. **Created_Time** - Sorts by creation timestamp. **Modified_Time** - Sorts by last modification timestamp. in: query schema: type: string enum: - id - Created_Time - Modified_Time Converted: name: converted description: >- Specify whether to retrieve converted, unconverted, or both types of records. Possible values:**false** - Returns only unconverted records. **true** - Returns only converted records. **both** - Returns both converted and unconverted records. in: query schema: type: string enum: - 'false' - 'true' - both IncludeChild: name: include_child description: >- Specify whether to include records assigned to child territories of the specified territory. in: query schema: type: boolean DeletedRecordsType: name: type description: >- Specify the category of deleted records to retrieve. Possible values: **all** - Returns both recycled and permanently deleted records. **recycle** - Returns only records in the Recycle Bin. **permanent** - Returns only permanently deleted records. in: query required: false schema: type: string enum: - all - recycle - permanent default: all maxLength: 20 IfModifiedSince: name: If-Modified-Since in: header description: >- Use this header to get the list of records modified after the specified timestamp. The timestamp must be in ISO 8601 format. required: false schema: type: string format: date-time maxLength: 100 example: '2019-07-25T15:26:49+05:30' schemas: RecordsUpsertSchema: type: object x-zs-$id: RecordsUpsertSchema description: >- Request body schema for upsert operations, allowing creation or update of records based on duplicate fields. additionalProperties: false required: - data properties: data: type: array maxItems: 100 description: List of records to be created or updated using the upsert operation. items: $ref: '#/components/schemas/RecordSinglePutWriteDataItem' minItems: 1 trigger: $ref: '#/components/schemas/RecordsInputSchema/properties/trigger' duplicate_check_fields: type: array description: >- Specifies the fields used to check for duplicate records during an Upsert operation. Duplicate check fields can be system-defined unique fields or user-defined unique fields. The following are the system-defined duplicate check fields for the respective modules: Leads - "Email"; Accounts - "Account_Name"; Contacts - "Email"; Deals - "Deal_Name"; Campaigns - "Campaign_Name"; Cases - "Subject"; Solutions - "Solution_Title"; Products - "Product_Name"; Vendors - "Vendor_Name"; PriceBooks - "Price_Book_Name"; Quotes - "Subject"; SalesOrders - "Subject"; PurchaseOrders - "Subject"; Invoices - "Subject"; Custom Modules - "Name". If a matching record is found based on these fields, the record is updated; otherwise, a new record is inserted. items: type: string description: API name of the field used for duplicate record verification. maxLength: 100 wf_trigger: type: - string - 'null' description: >- Workflow trigger identifier to be executed as part of the upsert operation. maxLength: 50 lar_id: description: >- The unique ID of the assignment rule to trigger while inserting a record. Use the Get Assignment Rules API to retrieve valid values. This key must be provided parallel to the data key. Supported for all modules where assignment rules are applicable, such as Leads, Contacts, Deals, Accounts, Tasks, Cases, and Custom. x-zs-$ref: resource: assignment_rules origins: - operationId: getAssignmentRules propertyId: AssignmentRuleId type: string pattern: ^[1-9][0-9]{0,18}$ minLength: 1 maxLength: 19 RecordsInputSchema: description: Represents the RecordsInputSchema data structure. type: object x-zs-$id: RecordWriteRequest additionalProperties: false required: - data properties: data: type: array maxItems: 100 description: Represents the data value. items: $ref: '#/components/schemas/RecordWriteDataItem' minItems: 1 apply_feature_execution: type: array description: >- Use the "apply_feature_execution" array to trigger supported CRM features when creating or updating a record through the API. Specify "layout_rules" to apply layout rules or "criteria_validation_rule" to trigger validation rules. For "layout_rules", ensure the request includes all fields required by the layout rule criteria; otherwise, the API returns an error. For "criteria_validation_rule", all applicable validation rules are evaluated, and the API returns "MULTIPLE_OR_MULTI_ERRORS" if multiple rules fail. items: type: object description: Represents a single item in the RecordsInputSchema array. additionalProperties: false properties: name: type: string description: Represents the apply feature execution value. enum: - layout_rules - range_validation - assignment_rules - function_validation_rule - criteria_validation_rule - global_map_dependency - territory_subordinates required: - name skip_feature_execution: type: array description: >- Use the "skip_feature_execution" array to skip Cadences execution when creating a record through the API. Specify "cadences" as the value of the "name" key and include this key alongside "data" in the request. items: type: object description: Represents a single item in the RecordsInputSchema array. additionalProperties: false properties: name: type: string description: Represents the skip feature execution value. enum: - assignment_rules - cadences - connected_workflows required: - name trigger: type: array description: >- Specifies the CRM features to execute for the API request. Supported values are "workflow", "approval", and "blueprint". If the "trigger" parameter is not specified, workflows, approvals, and blueprints related to the API are executed. Specify an empty array [] to prevent these features from executing. items: type: string description: Represents a single item in the RecordsInputSchema array. enum: - approval - workflow - blueprint - pathfinder - orchestration examples: - data: - Company: ABC Last_Name: Daly First_Name: Paul Email: p.daly@zylker.com State: Texas Layout: id: '554023000002734009' Lead_Source: Employee Referral apply_feature_execution: - name: layout_rules skip_feature_execution: - name: cadences trigger: - approval - workflow - blueprint - pathfinder - orchestration RecordsSinglePutInputSchema: description: Represents the RecordsSinglePutInputSchema data structure. type: object x-zs-$id: RecordsSinglePutInputSchema additionalProperties: false required: - data properties: data: type: array maxItems: 100 description: Represents the data value. items: $ref: '#/components/schemas/RecordSinglePutWriteDataItem' minItems: 1 apply_feature_execution: type: array description: >- Use the "apply_feature_execution" array to trigger supported CRM features when creating or updating a record through the API. Specify "layout_rules" to apply layout rules or "criteria_validation_rule" to trigger validation rules. For "layout_rules", ensure the request includes all fields required by the layout rule criteria; otherwise, the API returns an error. For "criteria_validation_rule", all applicable validation rules are evaluated, and the API returns "MULTIPLE_OR_MULTI_ERRORS" if multiple rules fail. items: type: object description: Represents a single item in the RecordsSinglePutInputSchema array. additionalProperties: false properties: name: type: string description: Represents the apply feature execution value. enum: - layout_rules - range_validation - assignment_rules - function_validation_rule - criteria_validation_rule - global_map_dependency - territory_subordinates required: - name skip_feature_execution: type: array description: Represents the skip feature execution value. items: type: object description: Represents a single item in the RecordsSinglePutInputSchema array. additionalProperties: false properties: name: type: string description: Represents the skip feature execution value. enum: - assignment_rules - cadences - connected_workflows required: - name trigger: type: array description: Represents the trigger value. items: type: string description: Represents a single item in the RecordsSinglePutInputSchema array. enum: - approval - workflow - blueprint - pathfinder - orchestration RecordsPutInputSchema: description: Represents the RecordsPutInputSchema data structure. type: object x-zs-$id: RecordPutWriteRequest additionalProperties: false required: - data properties: data: type: array maxItems: 100 description: Represents the data value. items: $ref: '#/components/schemas/RecordPutWriteDataItem' minItems: 1 apply_feature_execution: type: array description: Represents the apply feature execution value. items: type: object description: Represents a single item in the RecordsPutInputSchema array. additionalProperties: false properties: name: type: string description: Represents the apply feature execution value. enum: - layout_rules - range_validation - assignment_rules - function_validation_rule - criteria_validation_rule - global_map_dependency - territory_subordinates required: - name skip_feature_execution: type: array description: Represents the skip feature execution value. items: type: object description: Represents a single item in the RecordsPutInputSchema array. additionalProperties: false properties: name: type: string description: Represents the skip feature execution value. enum: - assignment_rules - cadences - connected_workflows required: - name trigger: type: array description: Represents the trigger value. items: type: string description: Represents a single item in the RecordsPutInputSchema array. enum: - approval - workflow - blueprint - pathfinder - orchestration RecordsUpsertErrorResponse: x-zs-$id: RecordsUpsertErrorResponse oneOf: - $ref: '#/components/schemas/InvalidMaxLengthError' - $ref: '#/components/schemas/NotApprovedError' - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/MandatoryNotFoundError' - $ref: '#/components/schemas/InvalidSupportedValuesError' - $ref: '#/components/schemas/RecordsDataUpsertErrorResponse' - $ref: '#/components/schemas/DependentFieldMissingError' RecordsDataUpsertErrorResponse: x-zs-$id: RecordsDataUpsertErrorResponse description: >- Standard error response schema returned when one or more record operations fail. additionalProperties: false properties: data: type: array maxItems: 100 description: >- List of error objects describing failures encountered while processing record operation requests. items: description: >- Error object that can be one of multiple error types based on the error code. oneOf: - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/InvalidSupportedValuesError' - $ref: '#/components/schemas/InvalidMaxLengthError' - $ref: '#/components/schemas/InvalidDataValueError' - $ref: '#/components/schemas/InvalidModuleError' - $ref: '#/components/schemas/MultipleOrMultiErrorsError' - $ref: '#/components/schemas/DependentFieldMissingError' - $ref: '#/components/schemas/DependentServiceError' - $ref: '#/components/schemas/MandatoryNotFoundError' - $ref: '#/components/schemas/MandatoryNotFoundLayoutRuleWriteError' - $ref: '#/components/schemas/MandatoryNotFoundLayoutRuleError' - $ref: '#/components/schemas/MandatoryNotFoundRecordIdError' - $ref: '#/components/schemas/DependentMismatchError' - $ref: '#/components/schemas/InvalidRequestMethodError' - $ref: '#/components/schemas/AuthorizationFailedError' - $ref: '#/components/schemas/DuplicateDataError' minItems: 1 required: - data RecordsIDPutErrorResponse: x-zs-$id: RecordsIDPutErrorResponse oneOf: - $ref: '#/components/schemas/InvalidMaxLengthError' - $ref: '#/components/schemas/NotApprovedError' - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/RecordDeleteByIdInvalidDataError' - $ref: '#/components/schemas/RecordsIDDataPutErrorResponse' RecordsIDDataPutErrorResponse: x-zs-$id: RecordsIDDataPutErrorResponse description: >- Standard error response schema returned when a single-record operation fails. additionalProperties: false properties: data: type: array maxItems: 100 description: >- List of error objects describing failures encountered while processing record operation requests. items: description: >- Error object that can be one of multiple error types based on the error code. oneOf: - $ref: '#/components/schemas/NotAllowedDataValueError' - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/InvalidSupportedValuesError' - $ref: '#/components/schemas/InvalidDataValueError' - $ref: '#/components/schemas/InvalidMaxLengthError' - $ref: '#/components/schemas/RecordDeleteByIdInvalidDataError' - $ref: '#/components/schemas/InvalidModuleError' - $ref: '#/components/schemas/MultipleOrMultiErrorsError' - $ref: '#/components/schemas/DependentFieldMissingError' - $ref: '#/components/schemas/MandatoryNotFoundError' - $ref: '#/components/schemas/MandatoryNotFoundLayoutRuleWriteError' - $ref: '#/components/schemas/DependentMismatchError' - $ref: '#/components/schemas/InvalidRequestMethodError' - $ref: '#/components/schemas/AuthorizationFailedError' - $ref: '#/components/schemas/DuplicateDataError' - $ref: '#/components/schemas/RecordLockedError' - $ref: '#/components/schemas/NotReviewedError' - $ref: '#/components/schemas/LimitExceededError' minItems: 1 required: - data InvalidDataTypeError: x-zs-$id: InvalidDataTypeError description: >- Represents the error response returned when the operation fails due to a invalid data type error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_DATA message: type: string description: Represents the error message describing why the operation failed. details: description: >- Additional information pinpointing exactly what was invalid. The structure varies based on the cause of the error. $ref: '#/components/schemas/InvalidDataTypeMismatchDetails' status: type: string description: Indicates the overall result status of the request. enum: - error InvalidDataTypeSupportedValuesError: x-zs-$id: InvalidDataTypeSupportedValuesError description: >- This error occurs when the data provided in the request doesn't meet the expected requirements. The details structure varies based on the cause - data type mismatch and unsupported values. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: A unique identifier for this type of error. enum: - INVALID_DATA message: type: string description: >- A clear explanation of what went wrong and why the operation could not complete. details: description: >- Additional information pinpointing exactly what was invalid. The structure varies based on the cause of the error. $ref: '#/components/schemas/InvalidDataTypeSupportedValuesDetails' status: type: string description: Indicates whether the operation succeeded or failed. enum: - error InvalidSupportedValuesError: x-zs-$id: InvalidSupportedValuesError description: >- Represents the error response returned when the operation fails due to a invalid supported values error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_DATA message: type: string description: Represents the error message describing why the operation failed. details: description: >- Additional information pinpointing exactly what was invalid. The structure varies based on the cause of the error. $ref: '#/components/schemas/InvalidDataSupportedValuesDetails' status: type: string description: Indicates the overall result status of the request. enum: - error InvalidMaxLengthError: x-zs-$id: InvalidMaxLengthError description: >- Represents the error response returned when the operation fails due to a invalid max length error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_DATA message: type: string description: Represents the error message describing why the operation failed. details: description: >- Additional information pinpointing exactly what was invalid. The structure varies based on the cause of the error. $ref: '#/components/schemas/InvalidDataMaxLengthDetails' status: type: string description: Indicates the overall result status of the request. enum: - error InvalidDataValueError: x-zs-$id: InvalidDataValueError description: >- Represents the error response returned when the operation fails due to a invalid data value error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_DATA message: type: string description: Represents the error message describing why the operation failed. details: description: >- Additional information pinpointing exactly what was invalid. The structure varies based on the cause of the error. $ref: '#/components/schemas/InvalidDataFieldValueDetails' status: type: string description: Indicates the overall result status of the request. enum: - error NotAllowedDataValueError: x-zs-$id: NotAllowedDataValueError description: >- This error occurs when the data provided in the request doesn't meet the expected requirements. The details structure varies based on the cause not allowed value type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: A unique identifier for this type of error. enum: - NOT_ALLOWED message: type: string description: >- A clear explanation of what went wrong and why the operation could not complete. details: description: >- Additional information pinpointing exactly what was invalid. The structure varies based on the cause of the error. $ref: '#/components/schemas/InvalidDataFieldValueDetails' status: type: string description: Indicates whether the operation succeeded or failed. enum: - error InvalidDataMaxLengthDetails: x-zs-$id: InvalidDataMaxLengthDetails description: Contains the contextual details for the invalid data max length error. type: object additionalProperties: false required: - maximum_length - api_name - json_path properties: maximum_length: type: integer format: int32 description: >- Represents the maximum allowed value or length for the field that failed validation. api_name: type: string description: Represents the API name of the field or module. maxLength: 50 json_path: type: string description: >- Represents the JSONPath location pointing to the field that caused the error. InvalidDataFieldValueDetails: x-zs-$id: InvalidDataFieldValueDetails description: Contains the contextual details for the invalid data field value error. type: object additionalProperties: false required: - api_name - json_path properties: api_name: type: string description: Represents the API name of the field or module. maxLength: 50 json_path: type: string description: >- Represents the JSONPath location pointing to the field that caused the error. InvalidDataTypeMismatchDetails: x-zs-$id: InvalidDataTypeMismatchDetails description: >- Contains the contextual details for the invalid data type mismatch error. type: object additionalProperties: false required: - expected_data_type - api_name - json_path properties: expected_data_type: type: string maxLength: 255 description: Represents the data type expected for the field. examples: - string - integer - boolean - array - object api_name: type: string description: Represents the API name of the field or module. json_path: type: string description: >- Represents the JSONPath location pointing to the field that caused the error. InvalidDataTypeSupportedValuesDetails: x-zs-$id: InvalidDataTypeSupportedValuesDetails description: >- Details structure for an INVALID_DATA error caused by an unsupported value and data type for a field that only accepts a fixed set of values. All four fields - api_name, json_path,expected_data_type and supported_values - are required. type: object additionalProperties: false required: - api_name - json_path - supported_values - expected_data_type properties: expected_data_type: type: string maxLength: 255 description: >- The type of data that the field expects to receive, such as text, number, true/false value, list, or structured object. examples: - string - integer - boolean - array - object api_name: type: string description: The API name of the field that received an unsupported value. json_path: type: string description: >- Represents the JSONPath location pointing to the field that caused the error. supported_values: type: array description: Contains the list of valid values accepted for this field. items: type: string description: >- Represents a single item in the InvalidDataSupportedValuesDetails array. maxLength: 255 InvalidDataSupportedValuesDetails: x-zs-$id: InvalidDataSupportedValuesDetails description: >- Contains the contextual details for the invalid data supported values error. type: object additionalProperties: false required: - api_name - json_path - supported_values properties: api_name: type: string description: Represents the API name of the field or module. json_path: type: string description: >- Represents the JSONPath location pointing to the field that caused the error. supported_values: type: array description: Contains the list of valid values accepted for this field. items: type: string description: >- Represents a single item in the InvalidDataSupportedValuesDetails array. maxLength: 255 InvalidModuleError: x-zs-$id: InvalidModuleError description: >- Represents the error response returned when the operation fails due to a invalid module error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_MODULE message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: resource_path_index: type: integer format: int32 description: Contains additional context about the error. required: - resource_path_index status: type: string description: Indicates the overall result status of the request. enum: - error MultipleOrMultiErrorsError: x-zs-$id: MultipleOrMultiErrorsError description: >- Represents the error response returned when the operation fails due to a multiple or multi errors error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - MULTIPLE_OR_MULTI_ERRORS message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: errors: type: array maxItems: 100 description: Contains additional context about the error. items: type: object description: >- Represents a single item in the MultipleOrMultiErrorsError array. additionalProperties: false properties: code: type: string description: Contains additional context about the error. message: type: string description: Contains additional context about the error. status: type: string description: Contains additional context about the error. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false properties: api_name: type: string description: Contains additional context about the error. maxLength: 50 json_path: type: string description: Contains additional context about the error. duplicate_record: type: object description: Contains additional context about the error. additionalProperties: false properties: id: type: string format: int64 description: Contains additional context about the error. Owner: type: object description: Contains additional context about the error. additionalProperties: false properties: name: type: string maxLength: 101 description: Contains additional context about the error. id: type: string format: int64 description: Contains additional context about the error. zuid: type: string maxLength: 100 description: Contains additional context about the error. required: - name - id module: type: object description: Contains additional context about the error. additionalProperties: false properties: api_name: type: string maxLength: 50 description: Contains additional context about the error. id: type: string format: int64 description: Contains additional context about the error. required: - api_name - id required: - id more_records: type: boolean description: Contains additional context about the error. required: - api_name required: - code - message - status minItems: 1 required: - errors status: type: string description: Indicates the overall result status of the request. enum: - error RecordsIdPostErrorResponse: type: object x-zs-$id: RecordsIdPostErrorResponse description: >- Standard error response schema returned when a single-record operation fails. additionalProperties: false properties: data: type: array maxItems: 100 description: >- List of error objects describing failures encountered while processing record operation requests. items: description: >- Error object that can be one of multiple error types based on the error code. oneOf: - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/InvalidSupportedValuesError' - $ref: '#/components/schemas/InvalidMaxLengthError' - $ref: '#/components/schemas/InvalidDataValueError' - $ref: '#/components/schemas/RecordDeleteByIdInvalidDataError' - $ref: '#/components/schemas/InvalidModuleError' - $ref: '#/components/schemas/MultipleOrMultiErrorsError' - $ref: '#/components/schemas/MandatoryNotFoundError' - $ref: '#/components/schemas/MandatoryNotFoundLayoutRuleWriteError' - $ref: '#/components/schemas/InvalidRequestMethodError' - $ref: '#/components/schemas/AuthorizationFailedError' - $ref: '#/components/schemas/DuplicateDataError' - $ref: '#/components/schemas/DependentServiceError' minItems: 1 required: - data DependentFieldMissingError: x-zs-$id: DependentFieldMissingError description: >- Represents the error response returned when the operation fails due to a dependent field missing error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - DEPENDENT_FIELD_MISSING message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: dependee: type: object description: Contains additional context about the error. additionalProperties: false properties: api_name: type: string description: Contains additional context about the error. maxLength: 50 json_path: type: string description: Contains additional context about the error. required: - api_name - json_path api_name: type: string description: Contains additional context about the error. maxLength: 255 json_path: type: string description: Contains additional context about the error. required: - dependee - api_name - json_path status: type: string description: Indicates the overall result status of the request. enum: - error DependentServiceError: x-zs-$id: DependentServiceError description: >- Represents the error response returned when the operation fails due to a dependent service error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - DEPENDENT_SERVICE_ERROR message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: dependency_error: type: string description: Contains additional context about the error. enum: - NO_PERMISSION - LIMIT_EXCEEDED - PROCESSING_ERROR - CANNOT_PROCESS required: - dependency_error status: type: string description: Indicates the overall result status of the request. enum: - error MandatoryNotFoundError: x-zs-$id: MandatoryNotFoundError description: >- Represents the error response returned when the operation fails due to a mandatory not found error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - MANDATORY_NOT_FOUND message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: api_name: type: string example: Last_Name description: Contains additional context about the error. maxLength: 50 json_path: type: string example: $.data[0].Last_Name description: Contains additional context about the error. required: - api_name - json_path status: type: string description: Indicates the overall result status of the request. enum: - error MandatoryNotFoundLayoutRuleError: x-zs-$id: MandatoryNotFoundLayoutRuleError description: >- Represents the error response returned when the operation fails due to a mandatory not found layout rule error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - MANDATORY_NOT_FOUND message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: layout_rule: type: object description: Contains additional context about the error. additionalProperties: false properties: name: type: string description: Contains additional context about the error. maxLength: 255 id: type: string format: int64 description: Contains additional context about the error. required: - name - id api_name: type: string example: Designation description: Contains additional context about the error. maxLength: 50 json_path: type: string example: $.data[0].Designation description: Contains additional context about the error. id: type: string format: int64 description: Contains additional context about the error. required: - layout_rule - api_name - json_path - id status: type: string description: Indicates the overall result status of the request. enum: - error MandatoryNotFoundRecordIdError: x-zs-$id: MandatoryNotFoundRecordIdError description: >- Represents the error response returned when the operation fails due to a mandatory not found record ID error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - MANDATORY_NOT_FOUND message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: api_name: type: string example: Single_Line_1 description: Contains additional context about the error. maxLength: 50 json_path: type: string example: $.data[0].Single_Line_1 description: Contains additional context about the error. id: type: string format: int64 description: Contains additional context about the error. required: - api_name - json_path - id status: type: string description: Indicates the overall result status of the request. enum: - error MandatoryNotFoundLayoutRuleWriteError: x-zs-$id: MandatoryNotFoundLayoutRuleWriteError description: >- Represents the error response returned when the operation fails due to a mandatory not found layout rule write error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - MANDATORY_NOT_FOUND message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: layout_rule: type: object description: Contains additional context about the error. additionalProperties: false properties: name: type: string description: Contains additional context about the error. maxLength: 255 id: type: string format: int64 description: Contains additional context about the error. required: - name - id api_name: type: string example: Phone description: Contains additional context about the error. maxLength: 50 json_path: type: string example: $.data[0].Phone description: Contains additional context about the error. required: - layout_rule - api_name - json_path status: type: string description: Indicates the overall result status of the request. enum: - error DependentMismatchError: x-zs-$id: DependentMismatchError description: >- Represents the error response returned when the operation fails due to a dependent mismatch error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - DEPENDENT_MISMATCH message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: resource_path_index: type: integer format: int32 description: Contains additional context about the error. dependee: type: object description: Contains additional context about the error. additionalProperties: false properties: api_name: type: string description: Contains additional context about the error. maxLength: 50 json_path: type: string description: Contains additional context about the error. required: - api_name - json_path api_name: type: string description: Contains additional context about the error. maxLength: 50 json_path: type: string description: Contains additional context about the error. required: - dependee - api_name - json_path status: type: string description: Indicates the overall result status of the request. enum: - error InvalidRequestMethodError: x-zs-$id: InvalidRequestMethodError description: >- Represents the error response returned when the operation fails due to a invalid request method error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_REQUEST_METHOD message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: resource_path_index: type: integer format: int32 description: Contains additional context about the error. required: - resource_path_index status: type: string description: Indicates the overall result status of the request. enum: - error AuthorizationFailedError: x-zs-$id: AuthorizationFailedError description: >- Represents the error response returned when the operation fails due to a authorization failed error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - AUTHORIZATION_FAILED message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: resource_path_index: type: integer format: int32 description: Contains additional context about the error. required: - resource_path_index status: type: string description: Indicates the overall result status of the request. enum: - error DuplicateDataError: x-zs-$id: DuplicateDataError description: >- Represents the error response returned when the operation fails due to a duplicate data error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - DUPLICATE_DATA message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: api_name: type: string description: Contains additional context about the error. maxLength: 50 json_path: type: string description: Contains additional context about the error. id: type: string format: int64 description: Contains additional context about the error. maxLength: 255 duplicate_record: type: object description: >- Information about the existing record that has the duplicate value, containing field values from the duplicate record. additionalProperties: true properties: id: type: string format: int64 description: Contains additional context about the error. Owner: type: object description: Contains additional context about the error. additionalProperties: false properties: name: type: string maxLength: 101 description: Contains additional context about the error. id: type: string format: int64 description: Contains additional context about the error. zuid: type: string maxLength: 255 description: Contains additional context about the error. required: - name - id module: type: object description: Contains additional context about the error. additionalProperties: false properties: api_name: type: string maxLength: 255 description: Contains additional context about the error. id: type: string format: int64 description: Contains additional context about the error. required: - api_name - id required: - id more_records: type: boolean description: Contains additional context about the error. required: - api_name - json_path - duplicate_record - more_records status: type: string description: Indicates the overall result status of the request. enum: - error RecordLockedError: x-zs-$id: RecordLockedError description: >- Represents the error response returned when the operation fails due to a record locked error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - RECORD_LOCKED message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: api_name: type: string description: Contains additional context about the error. maxLength: 50 action: type: string description: >- The specific action that was attempted on the locked record, such as record_locking. maxLength: 50 json_path: type: string description: Contains additional context about the error. required: - api_name - json_path - action status: type: string description: Indicates the overall result status of the request. enum: - error NotApprovedError: x-zs-$id: NotApprovedError description: >- Represents the error response returned when the operation fails due to a not approved error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - NOT_APPROVED message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false required: - resource_path_index properties: resource_path_index: type: integer format: int32 description: Contains additional context about the error. status: type: string description: Indicates the overall result status of the request. enum: - error NotReviewedError: x-zs-$id: NotReviewedError description: >- Represents the error response returned when the operation fails due to a not reviewed error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - NOT_REVIEWED message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false status: type: string description: Indicates the overall result status of the request. enum: - error LimitExceededError: x-zs-$id: LimitExceededError description: >- Represents the error response returned when the operation fails due to a limit exceeded error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - LIMIT_EXCEEDED message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false required: - maximum_length - api_name properties: maximum_length: type: integer format: int32 description: Contains additional context about the error. api_name: type: string maxLength: 50 description: Contains additional context about the error. status: type: string description: Indicates the overall result status of the request. enum: - error InvalidDataMaxLengthError: x-zs-$id: InvalidDataMaxLengthError description: >- Represents the error response returned when the operation fails due to invalid data exceeding the maximum length. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_DATA message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false required: - maximum_length - api_name - expected_data_type - json_path properties: maximum_length: type: integer format: int32 description: Represents the maximum length that was exceeded. api_name: type: string maxLength: 50 description: >- Represents the API name for which the data exceeded the maximum length. expected_data_type: type: string description: Represents the expected data type for the field. maxLength: 50 json_path: type: string description: >- Represents the JSON path for the field that exceeded the maximum length. status: type: string description: Indicates the overall result status of the request. enum: - error DuplicateLinkingDataError: x-zs-$id: DuplicateLinkingDataError description: >- Represents the error response returned when the operation fails due to a duplicate linking data error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - DUPLICATE_LINKING_DATA message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false required: - linking_fields - id properties: linking_fields: type: array description: Contains additional context about the error. items: type: string description: >- Represents a single item in the DuplicateLinkingDataError array. maxLength: 50 minItems: 1 id: type: string format: int64 description: Contains additional context about the error. maxLength: 19 status: type: string description: Indicates the overall result status of the request. enum: - error RecordSuccessResponse: description: Represents the response schema for the recordsuccess operation. type: object x-zs-$id: RecordSuccessResponse additionalProperties: false properties: data: type: array maxItems: 100 description: Represents the data value. items: $ref: '#/components/schemas/RecordPostSuccessDataItem' minItems: 1 required: - data examples: - data: - code: SUCCESS details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '5725767000000524157' Created_By: name: Patricia Boyle id: '5725767000000411001' $approval_state: approved message: record added status: success RecordPostSuccessDataItem: type: object x-zs-$id: RecordPostSuccessDataItem description: Represents a single record post success data result item. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - SUCCESS message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - success details: type: object description: Contains additional context about the error. additionalProperties: false properties: id: type: string format: int64 description: Contains additional context about the error. x-zs-$id: RecordDetailsId Modified_Time: type: string format: date-time description: Contains additional context about the error. Created_Time: type: string format: date-time description: Contains additional context about the error. Created_By: type: object description: Contains additional context about the error. additionalProperties: false properties: name: type: string maxLength: 101 description: Contains additional context about the error. id: type: string format: int64 description: Contains additional context about the error. required: - name - id Modified_By: type: object description: Contains additional context about the error. additionalProperties: false properties: name: type: string maxLength: 101 description: Contains additional context about the error. id: type: string format: int64 description: Contains additional context about the error. required: - name - id $approval_state: type: string description: Contains additional context about the error. maxLength: 255 $state: type: string description: Contains additional context about the error. example: save maxLength: 255 $wizard_connection_path: type: - string - 'null' maxLength: 2000 description: >- $wizard_connection_path information denoted by comma separated connection ids between wizard screens. readOnly: false $process_flow: type: boolean description: Contains additional context about the error. $locked_for_me: type: boolean description: Contains additional context about the error. $approved: type: boolean description: Contains additional context about the error. $status: type: string description: Contains additional context about the error. example: cv_1 maxLength: 255 $layout_id: type: object description: Contains additional context about the error. additionalProperties: false properties: id: type: string description: Contains additional context about the error. format: int64 name: type: string description: Contains additional context about the error. maxLength: 255 display_label: type: string description: Contains additional context about the error. maxLength: 255 required: - id $has_more: type: object description: Contains additional context about the error. additionalProperties: true required: - id - Modified_Time - Created_Time - Created_By - Modified_By required: - code - message - status - details examples: - code: SUCCESS details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '5725767000000524157' Created_By: name: Patricia Boyle id: '5725767000000411001' $approval_state: approved message: record added status: success RecordsPostErrorResponse: x-zs-$id: RecordsPostErrorResponse description: Standard error response schema returned when record operations fail. oneOf: - $ref: '#/components/schemas/NotApprovedError' - $ref: '#/components/schemas/InvalidDataValueError' - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/InvalidDataTypeSupportedValuesError' - $ref: '#/components/schemas/MandatoryNotFoundError' - $ref: '#/components/schemas/RecordsDataPostErrorResponse' - $ref: '#/components/schemas/InvalidSupportedValuesError' - $ref: '#/components/schemas/DependentFieldMissingError' - $ref: '#/components/schemas/InvalidMaxLengthError' RecordsDataPostErrorResponse: x-zs-$id: RecordsDataPostErrorResponse description: >- Standard error response schema returned when one or more record operations fail. additionalProperties: false properties: data: type: array maxItems: 100 description: >- List of error objects describing failures encountered while processing record operation requests. items: $ref: '#/components/schemas/RecordPostErrorDataItem' minItems: 1 required: - data RecordPostErrorDataItem: x-zs-$id: RecordPostErrorDataItem description: >- Represents the error response returned when the operation fails due to a record post data item error. oneOf: - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/InvalidSupportedValuesError' - $ref: '#/components/schemas/InvalidMaxLengthError' - $ref: '#/components/schemas/InvalidDataMaxLengthError' - $ref: '#/components/schemas/InvalidDataValueError' - $ref: '#/components/schemas/NotAllowedDataValueError' - $ref: '#/components/schemas/InvalidModuleError' - $ref: '#/components/schemas/MultipleOrMultiErrorsError' - $ref: '#/components/schemas/DependentFieldMissingError' - $ref: '#/components/schemas/DependentServiceError' - $ref: '#/components/schemas/MandatoryNotFoundError' - $ref: '#/components/schemas/MandatoryNotFoundLayoutRuleWriteError' - $ref: '#/components/schemas/DependentMismatchError' - $ref: '#/components/schemas/InvalidRequestMethodError' - $ref: '#/components/schemas/AuthorizationFailedError' - $ref: '#/components/schemas/DuplicateDataError' RecordPutErrorDataItem: x-zs-$id: RecordPutErrorDataItem description: >- Represents the error response returned when the operation fails due to a record put data item error. oneOf: - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/InvalidSupportedValuesError' - $ref: '#/components/schemas/InvalidMaxLengthError' - $ref: '#/components/schemas/InvalidDataValueError' - $ref: '#/components/schemas/InvalidModuleError' - $ref: '#/components/schemas/MultipleOrMultiErrorsError' - $ref: '#/components/schemas/DependentFieldMissingError' - $ref: '#/components/schemas/DependentServiceError' - $ref: '#/components/schemas/MandatoryNotFoundError' - $ref: '#/components/schemas/DependentMismatchError' - $ref: '#/components/schemas/InvalidRequestMethodError' - $ref: '#/components/schemas/AuthorizationFailedError' - $ref: '#/components/schemas/DuplicateDataError' - $ref: '#/components/schemas/RecordLockedError' - $ref: '#/components/schemas/NotApprovedError' - $ref: '#/components/schemas/NotReviewedError' RecordsPutErrorResponse: x-zs-$id: RecordsPutErrorResponse description: Standard error response schema returned when record operations fail. oneOf: - $ref: '#/components/schemas/MandatoryNotFoundError' - $ref: '#/components/schemas/InvalidDataValueError' - $ref: '#/components/schemas/RecordsDataPutErrorResponse' - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/DependentFieldMissingError' - $ref: '#/components/schemas/InvalidSupportedValuesError' - $ref: '#/components/schemas/InvalidDataTypeSupportedValuesError' RecordsDataPutErrorResponse: type: object x-zs-$id: RecordsDataPutErrorResponse description: >- Standard error response schema returned when one or more record operations fail. additionalProperties: false properties: data: type: array maxItems: 100 description: >- List of error objects describing failures encountered while processing record operation requests. items: description: >- Error object that can be one of multiple error types based on the error code. oneOf: - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/InvalidSupportedValuesError' - $ref: '#/components/schemas/InvalidMaxLengthError' - $ref: '#/components/schemas/InvalidDataValueError' - $ref: '#/components/schemas/InvalidModuleError' - $ref: '#/components/schemas/MultipleOrMultiErrorsError' - $ref: '#/components/schemas/DependentFieldMissingError' - $ref: '#/components/schemas/MandatoryNotFoundError' - $ref: '#/components/schemas/MandatoryNotFoundLayoutRuleWriteError' - $ref: '#/components/schemas/DependentMismatchError' - $ref: '#/components/schemas/InvalidRequestMethodError' - $ref: '#/components/schemas/AuthorizationFailedError' - $ref: '#/components/schemas/DuplicateDataError' - $ref: '#/components/schemas/RecordLockedError' - $ref: '#/components/schemas/NotApprovedError' - $ref: '#/components/schemas/NotReviewedError' - $ref: '#/components/schemas/LimitExceededError' - $ref: '#/components/schemas/DuplicateLinkingDataError' - $ref: '#/components/schemas/DependentServiceError' - $ref: '#/components/schemas/NotAllowedDataValueError' minItems: 1 required: - data RecordUpsertErrorDataItem: x-zs-$id: RecordUpsertErrorDataItem description: >- Represents the error response returned when the operation fails due to a record upsert data item error. oneOf: - $ref: '#/components/schemas/InvalidDataTypeError' - $ref: '#/components/schemas/InvalidSupportedValuesError' - $ref: '#/components/schemas/InvalidMaxLengthError' - $ref: '#/components/schemas/InvalidDataValueError' - $ref: '#/components/schemas/InvalidModuleError' - $ref: '#/components/schemas/MultipleOrMultiErrorsError' - $ref: '#/components/schemas/DependentFieldMissingError' - $ref: '#/components/schemas/MandatoryNotFoundError' - $ref: '#/components/schemas/DependentMismatchError' - $ref: '#/components/schemas/InvalidRequestMethodError' - $ref: '#/components/schemas/AuthorizationFailedError' - $ref: '#/components/schemas/DuplicateDataError' RecordUpsertSuccessDataItem: type: object x-zs-$id: RecordUpsertSuccessDataItem description: Represents a single record upsert success data result item. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - SUCCESS duplicate_field: type: - string - 'null' description: Represents the duplicate field value. example: Email maxLength: 255 action: type: string description: Represents the action that triggered the record lock. enum: - insert - update message: type: string description: Represents the error message describing why the operation failed. example: Record successfully upserted. status: type: string description: Indicates the overall result status of the request. enum: - success details: type: object description: Contains additional context about the error. additionalProperties: false properties: id: type: string format: int64 description: Contains additional context about the error. Modified_Time: type: string format: date-time description: Contains additional context about the error. Created_Time: type: string format: date-time description: Contains additional context about the error. Created_By: type: object description: Contains additional context about the error. additionalProperties: false properties: name: type: string description: Contains additional context about the error. maxLength: 101 id: type: string format: int64 description: Contains additional context about the error. required: - name - id Modified_By: type: object description: Contains additional context about the error. additionalProperties: false properties: name: type: string description: Contains additional context about the error. maxLength: 101 id: type: string format: int64 description: Contains additional context about the error. required: - name - id $approval_state: type: string description: Contains additional context about the error. maxLength: 255 required: - id required: - code - duplicate_field - action - message - status - details examples: - code: SUCCESS duplicate_field: Email action: insert details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '111112000000142001' Created_By: name: Patricia Boyle id: '5725767000000411001' message: record added status: success RecordUpsertSuccessResponse: description: Represents the response schema for the record upsert success operation. type: object x-zs-$id: RecordUpsertSuccessResponse additionalProperties: false properties: data: type: array description: Represents the data value. items: type: object description: Represents a single item in the RecordUpsertSuccessResponse array. additionalProperties: false properties: code: type: string description: Represents the data value. enum: - SUCCESS duplicate_field: type: - string - 'null' description: Represents the data value. example: Email maxLength: 255 action: type: string description: Represents the data value. enum: - insert - update message: type: string description: Represents the data value. example: Record successfully upserted. status: type: string description: Represents the data value. enum: - success details: type: object description: Represents the data value. additionalProperties: false properties: id: type: string format: int64 description: Represents the data value. Modified_Time: type: string format: date-time description: Represents the data value. Created_Time: type: string format: date-time description: Represents the data value. Created_By: type: object description: Represents the data value. additionalProperties: false properties: name: type: string description: Represents the data value. maxLength: 101 id: type: string format: int64 description: Represents the data value. required: - name - id Modified_By: type: object description: Represents the data value. additionalProperties: false properties: name: type: string description: Represents the data value. maxLength: 101 id: type: string format: int64 description: Represents the data value. required: - name - id $approval_state: type: string description: Represents the data value. maxLength: 255 required: - id required: - code - duplicate_field - action - message - status - details minItems: 1 maxItems: 100 required: - data examples: - data: - code: SUCCESS duplicate_field: Email action: insert details: Modified_Time: '2023-05-10T01:10:47-07:00' Modified_By: name: Patricia Boyle id: '5725767000000411001' Created_Time: '2023-05-10T01:10:47-07:00' id: '111112000000142001' Created_By: name: Patricia Boyle id: '5725767000000411001' message: record added status: success RecordUnauthorizedResponse: description: Represents the response schema for the record unauthorized operation. type: object x-zs-$id: RecordUnauthorizedResponse additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - OAUTH_SCOPE_MISMATCH message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false required: - code - message - status - details RecordAuthenticationFailureResponse: description: >- Represents the response schema for the record authentication failure operation. type: object x-zs-$id: RecordAuthenticationFailureResponse additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - AUTHENTICATION_FAILURE message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false required: - code - message - status - details RecordInternalErrorResponse: description: >- Represents the error response returned when the operation fails due to a record internal response error. type: object x-zs-$id: RecordInternalErrorResponse additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INTERNAL_ERROR message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false required: - code - message - status - details RecordPermissionResponse: description: Represents the response schema for the record permission operation. type: object x-zs-$id: RecordPermissionResponse additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - NO_PERMISSION message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false properties: permissions: type: array description: Contains additional context about the error. maxItems: 100 items: type: string description: >- Represents a single item in the RecordPermissionResponse array. maxLength: 255 minItems: 1 required: - permissions required: - code - message - status - details RecordInvalidURLResponse: description: Represents the response schema for the record invalid URL operation. type: object x-zs-$id: RecordInvalidURLResponse additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_URL_PATTERN message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false required: - code - message - status - details RecordIDGETSuccessResponse: description: Represents the response schema for the record ID GET success operation. type: object x-zs-$id: RecordIDGETSuccessResponse additionalProperties: false properties: data: type: array maxItems: 1 minItems: 1 description: Represents the data value. items: $ref: '#/components/schemas/RecordGETDataItem' required: - data RecordGETSuccessResponse: description: Represents the response schema for the record GET success operation. type: object x-zs-$id: RecordGETSuccessResponse additionalProperties: false properties: data: type: array maxItems: 100 description: Represents the data value. items: $ref: '#/components/schemas/RecordGETDataItem' minItems: 1 info: type: object description: Represents the info value. additionalProperties: false properties: page: type: integer format: int32 description: Represents the info value. call: type: boolean description: Represents the info value. per_page: type: integer format: int32 description: Represents the info value. count: type: integer format: int32 description: Represents the info value. more_records: type: boolean description: Represents the info value. email: type: boolean description: Represents the info value. sort_by: type: string description: Represents the info value. maxLength: 255 sort_order: type: string enum: - asc - desc description: Represents the info value. next_page_token: type: - string - 'null' description: Represents the info value. maxLength: 500 previous_page_token: type: - string - 'null' description: Represents the info value. maxLength: 500 page_token_expiry: type: - string - 'null' format: date-time description: Represents the info value. required: - page - per_page - count - more_records - sort_by - sort_order - next_page_token - previous_page_token - page_token_expiry required: - data - info InvalidDataGETError: x-zs-$id: InvalidDataGETError description: >- Represents the error response returned when the operation fails due to a invalid data GET error. type: object additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_DATA message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: true properties: param_name: type: string description: Contains additional context about the error. example: cvid required: - param_name status: type: string description: Indicates the overall result status of the request. enum: - error required: - code - details - message - status InvalidDataSortByError: x-zs-$id: InvalidDataSortByError description: >- This error happens when attempting to retrieve records with information that doesn't match expected requirements. For example, an invalid sort_by parameter. type: object additionalProperties: false properties: code: type: string description: >- A unique identifier for this specific type of error that helps identify what went wrong. enum: - INVALID_DATA message: type: string description: >- A clear explanation in plain language describing exactly why the request couldn't be completed. details: type: object description: >- Extra information that helps pinpoint the exact problem, such as which field had the invalid data. additionalProperties: true properties: param_name: type: string description: Name of the parameter that contained invalid data. example: sort_by supported_values: type: array description: >- A list of valid values that can be used for the parameter in question. items: type: string description: specific values that are supported for this field. maxLength: 255 required: - param_name - supported_values status: type: string description: >- Indicates whether the request was successful or failed. This will show 'error' because something went wrong. enum: - error required: - code - details - message - status InvalidModuleGETError: x-zs-$id: InvalidModuleGETError description: >- Represents the error response returned when the operation fails due to a invalid module GET error. type: object additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_MODULE message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: resource_path_index: type: integer format: int32 description: Contains additional context about the error. required: - resource_path_index status: type: string description: Indicates the overall result status of the request. enum: - error required: - code - details - message - status TokenBoundDataMismatchGETError: x-zs-$id: TokenBoundDataMismatchGETError description: >- Represents the error response returned when the operation fails due to a token bound data mismatch GET error. type: object additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - TOKEN_BOUND_DATA_MISMATCH message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: param_name: type: string description: Contains additional context about the error. required: - param_name status: type: string description: Indicates the overall result status of the request. enum: - error required: - code - details - message - status RequiredParamMissingGETError: x-zs-$id: RequiredParamMissingGETError description: >- Represents the error response returned when the operation fails due to a required parameter missing GET error. type: object additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - REQUIRED_PARAM_MISSING message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: param_name: type: string maxLength: 50 description: Contains additional context about the error. required: - param_name status: type: string description: Indicates the overall result status of the request. enum: - error required: - code - details - message - status LimitExceededGETError: x-zs-$id: LimitExceededGETError description: >- Represents the error response returned when the operation fails due to a limit exceeded GET error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - LIMIT_EXCEEDED message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: limit: type: integer format: int32 description: Contains additional context about the error. param_name: type: string description: Contains additional context about the error. required: - limit - param_name status: type: string description: Indicates the overall result status of the request. enum: - error ExpiredValueGETError: x-zs-$id: ExpiredValueGETError description: >- Represents the error response returned when the operation fails due to a expired value GET error. type: object additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - EXPIRED_VALUE message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: api_name: type: string maxLength: 50 description: Contains additional context about the error. json_path: type: string description: Contains additional context about the error. required: - api_name - json_path status: type: string description: Indicates the overall result status of the request. enum: - error required: - code - details - message - status DiscretePaginationLimitExceededGETError: x-zs-$id: DiscretePaginationLimitExceededGETError description: >- Represents the error response returned when the operation fails due to a discrete pagination limit exceeded GET error. type: object additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - DISCRETE_PAGINATION_LIMIT_EXCEEDED message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: limit: type: integer format: int32 description: Contains additional context about the error. required: - limit status: type: string description: Indicates the overall result status of the request. enum: - error required: - code - details - message - status AmbiguityDuringProcessingGETError: x-zs-$id: AmbiguityDuringProcessingGETError description: >- Represents the error response returned when the operation fails due to a ambiguity during processing GET error. type: object additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - AMBIGUITY_DURING_PROCESSING message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: ambiguity_due_to: type: array description: Contains additional context about the error. items: type: object additionalProperties: false description: >- Represents a single item in the AmbiguityDuringProcessingGETError array. properties: param_name: type: string description: Parameter name of the ambiguous field. required: - param_name required: - ambiguity_due_to status: type: string description: Indicates the overall result status of the request. enum: - error required: - code - details - message - status PaginationLimitExceededGETError: x-zs-$id: PaginationLimitExceededGETError description: >- Represents the error response returned when the operation fails due to a pagination limit exceeded GET error. type: object additionalProperties: false required: - code - details - message - status properties: code: type: string description: Represents the error code identifying the type of failure. enum: - PAGINATION_LIMIT_EXCEEDED message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: param_name: type: string description: Contains additional context about the error. required: - param_name status: type: string description: Indicates the overall result status of the request. enum: - error RecordWriteDataItem: x-zs-$id: RecordWriteDataItem type: object description: Represents a single record write data result item. properties: Layout: type: object description: >- Represents the layout value. Use the [Get Layouts Metadata API](layouts.yaml#$.paths./settings/layouts.get) to retrieve the Layout ID. additionalProperties: false properties: id: description: Represents the layout value. x-zs-$ref: resource: layouts origins: - operationId: getLayouts propertyId: LayoutId type: string format: int64 pattern: ^[0-9]{1,19}$ minLength: 1 maxLength: 19 example: '4832675000000850800' required: - id Wizard: type: object description: >- Represents the wizard value. Use the [Get Wizards API](wizards.yaml#$.paths./settings/wizards.get) to retrieve the Wizard ID. additionalProperties: false properties: id: description: Represents the wizard value. x-zs-$ref: resource: wizards origins: - operationId: getAllWizards propertyId: WizardId type: string maxLength: 19 format: int64 required: - id additionalProperties: true RecordSinglePutWriteDataItem: x-zs-$id: RecordSinglePutWriteDataItem type: object description: Represents a single record single put write data result item. properties: $append_values: type: string description: Represents the $append values value. examples: - 'true' maxLength: 10 Layout: type: object description: >- Represents the layout value. Use the [Get Layouts Metadata API](layouts.yaml#$.paths./settings/layouts.get) to retrieve the Layout ID. additionalProperties: false properties: id: description: Represents the layout value. x-zs-$ref: resource: layouts origins: - operationId: getLayouts propertyId: LayoutId type: string format: int64 pattern: ^[0-9]{1,19}$ minLength: 1 maxLength: 19 example: '4832675000000850800' required: - id additionalProperties: true RecordPutWriteDataItem: x-zs-$id: RecordPutWriteDataItem type: object description: Represents a single record put write data result item. properties: id: description: >- Represents the unique identifier of the RecordPutWriteDataItem record. Use the [Get Records API](record.yaml#$.paths./module.get) to retrieve the record IDs. x-zs-$ref: resource: record origins: - operationId: getRecord propertyId: RecordsId type: string format: int64 $append_values: type: string description: Represents the $append values value. examples: - 'true' maxLength: 10 Layout: type: object description: >- Represents the layout value. Use the [Get Layouts Metadata API](layouts.yaml#$.paths./settings/layouts.get) to retrieve the Layout ID. additionalProperties: false properties: id: description: Represents the layout value. x-zs-$ref: resource: layouts origins: - operationId: getLayouts propertyId: LayoutId type: string format: int64 pattern: ^[0-9]{1,19}$ minLength: 1 maxLength: 19 example: '4832675000000850800' required: - id required: - id additionalProperties: true RecordGETDataItem: x-zs-$id: RecordGETDataItem type: object description: Represents a single record GET data result item. properties: id: type: string format: int64 description: Represents the unique identifier of the RecordGETDataItem record. x-zs-$id: RecordsId Owner: type: object description: Represents the owner value. additionalProperties: false properties: name: type: string maxLength: 101 description: Represents the owner value. id: type: string format: int64 description: Represents the owner value. email: type: string maxLength: 256 description: Represents the owner value. required: - name - id Created_Time: type: string format: date-time description: Represents the timestamp when the record was originally created. Modified_Time: type: string format: date-time description: Represents the timestamp when the record was last modified. Created_By: type: object description: >- Contains information about the user who originally created the record. additionalProperties: false properties: name: type: string maxLength: 101 description: >- Contains information about the user who originally created the record. id: type: string format: int64 description: >- Contains information about the user who originally created the record. email: type: string maxLength: 255 description: >- Contains information about the user who originally created the record. required: - name - id Modified_By: type: object description: Contains information about the user who last modified the record. additionalProperties: false properties: name: type: string maxLength: 101 description: >- Contains information about the user who last modified the record. id: type: string format: int64 description: >- Contains information about the user who last modified the record. email: type: string maxLength: 255 description: >- Contains information about the user who last modified the record. required: - name - id Wizard: type: object description: Represents the wizard value. additionalProperties: false properties: id: type: string format: int64 description: Represents the wizard value. maxLength: 19 required: - id $state: type: string description: >- This will be as Save or Draft. 'save' indicates the record is not in any active Blueprint example: save maxLength: 255 $wizard_connection_path: type: - string - 'null' maxLength: 2000 description: >- $wizard_connection_path information denoted by comma separated connection ids between wizard screens. readOnly: false additionalProperties: true RecordDeleteSuccessResponse: x-zs-$id: RecordDeleteSuccessResponse type: object description: Represents the response schema for the record delete success operation. additionalProperties: false properties: data: type: array description: Represents the data value. items: type: object description: Represents a single item in the RecordDeleteSuccessResponse array. additionalProperties: false properties: code: type: string description: Represents the data value. enum: - SUCCESS details: type: object description: Represents the data value. additionalProperties: false properties: id: type: string description: Represents the data value. format: int64 required: - id message: type: string description: Represents the data value. enum: - record deleted status: type: string description: Represents the data value. enum: - success required: - code - details - message - status minItems: 1 maxItems: 100 required: - data examples: - data: - code: SUCCESS details: id: '410405000002264040' message: record deleted status: success RecordDeleteMultiStatusResponse: type: object description: >- Represents the response schema for the record delete multi status operation. additionalProperties: false x-zs-$id: RecordDeleteMultiStatusResponse properties: data: type: array description: Represents the data value. allOf: - contains: type: object properties: status: const: success type: string description: >- The status value that must be 'success' for the item to match this constraint. required: - status description: Ensures at least one item in the array has a 'success' status. additionalProperties: true minContains: 1 description: >- Represents the response schema for the record delete multi status operation. - contains: type: object properties: status: const: error type: string description: >- The status value that must be 'error' for the item to match this constraint. required: - status description: Ensures at least one item in the array has an 'error' status. additionalProperties: true minContains: 1 description: >- Represents the response schema for the record delete multi status operation. items: oneOf: - type: object description: >- Represents the response schema for the record delete multi status operation. additionalProperties: false x-zs-$id: RecordDeleteSuccessItem properties: status: type: string description: Represents the data value. enum: - success code: type: string description: Represents the data value. enum: - SUCCESS message: type: string description: Represents the data value. details: type: object description: Represents the data value. additionalProperties: false properties: id: type: string description: Represents the data value. format: int64 required: - id required: - status - code - message - details - $ref: '#/components/schemas/RecordDeleteInvalidDataItem' - $ref: '#/components/schemas/RecordDeleteRequiredParamMissingItem' description: >- Represents a single item in the RecordDeleteMultiStatusResponse array. minItems: 2 maxItems: 100 required: - data RecordDeleteInvalidDataItem: type: object additionalProperties: false x-zs-$id: RecordDeleteInvalidDataItem description: Represents a single record delete invalid data result item. properties: status: type: string description: Indicates the overall result status of the request. enum: - error code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_DATA message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: id: type: string format: int64 description: Contains additional context about the error. maxLength: 20 required: - id required: - status - code - message - details RecordDeleteRequiredParamMissingItem: type: object additionalProperties: false x-zs-$id: RecordDeleteRequiredParamMissingItem description: >- Represents a single record delete required parameter missing result item. properties: status: type: string description: Indicates the overall result status of the request. enum: - error code: type: string description: Represents the error code identifying the type of failure. enum: - REQUIRED_PARAM_MISSING message: type: string description: Represents the error message describing why the operation failed. details: type: object description: Contains additional context about the error. additionalProperties: false properties: param_name: type: string description: Contains additional context about the error. maxLength: 255 required: - param_name required: - status - code - message - details RecordDeleteBadRequestResponse: x-zs-$id: RecordDeleteBadRequestResponse description: >- Represents the response schema for the record delete bad request operation. oneOf: - $ref: '#/components/schemas/RecordDeleteFlatError' - $ref: '#/components/schemas/RecordDeleteLockedError' - $ref: '#/components/schemas/RecordDeleteNotApprovedError' - $ref: '#/components/schemas/RecordDeleteInvalidDataError' RecordDeleteFlatError: x-zs-$id: RecordDeleteFlatError description: >- Represents the error response returned when the operation fails due to a record delete flat error. oneOf: - $ref: '#/components/schemas/RecordDeleteRequiredParamMissingError' - $ref: '#/components/schemas/InvalidModuleError' - $ref: '#/components/schemas/RecordDeleteInvalidRequestMethodError' - $ref: '#/components/schemas/RecordDeleteAuthorizationFailedError' - $ref: '#/components/schemas/RecordDeleteUnableToParseDataTypeError' RecordDeleteInvalidDataError: x-zs-$id: RecordDeleteInvalidDataError type: object description: >- Represents the error response returned when the operation fails due to a record delete invalid data error. additionalProperties: false properties: data: type: array description: Represents the data value. maxItems: 100 minItems: 1 items: type: object description: >- Represents a single item in the RecordDeleteInvalidDataError array. additionalProperties: false properties: code: type: string description: Represents the data value. enum: - INVALID_DATA message: type: string description: Represents the data value. status: type: string description: Represents the data value. enum: - error details: type: object description: Represents the data value. additionalProperties: false properties: id: type: string format: int64 description: Represents the data value. required: - id required: - code - message - status - details required: - data RecordDeleteRequiredParamMissingError: x-zs-$id: RecordDeleteRequiredParamMissingError type: object description: >- Represents the error response returned when the operation fails due to a record delete required parameter missing error. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - REQUIRED_PARAM_MISSING message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: $ref: '#/components/schemas/RecordDeleteRequiredParamDetails' required: - code - message - status - details RecordDeleteInvalidRequestMethodError: x-zs-$id: RecordDeleteInvalidRequestMethodError type: object description: >- Represents the error response returned when the operation fails due to a record delete invalid request method error. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_REQUEST_METHOD message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: $ref: '#/components/schemas/RecordDeleteEmptyDetails' required: - code - message - status - details RecordDeleteAuthorizationFailedError: x-zs-$id: RecordDeleteAuthorizationFailedError type: object description: >- Represents the error response returned when the operation fails due to a record delete authorization failed error. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - AUTHORIZATION_FAILED message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: $ref: '#/components/schemas/RecordDeleteEmptyDetails' required: - code - message - status - details RecordDeleteUnableToParseDataTypeError: x-zs-$id: RecordDeleteUnableToParseDataTypeError type: object description: >- Error returned when the DELETE request contains data that cannot be parsed. additionalProperties: false properties: code: type: string description: Error code indicating unable to parse data type. enum: - UNABLE_TO_PARSE_DATA_TYPE message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: $ref: '#/components/schemas/RecordDeleteEmptyDetails' required: - code - message - status - details RecordDeleteLockedError: x-zs-$id: RecordDeleteLockedError type: object description: >- Represents the error response returned when the operation fails due to a record delete locked error. additionalProperties: false properties: data: type: array description: Represents the data value. maxItems: 100 minItems: 1 items: type: object description: Represents a single item in the RecordDeleteLockedError array. additionalProperties: false properties: code: type: string description: Represents the data value. enum: - RECORD_LOCKED message: type: string description: Represents the data value. status: type: string description: Represents the data value. enum: - error details: type: object description: Represents the data value. additionalProperties: false properties: action: type: string description: Represents the data value. maxLength: 100 id: type: string format: int64 description: Represents the data value. required: - action - id required: - code - message - status - details required: - data RecordDeleteNotApprovedError: x-zs-$id: RecordDeleteNotApprovedError type: object description: >- Represents the error response returned when the operation fails due to a record delete not approved error. additionalProperties: false properties: data: type: array description: Represents the data value. maxItems: 100 minItems: 1 items: type: object description: >- Represents a single item in the RecordDeleteNotApprovedError array. additionalProperties: false properties: code: type: string description: Represents the data value. enum: - NOT_APPROVED message: type: string description: Represents the data value. status: type: string description: Represents the data value. enum: - error details: type: object description: Represents the data value. additionalProperties: false maxProperties: 0 required: - code - message - status - details required: - data RecordDeleteUnauthorizedResponse: type: object description: >- Represents the response schema for the record delete unauthorized operation. x-zs-$id: RecordDeleteUnauthorizedResponse additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - OAUTH_SCOPE_MISMATCH message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false required: - code - message - status - details RecordDeletePermissionResponse: type: object additionalProperties: false description: >- Represents the response schema for the record delete permission operation. x-zs-$id: RecordDeletePermissionResponse properties: code: type: string description: Represents the error code identifying the type of failure. enum: - NO_PERMISSION message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false properties: permissions: type: array description: Contains additional context about the error. maxItems: 100 items: type: string description: >- Represents a single item in the RecordDeletePermissionResponse array. maxLength: 255 minItems: 1 required: - permissions required: - code - message - status - details RecordDeleteInvalidURLResponse: type: object description: >- Represents the response schema for the record delete invalid URL operation. x-zs-$id: RecordDeleteInvalidURLResponse additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_URL_PATTERN message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false required: - code - message - status - details RecordDeleteInternalErrorResponse: type: object description: >- Represents the error response returned when the operation fails due to a record delete internal response error. x-zs-$id: RecordDeleteInternalErrorResponse additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INTERNAL_ERROR message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false required: - code - message - status - details RecordDeleteByIdSuccessResponse: type: object x-zs-$id: RecordDeleteByIdSuccessResponse description: >- Represents the response schema for the record delete by ID success operation. additionalProperties: false examples: - data: - code: SUCCESS message: record deleted status: success details: id: '5843104000000624046' properties: data: type: array description: Represents the data value. items: type: object description: >- Represents a single item in the RecordDeleteByIdSuccessResponse array. additionalProperties: false properties: code: type: string description: Represents the data value. enum: - SUCCESS message: type: string description: Represents the data value. status: type: string description: Represents the data value. enum: - success details: type: object description: Represents the data value. additionalProperties: false properties: id: type: string format: int64 description: Represents the data value. required: - id required: - code - message - status - details minItems: 1 maxItems: 100 required: - data RecordDeleteByIdErrorResponse: x-zs-$id: RecordDeleteByIdErrorResponse description: >- Represents the error response returned when the operation fails due to a record delete by ID response error. oneOf: - $ref: '#/components/schemas/RecordDeleteByIdFlatError' - $ref: '#/components/schemas/RecordDeleteByIdLockedError' - $ref: '#/components/schemas/RecordDeleteByIdNotApprovedError' RecordDeleteByIdFlatError: x-zs-$id: RecordDeleteByIdFlatError description: >- Represents the error response returned when the operation fails due to a record delete by ID flat error. oneOf: - $ref: '#/components/schemas/RecordDeleteByIdInvalidDataError' - $ref: '#/components/schemas/InvalidModuleError' - $ref: '#/components/schemas/RecordDeleteByIdInvalidRequestMethodError' - $ref: '#/components/schemas/RecordDeleteByIdAuthorizationFailedError' - $ref: '#/components/schemas/RecordDeleteByIdRequiredParamMissingError' RecordDeleteByIdInvalidDataError: x-zs-$id: RecordDeleteByIdInvalidDataError type: object description: >- Represents the error response returned when the operation fails due to a record delete by ID invalid data error. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_DATA message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: $ref: '#/components/schemas/RecordDeleteByIdResourcePathDetails' required: - code - message - status - details RecordDeleteByIdRequiredParamMissingError: x-zs-$id: RecordDeleteByIdRequiredParamMissingError type: object description: >- Represents the error response returned when the operation fails due to a record delete by ID required parameter missing error. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - REQUIRED_PARAM_MISSING message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: $ref: '#/components/schemas/RecordDeleteRequiredParamDetails' required: - code - message - status - details RecordDeleteByIdInvalidRequestMethodError: x-zs-$id: RecordDeleteByIdInvalidRequestMethodError type: object description: >- Represents the error response returned when the operation fails due to a record delete by ID invalid request method error. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_REQUEST_METHOD message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: $ref: '#/components/schemas/RecordDeleteEmptyDetails' required: - code - message - status - details RecordDeleteByIdAuthorizationFailedError: x-zs-$id: RecordDeleteByIdAuthorizationFailedError type: object description: >- Represents the error response returned when the operation fails due to a record delete by ID authorization failed error. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - AUTHORIZATION_FAILED message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: $ref: '#/components/schemas/RecordDeleteEmptyDetails' required: - code - message - status - details RecordDeleteByIdLockedError: x-zs-$id: RecordDeleteByIdLockedError type: object description: >- Represents the error response returned when the operation fails due to a record delete by ID locked error. additionalProperties: false properties: data: type: array description: Represents the data value. maxItems: 100 minItems: 1 items: type: object description: Represents a single item in the RecordDeleteByIdLockedError array. additionalProperties: false properties: code: type: string description: Represents the data value. enum: - RECORD_LOCKED message: type: string description: Represents the data value. status: type: string description: Represents the data value. enum: - error details: type: object description: Represents the data value. additionalProperties: false properties: action: type: string description: Represents the data value. maxLength: 100 id: type: string format: int64 description: Represents the data value. required: - action - id required: - code - message - status - details required: - data RecordDeleteByIdNotApprovedError: x-zs-$id: RecordDeleteByIdNotApprovedError type: object description: >- Represents the error response returned when the operation fails due to a record delete by ID not approved error. additionalProperties: false properties: data: type: array description: Represents the data value. maxItems: 100 minItems: 1 items: type: object description: >- Represents a single item in the RecordDeleteByIdNotApprovedError array. additionalProperties: false properties: code: type: string description: Represents the data value. enum: - NOT_APPROVED message: type: string description: Represents the data value. status: type: string description: Represents the data value. enum: - error details: $ref: '#/components/schemas/RecordDeleteByIdDetails' required: - code - message - status - details required: - data RecordDeleteEmptyDetails: type: object x-zs-$id: RecordDeleteEmptyDetails description: Contains the contextual details for the record delete empty error. maxProperties: 0 additionalProperties: false examples: - {} RecordDeleteRequiredParamDetails: type: object x-zs-$id: RecordDeleteRequiredParamDetails description: >- Contains the contextual details for the record delete required parameter error. additionalProperties: false properties: param_name: type: string description: Represents the name of the parameter that caused the error. maxLength: 255 required: - param_name examples: - param_name: ids RecordDeleteByIdResourcePathDetails: type: object x-zs-$id: RecordDeleteByIdResourcePathDetails description: >- Contains the contextual details for the record delete by ID resource path error. additionalProperties: false properties: resource_path_index: type: integer description: >- Represents the zero-based index indicating which resource in the path caused the error. format: int32 required: - resource_path_index RecordDeleteByIdDetails: type: object x-zs-$id: RecordDeleteByIdDetails description: >- Details object returned when a delete-by-ID request fails due to an invalid record ID. additionalProperties: false properties: id: type: string description: ID of the record that caused the error. format: int64 required: - id RecordDeleteByIdUnauthorizedResponse: type: object x-zs-$id: RecordDeleteByIdUnauthorizedResponse description: >- Represents the response schema for the record delete by ID unauthorized operation. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - OAUTH_SCOPE_MISMATCH message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false required: - code - message - status - details RecordDeleteByIdNoPermissionResponse: type: object x-zs-$id: RecordDeleteByIdNoPermissionResponse description: >- Represents the response schema for the record delete by ID no permission operation. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - NO_PERMISSION message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false properties: permissions: type: array description: Contains additional context about the error. maxItems: 100 items: type: string description: >- Represents a single item in the RecordDeleteByIdNoPermissionResponse array. maxLength: 255 minItems: 1 required: - permissions required: - code - message - status - details RecordDeleteByIdInvalidUrlPatternResponse: type: object x-zs-$id: RecordDeleteByIdInvalidUrlPatternResponse description: >- Represents the response schema for the record delete by ID invalid URL pattern operation. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_URL_PATTERN message: type: string description: Represents the error message describing why the operation failed. status: type: string description: Indicates the overall result status of the request. enum: - error details: type: object description: Contains additional context about the error. additionalProperties: false required: - code - message - status - details RecordDeleteByIdInternalServerErrorResponse: type: object x-zs-$id: RecordDeleteByIdInternalServerErrorResponse description: >- Represents the error response returned when the operation fails due to a record delete by ID internal server response error. additionalProperties: false properties: data: type: array description: Represents the data value. items: type: object description: >- Represents a single item in the RecordDeleteByIdInternalServerErrorResponse array. additionalProperties: false properties: code: type: string description: Represents the data value. enum: - INTERNAL_ERROR message: type: string description: Represents the data value. status: type: string description: Represents the data value. enum: - error details: type: object description: Represents the data value. additionalProperties: false required: - code - message - status - details minItems: 1 maxItems: 100 required: - data DeletedRecordsSuccessResponse: type: object x-zs-$id: DeletedRecordsSuccessResponse description: >- Represents the response schema for the deleted records success operation. additionalProperties: false properties: data: type: array description: Represents the data value. items: type: object description: >- Represents a single item in the DeletedRecordsSuccessResponse array. additionalProperties: false properties: id: type: string format: int64 description: Represents the data value. x-zs-$id: DeletedRecordId display_name: type: - string - 'null' maxLength: 255 description: Represents the data value. type: type: string enum: - recycle - permanent description: Represents the data value. deleted_time: type: string format: date-time description: Represents the data value. deleted_by: type: - object - 'null' description: Represents the data value. additionalProperties: false properties: name: type: string maxLength: 255 description: Represents the data value. id: type: string format: int64 description: Represents the data value. required: - name - id created_by: type: - object - 'null' description: Represents the data value. additionalProperties: false properties: name: type: string maxLength: 101 description: Represents the data value. id: type: string format: int64 description: Represents the data value. required: - name - id required: - id - type - deleted_time - created_by - deleted_by - display_name minItems: 1 maxItems: 200 info: type: object description: Represents the info value. additionalProperties: false properties: per_page: type: integer format: int32 description: Represents the info value. count: type: integer format: int32 description: Represents the info value. page: type: integer format: int32 description: Represents the info value. more_records: type: boolean description: Represents the info value. required: - per_page - count - page - more_records required: - data - info examples: - data: - deleted_by: name: rbtd11 rbtd11 id: '5332848000000734001' id: '5332848000000890001' display_name: wqadsx type: recycle created_by: name: rbtd11 rbtd11 id: '5332848000000734001' deleted_time: '2026-06-10T11:20:23+05:30' - deleted_by: name: rbtd11 rbtd11 id: '5332848000000734001' id: '5332848000000780028' display_name: qwrqwrfqwr type: recycle created_by: name: rbtd11 rbtd11 id: '5332848000000734001' deleted_time: '2026-06-09T16:30:11+05:30' info: per_page: 2 count: 2 page: 1 more_records: true DeletedRecordsErrorResponse: type: object x-zs-$id: DeletedRecordsErrorResponse description: >- Represents the error response returned when the operation fails due to a deleted records response error. additionalProperties: false properties: data: type: array maxItems: 100 description: Represents the data value. items: description: Represents a single item in the DeletedRecordsErrorResponse array. oneOf: - $ref: '#/components/schemas/InvalidModuleGetDeletedError' - $ref: '#/components/schemas/PatternNotMatchedGetDeletedError' minItems: 1 required: - data InvalidModuleGetDeletedError: type: object x-zs-$id: InvalidModuleGetDeletedError description: >- Represents the error response returned when the operation fails due to a invalid module error. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - INVALID_MODULE message: type: string description: Represents the error message describing why the operation failed. status: type: string enum: - error description: Indicates the overall result status of the request. details: type: object additionalProperties: false description: Contains additional context about the error. properties: resource_path_index: type: integer format: int32 description: Contains additional context about the error. required: - resource_path_index required: - code - message - status - details PatternNotMatchedGetDeletedError: type: object x-zs-$id: PatternNotMatchedGetDeletedError description: >- Represents the error response returned when the operation fails due to a pattern not matched error. additionalProperties: false properties: code: type: string description: Error code indicating pattern not matched. enum: - PATTERN_NOT_MATCHED message: type: string description: Human-readable explanation of the error. status: type: string enum: - error description: Indicates the request resulted in an error. details: type: object additionalProperties: false description: Additional contextual information about the error. properties: param_name: type: string maxLength: 255 description: Name of the query parameter that failed pattern matching. required: - param_name required: - code - message - status - details PatternNotMatchedGetError: type: object x-zs-$id: PatternNotMatchedGetError description: Error indicating a pattern was not matched when retrieving records. additionalProperties: false properties: code: type: string description: Represents the error code identifying the type of failure. enum: - PATTERN_NOT_MATCHED message: type: string description: Represents the error message describing why the operation failed. status: type: string enum: - error description: Indicates the overall result status of the request. details: type: object additionalProperties: false description: Contains additional context about the error. properties: param_name: type: string maxLength: 255 description: Contains additional context about the error. required: - param_name required: - code - message - status - details FilterFieldBase: type: object x-zs-$id: FilterFieldBase description: >- Represents the base field reference used in filter operations, containing minimal required properties. The field's data_type is not part of this object; resolve it from the corresponding FieldSchema. For formula fields, use formula.return_type as the effective data_type; for rollup_summary fields, use rollup_summary.return_type. properties: id: type: string format: int64 description: Represents the unique ID of the field used for filter operations. api_name: type: string description: >- Represents the API name of the field used for filter application. Supports relationship notation, for example, Deals__r.Stage. additionalProperties: true SimpleFilterCriterionValueString: type: string x-zs-$id: SimpleFilterCriterionValueString description: >- Represents a string filter criterion value applicable to fields with a data_type of text, textarea, email, phone, website, autonumber, picklist, multiselectpicklist, date, or datetime, as well as any data_type not explicitly covered by SimpleFilterCriterionValueNumber, SimpleFilterCriterionValueBoolean, SimpleFilterCriterionValueObjectRequest, SimpleFilterCriterionValueObjectResponse, or the multiselect lookup value schemas. maxLength: 255 SimpleFilterCriterionValueNumber: type: number x-zs-$id: SimpleFilterCriterionValueNumber description: >- Represents a numeric filter criterion value applicable to fields with a data_type of integer, currency, or double. SimpleFilterCriterionValueObjectBase: type: object description: >- Represents the base minified record structure of a lookup module, containing the record's unique identifier and display name. properties: id: type: string format: int64 description: Represents the unique ID of the lookup module record. name: type: string maxLength: 255 description: Represents the display name of the lookup module record. additionalProperties: true SimpleFilterCriterionValueObjectRequest: x-zs-$id: SimpleFilterCriterionValueObjectRequest allOf: - $ref: '#/components/schemas/SimpleFilterCriterionValueObjectBase' - type: object additionalProperties: true description: >- Represents the constraint that the ID property is required for the lookup object filter criterion value in request bodies. required: - id properties: id: {} unevaluatedProperties: false description: >- Represents a lookup object filter criterion value for request bodies, applicable when the field's data_type is lookup, ownerlookup, or userlookup. The ID property is required. SimpleFilterCriterionValueObjectPredefined: x-zs-$id: SimpleFilterCriterionValueObjectPredefined description: >- Represents a predefined placeholder object filter criterion value for lookup fields, applicable with equal or not_equal comparators when the field's data_type is ownerlookup or userlookup. Two forms are supported: (1) the currently logged-in user, represented by passing only the name property with the predefined value ${CURRENTUSER} and no ID property; and (2) the logged-in user's role, represented by passing the ID property with the predefined value ${CURRENTUSERROLE} and an optional display label in the name property. For specific real users or roles that are not predefined, use SimpleFilterCriterionValueObjectRequest, which requires the ID property. oneOf: - type: object x-zs-$id: SimpleFilterCriterionValueObjectPredefinedCurrentUser description: >- Represents the predefined object form for the currently logged-in user, in which only the name property carries the predefined value ${CURRENTUSER} and no ID property is included. required: - name properties: name: type: string enum: - ${CURRENTUSER} description: >- Represents the predefined placeholder for the currently logged-in user. Possible values: ${CURRENTUSER} - Represents the currently logged-in user. additionalProperties: false - type: object x-zs-$id: SimpleFilterCriterionValueObjectPredefinedCurrentUserRole description: >- Represents the predefined object form for the currently logged-in user's role, in which the ID property carries the predefined value ${CURRENTUSERROLE} and the name property is an optional display label. required: - id properties: id: type: string enum: - ${CURRENTUSERROLE} description: >- Represents the predefined placeholder for the logged-in user's role record ID. Possible values: ${CURRENTUSERROLE} - Represents the role of the currently logged-in user. name: type: string maxLength: 255 description: >- Represents an optional display label for the predefined role, such as Logged in User Role. additionalProperties: true SimpleFilterCriterionValueBoolean: type: boolean x-zs-$id: SimpleFilterCriterionValueBoolean description: >- Represents a Boolean filter criterion value. Applicable only when the field has a Boolean data type (checkbox field). SimpleFilterCriterionValueGeneralPredefined: type: string x-zs-$id: SimpleFilterCriterionValueGeneralPredefined description: >- Represents a predefined placeholder value applicable to any field data_type with the equal comparator. Possible values: ${EMPTY} - Matches records where the field has no value. ${NOTEMPTY} - Matches records where the field has any non-empty value. enum: - ${EMPTY} - ${NOTEMPTY} x-enumDescriptions: ${EMPTY}: Matches records where the field has no value (null or empty string). ${NOTEMPTY}: Matches records where the field has any non-empty value. SimpleFilterCriterionValueDateTimePredefined: type: string x-zs-$id: SimpleFilterCriterionValueDateTimePredefined description: >- Represents a predefined placeholder value applicable only when the field's data_type is date or datetime, with the equal comparator. enum: - ${TODAY} - ${TOMORROW} - ${TOMORROWPLUS} - ${YESTERDAY} - ${YESTERDAYMINUS} - ${LASTMONTH} - ${THISMONTH} - ${NEXTMONTH} - ${LASTWEEK} - ${THISWEEK} - ${NEXTWEEK} - ${THISYEAR} - ${THISFY} - ${THISFQ} - ${LASTYEAR} - ${PREVFY} - ${PREVFQ} - ${NEXTYEAR} - ${NEXTFY} - ${NEXTFQ} - ${EMPTY} - ${NOTEMPTY} x-enumDescriptions: ${TODAY}: >- Matches records where the date field falls on the current calendar day. ${TOMORROW}: Matches records where the date field falls on the next calendar day. ${TOMORROWPLUS}: >- Matches records where the date field is on tomorrow or any later date (tomorrow onwards). ${YESTERDAY}: >- Matches records where the date field falls on the previous calendar day. ${YESTERDAYMINUS}: >- Matches records where the date field is on yesterday or any earlier date (up to and including yesterday). ${LASTMONTH}: >- Matches records where the date field falls within the entire previous calendar month. ${THISMONTH}: >- Matches records where the date field falls within the current calendar month. ${NEXTMONTH}: >- Matches records where the date field falls within the next calendar month. ${LASTWEEK}: >- Matches records where the date field falls within the previous calendar week (Monday–Sunday). ${THISWEEK}: >- Matches records where the date field falls within the current calendar week. ${NEXTWEEK}: >- Matches records where the date field falls within the next calendar week. ${THISYEAR}: >- Matches records where the date field falls within the current calendar year. ${THISFY}: >- Matches records where the date field falls within the current fiscal year. ${THISFQ}: >- Matches records where the date field falls within the current fiscal quarter. ${LASTYEAR}: >- Matches records where the date field falls within the previous calendar year. ${PREVFY}: >- Matches records where the date field falls within the previous fiscal year. ${PREVFQ}: >- Matches records where the date field falls within the previous fiscal quarter. ${NEXTYEAR}: >- Matches records where the date field falls within the next calendar year. ${NEXTFY}: >- Matches records where the date field falls within the next fiscal year. ${NEXTFQ}: >- Matches records where the date field falls within the next fiscal quarter. ${EMPTY}: Matches records where the date field has no value set. ${NOTEMPTY}: Matches records where the date field has a value set. SimpleFilterCriterionValueNDaysPredefined: maxLength: 255 type: string x-zs-$id: SimpleFilterCriterionValueNDaysPredefined description: >- Represents a predefined N-period range placeholder value applicable only when the field's data_type is date or datetime, with the equal comparator. Follows the pattern ${NEXT_N_:} or ${LAST_N_:}, where PERIOD is DAYS, WEEKS, MONTHS, or YEARS and n is a positive integer. The current period is always excluded from the range. pattern: ^\$\{(LAST_N_|NEXT_N_)(DAYS|WEEKS|MONTHS|YEARS):([0-9]+)\}$ SimpleFilterCriterionValueAgeDuePredefined: maxLength: 255 type: string x-zs-$id: SimpleFilterCriterionValueAgeDuePredefined description: >- Represents a predefined age or due-in-days placeholder value applicable only when the field's data_type is date or datetime. Follows the pattern ${AGEINDAYS}+ for records where the date field was exactly n days in the past, or ${DUEINDAYS}+ for records where the date field is exactly n days in the future. Supported comparators are equal, not_equal, less_than, greater_than, less_equal, and greater_equal. pattern: ^\$\{(AGEINDAYS|DUEINDAYS)\}\+[0-9]+$ EqualFilterCriterionRequest: type: object x-zs-$id: EqualFilterCriterionRequest description: >- Represents a filter criterion for the equal comparator. The value type is determined by the field's data_type: use SimpleFilterCriterionValueString for text, textarea, email, phone, website, autonumber, picklist, multiselectpicklist, date, or datetime fields; SimpleFilterCriterionValueNumber for integer, currency, or double fields; SimpleFilterCriterionValueBoolean for Boolean fields; SimpleFilterCriterionValueObjectRequest for lookup, ownerlookup, or userlookup fields; and SimpleFilterCriterionValueObjectPredefined for predefined user or role object placeholders. Accepts scalar or array values. Resolve the data_type from the field's FieldSchema. properties: field: allOf: - $ref: '#/components/schemas/FilterFieldBase' - type: object additionalProperties: true description: >- Represents the field reference constraint that requires the api_name property to be present for the equal filter criterion. required: - api_name unevaluatedProperties: false description: >- Represents the target field definition to which the equal filter criterion is applied, conforming to the base field structure. comparator: type: string enum: - equal description: >- Represents the equal comparison operator applied to the criterion. Possible values: equal - Matches records where the field value equals the specified filter value. value: anyOf: - type: array x-zs-$id: EqualFilterCriterionRequestValueArray description: Contains an array of filter values for the equal comparator. minItems: 1 maxItems: 500 items: x-zs-$id: EqualFilterCriterionRequestValueArrayItems oneOf: - $ref: '#/components/schemas/SimpleFilterCriterionValueString' - $ref: '#/components/schemas/SimpleFilterCriterionValueNumber' - x-zs-$id: EqualFilterCriterionRequestValueArrayItemsObject anyOf: - $ref: >- #/components/schemas/SimpleFilterCriterionValueObjectRequest - $ref: >- #/components/schemas/SimpleFilterCriterionValueObjectPredefined - $ref: '#/components/schemas/SimpleFilterCriterionValueString' - $ref: '#/components/schemas/SimpleFilterCriterionValueNumber' - $ref: '#/components/schemas/SimpleFilterCriterionValueBoolean' - $ref: '#/components/schemas/SimpleFilterCriterionValueObjectRequest' - $ref: '#/components/schemas/SimpleFilterCriterionValueObjectPredefined' - $ref: '#/components/schemas/SimpleFilterCriterionValueGeneralPredefined' - $ref: >- #/components/schemas/SimpleFilterCriterionValueDateTimePredefined - $ref: '#/components/schemas/SimpleFilterCriterionValueNDaysPredefined' - $ref: '#/components/schemas/SimpleFilterCriterionValueAgeDuePredefined' description: >- Represents the filter value used in the equal comparator. Accepts a scalar or an array of values, depending on the field's data_type. type: type: string enum: - merge_field - pre_defined - value - field default: value description: >- Indicates the value resolution mode of the criterion, distinguishing whether the filter value is a literal value, a merge field reference, a predefined system variable, or another field reference. Possible values: value - The value is a direct literal. merge_field - The value is a merge field reference. pre_defined - The value is a predefined system variable placeholder. field - The value references another field. required: - field - comparator - value additionalProperties: false NotEqualFilterCriterionRequest: type: object x-zs-$id: NotEqualFilterCriterionRequest description: >- Represents a filter criterion for the not_equal comparator. The value type is determined by the field's data_type: use SimpleFilterCriterionValueString for text, textarea, email, phone, website, autonumber, picklist, multiselectpicklist, date, or datetime fields; SimpleFilterCriterionValueNumber for integer, currency, or double fields; SimpleFilterCriterionValueBoolean for Boolean fields; SimpleFilterCriterionValueObjectRequest for lookup, ownerlookup, or userlookup fields; and SimpleFilterCriterionValueObjectPredefined for predefined user or role object placeholders. properties: field: allOf: - $ref: '#/components/schemas/FilterFieldBase' - type: object additionalProperties: true description: >- Represents the field reference constraint that requires the api_name property to be present for the not-equal filter criterion. required: - api_name unevaluatedProperties: false description: >- Represents the target field definition to which the not-equal filter criterion is applied, conforming to the base field structure. comparator: type: string enum: - not_equal description: >- Represents the not-equal comparison operator applied to the criterion. Possible values: not_equal - Matches records where the field value does not equal the specified filter value. value: anyOf: - type: array maxItems: 500 x-zs-$id: NotEqualFilterCriterionRequestValueArray description: Contains an array of filter values for the not_equal comparator. minItems: 1 items: x-zs-$id: NotEqualFilterCriterionRequestValueArrayItems oneOf: - $ref: '#/components/schemas/SimpleFilterCriterionValueString' - $ref: '#/components/schemas/SimpleFilterCriterionValueNumber' - x-zs-$id: NotEqualFilterCriterionRequestValueArrayItemsObject anyOf: - $ref: >- #/components/schemas/SimpleFilterCriterionValueObjectRequest - $ref: >- #/components/schemas/SimpleFilterCriterionValueObjectPredefined - $ref: '#/components/schemas/SimpleFilterCriterionValueString' - $ref: '#/components/schemas/SimpleFilterCriterionValueNumber' - $ref: '#/components/schemas/SimpleFilterCriterionValueBoolean' - $ref: '#/components/schemas/SimpleFilterCriterionValueObjectRequest' - $ref: '#/components/schemas/SimpleFilterCriterionValueObjectPredefined' - $ref: '#/components/schemas/SimpleFilterCriterionValueAgeDuePredefined' description: >- Represents the filter value used in the not_equal comparator. Accepts a scalar or an array of values, depending on the field's data_type. type: type: string enum: - merge_field - pre_defined - value - field default: value description: >- Indicates the value resolution mode of the criterion, distinguishing whether the filter value is a literal value, a merge field reference, a predefined system variable, or another field reference. Possible values: value - The value is a direct literal. merge_field - The value is a merge field reference. pre_defined - The value is a predefined system variable placeholder. field - The value references another field. required: - field - comparator - value additionalProperties: false EqualityFilterCriterionRequest: x-zs-$id: EqualityFilterCriterionRequest description: >- Represents an equality filter criterion that dispatches to either the EqualFilterCriterionRequest or NotEqualFilterCriterionRequest schema based on the comparator value. oneOf: - $ref: '#/components/schemas/EqualFilterCriterionRequest' - $ref: '#/components/schemas/NotEqualFilterCriterionRequest' TextFilterCriterionRequest: type: object x-zs-$id: TextFilterCriterionRequest description: >- Represents a filter criterion for the like, not_like, starts_with, ends_with, contains, and not_contains comparators. The value must be a string scalar or array; use SimpleFilterCriterionValueString for text-based field types. Object and Boolean values are not supported. Resolve the data_type from the field's FieldSchema. properties: field: allOf: - $ref: '#/components/schemas/FilterFieldBase' - type: object additionalProperties: true description: >- Represents the field reference constraint that requires the api_name property to be present for the text filter criterion. required: - api_name unevaluatedProperties: false description: >- Represents the target field definition to which the text filter criterion is applied, conforming to the base field structure. comparator: type: string enum: - like - not_like - starts_with - ends_with - contains - not_contains description: >- Represents the text comparison operator applied to the criterion. Possible values: like - Matches records where the field value contains the specified pattern. not_like - Matches records where the field value does not contain the specified pattern. starts_with - Matches records where the field value begins with the specified string. ends_with - Matches records where the field value ends with the specified string. contains - Matches records where the field value contains the specified string. not_contains - Matches records where the field value does not contain the specified string. value: description: >- Represents the string filter value used in the text comparator. Accepts a scalar string or an array of string values. oneOf: - type: array x-zs-$id: TextFilterCriterionRequestValueArray description: >- Contains an array of primitive string values for the text filter comparator. minItems: 1 maxItems: 500 items: x-zs-$id: TextFilterCriterionRequestValueArrayItems oneOf: - $ref: '#/components/schemas/SimpleFilterCriterionValueString' - $ref: '#/components/schemas/SimpleFilterCriterionValueString' type: type: string enum: - merge_field - pre_defined - value - field default: value description: >- Indicates the value resolution mode of the criterion, distinguishing whether the filter value is a literal value, a merge field reference, a predefined system variable, or another field reference. Possible values: value - The value is a direct literal. merge_field - The value is a merge field reference. pre_defined - The value is a predefined system variable placeholder. field - The value references another field. required: - field - comparator - value additionalProperties: false OrderingFilterCriterionRequest: type: object x-zs-$id: OrderingFilterCriterionRequest description: >- Represents a filter criterion for the less_than, less_equal, greater_than, and greater_equal comparators. The value must be a scalar; arrays and objects are not supported. The value type is determined by the field's data_type: use SimpleFilterCriterionValueString for date or datetime fields, and SimpleFilterCriterionValueNumber for integer, currency, or double fields. properties: field: allOf: - $ref: '#/components/schemas/FilterFieldBase' - type: object additionalProperties: true description: >- Represents the field reference constraint that requires the api_name property to be present for the ordering filter criterion. required: - api_name unevaluatedProperties: false description: >- Represents the target field definition to which the ordering filter criterion is applied, conforming to the base field structure. comparator: type: string enum: - less_than - less_equal - greater_than - greater_equal description: >- Represents the ordering comparison operator applied to the criterion. Possible values: less_than - Matches records where the field value is less than the specified filter value. less_equal - Matches records where the field value is less than or equal to the specified filter value. greater_than - Matches records where the field value is greater than the specified filter value. greater_equal - Matches records where the field value is greater than or equal to the specified filter value. value: anyOf: - $ref: '#/components/schemas/SimpleFilterCriterionValueString' - $ref: '#/components/schemas/SimpleFilterCriterionValueNumber' - $ref: '#/components/schemas/SimpleFilterCriterionValueAgeDuePredefined' description: >- Represents the scalar filter value used in the ordering comparator. Arrays and objects are not supported for ordering comparators. type: type: string enum: - merge_field - pre_defined - value - field default: value description: >- Indicates the value resolution mode of the criterion, distinguishing whether the filter value is a literal value, a merge field reference, a predefined system variable, or another field reference. Possible values: value - The value is a direct literal. merge_field - The value is a merge field reference. pre_defined - The value is a predefined system variable placeholder. field - The value references another field. required: - field - comparator - value additionalProperties: false BetweenFilterCriterionRequest: type: object x-zs-$id: BetweenFilterCriterionRequest description: >- Represents a filter criterion for the between and not_between comparators. The value must be an array of exactly two elements — [lower_bound, upper_bound]. The value type is determined by the field's data_type: use SimpleFilterCriterionValueString for date or datetime fields, and SimpleFilterCriterionValueNumber for integer, currency, or double fields. Resolve the data_type from the field's FieldSchema. For formula fields, use formula.return_type as the effective data_type; for rollup_summary fields, use rollup_summary.return_type. properties: field: allOf: - $ref: '#/components/schemas/FilterFieldBase' - type: object additionalProperties: true description: >- Represents the field reference constraint that requires the api_name property to be present for the range filter criterion. required: - api_name unevaluatedProperties: false description: >- Represents the target field definition to which the range filter criterion is applied, conforming to the base field structure. comparator: type: string enum: - between - not_between description: >- Represents the range comparison operator applied to the criterion, indicating whether the field value falls within or outside the specified bounds. Possible values: between - Matches records where the field value falls within the specified range. not_between - Matches records where the field value falls outside the specified range. value: type: array x-zs-$id: BetweenFilterCriterionRequestValueArray description: >- Contains the two boundary values — [lower_bound, upper_bound] — against which the field is evaluated for the between or not_between comparator. minItems: 2 maxItems: 2 items: x-zs-$id: BetweenFilterCriterionRequestValueArrayItems oneOf: - $ref: '#/components/schemas/SimpleFilterCriterionValueString' - $ref: '#/components/schemas/SimpleFilterCriterionValueNumber' type: type: string enum: - merge_field - pre_defined - value - field default: value description: >- Indicates the value resolution mode of the criterion, distinguishing whether the filter value is a literal value, a merge field reference, a predefined system variable, or another field reference. Possible values: value - The value is a direct literal. merge_field - The value is a merge field reference. pre_defined - The value is a predefined system variable placeholder. field - The value references another field. required: - field - comparator - value additionalProperties: false SetFilterCriterionRequest: type: object x-zs-$id: SetFilterCriterionRequest description: >- Represents a filter criterion for the in and not_in comparators. The value must be an array of primitive values. The value type is determined by the field's data_type: use SimpleFilterCriterionValueString for text-based types, and SimpleFilterCriterionValueNumber for integer, currency, or double fields. properties: field: allOf: - $ref: '#/components/schemas/FilterFieldBase' - type: object additionalProperties: true description: >- Represents the field reference constraint that requires the api_name property to be present for the set filter criterion. required: - api_name unevaluatedProperties: false description: >- Represents the target field definition to which the set filter criterion is applied, conforming to the base field structure. comparator: type: string enum: - in - not_in description: >- Represents the set membership comparison operator applied to the criterion. Possible values: in - Matches records where the field value is in the specified set of values. not_in - Matches records where the field value is not in the specified set of values. value: type: array x-zs-$id: SetFilterCriterionRequestValueArray description: >- Contains an array of primitive filter values used in the set comparison. minItems: 1 maxItems: 500 items: x-zs-$id: SetFilterCriterionRequestValueArrayItems oneOf: - $ref: '#/components/schemas/SimpleFilterCriterionValueString' - $ref: '#/components/schemas/SimpleFilterCriterionValueNumber' type: type: string enum: - merge_field - pre_defined - value - field default: value description: >- Indicates the value resolution mode of the criterion, distinguishing whether the filter value is a literal value, a merge field reference, a predefined system variable, or another field reference. Possible values: value - The value is a direct literal. merge_field - The value is a merge field reference. pre_defined - The value is a predefined system variable placeholder. field - The value references another field. required: - field - comparator - value additionalProperties: false MultiSelectLookupFilterCriterionRequest: type: object x-zs-$id: MultiSelectLookupFilterCriterionRequest description: >- Represents a filter criterion for the include_all, include_any, exclude_all, and exclude_any comparators. Applicable only when the field's data_type is multiuserlookup or multiselectlookup. The value must be an array of SimpleFilterCriterionValueObjectRequest lookup objects. properties: field: allOf: - $ref: '#/components/schemas/FilterFieldBase' - type: object additionalProperties: true description: >- Represents the field reference constraint that requires the api_name property to be present for the multi-select lookup filter criterion. required: - api_name unevaluatedProperties: false description: >- Represents the target field definition to which the multi-select lookup filter criterion is applied. The field must have a data_type of multiuserlookup or multiselectlookup. comparator: type: string enum: - include_all - include_any - exclude_all - exclude_any description: >- Represents the multi-select lookup comparison operator applied to the criterion. Applicable only when the field's data_type is multiuserlookup or multiselectlookup. Possible values: include_all - Matches records that include all specified lookup values. include_any - Matches records that include at least one of the specified lookup values. exclude_all - Matches records that exclude all specified lookup values. exclude_any - Matches records that exclude at least one of the specified lookup values. value: maxItems: 5 type: array x-zs-$id: MultiSelectLookupFilterCriterionRequestValueArray description: >- Contains an array of lookup object references used in the multi-select comparison. minItems: 1 items: x-zs-$id: MultiSelectLookupFilterCriterionRequestValueArrayItems $ref: '#/components/schemas/SimpleFilterCriterionValueObjectRequest' type: type: string enum: - merge_field - pre_defined - value - field default: value description: >- Indicates the value resolution mode of the criterion, distinguishing whether the filter value is a literal value, a merge field reference, a predefined system variable, or another field reference. Possible values: value - The value is a direct literal. merge_field - The value is a merge field reference. pre_defined - The value is a predefined system variable placeholder. field - The value references another field. required: - field - comparator - value additionalProperties: false SimpleFilterCriterionRequest: x-zs-$id: SimpleFilterCriterionRequest description: >- Represents a simple field-based filter criterion that dispatches to the appropriate comparator-specific schema. The equal and not_equal comparators support scalar or array values; text comparators support scalar or array strings; ordering comparators require a scalar; between and not_between comparators require a two-element array; in and not_in comparators require an array of primitives; and include_all, include_any, exclude_all, and exclude_any comparators require an array of lookup objects and apply only when the field's data_type is multiuserlookup or multiselectlookup. oneOf: - $ref: '#/components/schemas/EqualityFilterCriterionRequest' - $ref: '#/components/schemas/TextFilterCriterionRequest' - $ref: '#/components/schemas/OrderingFilterCriterionRequest' - $ref: '#/components/schemas/BetweenFilterCriterionRequest' - $ref: '#/components/schemas/SetFilterCriterionRequest' - $ref: '#/components/schemas/MultiSelectLookupFilterCriterionRequest' GroupedFilterCriterionRequest: type: object x-zs-$id: GroupedFilterCriterionRequest description: >- Represents a grouped filter criterion containing multiple filter conditions evaluated with a logical operator. Supports recursive nesting for complex filtering logic. properties: group: type: array description: >- Contains an array of filter conditions grouped together and evaluated with the specified logical operator. minItems: 2 maxItems: 25 items: oneOf: - $ref: '#/components/schemas/SimpleFilterCriterionRequest' - $ref: '#/components/schemas/GroupedFilterCriterionRequest' group_operator: type: string enum: - AND - OR - and - or description: >- Represents the logical operator applied between the filter conditions in the group. Possible values: AND - All conditions in the group must be satisfied. OR - At least one condition in the group must be satisfied. and - Equivalent to AND; all conditions in the group must be satisfied. or - Equivalent to OR; at least one condition in the group must be satisfied. required: - group - group_operator additionalProperties: false FilterCriterionRequest: x-zs-$id: FilterCriterionRequest description: >- Represents the top-level filter criterion for data selection, supporting both simple field-based filters and complex grouped filters with logical operators. oneOf: - $ref: '#/components/schemas/SimpleFilterCriterionRequest' - $ref: '#/components/schemas/GroupedFilterCriterionRequest' ChildRelationshipReference: x-zs-$id: ChildRelationshipReference additionalProperties: false description: >- Represents the reference to a child relationship module. The api_name property is required to identify the child relationship. type: object required: - api_name properties: api_name: description: >- Represents the API name of the child relationship module used to identify the relationship. maxLength: 255 type: string x-zs-$ref: resource: child_relationships origins: - operationId: getChildRelationshipsForModule propertyId: ChildRelationshipApiName id: description: Represents the unique ID of the child relationship module record. maxLength: 25 type: string format: int64 x-zs-$ref: resource: child_relationships origins: - operationId: getChildRelationshipsForModule propertyId: ChildRelationshipId $disrupted: description: >- Indicates whether the related module relationship referenced by this criterion is in a disrupted state, typically due to an unresolvable or deleted relationship definition. type: boolean CrossFiltersRequest: x-zs-$id: CrossFiltersRequest description: >- Represents a list of cross-filter objects that filter Custom View records based on related module records' criteria. type: array minItems: 0 maxItems: 3 items: additionalProperties: false description: >- Represents a single cross-filter object that filters records based on the presence or absence of related module records matching the specified criteria. type: object properties: include_objects: description: >- Indicates whether records with matching related records are included in the results. type: boolean relation: $ref: '#/components/schemas/ChildRelationshipReference' criteria: $ref: '#/components/schemas/FilterCriterionRequest' required: - include_objects - relation - criteria securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://accounts.zoho.com/oauth/v2/auth tokenUrl: https://accounts.zoho.com/oauth/v2/token refreshUrl: https://accounts.zoho.com/oauth/v2/token scopes: ZohoCRM.modules.ALL: CRUD access for all modules ZohoCRM.modules.READ: Read access for all modules ZohoCRM.modules.CREATE: Create access for all modules ZohoCRM.modules.UPDATE: Update access for all modules ZohoCRM.modules.DELETE: Delete access for all modules ZohoCRM.modules.Leads.READ: Read access to Leads ZohoCRM.modules.Leads.CREATE: Create access to Leads ZohoCRM.modules.Leads.UPDATE: Update access to Leads ZohoCRM.modules.Leads.DELETE: Delete access to Leads ZohoCRM.modules.Leads.All: All permissions for Leads ZOHOCRM.modules.Leads.READ: (legacy key) Read access to Leads ZohoCRM.modules.Contacts.READ: Read access to Contacts ZohoCRM.modules.Contacts.CREATE: Create access to Contacts ZohoCRM.modules.Contacts.UPDATE: Update access to Contacts ZohoCRM.modules.Contacts.DELETE: Delete access to Contacts ZohoCRM.modules.Contacts.All: All permissions for Contacts ZohoCRM.modules.Accounts.READ: Read access to Accounts ZohoCRM.modules.Accounts.CREATE: Create access to Accounts ZohoCRM.modules.Accounts.UPDATE: Update access to Accounts ZohoCRM.modules.Accounts.DELETE: Delete access to Accounts ZohoCRM.modules.Accounts.All: All permissions for Accounts ZohoCRM.modules.Deals.READ: Read access to Deals ZohoCRM.modules.Deals.CREATE: Create access to Deals ZohoCRM.modules.Deals.UPDATE: Update access to Deals ZohoCRM.modules.Deals.DELETE: Delete access to Deals ZohoCRM.modules.Deals.All: All permissions for Deals ZohoCRM.modules.Tasks.READ: Read access to Tasks ZohoCRM.modules.Tasks.CREATE: Create access to Tasks ZohoCRM.modules.Tasks.UPDATE: Update access to Tasks ZohoCRM.modules.Tasks.DELETE: Delete access to Tasks ZohoCRM.modules.Tasks.All: All permissions for Tasks ZohoCRM.modules.Events.READ: Read access to Events ZohoCRM.modules.Events.CREATE: Create access to Events ZohoCRM.modules.Events.UPDATE: Update access to Events ZohoCRM.modules.Events.DELETE: Delete access to Events ZohoCRM.modules.Events.All: All permissions for Events ZohoCRM.modules.Calls.READ: Read access to Calls ZohoCRM.modules.Calls.CREATE: Create access to Calls ZohoCRM.modules.Calls.UPDATE: Update access to Calls ZohoCRM.modules.Calls.DELETE: Delete access to Calls ZohoCRM.modules.Calls.All: All permissions for Calls ZohoCRM.modules.Products.READ: Read access to Products ZohoCRM.modules.Products.CREATE: Create access to Products ZohoCRM.modules.Products.UPDATE: Update access to Products ZohoCRM.modules.Products.DELETE: Delete access to Products ZohoCRM.modules.Products.All: All permissions for Products ZohoCRM.modules.PriceBooks.READ: Read access to Price Books ZohoCRM.modules.PriceBooks.CREATE: Create access to Price Books ZohoCRM.modules.PriceBooks.UPDATE: Update access to Price Books ZohoCRM.modules.PriceBooks.DELETE: Delete access to Price Books ZohoCRM.modules.PriceBooks.All: All permissions for Price Books ZohoCRM.modules.Vendors.READ: Read access to Vendors ZohoCRM.modules.Vendors.CREATE: Create access to Vendors ZohoCRM.modules.Vendors.UPDATE: Update access to Vendors ZohoCRM.modules.Vendors.DELETE: Delete access to Vendors ZohoCRM.modules.Vendors.All: All permissions for Vendors ZohoCRM.modules.Campaigns.READ: Read access to Campaigns ZohoCRM.modules.Campaigns.CREATE: Create access to Campaigns ZohoCRM.modules.Campaigns.UPDATE: Update access to Campaigns ZohoCRM.modules.Campaigns.DELETE: Delete access to Campaigns ZohoCRM.modules.Campaigns.All: All permissions for Campaigns ZohoCRM.modules.Cases.READ: Read access to Cases ZohoCRM.modules.Cases.CREATE: Create access to Cases ZohoCRM.modules.Cases.UPDATE: Update access to Cases ZohoCRM.modules.Cases.DELETE: Delete access to Cases ZohoCRM.modules.Cases.All: All permissions for Cases ZohoCRM.modules.Solutions.READ: Read access to Solutions ZohoCRM.modules.Solutions.CREATE: Create access to Solutions ZohoCRM.modules.Solutions.UPDATE: Update access to Solutions ZohoCRM.modules.Solutions.DELETE: Delete access to Solutions ZohoCRM.modules.Quotes.READ: Read access to Quotes ZohoCRM.modules.Quotes.CREATE: Create access to Quotes ZohoCRM.modules.Quotes.UPDATE: Update access to Quotes ZohoCRM.modules.Quotes.DELETE: Delete access to Quotes ZohoCRM.modules.Quotes.All: All permissions for Quotes ZohoCRM.modules.Invoices.READ: Read access to Invoices ZohoCRM.modules.Invoices.CREATE: Create access to Invoices ZohoCRM.modules.Invoices.UPDATE: Update access to Invoices ZohoCRM.modules.Invoices.DELETE: Delete access to Invoices ZohoCRM.modules.Invoices.All: All permissions for Invoices ZohoCRM.modules.Forecasts.READ: Read access to Forecasts ZohoCRM.modules.Forecasts.CREATE: Create access to Forecasts ZohoCRM.modules.Forecasts.UPDATE: Update access to Forecasts ZohoCRM.modules.Forecasts.DELETE: Delete access to Forecasts ZohoCRM.modules.Forecasts.All: All permissions for Forecasts ZohoCRM.modules.Activities.READ: Read access to Activities ZohoCRM.modules.Activities.CREATE: Create access to Activities ZohoCRM.modules.Activities.UPDATE: Update access to Activities ZohoCRM.modules.Activities.DELETE: Delete access to Activities ZohoCRM.modules.Activities.All: All permissions for Activities ZohoCRM.modules.Notes.READ: Read access to Notes ZohoCRM.modules.Notes.CREATE: Create access to Notes ZohoCRM.modules.Notes.UPDATE: Update access to Notes ZohoCRM.modules.Notes.DELETE: Delete access to Notes ZohoCRM.modules.Notes.All: All permissions for Notes ZohoCRM.modules.Attachments.READ: Read access to Attachments ZohoCRM.modules.Attachments.CREATE: Create access to Attachments ZohoCRM.modules.Attachments.UPDATE: Update access to Attachments ZohoCRM.modules.Attachments.DELETE: Delete access to Attachments ZohoCRM.modules.Attachments.All: All permissions for Attachments ZohoCRM.modules.custom.READ: Read access to custom modules ZohoCRM.modules.custom.CREATE: Create access to custom modules ZohoCRM.modules.custom.UPDATE: Update access to custom modules ZohoCRM.modules.custom.DELETE: Delete access to custom modules ZohoCRM.modules.custom.All: All permissions for custom modules ZohoCRM.modules.SalesOrders.READ: Read access to Sales Orders ZohoCRM.modules.SalesOrders.CREATE: Create access to Sales Orders ZohoCRM.modules.SalesOrders.UPDATE: Update access to Sales Orders ZohoCRM.modules.SalesOrders.DELETE: Delete access to Sales Orders ZohoCRM.modules.SalesOrders.All: All permissions for Sales Orders ZohoCRM.modules.PurchaseOrders.READ: Read access to Purchase Orders ZohoCRM.modules.PurchaseOrders.CREATE: Create access to Purchase Orders ZohoCRM.modules.PurchaseOrders.UPDATE: Update access to Purchase Orders ZohoCRM.modules.PurchaseOrders.DELETE: Delete access to Purchase Orders ZohoCRM.modules.PurchaseOrders.All: All permissions for Purchase Orders