Zoho Event API

The Event API from Zoho — 7 operation(s) for event.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-event-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter Event API
  version: 1.0.0
tags:
- name: Event
paths:
  /api/v1/events:
    get:
      tags:
      - Event
      summary: List events
      description: This API lists a particular number of events, based on the limit specified.
      operationId: getEvents
      parameters:
      - name: include
        in: query
        required: false
        style: simple
        explode: true
        schema:
          type:
          - 'null'
          - array
          items:
            type:
            - string
            - 'null'
            enum:
            - contacts
            - tickets
            - assignee
            - teams
            maxLength: 100
            minLength: 0
          uniqueItems: true
      - $ref: '#/components/parameters/departmentId'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - name: sortBy
        in: query
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          enum:
          - startTime
          - createdTime
          maxLength: 100
          minLength: 0
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/getEventsListResponse'
      security:
      - iam-oauth2-schema:
        - Desk.activities.events.READ
        - Desk.events.READ
      x-audience:
      - external-public
    post:
      tags:
      - Event
      summary: Create event
      description: This API adds an event entry to your help desk portal.
      operationId: createEvent
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/eventjson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/eventResponse'
      security:
      - iam-oauth2-schema:
        - Desk.activities.events.CREATE
        - Desk.events.CREATE
      x-audience:
      - external-public
  /api/v1/events/{eventId}:
    get:
      tags:
      - Event
      summary: Get event
      description: This API fetches the details of an event.
      operationId: getEvent
      parameters:
      - name: include
        in: query
        description: 'Allowed values are : @contacts@, @assignee@,@tickets@,@teams@,@integInfo@,@creator@.'
        required: false
        style: simple
        explode: true
        schema:
          type:
          - 'null'
          - array
          description: 'Allowed values are : @contacts@, @assignee@,@tickets@,@teams@,@integInfo@,@creator@.'
          items:
            type:
            - string
            - 'null'
            enum:
            - contacts
            - tickets
            - assignee
            - teams
            maxLength: 100
            minLength: 0
          uniqueItems: true
      - $ref: '#/components/parameters/eventId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/eventResponse'
      security:
      - iam-oauth2-schema:
        - Desk.activities.events.READ
        - Desk.events.READ
      x-audience:
      - external-public
    patch:
      tags:
      - Event
      operationId: updateEvent
      summary: Update an event
      description: This API updates the details of an event.
      parameters:
      - $ref: '#/components/parameters/eventId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/updateEvent_eventjson'
      responses:
        '200':
          $ref: '#/components/responses/eventResponse'
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
      security:
      - iam-oauth2-schema:
        - Desk.activities.events.UPDATE
        - Desk.events.UPDATE
      x-audience:
      - external-public
  /api/v1/events/deleteSpam:
    post:
      tags:
      - Event
      summary: Delete spam events
      description: This API deletes the given spam events
      operationId: deleteSpamEvents
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/spamDeleteJSON'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: ./MassActionResponse.json#/components/responses/massActionListResponse
      security:
      - iam-oauth2-schema:
        - Desk.activities.events.DELETE
      x-audience:
      - external-public
  /api/v1/events/updateMany:
    post:
      tags:
      - Event
      summary: Update many events
      description: This API updates multiple events at once.
      operationId: bulkUpdateEvents
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/event_massupdate'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: ./CommonMassActionResponse.json#/components/responses/massActionListView
      security:
      - iam-oauth2-schema:
        - Desk.activities.events.UPDATE
        - Desk.events.UPDATE
      x-audience:
      - external-public
  /api/v1/events/moveToTrash:
    post:
      tags:
      - Event
      summary: Delete events
      description: This API moves event entries to the Recycle Bin of your help desk portal.
      operationId: deleteEvent
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/trashJson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.activities.events.DELETE
        - Desk.events.DELETE
      x-audience:
      - external-public
  /api/v1/tickets/{ticketId}/events:
    get:
      tags:
      - Event
      summary: List events by ticket
      description: This API lists a particular number of events associated with a ticket, based on the limit specified.
      operationId: getEventsByTicket
      parameters:
      - name: include
        in: query
        description: 'Allowed values are : contacts, assignee,tickets,teams,integInfo.'
        required: false
        style: simple
        explode: true
        schema:
          type:
          - 'null'
          - array
          description: 'Allowed values are : contacts, assignee,tickets,teams,integInfo.'
          items:
            type:
            - string
            - 'null'
            enum:
            - contacts
            - tickets
            - assignee
            - teams
            maxLength: 100
            minLength: 0
          uniqueItems: true
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - name: sortBy
        in: query
        description: 'Sort by a specific attribute: @startTime@ or @createdTime@.The default sorting order is ascending. A @-@ prefix denotes descending order of sorting.'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'Sort by a specific attribute: @startTime@ or @createdTime@.The default sorting order is ascending. A @-@ prefix denotes descending order of sorting.'
          enum:
          - startTime
          - createdTime
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/isSpam'
      - $ref: '#/components/parameters/isCompleted'
      - name: ticketId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/eventListViewArray'
      security:
      - iam-oauth2-schema:
        - Desk.activities.events.READ
        - Desk.events.READ
        - Desk.tickets.READ
      x-audience:
      - external-public
  /api/v1/events/emptySpam:
    post:
      tags:
      - Event
      summary: Empty spam events
      description: This API deletes all spam events.
      operationId: deleteAllSpamEvents
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/emptyEventsSpamResponse'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '202':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.activities.events.DELETE
      x-audience:
      - external-public
