Tasks

Task and annotation management

Get Project Tasks

get
/project/{projectId}/tasks

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
/project/{projectId}/tasks
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-27T16:47:23.906Z",
        "completedAt": "2025-10-27T16:47:23.906Z",
        "duration": 1
      }
    ],
    "total": 1
  }
}

Requeue Tasks

post
/project/{projectId}/requeueTasks

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
/project/{projectId}/requeueTasks
curl -X POST "https://imeritapi.ango.ai/v2/project/507f1f77bcf86cd799439011/requeueTasks" \
  -H "apikey: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "toStageId": "stageId1",
    "filters": {
      "fromStageIds": ["stageId2", "stageId3"],
      "batches": ["batchId1", "batchId2"]
    },
    "options": {
      "removeAnnotations": false,
      "removeAssignee": true,
      "removeStageHistory": false
    }
  }'
{
  "status": "success",
  "data": {
    "modifiedCount": {
      "modified": 1,
      "toStageId": "text"
    }
  }
}

Update Task Priority

post
/project/{projectId}/updatePriority

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
/project/{projectId}/updatePriority
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
/task/{taskId}

Retrieves detailed information about a specific task

Authorizations
Path parameters
taskIdstringRequired

Task ID

Responses
200

Task retrieved successfully

application/json
get
/task/{taskId}
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-27T16:47:23.906Z",
      "completedAt": "2025-10-27T16:47:23.906Z",
      "duration": 1
    }
  }
}

Get Task History

get
/task/{taskId}/history

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
/task/{taskId}/history
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-27T16:47:23.906Z"
      }
    ]
  }
}

Get Task History Entry

get
/taskHistory/{taskHistoryId}

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
/taskHistory/{taskHistoryId}
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-27T16:47:23.906Z"
    }
  }
}

Assign Tasks to User

post
/task/assign

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
/task/assign
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"
    }
  }
}

Last updated