openapi: 3.0.0
info:
title: batches tasks API
description: Batches help you track inventory items by batch numbers, manufacturing dates, and expiration dates.
contact: {}
version: 1.0.0
servers:
- url: https://www.zohoapis.com/inventory/v1
description: API Endpoint
tags:
- name: tasks
description: Task Module
paths:
/tasks:
x-mcp-group:
- Tasks
parameters:
- $ref: '#/components/parameters/organization_id'
post:
tags:
- tasks
operationId: add_task
summary: Add a task
description: Add a task.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/add-a-task-request'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/add-a-task-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.CREATE
get:
tags:
- tasks
operationId: list_tasks
summary: List tasks
description: List a task.
parameters:
- name: entity_id
in: query
description: Search tasks by entity ID.
required: false
schema:
type: string
example: 982000000567114
- name: sub_entity_id
in: query
description: Search tasks by sub entity ID.
required: false
schema:
type: string
example: 982000000567115
- name: owner_id
in: query
description: Search tasks by owner ID.
required: false
schema:
type: string
example: 982000000567116
- name: contact_id
in: query
description: Search tasks by contact ID.
required: false
schema:
type: string
example: 982000000567117
- name: client_id
in: query
description: Search tasks by client ID.
required: false
schema:
type: string
example: 982000000567118
- name: status
in: query
description: Search tasks by status. Allowed values are <code>open</code>, <code>ongoing</code>, <code>yet_to_started</code>, <code>in_progress</code>, <code>completed</code>, <code>deferred</code>, <code>waiting_for_input</code> and <code>any custom status</code>
required: false
schema:
type: string
example: open
- name: parent_status
in: query
description: Search tasks by parent status. Allowed formats are <code>parent_status</code>, <code>parent_status_equal</code> and <code>parent_status_not_equal</code>. Allowed values are <code>open</code>, <code>ongoing</code> and <code>completed</code>
required: false
schema:
type: string
example: open
- name: search_text
in: query
description: Search tasks based on a search text.
required: false
schema:
type: string
example: sample
- name: priority
in: query
description: Search tasks by priority of the task. Allowed values are <code>normal</code>, <code>low</code>, <code>high</code>, <code>lowest</code> and <code>highest</code>.
required: false
schema:
type: string
example: high
- name: entity_type
in: query
description: Search tasks by entity type.
required: false
schema:
type: string
example: invoice
- name: title
in: query
description: Search tasks by their title.
required: false
schema:
type: string
example: Sample Task
- name: task_description
in: query
description: Search tasks their description.
required: false
schema:
type: string
example: Sample Task Description
- name: is_overdue
in: query
description: Filter overdue tasks.
required: false
schema:
type: string
example: 'true'
- name: created_by
in: query
description: Search tasks by the person who created them.
required: false
schema:
type: string
example: 982000000567118
- name: is_accountant_task
in: query
description: Filter accountant tasks.
required: false
schema:
type: string
example: 'false'
- name: contact_ids
in: query
description: Search tasks by contact IDs separated by comma.
required: false
schema:
type: string
example: 982000000567118,982000000567119,982000000567120
- name: client_ids
in: query
description: Search tasks by client IDs separated by comma.
required: false
schema:
type: string
example: 982000000567118,982000000567119,982000000567120
- name: owner_ids
in: query
description: Search tasks by owner IDs separated by comma.
required: false
schema:
type: string
example: 982000000567118,982000000567119,982000000567120
- name: date_start
in: query
description: Search tasks by start date.
required: false
schema:
type: string
example: '2025-01-01'
- name: date_end
in: query
description: Search tasks by end date.
required: false
schema:
type: string
example: '2025-12-31'
- name: task_number
in: query
description: Search tasks by task number.
required: false
schema:
type: string
example: T-001
- name: sort_column
in: query
description: Sort tasks. Allowed values are <code>owner_name</code>, <code>contact_name</code>, <code>client_name</code>, <code>due_date</code>, <code>title</code>, <code>created_time</code>, <code>completion_percentage</code> and <code>task_number</code>
required: false
schema:
type: string
example: owner_name
- name: filter_by
in: query
description: 'Filter tasks by status. Allowed values are <code>TaskStatus.All</code>, <code>TaskStatus.Overdue</code>, <code>TaskStatus.InProgress</code>, <code>TaskStatus.Completed</code>, <code>TaskStatus.YetToStarted</code>, <code>TaskStatus.MyPending</code>, <code>TaskStatus.DueToday</code>, <code>TaskStatus.PriorityOverdue</code> and <code>TaskStatus.Unassigned</code> '
required: false
schema:
type: string
example: open
- name: page
in: query
description: Page number to be fetched. Default value is 1.
required: false
schema:
type: integer
default: 1
example: 1
- name: per_page
in: query
description: Number of records to be fetched per page. Default value is 200.
required: false
schema:
type: integer
default: 200
example: 200
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/list-tasks-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.READ
put:
tags:
- tasks
operationId: update_tasks
summary: Update tasks
description: Update tasks.
parameters:
- name: bulk_update
in: query
description: Indicate whether the request is for bulk update. Allowed values are <code>true</code> and <code>false</code>.
required: true
schema:
type: boolean
example: 'true'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/update-tasks-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-tasks-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.UPDATE
delete:
tags:
- tasks
operationId: delete_tasks
summary: Delete tasks
description: Delete tasks.
parameters:
- name: task_ids
in: query
description: Comma separated list of task IDs to be deleted.
required: true
schema:
type: string
example: 982000000567114,982000000567115,982000000567116
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-tasks-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.DELETE
/tasks/{task_id}:
x-mcp-group:
- Tasks
parameters:
- name: task_id
in: path
description: ID of the task.
required: true
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
get:
tags:
- tasks
operationId: get_task
summary: Get a task
description: Get a task.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/get-a-task-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.READ
put:
tags:
- tasks
operationId: update_a_task
summary: Update a tasks
description: Update a tasks.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/update-a-task-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-a-task-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.UPDATE
delete:
tags:
- tasks
operationId: delete_task
summary: Delete a tasks
description: Delete a tasks.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-a-task-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.DELETE
/tasks/{task_id}/percentage:
x-mcp-group:
- Tasks
parameters:
- name: task_id
in: path
description: ID of the task.
required: true
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- tasks
operationId: update_percentage_task
summary: Update completed percentage
description: Update completed percentage of a task.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/update-percentage-task-request'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/update-percentage-task-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.CREATE
/tasks/{task_id}/markasopen:
x-mcp-group:
- Tasks
parameters:
- name: task_id
in: path
description: ID of the task.
required: true
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- tasks
operationId: mark_task_as_open
summary: Mark task as open
description: Mark a task as open.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/mark-open-task-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.CREATE
/tasks/{task_id}/markasongoing:
x-mcp-group:
- Tasks
parameters:
- name: task_id
in: path
description: ID of the task.
required: true
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- tasks
operationId: mark_task_as_ongoing
summary: Mark task as ongoing
description: Mark a task as ongoing.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/mark-ongoing-task-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.CREATE
/tasks/{task_id}/markascompleted:
x-mcp-group:
- Tasks
parameters:
- name: task_id
in: path
description: ID of the task.
required: true
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- tasks
operationId: mark_task_as_completed
summary: Mark task as completed
description: Mark a task as completed.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/mark-completed-task-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.CREATE
/tasks/{task_id}/comments:
x-mcp-group:
- Tasks
parameters:
- name: task_id
in: path
description: ID of the task.
required: true
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- tasks
operationId: add_task_comment
summary: Add comment to task
description: Add comment to a task.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/add-task-comment-request'
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/add-task-comment-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.CREATE
get:
tags:
- tasks
operationId: list_task_comments
summary: List comments of task
description: List comments of a task.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/list-task-comments-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.READ
/tasks/{task_id}/comments/{comment_id}:
x-mcp-group:
- Tasks
parameters:
- name: task_id
in: path
description: ID of the task.
required: true
schema:
type: string
example: 982000000567114
- name: comment_id
in: path
description: ID of the comment on the task.
required: true
schema:
type: string
example: 982000000567116
- $ref: '#/components/parameters/organization_id'
delete:
tags:
- tasks
operationId: delete_task_comment
summary: Delete comment of task
description: Delete a comment of a task.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-task-comment-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.DELETE
/tasks/{task_id}/attachment:
x-mcp-group:
- Tasks
parameters:
- name: task_id
in: path
description: ID of the task.
required: true
schema:
type: string
example: 982000000567114
- $ref: '#/components/parameters/organization_id'
post:
tags:
- tasks
operationId: add_task_attachment
summary: Add attachment to task
description: Add attachment to a task.
parameters:
- name: attachment
in: query
description: 'The file to be attached.Allowed Extensions: <code>gif</code>, <code>png</code>, <code>jpeg</code>, <code>jpg</code>, <code>bmp</code>, <code>pdf</code>, <code>xls</code>, <code>xlsx</code>, <code>doc</code>, <code>docx</code>, <code>xml</code>, <code>csv</code>, <code>txt</code>, <code>tif</code> and <code>tiff</code>'
required: false
schema:
type: string
format: binary
example: ''
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/add-task-attachment-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.CREATE
/tasks/{task_id}/documents/{document_id}:
x-mcp-group:
- Tasks
parameters:
- name: task_id
in: path
description: ID of the task.
required: true
schema:
type: string
example: 982000000567114
- name: document_id
in: path
description: ID of the document attached to the task.
required: true
schema:
type: string
example: 982000000567118
- $ref: '#/components/parameters/organization_id'
get:
tags:
- tasks
operationId: get_task_document
summary: Get document of task
description: Get a document of a task.
parameters:
- name: image_size
in: query
description: Size of the image to be fetched. Allowed values are <code>xlarge</code>, <code>large</code>, <code>small</code> and <code>tiny</code>.
required: false
schema:
type: string
example: large
- name: inline
in: query
description: Indicate whether the document should be displayed inline. Allowed values are <code>true</code> and <code>false</code>.
required: false
schema:
type: boolean
example: 'false'
- name: print
in: query
description: Indicates whether the document should be printed. Allowed values are <code>true</code> and <code>false</code>.
required: false
schema:
type: boolean
example: 'false'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/get-a-task-document-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.READ
delete:
tags:
- tasks
operationId: delete_task_document
summary: Delete document of task
description: Delete a document of a task.
parameters:
- name: un_associate
in: query
description: Indicates whether the document should be unassociated from the task. Allowed values are <code>true</code> and <code>false</code>.
required: false
schema:
type: boolean
example: 'false'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/delete-task-document-response'
deprecated: false
security:
- Zoho_Auth:
- ZohoInventory.settings.DELETE
components:
schemas:
transaction_id:
description: ID of the transaction associated with the task.
type: string
example: 982000000567128
dependencies:
description: List of dependencies for the task.
type: array
items:
type: object
properties:
dependency_id:
description: ID of the dependency.
type: string
example: 982000000567192
dependency_type:
description: Type of the dependency.
type: integer
example: 1
depends_on_id:
description: ID of the entity on which the current task depends.
type: string
example: 982000000567193
depends_on_entity_type:
description: Type of the entity on which the current task depends.
type: integer
example: 20
billing_type:
description: Billing type of the task.
type: string
example: based_on_task_hours
client_name:
description: Name of the client associated with the task.
type: string
example: Acme Corporation
parent_status:
description: Parent status of the task.
type: string
example: open
add-task-attachment-response:
type: object
properties:
code:
type: integer
example: 0
readOnly: true
message:
type: string
example: File uploaded
readOnly: true
documents:
$ref: '#/components/schemas/documents'
task_number:
description: Unique number assigned to the task.
type: string
example: T-001
add-task-comment-request:
required:
- description
type: object
properties:
description:
description: Description of the comment.
type: string
example: This is a sample comment.
subtask_count:
description: Number of subtasks under the task.
type: integer
example: 3
update-percentage-task-request:
required:
- completion_percentage
type: object
properties:
completion_percentage:
$ref: '#/components/schemas/completion_percentage'
get-a-task-response:
type: object
properties:
code:
type: integer
example: 0
readOnly: true
message:
type: string
example: success
readOnly: true
task:
type: object
properties:
task_id:
$ref: '#/components/schemas/task_id'
recurring_task_id:
$ref: '#/components/schemas/recurring_task_id'
owner_id:
$ref: '#/components/schemas/owner_id'
owner_ids:
$ref: '#/components/schemas/owner_ids'
owner_name:
$ref: '#/components/schemas/owner_name'
owners:
$ref: '#/components/schemas/owners'
title:
$ref: '#/components/schemas/title'
due_date:
$ref: '#/components/schemas/due_date'
due_date_formatted:
$ref: '#/components/schemas/due_date_formatted'
is_overdue:
$ref: '#/components/schemas/is_overdue'
contact_type:
$ref: '#/components/schemas/contact_type'
contact_id:
$ref: '#/components/schemas/contact_id'
color_code:
$ref: '#/components/schemas/color_code'
contact_name:
$ref: '#/components/schemas/contact_name'
parent_task_id:
$ref: '#/components/schemas/parent_task_id'
related_entity_id:
$ref: '#/components/schemas/related_entity_id'
related_entity_type:
$ref: '#/components/schemas/related_entity_type'
related_entity:
$ref: '#/components/schemas/related_entity'
related_entity_value:
$ref: '#/components/schemas/related_entity_value'
parent_status:
$ref: '#/components/schemas/parent_status'
status:
$ref: '#/components/schemas/status'
custom_status_id:
$ref: '#/components/schemas/custom_status_id'
billing_type:
$ref: '#/components/schemas/billing_type'
is_billable:
$ref: '#/components/schemas/is_billable'
task_rate:
$ref: '#/components/schemas/task_rate'
completion_percentage:
$ref: '#/components/schemas/completion_percentage'
is_subtask:
$ref: '#/components/schemas/is_subtask'
priority:
$ref: '#/components/schemas/priority'
reminder:
$ref: '#/components/schemas/reminder'
task_description:
$ref: '#/components/schemas/task_description'
is_accountant_task:
$ref: '#/components/schemas/is_accountant_task'
task_number:
$ref: '#/components/schemas/task_number'
task_number_prefix:
$ref: '#/components/schemas/task_number_prefix'
task_number_suffix:
$ref: '#/components/schemas/task_number_suffix'
can_push:
$ref: '#/components/schemas/can_push'
created_by_id:
$ref: '#/components/schemas/created_by_id'
last_modified_by_id:
$ref: '#/components/schemas/last_modified_by_id'
template_id:
$ref: '#/components/schemas/template_id'
due_after:
$ref: '#/components/schemas/due_after'
parent_task_name:
$ref: '#/components/schemas/parent_task_name'
parent_task_number:
$ref: '#/components/schemas/parent_task_number'
created_by_name:
$ref: '#/components/schemas/created_by_name'
documents:
$ref: '#/components/schemas/documents'
custom_fields:
$ref: '#/components/schemas/custom_fields'
statuses:
$ref: '#/components/schemas/statuses'
is_system_task:
$ref: '#/components/schemas/is_system_task'
system_task_type:
$ref: '#/components/schemas/system_task_type'
comments:
$ref: '#/components/schemas/comments'
dependencies:
$ref: '#/components/schemas/dependencies'
entity_tags:
$ref: '#/components/schemas/entity_tags'
update-tasks-response:
type: object
properties:
code:
type: integer
example: 0
readOnly: true
message:
type: string
example: Task updated
readOnly: true
tasks:
type: array
items:
type: object
properties:
task_id:
$ref: '#/components/schemas/task_id'
recurring_task_id:
$ref: '#/components/schemas/recurring_task_id'
owner_id:
$ref: '#/components/schemas/owner_id'
owner_ids:
$ref: '#/components/schemas/owner_ids'
owner_name:
$ref: '#/components/schemas/owner_name'
owners:
$ref: '#/components/schemas/owners'
title:
$ref: '#/components/schemas/title'
due_date:
$ref: '#/components/schemas/due_date'
due_date_formatted:
$ref: '#/components/schemas/due_date_formatted'
is_overdue:
$ref: '#/components/schemas/is_overdue'
contact_type:
$ref: '#/components/schemas/contact_type'
contact_id:
$ref: '#/components/schemas/contact_id'
color_code:
$ref: '#/components/schemas/color_code'
contact_name:
$ref: '#/components/schemas/contact_name'
parent_task_id:
$ref: '#/components/schemas/parent_task_id'
related_entity_id:
$ref: '#/components/schemas/related_entity_id'
related_entity_type:
$ref: '#/components/schemas/related_entity_type'
related_entity:
$ref: '#/components/schemas/related_entity'
related_entity_value:
$ref: '#/components/schemas/related_entity_value'
parent_status:
$ref: '#/components/schemas/parent_status'
status:
$ref: '#/components/schemas/status'
custom_status_id:
$ref: '#/components/schemas/custom_status_id'
billing_type:
$ref: '#/components/schemas/billing_type'
is_billable:
$ref: '#/components/schemas/is_billable'
task_rate:
$ref: '#/components/schemas/task_rate'
completion_percentage:
$ref: '#/components/schemas/completion_percentage'
is_subtask:
$ref: '#/components/schemas/is_subtask'
priority:
$ref: '#/components/schemas/priority'
reminder:
$ref: '#/components/schemas/reminder'
task_description:
$ref: '#/components/schemas/task_description'
is_accountant_task:
$ref: '#/components/schemas/is_accountant_task'
task_number:
$ref: '#/components/schemas/task_number'
task_number_prefix:
$ref: '#/components/schemas/task_number_prefix'
task_number_suffix:
$ref: '#/components/schemas/task_number_suffix'
can_push:
$ref: '#/components/schemas/can_push'
created_by_id:
$ref: '#/components/schemas/created_by_id'
last_modified_by_id:
$ref: '#/components/schemas/last_modified_by_id'
template_id:
$ref: '#/components/schemas/template_id'
due_after:
$ref: '#/components/schemas/due_after'
parent_task_name:
$ref: '#/components/schemas/parent_task_name'
parent_task_number:
$ref: '#/components/schemas/parent_task_number'
created_by_name:
$ref: '#/components/schemas/created_by_name'
documents:
$ref: '#/components/schemas/documents'
custom_fields:
$ref: '#/components/schemas/custom_fields'
statuses:
$ref: '#/components/schemas/statuses'
is_system_task:
$ref: '#/components/schemas/is_system_task'
system_task_type:
$ref: '#/components/schemas/system_task_type'
comments:
$ref: '#/components/schemas/comments'
dependencies:
$ref: '#/components/schemas/dependencies'
entity_tags:
$ref: '#/components/schemas/entity_tags'
comments:
description: List of comments for the task.
type: array
items:
type: object
properties:
comment_id:
$ref: '#/components/schemas/comment_id'
description:
description: Description of the comment.
type: string
example: This is a sample comment.
commented_by_id:
$ref: '#/components/schemas/commented_by_id'
commented_by:
$ref: '#/components/schemas/commented_by'
comment_type:
$ref: '#/components/schemas/comment_type'
date:
description: Date when the comment was made.
type: string
format: date-time
example: '2025-01-01T12:00:00Z'
date_description:
$ref: '#/components/schemas/date_description'
time:
$ref: '#/components/schemas/time'
operation_type:
$ref: '#/components/schemas/operation_type'
transaction_id:
$ref: '#/components/schemas/transaction_id'
transaction_type:
$ref: '#/components/schemas/transaction_type'
mail_id:
description: Email ID to which the notification has to be sent.
type: string
example: johndoe@gmail.com
can_push:
description: Indicates if the task can be sync to client
type: boolean
example: true
title:
description: Title of the task.
type: string
example: Sample Task
a
# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho-inventory/refs/heads/main/openapi/zoho-inventory-tasks-api-openapi.yml