Catalog

Login

post
Body
emailstring · emailRequired
is_mobileany ofOptionalDefault: false
booleanOptional
or
nullOptional
redirect_urlany ofOptional
stringOptional
or
nullOptional
workspaceany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/auth/login

No content

Validate

get
Path parameters
tokenanyRequired
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/auth/validate/{token}

No content

Logout

post

Logout from Catalog

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptionalDefault: ""
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/auth/logout

No content

Send Invitation Code Enterprise

post
Header parameters
authorizationany ofOptionalDefault: ""
stringOptional
or
nullOptional
Body
ws_idstring · min: 5 · max: 60RequiredPattern: ^[A-Za-z0-9]+(?:[._-]{1}[A-Za-z0-9]+)*$
ws_namestringRequired
invitation_codestringRequired
team_sizestringRequired
emailstringRequired
user_fullnamestringRequired
from_workbookbooleanRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/workspaces/onboard/enterprise/invitation-code

No content

Validate Email Invite

get
Path parameters
tokenstringRequired
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/workspaces/onboard/enterprise/validate/{token}

No content

Create

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptionalDefault: ""
stringOptional
or
nullOptional
Body
idstring · min: 5 · max: 60RequiredPattern: ^[A-Za-z0-9]+(?:[._-]{1}[A-Za-z0-9]+)*$
namestringRequired
invitation_codeany ofOptionalDefault: ""
stringOptional
or
nullOptional
org_namestringRequired
team_sizestringRequired
occupationstringRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/workspaces/onboard/enterprise

No content

Preflight Handler

options
Responses
200

Successful Response

application/json
Responseany
options
/v1/catalog/workspaces/onboard/enterprise
200

Successful Response

No content

Update Workspace

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptionalDefault: ""
stringOptional
or
nullOptional
Body
idstring · min: 5 · max: 60RequiredPattern: ^[A-Za-z0-9]+(?:[._-]{1}[A-Za-z0-9]+)*$
namestringRequired
invitation_codeany ofOptionalDefault: ""
stringOptional
or
nullOptional
org_namestringRequired
team_sizestringRequired
occupationstringRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/workspaces

No content

Invite

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptionalDefault: ""
stringOptional
or
nullOptional
Body
emailsstring · email[]Required
workspace_idstringRequired
is_mobileany ofOptionalDefault: false
booleanOptional
or
nullOptional
roleany ofRequired
stringOptional
or
nullOptional
app_permissionsany ofOptional
string[]Optional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/workspaces/members/invite

No content

Get Workspace Members

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
qany ofOptional
stringOptional
or
nullOptional
pageintegerOptionalDefault: 1
limitintegerOptionalDefault: 10
Header parameters
authorizationany ofOptionalDefault: ""
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/workspaces/members

No content

List Roles

get

Lists all custom roles defined for a project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
pageinteger · min: 1Optional

Page number

Default: 1
limitinteger · min: 1Optional

Items per page

Default: 10
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/projects/{project_id}/roles

Create Role

post

Creates a new custom role within a project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
role_keystringRequired
role_titlestringRequired
Responses
post
/v1/catalog/projects/{project_id}/roles

Get Role

get

Retrieves details for a specific role, optionally including its permissions.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
role_idstringRequired
Query parameters
include_permissionsbooleanOptional

Set to true to include the role's permissions from the authorization system.

Default: false
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/projects/{project_id}/roles/{role_id}

Update Role

put

Updates a role's title or its permissions.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
role_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
role_titleany ofOptional
stringOptional
or
nullOptional
permissionsany ofOptional
or
nullOptional
Responses
200

Successful Response

application/json
put
/v1/catalog/projects/{project_id}/roles/{role_id}

Delete Role

delete

Deletes a custom role from a project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
role_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
delete
/v1/catalog/projects/{project_id}/roles/{role_id}

No content

Get Role By Key

get

Retrieves a role by its unique key, optionally including its permissions.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
role_keystringRequired
Query parameters
include_permissionsbooleanOptional

Set to true to include the role's permissions from the authorization system.

Default: false
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/projects/{project_id}/roles/key/{role_key}

List Project Members

get

Lists all members in a project, including their roles.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/projects/{project_id}/members

Assign Member

post

Assigns a user to a specific role within a project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
user_idstringRequired
role_idstringRequired
Responses
post
/v1/catalog/projects/{project_id}/members

Remove Project Member

delete

Removes a user and all their role assignments from a project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
member_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/projects/{project_id}/members/{member_id}

No content

Update Project Member Role

put

Updates an existing member's role in the project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
member_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
role_idstringRequired
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/projects/{project_id}/members/{member_id}/role

No content

List Catalog Invitations

get

List pending invitations for a catalog project.

Requires VIEW permission on the project's invitation resource.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/projects/{project_id}/members/invitations

No content

Create Catalog Invitation

post

Create an invitation for an external user to join a catalog project.

