Zoho RuleGroup API

The RuleGroup API from Zoho — 2 operation(s) for rulegroup.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-rulegroup-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter RuleGroup API
  version: 1.0.0
tags:
- name: RuleGroup
paths:
  /api/v1/rulegroups:
    get:
      tags:
      - RuleGroup
      summary: Get All RuleGroups
      description: This API returns a list of all rule groups configured for a specific engine.
      operationId: getRuleGroups
      parameters:
      - name: from
        in: query
        description: The index number from which the rule groups should be listed. This is used for pagination. For example, if you want to skip the first 10 rule groups, set the from parameter to 11.
        required: false
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          description: ''
      - name: limit
        in: query
        description: Specifies the maximum number of rule groups to return in the response. The value must be between 1 and 50.
        required: false
        style: form
        explode: true
        schema:
          type: integer
          format: int32
          description: ''
          maximum: 50
          minimum: 1
      - name: departmentId
        in: query
        description: Specifies the ID to filter rule groups by department. Only rule groups belonging to this department will be listed.
        required: false
        style: form
        explode: true
        schema:
          type: integer
          format: int64
          description: ''
      - name: module
        in: query
        description: Represents the API name of the module for which you want to filter rule groups.
        required: true
        style: form
        explode: true
        schema:
          type: string
          description: ''
          maxLength: 100
      - name: engineSysName
        in: query
        description: The system name of the engine (e.g., WORKFLOWS, MACRO) to filter rule groups associated with a particular automation engine.
        required: true
        style: form
        explode: true
        schema:
          type: string
          description: ''
          maxLength: 100
      - name: status
        in: query
        description: Specifies the status of the rule group. Based on this parameter, you can filter rule groups. Only rule groups with the specified status ("ACTIVE" or "INACTIVE") will be returned.
        required: false
        style: form
        explode: true
        schema:
          type: string
          description: ''
          enum:
          - ACTIVE
          - INACTIVE
      - name: rulegroupIds
        in: query
        description: The IDs of the rulegroups to list separated by commas. You can pass up to 50 IDs.
        required: false
        style: form
        explode: false
        schema:
          type: array
          description: ''
          items:
            type: string
            description: ''
          maxItems: 50
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          description: List of RuleGroups
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllRuleGroupsResponse'
              examples:
                default:
                  value:
                    $ref: untitled:Untitled-22
      security:
      - iam-oauth2-schema:
        - Desk.settings.READ
      x-audience:
      - external-public
    post:
      tags:
      - RuleGroup
      summary: Create RuleGroup
      description: This API creates a new RuleGroup.
      operationId: createRuleGroup
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuleGroupCreateRequest'
            examples:
              default:
                value:
                  name: Sample RuleGroup
                  description: Description for Sample RuleGroup
                  engine:
                    id: '1000000000581'
                    systemName: WORKFLOWS
                  departmentProperties:
                  - id: '1234567890'
                    ruleGroupStatus: ACTIVE
                    ruleGroupOrder: '1'
                    ruleGroupExecutionType: ASYNC
                  module:
                    id: '1000000000581'
                    apiName: tickets
                  events:
                  - sysName: tickets_create
                    userCriteria:
                      moduleMapping:
                        primaryModule:
                          apiName: tickets
                      criteria: {}
                  rules:
                  - name: Sample Rule
                    order: 1
                    criteria: {}
                    clusters:
                    - id: '1000000007890'
                      name: Sample Cluster
                      type: TREE
                      nodes:
                      - id: '1000000008901'
                        name: Root Node
                        executionType: ASYNC
                        type: ROOT
                        propertyType: ACTION_MAPPING
                        propertyId: '1000000054256'
                        childNodes: []
        required: true
      responses:
        '200':
          description: RuleGroup created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuleGroupResponse'
              examples:
                default:
                  value:
                    id: '1000000001234'
                    name: Sample RuleGroup
                    description: Description for Sample RuleGroup
                    createdTime: '2025-07-07T14:14:30.511Z'
                    modifiedTime: '2025-07-07T14:14:30.511Z'
                    createdBy:
                      id: '1000000000523'
                      name: John
                      photoURL: https://desk.abc.com/api/v1/agents/1000000000523/photo?orgId=34920657
                    modifiedBy:
                      id: '1000000000523'
                      name: John
                      photoURL: https://desk.abc.com/api/v1/agents/1000000000523/photo?orgId=34920657
                    engine:
                      id: '1000000000581'
                      systemName: WORKFLOWS
                    departmentProperties:
                    - id: '1234567890'
                      ruleGroupStatus: ACTIVE
                      ruleGroupOrder: '1'
                      ruleGroupExecutionType: ASYNC
                    module:
                      id: '1000000000581'
                      apiName: tickets
                      displayLabel: Tickets
                    events:
                    - sysName: tickets_create
                      displayLabel: Ticket Created
                      userCriteria:
                        moduleMapping:
                          primaryModule:
                            apiName: tickets
                        criteria: {}
                    rules:
                    - id: '1000000005678'
                      name: Sample Rule
                      order: 1
                      criteria: {}
                      clusters:
                      - id: '1000000007890'
                        name: Sample Cluster
                        type: TREE
                        nodes:
                        - id: '1000000008901'
                          name: Root Node
                          executionType: ASYNC
                          type: ROOT
                          propertyType: ACTION_MAPPING
                          propertyId: '1000000054256'
                          childNodes: []
      security:
      - iam-oauth2-schema:
        - Desk.settings.CREATE
      x-audience:
      - external-public
  /api/v1/rulegroups/{id}:
    put:
      tags:
      - RuleGroup
      summary: Update RuleGroup
      description: This API updates the rulegroup
      operationId: updateRuleGroup
      parameters:
      - name: id
        in: path
        description: RuleGroup ID to be updated
        required: true
        style: simple
        explode: false
        schema:
          type:
          - string
          - 'null'
          - integer
          format: int32
          description: ''
          pattern: ([0-9]+)
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RuleGroupUpdateRequest'
            examples:
              default:
                value:
                  id: '1000000001234'
                  name: Sample RuleGroup updated
                  description: Updated description for Sample RuleGroup
                  engine:
                    id: '1000000000581'
                    systemName: WORKFLOWS
                  departmentProperties:
                  - id: '1234567890'
                    ruleGroupStatus: ACTIVE
                    ruleGroupOrder: '1'
                    ruleGroupExecutionType: ASYNC
                  module:
                    id: '1000000000581'
                    apiName: tickets
                  events:
                  - sysName: tickets_update
                    userCriteria:
                      moduleMapping:
                        primaryModule:
                          apiName: tickets
                      criteria:
                        $ref: Criteria.json#/components/schemas/criteriaFieldsObject
                  rules:
                  - id: '1000000005678'
                    name: Updated Sample Rule
                    order: 1
                    clusters:
                    - id: '1000000007890'
                      name: Updated Sample Cluster
                      type: TREE
                      nodes:
                      - id: '1000000008901'
                        name: Updated Root Node
                        executionType: ASYNC
                        type: ROOT
                        propertyType: ACTION_MAPPING
                        propertyId: '1000000054256'
                        childNodes:
                        - id: '1000000008902'
                          name: Updated Child Node 1
                          executionType: SYNC
                          type: DEFAULT
                          propertyType: CRITERIA
                          entityInfo:
                            moduleMapping:
                              primaryModule:
                                apiName: tickets
                            criteria:
                              $ref: Criteria.json#/components/schemas/criteriaFieldsObject
                          childNodes: []
        required: true
      responses:
        '200':
          description: RuleGroup updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RuleGroupResponse'
              examples:
                default:
                  value:
                    id: '1000000001234'
                    name: Sample RuleGroup updated
                    description: Updated description for Sample RuleGroup
                    engine:
                      id: '1000000000581'
                      systemName: WORKFLOWS
                    departmentProperties:
                    - id: '1234567890'
                      ruleGroupStatus: ACTIVE
                      ruleGroupOrder: '1'
                      ruleGroupExecutionType: ASYNC
                    module:
                      id: '1000000000581'
                      apiName: tickets
                    events:
                    - sysName: tickets_update
                      userCriteria:
                        moduleMapping:
                          primaryModule:
                            apiName: tickets
                        criteria:
                          $ref: Criteria.json#/components/schemas/criteriaFieldsObject
                    rules:
                    - id: '1000000005678'
                      name: Updated Sample Rule
                      order: 1
                      clusters:
                      - id: '1000000007890'
                        name: Updated Sample Cluster
                        type: TREE
                        nodes:
                        - id: '1000000008901'
                          name: Updated Root Node
                          executionType: ASYNC
                          type: ROOT
                          propertyType: ACTION_MAPPING
                          propertyId: '1000000054256'
                          childNodes:
                          - id: '1000000008902'
                            name: Updated Child Node 1
                            executionType: SYNC
                            type: DEFAULT
                            propertyType: CRITERIA
                            entityInfo:
                              moduleMapping:
                                primaryModule:
                                  apiName: tickets
                              criteria:
                                $ref: Criteria.json#/components/schemas/criteriaFieldsObject
                            childNodes: []
      security:
      - iam-oauth2-schema:
        - Desk.settings.UPDATE
      x-audience:
      - external-public
