Update or assign annotation tasks in bulk
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.
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"
}