Requires CREATE permission on the project's invitation resource.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request to create an invitation for an external user

emailstringRequired
role_idstringRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/projects/{project_id}/members/invitations

No content

Revoke Catalog Invitation

delete

Revoke a pending invitation.

Requires DELETE permission on the project's invitation resource.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
invitation_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/projects/{project_id}/members/invitations/{invitation_id}

No content

Resend Catalog Invitation

post

Resend a pending invitation with a new token and extended expiry.

Generates a new invitation token, extends expiration (if applicable), and sends a new invitation email to the user.

Requires UPDATE permission on the project's invitation resource.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
invitation_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/projects/{project_id}/members/invitations/{invitation_id}/resend

No content

List Api Keys

get

List all API keys in the project

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
pageinteger · min: 1Optional

Page number

Default: 1
limitinteger · min: 1Optional

Items per page

Default: 10
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/projects/{project_id}/apikeys

Create Api Key

post

Create a new API key for the project

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
nameany ofOptional
stringOptional
or
nullOptional
expires_in_daysany ofOptional
integerOptional
or
nullOptional
Responses
post
/v1/catalog/projects/{project_id}/apikeys

Revoke Api Key

delete

Revoke an API key (soft delete)

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
key_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/projects/{project_id}/apikeys/{key_id}

No content

List labeling projects

get

List labeling projects with filtering and pagination.

Returns a paginated list of projects where the current user is a member.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
qany ofOptional

Search by project name

stringOptional
or
nullOptional
statusany ofOptional

Filter by status (draft, active, completed, archived, suspended)

string[]Optional
or
nullOptional
schema_typeany ofOptional

Filter by schema type

string[]Optional
or
nullOptional
sort_byany ofOptional

Sort fields with direction (e.g., 'name:asc', 'created_at:desc')

string[]Optional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects

No content

Create labeling project

post

Create a new labeling project.

Creates a project with the specified schema type and task definition. The project starts in DRAFT status and the creator is automatically added as a project manager.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
namestringRequired
descriptionany ofOptional
stringOptional
or
nullOptional
schema_typestring · enumRequiredPossible values:
number_of_review_roundsinteger · min: 1 · max: 5OptionalDefault: 1
meta_infoany ofOptionalDefault: {}
or
nullOptional
timeout_configany ofOptional
or
nullOptional
Responses
post
/v1/catalog/annotation/projects

No content

Get project details

get

Get labeling project details.

Returns comprehensive project information including statistics about batches, tasks, and team members.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}

No content

Update project

put

Update labeling project settings.

Updates project properties such as name, description, and status. Task definition and review rounds can only be updated in DRAFT status.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
nameany ofOptional
stringOptional
or
nullOptional
descriptionany ofOptional
stringOptional
or
nullOptional
task_definitionany ofOptional
or
nullOptional
number_of_review_roundsany ofOptional
integer · min: 1 · max: 5Optional
or
nullOptional
meta_infoany ofOptional
or
nullOptional
statusany ofOptional
string · enumOptional

Project lifecycle states

Possible values:
or
nullOptional
training_configany ofOptional
or
nullOptional
timeout_configany ofOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/annotation/projects/{project_id}

No content

Delete project

delete

Delete a labeling project.

Projects can only be deleted if they are in DRAFT or ARCHIVED status. This operation permanently removes the project and all associated data.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/annotation/projects/{project_id}

No content

List project batches

get

List batches for a project with pagination.

Returns a paginated list of batches with embedded progress statistics.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
qany ofOptional

Search by name

stringOptional
or
nullOptional
statusany ofOptional

Filter by status

string[]Optional
or
nullOptional
sort_byany ofOptional

Sort by field and direction

string[]Optional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/batches

No content

Create batch with automatic task generation

post

Create a new batch with automatic task generation.

Creates a batch from the specified dataset and automatically generates tasks from data points. The batch starts in IN_PROGRESS status once tasks are generated successfully.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
dataset_idstringRequired
nameany ofOptional
stringOptional
or
nullOptional
number_of_target_tasksintegerRequired
exclude_existing_data_pointsbooleanOptionalDefault: true
meta_infoany ofOptionalDefault: {}
or
nullOptional
Responses
post
/v1/catalog/annotation/projects/{project_id}/batches

No content

Get batch details

get

Get batch details with embedded progress statistics.

Returns comprehensive batch information including task progress, creation details, and current status.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
batch_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/batches/{batch_id}

No content

Update batch

put

Update batch name and meta_info.

Only name and meta_info can be updated. Other batch properties like target task count and dataset cannot be modified after creation.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
batch_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request model for updating batch properties

nameany ofOptional
stringOptional
or
nullOptional
meta_infoany ofOptional
or
nullOptional
statusany ofOptional
string · enumOptional

Batch processing states for labeling projects

Possible values:
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/annotation/projects/{project_id}/batches/{batch_id}

No content

Get tasks in batch

get