components:
  schemas:
    Module:
      type: object
      properties:
        displayLabel:
          type: string
        apiName:
          type: string
        id:
          type: string
    RuleGroup:
      type: object
      properties:
        modifiedTime:
          type: string
          format: date-time
        departmentProperties:
          type: array
          items:
            $ref: '#/components/schemas/DepartmentProperty'
        createdBy:
          $ref: '#/components/schemas/Agent'
        engine:
          $ref: '#/components/schemas/Engine'
        module:
          $ref: '#/components/schemas/Module'
        name:
          type: string
        createdTime:
          type: string
          format: date-time
        description:
          type: string
        modifiedBy:
          $ref: '#/components/schemas/Agent'
        id:
          type: string
        events:
          type: array
          items:
            $ref: '#/components/schemas/RuleGroupEvent'
        rules:
          type: array
          items:
            $ref: '#/components/schemas/Rule'
    RuleGroupResponse:
      type: object
      description: Rulegroup Response template
      properties:
        id:
          type: string
        name:
          type: string
        description:
          type: string
        createdTime:
          type: string
          format: date-time
        modifiedTime:
          type: string
          format: date-time
        createdBy:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            photoURL:
              type:
              - string
              - 'null'
        modifiedBy:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
            photoURL:
              type:
              - string
              - 'null'
        engine:
          type: object
          properties:
            id:
              type: string
            systemName:
              type: string
        module:
          type: object
          properties:
            id:
              type: string
            apiName:
              type: string
            displayLabel:
              type: string
        events:
          type: array
          items:
            type: object
            properties:
              sysName:
                type: string
              displayLabel:
                type: string
              userCriteria:
                type: object
                properties:
                  moduleMapping:
                    type: object
                    properties:
                      primaryModule:
                        type: object
                        properties:
                          apiName:
                            type: string
                  criteria:
                    $ref: ./Criteria.json#/components/schemas/criteriaFieldsObject
        departmentProperties:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              ruleGroupStatus:
                type: string
              ruleGroupOrder:
                type: string
              ruleGroupExecutionType:
                type: string
            required:
            - id
            - ruleGroupExecutionType
            - ruleGroupOrder
            - ruleGroupStatus
        rules:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
              order:
                type: integer
              criteria:
                type: object
              cluster:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                    type:
                      type: string
                    name:
                      type: string
                    source:
                      type: string
                    createdBy:
                      type: string
                    createdTime:
                      type: string
                      format: date-time
                    modifiedBy:
                      type: string
                    modifiedTime:
                      type: string
                      format: date-time
                    nodes:
                      type: array
                      items:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          executionType:
                            type: string
                          type:
                            type: string
                          propertyType:
                            type: string
                          propertyId:
                            type: string
                          entityInfo:
                            type: object
                            properties:
                              actionMappingId:
                                type: string
                              actionId:
                                type: string
                              actionType:
                                type: string
                              actionParamMappings:
                                type: object
                          childNodes:
                            type: array
                            items:
                              $ref: '#/components/schemas/RuleGroupResponse/properties/rules/items/properties/cluster/items/properties/nodes/items'
    DepartmentProperty:
      type: object
      properties:
        ruleGroupStatus:
          type: string
        ruleGroupOrder:
          type: string
        id:
          type: string
        ruleGroupExecutionType:
          type: string
    GetAllRuleGroupsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/RuleGroup'
    RuleGroupCreateRequest:
      type: object
      properties:
        name:
          type: string
          description: ''
        description:
          type: string
          description: ''
        engine:
          type: object
          description: ''
          properties:
            id:
              type: string
              description: ''
            systemName:
              type: string
              description: ''
        departmentProperties:
          type: array
          description: ''
          items:
            type: object
            description: ''
            properties:
              id:
                type: string
                description: ''
              ruleGroupStatus:
                type: string
                description: ''
              ruleGroupOrder:
                type: string
                description: ''
              ruleGroupExecutionType:
                type: string
                description: ''
        module:
          type: object
          description: ''
          properties:
            id:
              type: string
              description: ''
            apiName:
              type: string
              description: ''
          required:
          - apiName
          - id
        events:
          type: array
          description: ''
          items:
            type: object
            description: ''
            properties:
              sysName:
                type: string
                description: ''
              userCriteria:
                type: object
                description: ''
                properties:
                  moduleMapping:
                    type: object
                    description: ''
                    properties:
                      primaryModule:
                        type: object
                        description: ''
                        properties:
                          apiName:
                            type: string
                            description: ''
                  criteria:
                    type: object
                    description: ''
        rules:
          type: array
          description: ''
          items:
            type: object
            description: ''
            properties:
              name:
                type: string
                description: ''
              order:
                type: integer
                description: ''
              criteria:
                type: object
                description: ''
              clusters:
                type: array
                description: ''
                items:
                  type: object
                  description: ''
                  properties:
                    id:
                      type: string
                      description: ''
                    name:
                      type: string
                      description: ''
                    type:
                      type: string
                      description: ''
                    nodes:
                      type: array
                      description: ''
                      items:
                        type: object
                        description: ''
                        properties:
                          id:
                            type: string
                            description: ''
                          name:
                            type: string
                            description: ''
                          executionType:
                            type: string
                            description: ''
                          type:
                            type: string
                            description: ''
                          propertyType:
                            type: string
                            description: ''
                          propertyId:
                            type: string
                            description: ''
                          childNodes:
                            type: array
                            description: ''
                            items:
                              type: object
                              description: ''
                              properties:
                                id:
                                  type: string
                                  description: ''
                                name:
                                  type: string
                                  description: ''
                                executionType:
                                  type: string
                                  description: ''
                                type:
                                  type: string
                                  description: ''
                                propertyType:
                                  type: string
                                  description: ''
                                entityInfo:
                                  type: object
                                  description: ''
                                childNodes:
                                  type: array
                                  description: ''
                                  items:
                                    $ref: '#/components/schemas/RuleGroupCreateRequest/properties/rules/items/properties/clusters/items/properties/nodes/items'
      required:
      - departmentProperties
      - engine
      - name
      - rules
    Rule:
      type: object
      properties:
        name:
          type: string
        order:
          type: integer
        criteria:
          type:
          - object
          - 'null'
        clusters:
          type: array
          items:
            $ref: '#/components/schemas/Cluster'
    RuleGroupEvent:
      type: object
      properties:
        displayLabel:
          type: string
        module:
          $ref: '#/components/schemas/Module'
        baseEvent:
          type: string
        sysName:
          type: string
        userCriteria:
          type:
          - object
          - 'null'
    Agent:
      type: object
      properties:
        photoURL:
          type: string
        name:
          type: string
        id:
          type: string
    Node:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        executionType:
          type: string
        type:
          type: string
        propertyType:
          type: string
        propertyId:
          type: string
        entityInfo:
          type:
          - object
          - 'null'
        childNodes:
          type: array
          items:
            $ref: '#/components/schemas/Node'
    Cluster:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        type:
          type: string
        nodes:
          type: array
          items:
            $ref: '#/components/schemas/Node'
    Engine:
      type: object
      properties:
        systemName:
          type: string
        id:
          type: string
    RuleGroupUpdateRequest:
      type: object
      properties:
        id:
          type: string
          description: ''
        name:
          type: string
          description: ''
        description:
          type: string
          description: ''
        engine:
          type: object
          description: ''
          properties:
            id:
              type: string
              description: ''
            systemName:
              type: string
              description: ''
        departmentProperties:
          type: array
          description: ''
          items:
            type: object
            description: ''
            properties:
              id:
                type: string
                description: ''
              ruleGroupStatus:
                type: string
                description: ''
              ruleGroupOrder:
                type: string
                description: ''
              ruleGroupExecutionType:
                type: string
                description: ''
        module:
          type: object
          description: ''
          properties:
            id:
              type: string
              description: ''
            apiName:
              type: string
              description: ''
          required:
          - apiName
          - id
        events:
          type: array
          description: ''
          items:
            type: object
            description: ''
            properties:
              sysName:
                type: string
                description: ''
              userCriteria:
                type: object
                description: ''
                properties:
                  moduleMapping:
                    type: object
                    description: ''
                    properties:
                      primaryModule:
                        type: object
                        description: ''
                        properties:
                          apiName:
                            type: string
                            description: ''
                  criteria:
                    $ref: ./Criteria.json#/components/schemas/criteriaFieldsObject
        rules:
          type: array
          description: ''
          items:
            type: object
            description: ''
            properties:
              id:
                type: string
                description: ''
              name:
                type: string
                description: ''
              order:
                type: integer
                description: ''
              clusters:
                type: array
                description: ''
                items:
                  type: object
                  description: ''
                  properties:
                    id:
                      type: string
                      description: ''
                    name:
                      type: string
                      description: ''
                    type:
                      type: string
                      description: ''
                    nodes:
                      type: array
                      description: ''
                      items:
                        type: object
                        description: ''
                        properties:
                          id:
                            type: string
                            description: ''
                          name:
                            type: string
                            description: ''
                          executionType:
                            type: string
                            description: ''
                          type:
                            type: string
                            description: ''
                          propertyType:
                            type: string
                            description: ''
                          propertyId:
                            type: string
                            description: ''
                          childNodes:
                            type: array
                            description: ''
                            items:
                              type: object
                              description: ''
                              properties:
                                id:
                                  type: string
                                  description: ''
                                name:
                                  type: string
                                  description: ''
                                executionType:
                                  type: string
                                  description: ''
                                type:
                                  type: string
                                  description: ''
                                propertyType:
                                  type: string
                                  description: ''
                                entityInfo:
                                  type: object
                                  description: ''
                                  properties:
                                    moduleMapping:
                                      type: object
                                      description: ''
                                      properties:
                                        primaryModule:
                                          type: object
                                          description: ''
                                          properties:
                                            apiName:
                                              type: string
                                              description: ''
          

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