Zoho Layout Rules API

The LayoutRules API from Zoho — 3 operation(s) for layoutrules.

Operations 5

GET /api/v1/layouts/{layoutId}/layoutRules/{layoutRuleId} Get Layout Rule #
DELETE /api/v1/layouts/{layoutId}/layoutRules/{layoutRuleId} Delete Layout Rule #
PATCH /api/v1/layouts/{layoutId}/layoutRules/{layoutRuleId} Update Layout Rule #
POST /api/v1/layouts/{layoutId}/layoutRules Create Layout Rule #
GET /api/v1/layoutRules Get Layout Rules #

Documentation

Specifications

Code Examples

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zoho-layoutrules-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

zoho-layoutrules-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Helpcenter Layout Rules API
  version: 1.0.0
tags:
- name: LayoutRules
paths:
  /api/v1/layouts/{layoutId}/layoutRules/{layoutRuleId}:
    get:
      tags:
      - LayoutRules
      summary: Get Layout Rule
      description: This API fetches a single rule from your help desk layout.
      operationId: getLayoutRule
      parameters:
      - $ref: '#/components/parameters/layoutRuleId'
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/layoutrulejson'
      security:
      - iam-oauth2-schema:
        - Desk.settings.READ
      x-audience:
      - external-public
    delete:
      tags:
      - LayoutRules
      summary: Delete Layout Rule
      description: This API deletes a layout rule created for a field from a layout.
      operationId: deleteLayoutRule
      parameters:
      - $ref: '#/components/parameters/layoutRuleId'
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.settings.DELETE
      x-audience:
      - external-public
    patch:
      tags:
      - LayoutRules
      summary: Update Layout Rule
      description: This API updates the details of an existing layout rule in a particular layout.
      operationId: updateLayoutRule
      parameters:
      - $ref: '#/components/parameters/layoutRuleId'
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/editLayoutRule_layoutrulejsonPayload'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/layoutrulejson'
      security:
      - iam-oauth2-schema:
        - Desk.settings.UPDATE
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}/layoutRules:
    post:
      tags:
      - LayoutRules
      summary: Create Layout Rule
      description: This API creates a rule for a field in a layout.
      operationId: createLayoutRule
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/layoutrulejsonPayload'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/layoutrulejson'
      security:
      - iam-oauth2-schema:
        - Desk.settings.CREATE
      x-audience:
      - external-public
  /api/v1/layoutRules:
    get:
      tags:
      - LayoutRules
      summary: Get Layout Rules
      description: This API lists all the rules configured for a department/layout.
      operationId: getLayoutRules
      parameters:
      - $ref: '#/components/parameters/searchString'
      - $ref: '#/components/parameters/executeInHelpCentre'
      - name: departmentId
        in: query
        description: Get the rules of the department
        required: true
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: Get the rules of the department
          pattern: ([0-9]+)
      - name: module
        in: query
        description: Name of the module for which you want to fetch the layout rules. Allowed values are tickets, contacts, accounts, tasks, timeEntry, contracts, products, calls, events
        required: true
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: Name of the module for which you want to fetch the layout rules. Allowed values are tickets, contacts, accounts, tasks, timeEntry, contracts, products, calls, events
          enum:
          - tickets
          - contacts
          - accounts
          - tasks
          - calls
          - events
          - timeEntry
          - products
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/layoutId'
      - name: activeRules
        in: query
        description: Get the rules that are active in the layout
        required: false
        style: form
        explode: true
        schema:
          type:
          - boolean
          - 'null'
          description: Get the rules that are active in the layout
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '200':
          $ref: '#/components/responses/layoutRuleListArray'
      security:
      - iam-oauth2-schema:
        - Desk.settings.READ
      x-audience:
      - external-public