Get tasks in a batch with role-based access control.

  • Managers: Can see all tasks in the batch with full filtering

  • Labelers/Reviewers: Can only see tasks assigned to them in this batch

Returns paginated list of tasks with complete information including data points, annotations, and assignee details.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
batch_idstringRequired
Query parameters
statusany ofOptional

Filter by task status

string[]Optional
or
nullOptional
assignee_idany ofOptional

Filter by assignee user IDs or 'unassigned'

string[]Optional
or
nullOptional
reviewer_idany ofOptional

Filter by reviewer user IDs or 'unassigned'

string[]Optional
or
nullOptional
is_quality_taskany ofOptional

Filter by quality task status

booleanOptional
or
nullOptional
qany ofOptional

Search by task content

stringOptional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
sort_byany ofOptional

Sort by field and direction

string[]Optional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/batches/{batch_id}/tasks

No content

Bulk Assign Tasks

put

Bulk assign or unassign tasks (Manager role required).

  • task with user_id: assign task to user

  • task with user_id=null: unassign task

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
Responses
200

Successful Response

application/json
put
/v1/catalog/annotation/projects/{project_id}/tasks/assignments

Claim Task From Project

post

Claim tasks from any batch in the project (Labeler role). Supports presigned token authentication for external users.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request for claiming tasks

number_of_tasksany ofOptional

Number of tasks to claim (max 50)

integer · min: 1 · max: 50Optional
or
nullOptional
task_idsany ofOptional

Specific task IDs to claim

string[]Optional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/tasks/claim

No content

Get User Tasks

get

Get tasks assigned to the current user in this project with pagination and filtering (Labeler role). Supports presigned token authentication for external users.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
statusany ofOptional

Filter by task status

string[]Optional
or
nullOptional
qany ofOptional

Search by task content

stringOptional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
sort_byany ofOptional

Sort by field and direction

string[]Optional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/tasks

No content

Get User Task Statistics

get

Get current user's task statistics in this project.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/tasks/statistics

No content

Get Quality Tasks

get

Get all quality tasks in project for training selection (Manager only).

Returns paginated list of completed quality tasks that can be selected for training configuration.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
batch_idany ofOptional

Filter by batch ID

stringOptional
or
nullOptional
qany ofOptional

Search by task content

stringOptional
or
nullOptional
sort_byany ofOptional

Sort by field and direction

string[]Optional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/tasks/quality

No content

Get Task Details

get

Get task details by task ID (Labeler role - own tasks only). Supports presigned token authentication for external users.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
task_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/tasks/{task_id}

No content

Start working on a task

post

Start working on a task (PENDING -> IN_PROGRESS) (Labeler role). Supports presigned token authentication for external users.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
task_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/tasks/{task_id}/start

No content

Submit Annotation

post

Submit annotation for a task (IN_PROGRESS -> SUBMITTED) (Labeler role). Supports presigned token authentication for external users.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
task_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
mark_as_qualitybooleanOptionalDefault: false
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/tasks/{task_id}/submit

No content

Skip Tasks

post

Skip multiple tasks and return them to the unassigned pool (Labeler role). Supports presigned token authentication for external users.

Allows users to skip their assigned PENDING or IN_PROGRESS tasks. The tasks will be reset to original state and returned to the pool.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request for skipping tasks

task_idsstring[]Required
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/tasks/skip

No content

Timeout a task

post

Timeout an IN_PROGRESS task and reset it to PENDING. Supports presigned token authentication for external users.

Called by frontend when timeout countdown expires. The task will be returned to the pool for other users to claim.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
task_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/tasks/{task_id}/timeout

No content

Get task review history

get

Get complete review history for a task.

Returns all review records ordered by review round, including reviewer info, actions, and feedback.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
task_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/tasks/{task_id}/reviews

No content

Predict Field Value

post

Predict custom field value using LLM.

Generates suggested custom value(s) for a list field based on the task's data. Requires labeler, reviewer, or manager role.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
task_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request to predict custom field value using LLM

field_idstringRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/tasks/{task_id}/predict-field

No content

Set task quality status

post

Mark or unmark a task as a quality task (Manager only).

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
task_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request to mark or unmark a task as quality task

is_quality_taskbooleanRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/tasks/{task_id}/quality

No content

Start reviewing a task

post

Start reviewing a task (PENDING -> IN_PROGRESS) (Reviewer role). Supports presigned token authentication for external users.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
review_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/reviews/{review_id}/start

No content

Submit review decision

post

Submit review decision for a specific review. Supports presigned token authentication for external users.

Actions:

  • accept: Approve annotation, advance to next review round or complete

  • reject: Send back to labeler for fixes (keeps assigned_to)

  • fix: Reviewer corrects annotation directly and advances

For fix action, annotation field is required.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request model for submitting a review decision

review_idstringRequired
actionstring · enumRequired

Review decision types

Possible values:
annotationany ofOptional
or
nullOptional
feedbackany ofOptional
stringOptional
or
nullOptional
mark_as_qualitybooleanOptionalDefault: false
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/reviews/submit

