Revision 26693dda9d7fc6f201d1c06c0e26fe95852dbd26 authored by Andrey Zhavoronkov on 21 September 2023, 15:40:41 UTC, committed by GitHub on 21 September 2023, 15:40:41 UTC
1 parent 657e361
schema.yml
openapi: 3.0.3
info:
title: CVAT REST API
version: 2.8.0
description: REST API for Computer Vision Annotation Tool (CVAT)
termsOfService: https://www.google.com/policies/terms/
contact:
name: CVAT.ai team
url: https://github.com/cvat-ai/cvat
email: support@cvat.ai
license:
name: MIT License
url: https://en.wikipedia.org/wiki/MIT_License
paths:
/api/analytics/reports:
get:
operationId: analytics_get_reports
description: Receive analytics report
summary: Method returns analytics report
parameters:
- in: query
name: end_date
schema:
type: string
format: date-time
description: Specify the end date for filtering report data.
- in: query
name: job_id
schema:
type: integer
description: Specify job ID
- in: query
name: project_id
schema:
type: integer
description: Specify project ID
- in: query
name: start_date
schema:
type: string
format: date-time
description: Specify a start date for filtering report data.
- in: query
name: task_id
schema:
type: integer
description: Specify task ID
tags:
- analytics
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AnalyticsReport'
description: ''
'404':
description: Not found
post:
operationId: analytics_create_report
summary: Creates a analytics report asynchronously and allows to check request
status
parameters:
- in: query
name: rq_id
schema:
type: string
description: |
The report creation request id. Can be specified to check the report
creation status.
tags:
- analytics
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsReportCreateRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
description: A analytics report request has been computed
'202':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RqId'
description: |
A analytics report request has been enqueued, the request id is returned.
The request status can be checked at this endpoint by passing the rq_id
as the query parameter. If the request id is specified, this response
means the analytics report request is queued or is being processed.
'400':
description: Invalid or failed request, check the response data for details
/api/assets:
post:
operationId: assets_create
summary: Method saves new asset on the server and attaches it to a corresponding
guide
tags:
- assets
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AssetRead'
description: ''
/api/assets/{uuid}:
get:
operationId: assets_retrieve
summary: Method returns an asset file
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
description: A UUID string identifying this asset.
required: true
tags:
- assets
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Asset file
delete:
operationId: assets_destroy
summary: Method deletes a specific asset from the server
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
description: A UUID string identifying this asset.
required: true
tags:
- assets
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The asset has been deleted
/api/assets/{uuid}/public:
get:
operationId: assets_retrieve_public
parameters:
- in: path
name: uuid
schema:
type: string
format: uuid
description: A UUID string identifying this asset.
required: true
tags:
- assets
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AssetRead'
description: ''
/api/auth/login:
post:
operationId: auth_create_login
description: |-
Check the credentials and return the REST Token
if the credentials are valid and authenticated.
If email verification is enabled and the user has the unverified email,
an email with a confirmation link will be sent.
Calls Django Auth login method to register User ID
in Django session framework.
Accept the following POST parameters: username, email, password
Return the REST Framework Token Object's key.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LoginSerializerExRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/Token'
description: ''
/api/auth/logout:
post:
operationId: auth_create_logout
description: |-
Calls Django logout method and delete the Token object
assigned to the current User object.
Accepts/Returns nothing.
tags:
- auth
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RestAuthDetail'
description: ''
/api/auth/password/change:
post:
operationId: auth_create_password_change
description: |-
Calls Django Auth SetPasswordForm save method.
Accepts the following POST parameters: new_password1, new_password2
Returns the success/fail message.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordChangeRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RestAuthDetail'
description: ''
/api/auth/password/reset:
post:
operationId: auth_create_password_reset
description: |-
Calls Django Auth PasswordResetForm save method.
Accepts the following POST parameters: email
Returns the success/fail message.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordResetSerializerExRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RestAuthDetail'
description: ''
/api/auth/password/reset/confirm:
post:
operationId: auth_create_password_reset_confirm
description: |-
Password reset e-mail link is confirmed, therefore
this resets the user's password.
Accepts the following POST parameters: token, uid,
new_password1, new_password2
Returns the success/fail message.
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PasswordResetConfirmRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RestAuthDetail'
description: ''
/api/auth/register:
post:
operationId: auth_create_register
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterSerializerExRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
- {}
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RegisterSerializerEx'
description: ''
/api/auth/rules:
get:
operationId: auth_retrieve_rules
tags:
- auth
security:
- {}
responses:
'200':
description: No response body
/api/auth/signing:
post:
operationId: auth_create_signing
description: Signed URL contains a token which authenticates a user on the server.Signed
URL is valid during 30 seconds since signing.
summary: This method signs URL for access to the server
tags:
- auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SigningRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: string
description: text URL
/api/cloudstorages:
get:
operationId: cloudstorages_list
summary: Returns a paginated list of storages
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: credentials_type
in: query
description: A simple equality filter for the credentials_type field
schema:
type: string
enum:
- KEY_SECRET_KEY_PAIR
- ACCOUNT_NAME_TOKEN_PAIR
- KEY_FILE_PATH
- ANONYMOUS_ACCESS
- CONNECTION_STRING
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['provider_type', 'name', 'resource', 'credentials_type', 'owner', 'description', 'id'].
schema:
type: string
- name: name
in: query
description: A simple equality filter for the name field
schema:
type: string
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: owner
in: query
description: A simple equality filter for the owner field
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: provider_type
in: query
description: A simple equality filter for the provider_type field
schema:
type: string
enum:
- AWS_S3_BUCKET
- AZURE_CONTAINER
- GOOGLE_DRIVE
- GOOGLE_CLOUD_STORAGE
- name: resource
in: query
description: A simple equality filter for the resource field
schema:
type: string
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''provider_type'',
''name'', ''resource'', ''credentials_type'', ''owner'', ''description'')'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''provider_type'', ''name'', ''resource'', ''credentials_type'', ''owner'',
''description'', ''id'']'
schema:
type: string
tags:
- cloudstorages
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedCloudStorageReadList'
description: ''
post:
operationId: cloudstorages_create
summary: Method creates a cloud storage with a specified characteristics
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
tags:
- cloudstorages
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CloudStorageWriteRequest'
examples:
CreateAWSS3CloudStorageWithCredentials:
value:
provider_type: AWS_S3_BUCKET
resource: somebucket
display_name: Bucket
credentials_type: KEY_SECRET_KEY_PAIR
key: XXX
secret_key: XXX
specific_attributes: region=eu-central-1
description: Some description
manifests:
- manifest.jsonl
summary: Create AWS S3 cloud storage with credentials
CreateAWSS3CloudStorageWithoutCredentials:
value:
provider_type: AWS_S3_BUCKET
resource: somebucket
display_name: Bucket
credentials_type: ANONYMOUS_ACCESS
manifests:
- manifest.jsonl
summary: Create AWS S3 cloud storage without credentials
CreateAzureCloudStorage:
value:
provider_type: AZURE_CONTAINER
resource: sonecontainer
display_name: Container
credentials_type: ACCOUNT_NAME_TOKEN_PAIR
account_name: someaccount
session_token: xxx
manifests:
- manifest.jsonl
summary: Create Azure cloud storage
CreateGCS:
value:
provider_type: GOOGLE_CLOUD_STORAGE
resource: somebucket
display_name: Bucket
credentials_type: KEY_FILE_PATH
key_file: file
manifests:
- manifest.jsonl
summary: Create GCS
multipart/form-data:
schema:
$ref: '#/components/schemas/CloudStorageWriteRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/CloudStorageRead'
description: ''
/api/cloudstorages/{id}:
get:
operationId: cloudstorages_retrieve
summary: Method returns details of a specific cloud storage
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this cloud storage.
required: true
tags:
- cloudstorages
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/CloudStorageRead'
description: ''
patch:
operationId: cloudstorages_partial_update
summary: Methods does a partial update of chosen fields in a cloud storage instance
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this cloud storage.
required: true
tags:
- cloudstorages
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedCloudStorageWriteRequest'
examples:
CreateAWSS3CloudStorageWithCredentials:
value:
provider_type: AWS_S3_BUCKET
resource: somebucket
display_name: Bucket
credentials_type: KEY_SECRET_KEY_PAIR
key: XXX
secret_key: XXX
specific_attributes: region=eu-central-1
description: Some description
manifests:
- manifest.jsonl
summary: Create AWS S3 cloud storage with credentials
CreateAWSS3CloudStorageWithoutCredentials:
value:
provider_type: AWS_S3_BUCKET
resource: somebucket
display_name: Bucket
credentials_type: ANONYMOUS_ACCESS
manifests:
- manifest.jsonl
summary: Create AWS S3 cloud storage without credentials
CreateAzureCloudStorage:
value:
provider_type: AZURE_CONTAINER
resource: sonecontainer
display_name: Container
credentials_type: ACCOUNT_NAME_TOKEN_PAIR
account_name: someaccount
session_token: xxx
manifests:
- manifest.jsonl
summary: Create Azure cloud storage
CreateGCS:
value:
provider_type: GOOGLE_CLOUD_STORAGE
resource: somebucket
display_name: Bucket
credentials_type: KEY_FILE_PATH
key_file: file
manifests:
- manifest.jsonl
summary: Create GCS
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedCloudStorageWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/CloudStorageRead'
description: ''
delete:
operationId: cloudstorages_destroy
summary: Method deletes a specific cloud storage
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this cloud storage.
required: true
tags:
- cloudstorages
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The cloud storage has been removed
/api/cloudstorages/{id}/actions:
get:
operationId: cloudstorages_retrieve_actions
description: Method return allowed actions for cloud storage. It's required
for reading/writing
summary: Method returns allowed actions for the cloud storage
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this cloud storage.
required: true
tags:
- cloudstorages
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: string
description: Cloud Storage actions (GET | PUT | DELETE)
/api/cloudstorages/{id}/content:
get:
operationId: cloudstorages_retrieve_content
description: 'This method is deprecated and will be removed in version 2.6.0.
Please use the new version of API: /cloudstorages/id/content-v2/'
summary: Method returns a manifest content
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this cloud storage.
required: true
- in: query
name: manifest_path
schema:
type: string
description: Path to the manifest file in a cloud storage
tags:
- cloudstorages
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
deprecated: true
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: array
items:
type: string
description: A manifest content
/api/cloudstorages/{id}/content-v2:
get:
operationId: cloudstorages_retrieve_content_v2
summary: Method returns the content of the cloud storage
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this cloud storage.
required: true
- in: query
name: manifest_path
schema:
type: string
description: Path to the manifest file in a cloud storage
- in: query
name: next_token
schema:
type: string
description: Used to continue listing files in the bucket
- in: query
name: page_size
schema:
type: integer
- in: query
name: prefix
schema:
type: string
description: Prefix to filter data
tags:
- cloudstorages
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/CloudStorageContent'
description: A manifest content
/api/cloudstorages/{id}/preview:
get:
operationId: cloudstorages_retrieve_preview
summary: Method returns a preview image from a cloud storage
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this cloud storage.
required: true
tags:
- cloudstorages
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Cloud Storage preview
'400':
description: Failed to get cloud storage preview
'404':
description: Cloud Storage preview not found
/api/cloudstorages/{id}/status:
get:
operationId: cloudstorages_retrieve_status
summary: Method returns a cloud storage status
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this cloud storage.
required: true
tags:
- cloudstorages
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: string
description: Cloud Storage status (AVAILABLE | NOT_FOUND | FORBIDDEN)
/api/comments:
get:
operationId: comments_list
summary: Method returns a paginated list of comments
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['owner', 'id', 'issue_id', 'frame_id', 'job_id'].
schema:
type: string
- name: frame_id
in: query
description: A simple equality filter for the frame_id field
schema:
type: integer
- name: issue_id
in: query
description: A simple equality filter for the issue_id field
schema:
type: integer
- name: job_id
in: query
description: A simple equality filter for the job_id field
schema:
type: integer
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: owner
in: query
description: A simple equality filter for the owner field
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''owner'',)'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''owner'', ''id'', ''issue_id'', ''frame_id'', ''job_id'']'
schema:
type: string
tags:
- comments
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedCommentReadList'
description: ''
post:
operationId: comments_create
summary: Method creates a comment
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
tags:
- comments
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CommentWriteRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/CommentRead'
description: ''
/api/comments/{id}:
get:
operationId: comments_retrieve
summary: Method returns details of a comment
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this comment.
required: true
tags:
- comments
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/CommentRead'
description: ''
patch:
operationId: comments_partial_update
summary: Methods does a partial update of chosen fields in a comment
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this comment.
required: true
tags:
- comments
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedCommentWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/CommentRead'
description: ''
delete:
operationId: comments_destroy
summary: Method deletes a comment
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this comment.
required: true
tags:
- comments
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The comment has been deleted
/api/events:
get:
operationId: events_list
description: Receive logs from the server
summary: 'Method returns csv log file '
parameters:
- in: query
name: action
schema:
type: string
enum:
- download
description: Used to start downloading process after annotation file had been
created
- in: query
name: filename
schema:
type: string
description: Desired output file name
- in: query
name: from
schema:
type: string
format: date-time
description: Filter events after the datetime. If no 'from' or 'to' parameters
are passed, the last 30 days will be set.
- in: query
name: job_id
schema:
type: integer
description: Filter events by job ID
- in: query
name: org_id
schema:
type: integer
description: Filter events by organization ID
- in: query
name: project_id
schema:
type: integer
description: Filter events by project ID
- in: query
name: query_id
schema:
type: string
description: ID of query request that need to check or download
- in: query
name: task_id
schema:
type: integer
description: Filter events by task ID
- in: query
name: to
schema:
type: string
format: date-time
description: Filter events before the datetime. If no 'from' or 'to' parameters
are passed, the last 30 days will be set.
- in: query
name: user_id
schema:
type: integer
description: Filter events by user ID
tags:
- events
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Download of file started
'201':
description: CSV log file is ready for downloading
'202':
description: Creating a CSV log file has been started
post:
operationId: events_create
description: Sends logs to the Clickhouse if it is connected
summary: Method saves logs from a client on the server
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
tags:
- events
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ClientEventsRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/ClientEvents'
description: ''
/api/guides:
post:
operationId: guides_create
summary: Method creates a new annotation guide binded to a project or to a task
tags:
- guides
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationGuideWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AnnotationGuideRead'
description: ''
/api/guides/{id}:
get:
operationId: guides_retrieve
summary: Method returns details of a specific annotation guide
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this annotation guide.
required: true
tags:
- guides
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AnnotationGuideRead'
description: ''
patch:
operationId: guides_partial_update
summary: Methods does a partial update of chosen fields in an annotation guide
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this annotation guide.
required: true
tags:
- guides
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAnnotationGuideWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AnnotationGuideRead'
description: ''
delete:
operationId: guides_destroy
summary: Method deletes a specific annotation guide and all attached assets
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this annotation guide.
required: true
tags:
- guides
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The annotation guide has been deleted
/api/invitations:
get:
operationId: invitations_list
summary: Method returns a paginated list of invitations
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['owner'].
schema:
type: string
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: owner
in: query
description: A simple equality filter for the owner field
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''owner'',)'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''owner'', ''created_date'']'
schema:
type: string
tags:
- invitations
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedInvitationReadList'
description: ''
post:
operationId: invitations_create
summary: Method creates an invitation
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
tags:
- invitations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InvitationWriteRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/InvitationRead'
description: ''
/api/invitations/{key}:
get:
operationId: invitations_retrieve
summary: Method returns details of an invitation
parameters:
- in: path
name: key
schema:
type: string
description: A unique value identifying this invitation.
required: true
tags:
- invitations
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/InvitationRead'
description: ''
patch:
operationId: invitations_partial_update
summary: Methods does a partial update of chosen fields in an invitation
parameters:
- in: path
name: key
schema:
type: string
description: A unique value identifying this invitation.
required: true
tags:
- invitations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedInvitationWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/InvitationRead'
description: ''
delete:
operationId: invitations_destroy
summary: Method deletes an invitation
parameters:
- in: path
name: key
schema:
type: string
description: A unique value identifying this invitation.
required: true
tags:
- invitations
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The invitation has been deleted
/api/issues:
get:
operationId: issues_list
summary: Method returns a paginated list of issues
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: assignee
in: query
description: A simple equality filter for the assignee field
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['owner', 'assignee', 'id', 'job_id', 'task_id', 'resolved', 'frame_id'].
schema:
type: string
- name: frame_id
in: query
description: A simple equality filter for the frame_id field
schema:
type: integer
- name: job_id
in: query
description: A simple equality filter for the job_id field
schema:
type: integer
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: owner
in: query
description: A simple equality filter for the owner field
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: resolved
in: query
description: A simple equality filter for the resolved field
schema:
type: boolean
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''owner'', ''assignee'')'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''owner'', ''assignee'', ''id'', ''job_id'', ''task_id'', ''resolved'',
''frame_id'']'
schema:
type: string
- name: task_id
in: query
description: A simple equality filter for the task_id field
schema:
type: integer
tags:
- issues
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedIssueReadList'
description: ''
post:
operationId: issues_create
summary: Method creates an issue
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
tags:
- issues
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/IssueWriteRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/IssueRead'
description: ''
/api/issues/{id}:
get:
operationId: issues_retrieve
summary: Method returns details of an issue
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this issue.
required: true
tags:
- issues
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/IssueRead'
description: ''
patch:
operationId: issues_partial_update
summary: Methods does a partial update of chosen fields in an issue
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this issue.
required: true
tags:
- issues
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedIssueWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/IssueRead'
description: ''
delete:
operationId: issues_destroy
summary: Method deletes an issue
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this issue.
required: true
tags:
- issues
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The issue has been deleted
/api/jobs:
get:
operationId: jobs_list
summary: Method returns a paginated list of jobs
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: assignee
in: query
description: A simple equality filter for the assignee field
schema:
type: string
- name: dimension
in: query
description: A simple equality filter for the dimension field
schema:
type: string
enum:
- 3d
- 2d
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['task_name', 'project_name', 'assignee', 'state', 'stage', 'id', 'task_id', 'project_id', 'updated_date', 'dimension', 'type'].
schema:
type: string
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: project_id
in: query
description: A simple equality filter for the project_id field
schema:
type: integer
- name: project_name
in: query
description: A simple equality filter for the project_name field
schema:
type: string
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''task_name'', ''project_name'',
''assignee'', ''state'', ''stage'')'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''task_name'', ''project_name'', ''assignee'', ''state'', ''stage'', ''id'',
''task_id'', ''project_id'', ''updated_date'', ''dimension'', ''type'']'
schema:
type: string
- name: stage
in: query
description: A simple equality filter for the stage field
schema:
type: string
enum:
- annotation
- validation
- acceptance
- name: state
in: query
description: A simple equality filter for the state field
schema:
type: string
enum:
- new
- in progress
- completed
- rejected
- name: task_id
in: query
description: A simple equality filter for the task_id field
schema:
type: integer
- name: task_name
in: query
description: A simple equality filter for the task_name field
schema:
type: string
- name: type
in: query
description: A simple equality filter for the type field
schema:
type: string
enum:
- annotation
- ground_truth
tags:
- jobs
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedJobReadList'
description: ''
post:
operationId: jobs_create
summary: Method creates a new job in the task
tags:
- jobs
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JobWriteRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/JobRead'
description: ''
/api/jobs/{id}:
get:
operationId: jobs_retrieve
summary: Method returns details of a job
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
tags:
- jobs
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/JobRead'
description: ''
patch:
operationId: jobs_partial_update
summary: Methods does a partial update of chosen fields in a job
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
tags:
- jobs
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedJobWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/JobRead'
description: ''
delete:
operationId: jobs_destroy
description: |
Please note, that not every job can be removed. Currently,
it is only available for Ground Truth jobs.
summary: Method deletes a job and its related annotations
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
tags:
- jobs
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The job has been deleted
/api/jobs/{id}/annotations/:
get:
operationId: jobs_retrieve_annotations
summary: Method returns annotations for a specific job as a JSON document. If
format is specified, a zip archive is returned.
parameters:
- in: query
name: action
schema:
type: string
enum:
- download
description: Used to start downloading process after annotation file had been
created
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Desired output file name
- in: query
name: format
schema:
type: string
description: |-
Desired output format name
You can get the list of supported formats at:
/server/annotation/formats
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: Where need to save downloaded annotation
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in the task to export annotation
tags:
- jobs
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AnnotationsRead'
description: Download of file started
'201':
description: Output file is ready for downloading
'202':
description: Exporting has been started
'405':
description: Format is not available
post:
operationId: jobs_create_annotations
description: |2
The request POST /api/jobs/id/annotations will initiate file upload and will create
the rq job on the server in which the process of annotations uploading from file
will be carried out. Please, use the PUT /api/jobs/id/annotations endpoint for checking status of the process.
summary: Method allows to initialize the process of the job annotation upload
from a local file or a cloud storage
parameters:
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Annotation file name
- in: query
name: format
schema:
type: string
description: |-
Input format name
You can get the list of supported formats at:
/server/annotation/formats
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: where to import the annotation from
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in the task to import annotation
tags:
- jobs
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationFileRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AnnotationFileRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
description: Uploading has finished
'202':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RqId'
description: Uploading has been started
'405':
description: Format is not available
put:
operationId: jobs_update_annotations
description: |2
To check the status of the process of uploading a job annotations from a file:
After initiating the annotations upload, you will receive an rq_id parameter.
Make sure to include this parameter as a query parameter in your subsequent
PUT /api/jobs/id/annotations requests to track the status of the annotations upload.
summary: Method performs an update of all annotations in a specific job or used
for uploading annotations from a file
parameters:
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Annotation file name
- in: query
name: format
schema:
type: string
description: |-
Input format name
You can get the list of supported formats at:
/server/annotation/formats
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: where to import the annotation from
- in: query
name: rq_id
schema:
type: string
description: rq id
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in the task to import annotation
tags:
- jobs
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/JobAnnotationsUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/JobAnnotationsUpdateRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
description: Uploading has finished
'202':
description: Uploading has been started
'405':
description: Format is not available
patch:
operationId: jobs_partial_update_annotations
summary: Method performs a partial update of annotations in a specific job
parameters:
- in: query
name: action
schema:
type: string
enum:
- create
- delete
- update
required: true
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
tags:
- jobs
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLabeledDataRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLabeledDataRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Annotations successfully uploaded
delete:
operationId: jobs_destroy_annotations
summary: Method deletes all annotations for a specific job
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
tags:
- jobs
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The annotation has been deleted
/api/jobs/{id}/data:
get:
operationId: jobs_retrieve_data
summary: Method returns data for a specific job
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
- in: query
name: number
schema:
type: integer
description: A unique number value identifying chunk or frame
- in: query
name: quality
schema:
type: string
enum:
- compressed
- original
description: Specifies the quality level of the requested data
- in: query
name: type
schema:
type: string
enum:
- chunk
- context_image
- frame
description: Specifies the type of the requested data
tags:
- jobs
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: string
format: binary
description: Data of a specific type
/api/jobs/{id}/data/meta:
get:
operationId: jobs_retrieve_data_meta
summary: Method provides a meta information about media files which are related
with the job
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
tags:
- jobs
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/DataMetaRead'
description: ''
patch:
operationId: jobs_partial_update_data_meta
summary: Method provides a meta information about media files which are related
with the job
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
tags:
- tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDataMetaWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/DataMetaRead'
description: ''
/api/jobs/{id}/dataset:
get:
operationId: jobs_retrieve_dataset
summary: Export job as a dataset in a specific format
parameters:
- in: query
name: action
schema:
type: string
enum:
- download
description: Used to start downloading process after annotation file had been
created
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Desired output file name
- in: query
name: format
schema:
type: string
description: |-
Desired output format name
You can get the list of supported formats at:
/server/annotation/formats
required: true
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: Where need to save downloaded dataset
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in the task to export dataset
tags:
- jobs
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: string
format: binary
description: Download of file started
'201':
description: Output file is ready for downloading
'202':
description: Exporting has been started
'405':
description: Format is not available
/api/jobs/{id}/preview:
get:
operationId: jobs_retrieve_preview
summary: Method returns a preview image for the job
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this job.
required: true
tags:
- jobs
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Job image preview
/api/labels:
get:
operationId: labels_list
summary: Method returns a paginated list of labels
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- name: color
in: query
description: A simple equality filter for the color field
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['name', 'parent', 'id', 'type', 'color', 'parent_id'].
schema:
type: string
- in: query
name: job_id
schema:
type: integer
description: A simple equality filter for job id
- name: name
in: query
description: A simple equality filter for the name field
schema:
type: string
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: parent
in: query
description: A simple equality filter for the parent field
schema:
type: string
- name: parent_id
in: query
description: A simple equality filter for the parent_id field
schema:
type: integer
- in: query
name: project_id
schema:
type: integer
description: A simple equality filter for project id
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''name'', ''parent'')'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''name'', ''parent'', ''id'', ''type'', ''color'', ''parent_id'']'
schema:
type: string
- in: query
name: task_id
schema:
type: integer
description: A simple equality filter for task id
- name: type
in: query
description: A simple equality filter for the type field
schema:
type: string
enum:
- bbox
- ellipse
- polygon
- polyline
- points
- cuboid
- cuboid_3d
- skeleton
- tag
- any
tags:
- labels
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedLabelList'
description: ''
/api/labels/{id}:
get:
operationId: labels_retrieve
summary: Method returns details of a label
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this label.
required: true
tags:
- labels
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/Label'
description: ''
patch:
operationId: labels_partial_update
summary: Methods does a partial update of chosen fields in a labelTo modify
a sublabel, please use the PATCH method of the parent label
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this label.
required: true
tags:
- labels
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLabelRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/Label'
description: ''
delete:
operationId: labels_destroy
summary: Method deletes a label. To delete a sublabel, please use the PATCH
method of the parent label
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this label.
required: true
tags:
- labels
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The label has been deleted
/api/lambda/functions:
get:
operationId: lambda_list_functions
summary: Method returns a list of functions
tags:
- lambda
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: No response body
/api/lambda/functions/{func_id}:
get:
operationId: lambda_retrieve_functions
summary: Method returns the information about the function
parameters:
- in: path
name: func_id
schema:
type: string
pattern: ^[a-zA-Z0-9_.-]+$
required: true
tags:
- lambda
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: object
description: Information about the function
post:
operationId: lambda_create_functions
description: |
Allows to execute a function for immediate computation.
Intended for short-lived executions, useful for interactive calls.
When executed for interactive annotation, the job id must be specified
in the 'job' input field. The task id is not required in this case,
but if it is specified, it must match the job task id.
parameters:
- in: path
name: func_id
schema:
type: string
pattern: ^[a-zA-Z0-9_.-]+$
required: true
tags:
- lambda
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OnlineFunctionCallRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Returns function invocation results
/api/lambda/requests:
get:
operationId: lambda_list_requests
summary: Method returns a list of requests
tags:
- lambda
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: array
items:
$ref: '#/components/schemas/FunctionCall'
description: ''
post:
operationId: lambda_create_requests
summary: Method calls the function
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
tags:
- lambda
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FunctionCallRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/FunctionCall'
description: ''
/api/lambda/requests/{id}:
get:
operationId: lambda_retrieve_requests
summary: Method returns the status of the request
parameters:
- in: path
name: id
schema:
type: string
description: Request id
required: true
tags:
- lambda
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/FunctionCall'
description: ''
delete:
operationId: lambda_delete_requests
summary: Method cancels the request
parameters:
- in: path
name: id
schema:
type: string
description: Request id
required: true
tags:
- lambda
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: No response body
/api/memberships:
get:
operationId: memberships_list
summary: Method returns a paginated list of memberships
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['user', 'role', 'id'].
schema:
type: string
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: role
in: query
description: A simple equality filter for the role field
schema:
type: string
enum:
- worker
- supervisor
- maintainer
- owner
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''user'', ''role'')'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''user'', ''role'', ''id'']'
schema:
type: string
- name: user
in: query
description: A simple equality filter for the user field
schema:
type: string
tags:
- memberships
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedMembershipReadList'
description: ''
/api/memberships/{id}:
get:
operationId: memberships_retrieve
summary: Method returns details of a membership
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this membership.
required: true
tags:
- memberships
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/MembershipRead'
description: ''
patch:
operationId: memberships_partial_update
summary: Methods does a partial update of chosen fields in a membership
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this membership.
required: true
tags:
- memberships
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedMembershipWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/MembershipRead'
description: ''
delete:
operationId: memberships_destroy
summary: Method deletes a membership
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this membership.
required: true
tags:
- memberships
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The membership has been deleted
/api/organizations:
get:
operationId: organizations_list
summary: Method returns a paginated list of organizations
parameters:
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['name', 'owner', 'id', 'slug'].
schema:
type: string
- name: name
in: query
description: A simple equality filter for the name field
schema:
type: string
- name: owner
in: query
description: A simple equality filter for the owner field
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''name'', ''owner'')'
schema:
type: string
- name: slug
in: query
description: A simple equality filter for the slug field
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''name'', ''owner'', ''id'', ''slug'']'
schema:
type: string
tags:
- organizations
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedOrganizationReadList'
description: ''
post:
operationId: organizations_create
summary: Method creates an organization
tags:
- organizations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationWriteRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/OrganizationRead'
description: ''
/api/organizations/{id}:
get:
operationId: organizations_retrieve
summary: Method returns details of an organization
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this organization.
required: true
tags:
- organizations
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/OrganizationRead'
description: ''
patch:
operationId: organizations_partial_update
summary: Methods does a partial update of chosen fields in an organization
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this organization.
required: true
tags:
- organizations
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedOrganizationWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/OrganizationRead'
description: ''
delete:
operationId: organizations_destroy
summary: Method deletes an organization
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this organization.
required: true
tags:
- organizations
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The organization has been deleted
/api/projects:
get:
operationId: projects_list
summary: Returns a paginated list of projects
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: assignee
in: query
description: A simple equality filter for the assignee field
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['name', 'owner', 'assignee', 'status', 'id', 'updated_date'].
schema:
type: string
- name: name
in: query
description: A simple equality filter for the name field
schema:
type: string
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: owner
in: query
description: A simple equality filter for the owner field
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''name'', ''owner'',
''assignee'', ''status'')'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''name'', ''owner'', ''assignee'', ''status'', ''id'', ''updated_date'']'
schema:
type: string
- name: status
in: query
description: A simple equality filter for the status field
schema:
type: string
enum:
- annotation
- validation
- completed
tags:
- projects
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedProjectReadList'
description: ''
post:
operationId: projects_create
summary: Method creates a new project
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
tags:
- projects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectWriteRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/ProjectRead'
description: ''
/api/projects/{id}:
get:
operationId: projects_retrieve
summary: Method returns details of a specific project
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this project.
required: true
tags:
- projects
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/ProjectRead'
description: ''
patch:
operationId: projects_partial_update
summary: Methods does a partial update of chosen fields in a project
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this project.
required: true
tags:
- projects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedProjectWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/ProjectRead'
description: ''
delete:
operationId: projects_destroy
summary: Method deletes a specific project
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this project.
required: true
tags:
- projects
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The project has been deleted
/api/projects/{id}/annotations:
get:
operationId: projects_retrieve_annotations
summary: Method allows to download project annotations
parameters:
- in: query
name: action
schema:
type: string
enum:
- download
description: Used to start downloading process after annotation file had been
created
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Desired output file name
- in: query
name: format
schema:
type: string
description: |-
Desired output format name
You can get the list of supported formats at:
/server/annotation/formats
required: true
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this project.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: Where need to save downloaded dataset
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in project to export annotation
tags:
- projects
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AnnotationsRead'
description: Download of file started
'201':
description: Annotations file is ready to download
'202':
description: Dump of annotations has been started
'401':
description: Format is not specified
'405':
description: Format is not available
/api/projects/{id}/backup:
get:
operationId: projects_retrieve_backup
summary: Methods creates a backup copy of a project
parameters:
- in: query
name: action
schema:
type: string
enum:
- download
description: Used to start downloading process after backup file had been
created
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Backup file name
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this project.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: Where need to save downloaded backup
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in project to export backup
tags:
- projects
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Download of file started
'201':
description: Output backup file is ready for downloading
'202':
description: Creating a backup file has been started
/api/projects/{id}/dataset/:
get:
operationId: projects_retrieve_dataset
description: |2
To check the status of the process of importing a project dataset from a file:
After initiating the dataset upload, you will receive an rq_id parameter.
Make sure to include this parameter as a query parameter in your subsequent
GET /api/projects/id/dataset requests to track the status of the dataset import.
Also you should specify action parameter: action=import_status.
summary: Export project as a dataset in a specific format
parameters:
- in: query
name: action
schema:
type: string
enum:
- download
- import_status
description: Used to start downloading process after annotation file had been
created
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Desired output file name
- in: query
name: format
schema:
type: string
description: |-
Desired output format name
You can get the list of supported formats at:
/server/annotation/formats
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this project.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: Where need to save downloaded dataset
- in: query
name: rq_id
schema:
type: string
description: rq id
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in project to import dataset
tags:
- projects
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: string
format: binary
description: Download of file started
'201':
description: Output file is ready for downloading
'202':
description: Exporting has been started
'405':
description: Format is not available
post:
operationId: projects_create_dataset
description: |2
The request POST /api/projects/id/dataset will initiate file upload and will create
the rq job on the server in which the process of dataset import from a file
will be carried out. Please, use the GET /api/projects/id/dataset endpoint for checking status of the process.
summary: Import dataset in specific format as a project or check status of dataset
import process
parameters:
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Dataset file name
- in: query
name: format
schema:
type: string
description: |-
Desired dataset format name
You can get the list of supported formats at:
/server/annotation/formats
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this project.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: Where to import the dataset from
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in the project to import
annotations
tags:
- projects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DatasetWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'202':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RqId'
description: Importing has been started
'400':
description: Failed to import dataset
'405':
description: Format is not available
/api/projects/{id}/preview:
get:
operationId: projects_retrieve_preview
summary: Method returns a preview image for the project
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this project.
required: true
tags:
- projects
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Project image preview
'404':
description: Project image preview not found
/api/projects/backup/:
post:
operationId: projects_create_backup
description: |2
The backup import process is as follows:
The first request POST /api/projects/backup will initiate file upload and will create
the rq job on the server in which the process of a project creating from an uploaded backup
will be carried out.
After initiating the backup upload, you will receive an rq_id parameter.
Make sure to include this parameter as a query parameter in your subsequent requests
to track the status of the project creation.
Once the project has been successfully created, the server will return the id of the newly created project.
summary: Methods create a project from a backup
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Backup file name
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
default: local
description: Where to import the backup file from
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
- in: query
name: rq_id
schema:
type: string
description: rq id
tags:
- projects
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BackupWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/BackupWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
description: The project has been imported
'202':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RqId'
description: Importing a backup file has been started
/api/quality/conflicts:
get:
operationId: quality_list_conflicts
summary: Method returns a paginated list of annotation conflicts
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['id', 'frame', 'type', 'job_id', 'task_id', 'severity'].
schema:
type: string
- name: frame
in: query
description: A simple equality filter for the frame field
schema:
type: integer
- name: job_id
in: query
description: A simple equality filter for the job_id field
schema:
type: integer
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: query
name: report_id
schema:
type: integer
description: A simple equality filter for report id
- name: severity
in: query
description: A simple equality filter for the severity field
schema:
type: string
enum:
- warning
- error
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''id'', ''frame'', ''type'', ''job_id'', ''task_id'', ''severity'']'
schema:
type: string
- name: task_id
in: query
description: A simple equality filter for the task_id field
schema:
type: integer
- name: type
in: query
description: A simple equality filter for the type field
schema:
type: string
enum:
- missing_annotation
- extra_annotation
- mismatching_label
- low_overlap
- mismatching_direction
- mismatching_attributes
- mismatching_groups
- covered_annotation
tags:
- quality
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedAnnotationConflictList'
description: ''
/api/quality/reports:
get:
operationId: quality_list_reports
summary: Method returns a paginated list of quality reports
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['id', 'job_id', 'created_date', 'gt_last_updated', 'target_last_updated', 'parent_id'].
schema:
type: string
- name: job_id
in: query
description: A simple equality filter for the job_id field
schema:
type: integer
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: parent_id
in: query
description: A simple equality filter for the parent_id field
schema:
type: integer
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''id'', ''job_id'', ''created_date'', ''gt_last_updated'', ''target_last_updated'',
''parent_id'']'
schema:
type: string
- in: query
name: target
schema:
type: string
description: A simple equality filter for target
- in: query
name: task_id
schema:
type: integer
description: A simple equality filter for task id
tags:
- quality
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedQualityReportList'
description: ''
post:
operationId: quality_create_report
summary: Creates a quality report asynchronously and allows to check request
status
parameters:
- in: query
name: rq_id
schema:
type: string
description: |
The report creation request id. Can be specified to check the report
creation status.
tags:
- quality
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/QualityReportCreateRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/QualityReport'
description: ''
'202':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RqId'
description: |
A quality report request has been enqueued, the request id is returned.
The request status can be checked at this endpoint by passing the rq_id
as the query parameter. If the request id is specified, this response
means the quality report request is queued or is being processed.
'400':
description: Invalid or failed request, check the response data for details
/api/quality/reports/{id}:
get:
operationId: quality_retrieve_report
summary: Method returns details of a quality report
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this quality report.
required: true
tags:
- quality
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/QualityReport'
description: ''
/api/quality/reports/{id}/data:
get:
operationId: quality_retrieve_report_data
summary: Retrieve full contents of the report in JSON format
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this quality report.
required: true
tags:
- quality
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: object
description: ''
/api/quality/settings:
get:
operationId: quality_list_settings
summary: Method returns a paginated list of quality settings instances
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['id', 'task_id'].
schema:
type: string
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''id'']'
schema:
type: string
- name: task_id
in: query
description: A simple equality filter for the task_id field
schema:
type: integer
tags:
- quality
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedQualitySettingsList'
description: ''
/api/quality/settings/{id}:
get:
operationId: quality_retrieve_settings
summary: Method returns details of the quality settings instance
parameters:
- in: path
name: id
schema:
type: integer
description: An id of a quality settings instance
required: true
tags:
- quality
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/QualitySettings'
description: ''
patch:
operationId: quality_partial_update_settings
summary: Methods does a partial update of chosen fields in the quality settings
instance
parameters:
- in: path
name: id
schema:
type: integer
description: An id of a quality settings instance
required: true
tags:
- quality
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedQualitySettingsRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/QualitySettings'
description: ''
/api/schema/:
get:
operationId: schema_retrieve
description: |-
OpenApi3 schema for this API. Format can be selected via content negotiation.
- YAML: application/vnd.oai.openapi
- JSON: application/vnd.oai.openapi+json
parameters:
- in: query
name: lang
schema:
type: string
enum:
- af
- ar
- ar-dz
- ast
- az
- be
- bg
- bn
- br
- bs
- ca
- ckb
- cs
- cy
- da
- de
- dsb
- el
- en
- en-au
- en-gb
- eo
- es
- es-ar
- es-co
- es-mx
- es-ni
- es-ve
- et
- eu
- fa
- fi
- fr
- fy
- ga
- gd
- gl
- he
- hi
- hr
- hsb
- hu
- hy
- ia
- id
- ig
- io
- is
- it
- ja
- ka
- kab
- kk
- km
- kn
- ko
- ky
- lb
- lt
- lv
- mk
- ml
- mn
- mr
- ms
- my
- nb
- ne
- nl
- nn
- os
- pa
- pl
- pt
- pt-br
- ro
- ru
- sk
- sl
- sq
- sr
- sr-latn
- sv
- sw
- ta
- te
- tg
- th
- tk
- tr
- tt
- udm
- uk
- ur
- uz
- vi
- zh-hans
- zh-hant
- in: query
name: scheme
schema:
type: string
enum:
- json
- yaml
tags:
- schema
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.oai.openapi:
schema:
type: object
application/yaml:
schema:
type: object
application/vnd.oai.openapi+json:
schema:
type: object
application/json:
schema:
type: object
description: ''
/api/server/about:
get:
operationId: server_retrieve_about
summary: Method provides basic CVAT information
tags:
- server
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/About'
description: ''
/api/server/annotation/formats:
get:
operationId: server_retrieve_annotation_formats
summary: Method provides the list of supported annotations formats
tags:
- server
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/DatasetFormats'
description: ''
/api/server/plugins:
get:
operationId: server_retrieve_plugins
summary: Method provides allowed plugins
tags:
- server
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/Plugins'
description: ''
/api/server/share:
get:
operationId: server_list_share
summary: Returns all files and folders that are on the server along specified
path
parameters:
- in: query
name: directory
schema:
type: string
description: Directory to browse
tags:
- server
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: array
items:
$ref: '#/components/schemas/FileInfo'
description: ''
/api/tasks:
get:
operationId: tasks_list
summary: Returns a paginated list of tasks
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: assignee
in: query
description: A simple equality filter for the assignee field
schema:
type: string
- name: dimension
in: query
description: A simple equality filter for the dimension field
schema:
type: string
enum:
- 3d
- 2d
- name: filter
required: false
in: query
description: |2+
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['project_name', 'name', 'owner', 'status', 'assignee', 'subset', 'mode', 'dimension', 'tracker_link', 'id', 'project_id', 'updated_date'].
There are few examples for complex filtering tasks:
- Get all tasks from 1,2,3 projects - { "and" : [{ "in" : [{ "var" : "project_id" }, [1, 2, 3]]}]}
- Get all completed tasks from 1 project - { "and": [{ "==": [{ "var" : "status" }, "completed"]}, { "==" : [{ "var" : "project_id"}, 1]}]}
schema:
type: string
- name: mode
in: query
description: A simple equality filter for the mode field
schema:
type: string
- name: name
in: query
description: A simple equality filter for the name field
schema:
type: string
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: owner
in: query
description: A simple equality filter for the owner field
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: project_id
in: query
description: A simple equality filter for the project_id field
schema:
type: integer
- name: project_name
in: query
description: A simple equality filter for the project_name field
schema:
type: string
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''project_name'', ''name'',
''owner'', ''status'', ''assignee'', ''subset'', ''mode'', ''dimension'',
''tracker_link'')'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''project_name'', ''name'', ''owner'', ''status'', ''assignee'', ''subset'',
''mode'', ''dimension'', ''tracker_link'', ''id'', ''project_id'', ''updated_date'']'
schema:
type: string
- name: status
in: query
description: A simple equality filter for the status field
schema:
type: string
enum:
- annotation
- validation
- completed
- name: subset
in: query
description: A simple equality filter for the subset field
schema:
type: string
- name: tracker_link
in: query
description: A simple equality filter for the tracker_link field
schema:
type: string
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedTaskReadList'
description: ''
post:
operationId: tasks_create
summary: Method creates a new task in a database without any attached images
and videos
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
tags:
- tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskWriteRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/TaskRead'
description: ''
/api/tasks/{id}:
get:
operationId: tasks_retrieve
summary: Method returns details of a specific task
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/TaskRead'
description: ''
patch:
operationId: tasks_partial_update
summary: Methods does a partial update of chosen fields in a task
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
tags:
- tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedTaskWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/TaskRead'
description: ''
delete:
operationId: tasks_destroy
summary: Method deletes a specific task, all attached jobs, annotations, and
data
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The task has been deleted
/api/tasks/{id}/annotations/:
get:
operationId: tasks_retrieve_annotations
summary: Method allows to download task annotations
parameters:
- in: query
name: action
schema:
type: string
enum:
- download
description: Used to start downloading process after annotation file had been
created
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Desired output file name
- in: query
name: format
schema:
type: string
description: |-
Desired output format name
You can get the list of supported formats at:
/server/annotation/formats
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: Where need to save downloaded dataset
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in the task to export annotation
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AnnotationsRead'
description: Download of file started
'201':
description: Annotations file is ready to download
'202':
description: Dump of annotations has been started
'400':
description: Exporting without data is not allowed
'405':
description: Format is not available
post:
operationId: tasks_create_annotations
description: |2
The request POST /api/tasks/id/annotations will initiate file upload and will create
the rq job on the server in which the process of annotations uploading from file
will be carried out. Please, use the PUT /api/tasks/id/annotations endpoint for checking status of the process.
summary: Method allows to initialize the process of upload task annotations
from a local or a cloud storage file
parameters:
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Annotation file name
- in: query
name: format
schema:
type: string
description: |-
Input format name
You can get the list of supported formats at:
/server/annotation/formats
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: where to import the annotation from
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in task to import annotations
tags:
- tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAnnotationsWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TaskAnnotationsWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
description: Uploading has finished
'202':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RqId'
description: Uploading has been started
'405':
description: Format is not available
put:
operationId: tasks_update_annotations
description: |2
To check the status of the process of uploading a task annotations from a file:
After initiating the annotations upload, you will receive an rq_id parameter.
Make sure to include this parameter as a query parameter in your subsequent
PUT /api/tasks/id/annotations requests to track the status of the annotations upload.
summary: Method allows to upload task annotations or edit existing annotations
parameters:
- in: query
name: format
schema:
type: string
description: |-
Input format name
You can get the list of supported formats at:
/server/annotation/formats
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
- in: query
name: rq_id
schema:
type: string
description: rq id
tags:
- tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAnnotationsUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TaskAnnotationsUpdateRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
description: Uploading has finished
'202':
description: Uploading has been started
'405':
description: Format is not available
patch:
operationId: tasks_partial_update_annotations
summary: Method performs a partial update of annotations in a specific task
parameters:
- in: query
name: action
schema:
type: string
enum:
- create
- delete
- update
required: true
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
tags:
- tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLabeledDataRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLabeledDataRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/LabeledData'
description: ''
delete:
operationId: tasks_destroy_annotations
summary: Method deletes all annotations for a specific task
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The annotation has been deleted
/api/tasks/{id}/backup:
get:
operationId: tasks_retrieve_backup
summary: Method backup a specified task
parameters:
- in: query
name: action
schema:
type: string
enum:
- download
description: Used to start downloading process after backup file had been
created
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Backup file name
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: Where need to save downloaded backup
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in the task to export backup
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Download of file started
'201':
description: Output backup file is ready for downloading
'202':
description: Creating a backup file has been started
'400':
description: Backup of a task without data is not allowed
/api/tasks/{id}/data/:
get:
operationId: tasks_retrieve_data
summary: Method returns data for a specific task
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
- in: query
name: number
schema:
type: integer
description: A unique number value identifying chunk or frame
- in: query
name: quality
schema:
type: string
enum:
- compressed
- original
description: Specifies the quality level of the requested data
- in: query
name: type
schema:
type: string
enum:
- chunk
- context_image
- frame
description: Specifies the type of the requested data
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Data of a specific type
post:
operationId: tasks_create_data
description: |
Allows to upload data to a task.
Supports the TUS open file uploading protocol (https://tus.io/).
Supports the following protocols:
1. A single Data request
and
2.1. An Upload-Start request
2.2.a. Regular TUS protocol requests (Upload-Length + Chunks)
2.2.b. Upload-Multiple requests
2.3. An Upload-Finish request
Requests:
- Data - POST, no extra headers or 'Upload-Start' + 'Upload-Finish' headers.
Contains data in the body.
- Upload-Start - POST, has an 'Upload-Start' header. No body is expected.
- Upload-Length - POST, has an 'Upload-Length' header (see the TUS specification)
- Chunk - HEAD/PATCH (see the TUS specification). Sent to /data/<file id> endpoints.
- Upload-Finish - POST, has an 'Upload-Finish' header. Can contain data in the body.
- Upload-Multiple - POST, has an 'Upload-Multiple' header. Contains data in the body.
The 'Upload-Finish' request allows to specify the uploaded files should be ordered.
This may be needed if the files can be sent unordered. To state that the input files
are sent ordered, pass an empty list of files in the 'upload_file_order' field.
If the files are sent unordered, the ordered file list is expected
in the 'upload_file_order' field. It must be a list of string file paths,
relative to the dataset root.
Example:
files = [
"cats/cat_1.jpg",
"dogs/dog2.jpg",
"image_3.png",
...
]
Independently of the file declaration field used
('client_files', 'server_files', etc.), when the 'predefined'
sorting method is selected, the uploaded files will be ordered according
to the '.jsonl' manifest file, if it is found in the list of files.
For archives (e.g. '.zip'), a manifest file ('*.jsonl') is required when using
the 'predefined' file ordering. Such file must be provided next to the archive
in the list of files. Read more about manifest files here:
https://opencv.github.io/cvat/docs/manual/advanced/dataset_manifest/
After all data is sent, the operation status can be retrieved via
the /status endpoint.
summary: Method permanently attaches data (images, video, etc.) to a task
parameters:
- in: header
name: Upload-Finish
schema:
type: boolean
description: Finishes data upload. Can be combined with Upload-Start header
to create task data with one request
- in: header
name: Upload-Multiple
schema:
type: boolean
description: Indicates that data with this request are single or multiple
files that should be attached to a task
- in: header
name: Upload-Start
schema:
type: boolean
description: Initializes data upload. Optionally, can include upload metadata
in the request body.
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
tags:
- tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DataRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DataRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'202':
description: No response body
/api/tasks/{id}/data/meta:
get:
operationId: tasks_retrieve_data_meta
summary: Method provides a meta information about media files which are related
with the task
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/DataMetaRead'
description: ''
patch:
operationId: tasks_partial_update_data_meta
summary: Method provides a meta information about media files which are related
with the task
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
tags:
- tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDataMetaWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/DataMetaRead'
description: ''
/api/tasks/{id}/dataset:
get:
operationId: tasks_retrieve_dataset
summary: Export task as a dataset in a specific format
parameters:
- in: query
name: action
schema:
type: string
enum:
- download
description: Used to start downloading process after annotation file had been
created
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Desired output file name
- in: query
name: format
schema:
type: string
description: |-
Desired output format name
You can get the list of supported formats at:
/server/annotation/formats
required: true
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
description: Where need to save downloaded dataset
- in: query
name: use_default_location
schema:
type: boolean
default: true
description: Use the location that was configured in task to export annotations
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: string
format: binary
description: Download of file started
'201':
description: Output file is ready for downloading
'202':
description: Exporting has been started
'400':
description: Exporting without data is not allowed
'405':
description: Format is not available
/api/tasks/{id}/preview:
get:
operationId: tasks_retrieve_preview
summary: Method returns a preview image for the task
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: Task image preview
'404':
description: Task image preview not found
/api/tasks/{id}/status:
get:
operationId: tasks_retrieve_status
summary: When task is being created the method returns information about a status
of the creation process
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this task.
required: true
tags:
- tasks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RqStatus'
description: ''
/api/tasks/backup/:
post:
operationId: tasks_create_backup
description: |2
The backup import process is as follows:
The first request POST /api/tasks/backup will initiate file upload and will create
the rq job on the server in which the process of a task creating from an uploaded backup
will be carried out.
After initiating the backup upload, you will receive an rq_id parameter.
Make sure to include this parameter as a query parameter in your subsequent requests
to track the status of the task creation.
Once the task has been successfully created, the server will return the id of the newly created task.
summary: Method recreates a task from an attached task backup file
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: cloud_storage_id
schema:
type: integer
description: Storage id
- in: query
name: filename
schema:
type: string
description: Backup file name
- in: query
name: location
schema:
type: string
enum:
- cloud_storage
- local
default: local
description: Where to import the backup file from
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
- in: query
name: rq_id
schema:
type: string
description: rq id
tags:
- tasks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskFileRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TaskFileRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
description: The task has been imported
'202':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RqId'
description: Importing a backup file has been started
/api/users:
get:
operationId: users_list
summary: Method returns a paginated list of users
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['username', 'first_name', 'last_name', 'id', 'is_active'].
schema:
type: string
- name: first_name
in: query
description: A simple equality filter for the first_name field
schema:
type: string
- name: is_active
in: query
description: A simple equality filter for the is_active field
schema:
type: boolean
- name: last_name
in: query
description: A simple equality filter for the last_name field
schema:
type: string
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''username'', ''first_name'',
''last_name'')'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''username'', ''first_name'', ''last_name'', ''id'', ''is_active'']'
schema:
type: string
- name: username
in: query
description: A simple equality filter for the username field
schema:
type: string
tags:
- users
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedMetaUserList'
description: ''
/api/users/{id}:
get:
operationId: users_retrieve
summary: Method provides information of a specific user
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- users
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/MetaUser'
description: ''
patch:
operationId: users_partial_update
summary: Method updates chosen fields of a user
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- users
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedUserRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/MetaUser'
description: ''
delete:
operationId: users_destroy
summary: Method deletes a specific user from the server
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this user.
required: true
tags:
- users
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The user has been deleted
/api/users/self:
get:
operationId: users_retrieve_self
description: Method returns an instance of a user who is currently authorized
summary: Method returns an instance of a user who is currently authorized
tags:
- users
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/MetaUser'
description: ''
/api/webhooks:
get:
operationId: webhooks_list
summary: Method returns a paginated list of webhook according to query parameters
parameters:
- name: X-Organization
in: header
description: Organization unique slug
schema:
type: string
- name: filter
required: false
in: query
description: |2-
JSON Logic filter. This filter can be used to perform complex filtering by grouping rules.
For example, using such a filter you can get all resources created by you:
- {"and":[{"==":[{"var":"owner"},"<user>"]}]}
Details about the syntax used can be found at the link: https://jsonlogic.com/
Available filter_fields: ['target_url', 'owner', 'type', 'description', 'id', 'project_id', 'updated_date'].
schema:
type: string
- name: org
in: query
description: Organization unique slug
schema:
type: string
- name: org_id
in: query
description: Organization identifier
schema:
type: integer
- name: owner
in: query
description: A simple equality filter for the owner field
schema:
type: string
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- name: project_id
in: query
description: A simple equality filter for the project_id field
schema:
type: integer
- name: search
required: false
in: query
description: 'A search term. Available search_fields: (''target_url'', ''owner'',
''type'', ''description'')'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields:
[''target_url'', ''owner'', ''type'', ''description'', ''id'', ''project_id'',
''updated_date'']'
schema:
type: string
- name: target_url
in: query
description: A simple equality filter for the target_url field
schema:
type: string
- name: type
in: query
description: A simple equality filter for the type field
schema:
type: string
enum:
- organization
- project
tags:
- webhooks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedWebhookReadList'
description: ''
post:
operationId: webhooks_create
summary: Method creates a webhook
parameters:
- in: header
name: X-Organization
schema:
type: string
description: Organization unique slug
- in: query
name: org
schema:
type: string
description: Organization unique slug
- in: query
name: org_id
schema:
type: integer
description: Organization identifier
tags:
- webhooks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookWriteRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/WebhookRead'
description: ''
/api/webhooks/{id}:
get:
operationId: webhooks_retrieve
summary: Method returns details of a webhook
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this webhook.
required: true
tags:
- webhooks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/WebhookRead'
description: ''
put:
operationId: webhooks_update
summary: Method updates a webhook by id
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this webhook.
required: true
tags:
- webhooks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookWriteRequest'
required: true
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/WebhookRead'
description: ''
patch:
operationId: webhooks_partial_update
summary: Methods does a partial update of chosen fields in a webhook
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this webhook.
required: true
tags:
- webhooks
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedWebhookWriteRequest'
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/WebhookRead'
description: ''
delete:
operationId: webhooks_destroy
summary: Method deletes a webhook
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this webhook.
required: true
tags:
- webhooks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'204':
description: The webhook has been deleted
/api/webhooks/{id}/deliveries:
get:
operationId: webhooks_list_deliveries
summary: Method return a list of deliveries for a specific webhook
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this webhook.
required: true
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
tags:
- webhooks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedWebhookDeliveryReadList'
description: ''
/api/webhooks/{id}/deliveries/{delivery_id}:
get:
operationId: webhooks_retrieve_deliveries
summary: Method return a specific delivery for a specific webhook
parameters:
- in: path
name: delivery_id
schema:
type: string
pattern: ^\d+$
required: true
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this webhook.
required: true
tags:
- webhooks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/WebhookDeliveryRead'
description: ''
/api/webhooks/{id}/deliveries/{delivery_id}/redelivery:
post:
operationId: webhooks_create_deliveries_redelivery
summary: Method redeliver a specific webhook delivery
parameters:
- in: path
name: delivery_id
schema:
type: string
pattern: ^\d+$
required: true
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this webhook.
required: true
tags:
- webhooks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
description: No response body
/api/webhooks/{id}/ping:
post:
operationId: webhooks_create_ping
summary: Method send ping webhook
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this webhook.
required: true
tags:
- webhooks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/WebhookDeliveryRead'
description: ''
/api/webhooks/events:
get:
operationId: webhooks_retrieve_events
summary: Method return a list of available webhook events
parameters:
- in: query
name: type
schema:
type: string
description: Type of webhook
tags:
- webhooks
security:
- sessionAuth: []
csrfAuth: []
tokenAuth: []
- signatureAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/Events'
description: ''
components:
schemas:
About:
type: object
properties:
name:
type: string
maxLength: 128
description:
type: string
maxLength: 2048
version:
type: string
maxLength: 64
required:
- description
- name
- version
AnalyticsReport:
type: object
properties:
created_date:
type: string
format: date-time
target:
$ref: '#/components/schemas/AnalyticsReportTargetEnum'
job_id:
type: integer
task_id:
type: integer
project_id:
type: integer
statistics:
type: array
items:
$ref: '#/components/schemas/Metric'
required:
- created_date
- statistics
- target
AnalyticsReportCreateRequest:
type: object
properties:
job_id:
type: integer
task_id:
type: integer
project_id:
type: integer
AnalyticsReportTargetEnum:
enum:
- job
- task
- project
type: string
description: |-
* `job` - JOB
* `task` - TASK
* `project` - PROJECT
AnnotationConflict:
type: object
properties:
id:
type: integer
readOnly: true
frame:
type: integer
readOnly: true
type:
allOf:
- $ref: '#/components/schemas/AnnotationConflictTypeEnum'
readOnly: true
annotation_ids:
type: array
items:
$ref: '#/components/schemas/AnnotationId'
report_id:
type: integer
readOnly: true
severity:
allOf:
- $ref: '#/components/schemas/SeverityEnum'
readOnly: true
required:
- annotation_ids
AnnotationConflictTypeEnum:
enum:
- missing_annotation
- extra_annotation
- mismatching_label
- low_overlap
- mismatching_direction
- mismatching_attributes
- mismatching_groups
- covered_annotation
type: string
description: |-
* `missing_annotation` - MISSING_ANNOTATION
* `extra_annotation` - EXTRA_ANNOTATION
* `mismatching_label` - MISMATCHING_LABEL
* `low_overlap` - LOW_OVERLAP
* `mismatching_direction` - MISMATCHING_DIRECTION
* `mismatching_attributes` - MISMATCHING_ATTRIBUTES
* `mismatching_groups` - MISMATCHING_GROUPS
* `covered_annotation` - COVERED_ANNOTATION
AnnotationFileRequest:
type: object
properties:
annotation_file:
type: string
format: binary
required:
- annotation_file
AnnotationGuideRead:
type: object
properties:
id:
type: integer
readOnly: true
task_id:
type: integer
nullable: true
readOnly: true
project_id:
type: integer
nullable: true
readOnly: true
created_date:
type: string
format: date-time
readOnly: true
updated_date:
type: string
format: date-time
readOnly: true
markdown:
type: string
readOnly: true
AnnotationGuideWriteRequest:
type: object
properties:
task_id:
type: integer
nullable: true
project_id:
type: integer
nullable: true
markdown:
type: string
AnnotationId:
type: object
properties:
obj_id:
type: integer
readOnly: true
job_id:
type: integer
readOnly: true
type:
allOf:
- $ref: '#/components/schemas/AnnotationIdTypeEnum'
readOnly: true
shape_type:
readOnly: true
nullable: true
oneOf:
- $ref: '#/components/schemas/ShapeType'
- $ref: '#/components/schemas/NullEnum'
AnnotationIdTypeEnum:
enum:
- tag
- shape
- track
type: string
description: |-
* `tag` - TAG
* `shape` - SHAPE
* `track` - TRACK
AnnotationsRead:
oneOf:
- $ref: '#/components/schemas/LabeledData'
- type: string
format: binary
AssetRead:
type: object
properties:
uuid:
type: string
format: uuid
readOnly: true
filename:
type: string
maxLength: 1024
created_date:
type: string
format: date-time
readOnly: true
owner:
$ref: '#/components/schemas/BasicUser'
guide_id:
type: integer
readOnly: true
required:
- filename
Attribute:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
maxLength: 64
mutable:
type: boolean
input_type:
$ref: '#/components/schemas/InputTypeEnum'
default_value:
type: string
maxLength: 128
values:
type: array
items:
type: string
maxLength: 200
required:
- input_type
- mutable
- name
- values
AttributeRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 64
mutable:
type: boolean
input_type:
$ref: '#/components/schemas/InputTypeEnum'
default_value:
type: string
maxLength: 128
values:
type: array
items:
type: string
maxLength: 200
required:
- input_type
- mutable
- name
- values
AttributeVal:
type: object
properties:
spec_id:
type: integer
value:
type: string
maxLength: 4096
required:
- spec_id
- value
AttributeValRequest:
type: object
properties:
spec_id:
type: integer
value:
type: string
maxLength: 4096
required:
- spec_id
- value
BackupWriteRequest:
oneOf:
- $ref: '#/components/schemas/ProjectFileRequest'
nullable: true
BasicUser:
type: object
properties:
url:
type: string
format: uri
readOnly: true
id:
type: integer
readOnly: true
username:
type: string
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
required:
- username
BasicUserRequest:
type: object
properties:
username:
type: string
minLength: 1
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
required:
- username
BinaryOperation:
type: object
properties:
left:
type: string
nullable: true
description: The name of the data series used as the left (first) operand
of the binary operation.
operator:
$ref: '#/components/schemas/OperatorEnum'
right:
type: string
nullable: true
description: The name of the data series used as the right (second) operand
of the binary operation.
required:
- operator
ChunkType:
enum:
- video
- imageset
- list
type: string
description: |-
* `video` - VIDEO
* `imageset` - IMAGESET
* `list` - LIST
ClientEvents:
type: object
properties:
events:
type: array
items:
$ref: '#/components/schemas/Event'
default: []
timestamp:
type: string
format: date-time
required:
- timestamp
ClientEventsRequest:
type: object
properties:
events:
type: array
items:
$ref: '#/components/schemas/EventRequest'
default: []
timestamp:
type: string
format: date-time
required:
- timestamp
CloudStorageContent:
type: object
properties:
next:
type: string
nullable: true
description: This token is used to continue listing files in the bucket.
content:
type: array
items:
$ref: '#/components/schemas/FileInfo'
required:
- content
CloudStorageRead:
type: object
properties:
id:
type: integer
readOnly: true
owner:
allOf:
- $ref: '#/components/schemas/BasicUser'
nullable: true
manifests:
type: array
items:
type: string
maxLength: 1024
default: []
provider_type:
$ref: '#/components/schemas/ProviderTypeEnum'
resource:
type: string
maxLength: 222
display_name:
type: string
maxLength: 63
created_date:
type: string
format: date-time
readOnly: true
updated_date:
type: string
format: date-time
readOnly: true
credentials_type:
$ref: '#/components/schemas/CredentialsTypeEnum'
specific_attributes:
type: string
maxLength: 1024
description:
type: string
organization:
type: integer
readOnly: true
nullable: true
required:
- credentials_type
- display_name
- provider_type
- resource
CloudStorageWriteRequest:
type: object
properties:
provider_type:
$ref: '#/components/schemas/ProviderTypeEnum'
resource:
type: string
minLength: 1
maxLength: 222
display_name:
type: string
minLength: 1
maxLength: 63
owner:
$ref: '#/components/schemas/BasicUserRequest'
credentials_type:
$ref: '#/components/schemas/CredentialsTypeEnum'
session_token:
type: string
maxLength: 440
account_name:
type: string
maxLength: 24
key:
type: string
maxLength: 40
secret_key:
type: string
maxLength: 44
connection_string:
type: string
maxLength: 440
key_file:
type: string
format: binary
specific_attributes:
type: string
maxLength: 1024
description:
type: string
manifests:
type: array
items:
type: string
minLength: 1
maxLength: 1024
default: []
required:
- credentials_type
- display_name
- provider_type
- resource
CommentRead:
type: object
properties:
id:
type: integer
readOnly: true
issue:
type: integer
readOnly: true
owner:
allOf:
- $ref: '#/components/schemas/BasicUser'
nullable: true
message:
type: string
readOnly: true
created_date:
type: string
format: date-time
readOnly: true
updated_date:
type: string
format: date-time
readOnly: true
CommentWriteRequest:
type: object
properties:
issue:
type: integer
message:
type: string
minLength: 1
required:
- issue
CommentsSummary:
type: object
properties:
count:
type: integer
default: 0
url:
type: string
format: uri
readOnly: true
CredentialsTypeEnum:
enum:
- KEY_SECRET_KEY_PAIR
- ACCOUNT_NAME_TOKEN_PAIR
- KEY_FILE_PATH
- ANONYMOUS_ACCESS
- CONNECTION_STRING
type: string
description: |-
* `KEY_SECRET_KEY_PAIR` - KEY_SECRET_KEY_PAIR
* `ACCOUNT_NAME_TOKEN_PAIR` - ACCOUNT_NAME_TOKEN_PAIR
* `KEY_FILE_PATH` - KEY_FILE_PATH
* `ANONYMOUS_ACCESS` - ANONYMOUS_ACCESS
* `CONNECTION_STRING` - CONNECTION_STRING
DataFrame:
type: object
properties:
value:
type: number
format: double
date:
type: string
format: date
required:
- date
- value
DataMetaRead:
type: object
properties:
chunk_size:
type: integer
readOnly: true
nullable: true
size:
type: integer
readOnly: true
description: |
The number of frames included. Deleted frames do not affect this value.
image_quality:
type: integer
maximum: 100
minimum: 0
start_frame:
type: integer
readOnly: true
stop_frame:
type: integer
readOnly: true
frame_filter:
type: string
readOnly: true
frames:
type: array
items:
$ref: '#/components/schemas/FrameMeta'
nullable: true
deleted_frames:
type: array
items:
type: integer
minimum: 0
included_frames:
type: array
items:
type: integer
minimum: 0
nullable: true
description: |
A list of valid frame ids. The None value means all frames are included.
required:
- deleted_frames
- frames
- image_quality
DataRequest:
type: object
description: |-
Read more about parameters here:
https://opencv.github.io/cvat/docs/manual/basics/create_an_annotation_task/#advanced-configuration
properties:
chunk_size:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
description: Maximum number of frames per chunk
size:
type: integer
maximum: 2147483647
minimum: 0
description: The number of frames
image_quality:
type: integer
maximum: 100
minimum: 0
description: Image quality to use during annotation
start_frame:
type: integer
maximum: 2147483647
minimum: 0
description: First frame index
stop_frame:
type: integer
maximum: 2147483647
minimum: 0
description: Last frame index
frame_filter:
type: string
description: 'Frame filter. The only supported syntax is: ''step=N'''
maxLength: 256
compressed_chunk_type:
$ref: '#/components/schemas/ChunkType'
original_chunk_type:
$ref: '#/components/schemas/ChunkType'
client_files:
type: array
items:
type: string
format: binary
default: []
description: |2
Uploaded files.
Must contain all files from job_file_mapping if job_file_mapping is not empty.
server_files:
type: array
items:
type: string
minLength: 1
maxLength: 1024
default: []
description: |2
Paths to files from a file share mounted on the server, or from a cloud storage.
Must contain all files from job_file_mapping if job_file_mapping is not empty.
remote_files:
type: array
items:
type: string
minLength: 1
maxLength: 1024
default: []
description: |2
Direct download URLs for files.
Must contain all files from job_file_mapping if job_file_mapping is not empty.
use_zip_chunks:
type: boolean
default: false
description: |
When true, video chunks will be represented as zip archives with decoded video frames.
When false, video chunks are represented as video segments
server_files_exclude:
type: array
items:
type: string
minLength: 1
maxLength: 1024
default: []
description: |
Paths to files and directories from a file share mounted on the server, or from a cloud storage
that should be excluded from the directories specified in server_files.
This option cannot be used together with filename_pattern.
The server_files_exclude parameter cannot be used to exclude a part of dataset from an archive.
Examples:
Exclude all files from subfolder 'sub/sub_1/sub_2'and single file 'sub/image.jpg' from specified folder:
server_files = ['sub/'], server_files_exclude = ['sub/sub_1/sub_2/', 'sub/image.jpg']
Exclude all cloud storage files with prefix 'sub' from the content of manifest file:
server_files = ['manifest.jsonl'], server_files_exclude = ['sub/']
cloud_storage_id:
type: integer
writeOnly: true
nullable: true
description: |
If not null, the files referenced by server_files will be retrieved
from the cloud storage with the specified ID.
The cloud storages applicable depend on the context.
In the user sandbox, only the user sandbox cloud storages can be used.
In an organization, only the organization cloud storages can be used.
use_cache:
type: boolean
default: false
description: |
Enable or disable task data chunk caching for the task.
Read more: https://opencv.github.io/cvat/docs/manual/advanced/data_on_fly/
copy_data:
type: boolean
default: false
description: |
Copy data from the server file share to CVAT during the task creation.
This will create a copy of the data, making the server independent from
the file share availability
storage_method:
$ref: '#/components/schemas/StorageMethod'
storage:
$ref: '#/components/schemas/StorageType'
sorting_method:
$ref: '#/components/schemas/SortingMethod'
filename_pattern:
type: string
nullable: true
minLength: 1
description: |
A filename filter for cloud storage files
listed in the manifest. Supports fnmatch wildcards.
Read more: https://docs.python.org/3/library/fnmatch.html
job_file_mapping:
type: array
items:
type: array
items:
type: string
minLength: 1
maxLength: 1024
writeOnly: true
description: |2
Represents a file-to-job mapping.
Useful to specify a custom job configuration during task creation.
This option is not compatible with most other job split-related options.
Files in the jobs must not overlap or repeat.
Job file mapping files must be a subset of the input files.
If directories are specified in server_files, all files obtained by recursive search
in the specified directories will be used as input files.
In case of missing items in the input files, an error will be raised.
Example:
[
["file1.jpg", "file2.jpg"], # job #1 files
["file3.png"], # job #2 files
["file4.jpg", "file5.png", "file6.bmp"], # job #3 files
]
upload_file_order:
type: array
items:
type: string
minLength: 1
maxLength: 1024
writeOnly: true
description: |
Allows to specify file order for client_file uploads.
Only valid with the "predefined" sorting method selected.
To state that the input files are sent in the correct order,
pass an empty list.
If you want to send files in an arbitrary order
and reorder them afterwards on the server,
pass the list of file names in the required order.
required:
- image_quality
DatasetFileRequest:
type: object
properties:
dataset_file:
type: string
format: binary
required:
- dataset_file
DatasetFormat:
type: object
properties:
name:
type: string
maxLength: 64
ext:
type: string
maxLength: 64
version:
type: string
maxLength: 64
enabled:
type: boolean
dimension:
type: string
maxLength: 2
required:
- dimension
- enabled
- ext
- name
- version
DatasetFormats:
type: object
properties:
importers:
type: array
items:
$ref: '#/components/schemas/DatasetFormat'
exporters:
type: array
items:
$ref: '#/components/schemas/DatasetFormat'
required:
- exporters
- importers
DatasetWriteRequest:
oneOf:
- $ref: '#/components/schemas/DatasetFileRequest'
nullable: true
DefaultViewEnum:
enum:
- numeric
- histogram
type: string
description: |-
* `numeric` - NUMERIC
* `histogram` - HISTOGRAM
Event:
type: object
properties:
scope:
type: string
obj_name:
type: string
nullable: true
obj_id:
type: integer
nullable: true
obj_val:
type: string
nullable: true
source:
type: string
nullable: true
timestamp:
type: string
format: date-time
count:
type: integer
nullable: true
duration:
type: integer
default: 0
project_id:
type: integer
nullable: true
task_id:
type: integer
nullable: true
job_id:
type: integer
nullable: true
user_id:
type: integer
nullable: true
user_name:
type: string
nullable: true
user_email:
type: string
nullable: true
org_id:
type: integer
nullable: true
org_slug:
type: string
nullable: true
payload:
type: string
nullable: true
required:
- scope
- timestamp
EventRequest:
type: object
properties:
scope:
type: string
minLength: 1
obj_name:
type: string
nullable: true
minLength: 1
obj_id:
type: integer
nullable: true
obj_val:
type: string
nullable: true
minLength: 1
source:
type: string
nullable: true
minLength: 1
timestamp:
type: string
format: date-time
count:
type: integer
nullable: true
duration:
type: integer
default: 0
project_id:
type: integer
nullable: true
task_id:
type: integer
nullable: true
job_id:
type: integer
nullable: true
user_id:
type: integer
nullable: true
user_name:
type: string
nullable: true
minLength: 1
user_email:
type: string
nullable: true
minLength: 1
org_id:
type: integer
nullable: true
org_slug:
type: string
nullable: true
minLength: 1
payload:
type: string
nullable: true
minLength: 1
required:
- scope
- timestamp
Events:
type: object
properties:
webhook_type:
$ref: '#/components/schemas/WebhookType'
events:
type: array
items:
$ref: '#/components/schemas/EventsEnum'
required:
- events
- webhook_type
EventsEnum:
enum:
- create:comment
- create:invitation
- create:issue
- create:job
- create:membership
- create:project
- create:task
- delete:comment
- delete:invitation
- delete:issue
- delete:job
- delete:membership
- delete:organization
- delete:project
- delete:task
- update:comment
- update:issue
- update:job
- update:membership
- update:organization
- update:project
- update:task
type: string
description: |-
* `create:comment` - CREATE:COMMENT
* `create:invitation` - CREATE:INVITATION
* `create:issue` - CREATE:ISSUE
* `create:job` - CREATE:JOB
* `create:membership` - CREATE:MEMBERSHIP
* `create:project` - CREATE:PROJECT
* `create:task` - CREATE:TASK
* `delete:comment` - DELETE:COMMENT
* `delete:invitation` - DELETE:INVITATION
* `delete:issue` - DELETE:ISSUE
* `delete:job` - DELETE:JOB
* `delete:membership` - DELETE:MEMBERSHIP
* `delete:organization` - DELETE:ORGANIZATION
* `delete:project` - DELETE:PROJECT
* `delete:task` - DELETE:TASK
* `update:comment` - UPDATE:COMMENT
* `update:issue` - UPDATE:ISSUE
* `update:job` - UPDATE:JOB
* `update:membership` - UPDATE:MEMBERSHIP
* `update:organization` - UPDATE:ORGANIZATION
* `update:project` - UPDATE:PROJECT
* `update:task` - UPDATE:TASK
FileInfo:
type: object
properties:
name:
type: string
maxLength: 1024
type:
$ref: '#/components/schemas/FileInfoTypeEnum'
mime_type:
type: string
maxLength: 255
required:
- mime_type
- name
- type
FileInfoTypeEnum:
enum:
- REG
- DIR
type: string
description: |-
* `REG` - REG
* `DIR` - DIR
FrameMeta:
type: object
properties:
width:
type: integer
height:
type: integer
name:
type: string
maxLength: 1024
related_files:
type: integer
has_related_context:
type: boolean
readOnly: true
required:
- height
- name
- related_files
- width
FrameSelectionMethodEnum:
enum:
- random_uniform
- manual
type: string
description: |-
* `random_uniform` - RANDOM_UNIFORM
* `manual` - MANUAL
FunctionCall:
type: object
properties:
id:
type: string
description: Request id
function:
$ref: '#/components/schemas/FunctionCallParams'
status:
type: string
nullable: true
progress:
type: integer
nullable: true
default: 0
enqueued:
type: string
format: date-time
nullable: true
started:
type: string
format: date-time
nullable: true
ended:
type: string
format: date-time
nullable: true
exc_info:
type: string
nullable: true
required:
- ended
- enqueued
- function
- id
- started
- status
FunctionCallParams:
type: object
properties:
id:
type: string
nullable: true
description: The name of the function
task:
type: integer
nullable: true
description: The id of the task
job:
type: integer
description: The id of the job
threshold:
type: number
format: double
nullable: true
required:
- id
- task
- threshold
FunctionCallRequest:
type: object
properties:
function:
type: string
minLength: 1
description: The name of the function to execute
task:
type: integer
description: The id of the task to annotate
job:
type: integer
description: The id of the job to annotate
quality:
allOf:
- $ref: '#/components/schemas/QualityEnum'
default: original
description: |-
The quality of the images to use in the model run
* `compressed` - compressed
* `original` - original
cleanup:
type: boolean
default: false
convMaskToPoly:
type: boolean
default: false
threshold:
type: number
format: double
mapping:
type: object
additionalProperties:
type: object
description: Label mapping from the model to the task labels
max_distance:
type: integer
required:
- function
- task
GranularityEnum:
enum:
- day
- week
- month
type: string
description: |-
* `day` - DAY
* `week` - WEEK
* `month` - MONTH
InputTypeEnum:
enum:
- checkbox
- radio
- number
- text
- select
type: string
description: |-
* `checkbox` - CHECKBOX
* `radio` - RADIO
* `number` - NUMBER
* `text` - TEXT
* `select` - SELECT
InvitationRead:
type: object
properties:
key:
type: string
readOnly: true
created_date:
type: string
format: date-time
readOnly: true
owner:
allOf:
- $ref: '#/components/schemas/BasicUser'
nullable: true
role:
$ref: '#/components/schemas/RoleEnum'
user:
$ref: '#/components/schemas/BasicUser'
organization:
type: integer
required:
- organization
- owner
- role
- user
InvitationWriteRequest:
type: object
properties:
role:
$ref: '#/components/schemas/RoleEnum'
email:
type: string
format: email
minLength: 1
required:
- email
- role
IssueRead:
type: object
properties:
id:
type: integer
readOnly: true
frame:
type: integer
readOnly: true
position:
type: array
items:
type: number
format: double
job:
type: integer
readOnly: true
owner:
allOf:
- $ref: '#/components/schemas/BasicUser'
nullable: true
assignee:
allOf:
- $ref: '#/components/schemas/BasicUser'
nullable: true
created_date:
type: string
format: date-time
readOnly: true
nullable: true
updated_date:
type: string
format: date-time
readOnly: true
nullable: true
resolved:
type: boolean
readOnly: true
comments:
$ref: '#/components/schemas/CommentsSummary'
required:
- comments
- position
IssueWriteRequest:
type: object
properties:
frame:
type: integer
maximum: 2147483647
minimum: 0
position:
type: array
items:
type: number
format: double
job:
type: integer
assignee:
type: integer
nullable: true
message:
type: string
minLength: 1
resolved:
type: boolean
required:
- frame
- job
- message
- position
IssuesSummary:
type: object
properties:
url:
type: string
format: uri
readOnly: true
count:
type: integer
readOnly: true
JobAnnotationsUpdateRequest:
oneOf:
- $ref: '#/components/schemas/LabeledDataRequest'
- $ref: '#/components/schemas/AnnotationFileRequest'
JobRead:
type: object
properties:
url:
type: string
format: uri
readOnly: true
id:
type: integer
readOnly: true
task_id:
type: integer
readOnly: true
project_id:
type: integer
readOnly: true
nullable: true
assignee:
allOf:
- $ref: '#/components/schemas/BasicUser'
readOnly: true
nullable: true
guide_id:
type: integer
readOnly: true
nullable: true
dimension:
type: string
readOnly: true
maxLength: 2
bug_tracker:
type: string
readOnly: true
nullable: true
maxLength: 2000
status:
allOf:
- $ref: '#/components/schemas/JobStatus'
readOnly: true
stage:
allOf:
- $ref: '#/components/schemas/JobStage'
readOnly: true
state:
allOf:
- $ref: '#/components/schemas/OperationStatus'
readOnly: true
mode:
type: string
readOnly: true
frame_count:
type: integer
readOnly: true
start_frame:
type: integer
maximum: 2147483647
minimum: -2147483648
readOnly: true
stop_frame:
type: integer
maximum: 2147483647
minimum: -2147483648
readOnly: true
data_chunk_size:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
readOnly: true
data_compressed_chunk_type:
allOf:
- $ref: '#/components/schemas/ChunkType'
readOnly: true
created_date:
type: string
format: date-time
readOnly: true
updated_date:
type: string
format: date-time
readOnly: true
issues:
$ref: '#/components/schemas/IssuesSummary'
labels:
$ref: '#/components/schemas/LabelsSummary'
type:
allOf:
- $ref: '#/components/schemas/JobType'
readOnly: true
organization:
type: integer
readOnly: true
nullable: true
required:
- issues
- labels
JobStage:
enum:
- annotation
- validation
- acceptance
type: string
description: |-
* `annotation` - ANNOTATION
* `validation` - VALIDATION
* `acceptance` - ACCEPTANCE
JobStatus:
enum:
- annotation
- validation
- completed
type: string
description: |-
* `annotation` - ANNOTATION
* `validation` - VALIDATION
* `completed` - COMPLETED
JobType:
enum:
- annotation
- ground_truth
type: string
description: |-
* `annotation` - ANNOTATION
* `ground_truth` - GROUND_TRUTH
JobWriteRequest:
type: object
properties:
assignee:
type: integer
nullable: true
stage:
$ref: '#/components/schemas/JobStage'
state:
$ref: '#/components/schemas/OperationStatus'
type:
$ref: '#/components/schemas/JobType'
task_id:
type: integer
frame_selection_method:
$ref: '#/components/schemas/FrameSelectionMethodEnum'
frame_count:
type: integer
minimum: 0
description: |
The number of frames included in the job.
Applicable only to the random frame selection
seed:
type: integer
minimum: 0
description: |
The seed value for the random number generator.
The same value will produce the same frame sets.
Applicable only to the random frame selection.
By default, a random value is used.
frames:
type: array
items:
type: integer
minimum: 0
description: |
The list of frame ids. Applicable only to the manual frame selection
required:
- task_id
- type
JobsSummary:
type: object
properties:
count:
type: integer
default: 0
completed:
type: integer
nullable: true
validation:
type: integer
nullable: true
url:
type: string
format: uri
readOnly: true
required:
- completed
- validation
Label:
type: object
properties:
id:
type: integer
name:
type: string
maxLength: 64
color:
type: string
description: The hex value for the RGB color. Will be generated automatically,
unless specified explicitly.
attributes:
type: array
items:
$ref: '#/components/schemas/Attribute'
default: []
description: The list of attributes. If you want to remove an attribute,
you need to recreate the label and specify the remaining attributes.
type:
type: string
description: Associated annotation type for this label
svg:
type: string
sublabels:
type: array
items:
$ref: '#/components/schemas/Sublabel'
project_id:
type: integer
nullable: true
readOnly: true
task_id:
type: integer
nullable: true
readOnly: true
parent_id:
type: integer
nullable: true
readOnly: true
has_parent:
type: boolean
readOnly: true
required:
- name
LabeledData:
type: object
properties:
version:
type: integer
default: 0
tags:
type: array
items:
$ref: '#/components/schemas/LabeledImage'
default: []
shapes:
type: array
items:
$ref: '#/components/schemas/LabeledShape'
default: []
tracks:
type: array
items:
$ref: '#/components/schemas/LabeledTrack'
default: []
LabeledDataRequest:
type: object
properties:
version:
type: integer
default: 0
tags:
type: array
items:
$ref: '#/components/schemas/LabeledImageRequest'
default: []
shapes:
type: array
items:
$ref: '#/components/schemas/LabeledShapeRequest'
default: []
tracks:
type: array
items:
$ref: '#/components/schemas/LabeledTrackRequest'
default: []
LabeledImage:
type: object
properties:
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
label_id:
type: integer
minimum: 0
group:
type: integer
minimum: 0
nullable: true
source:
type: string
default: manual
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeVal'
default: []
required:
- frame
- label_id
LabeledImageRequest:
type: object
properties:
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
label_id:
type: integer
minimum: 0
group:
type: integer
minimum: 0
nullable: true
source:
type: string
minLength: 1
default: manual
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeValRequest'
default: []
required:
- frame
- label_id
LabeledShape:
type: object
properties:
type:
$ref: '#/components/schemas/ShapeType'
occluded:
type: boolean
default: false
outside:
type: boolean
default: false
z_order:
type: integer
default: 0
rotation:
type: number
format: double
maximum: 360
minimum: 0
default: 0.0
points:
type: array
items:
type: number
format: double
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
label_id:
type: integer
minimum: 0
group:
type: integer
minimum: 0
nullable: true
source:
type: string
default: manual
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeVal'
default: []
elements:
type: array
items:
$ref: '#/components/schemas/SubLabeledShape'
required:
- frame
- label_id
- type
LabeledShapeRequest:
type: object
properties:
type:
$ref: '#/components/schemas/ShapeType'
occluded:
type: boolean
default: false
outside:
type: boolean
default: false
z_order:
type: integer
default: 0
rotation:
type: number
format: double
maximum: 360
minimum: 0
default: 0.0
points:
type: array
items:
type: number
format: double
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
label_id:
type: integer
minimum: 0
group:
type: integer
minimum: 0
nullable: true
source:
type: string
minLength: 1
default: manual
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeValRequest'
default: []
elements:
type: array
items:
$ref: '#/components/schemas/SubLabeledShapeRequest'
required:
- frame
- label_id
- type
LabeledTrack:
type: object
properties:
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
label_id:
type: integer
minimum: 0
group:
type: integer
minimum: 0
nullable: true
source:
type: string
default: manual
shapes:
type: array
items:
$ref: '#/components/schemas/TrackedShape'
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeVal'
default: []
elements:
type: array
items:
$ref: '#/components/schemas/SubLabeledTrack'
required:
- frame
- label_id
- shapes
LabeledTrackRequest:
type: object
properties:
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
label_id:
type: integer
minimum: 0
group:
type: integer
minimum: 0
nullable: true
source:
type: string
minLength: 1
default: manual
shapes:
type: array
items:
$ref: '#/components/schemas/TrackedShapeRequest'
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeValRequest'
default: []
elements:
type: array
items:
$ref: '#/components/schemas/SubLabeledTrackRequest'
required:
- frame
- label_id
- shapes
LabelsSummary:
type: object
properties:
url:
type: string
format: uri
readOnly: true
count:
type: integer
readOnly: true
LocationEnum:
enum:
- cloud_storage
- local
type: string
description: |-
* `cloud_storage` - CLOUD_STORAGE
* `local` - LOCAL
LoginSerializerExRequest:
type: object
properties:
username:
type: string
email:
type: string
format: email
password:
type: string
minLength: 1
required:
- password
MembershipRead:
type: object
properties:
id:
type: integer
readOnly: true
user:
$ref: '#/components/schemas/BasicUser'
organization:
type: integer
readOnly: true
is_active:
type: boolean
readOnly: true
joined_date:
type: string
format: date-time
readOnly: true
nullable: true
role:
allOf:
- $ref: '#/components/schemas/RoleEnum'
readOnly: true
invitation:
type: string
readOnly: true
required:
- user
MetaUser:
anyOf:
- $ref: '#/components/schemas/User'
- $ref: '#/components/schemas/BasicUser'
Metric:
type: object
properties:
name:
type: string
title:
type: string
description:
type: string
granularity:
nullable: true
oneOf:
- $ref: '#/components/schemas/GranularityEnum'
- $ref: '#/components/schemas/NullEnum'
default_view:
$ref: '#/components/schemas/DefaultViewEnum'
data_series:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/DataFrame'
transformations:
type: array
items:
$ref: '#/components/schemas/Transformation'
required:
- data_series
- default_view
- description
- name
- title
- transformations
NullEnum:
enum:
- null
OnlineFunctionCallRequest:
type: object
properties:
job:
type: integer
task:
type: integer
OperationStatus:
enum:
- new
- in progress
- completed
- rejected
type: string
description: |-
* `new` - NEW
* `in progress` - IN_PROGRESS
* `completed` - COMPLETED
* `rejected` - REJECTED
OperatorEnum:
enum:
- +
- '-'
- '*'
- /
type: string
description: |-
* `+` - ADDITION
* `-` - SUBTRACTION
* `*` - MULTIPLICATION
* `/` - DIVISION
OrganizationRead:
type: object
properties:
id:
type: integer
readOnly: true
slug:
type: string
readOnly: true
pattern: ^[-a-zA-Z0-9_]+$
name:
type: string
readOnly: true
description:
type: string
readOnly: true
created_date:
type: string
format: date-time
readOnly: true
updated_date:
type: string
format: date-time
readOnly: true
contact:
type: object
readOnly: true
owner:
allOf:
- $ref: '#/components/schemas/BasicUser'
nullable: true
required:
- owner
OrganizationWriteRequest:
type: object
properties:
slug:
type: string
minLength: 1
maxLength: 16
pattern: ^[-a-zA-Z0-9_]+$
name:
type: string
maxLength: 64
description:
type: string
contact:
type: object
required:
- slug
PaginatedAnnotationConflictList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/AnnotationConflict'
PaginatedCloudStorageReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/CloudStorageRead'
PaginatedCommentReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/CommentRead'
PaginatedInvitationReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/InvitationRead'
PaginatedIssueReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/IssueRead'
PaginatedJobReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/JobRead'
PaginatedLabelList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Label'
PaginatedMembershipReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/MembershipRead'
PaginatedMetaUserList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/MetaUser'
PaginatedOrganizationReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/OrganizationRead'
PaginatedProjectReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/ProjectRead'
PaginatedQualityReportList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/QualityReport'
PaginatedQualitySettingsList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/QualitySettings'
PaginatedTaskReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/TaskRead'
PaginatedWebhookDeliveryReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/WebhookDeliveryRead'
PaginatedWebhookReadList:
type: object
properties:
count:
type: integer
example: 123
next:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type: string
nullable: true
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/WebhookRead'
PasswordChangeRequest:
type: object
properties:
old_password:
type: string
minLength: 1
maxLength: 128
new_password1:
type: string
minLength: 1
maxLength: 128
new_password2:
type: string
minLength: 1
maxLength: 128
required:
- new_password1
- new_password2
- old_password
PasswordResetConfirmRequest:
type: object
description: Serializer for confirming a password reset attempt.
properties:
new_password1:
type: string
minLength: 1
maxLength: 128
new_password2:
type: string
minLength: 1
maxLength: 128
uid:
type: string
minLength: 1
token:
type: string
minLength: 1
required:
- new_password1
- new_password2
- token
- uid
PasswordResetSerializerExRequest:
type: object
description: Serializer for requesting a password reset e-mail.
properties:
email:
type: string
format: email
minLength: 1
required:
- email
PatchedAnnotationGuideWriteRequest:
type: object
properties:
task_id:
type: integer
nullable: true
project_id:
type: integer
nullable: true
markdown:
type: string
PatchedCloudStorageWriteRequest:
type: object
properties:
provider_type:
$ref: '#/components/schemas/ProviderTypeEnum'
resource:
type: string
minLength: 1
maxLength: 222
display_name:
type: string
minLength: 1
maxLength: 63
owner:
$ref: '#/components/schemas/BasicUserRequest'
credentials_type:
$ref: '#/components/schemas/CredentialsTypeEnum'
session_token:
type: string
maxLength: 440
account_name:
type: string
maxLength: 24
key:
type: string
maxLength: 40
secret_key:
type: string
maxLength: 44
connection_string:
type: string
maxLength: 440
key_file:
type: string
format: binary
specific_attributes:
type: string
maxLength: 1024
description:
type: string
manifests:
type: array
items:
type: string
minLength: 1
maxLength: 1024
default: []
PatchedCommentWriteRequest:
type: object
properties:
message:
type: string
minLength: 1
PatchedDataMetaWriteRequest:
type: object
properties:
deleted_frames:
type: array
items:
type: integer
minimum: 0
PatchedInvitationWriteRequest:
type: object
properties:
role:
$ref: '#/components/schemas/RoleEnum'
email:
type: string
format: email
minLength: 1
PatchedIssueWriteRequest:
type: object
properties:
position:
type: array
items:
type: number
format: double
assignee:
type: integer
nullable: true
resolved:
type: boolean
PatchedJobWriteRequest:
type: object
properties:
assignee:
type: integer
nullable: true
stage:
$ref: '#/components/schemas/JobStage'
state:
$ref: '#/components/schemas/OperationStatus'
PatchedLabelRequest:
type: object
properties:
id:
type: integer
name:
type: string
minLength: 1
maxLength: 64
color:
type: string
description: The hex value for the RGB color. Will be generated automatically,
unless specified explicitly.
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeRequest'
default: []
description: The list of attributes. If you want to remove an attribute,
you need to recreate the label and specify the remaining attributes.
deleted:
type: boolean
writeOnly: true
description: Delete the label. Only applicable in the PATCH methods of a
project or a task.
type:
type: string
description: Associated annotation type for this label
svg:
type: string
sublabels:
type: array
items:
$ref: '#/components/schemas/SublabelRequest'
PatchedLabeledDataRequest:
type: object
properties:
version:
type: integer
default: 0
tags:
type: array
items:
$ref: '#/components/schemas/LabeledImageRequest'
default: []
shapes:
type: array
items:
$ref: '#/components/schemas/LabeledShapeRequest'
default: []
tracks:
type: array
items:
$ref: '#/components/schemas/LabeledTrackRequest'
default: []
PatchedMembershipWriteRequest:
type: object
properties:
role:
$ref: '#/components/schemas/RoleEnum'
PatchedOrganizationWriteRequest:
type: object
properties:
slug:
type: string
minLength: 1
maxLength: 16
pattern: ^[-a-zA-Z0-9_]+$
name:
type: string
maxLength: 64
description:
type: string
contact:
type: object
PatchedProjectWriteRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
labels:
type: array
items:
$ref: '#/components/schemas/PatchedLabelRequest'
writeOnly: true
default: []
owner_id:
type: integer
writeOnly: true
nullable: true
assignee_id:
type: integer
writeOnly: true
nullable: true
bug_tracker:
type: string
maxLength: 2000
target_storage:
allOf:
- $ref: '#/components/schemas/StorageRequest'
writeOnly: true
source_storage:
allOf:
- $ref: '#/components/schemas/StorageRequest'
writeOnly: true
task_subsets:
type: array
items:
type: string
minLength: 1
writeOnly: true
PatchedQualitySettingsRequest:
type: object
properties:
iou_threshold:
type: number
format: double
description: Used for distinction between matched / unmatched shapes
oks_sigma:
type: number
format: double
description: |
Like IoU threshold, but for points.
The percent of the bbox area, used as the radius of the circle around the GT point,
where the checked point is expected to be.
Read more: https://cocodataset.org/#keypoints-eval
line_thickness:
type: number
format: double
description: |
Thickness of polylines, relatively to the (image area) ^ 0.5.
The distance to the boundary around the GT line,
inside of which the checked line points should be
low_overlap_threshold:
type: number
format: double
description: |
Used for distinction between strong / weak (low_overlap) matches
compare_line_orientation:
type: boolean
description: Enables or disables polyline orientation comparison
line_orientation_threshold:
type: number
format: double
description: |
The minimal gain in the GT IoU between the given and reversed line directions
to consider the line inverted.
Only used when the 'compare_line_orientation' parameter is true
compare_groups:
type: boolean
description: Enables or disables annotation group checks
group_match_threshold:
type: number
format: double
description: |
Minimal IoU for groups to be considered matching.
Only used when the 'compare_groups' parameter is true
check_covered_annotations:
type: boolean
description: |
Check for partially-covered annotations, useful in segmentation tasks
object_visibility_threshold:
type: number
format: double
description: |
Minimal visible area percent of the spatial annotations (polygons, masks)
for reporting covered annotations.
Only used when the 'object_visibility_threshold' parameter is true
panoptic_comparison:
type: boolean
description: |
Use only the visible part of the masks and polygons in comparisons
compare_attributes:
type: boolean
description: Enables or disables annotation attribute comparison
PatchedTaskWriteRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
project_id:
type: integer
nullable: true
owner_id:
type: integer
writeOnly: true
nullable: true
assignee_id:
type: integer
writeOnly: true
nullable: true
bug_tracker:
type: string
maxLength: 2000
labels:
type: array
items:
$ref: '#/components/schemas/PatchedLabelRequest'
subset:
type: string
maxLength: 64
target_storage:
allOf:
- $ref: '#/components/schemas/StorageRequest'
nullable: true
source_storage:
allOf:
- $ref: '#/components/schemas/StorageRequest'
nullable: true
PatchedUserRequest:
type: object
properties:
username:
type: string
minLength: 1
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
email:
type: string
format: email
title: Email address
maxLength: 254
groups:
type: array
items:
type: string
minLength: 1
is_staff:
type: boolean
title: Staff status
description: Designates whether the user can log into this admin site.
is_superuser:
type: boolean
title: Superuser status
description: Designates that this user has all permissions without explicitly
assigning them.
is_active:
type: boolean
title: Active
description: Designates whether this user should be treated as active. Unselect
this instead of deleting accounts.
PatchedWebhookWriteRequest:
type: object
properties:
target_url:
type: string
format: uri
minLength: 1
maxLength: 8192
description:
type: string
maxLength: 128
content_type:
$ref: '#/components/schemas/WebhookContentType'
secret:
type: string
maxLength: 64
is_active:
type: boolean
enable_ssl:
type: boolean
events:
type: array
items:
$ref: '#/components/schemas/EventsEnum'
writeOnly: true
Plugins:
type: object
properties:
GIT_INTEGRATION:
type: boolean
ANALYTICS:
type: boolean
MODELS:
type: boolean
PREDICT:
type: boolean
required:
- ANALYTICS
- GIT_INTEGRATION
- MODELS
- PREDICT
ProjectFileRequest:
type: object
properties:
project_file:
type: string
format: binary
required:
- project_file
ProjectRead:
type: object
properties:
url:
type: string
format: uri
readOnly: true
id:
type: integer
readOnly: true
name:
type: string
readOnly: true
owner:
allOf:
- $ref: '#/components/schemas/BasicUser'
readOnly: true
nullable: true
assignee:
allOf:
- $ref: '#/components/schemas/BasicUser'
readOnly: true
nullable: true
guide_id:
type: integer
nullable: true
bug_tracker:
type: string
readOnly: true
task_subsets:
type: array
items:
type: string
readOnly: true
created_date:
type: string
format: date-time
readOnly: true
updated_date:
type: string
format: date-time
readOnly: true
status:
allOf:
- $ref: '#/components/schemas/JobStatus'
readOnly: true
dimension:
type: string
readOnly: true
nullable: true
maxLength: 16
organization:
type: integer
readOnly: true
nullable: true
target_storage:
allOf:
- $ref: '#/components/schemas/Storage'
readOnly: true
nullable: true
source_storage:
allOf:
- $ref: '#/components/schemas/Storage'
readOnly: true
nullable: true
tasks:
$ref: '#/components/schemas/TasksSummary'
labels:
$ref: '#/components/schemas/LabelsSummary'
required:
- labels
- tasks
ProjectWriteRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
labels:
type: array
items:
$ref: '#/components/schemas/PatchedLabelRequest'
writeOnly: true
default: []
owner_id:
type: integer
writeOnly: true
nullable: true
assignee_id:
type: integer
writeOnly: true
nullable: true
bug_tracker:
type: string
maxLength: 2000
target_storage:
allOf:
- $ref: '#/components/schemas/StorageRequest'
writeOnly: true
source_storage:
allOf:
- $ref: '#/components/schemas/StorageRequest'
writeOnly: true
task_subsets:
type: array
items:
type: string
minLength: 1
writeOnly: true
required:
- name
ProviderTypeEnum:
enum:
- AWS_S3_BUCKET
- AZURE_CONTAINER
- GOOGLE_DRIVE
- GOOGLE_CLOUD_STORAGE
type: string
description: |-
* `AWS_S3_BUCKET` - AWS_S3
* `AZURE_CONTAINER` - AZURE_CONTAINER
* `GOOGLE_DRIVE` - GOOGLE_DRIVE
* `GOOGLE_CLOUD_STORAGE` - GOOGLE_CLOUD_STORAGE
QualityEnum:
enum:
- compressed
- original
type: string
description: |-
* `compressed` - compressed
* `original` - original
QualityReport:
type: object
properties:
id:
type: integer
readOnly: true
job_id:
type: integer
nullable: true
readOnly: true
task_id:
type: integer
nullable: true
readOnly: true
parent_id:
type: integer
nullable: true
readOnly: true
target:
$ref: '#/components/schemas/QualityReportTarget'
summary:
$ref: '#/components/schemas/QualityReportSummary'
created_date:
type: string
format: date-time
readOnly: true
target_last_updated:
type: string
format: date-time
readOnly: true
gt_last_updated:
type: string
format: date-time
readOnly: true
required:
- summary
- target
QualityReportCreateRequest:
type: object
properties:
task_id:
type: integer
writeOnly: true
required:
- task_id
QualityReportSummary:
type: object
properties:
frame_count:
type: integer
frame_share:
type: number
format: double
conflict_count:
type: integer
warning_count:
type: integer
error_count:
type: integer
conflicts_by_type:
type: object
additionalProperties:
type: integer
valid_count:
type: integer
ds_count:
type: integer
gt_count:
type: integer
required:
- conflict_count
- conflicts_by_type
- ds_count
- error_count
- frame_count
- frame_share
- gt_count
- valid_count
- warning_count
QualityReportTarget:
enum:
- job
- task
type: string
description: |-
* `job` - JOB
* `task` - TASK
QualitySettings:
type: object
properties:
id:
type: integer
readOnly: true
task_id:
type: integer
readOnly: true
iou_threshold:
type: number
format: double
description: Used for distinction between matched / unmatched shapes
oks_sigma:
type: number
format: double
description: |
Like IoU threshold, but for points.
The percent of the bbox area, used as the radius of the circle around the GT point,
where the checked point is expected to be.
Read more: https://cocodataset.org/#keypoints-eval
line_thickness:
type: number
format: double
description: |
Thickness of polylines, relatively to the (image area) ^ 0.5.
The distance to the boundary around the GT line,
inside of which the checked line points should be
low_overlap_threshold:
type: number
format: double
description: |
Used for distinction between strong / weak (low_overlap) matches
compare_line_orientation:
type: boolean
description: Enables or disables polyline orientation comparison
line_orientation_threshold:
type: number
format: double
description: |
The minimal gain in the GT IoU between the given and reversed line directions
to consider the line inverted.
Only used when the 'compare_line_orientation' parameter is true
compare_groups:
type: boolean
description: Enables or disables annotation group checks
group_match_threshold:
type: number
format: double
description: |
Minimal IoU for groups to be considered matching.
Only used when the 'compare_groups' parameter is true
check_covered_annotations:
type: boolean
description: |
Check for partially-covered annotations, useful in segmentation tasks
object_visibility_threshold:
type: number
format: double
description: |
Minimal visible area percent of the spatial annotations (polygons, masks)
for reporting covered annotations.
Only used when the 'object_visibility_threshold' parameter is true
panoptic_comparison:
type: boolean
description: |
Use only the visible part of the masks and polygons in comparisons
compare_attributes:
type: boolean
description: Enables or disables annotation attribute comparison
RegisterSerializerEx:
type: object
properties:
username:
type: string
maxLength: 150
minLength: 5
email:
type: string
format: email
first_name:
type: string
last_name:
type: string
required:
- username
RegisterSerializerExRequest:
type: object
properties:
username:
type: string
minLength: 5
maxLength: 150
email:
type: string
format: email
minLength: 1
password1:
type: string
writeOnly: true
minLength: 1
password2:
type: string
writeOnly: true
minLength: 1
first_name:
type: string
minLength: 1
last_name:
type: string
minLength: 1
required:
- password1
- password2
- username
RestAuthDetail:
type: object
properties:
detail:
type: string
readOnly: true
RoleEnum:
enum:
- worker
- supervisor
- maintainer
- owner
type: string
description: |-
* `worker` - Worker
* `supervisor` - Supervisor
* `maintainer` - Maintainer
* `owner` - Owner
RqId:
type: object
properties:
rq_id:
type: string
description: Request id
required:
- rq_id
RqStatus:
type: object
properties:
state:
$ref: '#/components/schemas/RqStatusStateEnum'
message:
type: string
default: ''
progress:
type: number
format: double
maximum: 100
default: 0.0
required:
- state
RqStatusStateEnum:
enum:
- Queued
- Started
- Finished
- Failed
type: string
description: |-
* `Queued` - Queued
* `Started` - Started
* `Finished` - Finished
* `Failed` - Failed
SeverityEnum:
enum:
- warning
- error
type: string
description: |-
* `warning` - WARNING
* `error` - ERROR
ShapeType:
enum:
- rectangle
- polygon
- polyline
- points
- ellipse
- cuboid
- mask
- skeleton
type: string
description: |-
* `rectangle` - RECTANGLE
* `polygon` - POLYGON
* `polyline` - POLYLINE
* `points` - POINTS
* `ellipse` - ELLIPSE
* `cuboid` - CUBOID
* `mask` - MASK
* `skeleton` - SKELETON
SigningRequest:
type: object
properties:
url:
type: string
minLength: 1
required:
- url
SortingMethod:
enum:
- lexicographical
- natural
- predefined
- random
type: string
description: |-
* `lexicographical` - LEXICOGRAPHICAL
* `natural` - NATURAL
* `predefined` - PREDEFINED
* `random` - RANDOM
Storage:
type: object
properties:
id:
type: integer
readOnly: true
location:
$ref: '#/components/schemas/LocationEnum'
cloud_storage_id:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
StorageMethod:
enum:
- cache
- file_system
type: string
description: |-
* `cache` - CACHE
* `file_system` - FILE_SYSTEM
StorageRequest:
type: object
properties:
location:
$ref: '#/components/schemas/LocationEnum'
cloud_storage_id:
type: integer
maximum: 2147483647
minimum: -2147483648
nullable: true
StorageType:
enum:
- cloud_storage
- local
- share
type: string
description: |-
* `cloud_storage` - CLOUD_STORAGE
* `local` - LOCAL
* `share` - SHARE
SubLabeledShape:
type: object
properties:
type:
$ref: '#/components/schemas/ShapeType'
occluded:
type: boolean
default: false
outside:
type: boolean
default: false
z_order:
type: integer
default: 0
rotation:
type: number
format: double
maximum: 360
minimum: 0
default: 0.0
points:
type: array
items:
type: number
format: double
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
label_id:
type: integer
minimum: 0
group:
type: integer
minimum: 0
nullable: true
source:
type: string
default: manual
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeVal'
default: []
required:
- frame
- label_id
- type
SubLabeledShapeRequest:
type: object
properties:
type:
$ref: '#/components/schemas/ShapeType'
occluded:
type: boolean
default: false
outside:
type: boolean
default: false
z_order:
type: integer
default: 0
rotation:
type: number
format: double
maximum: 360
minimum: 0
default: 0.0
points:
type: array
items:
type: number
format: double
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
label_id:
type: integer
minimum: 0
group:
type: integer
minimum: 0
nullable: true
source:
type: string
minLength: 1
default: manual
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeValRequest'
default: []
required:
- frame
- label_id
- type
SubLabeledTrack:
type: object
properties:
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
label_id:
type: integer
minimum: 0
group:
type: integer
minimum: 0
nullable: true
source:
type: string
default: manual
shapes:
type: array
items:
$ref: '#/components/schemas/TrackedShape'
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeVal'
default: []
required:
- frame
- label_id
- shapes
SubLabeledTrackRequest:
type: object
properties:
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
label_id:
type: integer
minimum: 0
group:
type: integer
minimum: 0
nullable: true
source:
type: string
minLength: 1
default: manual
shapes:
type: array
items:
$ref: '#/components/schemas/TrackedShapeRequest'
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeValRequest'
default: []
required:
- frame
- label_id
- shapes
Sublabel:
type: object
properties:
id:
type: integer
name:
type: string
maxLength: 64
color:
type: string
description: The hex value for the RGB color. Will be generated automatically,
unless specified explicitly.
attributes:
type: array
items:
$ref: '#/components/schemas/Attribute'
default: []
description: The list of attributes. If you want to remove an attribute,
you need to recreate the label and specify the remaining attributes.
type:
type: string
description: Associated annotation type for this label
has_parent:
type: boolean
required:
- name
SublabelRequest:
type: object
properties:
id:
type: integer
name:
type: string
minLength: 1
maxLength: 64
color:
type: string
description: The hex value for the RGB color. Will be generated automatically,
unless specified explicitly.
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeRequest'
default: []
description: The list of attributes. If you want to remove an attribute,
you need to recreate the label and specify the remaining attributes.
type:
type: string
description: Associated annotation type for this label
has_parent:
type: boolean
required:
- name
TaskAnnotationsUpdateRequest:
oneOf:
- $ref: '#/components/schemas/LabeledDataRequest'
- $ref: '#/components/schemas/AnnotationFileRequest'
nullable: true
TaskAnnotationsWriteRequest:
oneOf:
- $ref: '#/components/schemas/AnnotationFileRequest'
nullable: true
TaskFileRequest:
type: object
properties:
task_file:
type: string
format: binary
required:
- task_file
TaskRead:
type: object
properties:
url:
type: string
format: uri
readOnly: true
id:
type: integer
readOnly: true
name:
type: string
readOnly: true
project_id:
type: integer
nullable: true
mode:
type: string
readOnly: true
owner:
allOf:
- $ref: '#/components/schemas/BasicUser'
nullable: true
assignee:
allOf:
- $ref: '#/components/schemas/BasicUser'
nullable: true
bug_tracker:
type: string
readOnly: true
created_date:
type: string
format: date-time
readOnly: true
updated_date:
type: string
format: date-time
readOnly: true
overlap:
type: integer
readOnly: true
nullable: true
segment_size:
type: integer
readOnly: true
status:
allOf:
- $ref: '#/components/schemas/JobStatus'
readOnly: true
data_chunk_size:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
readOnly: true
data_compressed_chunk_type:
allOf:
- $ref: '#/components/schemas/ChunkType'
readOnly: true
guide_id:
type: integer
nullable: true
data_original_chunk_type:
allOf:
- $ref: '#/components/schemas/ChunkType'
readOnly: true
size:
type: integer
maximum: 2147483647
minimum: 0
readOnly: true
image_quality:
type: integer
maximum: 32767
minimum: 0
readOnly: true
data:
type: integer
readOnly: true
dimension:
type: string
subset:
type: string
readOnly: true
organization:
type: integer
readOnly: true
nullable: true
target_storage:
allOf:
- $ref: '#/components/schemas/Storage'
nullable: true
source_storage:
allOf:
- $ref: '#/components/schemas/Storage'
nullable: true
jobs:
$ref: '#/components/schemas/JobsSummary'
labels:
$ref: '#/components/schemas/LabelsSummary'
required:
- jobs
- labels
TaskWriteRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
project_id:
type: integer
nullable: true
owner_id:
type: integer
writeOnly: true
nullable: true
assignee_id:
type: integer
writeOnly: true
nullable: true
bug_tracker:
type: string
maxLength: 2000
overlap:
type: integer
maximum: 2147483647
minimum: 0
nullable: true
segment_size:
type: integer
maximum: 2147483647
minimum: 0
labels:
type: array
items:
$ref: '#/components/schemas/PatchedLabelRequest'
subset:
type: string
maxLength: 64
target_storage:
allOf:
- $ref: '#/components/schemas/StorageRequest'
nullable: true
source_storage:
allOf:
- $ref: '#/components/schemas/StorageRequest'
nullable: true
required:
- name
TasksSummary:
type: object
properties:
count:
type: integer
default: 0
url:
type: string
format: uri
readOnly: true
Token:
type: object
description: Serializer for Token model.
properties:
key:
type: string
maxLength: 40
required:
- key
TrackedShape:
type: object
properties:
type:
$ref: '#/components/schemas/ShapeType'
occluded:
type: boolean
default: false
outside:
type: boolean
default: false
z_order:
type: integer
default: 0
rotation:
type: number
format: double
maximum: 360
minimum: 0
default: 0.0
points:
type: array
items:
type: number
format: double
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeVal'
default: []
required:
- frame
- type
TrackedShapeRequest:
type: object
properties:
type:
$ref: '#/components/schemas/ShapeType'
occluded:
type: boolean
default: false
outside:
type: boolean
default: false
z_order:
type: integer
default: 0
rotation:
type: number
format: double
maximum: 360
minimum: 0
default: 0.0
points:
type: array
items:
type: number
format: double
id:
type: integer
nullable: true
frame:
type: integer
minimum: 0
attributes:
type: array
items:
$ref: '#/components/schemas/AttributeValRequest'
default: []
required:
- frame
- type
Transformation:
type: object
properties:
name:
type: string
binary:
allOf:
- $ref: '#/components/schemas/BinaryOperation'
nullable: true
required:
- name
User:
type: object
properties:
url:
type: string
format: uri
readOnly: true
id:
type: integer
readOnly: true
username:
type: string
description: Required. 150 characters or fewer. Letters, digits and @/./+/-/_
only.
pattern: ^[\w.@+-]+$
maxLength: 150
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
email:
type: string
format: email
title: Email address
maxLength: 254
groups:
type: array
items:
type: string
is_staff:
type: boolean
title: Staff status
description: Designates whether the user can log into this admin site.
is_superuser:
type: boolean
title: Superuser status
description: Designates that this user has all permissions without explicitly
assigning them.
is_active:
type: boolean
title: Active
description: Designates whether this user should be treated as active. Unselect
this instead of deleting accounts.
last_login:
type: string
format: date-time
readOnly: true
nullable: true
date_joined:
type: string
format: date-time
readOnly: true
required:
- groups
- username
WebhookContentType:
enum:
- application/json
type: string
description: '* `application/json` - JSON'
WebhookDeliveryRead:
type: object
properties:
id:
type: integer
readOnly: true
webhook_id:
type: integer
readOnly: true
event:
type: string
readOnly: true
status_code:
type: integer
readOnly: true
nullable: true
redelivery:
type: boolean
readOnly: true
created_date:
type: string
format: date-time
readOnly: true
updated_date:
type: string
format: date-time
readOnly: true
changed_fields:
type: string
readOnly: true
request:
type: object
readOnly: true
response:
type: object
readOnly: true
WebhookRead:
type: object
properties:
id:
type: integer
readOnly: true
url:
type: string
format: uri
readOnly: true
target_url:
type: string
format: uri
readOnly: true
description:
type: string
readOnly: true
type:
$ref: '#/components/schemas/WebhookType'
content_type:
$ref: '#/components/schemas/WebhookContentType'
is_active:
type: boolean
readOnly: true
enable_ssl:
type: boolean
readOnly: true
created_date:
type: string
format: date-time
readOnly: true
updated_date:
type: string
format: date-time
readOnly: true
owner:
allOf:
- $ref: '#/components/schemas/BasicUser'
readOnly: true
nullable: true
project_id:
type: integer
nullable: true
organization:
type: integer
readOnly: true
nullable: true
events:
type: array
items:
$ref: '#/components/schemas/EventsEnum'
readOnly: true
last_status:
type: integer
readOnly: true
last_delivery_date:
type: string
format: date-time
readOnly: true
required:
- content_type
- type
WebhookType:
enum:
- organization
- project
type: string
description: |-
* `organization` - ORGANIZATION
* `project` - PROJECT
WebhookWriteRequest:
type: object
properties:
target_url:
type: string
format: uri
minLength: 1
maxLength: 8192
description:
type: string
maxLength: 128
type:
$ref: '#/components/schemas/WebhookType'
content_type:
$ref: '#/components/schemas/WebhookContentType'
secret:
type: string
maxLength: 64
is_active:
type: boolean
enable_ssl:
type: boolean
project_id:
type: integer
writeOnly: true
nullable: true
events:
type: array
items:
$ref: '#/components/schemas/EventsEnum'
writeOnly: true
required:
- events
- target_url
- type
securitySchemes:
basicAuth:
type: http
scheme: basic
csrfAuth:
type: apiKey
in: cookie
name: csrftoken
description: Can be sent as a cookie or as the X-CSRFTOKEN header
sessionAuth:
type: apiKey
in: cookie
name: sessionid
signatureAuth:
type: apiKey
in: query
name: sign
description: Can be used to share URLs to private links
tokenAuth:
type: apiKey
in: header
name: Authorization
description: |2
To authenticate using a token (or API key), you need to have 3 components in a request:
- the 'sessionid' cookie
- the 'csrftoken' cookie or 'X-CSRFTOKEN' header
- the 'Authentication' header with the 'Token ' prefix
You can obtain an API key (the token) from the server response on
the basic auth request.
x-token-prefix: Token
externalDocs:
description: CVAT documentation
url: https://opencv.github.io/cvat/docs/
Computing file changes ...