components:
  parameters:
    limit:
      name: limit
      in: query
      description: Number of rules to be fetched. Default is 50
      required: false
      style: form
      explode: true
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int32
        description: Number of rules to be fetched. Default is 50
        pattern: ([0-9]+)
    layoutRuleId:
      name: layoutRuleId
      in: path
      required: true
      style: simple
      explode: false
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int64
        pattern: ([0-9]+)
    searchString:
      name: searchString
      in: query
      description: Get the rules that have this search term
      required: false
      style: form
      explode: true
      schema:
        type:
        - string
        - 'null'
        description: Get the rules that have this search term
        maxLength: 100
        minLength: 0
    layoutId:
      name: layoutId
      in: path
      description: Get the rules of the layout
      required: true
      style: simple
      explode: false
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int64
        description: Get the rules of the layout
        pattern: ([0-9]+)
    executeInHelpCentre:
      name: executeInHelpCentre
      in: query
      description: Get the rules that can be executed in help centre
      required: false
      style: form
      explode: true
      schema:
        type:
        - boolean
        - 'null'
        description: Get the rules that can be executed in help centre
    from:
      name: from
      in: query
      description: Index number, starting from which the rules must be fetched
      required: false
      style: form
      explode: true
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int32
        description: Index number, starting from which the rules must be fetched
        pattern: ([0-9]+)
  responses:
    layoutrulejson:
      description: layoutrulejson template definitions
      content:
        application/json:
          schema:
            additionalProperties: false
            allOf:
            - $ref: ./LayoutRules.json#/components/schemas/layoutrulejsonPayload
            - type:
              - 'null'
              - object
              properties:
                id:
                  type:
                  - string
                  - 'null'
                  - integer
                  format: int64
                  pattern: ([0-9]+)
              required:
              - id
          examples:
            Valid responses Definitions:
              value:
                fieldConditions:
                - name: condition 1
                  pattern: (1and2)or3
                  conditions:
                  - condition: is
                    fieldName: email
                    value:
                    - carol@zylker.com
                  - condition: is
                    fieldName: accountId
                    value:
                    - Ramkumar
                  - condition: is
                    fieldName: productId
                    value:
                    - Honda
                  actions:
                    showSections:
                    - Additional Information
                    showFields:
                    - subject
                    setMandatoryFields:
                    - priority
                - name: condition 2
                  pattern: 1 and (2 or 3)
                  conditions:
                  - condition: is
                    fieldName: email
                    value:
                    - carol@zylker.com
                  - condition: is
                    fieldName: accountId
                    value:
                    - Sundar
                  - condition: is
                    fieldName: productId
                    value:
                    - Maruthi
                  actions:
                    showSections: []
                    showFields:
                    - subject
                    setMandatoryFields:
                    - Description
                modifiedTime: 1536887322000
                fieldName: email
                description: Rule 1 for layout
                systemGenerated: false
                layoutId: '4000000007723'
                executeInHelpCentre: false
                createdBy: '4000000015963'
                name: Rule 11
                createdTime: 1536887242000
                modifiedBy: '4000000015963'
                id: '4000000021001'
                status: active
    layoutRuleListArray:
      description: layoutRuleListArray template definitions
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              data:
                $ref: ./LayoutRules.json#/components/schemas/data
            required:
            - data
          examples:
            Valid responses Definitions:
              value:
                data:
                - fieldConditions:
                  - name: condition 1
                    pattern: (1and2)
                    conditions:
                    - condition: is
                      fieldName: email
                      value:
                      - carol@zylker.com
                    - condition: is
                      fieldName: phone
                      value:
                      - '9993292892'
                    actions:
                      showSections:
                      - Additional Information
                      showFields:
                      - subject
                      setMandatoryFields:
                      - priority
                  modifiedTime: 1536887322000
                  fieldName: email
                  description: Rule 1 for layout
                  systemGenerated: false
                  layoutId: '4000000007723'
                  executeInHelpCentre: false
                  createdBy: '4000000015963'
                  name: Rule 1
                  createdTime: 1536887242000
                  modifiedBy: '4000000015963'
                  id: '4000000020001'
                  status: active
                - fieldConditions:
                  - name: condition 2
                    pattern: (1or2)
                    conditions:
                    - condition: is
                      fieldName: phone
                      value:
                      - '9993292892'
                    - condition: is
                      fieldName: email
                      value:
                      - carol@zylker.com
                    actions:
                      showSections:
                      - Additional Information
                      showFields:
                      - subject
                      setMandatoryFields:
                      - priority
                  modifiedTime: 1536887322000
                  fieldName: phone
                  description: Rule 2 for layout
                  systemGenerated: false
                  layoutId: '4000000007723'
                  executeInHelpCentre: false
                  createdBy: '4000000015963'
                  name: Rule 2
                  createdTime: 1536887242000
                  modifiedBy: '4000000015963'
                  id: '4000000021001'
                  status: active
  requestBodies:
    editLayoutRule_layoutrulejsonPayload:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              displayLabel:
                type:
                - string
                - 'null'
                maxLength: 200
                minLength: 0
                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
              modifiedTime:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
              fieldConditions:
                $ref: ./LayoutRules.json#/components/schemas/fieldConditionsArr
              fieldName:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
              description:
                type:
                - string
                - 'null'
                maxLength: 65535
                minLength: 0
              systemGenerated:
                type:
                - boolean
                - 'null'
              layoutId:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
              executeInHelpCentre:
                type:
                - boolean
                - 'null'
              createdBy:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
              name:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
              createdTime:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
              modifiedBy:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
              status:
                type:
                - string
                - 'null'
                enum:
                - active
                - deactive
                maxLength: 100
                minLength: 0
            required:
            - description
            - fieldConditions
            - fieldName
            - layoutId
            - name
          examples:
            Valid requestBody Definitions:
              value:
                fieldConditions:
                - name: condition 1
                  pattern: (1and2)or3
                  conditions:
                  - condition: is
                    fieldName: email
                    value:
                    - carol@zylker.com
                  - condition: is
                    fieldName: accountId
                    value:
                    - Ramkumar
                  - condition: is
                    fieldName: productId
                    value:
                    - Honda
                  actions:
                    showSections:
                    - Additional Information
                    showFields:
                    - subject
                    setMandatoryFields:
                    - priority
                - name: condition 2
                  pattern: 1 and (2 or 3)
                  conditions:
                  - condition: is
                    fieldName: email
                    value:
                    - carol@zylker.com
                  - condition: is
                    fieldName: accountId
                    value:
                    - Sundar
                  - condition: is
                    fieldName: productId
                    value:
                    - Maruthi
                  actions:
                    showSections: []
                    showFields:
                    - subject
                    setMandatoryFields:
                    - Description
                fieldName: email
                executeInHelpCentre: false
                name: Rule 11
                description: Rule 1 for layout
                layoutId: '4000000007723'
                status: active
    layoutrulejsonPayload:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              displayLabel:
                type:
                - string
                - 'null'
                maxLength: 200
                minLength: 0
                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
              modifiedTime:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
              fieldConditions:
                $ref: ./LayoutRules.json#/components/schemas/fieldConditionsArr
              fieldName:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
              description:
                type:
                - string
                - 'null'
                maxLength: 65535
                minLength: 0
              systemGenerated:
                type:
                - boolean
                - 'null'
              layoutId:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
              executeInHelpCentre:
                type:
                - boolean
                - 'null'
              createdBy:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
              name:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
              createdTime:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
              modifiedBy:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
              status:
                type:
                - string
                - 'null'
                enum:
                - active
                - deactive
                maxLength: 100
                minLength: 0
            required:
            - description
            - fieldConditions
            - fieldName
            - layoutId
            - name
          examples:
            Valid requestBody Definitions:
              value:
                fieldConditions:
                - name: condition 2
                  pattern: (1and2)
                  conditions:
                  - condition: is
                    fieldName: email
                    value:
                    - carol@zylker.com
                  - condition: is
                    fieldName: phone
                    value:
                    - '9993292892'
                  actions:
                    showSections:
                    - Additional Information
                    showFields:
                    - subject
                    setMandatoryFields:
                    - priority
                fieldName: email
                executeInHelpCentre: true
                name: Rule 1
                description: Rule 1 for layout
  securitySchemes:
    iam-oauth2-schema:
      $ref: ./Common.json#/components/securitySchemes/iam-oauth2-schema
x-entity: Helpcenter