No content

Claim reviews for current user

post

Claim reviews from the project for the current user. Supports presigned token authentication for external users.

Supports queue continuation - returns existing claimed reviews plus newly claimed ones up to the requested amount.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request for claiming reviews

number_of_tasksany ofOptional

Number of reviews to claim (max 50)

integer · min: 1 · max: 50Optional
or
nullOptional
task_idsany ofOptional

Specific task IDs to claim reviews for

string[]Optional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/reviews/claim

No content

Skip claimed reviews

post

Skip multiple claimed reviews and return them to the review pool. Supports presigned token authentication for external users.

The reviews will be reset to unclaimed state for other reviewers.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request for skipping reviews

review_idsstring[]Required
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/reviews/skip

No content

Timeout a review

post

Timeout an IN_PROGRESS review and reset it to PENDING. Supports presigned token authentication for external users.

Called by frontend when timeout countdown expires. The review will be returned to the pool for other reviewers to claim.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
review_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/reviews/{review_id}/timeout

No content

Get User Reviews

get

Get reviews assigned to the current user in this project with pagination and filtering (Reviewer role).

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
statusany ofOptional

Filter by review status

string[]Optional
or
nullOptional
actionany ofOptional

Filter by review action

string[]Optional
or
nullOptional
qany ofOptional

Search by review ID

stringOptional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
sort_byany ofOptional

Sort by field and direction

string[]Optional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/reviews

No content

Get User Review Statistics

get

Get current user's review statistics in this project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/reviews/statistics

No content

List Project Members

get

List all members in a project.

Requires 'member:view' permission in the project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
qany ofOptional

Search by member name/email

stringOptional
or
nullOptional
roleany ofOptional

Filter by member roles

string[]Optional
or
nullOptional
sort_byany ofOptional

Sort fields with direction (e.g., 'created_at:desc', 'name:asc')

string[]Optional
or
nullOptional
include_removedbooleanOptional

Include soft-deleted members

Default: false
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/members

No content

Add Project Member

post

Add a member to a project.

Requires 'member:add' permission in the project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request to add a member to a project

user_idstringRequired
rolestring · enumRequired

Team member roles in projects

Possible values:
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/members

No content

Update Member

put

Update a member in a project.

Requires 'member:update_role' permission in the project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
member_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request to update a member

rolestring · enumRequired

Team member roles in projects

Possible values:
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/annotation/projects/{project_id}/members/{member_id}

No content

Remove Project Member

delete

Remove a member from a project (soft delete).

Requires 'member:remove' permission in the project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
member_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/annotation/projects/{project_id}/members/{member_id}

No content

Get Current User Membership

get

Get current user's membership details in the project.

Returns the authenticated user's membership record if they are an active member.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/members/me

No content

List Invitations

get

List pending invitations for a project.

Requires 'member:view' permission in the project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/members/invitations

No content

Create Invitation

post

Create an invitation for an external user.

Requires 'member:create' permission in the project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request to create an invitation for an external user

emailstringRequired

Email address to invite

rolestring · enumRequired

Role to assign

Possible values:
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/members/invitations

No content

Revoke Invitation

delete

Revoke (delete) a pending invitation.

Requires 'member:remove' permission in the project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
invitation_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/annotation/projects/{project_id}/members/invitations/{invitation_id}

No content

Resend Invitation

post

Resend a pending invitation with a new token and extended expiry.

Generates a new invitation token, extends expiration (if applicable), and sends a new invitation email to the user.

Requires 'member:create' permission in the project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
invitation_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/members/invitations/{invitation_id}/resend

No content

Start training attempt

post

Start a new training attempt and get quality tasks.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/training/start

No content

Get user training status

get

Check if user has completed training for this project.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/training/status

No content

Submit training task response

post

Submit a single training task response.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request to submit a single training task response

attempt_idstringRequired
task_idstringRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/training/submit

No content

List training attempts

get

List training attempts for a project (manager view).

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
user_idany ofOptional

Filter by user IDs

string[]Optional
or
nullOptional
statusany ofOptional

Filter by status

string[]Optional
or
nullOptional
is_archivedany ofOptional

Filter by archived status

booleanOptional
or
nullOptional
sort_byany ofOptional

Sort by field and direction

string[]Optional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/training/attempts

No content

Get training attempt detail

get

Get full training attempt details including responses.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
attempt_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/training/attempts/{attempt_id}

No content

Reset user training

post

Reset a user's training attempts (manager action).

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request to reset a user's training attempts

user_idstringRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/training/reset-user

No content

Retry evaluation for failed attempt

post

Retry evaluation for an attempt that is in ERROR status.

Only the attempt owner or project manager can retry.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
attempt_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/projects/{project_id}/training/attempts/{attempt_id}/retry-evaluation

No content

Get training configuration

get

Get training configuration with full task data (Manager only).

Returns training config including expanded quality task data for the selected tasks.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/projects/{project_id}/training/config

