Tasks Object Overview

A task represents an individual unit of work to be done by a Tasker. There's a 1:1 mapping between a task and the data to be labeled. For example, there'd be 1 task for each image, video, or lidar sequence needing to be labeled.

You specify how the labeling should be done for a given task when making an API call specifying a set of task parameters to the endpoint you'd like to leverage.

Tasks have a type such as "Image Annotation", "Video Annotation", "Lidar Segmentation", or "Document Transcription".

Learn more about our key concepts and workflows in our "Scale 101" guides.

Task Properties

{
  "task_id": "576ba74eec471ff9b01557cc",
  "created_at": "2016-06-23T09:09:34.752Z",
  "updated_at": "2016-06-23T09:10:02.798Z",
  "completed_at": "2016-06-23T09:10:02.798Z",  
  "type": "categorization",
  "status": "completed",
  "instruction": "Would you say this item is big or small?",
  "params": {
    "attachment_type": "text",
    "attachment": "car",
    "categories": [
      "big",
      "small"
    ]
  },
  "callback_url": "http://www.example.com/callback",
  "callback_completed": true,
  "response": {
    "category": "big"
  },
  "metadata": {},
  "audits": [
    {
      "audited_by": "[email protected]",
      "audited_at": "2016-06-24T15:32:03.585Z",
      "audit_time_secs": 120,
      "audit_result": "accepted",
      "audit_source": "customer"
    },
    {
      "audited_by": "[email protected]",
      "audited_at": "2016-06-23T10:01:02.352Z",
      "audit_time_secs": 511,
      "audit_result": "fixed",
      "audit_source": "scale"
    }
  ],
  "tags": ["experiment_1", "owner:david"],
  "unique_id": "product_experiment_dg3d9x83"
}

Property

Type

Description

task_id

string

The task_id is the unique identifier for the task.

type

string

The type of the task, for example, imageannotation or lidarsegmentation

instruction

string

A markdown-enabled string explaining the instructions for the task.

You can use markdown to show example images, give structure to your instructions, and more. HTML tags are unsupported.

params

object

An object with the parameters of the task based on the type.

For imageannotation type tasks, for example, this will include attachment, and geometries.

response

object

An object corresponding to the response once the task is completed. Each task type has its response format documented.

callback_url

string

A string of the URL that should be POSTed once the task is completed for the response data. See the Callback section for more details.

status

string

The status of the task, one of pending, completed, canceled or error.

created_at

timestamp

A string of the UTC timestamp for when the task was created.

updated_at

timestamp

A string of the UTC timestamp for when the task was last updated.

If a task is completed, this timestamp is usually the same as the completed_at timestamp. However, sometimes a task can be redone, and updated after its completion.

completed_at

timestamp

A string of the UTC timestamp for when the task was completed. This will only be filled in after it is completed.

callback_completed

boolean

A boolean stating whether or not the callback succeeded. If the callback returns with a 2xx status code, the value will be true. If the callback fails to return a 2xx status code through all retries, then the value will be false.

customer_review_status

string

The status of the QA'd task, one of pending, accepted, fixed or rejected.

times_redone

number

A counter for the number of times the task has been redone. It will be present if the task has been redone at least once.

metadata

object, default {}

A set of key/value pairs that you can attach to a task object. It can be useful for storing additional information about the task in a structured format. See Task Metadata for more information.

project_param_version

number | null

Corresponds to the project version a task was created with, or null if no project version exists.

audits

array, default []

An array of audit records.

unique_id

string, optional

A arbitrary ID that you can assign to a task and then query for later. This ID must be unique across all projects under your account, otherwise the task submission will be rejected. See Avoiding Duplicate Tasks for more details.

tags

array, optional

Arbitrary labels that you can assign to a task. At most 5 tags are allowed per task. You can query tasks with specific tags through the task retrieval API.