Skip to main content

Annotation Tasks

Annotation tasks carry the full path from data through annotation and review to submission, and they are the basic unit of annotation and review work on the platform. This page defines task fields, statuses, and operations; for creating and assigning tasks, see Create Annotation Task.

Annotation task list (grouped by status, test environment)

Prerequisites​

ItemDescription
Menu entryData → Annotation
RouteTask list /tasks; new /tasks/new; task details /tasks/{id}
Required permission“View Annotation Tasks”
Related permissions“Perform Annotation”, “Review Annotation”, “Manage Annotation Tasks”
Visible rolesAdministrator, Project Manager, Auditor, Annotator. The Collector role is not in the menu allowlist
Effective rulesAdministrators are not limited by module permissions and have Read & write on everything; other roles follow the role default template, and user-level overrides take precedence over role defaults; modules with no configuration are set to Deny

See Module Permissions for how to configure module permissions. The module defaults per role are:

Role“View Annotation Tasks”“Perform Annotation”“Review Annotation”“Manage Annotation Tasks”
Project ManagerRead & writeRead & writeRead & writeRead & write
AuditorRead OnlyDenyRead & writeDeny
AnnotatorRead OnlyRead & writeDenyDeny
CollectorRead OnlyDenyDenyDeny

Task Definition​

Task Fields​

Task fields are defined in the tasks table.

FieldMeaningConstraint
Task NameTask nameUnique across the platform
ProjectOwning projectSelected in the creation form
AnnotatorAccount that performs annotationRequired, one person
AuditorAccount that reviews annotationMay be left empty; when empty, the task has no reviewer
CreatorAccount that created the taskRecorded as the related user when a task status changes
StatusCurrent task statusOne of six values; see “Task Status”
ReasonReason entered when review sends the task backSaved when the status is “Unqualified”, up to 1000 characters
CreatedTask creation timeUsed for list sorting and filtering by date

Task Status​

There are six task statuses, matching the names shown in the interface one to one.

StatusAllowed next statuses
Pending StartIn Progress
In ProgressPending Check
Pending CheckQualified, Unqualified, In Progress
UnqualifiedPending Check, Qualified
QualifiedUnqualified, Submit Data
Submit DataNone; terminal

The allowed next statuses determine the action items under “Current Workflow” in the task detail sidebar; they are the intersection of the current status and the statuses the role can set, plus a “Previous Step” entry for rolling back.

Status Change Permissions​

Status changes are limited by both role and identity. The role layer determines who can set a task to a given status:

StatusRoles that can set this status
Pending StartAdministrator, Project Manager, Auditor, Annotator, Collector
In ProgressAdministrator, Project Manager, Auditor, Annotator, Collector
Pending CheckAdministrator, Project Manager, Auditor, Annotator, Collector
UnqualifiedAdministrator, Project Manager, Auditor
QualifiedAdministrator, Project Manager, Auditor
Submit DataAdministrator, Project Manager

The identity layer applies on top of the role layer. Administrators and project managers are not restricted by identity; other roles must be related to the task:

ActorStatuses that can be setNotes
Task annotatorPending Start, In Progress, Pending CheckCannot set Qualified or any later status
Task auditorQualified, UnqualifiedCannot set any other status
Task creatorThe statuses allowed for the creator's roleLets the creator manage the task on behalf of others
Other accountsNoneThe API returns 403

When a task is Qualified, the annotator cannot change its status, so the review conclusion cannot be overwritten.

Datasets and Check Results​

A task links datasets through dataset_tasks, and each link record carries a check result.

FieldMeaningConstraint
DatasetDataset linked to the taskA dataset belongs to only one task at a time
Check resultsQualified (VALID) or Unqualified (INVALID)Empty until a decision is made
Data reasonReason entered when the check is UnqualifiedUp to 1000 characters
warning

When an annotator marks a data check result as Qualified, the server does not record it (it writes back an empty value). Qualified and Unqualified results for data are set by the task's auditor, an administrator, or a project manager.

Task Operations​

List and Filtering​

DimensionDescription
Status groupingTop tabs group by status and show the task count per status; “All Tasks” shows the total
ViewThe All Tasks view offers a Horizontal View (columns by status) and a Vertical View (a single list)
Task NameFuzzy match by name
ProjectFilters by project
AnnotatorFilters by annotator account
AuditorFilters by auditor account
CreatedFilters by creation date in YYYY-MM-DD format
PaginationThe bottom shows the page size and total count

Filter conditions are written to URL query parameters, so a link that carries filters can be shared directly.

Task Details​

The task details page consists of a sidebar and four tabs.