No content

List training jobs

get

List training jobs with filtering and pagination.

Returns paginated list of training jobs. Users can filter by project, creator, or status. Requires view permission on projects.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
project_idany ofOptional

Filter by project ID

stringOptional
or
nullOptional
user_idany ofOptional

Filter by creator user ID

stringOptional
or
nullOptional
statusany ofOptional

Filter by status (comma-separated)

string[]Optional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
sort_byany ofOptional

Sort by field:direction

string[]Optional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/annotation/training/jobs

Register training job

post

Register a new training job and trigger the training pipeline.

Creates a training job record and triggers Temporal workflow to:

  1. Export annotated tasks to JSONL

  2. Submit to external training service

  3. Poll for completion

  4. Create model card

Requires manager permissions on all specified projects.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request DTO for registering a new training job

project_idsstring[] · min: 1Required
model_idstringRequired
job_nameany ofOptional
stringOptional
or
nullOptional
Responses
post
/v1/catalog/annotation/training/jobs

Get training job details

get

Get details of a specific training job.

Returns full training job information including status, hyperparameters, and metadata. Requires view permission on at least one associated project.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
job_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/annotation/training/jobs/{job_id}

List model cards

get

List trained model cards with filtering and pagination.

Returns paginated list of model cards (trained models). Can filter by project, training job, or status. Requires view permission on projects.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
project_idany ofOptional

Filter by project ID

stringOptional
or
nullOptional
training_job_idany ofOptional

Filter by training job ID

stringOptional
or
nullOptional
statusany ofOptional

Filter by status

string[]Optional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/annotation/training/models

Update model card status

patch

Update model card status (active, deprecated, archived).

Allows managers to manage model lifecycle. Only managers of associated projects can update model card status.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
model_card_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request DTO for updating model card status

statusstring · enumRequired

Model card lifecycle states

Possible values:
Responses
200

Successful Response

application/json
Responseany
patch
/v1/catalog/annotation/training/models/{model_card_id}/status

No content

Accept Invitation

post

Accept an invitation using the token from email.

This is a PUBLIC endpoint - no authentication required. Creates/updates user, workspace membership, and project membership.

Path parameters
tokenstringRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/invitations/{token}/acceptance

No content

List annotation datasets

get

List annotation datasets for a project

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
qany ofOptional

Search by name

stringOptional
or
nullOptional
project_idstringRequired

Project ID (required)

statusany ofOptional

Filter by status

stringOptional
or
nullOptional
schema_typeany ofOptional

Filter by schema type

string · enumOptionalPossible values:
or
nullOptional
created_byany ofOptional

Filter by creator

stringOptional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/datasets

No content

Create annotation dataset

post

Create a new annotation dataset and trigger processing

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
project_idstringRequired
collection_idstringRequired
namestringRequired
target_number_of_data_pointsintegerRequired
schema_typestring · enumRequiredPossible values:
dataset_configurationany ofOptionalDefault: {}
or
nullOptional
selected_column_idany ofOptional
stringOptional
or
nullOptional
Responses
post
/v1/catalog/annotation/datasets

No content

Get dataset details

get

Get annotation dataset details with progress information

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
dataset_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/datasets/{dataset_id}

No content

Update dataset name

put

Update annotation dataset (name only)

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
dataset_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
namestringRequired
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/annotation/datasets/{dataset_id}

No content

Delete annotation dataset

delete

Delete annotation dataset (soft delete)

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
dataset_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/annotation/datasets/{dataset_id}

No content

Trigger annotation dataset processing

post

Trigger processing for a failed or cancelled annotation dataset

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
dataset_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/datasets/{dataset_id}/trigger

No content

Cancel annotation dataset

post

Cancel an ongoing annotation dataset processing and clean up partial data

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
dataset_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/datasets/{dataset_id}/cancel

No content

Trigger data source processing

post

Trigger processing for a failed data source

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
dataset_idstringRequired
data_source_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/datasets/{dataset_id}/data-sources/{data_source_id}/trigger

No content

Generate preview with SSE streaming

post

Generate preview dataset

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request model for annotation dataset preview

collection_idstringRequired
asset_idstringRequired
schema_typestring · enumRequiredPossible values:
data_source_typestring · enumOptionalDefault: asset_documentPossible values:
selected_column_idany ofOptional
stringOptional
or
nullOptional
dataset_configurationany ofOptionalDefault: {}
or
nullOptional
start_pageany ofOptional
integerOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/annotation/datasets/preview

No content

List dataset data points

get

List data points for a dataset

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
dataset_idstringRequired
Query parameters
asset_idany ofOptional

Filter by asset ID

stringOptional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/datasets/{dataset_id}/data-points

No content

Get data point details

get

Get single data point details

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
data_point_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/data-points/{data_point_id}

No content

Export Training Data

post

Export annotated tasks to HuggingFace training data format.

