Tasks

Task and annotation management

Get project tasks

get

Retrieves all tasks for a specific project with optional filtering

Authorizations
Path parameters
projectIdstringRequired

Project ID

Query parameters
pageinteger · min: 1Optional

Page number (1-indexed)

Default: 1
limitinteger · min: 1 · max: 100Optional

Items per page (max 100)

Default: 10
filtersstringOptional

JSON stringified filter object

statusstringOptional

Filter by task status

stagestringOptional

Filter by stage ID

assigneestringOptional

Filter by assignee email

batchesstringOptional

Filter by batch names (comma-separated)

Responses
200

Tasks retrieved successfully

application/json
get
curl -X GET "https://imeritapi.ango.ai/v2/project/507f1f77bcf86cd799439011/tasks?page=1&limit=10&status=Completed&stage=Label" \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json"
200

Tasks retrieved successfully

{
  "status": "success",
  "data": {
    "tasks": [
      {
        "_id": "text",
        "project": "text",
        "asset": "text",
        "stage": "text",
        "status": "text",
        "assignee": "text",
        "externalId": "text",
        "batches": [
          "text"
        ],
        "priority": 1,
        "answer": {},
        "createdAt": "2025-10-07T12:40:36.724Z",
        "completedAt": "2025-10-07T12:40:36.724Z",
        "duration": 1
      }
    ],
    "total": 1
  }
}

Requeue tasks

post

Move tasks from one stage to another based on filter criteria

Authorizations
Path parameters
projectIdstringRequired

Project ID

Body
toStageIdstringRequired

Destination stage ID

Responses
200

Tasks requeued successfully

application/json
post
curl -X POST "https://imeritapi.ango.ai/v2/project/507f1f77bcf86cd799439011/requeueTasks" \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "toStageId": "Review",
    "filters": {
      "fromStageIds": ["Label"],
      "batches": ["Batch1"]
    },
    "options": {
      "resetAnswer": false,
      "unassign": true
    }
  }'
{
  "status": "success",
  "data": {
    "modifiedCount": {
      "modified": 1,
      "toStageId": "text"
    }
  }
}

Bulk update task priority

post

Update priority for multiple tasks based on filter criteria

Authorizations
Path parameters
projectIdstringRequired

Project ID

Body
prioritynumber · min: -1000 · max: 1000Required

Priority value (-1000 to 1000)

optionsobjectOptional
Responses
200

Priority updated successfully

application/json
post
POST /v2/project/{projectId}/updatePriority HTTP/1.1
Host: imeritapi.ango.ai
apikey: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 144

{
  "priority": 1,
  "filters": {
    "taskIds": [
      "text"
    ],
    "externalIds": [
      "text"
    ],
    "assetIds": [
      "text"
    ],
    "fromStageIds": [
      "text"
    ],
    "batches": [
      "text"
    ]
  },
  "options": {}
}
{
  "status": "success",
  "data": {
    "result": {
      "modifiedCount": 1,
      "priority": 1
    }
  }
}

Get task details

get

Retrieves detailed information about a specific task

Authorizations
Path parameters
taskIdstringRequired

Task ID

Responses
200

Task retrieved successfully

application/json
get
curl -X GET "https://imeritapi.ango.ai/v2/task/task123" \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json"
{
  "status": "success",
  "data": {
    "task": {
      "_id": "text",
      "project": "text",
      "asset": "text",
      "stage": "text",
      "status": "text",
      "assignee": "text",
      "externalId": "text",
      "batches": [
        "text"
      ],
      "priority": 1,
      "answer": {},
      "createdAt": "2025-10-07T12:40:36.724Z",
      "completedAt": "2025-10-07T12:40:36.724Z",
      "duration": 1
    }
  }
}

Get task history

get

Retrieves the complete history of changes for a task

Authorizations
Path parameters
taskIdstringRequired

Task ID

Query parameters
pageinteger · min: 1Optional

Page number (1-indexed)

Default: 1
limitinteger · min: 1 · max: 100Optional

Items per page (max 100)

Default: 10
Responses
200

Task history retrieved successfully

application/json
get
GET /v2/task/{taskId}/history HTTP/1.1
Host: imeritapi.ango.ai
apikey: YOUR_API_KEY
Accept: */*
200

Task history retrieved successfully

{
  "status": "success",
  "data": {
    "taskHistory": [
      {
        "_id": "text",
        "task": "text",
        "user": "text",
        "action": "text",
        "answer": {},
        "createdAt": "2025-10-07T12:40:36.724Z"
      }
    ]
  }
}

Get task history entry

get

Retrieves a specific task history entry by ID

Authorizations
Path parameters
taskHistoryIdstringRequired

Task history entry ID

Responses
200

Task history entry retrieved successfully

application/json
get
GET /v2/taskHistory/{taskHistoryId} HTTP/1.1
Host: imeritapi.ango.ai
apikey: YOUR_API_KEY
Accept: */*
200

Task history entry retrieved successfully

{
  "status": "success",
  "data": {
    "taskHistory": {
      "_id": "text",
      "task": "text",
      "user": "text",
      "action": "text",
      "answer": {},
      "createdAt": "2025-10-07T12:40:36.724Z"
    }
  }
}

Assign tasks to user

post

Assigns one or more tasks to a specific user at a specific stage

Authorizations
Body
userstringRequired

User email to assign to

projectstringRequired

Project ID

tasksstring[]Required

Array of task IDs

stagestringRequired

Stage ID

Responses
200

Tasks assigned successfully

application/json
post
curl -X POST "https://imeritapi.ango.ai/v2/task/assign" \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "user": "[email protected]",
    "project": "507f1f77bcf86cd799439011",
    "tasks": ["task123", "task456"],
    "stage": "Label"
  }'
{
  "status": "success",
  "data": {
    "task": {
      "updatedCount": 1,
      "assignedTasks": {
        "count": 1
      },
      "message": "text"
    }
  }
}

Submit annotation

post

Submits annotation answer for a task

Authorizations
Path parameters
taskIdstringRequired

Task ID

Query parameters
isPluginstring · enumOptional

Set to 'true' if annotation from plugin

Possible values:
Body
answerobjectRequired

Annotation answer object (structure depends on project categorySchema)

Responses
200

Annotation submitted successfully

application/json
post
curl -X POST "https://imeritapi.ango.ai/v2/annotate/task123?isPlugin=false" \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "answer": {
      "objects": [
        {
          "schemaId": "box-tool-id",
          "bounding-box": {
            "x": 100,
            "y": 100,
            "width": 200,
            "height": 150
          },
          "title": "Car"
        }
      ]
    }
  }'
200

Annotation submitted successfully

{
  "status": "success",
  "data": {
    "label": {
      "_id": "text",
      "project": "text",
      "asset": "text",
      "stage": "text",
      "status": "text",
      "assignee": "text",
      "externalId": "text",
      "batches": [
        "text"
      ],
      "priority": 1,
      "answer": {},
      "createdAt": "2025-10-07T12:40:36.724Z",
      "completedAt": "2025-10-07T12:40:36.724Z",
      "duration": 1
    }
  }
}