Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/cvat:cvat-auth-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: CVAT REST Auth API
version: 2.79.0 (2.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
tags:
- name: Auth
paths:
/api/auth/access_tokens:
get:
operationId: auth_list_access_tokens
summary: List tokens
parameters:
- name: filter
required: false
in: query
description: "\nJSON Logic filter. This filter can be used to perform complex filtering by grouping rules.\n\nFor example, using such a filter you can get all resources created by you:\n\n - {\"and\":[{\"==\":[{\"var\":\"owner\"},\"<user>\"]}]}\n\nDetails about the syntax used can be found at the link: https://jsonlogic.com/\n\n Available filter_fields: ['created_date', 'expiry_date', 'id', 'last_used_date', 'name', 'read_only', 'updated_date']."
schema:
type: string
- name: name
in: query
description: A simple equality filter for the name 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: read_only
in: query
description: A simple equality filter for the read_only field
schema:
type: boolean
- name: search
required: false
in: query
description: 'A search term. Available search_fields: [''name'']'
schema:
type: string
- name: sort
required: false
in: query
description: 'Which field to use when ordering the results. Available ordering_fields: [''created_date'', ''expiry_date'', ''id'', ''last_used_date'', ''name'', ''read_only'', ''updated_date'']'
schema:
type: string
tags:
- Auth
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/PaginatedAccessTokenReadList'
description: ''
post:
operationId: auth_create_access_tokens
summary: Create a token
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AccessTokenWriteRequest'
required: true
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AccessTokenRead'
description: ''
/api/auth/access_tokens/{id}:
get:
operationId: auth_retrieve_access_tokens
summary: Get token details
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this API Access Token.
required: true
tags:
- Auth
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AccessTokenRead'
description: ''
patch:
operationId: auth_partial_update_access_tokens
summary: Update a token
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this API Access Token.
required: true
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAccessTokenWriteRequest'
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AccessTokenRead'
description: ''
delete:
operationId: auth_destroy_access_tokens
summary: Revoke token
parameters:
- in: path
name: id
schema:
type: integer
description: A unique integer value identifying this API Access Token.
required: true
tags:
- Auth
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'204':
description: The token was successfully revoked
/api/auth/access_tokens/self:
get:
operationId: auth_retrieve_access_tokens_self
description: 'Get details of the token used for the current request.
This endpoint is only allowed if the request is performed using an access token.'
summary: Get current token details
tags:
- Auth
security:
- accessTokenAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/AccessTokenRead'
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:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/Token'
description: ''
summary: Auth create login
x-summary-source: derived
/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:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RestAuthDetail'
description: ''
summary: Auth create logout
x-summary-source: derived
/api/auth/oidc/{id}/login/:
get:
operationId: auth_retrieve_oidc_login
description: Redirects to the specified provider authentication page. After successful authentication on the provider side, a redirect to the callback endpoint is performed
summary: Redirects to provider authentication page
parameters:
- in: path
name: id
schema:
type: string
required: true
tags:
- Auth
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'200':
description: No response body
/api/auth/oidc/{id}/login/callback/:
get:
operationId: auth_retrieve_oidc_login_callback
description: Accepts a request from provider with code and state query parameters. In case of successful authentication on the provider side, it will redirect to the CVAT client
summary: Checks the authentication response from specified provider, redirects to the…
parameters:
- in: query
name: code
schema:
type: string
description: Returned by provider
- in: path
name: id
schema:
type: string
required: true
- in: query
name: state
schema:
type: string
description: Returned by provider
tags:
- Auth
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'200':
description: No response body
/api/auth/oidc/{id}/login/token/:
post:
operationId: auth_create_oidc_login_token
description: After successful authentication on the provider side, the provider returns the 'code' parameter used to receive an authentication token required for CVAT authentication.
summary: Method returns an authentication token based on code parameter
parameters:
- in: query
name: auth_params
schema:
type: string
- in: path
name: id
schema:
type: string
required: true
- in: query
name: process
schema:
type: string
- in: query
name: scope
schema:
type: string
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SocialLoginSerializerExRequest'
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/Token'
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:
- tokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RestAuthDetail'
description: ''
summary: Auth create password change
x-summary-source: derived
/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:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RestAuthDetail'
description: ''
summary: Auth create password reset
x-summary-source: derived
/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:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RestAuthDetail'
description: ''
summary: Auth create password reset confirm
x-summary-source: derived
/api/auth/register:
post:
operationId: auth_create_register
description: 'Registers a new user.
Accepts the following POST parameters: username, email, password1, password2.'
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterSerializerWithSubscriptionsRequest'
required: true
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
- {}
responses:
'201':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/RegisterSerializerWithSubscriptions'
description: ''
summary: Auth create register
x-summary-source: derived
/api/auth/rules:
get:
operationId: auth_retrieve_rules
tags:
- Auth
security:
- {}
responses:
'200':
description: No response body
summary: Auth retrieve rules
x-summary-source: derived
/api/auth/saml/{id}/login/token/:
post:
operationId: auth_create_saml_login_token
description: 'class used for social authentications
example usage for facebook with access_token
-------------
from allauth.socialaccount.providers.facebook.views import FacebookOAuth2Adapter
class FacebookLogin(SocialLoginView):
adapter_class = FacebookOAuth2Adapter
-------------
example usage for facebook with code
-------------
from allauth.socialaccount.providers.facebook.views import FacebookOAuth2Adapter
from allauth.socialaccount.providers.oauth2.client import OAuth2Client
class FacebookLogin(SocialLoginView):
adapter_class = FacebookOAuth2Adapter
client_class = OAuth2Client
callback_url = ''localhost:8000''
-------------'
summary: Method returns an authentication token
parameters:
- in: path
name: id
schema:
type: string
required: true
tags:
- Auth
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/Token'
description: ''
/api/auth/social:
get:
operationId: auth_list_social
summary: Method provides a list with integrated social accounts authentication
tags:
- Auth
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
type: array
items:
$ref: '#/components/schemas/SocialAuthMethods'
description: ''
/api/auth/social/{id}/login/:
get:
operationId: auth_retrieve_social_login
description: Redirects to the specified provider authentication page. After successful authentication on the provider side, a redirect to the callback endpoint is performed
summary: Redirects to provider authentication page
parameters:
- in: path
name: id
schema:
type: string
required: true
tags:
- Auth
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'200':
description: No response body
/api/auth/social/{id}/login/callback/:
get:
operationId: auth_retrieve_social_login_callback
description: Accepts a request from provider with code and state query parameters. In case of successful authentication on the provider side, it will redirect to the CVAT client
summary: Checks the authentication response from specified provider, redirects to the…
parameters:
- in: query
name: code
schema:
type: string
description: Returned by provider
- in: path
name: id
schema:
type: string
required: true
- in: query
name: state
schema:
type: string
description: Returned by provider
tags:
- Auth
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'200':
description: No response body
/api/auth/social/{id}/login/token/:
post:
operationId: auth_create_social_login_token
description: After successful authentication on the provider side, the provider returns the 'code' parameter used to receive an authentication token required for CVAT authentication.
summary: Method returns an authentication token based on code parameter
parameters:
- in: query
name: auth_params
schema:
type: string
- in: path
name: id
schema:
type: string
required: true
- in: query
name: process
schema:
type: string
- in: query
name: scope
schema:
type: string
tags:
- Auth
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SocialLoginSerializerExRequest'
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
- {}
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/Token'
description: ''
/api/auth/sso/login-url/:
get:
operationId: auth_retrieve_sso_login_url
summary: Method returns SSO login URL based on server configuration and request…
parameters:
- in: query
name: email
schema:
type: string
description: User's email to define related identity provider
- in: query
name: iss
schema:
type: string
description: The issuer identifier of the OpenID Connect Provider (OP). This parameter can be used to determine identity provider. The iss value is a case-sensitive URL using the https scheme that contains scheme, host, and optionally, port number and path components and no query or fragment components.
tags:
- Auth
security:
- tokenAuth: []
- accessTokenAuth: []
- sessionAuth: []
csrfAuth: []
csrfHeaderAuth: []
- basicAuth: []
responses:
'200':
content:
application/vnd.cvat+json:
schema:
$ref: '#/components/schemas/SSOLoginURL'
description: URL to log in using specific Identity provider
components:
schemas:
SSOAuthMethod:
type: object
properties:
is_enabled:
type: boolean
default: false
icon:
type:
- string
- 'null'
public_name:
type: string
selection_schema:
$ref: '#/components/schemas/SelectionSchemaEnum'
required:
- public_name
- selection_schema
RestAuthDetail:
type: object
properties:
detail:
type: string
readOnly: true
RegisterSerializerWithSubscriptions:
type: object
properties:
username:
type: string
maxLength: 150
minLength: 5
email:
type: string
format: email
maxLength: 254
first_name:
type: string
maxLength: 150
last_name:
type: string
maxLength: 150
email_verification_required:
type: boolean
readOnly: true
key:
type:
- string
- 'null'
readOnly: true
confirmations:
type: array
items:
$ref: '#/components/schemas/UserAgreement'
required:
- email
- username
PasswordResetConfirmRequest:
type: object
description: Serializer for confirming a password reset attempt.
properties:
new_password1:
type: string
writeOnly: true
minLength: 8
maxLength: 256
new_password2:
type: string
writeOnly: true
minLength: 8
maxLength: 256
uid:
type: string
minLength: 1
token:
type: string
minLength: 1
required:
- new_password1
- new_password2
- token
- uid
UserAgreement:
type: object
properties:
name:
type: string
maxLength: 256
url_display_text:
type: string
default: ''
maxLength: 2048
url:
type: string
default: ''
maxLength: 2048
text_prefix:
type: string
default: ''
maxLength: 2048
required:
type: boolean
default: false
value:
type: boolean
default: false
required:
- name
PaginatedAccessTokenReadList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/AccessTokenRead'
RegisterSerializerWithSubscriptionsRequest:
type: object
properties:
username:
type: string
minLength: 5
maxLength: 150
email:
type: string
format: email
minLength: 1
maxLength: 254
password1:
type: string
writeOnly: true
minLength: 8
maxLength: 256
password2:
type: string
writeOnly: true
minLength: 8
maxLength: 256
first_name:
type: string
minLength: 1
maxLength: 150
last_name:
type: string
minLength: 1
maxLength: 150
confirmations:
type: array
items:
$ref: '#/components/schemas/UserAgreementRequest'
required:
- email
- password1
- password2
- username
PatchedAccessTokenWriteRequest:
type: object
properties:
name:
type: string
minLength: 1
description: A free-form name for the token. Doesn't have to be unique
maxLength: 50
expiry_date:
type:
- string
- 'null'
format: date-time
title: Expires
description: 'Once the token expires, clients cannot use it anymore.
If not set, the token will not expire.
'
read_only:
type: boolean
SocialAuthMethods:
type: object
properties:
google:
$ref: '#/components/schemas/SocialAuthMethod'
github:
$ref: '#/components/schemas/SocialAuthMethod'
amazon-cognito:
$ref: '#/components/schemas/SocialAuthMethod'
sso:
$ref: '#/components/schemas/SSOAuthMethod'
required:
- amazon-cognito
- github
- google
- sso
Token:
type: object
description: Serializer for Token model.
properties:
key:
type: string
maxLength: 40
required:
- key
PasswordResetSerializerExRequest:
type: object
description: Serializer for requesting a password reset e-mail.
properties:
email:
type: string
format: email
minLength: 1
required:
- email
AccessTokenWriteRequest:
type: object
properties:
name:
type: string
minLength: 1
description: A free-form name for the token. Doesn't have to be unique
maxLength: 50
expiry_date:
type:
- string
- 'null'
format: date-time
title: Expires
description: 'Once the token expires, clients cannot use it anymore.
If not set, the token will not expire.
'
read_only:
type: boolean
required:
- name
SocialLoginSerializerExRequest:
type: object
properties:
access_token:
type: string
code:
type: string
id_token:
type: string
auth_params:
type: string
default: ''
process:
type: string
default: login
scope:
type: string
default: ''
LoginSerializerExRequest:
type: object
properties:
username:
type: string
email:
type: string
format: email
password:
type: string
minLength: 1
required:
- password
PasswordChangeRequest:
type: object
properties:
old_password:
type: string
writeOnly: true
minLength: 1
new_password1:
type: string
writeOnly: true
minLength: 8
maxLength: 256
new_password2:
type: string
writeOnly: true
minLength: 8
maxLength: 256
required:
- new_password1
- new_password2
- old_password
UserAgreementRequest:
type: object
properties:
name:
type: string
minLength: 1
maxLength: 256
url_display_text:
type: string
minLength: 1
default: ''
maxLength: 2048
url:
type: string
minLength: 1
default: ''
maxLength: 2048
text_prefix:
type: string
minLength: 1
default: ''
maxLength: 2048
required:
type: boolean
default: false
value:
type: boolean
default: false
required:
- name
SocialAuthMethod:
type: object
properties:
is_enabled:
type: boolean
default: false
icon:
type:
- string
- 'null'
public_name:
type: string
required:
- public_name
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
AccessTokenRead:
type: object
properties:
id:
type: integer
readOnly: true
name:
type: string
readOnly: true
description: A free-form name for the token.
created_date:
type: string
format: date-time
readOnly: true
updated_date:
type: string
format: date-time
readOnly: true
expiry_date:
type:
- string
- 'null'
format: date-time
readOnly: true
title: Expires
description: Once the token expires, clients cannot use it anymore.
last_used_date:
type:
- string
- 'null'
format: date-time
readOnly: true
description: 'The last use date of the token. This field is NOT updated after each
user request. The minimum expected resolution should be 1 day.
'
read_only:
type: boolean
readOnly: true
owner:
$ref: '#/components/schemas/BasicUser'
value:
type: string
description: The raw value of the token. Must be saved by the user, returned only once
SSOLoginURL:
type: object
properties:
url:
type: string
format: uri
required:
- url
SelectionSchemaEnum:
enum:
- email_address
- lowest_weight
type: string
description: '* `email_address` - Email Address
* `lowest_weight` - Lowest Weight'
securitySchemes:
accessTokenAuth:
type: http
scheme: bearer
description: 'To authenticate using an API Access token, you need to include
the ''Authentication'' header with the ''Bearer '' prefix
An API Access token has to be issued in the user profile section of the UI or
via the /auth/access_tokens API before this authentication method can be used.
'
basicAuth:
type: http
scheme: basic
csrfAuth:
type: apiKey
in: cookie
name: csrftoken
description: 'A CSRF protection token. Can be received in the ''csrftoken'' cookie in the
server response on the /api/auth/login endpoint. The ''Origin'' header
must also be specified in the request.
'
csrfHeaderAuth:
type: apiKey
in: header
name: X-CSRFToken
description: 'A CSRF protection token. Can be received in the ''csrftoken'' cookie in the
server response on the /api/auth/login endpoint. The ''Origin'' header
must also be specified in the request.
'
sessionAuth:
type: apiKey
in: cookie
name: sessionid
tokenAuth:
type: apiKey
in: header
name: Authorization
description: 'Deprecated.
You can obtain an API key (the token) from the server response on
the /api/auth/login/ endpoint.
'
x-token-prefix: Token
externalDocs:
description: CVAT documentation
url: https://docs.cvat.ai/docs/
x-provenance:
method: harvested
publisher: CVAT
source: https://app.cvat.ai/api/schema/
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)