Synchronously exports annotation tasks from specified projects to S3 in JSONL format. Timeout: 2 minutes for large datasets.

Args: request: Export request with project_ids and optional output_path user_data: Authenticated user from middleware

Returns: ExportTrainingDataResponse with S3 URL and export statistics

Raises: 400: Invalid project IDs or no tasks found 403: User doesn't have access to projects 500: Export failed 504: Export timeout (>2 minutes)

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body

Request model for exporting training data.

project_idsstring[]Required
Responses
200

Successful Response

application/json
post
/v1/catalog/annotation/export-training-data

Verify user by email

post

Verify if a user exists in Catalog and has catalog access. Returns minimal public profile if user is eligible.

Requirements:

  • User must exist

  • User must be ACTIVE member of at least one workspace

  • User must be owner, admin, OR have catalog in app_permissions

Only accessible by aggregator service (server key required). SK authentication is enforced at router level.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
emailstring · emailRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/internal/users/verify

No content

List labeling projects (internal)

get

List labeling projects for a specific member (aggregator only).

This endpoint allows the aggregator to query projects where a specific user is a member, optionally filtering by their role in those projects.

SK authentication is enforced at router level.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
member_idstringRequired

Filter by member user ID

member_roleany ofOptional

Filter by member role(s) (manager, labeler, reviewer, external_manager)

Default: ["manager"]
string[]Optional
or
nullOptional
qany ofOptional

Search by project name

stringOptional
or
nullOptional
statusany ofOptional

Filter by status (draft, active, completed, archived, suspended)

string[]Optional
or
nullOptional
schema_typeany ofOptional

Filter by schema type

string[]Optional
or
nullOptional
sort_byany ofOptional

Sort fields with direction (e.g., 'name:asc', 'created_at:desc')

string[]Optional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/internal/annotation/projects

No content

Get labeling project by ID (internal)

get

Get labeling project details by ID for internal aggregator validation.

SK authentication is enforced at router level.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/internal/annotation/projects/{project_id}

No content

Register aggregator for project

post

Register the aggregator system user as EXTERNAL_MANAGER for a project.

This endpoint adds [email protected] to the project with EXTERNAL_MANAGER role, enabling the aggregator to manage external workers for this project.

No request body needed - automatically uses AGGREGATOR_EMAIL constant. SK authentication is enforced at router level.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/internal/annotation/projects/{project_id}/register-aggregator

No content

Get User Tasks By Sub Id

get

Get tasks by external user identifier (sub_id) in a project.

Service account endpoint for retrieving tasks associated with an external user. Filters tasks where task.sub_id matches the provided sub_id.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
sub_idstringRequired

External user identifier

statusany ofOptional

Filter by task status

string[]Optional
or
nullOptional
qany ofOptional

Search by task content

stringOptional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
sort_byany ofOptional

Sort by field and direction

string[]Optional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/internal/annotation/projects/{project_id}/tasks

No content

Get User Reviews By Sub Id

get

Get reviews by external user identifier (sub_id) in a project.

Service account endpoint for retrieving reviews associated with an external user. Filters reviews where review.sub_id matches the provided sub_id.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
sub_idstringRequired

External user identifier

statusany ofOptional

Filter by review status

string[]Optional
or
nullOptional
actionany ofOptional

Filter by review action

string[]Optional
or
nullOptional
qany ofOptional

Search by review ID

stringOptional
or
nullOptional
pageinteger · min: 1Optional

Page number

Default: 1
page_sizeinteger · min: 1 · max: 100Optional

Items per page

Default: 20
sort_byany ofOptional

Sort by field and direction

string[]Optional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/internal/annotation/projects/{project_id}/reviews

No content

Get Training Status By Sub Id

get

Get training status by external user identifier (sub_id) in a project.

Service account endpoint for checking training completion status.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
sub_idstringRequired

External user identifier

Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/internal/annotation/projects/{project_id}/training/status

No content

Generate Presigned Token

post

Generate presigned token for external user access with custom permissions.

INTERNAL ONLY: Requires server key authentication.

The token grants scoped access based on the provided permissions. Token is valid for 4 hours and cannot be revoked (stateless design).

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
project_idstringRequired
sub_idstringRequired
user_idany ofOptional

User ID for authentication (defaults to current authenticated user)

stringOptional
or
nullOptional
ttl_hoursany ofOptional

Optional token TTL in hours (defaults to 24 hours if not provided)

numberOptional
or
nullOptional
Responses
200

Successful Response

application/json
post
/v1/catalog/internal/auth/presigned-tokens

Stream dataset debug logs

get

Stream debug logs for a dataset via SSE (historical + real-time).

Sends historical logs from the database first, then streams real-time logs from Redis pub/sub as they are generated.

Args: dataset_id: UUID of the annotation dataset request: FastAPI request object (for disconnect detection) user_data: Authenticated user information

Returns: StreamingResponse with text/event-stream content

Raises: HTTPException: 404 if dataset not found, 403 if no permission, 500 on errors

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
dataset_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/annotation/sse/datasets/{dataset_id}/debug-logs

