Scale AI Annotation Tasks API

The Annotation Tasks API from Scale AI — 1 operation(s) for annotation tasks.

Business capability
Model Training & Data AE-110.70

Operations 1

PATCH /v5/annotation-tasks/batch Update or assign annotation tasks in bulk #

Documentation

Specifications

SDKs

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-response-object-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-chat-completion-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-spans-export-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-response-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-spans-by-span-metrics-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-spans-metrics-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-egp-api-backend-server-api-apps-public-routers-inference-inference-model-models-chat-completion-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-create-chat-completion-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-egp-api-backend-server-utils-model-schemas-completions-chat-completion-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-completion-request-v2-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-execute-agent-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-legacy-evaluation-response-with-views-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-agent-run-schedule-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-register-agent-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-update-agent-run-schedule-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-create-agent-run-schedule-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-create-span-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-span-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-research-job-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-job-entity-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-data-source-entity-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-parse-result-entity-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-file-entity-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-sgpvector-store-create-request-base-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-chat-completion-v2-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-completion-v2-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-create-model-endpoint-v1-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-update-model-endpoint-v1-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-create-batch-completions-v2-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/scale-ai/json-schema/scale-ai-create-batch-completions-v1-request-schema.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/scale-ai:scale-ai-annotation-tasks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

scale-ai-annotation-tasks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: EGP API V5 Annotation Tasks API
  description: This is the parent API for all EGP APIs. If you are looking for the EGP API, please go to https://api.egp.scale.com/docs.
  contact:
    name: Scale Generative AI Platform
    url: https://scale.com/genai-platform
  version: 0.1.0
servers:
- url: https://api.egp.scale.com
security: []
tags:
- name: Annotation Tasks
paths:
  /v5/annotation-tasks/batch:
    patch:
      tags:
      - Annotation Tasks
      summary: Update or assign annotation tasks in bulk
      description: '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.'
      operationId: PATCH-V5-/v5/annotation-tasks/batch
      parameters:
      - name: x-selected-account-id
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Account ID Header
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AnnotationTaskBatchUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIList_AnnotationTask_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - APIKeyHeader: []
      x-source: https://docs.gp.scale.com/reference/v5/annotation-tasks/update-or-assign-annotation-tasks-in-bulk
components:
  schemas:
    AnnotationTaskBatchUpdateRequest:
      properties:
        ids:
          title: Ids
          items:
            type: string
          type: array
        audit_assignment:
          $ref: '#/components/schemas/AnnotationTaskAuditAssignmentRequest'
        assigned_to:
          title: Assigned To
          type: string
        status:
          title: Status
          type: string
          enum:
          - PENDING_REDO
          - COMPLETED
      type: object
      title: AnnotationTaskBatchUpdateRequest
    AnnotationTask:
      properties:
        id:
          type: string
          title: Id
        object:
          type: string
          const: annotation_task
          title: Object
          default: annotation_task
        queue_id:
          type: string
          title: Queue Id
        evaluation_id:
          type: string
          title: Evaluation Id
        evaluation_item_id:
          type: string
          title: Evaluation Item Id
        task_type:
          $ref: '#/components/schemas/TaskORMTaskTypeEnum'
        assigned_to:
          title: Assigned To
          type: string
        assignment_expires_at:
          title: Assignment Expires At
          type: string
          format: date-time
        status:
          $ref: '#/components/schemas/TaskORMStatusEnum'
        priority:
          type: integer
          title: Priority
        updated_at:
          type: string
          format: date-time
          title: Updated At
        duration_seconds:
          title: Duration Seconds
          type: integer
        flagged_for_review:
          title: Flagged For Review
          type: boolean
        review_comment:
          title: Review Comment
          type: string
      type: object
      required:
      - id
      - queue_id
      - evaluation_id
      - evaluation_item_id
      - task_type
      - status
      - priority
      - updated_at
    TaskORMTaskTypeEnum:
      type: string
      enum:
      - EVALUATION_ANNOTATION
      - EVALUATION_AUDIT
      - CONTRIBUTOR_ANNOTATION
      - CONTRIBUTOR_AUDIT
      title: TaskORMTaskTypeEnum
    APIList_AnnotationTask_:
      properties:
        object:
          type: string
          const: list
          title: Object
          default: list
        items:
          items:
            $ref: '#/components/schemas/AnnotationTask'
          type: array
          title: Items
      type: object
      required:
      - items
    AnnotationTaskAuditAssignmentRequest:
      properties:
        evaluation_id:
          type: string
          title: Evaluation Id
        queue_id:
          type: string
          title: Queue Id
        evaluation_item_ids:
          items:
            type: string
          type: array
          title: Evaluation Item Ids
        level_1_assigned_to:
          title: Level 1 Assigned To
          type: string
        level_2_assigned_to:
          title: Level 2 Assigned To
          type: string
      type: object
      required:
      - evaluation_id
      - queue_id
      - evaluation_item_ids
      title: AnnotationTaskAuditAssignmentRequest
    TaskORMStatusEnum:
      type: string
      enum:
      - NOT_READY
      - PENDING
      - PENDING_REDO
      - COMPLETED
      - FIXED
      title: TaskORMStatusEnum
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          title: Error Type
          type: string
        input:
          title: Input
        ctx:
          type: object
          title: Context
          additionalProperties: true
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
x-assembled-from: Per-operation OpenAPI fragments embedded verbatim in docs.gp.scale.com reference pages; source spec https://api.sgp.scale.com/openapi-versions/v5/openapi.json (404 when assembled)