Zoho Layout API

The Layout API from Zoho — 13 operation(s) for layout.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-layout-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter Layout API
  version: 1.0.0
tags:
- name: Layout
paths:
  /api/v1/layouts:
    get:
      tags:
      - Layout
      summary: Get Layouts
      description: This API lists all the layouts configured for a module.
      operationId: getLayouts
      parameters:
      - $ref: '#/components/parameters/module'
      - $ref: '#/components/parameters/departmentId'
      - name: id
        in: query
        description: ID of the layout
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the layout
          pattern: ([0-9]+)
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/getLayouts'
      security:
      - iam-oauth2-schema:
        - Desk.basic.READ
      x-audience:
      - external-public
    post:
      tags:
      - Layout
      summary: Create Layout
      description: This API creates the layout
      operationId: createLayout
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/layoutRequestJSON'
      responses:
        '200':
          $ref: '#/components/responses/createLayoutResponse'
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
      security:
      - iam-oauth2-schema:
        - Desk.settings.CREATE
      x-audience:
      - external-public
  /api/v1/layouts/standardLayoutFormat:
    get:
      tags:
      - Layout
      summary: Get Standard Layout Format
      description: This Api provides the standrd layout format for the given module with organisations fields that can be used for create layout
      operationId: getStandardLayoutFormat
      parameters:
      - name: module
        in: query
        required: true
        schema:
          type:
          - string
          - 'null'
          enum:
          - tickets
          - contacts
          - accounts
          - products
          - calls
          - tasks
          - events
          - timeEntry
          maxLength: 100
          minLength: 0
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '200':
          $ref: '#/components/responses/getStandardLayoutFormatResponse'
      security:
      - iam-oauth2-schema:
        - Desk.basic.READ
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}/clone:
    post:
      tags:
      - Layout
      summary: Clone Layout
      description: This API creates new Layout by cloning existing layout.
      operationId: cloneLayout
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/cloneLayoutJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '500':
          $ref: ./Common.json#/components/responses/internalErrorResponse
        '200':
          $ref: '#/components/responses/cloneLayoutResponse'
      security:
      - iam-oauth2-schema:
        - Desk.settings.CREATE
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}/fields/{fieldId}/value:
    get:
      tags:
      - Layout
      summary: Export PickList Values
      description: 'This api behaves as below <br> (i)When Query param _fileType_=_CSV_ is passed  the picklist values gets downloaded in csv file with _*fieldlabel*_ as its name <br> (ii) When header param is not passed _empty 200_ response '
      operationId: exportPickListValues
      parameters:
      - name: fileType
        in: query
        description: Export Format in which format should be shown.This value can be @CSV@
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: Export Format in which format should be shown.This value can be @CSV@
          enum:
          - CSV
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/layoutId'
      - $ref: '#/components/parameters/fieldId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '400':
          $ref: ./Common.json#/components/responses/badRequestErrorResponse
        '200':
          $ref: ./Common.json#/components/responses/fileResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.settings.READ
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}/deactivate:
    post:
      tags:
      - Layout
      summary: Deactivate Layout
      description: This Api deactivates existing layout
      operationId: deactivateLayout
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/deactivateLayoutRequestJson'
      responses:
        '200':
          $ref: '#/components/responses/layoutJson'
      security:
      - iam-oauth2-schema:
        - Desk.settings.UPDATE
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}:
    get:
      tags:
      - Layout
      summary: Get Layout
      description: This API fetches a layout configured for a module
      operationId: getLayout
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '200':
          $ref: '#/components/responses/getLayoutResponse'
      security:
      - iam-oauth2-schema:
        - Desk.basic.READ
      x-audience:
      - external-public
    delete:
      tags:
      - Layout
      summary: Delete Layout
      description: ' This API deletes a layout'
      operationId: deleteLayout
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.settings.DELETE
      x-audience:
      - external-public
    patch:
      tags:
      - Layout
      summary: Update Layout
      description: This API updates details of an existing layout.
      operationId: updateLayout
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/updateLayout_layoutRequestJSON'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '500':
          $ref: ./Common.json#/components/responses/internalErrorResponse
        '200':
          $ref: '#/components/responses/updateLayoutResponse'
      security:
      - iam-oauth2-schema:
        - Desk.settings.UPDATE
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}/activate:
    post:
      tags:
      - Layout
      summary: Activate Layout
      description: This api activates the deactivated Layout.
      operationId: activateLayout
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/layoutJson'
      security:
      - iam-oauth2-schema:
        - Desk.settings.UPDATE
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}/fields/{fieldId}/cloneFieldsInLayout:
    post:
      tags:
      - Layout
      summary: Clone Fields to other Layouts
      description: This API is to clone a field to other layouts.
      operationId: cloneFieldsToOtherLayouts
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: '#/components/parameters/fieldId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/layoutIdsJson'
      responses:
        '200':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.settings.CREATE
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}/profiles:
    get:
      tags:
      - Layout
      summary: Get Layout Profiles
      description: This api returns the profiles associated with a layout
      operationId: getLayoutProfiles
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/layoutProfilesData'
      security:
      - iam-oauth2-schema:
        - Desk.settings.READ
      x-audience:
      - external-public
    patch:
      tags:
      - Layout
      summary: Associate Profiles To Layout
      description: This api Associates the given profiles to the layout
      operationId: associateProfilesToLayout
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/layoutProfileIdsJsonObject'
      responses:
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.settings.UPDATE
      x-audience:
      - external-public
  /api/v1/myForm:
    get:
      tags:
      - Layout
      summary: Get My Form
      description: This API fetches details of a layout, based on the profile of the current user.
      operationId: getMyForm
      parameters:
      - name: layoutId
        in: query
        description: ID of the layout
        required: true
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the layout
          pattern: ([0-9]+)
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '200':
          $ref: '#/components/responses/getMyFormResponse'
      security:
      - iam-oauth2-schema:
        - Desk.basic.READ
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}/replaceValues:
    post:
      tags:
      - Layout
      summary: Replace PickList Value
      description: 'This API replaces the old value with the new value for the PickList field type in all existing records only.<p><b>Note</b>: When a value that does not exist in the PickList values is provided as new value, then this API will create the new value without deleting the old one.</p>'
      operationId: replacePickListValue
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/replaceValueRequestJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '200':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.settings.UPDATE
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}/fields/{fieldId}:
    patch:
      tags:
      - Layout
      summary: Update Layout Field
      description: This API updates details of a field in the layout.
      operationId: updateLayoutField
      parameters:
      - name: isMandatory
        in: query
        required: true
        style: form
        explode: true
        schema:
          type:
          - boolean
          - 'null'
      - $ref: '#/components/parameters/layoutId'
      - $ref: '#/components/parameters/fieldId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/updateLayoutFieldRequestJson'
      responses:
        '200':
          $ref: '#/components/responses/commonFieldResponse'
      security:
      - iam-oauth2-schema:
        - Desk.settings.UPDATE
      x-audience:
      - external-public
  /api/v1/layouts/{layoutId}/fields/{fieldId}/unassociate:
    post:
      tags:
      - Layout
      summary: Remove Field From Layout
      description: This API is to remove fields from a layout.
      operationId: removeFieldFromLayout
      parameters:
      - $ref: '#/components/parameters/layoutId'
      - $ref: '#/components/parameters/fieldId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.settings.CREATE
      x-audience:
      - external-public