No content

Accept Catalog Invitation

post

Accept a catalog project invitation using the token from email.

PUBLIC endpoint - no authentication required. Provisions user, workspace membership, catalog permissions, and project membership.

Path parameters
tokenstringRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/invitations/{token}/acceptance

No content

Get Catalog Projects Count

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
qany ofOptionalDefault: ""
stringOptional
or
nullOptional
sort_byany ofOptional
stringOptional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/projects/count

No content

Get Catalog Project

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/projects/{project_id}

No content

Delete Catalog Project

delete
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/projects/{project_id}

No content

Get My Project Permissions

get

Get all effective permissions for the current user in a project. Returns aggregated permissions from direct grants and role assignments. Used by frontend to show/hide UI actions based on permissions.

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/projects/{project_id}/permissions/me

No content

Get Catalog Projects

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
qany ofOptionalDefault: ""
stringOptional
or
nullOptional
pageintegerOptionalDefault: 1
limitintegerOptionalDefault: 10
sort_byany ofOptional
stringOptional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/projects

No content

Create Catalog Project

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
namestringRequired
descriptionstringOptionalDefault: ""
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/projects

No content

Update Catalog Project

put
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
idstringRequired
namestringRequired
descriptionstringOptionalDefault: ""
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/projects

No content

Get Catalog Tables Count

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/projects/{project_id}/tables/count

No content

List Catalog Tables

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Query parameters
pageintegerOptionalDefault: 1
limitintegerOptionalDefault: 10
table_typeany ofOptional
stringOptional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/projects/{project_id}/tables

No content

Create Catalog Table

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
project_idstringRequired
namestringRequired
table_typestringOptionalDefault: TABLE
descriptionstringOptionalDefault: ""
statusstring · enumOptionalDefault: DRAFTPossible values:
model_transformstringOptionalDefault: BASIC
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/projects/{project_id}/tables

No content

Get Catalog Table Json

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/json

No content

Update Catalog Table

put
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
idstringRequired
namestringRequired
descriptionstringOptionalDefault: ""
statusany ofOptional
string · enumOptionalPossible values:
or
nullOptional
model_transformany ofOptional
stringOptional
or
nullOptional
table_typeany ofOptionalDefault: TABLE
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/tables/{table_id}

No content

Delete Catalog Table

delete
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/tables/{table_id}

No content

Get Catalog Asset Content

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
asset_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/assets/{asset_id}

No content

Delete Catalog Asset

delete
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
asset_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/tables/{table_id}/assets/{asset_id}

No content

Get Catalog Assets Count

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/assets/count

No content

List Catalog Assets

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Query parameters
pageintegerOptionalDefault: 1
limitintegerOptionalDefault: 10
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/assets

No content

Create Catalog Assets

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Query parameters
transformbooleanOptionalDefault: false
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
upload_filesstring · binary[]OptionalDefault: []
plain_textany ofOptional
stringOptional
or
nullOptional
source_idany ofOptional
stringOptional
or
nullOptional
column_static_dataany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/tables/{table_id}/assets

No content

Get Catalog Columns Count

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/columns/count

No content

Get Catalog Columns

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/columns

No content

Create Catalog Column

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
namestringRequired
content_locationstringRequired
prompt_templatestringRequired
data_typestringRequired
agent_idany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/tables/{table_id}/columns

No content

Update Catalog Column

put
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
idstringRequired
namestringRequired
content_locationstringRequired
prompt_templatestringRequired
data_typestringRequired
agent_idany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/tables/{table_id}/columns

No content

Create Catalog Columns Bulk

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Bodyobject · CatalogColumnCreateRequest[]
namestringRequired
content_locationstringRequired
prompt_templatestringRequired
data_typestringRequired
agent_idany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/tables/{table_id}/columns/bulk

No content

Delete Catalog Column

delete
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
column_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/tables/{table_id}/columns/{column_id}

No content

Get Catalog Asset Column By Assets

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Query parameters
asset_idsstring[]Required
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/data_assets

No content

Get Catalog Asset Column

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/asset_column

No content

Delete Catalog Asset Column

delete
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/tables/{table_id}/asset_column

No content

Update Catalog Column Value

put
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
asset_idstringRequired
column_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
valuestringRequired
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/tables/{table_id}/assets/{asset_id}/columns/{column_id}/value_data

No content

Transform Data

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
project_idstringRequired
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/projects/{project_id}/tables/{table_id}/transformation

No content

Export Catalog Data Json

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/export/json

No content

Export Catalog Data Csv

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/export/csv

No content

Export Catalog Data Excel

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/tables/{table_id}/export/excel

No content

Get Tables Files

get

Get list of files for all tables accessible to the user's workspace and owned by the user

Each table will include up to 'limit' files, but the total_files field will indicate the total count.

Args: q: Optional search query to filter by project name or table name limit: Maximum number of files per table (default: 5)

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
qany ofOptional
stringOptional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/tables/files

