Zoho Actions API

The Actions API from Zoho — 36 operation(s) for actions.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-actions-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter Actions API
  version: 1.0.0
tags:
- name: Actions
paths:
  /{module}/actions/mass_change_owner:
    post:
      summary: Mass change owner of records
      description: Mass change the owner of records in a module based on a custom view
      operationId: massChangeOwner
      parameters:
      - $ref: '#/components/parameters/Module'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              description: Request body for mass changing owner of records
              additionalProperties: false
              properties:
                cvid:
                  type: string
                  description: Custom view ID
                  maxLength: 19
                owner:
                  type: object
                  description: New owner information
                  additionalProperties: false
                  properties:
                    id:
                      type: string
                      description: Owner ID
                      maxLength: 19
                  required:
                  - id
                territory:
                  type: object
                  description: Territory information
                  additionalProperties: false
                  properties:
                    id:
                      type: string
                      description: Territory ID
                      maxLength: 19
                    include_child:
                      type:
                      - boolean
                      - 'null'
                      description: Whether to include child territories in the mass change operation
                  required:
                  - id
                criteria:
                  oneOf:
                  - description: Value-based criteria
                    type: object
                    additionalProperties: false
                    properties:
                      field:
                        description: Field to filter on
                        type: object
                        additionalProperties: false
                        properties:
                          api_name:
                            description: API name of the field
                            type: string
                            maxLength: 255
                          id:
                            description: ID of the field
                            type: string
                            maxLength: 19
                        required:
                        - api_name
                      comparator:
                        description: Comparison operator
                        type: string
                        enum:
                        - equal
                        - ends_with
                        - not_equal
                        - greater_than
                        - less_than
                        - not_between
                        - starts_with
                        - between
                        - less_equal
                        - greater_equal
                      value:
                        description: Value to compare against
                        type: string
                        maxLength: 255
                    required:
                    - field
                    - comparator
                    - value
              required:
              - cvid
              - owner
        required: true
      responses:
        '202':
          description: Mass change owner request accepted and scheduled successfully
          content:
            application/json:
              schema:
                type: object
                description: Response containing the scheduled job details
                additionalProperties: false
                properties:
                  data:
                    type: array
                    description: Array of response data
                    maxItems: 1
                    items:
                      type: object
                      description: Job scheduling details
                      additionalProperties: false
                      properties:
                        status:
                          type: string
                          description: Status of the operation
                          enum:
                          - success
                        code:
                          type: string
                          description: Response code
                          enum:
                          - SCHEDULED
                        message:
                          type: string
                          description: Response message
                          enum:
                          - change owner is successfully scheduled
                        details:
                          type: object
                          description: Additional details about the scheduled job
                          additionalProperties: false
                          properties:
                            job_id:
                              type: string
                              description: Unique identifier for the scheduled job
                              maxLength: 19
                          required:
                          - job_id
                      required:
                      - status
                      - code
                      - message
                      - details
                required:
                - data
        '400':
          description: Bad Request - Invalid input parameters or data
          content:
            application/json:
              schema:
                oneOf:
                - type: object
                  description: Error response for missing mandatory fields (cvid or owner id)
                  additionalProperties: false
                  properties:
                    code:
                      type: string
                      description: Error code indicating mandatory field is missing
                      enum:
                      - MANDATORY_NOT_FOUND
                    message:
                      type: string
                      description: Error message describing the missing field
                      maxLength: 255
                    status:
                      type: string
                      description: Status of the response
                      enum:
                      - error
                    details:
                      type: object
                      description: Additional details about the missing field
                      additionalProperties: false
                      properties:
                        api_name:
                          type: string
                          description: API name of the missing field
                          maxLength: 255
                        json_path:
                          type: string
                          description: JSON path to the missing field
                          maxLength: 255
                      required:
                      - api_name
                      - json_path
                  required:
                  - code
                  - message
                  - status
                  - details
                - type: object
                  description: Error response for invalid data or module
                  additionalProperties: false
                  properties:
                    code:
                      type: string
                      description: Error code indicating invalid data or module
                      enum:
                      - INVALID_DATA
                      - NOT_SUPPORTED
                    message:
                      type: string
                      description: Error message describing the invalid data or module
                      maxLength: 255
                    details:
                      oneOf:
                      - type: object
                        description: Details about the invalid field
                        additionalProperties: false
                        properties:
                          api_name:
                            type: string
                            description: API name of the invalid field
                            maxLength: 255
                          json_path:
                            type: string
                            description: JSON path to the invalid field
                            maxLength: 255
                        anyOf:
                        - type: object
                          description: Requires api_name
                          additionalProperties: false
                          required:
                          - api_name
                        - type: object
                          description: Requires json_path
                          additionalProperties: false
                          required:
                          - json_path
                      - type: object
                        description: Details about invalid resource path
                        additionalProperties: false
                        properties:
                          resource_path_index:
                            type: integer
                            description: Index of the invalid resource path
                            format: int32
                        required:
                        - resource_path_index
                      - type: object
                        description: When the given owner id is not valid (not_crm_user/deleted/inactive)
                        additionalProperties: false
                        properties:
                          owner_status:
                            type: string
                            description: Status of the owner
                            enum:
                            - not_crm_user
                            - deleted
                            - inactive
                          api_name:
                            type: string
                            description: API name of the field
                            maxLength: 255
                          json_path:
                            type: string
                            description: JSON path to the field
                            maxLength: 255
                        required:
                        - owner_status
                        - api_name
                        - json_path
                      - type: object
                        description: Details about expected data type mismatch
                        additionalProperties: false
                        properties:
                          expected_data_type:
                            type: string
                            description: Expected data type of the field
                            maxLength: 255
                          api_name:
                            type: string
                            description: API name of the field
                            maxLength: 255
                          json_path:
                            type: string
                            description: JSON path to the field
                            maxLength: 255
                        required:
                        - expected_data_type
                        - api_name
                        - json_path
                    status:
                      type: string
                      description: Status of the response
                      enum:
                      - error
                  required:
                  - code
                  - message
                  - details
                  - status
                - type: object
                  description: Error response when record limit is exceeded
                  additionalProperties: false
                  properties:
                    status:
                      type: string
                      description: Status of the response
                      enum:
                      - error
                    code:
                      type: string
                      description: Error code indicating record limit exceeded
                      enum:
                      - RECORD_LIMIT_EXCEEDED
                    message:
                      type: string
                      description: Error message describing the limit exceeded
                      maxLength: 255
                    details:
                      type: object
                      description: Additional details about the exceeded limit
                      additionalProperties: false
                      properties:
                        limit:
                          type: string
                          description: The record limit that was exceeded
                          maxLength: 255
                      required:
                      - limit
                  required:
                  - status
                  - code
                  - message
                  - details
                - type: object
                  description: Error response when expected fields are missing in criteria
                  additionalProperties: false
                  properties:
                    code:
                      type: string
                      description: Error code indicating expected field is missing
                      enum:
                      - EXPECTED_FIELD_MISSING
                    message:
                      type: string
                      description: Error message describing the missing field
                      maxLength: 255
                    status:
                      type: string
                      description: Status of the response
                      enum:
                      - error
                    details:
                      type: object
                      description: Additional details about the missing field
                      additionalProperties: false
                      properties:
                        expected_fields:
                          type: array
                          description: List of missing expected fields
                          maxItems: 2
                          items:
                            type: object
                            description: Details of a missing expected field
                            additionalProperties: false
                            properties:
                              api_name:
                                type: string
                                description: API name of the missing field
                                maxLength: 255
                              json_path:
                                type: string
                                description: JSON path to the missing field
                                maxLength: 255
                      required:
                      - expected_fields
                  required:
                  - code
                  - message
                  - status
                  - details
                - type: object
                  description: Error response when ambiguous fields are provided
                  additionalProperties: false
                  properties:
                    code:
                      type: string
                      description: Error code indicating ambiguity in field specification
                      enum:
                      - AMBIGUITY_DURING_PROCESSING
                    message:
                      type: string
                      description: Error message describing the missing field
                      maxLength: 255
                    status:
                      type: string
                      description: Status of the response
                      enum:
                      - error
                    details:
                      type: object
                      description: Additional details about the ambiguous fields
                      additionalProperties: false
                      properties:
                        ambiguity_due_to:
                          type: array
                          description: List of fields causing ambiguity
                          maxItems: 2
                          items:
                            type: object
                            description: Details of an ambiguous field
                            additionalProperties: false
                            properties:
                              api_name:
                                type: string
                                description: API name of the ambiguous field
                                maxLength: 255
                              json_path:
                                type: string
                                description: JSON path to the ambiguous field
                                maxLength: 255
                      required:
                      - ambiguity_due_to
                  required:
                  - code
                  - message
                  - status
                  - details
                - type: object
                  description: Error response for missing dependent fields
                  additionalProperties: false
                  properties:
                    code:
                      type: string
                      description: Error code indicating dependent field is missing or mismatched
                      enum:
                      - DEPENDENT_FIELD_MISSING
                      - DEPENDENT_MISMATCH
                    message:
                      type: string
                      description: Error message describing the missing field
                      maxLength: 255
                    status:
                      type: string
                      description: Status of the response
                      enum:
                      - error
                    details:
                      type: object
                      description: Additional details about the missing field
                      additionalProperties: false
                      properties:
                        dependee:
                          type: object
                          description: Details about the dependee field
                          additionalProperties: false
                          properties:
                            api_name:
                              type: string
                              description: API name of the dependee field
                              maxLength: 255
                            json_path:
                              type: string
                              description: JSON path to the dependee field
                              maxLength: 255
                          required:
                          - api_name
                          - json_path
                        api_name:
                          type: string
                          description: API name of the missing field
                          maxLength: 255
                        json_path:
                          type: string
                          description: JSON path to the missing field
                          maxLength: 255
                      required:
                      - api_name
                      - json_path
                      - dependee
                  required:
                  - code
                  - message
                  - status
                  - details
      security:
      - iam-oauth2-schema:
        - ZohoCRM.change_owner.CREATE
      tags:
      - Actions
    get:
      summary: Check mass change owner job status
      description: Check the status of a mass change owner job using the job ID
      operationId: checkStatus
      parameters:
      - name: module
        in: path
        description: The API name of the module
        required: true
        schema:
          type: string
          maxLength: 255
      - $ref: '#/components/parameters/JobId'
      responses:
        '200':
          description: Successfully retrieved mass change owner job status
          content:
            application/json:
              schema:
                type: object
                description: Response containing the job status details
                additionalProperties: false
                properties:
                  data:
                    type: array
                    description: Array of job status data
                    maxItems: 1
                    items:
                      type: object
                      description: Job status details
                      additionalProperties: false
                      properties:
                        Status:
                          type: string
                          description: Current status of the job
                          enum:
                          - COMPLETED
                        Failed_Count:
                          type: integer
                          description: Number of records that failed to update
                          format: int32
                        Not_Updated_Count:
                          type: integer
                          description: Number of records that were not updated
                          format: int32
                        Updated_Count:
                          type: integer
                          description: Number of records successfully updated
                          format: int32
                        Total_Count:
                          type: integer
                          description: Total number of records processed
                          format: int32
                      required:
                      - Status
                      - Failed_Count
                      - Not_Updated_Count
                      - Updated_Count
                      - Total_Count
                required:
                - data
        '204':
          description: Job details not found
        '400':
          description: Bad Request - Invalid input parameters or data
          content:
            application/json:
              schema:
                oneOf:
                - type: object
                  description: Error response for missing required query parameter
                  additionalProperties: false
                  properties:
                    code:
                      type: string
                      description: Error code indicating required parameter is missing
                      enum:
                      - REQUIRED_PARAM_MISSING
                    message:
                      type: string
                      description: Error message describing the missing field
                      maxLength: 255
                    status:
                      type: string
                      description: Status of the response
                      enum:
                      - error
                    details:
                      type: object
                      description: Additional details about the missing field
                      additionalProperties: false
                      properties:
                        param_name:
                          type: string
                          description: Name of the missing parameter
                          maxLength: 255
                      required:
                      - param_name
                  required:
                  - code
                  - message
                  - status
                  - details
      security:
      - iam-oauth2-schema:
        - ZohoCRM.change_owner.READ
      tags:
      - Actions
  /{moduleName}/{id}/actions/send_mail:
    post:
      operationId: sendMail
      summary: Send an email to a record
      description: Sends an email using specific templates or custom content to a record in a given module.
      security:
      - iam-oauth2-schema:
        - ZohoCRM.send_mail.all.CREATE
      parameters:
      - $ref: '#/components/parameters/ModuleName'
      - $ref: '#/components/parameters/Id'
      requestBody:
        description: Email details including sender, recipients, and content.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SendMailRequest'
      responses:
        '200':
          description: Mail sent successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '400':
          description: Bad Request - Validation or Logic Error
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/StandardErrorResponse'
                - $ref: '#/components/schemas/FlatErrorResponse'
        '403':
          description: Forbidden - Permission or Confirmation Required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FlatErrorResponse'
      tags:
      - Actions
  /{moduleApiName}/{recordId}/actions/get_related_records_count:
    post:
      summary: Get Related Records Count
      description: Retrieves the count of related records for a specific parent record. Supports filtering by various criteria including approval status, conversion status, and custom field filters. This operation is useful for analytics and UI display purposes where you need to show counts without fetching the actual related records.
      operationId: getRelatedRecordsCount
      parameters:
      - $ref: '#/components/parameters/ModuleApiName'
      - $ref: '#/components/parameters/RecordId'
      requestBody:
        description: Request payload containing an array of related list specifications. Each item specifies a related list to count and optional filtering parameters to apply before counting. Supports filtering by field values, approval status, conversion status, and record categories.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetRelatedRecordsCountRequest'
        required: true
      responses:
        '200':
          description: Successfully retrieved the count of related records. Returns an array containing count information for each requested related list, along with the related list identifiers.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetRelatedRecordsCountResponse'
        '400':
          description: Bad Request. The request contains invalid data, such as missing required fields, invalid field values, unsupported operations, or malformed request structure. Error details will specify the exact validation failure.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - iam-oauth2-schema:
        - ZohoCRM.modules.READ
      tags:
      - Actions
  /{module}/{recordID}/actions/clone:
    post:
      operationId: cloneRecord
      summary: To clone a record in a module
      description: To clone a record in a module.
      parameters:
      - $ref: '#/components/parameters/Module_2'
      - $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'
      responses:
        '201':
          description: Record is created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordSuccessResponse'
        '400':
          description: Bad Request - The request could not be processed due to invalid input, missing mandatory parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordsErrorResponse'
        '401':
          description: Unauthorized - Authentication failed or insufficient OAuth scope permissions."
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordUnathorizedResponse'
        '403':
          description: Forbidden - User lacks permission to add records in  the requested module, Records or This API is supported only for admin users.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordPermissionResponse'
        '404':
          description: Not Found - The requested URL pattern is invalid or the specified resource does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordInvalidURLResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordInternalErrorResponse'
      security:
      - iam-oauth2-schema:
        - ZohoCRM.modules.Leads.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Contacts.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Accounts.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Deals.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Tasks.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Events.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Calls.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Products.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Vendors.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Campaigns.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Cases.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Solutions.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Quotes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Invoices.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Forecasts.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Activities.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Notes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Attachments.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.custom.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.CREATE
      tags:
      - Actions
  /{moduleApiName}/{id}/actions/share_emails:
    post:
      description: To share emails of specific record with other users in your organization
      summary: Share Emails of a record
      operationId: shareEmails
      parameters:
      - name: moduleApiName
        in: path
        required: true
        description: Module  Api Name of the record
        schema:
          type: string
          enum:
          - Leads
          - Contacts
          - Accounts
          - Deals
          - CustomModule1
      - $ref: '#/components/parameters/Id_2'
      security:
      - iam-oauth2-schema:
        - ZohoCRM.modules.Leads.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Contacts.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Accounts.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Deals.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Tasks.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Events.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Calls.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Products.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Vendors.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Campaigns.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Cases.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Solutions.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Quotes.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Invoices.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Forecasts.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Activities.CREATE
      - iam-oauth2-schema:
        - ZohoCRM.modules.Notes.CREATE
      - iam-oauth2-schema:
        - ZohoC

# --- truncated at 32 KB (524 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho/refs/heads/main/openapi/zoho-actions-api-openapi.yml