components:
  parameters:
    from:
      name: from
      in: query
      description: Index number, starting from which the events must be listed
      required: false
      style: form
      explode: true
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int32
        description: Index number, starting from which the events must be listed
        pattern: ([0-9]+)
    departmentId:
      name: departmentId
      in: query
      description: ID of the department from which the event count must be fetched
      required: true
      style: form
      explode: true
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int64
        description: ID of the department from which the event count must be fetched
        pattern: ([0-9]+)
    isCompleted:
      name: isCompleted
      in: query
      description: Key that denotes if the event was completed or not
      required: false
      style: form
      explode: true
      schema:
        type:
        - boolean
        - 'null'
        description: Key that denotes if the event was completed or not
    limit:
      name: limit
      in: query
      description: Number of events to list
      required: false
      style: form
      explode: true
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int32
        description: Number of events to list
        maximum: 99
        minimum: 1
        pattern: ([0-9]+)
    eventId:
      name: eventId
      in: path
      required: true
      style: simple
      explode: false
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int64
        pattern: ([0-9]+)
    isSpam:
      name: isSpam
      in: query
      description: Key that denotes whether to fetch spam events or not
      required: false
      style: form
      explode: true
      schema:
        type:
        - boolean
        - 'null'
        description: Key that denotes whether to fetch spam events or not
  schemas:
    commonJson:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        contactId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the contact associated with the event
          pattern: ([0-9]+)
        subject:
          type:
          - string
          - 'null'
          description: Subject of the event
          maxLength: 300
          minLength: 0
        departmentId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the department associated with the event and ticket
          pattern: ([0-9]+)
        startTime:
          type:
          - string
          - 'null'
          description: Time when the event started. The value of this key must be recorded in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ.
          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))
        ownerId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the user to whom the event is assigned
          pattern: ([0-9]+)
        priority:
          type:
          - string
          - 'null'
          description: Priority of the event
          x-dynamic-enum: true
        category:
          type:
          - string
          - 'null'
          description: Category of the event
          maxLength: 120
          minLength: 0
        ticketId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the ticket associated with the event
          pattern: ([0-9]+)
        status:
          type:
          - string
          - 'null'
          description: Completion status of the event
          x-dynamic-enum: true
      required:
      - category
      - contactId
      - departmentId
      - ownerId
      - priority
      - startTime
      - status
      - subject
      - ticketId
    assignee:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        photoURL:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
        firstName:
          type:
          - string
          - 'null'
          maxLength: 50
          minLength: 0
        lastName:
          type:
          - string
          - 'null'
          maxLength: 50
          minLength: 0
        emailId:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 0
          pattern: ^[a-zA-Z0-9\_]([a-zA-Z0-9\_\+\-\.\'&]*)@(?=.{4,256}$)(([a-zA-Z0-9]+)(([\-\_]*[a-zA-Z0-9])*)[\.])+[a-zA-Z]{2,22}$
        id:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
      required:
      - emailId
      - firstName
      - id
      - lastName
      - photoURL
    long_array:
      type:
      - 'null'
      - array
      items:
        type:
        - string
        - 'null'
        - integer
        format: int64
        pattern: ([0-9]+)
    data:
      type:
      - 'null'
      - array
      items:
        $ref: '#/components/schemas/eventListViewJson'
    contactJson:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        firstName:
          type:
          - string
          - 'null'
          maxLength: 40
          minLength: 0
        lastName:
          type:
          - string
          - 'null'
          maxLength: 200
          minLength: 0
        accountId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        phone:
          type:
          - string
          - 'null'
          maxLength: 50
          minLength: 0
          pattern: '[0-9a-zA-Z_\+\-\.\(\)\$@\?\,\:\''\/\!\P{InBasicLatin}\s]+'
        mobile:
          type:
          - string
          - 'null'
          maxLength: 50
          minLength: 0
          pattern: '[0-9a-zA-Z_\+\-\.\(\)\$@\?\,\:\''\/\!\P{InBasicLatin}\s]+'
        id:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
        isSpam:
          type:
          - boolean
          - 'null'
        email:
          type:
          - string
          - 'null'
          maxLength: 255
          minLength: 0
          pattern: ^[a-zA-Z0-9\_]([a-zA-Z0-9\_\+\-\.\'\&\~]*)@(?=.{4,256}$)(([a-zA-Z0-9]+)(([\-\_]*[a-zA-Z0-9])*)[\.])+[a-zA-Z]{2,22}$
      required:
      - accountId
      - email
      - firstName
      - id
      - isSpam
      - lastName
      - mobile
      - phone
    eventListViewJson:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/commonJson'
      - type:
        - 'null'
        - object
        properties:
          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))
          statusType:
            type:
            - string
            - 'null'
            enum:
            - Open
            - Closed
            maxLength: 100
            minLength: 0
          completedTime:
            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))
          creatorId:
            type:
            - string
            - 'null'
            - integer
            format: int64
            pattern: ([0-9]+)
          activityTime:
            type:
            - string
            - 'null'
            - integer
            format: int64
            pattern: ([0-9]+)
          layoutId:
            type:
            - string
            - 'null'
            - integer
            format: int64
            pattern: ([0-9]+)
          isTrashed:
            type:
            - boolean
            - 'null'
          isCommented:
            type:
            - boolean
            - 'null'
          webUrl:
            type:
            - string
            - 'null'
            maxLength: 500
            minLength: 0
            pattern: (^(ht|f)tp(s?)\://[-.\w]*(/?)([a-zA-Z0-9\-\.\?\,\:\'/\\+=&%\$#_@]*)?$)
          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:
            $ref: '#/components/schemas/assignee'
          id:
            type:
            - string
            - 'null'
            - integer
            format: int64
            pattern: ([0-9]+)
          isSpam:
            type:
            - boolean
            - 'null'
            description: Key that denotes whether to fetch spam events or not
        required:
        - activityTime
        - completedTime
        - createdTime
        - creatorId
        - id
        - isCommented
        - isSpam
        - isTrashed
        - isTrashed
        - layoutId
        - modifiedBy
        - modifiedTime
        - statusType
        - webUrl
    relativeReminder:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        relativeReminderInMin:
          type:
          - string
          - 'null'
          - integer
          format: int32
          pattern: ([0-9]+)
        alertType:
          type:
          - 'null'
          - array
          items:
            type:
            - string
            - 'null'
            enum:
            - EMAIL
            - POPUP
            - SMS
            maxLength: 100
            minLength: 0
          uniqueItems: true
        reminderType:
          type:
          - string
          - 'null'
          enum:
          - RELATIVE
          maxLength: 100
          minLength: 0
      required:
      - alertType
      - relativeReminderInMin
      - reminderType
    absoluteReminder:
      type:
      - 'null'
      - object
      additionalProperties: false
      properties:
        alertType:
          type:
          - 'null'
          - array
          items:
            type:
            - string
            - 'null'
            enum:
            - EMAIL
            - POPUP
            - SMS
            maxLength: 100
            minLength: 0
          uniqueItems: true
        reminderType:
          type:
          - string
          - 'null'
          enum:
          - ABSOLUTE
          maxLength: 100
          minLength: 0
        reminderTime:
          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))
      required:
      - alertType
      - reminderTime
      - reminderType
    reminderArray:
      type:
      - 'null'
      - array
      items:
        oneOf:
        - $ref: '#/components/schemas/relativeReminder'
        - $ref: '#/components/schemas/absoluteReminder'
  requestBodies:
    emptyEventsSpamResponse:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              departmentId:
                type:
                - string
                - 'null'
                - integer
                format: int64
                description: ID of the department to which the activities belong
                pattern: ([0-9]+)
            required:
            - departmentId
          examples:
            Valid requestBody Definitions:
              value:
                departmentId: '4000000025121'
    spamDeleteJSON:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              eventIds:
                type:
                - 'null'
                - array
                items:
                  type:
                  - string
                  - 'null'
                  - integer
                  format: int64
                  pattern: ([0-9]+)
                uniqueItems: false
            required:
            - eventIds
          examples:
            Valid requestBody Definitions:
              value:
                eventIds:
                - '1892000000001297'
                - '1892000000001358'
    eventjson:
      content:
        application/json:
          schema:
            additionalProperties: false
            allOf:
            - $ref: '#/components/schemas/commonJson'
            - type:
              - 'null'
              - object
              properties:
                duration:
                  type:
                  - string
                  - 'null'
                  - integer
                  format: int32
                  description: Duration of the event in seconds
                  pattern: ([0-9]+)
                cf:
                  type:
                  - 'null'
                  - object
                  additionalProperties: false
                  patternProperties:
                    ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+:
                      type:
                      - string
                      - 'null'
                      maxLength: 100
                      minLength: 0
                      pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
                reminder:
                  $ref: '#/components/schemas/reminderArray'
                customFields:
                  type:
                  - 'null'
                  - object
                  additionalProperties: false
                  patternProperties:
                    ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+:
                      type:
                      - string
                      - 'null'
                      maxLength: 100
                      minLength: 0
                      pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
                category:
                  type:
                  - string
                  - 'null'
                  description: Category of the event
                  maxLength: 120
                  minLength: 0
            - type: object
              required:
              - category
              - contactId
              - departmentId
              - duration
              - startTime
              - subject
          examples:
            Valid requestBody Definitions:
              value:
                duration: '40'
                contactId: '3000000001234'
                subject: Dubai startup meet
                departmentId: '3000000007043'
                startTime: 1468484846000
                priority: High
                category: Meeting
                ticketId: '3000000008753'
                status: In Progress
    event_massupdate:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              isCustomField:
                type:
                - boolean
                - 'null'
              fieldName:
                type:
                - string
                - 'null'
                x-dynamic-enum: true
              ids:
                $ref: '#/components/schemas/long_array'
              fieldValue:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
            required:
            - fieldName
            - ids
          examples:
            Valid requestBody Definitions:
              value:
                fieldName: mobile
                isCustomField: false
                ids:
                - '1892000000093303'
                - '1892000000085009'
                - '1892000000050003'
                fieldValue: '8508569875'
    trashJson:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              entityIds:
                type:
                - 'null'
                - array
                items:
                  type:
                  - string
                  - 'null'
                  - integer
                  format: int64
                  pattern: ([0-9]+)
                uniqueItems: false
            required:
            - entityIds
          examples:
            Valid requestBody Definitions:
              value:
                entityIds:
                - '3000000053002'
    updateEvent_eventjson:
      content:
        application/json:
          schema:
            additionalProperties: false
            allOf:
            - $ref: '#/components/schemas/commonJson'
            - type:
              - 'null'
              - object
              properties:
                duration:
                  type:
                  - string
                  - 'null'
                  - integer
                  format: int32
                  description: Duration of the event in seconds
                  pattern: ([0-9]+)
                cf:
                  type:
                  - 'null'
                  - object
                  additionalProperties: false
                  patternProperties:
                    ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+:
                      type:
                      - string
                      - 'null'
                      maxLength: 100
                      minLength: 0
                      pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
                reminder:
                  $ref: '#/components/schemas/reminderArray'
                customFields:
                  type:
                  - 'null'
                  - object
                  additionalProperties: false
                  patternProperties:
                    ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+:
                      type:
                      - string
                      - 'null'
                      maxLength: 100
                      minLength: 0
                      pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
                category:
                  type:
                  - string
                  - 'null'
                  description: Category of the event
                  maxLength: 120
                  minLength: 0
            - type: object
          examples:
            Valid requestBody Definitions:
              value: null
  responses:
    getEventsListResponse:
      description: getEventsListResponse template definitions
      content:
        application/json:
          schema:
            allOf:
            - type: object
              properties:
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      ticket:
                        type:
                        - 'null'
                        - object
                        additionalProperties: false
                        properties:
                          contact:
                            $ref: '#/components/schemas/contactJson'
                          team:
                            type:
                            - 'null'
                            - object
                            additionalProperties: false
                            properties:
                              name:
                                type:
                                - string
                                - 'null'
                                maxLength: 50
                                minLength: 1
                                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
                              id:
                                type:
                                - string
                                - 'null'
                                - integer
                                format: int64
                                pattern: ([0-9]+)
                              logoUrl:
                                type:
                                - string
                                - 'null'
                                maxLength: 200
                                minLength: 0
                                pattern: (^(ht|f)tp(s?)\://[-.\w]*(/?)([a-zA-Z0-9\-\.\?\,\:\'/\\+=&%\$#_@]*)?$)
                            required:
                            - id
                            - logoUrl
                            - name
                          ticketNumber:
                            type:
                            - string
                            - 'null'
                            - integer
                            format: int32
                            pattern: ([0-9]+)
                          subject:
                            type:
                            - string
                            - 'null'
                            maxLength: 1000
                            minLength: 0
                          isArchived:
                            type:
                            - boolean
                            - 'null'
                          dueDate:
                            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))
                          channel:
                            type:
                            - string
                            - 'null'
                            x-dynamic-enum: true
                          closedTime:
                            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))
                          phone:
                            type:
                            - string
            

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