Get Catalog Templates

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
pageintegerOptionalDefault: 1
limitintegerOptionalDefault: 10
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/templates

No content

Create Catalog Template

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
table_idstringRequired
namestringRequired
descriptionstringOptionalDefault: ""
visibilitystringOptionalDefault: PRIVATE
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/templates

No content

Get Catalog Template Detail

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
template_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/templates/{template_id}

Update Catalog Template

put
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
template_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
namestringRequired
descriptionstringOptionalDefault: ""
visibilitystringOptionalDefault: PRIVATE
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/templates/{template_id}

No content

Delete Catalog Template

delete
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
template_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/templates/{template_id}

No content

Count Catalog Templates

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/templates/count

No content

get
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
linkstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/templates/link/{link}

Create Template Column

post
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
template_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
namestringRequired
content_locationstringRequired
prompt_templatestringRequired
data_typestringRequired
Responses
200

Successful Response

application/json
Responseany
post
/v1/catalog/templates/{template_id}/columns

No content

Update Template Column

put
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
template_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Body
idstringRequired
namestringRequired
content_locationstringRequired
prompt_templatestringRequired
data_typestringRequired
Responses
200

Successful Response

application/json
Responseany
put
/v1/catalog/templates/{template_id}/columns

No content

Delete Template Column

delete
Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
template_idstringRequired
column_idstringRequired
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
delete
/v1/catalog/templates/{template_id}/columns/{column_id}

No content

Get Table Files Paginated

get

Get files for a specific table

Args: table_id: The ID of the table to get files for limit: Maximum number of files to return (default: 5)

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Path parameters
table_idstringRequired
Query parameters
limitintegerOptionalDefault: 5
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
get
/v1/catalog/tables/{table_id}/files

Get Hugging Face Models

get

Get list of Hugging Face models with pagination and filtering.

Supports both legacy pagination (page-based) and cursor-based pagination.

Features:

  • Pagination: 20 items per page (configurable)

  • Multiple filter options and HF native parameters

  • Automatic cursor extraction and next page URL wrapping

  • Link header parsing

The response includes a wrapped next_page URL that can be used for pagination:

  • Original HF URL: https://huggingface.co/api/models?limit=20&cursor=xyz

  • Wrapped URL: /v1/catalog/models?limit=20&cursor=xyz

Response schema: { "data": [array of models from Hugging Face API], "total": integer (total available models), "page": integer (current page number), "next_page": string (wrapped next page URL for pagination, or empty if last page), "items_per_page": integer (20 or custom limit) }

Authorizations
AuthorizationstringRequired

JWT access token for authentication. Swagger UI automatically adds 'Bearer ' prefix.

cookie
authstringOptionalDefault: ""
Query parameters
pageany ofOptional

Page number (1-indexed) for legacy pagination

integer · min: 1Optional
or
nullOptional
limitany ofOptional

Limit items per page (default 20, max 100)

integer · min: 1 · max: 100Optional
or
nullOptional
cursorany ofOptional

Cursor for cursor-based pagination (from next_page_url)

stringOptional
or
nullOptional
searchany ofOptional

Search query for repos and usernames

stringOptional
or
nullOptional
authorany ofOptional

Filter by author/organization

stringOptional
or
nullOptional
filterany ofOptional

Filter by tags (HF native parameter)

stringOptional
or
nullOptional
taskany ofOptional

Filter by task (legacy, maps to filter)

stringOptional
or
nullOptional
libraryany ofOptional

Filter by library (legacy, maps to filter)

stringOptional
or
nullOptional
languageany ofOptional

Filter by language (legacy, maps to filter)

stringOptional
or
nullOptional
licenseany ofOptional

Filter by license (legacy, maps to filter)

stringOptional
or
nullOptional
model_idany ofOptional

Filter by model ID pattern (legacy, maps to filter)

stringOptional
or
nullOptional
task_typeany ofOptional

Filter by task type (convenience param, e.g., 'text-generation')

stringOptional
or
nullOptional
frameworkany ofOptional

Filter by framework (convenience param, e.g., 'tensorflow')

stringOptional
or
nullOptional
size_rangeany ofOptional

Filter by size range (can specify multiple)

string[]Optional
or
nullOptional
sortany ofOptional

Sort by property (e.g., 'downloads', 'trendingScore', 'modified')

stringOptional
or
nullOptional
directionany ofOptional

Sort direction (-1 for descending)

stringOptional
or
nullOptional
fullany ofOptional

Fetch complete model data including all tags, files

booleanOptional
or
nullOptional
configany ofOptional

Fetch repo config

booleanOptional
or
nullOptional
Header parameters
authorizationany ofOptional
stringOptional
or
nullOptional
X-Sub-IDany ofOptional
stringOptional
or
nullOptional
Responses
200

Successful Response

application/json
Responseany
get
/v1/catalog/models

No content

Last updated

Was this helpful?