TabRouteContent
Annotation Data/tasks/{id}/datasetList of datasets linked to the task, check results, and per-item actions
Batch Annotation/tasks/{id}/repeatsBatch annotation workspace
Problem annotation/tasks/{id}/invalidsAnnotation entries marked invalid
Annotation Statistics/tasks/{id}/analysisAnnotation descriptions and statistics within the task

The sidebar shows the task cover, task name, project, annotator, auditor, and progress, and provides the following actions:

ActionEffectConstraint
Edit taskChanges the task name, project, annotator, and auditorRequires “Manage Annotation Tasks”
Delete TaskLogically deletes the taskRequires “Manage Annotation Tasks”; deleted tasks can be restored from Trash
Current WorkflowShows the current status and the available next and previous stepsFiltered by role and identity

Batch Actions​

After selecting tasks in the task list, the bottom action bar offers batch delete. Deletion runs per task as a logical delete and does not affect the datasets themselves; deleted tasks go to Trash and can be restored.

The “Create Annotation Task” button in the upper-right corner of the task list appears when the account has write permission for “Manage Annotation Tasks” and opens the form in Create Annotation Task.

Create Annotation Task: select data on the left, fill in task information on the right

Batch Annotation​

The batch annotation workspace offers three modes. All three modes act within the dataset scope of the same task.

ModeEffect
Quick AnnotationAdds the same annotation description to every dataset in the task
Batch Copy AnnotationsCopies a sample annotation to other datasets proportionally along the timeline
Batch Replace AnnotationsReplaces text such as descriptions, objects, and targets in bulk by rule

The workspace includes a sample selector, an annotation progress bar, and an annotation mode selector.

Constraints and Limits​

ItemValueNotes
Task nameUnique across the platformOn creation, the system appends a sequence number when the name exists (for example, “Task (2)”); editing to an existing name makes the API return 400
Dataset ownershipA dataset belongs to only one task at a timeAdding a dataset to a task automatically removes it from other tasks
Reason lengthUp to 1000 charactersExtra characters are truncated
Check result markingQualified is set only by the task auditor, an administrator, or a project managerWhen an annotator marks Qualified, the server writes back an empty value
Status changesOnly the task annotator, auditor, or creator, or an administrator or project managerOther accounts get a 403
Qualified tasksThe annotator can no longer change the statusThe auditor or an administrator or project manager performs the change
Batch actionsBatch delete onlyNo other batch actions

Troubleshooting​

SymptomPossible causeActionOwner
Shows “Task name already exists”When editing, the name duplicates another taskUse a different task nameProject Manager, Administrator
Shows “Task does not exist”The task was deleted, or the task ID is invalidReturn to the list and check whether the task existsAnnotator, Auditor, Project Manager
Shows no access to the taskThe account is not in the task's project, is not related to the task, or the task's project is not publicA project member or an administrator adds the account to the project and assigns itProject Manager, Administrator
Shows “Task has been reviewed, cannot modify”The annotator tries to change a Qualified taskThe auditor or an administrator or project manager makes the changeAuditor, Administrator
Shows “Annotators can only set status as 'In progress' or 'To be checked'”The annotator chose an unauthorized statusChoose an allowed statusAnnotator
Shows “Reviewers can only set status as 'Passed' or 'Not passed'”The auditor chose an unauthorized statusChoose an allowed statusAuditor
Shows “Your role cannot set the task to this status”The account's role is not in the allowlist for that statusA role with permission performs the actionProject Manager, Administrator
Shows “Status parameter cannot be empty” or “Invalid task status”The request carries no status, or the status value is invalidSelect a status from the task detail sidebarAnnotator, Auditor
Shows “No permission”The task is created in a public project, but the account is not a project memberHave a project member create it, or ask an administrator to join the account to the projectProject Manager, Administrator
Shows “Only admins can change the project of public tasks.”A project manager changes the project of a public-project taskAn administrator performs the actionAdministrator
Shows no permission to move the task to the projectThe target project is outside the account's manageable scopeSelect a project with permissionProject Manager
Shows “Non-members cannot modify results.”A non-member changes the data check resultA project member or an administrator performs the actionProject Manager, Administrator
The list is emptyFilters are too narrow, the project scope is wrong, or the account has no task visibilityReset the filters, switch the project scope, or confirm project membershipAnnotator, Auditor, Project Manager
PagePurpose
Create Annotation TaskHow to create tasks and assign annotators and auditors
Data ManagementFilter and select datasets to annotate
Data QCAutomatic quality check rules for ROS recordings
Dataset ExportExport annotation results for training
TrashRestore deleted tasks and data
Module PermissionsHow to configure module permissions
Annotator GuideThe annotator's execution flow
Auditor GuideReview and send-back flow