Skip to content

Update or assign annotation tasks in bulk

client.AnnotationTasks.BatchUpdate(ctx, body) (*AnnotationTaskBatchUpdateResponse, error)
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.

ParametersExpand Collapse
body AnnotationTaskBatchUpdateParams
AssignedTo param.Field[string]Optional
AuditAssignment param.Field[AnnotationTaskBatchUpdateParamsAuditAssignment]Optional
EvaluationID string
EvaluationItemIDs []string
QueueID string
Level1AssignedTo stringOptional
Level2AssignedTo stringOptional
IDs param.Field[[]string]Optional
Status param.Field[AnnotationTaskBatchUpdateParamsStatus]Optional
const AnnotationTaskBatchUpdateParamsStatusPendingRedo AnnotationTaskBatchUpdateParamsStatus = "PENDING_REDO"
const AnnotationTaskBatchUpdateParamsStatusCompleted AnnotationTaskBatchUpdateParamsStatus = "COMPLETED"
ReturnsExpand Collapse
type AnnotationTaskBatchUpdateResponse struct{…}
ID string
EvaluationID string
EvaluationItemID string
Priority int64
QueueID string
Status AnnotationTaskStatus
One of the following:
const AnnotationTaskStatusNotReady AnnotationTaskStatus = "NOT_READY"
const AnnotationTaskStatusPending AnnotationTaskStatus = "PENDING"
const AnnotationTaskStatusPendingRedo AnnotationTaskStatus = "PENDING_REDO"
const AnnotationTaskStatusCompleted AnnotationTaskStatus = "COMPLETED"
const AnnotationTaskStatusFixed AnnotationTaskStatus = "FIXED"
TaskType AnnotationTaskTaskType
One of the following:
const AnnotationTaskTaskTypeEvaluationAnnotation AnnotationTaskTaskType = "EVALUATION_ANNOTATION"
const AnnotationTaskTaskTypeEvaluationAudit AnnotationTaskTaskType = "EVALUATION_AUDIT"
const AnnotationTaskTaskTypeContributorAnnotation AnnotationTaskTaskType = "CONTRIBUTOR_ANNOTATION"
const AnnotationTaskTaskTypeContributorAudit AnnotationTaskTaskType = "CONTRIBUTOR_AUDIT"
UpdatedAt Time
formatdate-time
AssignedTo stringOptional
AssignmentExpiresAt TimeOptional
formatdate-time
DurationSeconds int64Optional
FlaggedForReview boolOptional
Object AnnotationTaskObjectOptional
ReviewComment stringOptional
Object AnnotationTaskBatchUpdateResponseObjectOptional

Update or assign annotation tasks in bulk

package main

import (
  "context"
  "fmt"

  "github.com/scaleapi/sgp-dev-go"
  "github.com/scaleapi/sgp-dev-go/option"
)

func main() {
  client := sgpdev.NewClient(
    option.WithAPIKey("My API Key"),
    option.WithAccountID("My Account ID"),
  )
  response, err := client.AnnotationTasks.BatchUpdate(context.TODO(), sgpdev.AnnotationTaskBatchUpdateParams{

  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Items)
}
{
  "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"
}