Zoho Task API

The Task API from Zoho — 8 operation(s) for task.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-task-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter Task API
  version: 1.0.0
tags:
- name: Task
paths:
  /api/v1/tasks/updateMany:
    post:
      tags:
      - Task
      summary: Update many tasks
      description: This API updates multiple tasks at once.
      operationId: bulkUpdateTasks
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/task_massupdate'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: ./CommonMassActionResponse.json#/components/responses/massActionListView
      security:
      - iam-oauth2-schema:
        - Desk.activities.tasks.UPDATE
        - Desk.tasks.UPDATE
      x-audience:
      - external-public
  /api/v1/tasks/deleteSpam:
    post:
      tags:
      - Task
      summary: Delete spam tasks
      description: This API deletes the given spam tasks
      operationId: deleteSpamTasks
      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.tasks.DELETE
      x-audience:
      - external-public
  /api/v1/tasks/{taskId}:
    get:
      tags:
      - Task
      summary: Get task
      description: This API fetches a task from your help desk portal.
      operationId: getTask
      parameters:
      - name: include
        in: query
        description: 'Additional information related to the task. Values allowed are: @contacts@, @assignee@,@tickets@,@teams@,@creator@.'
        required: false
        style: simple
        explode: true
        schema:
          type:
          - 'null'
          - array
          description: 'Additional information related to the task. Values allowed are: @contacts@, @assignee@,@tickets@,@teams@,@creator@.'
          items:
            type:
            - string
            - 'null'
            enum:
            - contacts
            - tickets
            - assignee
            - teams
            maxLength: 100
            minLength: 0
          uniqueItems: true
      - $ref: '#/components/parameters/taskId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/taskResponse'
      security:
      - iam-oauth2-schema:
        - Desk.activities.tasks.READ
        - Desk.tasks.READ
      x-audience:
      - external-public
    patch:
      tags:
      - Task
      operationId: updateTask
      summary: Update a task
      description: This API helps update the details of a task.
      parameters:
      - $ref: '#/components/parameters/taskId'
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/taskjson'
      responses:
        '200':
          $ref: '#/components/responses/taskResponse'
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
      security:
      - iam-oauth2-schema:
        - Desk.activities.tasks.UPDATE
        - Desk.tasks.UPDATE
      x-audience:
      - external-public
  /api/v1/tasks/emptySpam:
    post:
      tags:
      - Task
      summary: Empty spam tasks
      description: This API deletes all spam tasks.
      operationId: deleteAllSpamTasks
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/emptyTasksSpamResponse'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '202':
          $ref: ./Common.json#/components/responses/emptyResponse
      security:
      - iam-oauth2-schema:
        - Desk.activities.tasks.DELETE
      x-audience:
      - external-public
  /api/v1/tasks/moveToTrash:
    post:
      tags:
      - Task
      summary: Delete tasks
      description: This API moves task entries to the Recycle Bin of your help desk portal.
      operationId: deleteTask
      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.tasks.DELETE
        - Desk.tasks.DELETE
      x-audience:
      - external-public
  /api/v1/tasks:
    get:
      tags:
      - Task
      summary: List tasks
      description: This API fetches a particular number of tasks, based on the limit specified.
      operationId: getTasks
      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:
          - category
          - subject
          - dueDate
          - status
          - createdTime
          - modifiedTime
          - priority
          maxLength: 100
          minLength: 0
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/getTasksListResponse'
      security:
      - iam-oauth2-schema:
        - Desk.activities.tasks.READ
        - Desk.tasks.READ
      x-audience:
      - external-public
    post:
      tags:
      - Task
      summary: Create task
      description: This API creates a task in your help desk portal.
      operationId: createTask
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/addTask_taskjson'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/taskResponse'
      security:
      - iam-oauth2-schema:
        - Desk.activities.tasks.CREATE
        - Desk.tasks.CREATE
      x-audience:
      - external-public
  /api/v1/tickets/{ticketId}/tasks:
    get:
      tags:
      - Task
      summary: List tasks by ticket
      description: This API lists all tasks associated with a particular ticket.
      operationId: getTasksByTicket
      parameters:
      - name: include
        in: query
        description: 'Additional information related to the task. Values allowed are: @contacts@, @assignee@,@tickets@,@teams@,@projects@.'
        required: false
        style: simple
        explode: true
        schema:
          type:
          - 'null'
          - array
          description: 'Additional information related to the task. Values allowed are: @contacts@, @assignee@,@tickets@,@teams@,@projects@.'
          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: 'Key that sorts the tasks by a specific attribute: @dueDate@ or @createdTime@.The default sorting order is ascending. A @-@ prefix denotes a descending order of sorting. '
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'Key that sorts the tasks by a specific attribute: @dueDate@ or @createdTime@.The default sorting order is ascending. A @-@ prefix denotes a descending order of sorting. '
          enum:
          - dueDate
          - 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/taskListViewArray'
      security:
      - iam-oauth2-schema:
        - Desk.activities.tasks.READ
        - Desk.tasks.READ
        - Desk.tickets.READ
      x-audience:
      - external-public
  /api/v1/tasks/count:
    get:
      tags:
      - Task
      summary: List all tasks count
      description: This API returns the number of tasks in your help desk.
      operationId: getTasksCount
      parameters:
      - name: viewId
        in: query
        description: ID of the view to apply while fetching the resources
        required: true
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the view to apply while fetching the resources
          pattern: ([0-9]+)
      - $ref: '#/components/parameters/departmentId'
      - name: dueDate
        in: query
        description: Filter by task duedate. Values allowed are @Overdue@, @Tomorrow@, @CurrentWeek@, @CurrentMonth@ and @Today@. You can include both values by separating them with a comma
        required: false
        style: simple
        explode: true
        schema:
          type:
          - 'null'
          - array
          description: Filter by task duedate. Values allowed are @Overdue@, @Tomorrow@, @CurrentWeek@, @CurrentMonth@ and @Today@. You can include both values by separating them with a comma
          items:
            type:
            - string
            - 'null'
            enum:
            - Overdue
            - Today
            - Tomorrow
            - CurrentWeek
            - CurrentMonth
            maxLength: 100
            minLength: 0
          uniqueItems: true
      - name: assignee
        in: query
        description: ' Key that filters tasks by assignee. A valid assigneeId must be passed for this parameter. Multiple assigneeIds can be passed as comma-separated values.'
        required: false
        style: simple
        explode: true
        schema:
          type:
          - 'null'
          - array
          description: ' Key that filters tasks by assignee. A valid assigneeId must be passed for this parameter. Multiple assigneeIds can be passed as comma-separated values.'
          items:
            type:
            - string
            - 'null'
            - integer
            format: int64
            pattern: ([0-9]+)
          uniqueItems: false
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '200':
          $ref: '#/components/responses/countResponse'
      security:
      - iam-oauth2-schema:
        - Desk.tasks.READ
      x-audience:
      - external-public