components:
  responses:
    getLayoutResponse:
      description: getLayoutResponse template definitions
      content:
        application/json:
          schema:
            anyOf:
            - additionalProperties: false
              allOf:
              - $ref: ./Layout.json#/components/schemas/basicLayoutJson
              - type:
                - 'null'
                - object
                properties:
                  module:
                    type:
                    - string
                    - 'null'
                    enum:
                    - Cases
                    - Contacts
                    - Accounts
                    - Tasks
                    - Calls
                    - Events
                    - TimeEntry
                    - Contracts
                    - Products
                    maxLength: 100
                    minLength: 0
                  sections:
                    $ref: ./Layout.json#/components/schemas/sectionListForLayout
                required:
                - module
                - sections
            - additionalProperties: false
              allOf:
              - $ref: ./Layout.json#/components/schemas/cloneLayoutCommonResponse
              - type:
                - 'null'
                - object
                properties:
                  departmentId:
                    type:
                    - string
                    - 'null'
                    - integer
                    format: int64
                    pattern: ([0-9]+)
                required:
                - departmentId
          examples:
            Valid responses Definitions:
              value:
                modifiedTime: 1498894564000
                skipDeptAccessValidation: false
                createdBy: '4000000009118'
                departmentId: '4000000007175'
                layoutDisplayName: Default Ticket Layout
                createdTime: 1498894564000
                modifiedBy: ''
                id: '4000000007177'
                isDefaultLayout: true
                sections:
                - name: Ticket Information
                  isCustomSection: false
                  id: 1
                  fields:
                  - displayLabel: Department
                    apiName: departmentId
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000353'
                    isSystemMandatory: false
                    isRemovable: false
                    type: LookUp
                    maxLength: 50
                    isMandatory: true
                  - displayLabel: Contact Name
                    apiName: contactId
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000357'
                    isSystemMandatory: true
                    isRemovable: false
                    type: LookUp
                    maxLength: 300
                    isMandatory: true
                  - displayLabel: Account Name
                    apiName: accountId
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000355'
                    isSystemMandatory: false
                    isRemovable: true
                    type: LookUp
                    maxLength: 300
                    isMandatory: false
                  - displayLabel: Email
                    apiName: email
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000359'
                    isSystemMandatory: false
                    isRemovable: false
                    type: Email
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Phone
                    apiName: phone
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000361'
                    isSystemMandatory: false
                    isRemovable: true
                    type: Phone
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Education Type
                    allowedValues:
                    - 'Education :: University :: Private'
                    - 'Education :: University :: Public'
                    - 'Education :: School :: Private'
                    - 'Education :: School :: Public'
                    apiName: cf_education_type
                    isCustomField: true
                    defaultValue: 'Education :: University :: Private'
                    isNested: true
                    isSystemMandatory: false
                    type: Picklist
                    isEncryptedField: false
                    sortBy: userDefined
                    id: '4000000009999'
                    isRemovable: true
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Sub Category
                    allowedValues:
                    - Sub General
                    - Sub Defects
                    apiName: subCategory
                    isCustomField: false
                    defaultValue: Sub General
                    isNested: false
                    isSystemMandatory: false
                    type: Picklist
                    isEncryptedField: false
                    sortBy: userDefined
                    id: '4000000000423'
                    isRemovable: true
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Category
                    allowedValues:
                    - General
                    - Defects
                    apiName: category
                    isCustomField: false
                    defaultValue: General
                    isNested: false
                    isSystemMandatory: false
                    type: Picklist
                    isEncryptedField: false
                    sortBy: userDefined
                    id: '4000000000421'
                    isRemovable: true
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Subject
                    apiName: subject
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000363'
                    isSystemMandatory: true
                    isRemovable: false
                    type: Text
                    maxLength: 255
                    isMandatory: true
                  - displayLabel: Description
                    apiName: description
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000365'
                    isSystemMandatory: false
                    isRemovable: false
                    type: Textarea
                    maxLength: 1000000
                    isMandatory: false
                  - displayLabel: Status
                    allowedValues:
                    - Open
                    - Open_july
                    - On Hold
                    - Escalated
                    - Closed1
                    - Closed
                    - newDeptClosed
                    apiName: status
                    isCustomField: false
                    defaultValue: Open
                    isNested: false
                    isSystemMandatory: true
                    type: Picklist
                    restoreOnReplyValues:
                    - Open_july
                    - newDeptClosed
                    - Escalated
                    - On Hold
                    - Closed
                    - Closed1
                    - Open
                    isEncryptedField: false
                    sortBy: userDefined
                    id: '4000000000367'
                    isRemovable: false
                    maxLength: 120
                    isMandatory: true
                  - displayLabel: Case Owner
                    apiName: assigneeId
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000371'
                    isSystemMandatory: false
                    isRemovable: false
                    type: LookUp
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Product Name
                    apiName: productId
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000369'
                    isSystemMandatory: false
                    isRemovable: true
                    type: LookUp
                    maxLength: 120
                    isMandatory: false
                - name: Additional Information
                  isCustomSection: false
                  id: 2
                  fields:
                  - displayLabel: Due Date
                    apiName: dueDate
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000405'
                    isSystemMandatory: false
                    isRemovable: false
                    type: DateTime
                    maxLength: 300
                    isMandatory: false
                  - displayLabel: Priority
                    allowedValues:
                    - -None-
                    - High
                    - Medium
                    - Low
                    apiName: priority
                    isCustomField: false
                    defaultValue: -None-
                    isNested: false
                    isSystemMandatory: false
                    type: Picklist
                    isEncryptedField: false
                    sortBy: userDefined
                    id: '4000000000407'
                    isRemovable: false
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Mode
                    allowedValues:
                    - Phone
                    - Email
                    - Web
                    - Twitter
                    - Facebook
                    - Chat
                    - Forums
                    - Feedback Widget
                    apiName: channel
                    isCustomField: false
                    defaultValue: Phone
                    isNested: false
                    isSystemMandatory: false
                    type: Picklist
                    isEncryptedField: false
                    sortBy: userDefined
                    id: '4000000000409'
                    isRemovable: false
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Is Overdue
                    apiName: Is Overdue
                    isCustomField: false
                    defaultValue: 'true'
                    isEncryptedField: false
                    id: '4000000000411'
                    isSystemMandatory: false
                    isRemovable: true
                    type: Boolean
                    maxLength: 50
                    isMandatory: false
                  - displayLabel: Is Escalated
                    apiName: Is Escalated
                    isCustomField: false
                    defaultValue: 'true'
                    isEncryptedField: false
                    id: '4000000000413'
                    isSystemMandatory: false
                    isRemovable: true
                    type: Boolean
                    maxLength: 50
                    isMandatory: false
                  - displayLabel: Classification
                    allowedValues:
                    - -None-
                    - Question
                    - Problem
                    - Feature
                    - Others
                    apiName: classification
                    isCustomField: false
                    defaultValue: -None-
                    isNested: false
                    isSystemMandatory: false
                    type: Picklist
                    isEncryptedField: false
                    sortBy: userDefined
                    id: '4000000000415'
                    isRemovable: true
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Resolution
                    apiName: resolution
                    isCustomField: false
                    isEncryptedField: false
                    id: '4000000000417'
                    isSystemMandatory: false
                    isRemovable: false
                    type: Textarea
                    maxLength: 1000000
                    isMandatory: false
                  - displayLabel: Sample TextArea
                    apiName: cf_sample_textarea
                    isCustomField: true
                    toolTipType: placeHolder
                    isEncryptedField: false
                    toolTip: Sample Field
                    id: '4000000000447'
                    isSystemMandatory: false
                    isRemovable: false
                    type: Textarea
                    maxLength: 1000000
                    isMandatory: false
                layoutDesc: Default Layout of the Ticket
                layoutName: Default Ticket Layout
    getStandardLayoutFormatResponse:
      description: getStandardLayoutFormatResponse template definitions
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              data:
                $ref: ./Layout.json#/components/schemas/sectionList
            required:
            - data
          examples:
            Valid responses Definitions:
              value:
                data:
                - name: Case Information
                  id: 1
                  fields:
                  - displayLabel: Department
                    isCustomField: false
                    name: departmentId
                    id: '4000000000556'
                    isSystemMandatory: false
                    isRemovable: false
                    type: LookUp
                    maxLength: 50
                    isMandatory: true
                  - displayLabel: Account Name
                    isCustomField: false
                    name: accountId
                    id: '4000000000558'
                    isSystemMandatory: false
                    isRemovable: true
                    type: LookUp
                    maxLength: 300
                    isMandatory: false
                  - displayLabel: Contact Name
                    isCustomField: false
                    name: contactId
                    id: '4000000000560'
                    isSystemMandatory: true
                    isRemovable: false
                    type: LookUp
                    maxLength: 300
                    isMandatory: true
                  - displayLabel: Email
                    isCustomField: false
                    name: email
                    id: '4000000000562'
                    isSystemMandatory: false
                    isRemovable: false
                    type: Email
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Phone
                    isCustomField: false
                    name: phone
                    id: '4000000000564'
                    isSystemMandatory: false
                    isRemovable: true
                    type: Phone
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Subject
                    isCustomField: false
                    name: subject
                    id: '4000000000566'
                    isSystemMandatory: true
                    isRemovable: false
                    type: Text
                    maxLength: 255
                    isMandatory: true
                  - displayLabel: Description
                    isCustomField: false
                    name: description
                    id: '4000000000568'
                    isSystemMandatory: false
                    isRemovable: false
                    type: Textarea
                    maxLength: 1000000
                    isMandatory: false
                  - displayLabel: Status
                    allowedValues:
                    - Open
                    - On Hold
                    - Escalated
                    - Closed
                    isCustomField: false
                    defaultValue: Open
                    isSystemMandatory: true
                    type: Picklist
                    restoreOnReplyValues:
                    - Open
                    - On Hold
                    - Escalated
                    - Closed
                    name: status
                    sortBy: userDefined
                    id: '4000000000570'
                    isRemovable: false
                    maxLength: 120
                    isMandatory: true
                  - displayLabel: Product Name
                    isCustomField: false
                    name: productId
                    id: '4000000000572'
                    isSystemMandatory: false
                    isRemovable: true
                    type: LookUp
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Ticket Owner
                    isCustomField: false
                    name: assigneeId
                    id: '4000000000574'
                    isSystemMandatory: false
                    isRemovable: false
                    type: LookUp
                    maxLength: 120
                    isMandatory: false
                - name: Additional Information
                  id: 2
                  fields:
                  - displayLabel: Due Date
                    isCustomField: false
                    name: dueDate
                    id: '4000000000610'
                    isSystemMandatory: false
                    isRemovable: false
                    type: DateTime
                    maxLength: 300
                    isMandatory: false
                  - displayLabel: Priority
                    allowedValues:
                    - -None-
                    - High
                    - Medium
                    - Low
                    isCustomField: false
                    defaultValue: -None-
                    name: priority
                    sortBy: userDefined
                    id: '4000000000614'
                    isSystemMandatory: false
                    isRemovable: false
                    type: Picklist
                    maxLength: 120
                    isMandatory: false
                  - displayLabel: Channel
                    allowedValues:
                    - Phone
                    - Email
                    - Web
                    - Twitter
                    - Facebook
                    - Chat
                    - Forums
                    - Feedback Widget
                    isCustomField: false
                    defaultValue: Phone

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