Skip to content

Update or assign annotation tasks in bulk

PATCH/v5/annotation-tasks/batch

Update many annotation tasks in one request, operating in one of two mutually exclusive modes.

In ids mode, provide a list of task IDs together with an assigned_to and/or a status (limited to pending_redo or completed) to apply those field changes to each listed task; only tasks that currently exist are affected and IDs that do not resolve are silently skipped. In audit_assignment mode, provide an evaluation ID, queue ID, and evaluation item IDs to assign Level 1 and/or Level 2 auditors for those items, creating the underlying audit tasks when they do not yet exist; a Level 2 auditor cannot be assigned unless a Level 1 auditor is already present. Exactly one of ids or audit_assignment must be supplied, and assigned_to/status are only valid in ids mode. Access and state checks run before any write, so the request is rejected as a whole with nothing persisted if any task is inaccessible, if a status change is attempted without a modification role, or if an already-completed task would be reassigned; audit assignment also requires a modification role. Reassigning a task to a new user emits a task-start lineage event, and the response returns the affected annotation tasks.

Body ParametersJSONExpand Collapse
assigned_to: optional string
audit_assignment: optional object { evaluation_id, evaluation_item_ids, queue_id, 2 more }
evaluation_id: string
evaluation_item_ids: array of string
queue_id: string
level_1_assigned_to: optional string
level_2_assigned_to: optional string
ids: optional array of string
status: optional "PENDING_REDO" or "COMPLETED"
One of the following:
"PENDING_REDO"
"COMPLETED"
ReturnsExpand Collapse
items: array of AnnotationTask { id, evaluation_id, evaluation_item_id, 11 more }
id: string
evaluation_id: string
evaluation_item_id: string
priority: number
queue_id: string
status: "NOT_READY" or "PENDING" or "PENDING_REDO" or 2 more
One of the following:
"NOT_READY"
"PENDING"
"PENDING_REDO"
"COMPLETED"
"FIXED"
task_type: "EVALUATION_ANNOTATION" or "EVALUATION_AUDIT" or "CONTRIBUTOR_ANNOTATION" or "CONTRIBUTOR_AUDIT"
One of the following:
"EVALUATION_ANNOTATION"
"EVALUATION_AUDIT"
"CONTRIBUTOR_ANNOTATION"
"CONTRIBUTOR_AUDIT"
updated_at: string
formatdate-time
assigned_to: optional string
assignment_expires_at: optional string
formatdate-time
duration_seconds: optional number
flagged_for_review: optional boolean
object: optional "annotation_task"
review_comment: optional string
object: optional "list"

Update or assign annotation tasks in bulk

curl https://api.egp.scale.com/v5/annotation-tasks/batch \
    -X PATCH \
    -H 'Content-Type: application/json' \
    -H "x-api-key: $SGP_API_KEY" \
    -d '{}'
{
  "items": [
    {
      "id": "id",
      "evaluation_id": "evaluation_id",
      "evaluation_item_id": "evaluation_item_id",
      "priority": 0,
      "queue_id": "queue_id",
      "status": "NOT_READY",
      "task_type": "EVALUATION_ANNOTATION",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "assigned_to": "assigned_to",
      "assignment_expires_at": "2019-12-27T18:11:19.117Z",
      "duration_seconds": 0,
      "flagged_for_review": true,
      "object": "annotation_task",
      "review_comment": "review_comment"
    }
  ],
  "object": "list"
}
Returns Examples
{
  "items": [
    {
      "id": "id",
      "evaluation_id": "evaluation_id",
      "evaluation_item_id": "evaluation_item_id",
      "priority": 0,
      "queue_id": "queue_id",
      "status": "NOT_READY",
      "task_type": "EVALUATION_ANNOTATION",
      "updated_at": "2019-12-27T18:11:19.117Z",
      "assigned_to": "assigned_to",
      "assignment_expires_at": "2019-12-27T18:11:19.117Z",
      "duration_seconds": 0,
      "flagged_for_review": true,
      "object": "annotation_task",
      "review_comment": "review_comment"
    }
  ],
  "object": "list"
}