CVAT annotations API

Shapes, tracks, and tags attached to tasks and jobs.

Operations 6

GET /tasks/{id}/annotations Get task annotations #
PUT /tasks/{id}/annotations Replace task annotations #
POST /tasks/{id}/annotations Import task annotations #
DELETE /tasks/{id}/annotations Delete task annotations #
GET /jobs/{id}/annotations Get job annotations #
PUT /jobs/{id}/annotations Replace job annotations #

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/cvat-annotations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

cvat-annotations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CVAT REST Annotations API
  description: REST API for CVAT (Computer Vision Annotation Tool), an open-source platform for annotating images, video, and 3D point clouds. The same API is served by self-hosted CVAT (MIT-licensed) and by the hosted CVAT Online service at app.cvat.ai. Endpoints cover projects, tasks, jobs, annotations, labels, organizations, memberships, and cloud storage. The full machine-readable schema is published by each server at /api/schema/ and the interactive docs at /api/docs/. This document captures a representative subset of the documented surface.
  termsOfService: https://www.cvat.ai/terms-of-use
  contact:
    name: CVAT Support
    url: https://www.cvat.ai
  license:
    name: MIT License
    url: https://en.wikipedia.org/wiki/MIT_License
  version: '2.0'
servers:
- url: https://app.cvat.ai/api
  description: CVAT Online (hosted)
- url: http://localhost:8080/api
  description: Self-hosted CVAT (default)
security:
- tokenAuth: []
- basicAuth: []
tags:
- name: annotations
  description: Shapes, tracks, and tags attached to tasks and jobs.
paths:
  /tasks/{id}/annotations:
    parameters:
    - $ref: '#/components/parameters/PathId'
    get:
      operationId: tasks_retrieve_annotations
      tags:
      - annotations
      summary: Get task annotations
      responses:
        '200':
          description: The task annotations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabeledData'
    put:
      operationId: tasks_update_annotations
      tags:
      - annotations
      summary: Replace task annotations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LabeledData'
      responses:
        '200':
          description: The updated annotations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabeledData'
    post:
      operationId: tasks_create_annotations
      tags:
      - annotations
      summary: Import task annotations
      description: Initiates a background process to import annotations into a task. Poll GET /requests/{rq_id} to check status; rq_id is returned in the response.
      parameters:
      - name: format
        in: query
        description: Dataset format name to import (e.g. COCO 1.0, CVAT 1.1).
        schema:
          type: string
      responses:
        '202':
          description: Import accepted and queued.
    delete:
      operationId: tasks_destroy_annotations
      tags:
      - annotations
      summary: Delete task annotations
      responses:
        '204':
          description: The annotations have been deleted.
  /jobs/{id}/annotations:
    parameters:
    - $ref: '#/components/parameters/PathId'
    get:
      operationId: jobs_retrieve_annotations
      tags:
      - annotations
      summary: Get job annotations
      responses:
        '200':
          description: The job annotations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabeledData'
    put:
      operationId: jobs_update_annotations
      tags:
      - annotations
      summary: Replace job annotations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LabeledData'
      responses:
        '200':
          description: The updated annotations.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LabeledData'
components:
  schemas:
    LabeledImage:
      type: object
      properties:
        id:
          type: integer
        frame:
          type: integer
        label_id:
          type: integer
        source:
          type: string
        attributes:
          type: array
          items:
            type: object
    LabeledData:
      type: object
      description: Container of annotations for a task or job.
      properties:
        version:
          type: integer
        tags:
          type: array
          items:
            $ref: '#/components/schemas/LabeledImage'
        shapes:
          type: array
          items:
            $ref: '#/components/schemas/LabeledShape'
        tracks:
          type: array
          items:
            type: object
    LabeledShape:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
          enum:
          - rectangle
          - polygon
          - polyline
          - points
          - ellipse
          - cuboid
          - mask
          - skeleton
        frame:
          type: integer
        label_id:
          type: integer
        occluded:
          type: boolean
        outside:
          type: boolean
        points:
          type: array
          items:
            type: number
            format: double
        rotation:
          type: number
          format: double
        z_order:
          type: integer
        source:
          type: string
  parameters:
    PathId:
      name: id
      in: path
      required: true
      schema:
        type: integer
      description: A unique integer value identifying this resource.
  securitySchemes:
    tokenAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'Token authentication. Send the header `Authorization: Token <key>` where the key is obtained from POST /auth/login.'
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication with CVAT username and password.