Download OpenAPI specification: Download
APIs to integrate with TaskMonk service. Refer to http://docs.taskmonk.io/concepts.html for an overview.
Use preprod.taskmonk.io to test the APIs and api.taskmonk.io for production use.
Creates a batch for a project.
batch_name null |
string
Required
|
|
|
priority null |
integer <int32>
An optional priority for the batch based on which tasks will be executed. Higher priority batches are processed first. |
|
|
comments null |
string
An optional message that is displayed to the analyst as they work on the tasks. |
|
|
notifications null |
Notification
Notifications can be used for the requestors to be notified when milestones for a batch are completed. |
|
|
start_time null |
string
An optional start time (YYYY-MM-DD) to specify that when the batch should be made active. If the date is specified and is beyond the current date, the batch status will be set to "Scheduled" instead of "Active" This cannot be changed if the batch is already Active |
|
200 Returns the batch id
id null |
string
Required
|
|
{}
"batch_name": "string", "priority": 0, "comments": "string", "notifications": [],
{}
"notification_type": "Email", "metadata": { } "start_time": "string"
200 Returns the batch id
{}
"id": "string"
Retrieves batches for the project id
200 Sequence of batches
id null |
string
Required
Id for the batch |
|
|
project_id null |
string
Required
|
|
|
name null |
string
Required
name of the batch |
|
|
priority null |
integer <int32>
An optional priority for the batch based on which tasks will be executed. Higher priority batches are processed first. |
|
|
comments null |
string
An optional message that is displayed to the analyst as they work on the tasks. |
|
|
notifications null |
Notification
Notifications can be used for the requestors to be notified when milestones for a batch are completed. |
|
200 Sequence of batches
{}
"id": "string", "project_id": "string", "name": "string", "priority": 0, "comments": "string", "notifications": []
{}
"notification_type": "Email", "metadata": { }
Edit details for a batch
batch_name null |
string
Required
|
|
|
priority null |
integer <int32>
An optional priority for the batch based on which tasks will be executed. Higher priority batches are processed first. |
|
|
comments null |
string
An optional message that is displayed to the analyst as they work on the tasks. |
|
|
notifications null |
Notification
Notifications can be used for the requestors to be notified when milestones for a batch are completed. |
|
|
start_time null |
string
An optional start time (YYYY-MM-DD) to specify that when the batch should be made active. If the date is specified and is beyond the current date, the batch status will be set to "Scheduled" instead of "Active" This cannot be changed if the batch is already Active |
|
200 success
success null |
boolean
Required
|
|
|
message null |
string
|
|
{}
"batch_name": "string", "priority": 0, "comments": "string", "notifications": [],
{}
"notification_type": "Email", "metadata": { } "start_time": "string"
200 success
"{ "success": false, "message": "Batch already active" } "
Changes the state of a batch.
state null |
string
Required
New state for the batch. Allowed values are 'Cancelled' - Allowed only if the batch is not started |
|
200 Returns success with value true/false and a message.
success null |
boolean
Required
|
|
|
message null |
string
|
|
"{ "state": "CANCELLED" } "
200 Returns success with value true/false and a message.
"{ "success": false, "message": "Batch already active" } "
Query for batches matching the criteria
Batches with ids greater than start_batch are retrieved. This is not inclusive. If not specified, all batches from the beginning are matched.
Batches with ids lesser than end_batch are retrieved. This is not inclusive If not specified, all batches till the end are matched.
Batches with creation time greater than start_create_time are retrieved. This is not inclusive If not specified, all batches from the beginning are matched. Format is "dd-MM-yyyy"
Batches with creation time lesser than end_create_time are retrieved. This is not inclusive If not specified, all batches till the end are matched. Format is "dd-MM-yyyy"
The number of batches to be retrieved. The default is 20.
The page number for the retrieval starting with 0 offset. By default the first page is retrieved
200 sequence of batches
items null |
BatchDetail
Required
|
|
|
page null |
integer <int32>
Required
The page number of the batch results returned. This will match the request |
|
|
page_size null |
integer <int64>
The number of batches returned in api. This will match the request |
|
|
total null |
integer <int64>
Required
The total number of batches the query matched |
|
200 sequence of batches
{}
"items": [],
{}
"batch_id": "string", "batch_name": "string", "created_date": "2025-04-06", "completed": 0, "pending": 0, "total": 0, "rejected": 0, "eta": "string", "eta_type": "string", "state": "string" "page": 0, "page_size": 0, "total": 0
Query for projects and batches matching the date range of transactions
Projects and batches with submission date greater than start_date are retrieved. If not specified, all batches from the beginning are matched. Format is "yyyy-mm-dd"
Projects and batches with submission date lesser than end_date are retrieved. If not specified, all batches till the end are matched. Format is "yyyy-mm-dd"
Retrieve batches with provided state only. If not specified, all batches irrespective of their current state are matched.
200 sequence of project and its batches
project null |
ProjectDetail
Required
|
|
|
batches null |
ProjectBatchDetail
Required
|
|
200 sequence of project and its batches
[]
{}
"project": {},
"project_id": "string", "project_name": "string", "process_name": "string", "project_type": "string" "batches": []
{}
"batch_id": "string", "project_id": "string", "batch_name": "string", "priority": null, "created_on": "string", "last_modified_on": "string", "batch_state": "string"
Get taxonomy detail
200 success
taxonomy null |
Taxonomy
Required
|
|
|
categories null |
TaxonomyCategory
Required
|
|
200 success
{}
"taxonomy": {},
"id": "string", "project_id": "string", "name": "string" "categories": []
{}
"id": "string", "taxonomy_id": "string", "category_id": "string", "category_name": "string", "category_path": "string", "metadata": { }
Creates a new taxonomy
name null |
string
Required
Name of the new taxonomy |
|
201 Returns the taxonomy id
{}
"name": "string"
201 Returns the taxonomy id
{}
"id": "string"
Imports the categories for the taxonomy. Uses multipart form-data with the taxonomy file uploaded with the key 'file'.
Specifies the file type of the content attached. Current options are 'CSV' or 'Excel'. Defaults to 'Excel'
201 Imported taxonomy categories
Imports tasks from attached file. This is used to upload tasks from a local CSV/Excel file.
The contents of the file forms the body of the request.
Batch to upload the tasks to
Specifies the file type of the content attached. Current options are 'CSV' or 'Excel'
200 Returns the job_id
job_id null |
string
Required
The job id for the upload tasks. Can be used to track the progress of the upload. |
|
401 User is not authorised
404 Project does not exist
200 Returns the job_id
{}
"job_id": "string"
Imports tasks from a dictionary of key value pairs in the body The content can be compressed using gzip. The header "Content-Encoding" should be set to gzip in this case.
Batch to upload the tasks to
array of key value pairs
external_id null |
string
The external id that was set for the task when importing. This is optional and may not be set |
|
|
batch_id null |
string
The batch id for the task. This is optional and might not be present when batch id is known |
|
|
data null |
object
The input and output fields and values for the task |
|
200 Returns the list of task ids created
401 User is not authorised
404 Project does not exist
"[ { "external_id": "item1", "batch_id": "batch1", "data": { "field1": "value1", "field2": "value2", } }, { "external_id": "item2", "batch_id": "batch1", "data": { "field1": "value1", "field2": "value2", } }, ] "
Imports tasks from a publicly accessible url.
Batch to upload the tasks to
Path to publicly accessible file
Specifies the file type of the content attached. Current options are 'CSV' or 'Excel'
200 Returns the job_id
job_id null |
string
Required
The job id for the upload tasks. Can be used to track the progress of the upload. |
|
401 User is not authorised
404 Project does not exist
200 Returns the job_id
{}
"job_id": "string"
Imports tasks from customers data source. This could be from cloud storage or jdbc connection.
Batch to upload the tasks to
Input data for tasks from source
source_type null |
string
"Azure" "S3" "Google Cloud Storage" "JDBC"
The type of source. Could be one of 'Azure', 'S3', 'Firebase', 'JDBC' |
|
|
access_info null |
dictionary
Key value representation of access info for the source. The keys depend on the type of source
|
|
|
refresh_interval null |
integer
0
Time to wait in seconds before refreshing tasks. A value of 0 indicates that tasks are read only once |
|
200 Returns the job_id
job_id null |
string
Required
The job id for the upload tasks. Can be used to track the progress of the upload. |
|
401 User is not authorised
404 Project does not exist
{}
"source_type": "Azure", "access_info": null, "refresh_interval": 0
200 Returns the job_id
{}
"job_id": "string"
Adds a new task to an existing batch
id null |
string
Required
|
|
|
externalId null |
string
Required
|
|
|
project_id null |
string
Required
|
|
|
batch_id null |
string
Required
|
|
|
next_level null |
integer <integer>
Required
|
|
|
status null |
integer <integer>
Required
|
|
|
input null |
object
Required
|
|
|
output null |
LevelUserOutput
Required
|
|
|
unique_field_value null |
string
|
|
|
error null |
task.ErrorLevels
|
|
|
lastModifiedTime null |
string <date>
|
|
|
pendingUsers null |
integer <integer>
Required
|
|
|
pendingCompletion null |
integer <integer>
Required
|
|
|
metaData null |
object
Required
|
|
|
sortField null |
integer <int32>
|
|
200 Id of the newly created task
id null |
string
Required
|
|
{}
"id": "string", "externalId": "string", "project_id": "string", "batch_id": "string", "next_level": 0, "status": 0, "input": { }, "output": [],
{}
"level": 0, "userId": "string", "values": { } "unique_field_value": "string", "error": {},
"errorLevels": [],
"string" "errors": []
{}
"level": 0, "userId": "string" "lastModifiedTime": "2025-04-06", "pendingUsers": 0, "pendingCompletion": 0, "metaData": { }, "sortField": 0
200 Id of the newly created task
{}
"id": "string"
Returns progress of the job
The job_id from a previous upload call
200 success
completed null |
integer <int32>
Required
The tasks that have been uploaded to TaskMonk |
|
|
total null |
integer <int32>
Required
The total tasks contained in the import job |
|
|
error_msg null |
string
Will contain appropriate error message if upload of tasks fails for some reason |
|
200 success
{}
"completed": 0, "total": 0, "error_msg": "string"
Retrieves status for the batch id
200 success
in_progress null |
integer <int32>
Required
|
|
|
completed null |
integer <int32>
Required
|
|
|
total null |
integer <int32>
Required
|
|
|
eta null |
string
Specifies an estimate of when the batch is expected to be completed by the Annotation Partner. This is optional and depends on the capacity of the annotation partner being set. This can also be udpdated manually by the Annotation Partner The format is "YYYY-MM-DD" |
|
|
eta_type null |
string
Can be one of "Calculated" - If the eta is an approximate value that is calculated based on partner capacity "Manual" - If the eta has been set by the partner |
|
|
state null |
string
Required
Returns a state for the batch. The supported state are: "Active" - The batch is being worked on by the analysts "Pending" - Work has not started on the batch "Scheduled" - A start time for the batch has been set and will be worked on after that date "Cancelled" - The execution of the batch has been cancelled by the customer |
|
200 success
{}
"in_progress": 0, "completed": 0, "total": 0, "eta": "string", "eta_type": "string", "state": "string"
Retrieves output for the batch id
This should be called once Batch Status API indicates that all tasks have been processed
Specifies the format for the output file. Options are 'CSV' or 'Excel'
field_names null |
string
Required
The fields that should be included in the output file. The names should match the project configuration and the headers in the input file that was used for the task upload. Pass an empty string to retrieve all fields |
|
200 success
file_url null |
string
Required
The path where the output file will be uploaded |
|
|
job_id null |
string
Required
The job_id for the upload of the output file. file_url will be valid once the status of this job shows as completed |
|
{}
"field_names": []
"input1", "input2", "output1", "output2"
200 success
{}
"file_url": "string", "job_id": "string"
Retrieves output for the batch id
This should be called once Batch Status API indicates that all tasks have been processed The content may be compressed using gzip. The header "Content-Encoding" will be set in this case.
Tasks with external ids greater than end_batch are retrieved. This is not inclusive If not specified, all tasks from the beginning of the batch are matched
Tasks with external ids lesser than end_batch are retrieved. This is not inclusive If not specified, all tasks till the end are matched.
Tasks with completion time greater than task_complete_start are retrieved. This is not inclusive If not specified, all tasks from the beginning of the batch are matched. Format is "dd-MM-yyyy"
Tasks with completion time lesser than task_complete_end are retrieved. This is not inclusive If not specified, all tasks till the end are matched. Format is "dd-MM-yyyy"
Tasks with particular state are returned. Allowed values are 'COMPLETED', 'PENDING'
The number of batches to be retrieved. The default is 20.
The page number for the retrieval starting with 0 offset. By default the first page is retrieved
Optional list of fields to be included in the output. If none are specified, all fields are returned.
200 Page with list of key value pairs of the fields specified for the tasks in the batch
items null |
ExternalTask
Required
|
|
|
page null |
integer <int32>
Required
The page number of the task results returned. This will match the request |
|
|
page_size null |
integer <int64>
The number of task returned in api. This will match the request |
|
|
total null |
integer <int64>
Required
The total number of tasks the query matched |
|
200 Page with list of key value pairs of the fields specified for the tasks in the batch
{}
"items": [],
"[ { "external_id": "item1", "batch_id": "batch1", "data": { "field1": "value1", "field2": "value2", } }, { "external_id": "item2", "batch_id": "batch1", "data": { "field1": "value1", "field2": "value2", } }, ] " "page": 0, "page_size": 0, "total": 0
Retrieves output for the project id
This should be called with a date range of maximum 30 days
Specifies the format for the output file. Options are 'CSV' or 'Excel'
start_time null |
string <date>
All the tasks submitted after this date will be exported. Sample format "2024-10-05 09:36:00" |
|
|
end_time null |
string <date>
All the tasks submitted before this date will be exported. Sample format "2024-10-06 09:36:00" Should not be more than 30 days from start time. |
|
|
field_names null |
string
The fields that should be included in the output file. The names should match the project configuration and the headers in the input file that was used for the task upload. Pass an empty string to retrieve all fields |
|
200 success
file_url null |
string
Required
The path where the output file will be uploaded |
|
|
job_id null |
string
Required
The job_id for the upload of the output file. file_url will be valid once the status of this job shows as completed |
|
{}
"start_time": "2025-04-06", "end_time": "2025-04-06", "field_names": []
"string"
200 success
{}
"file_url": "string", "job_id": "string"