components:
  parameters:
    from:
      name: from
      in: query
      description: Index number, starting from which the tasks must be listed
      required: false
      style: form
      explode: true
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int32
        description: Index number, starting from which the tasks must be listed
        pattern: ([0-9]+)
    taskId:
      name: taskId
      in: path
      required: true
      style: simple
      explode: false
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int64
        pattern: ([0-9]+)
    departmentId:
      name: departmentId
      in: query
      description: ID of the department from which the task 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 task count must be fetched
        pattern: ([0-9]+)
    isCompleted:
      name: isCompleted
      in: query
      description: Key that denotes if the task was completed or not
      required: false
      style: form
      explode: true
      schema:
        type:
        - boolean
        - 'null'
        description: Key that denotes if the task was completed or not
    limit:
      name: limit
      in: query
      description: Number of tasks to list
      required: false
      style: form
      explode: true
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int32
        description: Number of tasks to list
        maximum: 99
        minimum: 1
        pattern: ([0-9]+)
    isSpam:
      name: isSpam
      in: query
      description: Key that denotes whether to fetch spam tasks or not
      required: false
      style: form
      explode: true
      schema:
        type:
        - boolean
        - 'null'
        description: Key that denotes whether to fetch spam tasks 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 task
          pattern: ([0-9]+)
        subject:
          type:
          - string
          - 'null'
          description: Subject of the task
          maxLength: 300
          minLength: 0
        departmentId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the department in which the task must be created
          pattern: ([0-9]+)
        dueDate:
          type:
          - string
          - 'null'
          description: Due date for completing the task
          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 task is assigned
          pattern: ([0-9]+)
        priority:
          type:
          - string
          - 'null'
          description: Priority of the task
          x-dynamic-enum: true
        ticketId:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: ID of the ticket with which the task must be associated
          pattern: ([0-9]+)
        status:
          type:
          - string
          - 'null'
          description: Status of task completion
          x-dynamic-enum: true
      required:
      - contactId
      - departmentId
      - dueDate
      - ownerId
      - priority
      - 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/taskListViewJson'
    taskListViewJson:
      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'
          category:
            type:
            - string
            - 'null'
            x-dynamic-enum: true
        required:
        - activityTime
        - category
        - completedTime
        - createdTime
        - creatorId
        - id
        - isCommented
        - isSpam
        - isTrashed
        - isTrashed
        - layoutId
        - modifiedBy
        - modifiedTime
        - statusType
        - webUrl
    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
    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:
    spamDeleteJSON:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              taskIds:
                type:
                - 'null'
                - array
                items:
                  type:
                  - string
                  - 'null'
                  - integer
                  format: int64
                  pattern: ([0-9]+)
                uniqueItems: false
            required:
            - taskIds
          examples:
            Valid requestBody Definitions:
              value:
                taskIds:
                - '1892000000012307'
                - '1892000000012308'
    taskjson:
      content:
        application/json:
          schema:
            additionalProperties: false
            allOf:
            - $ref: '#/components/schemas/commonJson'
            - type:
              - 'null'
              - object
              properties:
                alertType:
                  type:
                  - 'null'
                  - array
                  items:
                    type:
                    - string
                    - 'null'
                    enum:
                    - EMAIL
                    - POPUP
                    - SMS
                    maxLength: 100
                    minLength: 0
                  uniqueItems: true
                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])+
                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])+
            - type: object
          examples:
            Valid requestBody Definitions:
              value: null
    addTask_taskjson:
      content:
        application/json:
          schema:
            additionalProperties: false
            allOf:
            - $ref: '#/components/schemas/commonJson'
            - type:
              - 'null'
              - object
              properties:
                alertType:
                  type:
                  - 'null'
                  - array
                  items:
                    type:
                    - string
                    - 'null'
                    enum:
                    - EMAIL
                    - POPUP
                    - SMS
                    maxLength: 100
                    minLength: 0
                  uniqueItems: true
                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])+
                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])+
            - type: object
              required:
              - departmentId
              - subject
          examples:
            Valid requestBody Definitions:
              value:
                subject: 'Bug Fix #120'
                departmentId: '3000000007043'
                dueDate: 1469117776000
                priority: High
                category: null
                status: In Progress
    emptyTasksSpamResponse:
      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'
    task_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:
                - '2000032003232'
  responses:
    taskListViewArray:
      description: taskListViewArray template definitions
      content:
        application/json:
          schema:
            allOf:
            - type: object
              properties:
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      ticket:
                        type:
                        - 'null'
                        - object
                        additionalProperties: false
                        properties:
                          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-

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