openapi: 3.0.3
info:
contact:
url: https://labelstud.io
description: Label Studio API for data annotation and labeling
title: Label Studio API
version: ''
paths:
/api/activity-logs/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve activity logs filtered by workspace, project, user, HTTP method, date range or search query.
operationId: api_activity_logs_list
parameters:
- description: End date/time (ISO-8601) for log filtering.
in: query
name: end_date
schema:
type: string
- description: HTTP request method used in the log.
in: query
name: method
schema:
default: all
enum:
- DELETE
- GET
- PATCH
- POST
- PUT
- all
type: string
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: '[or "start"] Current page index.'
in: query
name: page
schema:
type: integer
- description: '[or "length"] Logs per page, use -1 to obtain all logs (might be slow).'
in: query
name: page_size
schema:
type: integer
- description: Project ID to filter logs.
in: query
name: project
schema:
type: integer
- description: Search expression using "AND"/"OR" to filter by request URL.
in: query
name: search
schema:
type: string
- description: Start date/time (ISO-8601) for log filtering.
in: query
name: start_date
schema:
type: string
- description: User ID to filter logs.
in: query
name: user
schema:
type: integer
- description: Workspace owner ID to filter logs.
in: query
name: workspace
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ActivityLogResponse'
type: array
description: Activity logs
'404':
description: No more logs found
security:
- Token: []
summary: ✨ Get activity logs
tags:
- Activity Logs
x-fern-audiences:
- public
x-fern-sdk-group-name: activity_logs
x-fern-sdk-method-name: list
/api/analytics/kpis/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Returns metadata for all available KPI (Key Performance Indicator) classes. Each KPI includes its key, label, base class, dependencies, and configuration. This endpoint is useful for discovering available metrics and understanding their relationships and requirements.
operationId: api_analytics_kpis_list
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/KPIMetadata'
type: array
description: List of available KPIs with metadata
security:
- Token: []
summary: ✨ List all available KPIs
tags:
- Analytics
x-fern-audiences:
- public
x-fern-sdk-group-name:
- analytics
- kpis
x-fern-sdk-method-name: list
/api/analytics/kpis/{kpi_key}:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve data for a specific KPI with support for filtering and segmentation. Can segment by time (hourly, daily, weekly, monthly, yearly), by user, or both (2D matrix). If no segmentation is specified, returns a single total value. Supports filtering by projects, members, and date range. Date filters are interpreted in the specified timezone (required parameter). Maximum 50 projects allowed per request for performance reasons.
operationId: api_analytics_kpis_retrieve
parameters:
- description: When true with segment_by_user, return only members with performance data (capped). Used by Member Performance Select All discovery.
in: query
name: all
schema:
type: boolean
- description: End date for filtering (ISO format)
in: query
name: end
schema:
format: date-time
type: string
- description: KPI identifier (key)
in: path
name: kpi_key
required: true
schema:
type: string
- description: Comma-separated user IDs. If empty, includes all organization members.
in: query
name: members
schema:
type: string
- description: Comma-separated project IDs. If empty, includes all organization projects. Maximum 50 projects allowed per request. Requests exceeding this limit will be rejected with a 400 error.
in: query
name: projects
schema:
type: string
- description: Whether to segment results by project
in: query
name: segment_by_project
schema:
type: boolean
- description: Time granularity for segmentation
in: query
name: segment_by_time
schema:
enum:
- daily
- hourly
- monthly
- weekly
- yearly
type: string
- description: Whether to segment results by user
in: query
name: segment_by_user
schema:
type: boolean
- description: Start date for filtering (ISO format)
in: query
name: start
schema:
format: date-time
type: string
- description: Timezone for date filtering (IANA timezone name, e.g., "America/New_York", "UTC"). The start and end dates will be interpreted in this timezone.
in: query
name: tz
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/KPIDetailResponse'
description: KPI data with requested segmentation
'400':
description: Invalid parameters or unsupported KPI type
'404':
description: KPI not found or organization not found
security:
- Token: []
summary: ✨ Get KPI data with optional segmentation
tags:
- Analytics
x-fern-audiences:
- public
x-fern-sdk-group-name:
- analytics
- kpis
x-fern-sdk-method-name: get
/api/analytics/views/:
get:
description: |-
CRUD endpoints for per-user analytics saved views.
All routes are gated behind the same ``should_check_analytics_permission``
helper used by the KPI endpoints, so a user who cannot access the analytics
dashboard cannot read view metadata even via a shared link.
Lookup uses ``uuid`` (not PK) so the primary key is never exposed.
Access rules
------------
* list / create — scoped to requesting user + active org
* retrieve — any org member who passes the analytics permission check
(enables shared-link UX: ``?view=`` in the URL)
* update / destroy — owner-only
operationId: api_analytics_views_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AnalyticsView'
type: array
description: ''
security:
- Token: []
tags:
- Analytics
post:
description: |-
CRUD endpoints for per-user analytics saved views.
All routes are gated behind the same ``should_check_analytics_permission``
helper used by the KPI endpoints, so a user who cannot access the analytics
dashboard cannot read view metadata even via a shared link.
Lookup uses ``uuid`` (not PK) so the primary key is never exposed.
Access rules
------------
* list / create — scoped to requesting user + active org
* retrieve — any org member who passes the analytics permission check
(enables shared-link UX: ``?view=`` in the URL)
* update / destroy — owner-only
operationId: api_analytics_views_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AnalyticsViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AnalyticsViewRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsView'
description: ''
security:
- Token: []
tags:
- Analytics
/api/analytics/views/{uuid}/:
delete:
description: |-
CRUD endpoints for per-user analytics saved views.
All routes are gated behind the same ``should_check_analytics_permission``
helper used by the KPI endpoints, so a user who cannot access the analytics
dashboard cannot read view metadata even via a shared link.
Lookup uses ``uuid`` (not PK) so the primary key is never exposed.
Access rules
------------
* list / create — scoped to requesting user + active org
* retrieve — any org member who passes the analytics permission check
(enables shared-link UX: ``?view=`` in the URL)
* update / destroy — owner-only
operationId: api_analytics_views_destroy
parameters:
- in: path
name: uuid
required: true
schema:
format: uuid
type: string
responses:
'204':
description: No response body
security:
- Token: []
tags:
- Analytics
get:
description: |-
CRUD endpoints for per-user analytics saved views.
All routes are gated behind the same ``should_check_analytics_permission``
helper used by the KPI endpoints, so a user who cannot access the analytics
dashboard cannot read view metadata even via a shared link.
Lookup uses ``uuid`` (not PK) so the primary key is never exposed.
Access rules
------------
* list / create — scoped to requesting user + active org
* retrieve — any org member who passes the analytics permission check
(enables shared-link UX: ``?view=`` in the URL)
* update / destroy — owner-only
operationId: api_analytics_views_retrieve
parameters:
- in: path
name: uuid
required: true
schema:
format: uuid
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsView'
description: ''
security:
- Token: []
tags:
- Analytics
patch:
description: |-
CRUD endpoints for per-user analytics saved views.
All routes are gated behind the same ``should_check_analytics_permission``
helper used by the KPI endpoints, so a user who cannot access the analytics
dashboard cannot read view metadata even via a shared link.
Lookup uses ``uuid`` (not PK) so the primary key is never exposed.
Access rules
------------
* list / create — scoped to requesting user + active org
* retrieve — any org member who passes the analytics permission check
(enables shared-link UX: ``?view=`` in the URL)
* update / destroy — owner-only
operationId: api_analytics_views_partial_update
parameters:
- in: path
name: uuid
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAnalyticsViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedAnalyticsViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedAnalyticsViewRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsView'
description: ''
security:
- Token: []
tags:
- Analytics
put:
description: |-
CRUD endpoints for per-user analytics saved views.
All routes are gated behind the same ``should_check_analytics_permission``
helper used by the KPI endpoints, so a user who cannot access the analytics
dashboard cannot read view metadata even via a shared link.
Lookup uses ``uuid`` (not PK) so the primary key is never exposed.
Access rules
------------
* list / create — scoped to requesting user + active org
* retrieve — any org member who passes the analytics permission check
(enables shared-link UX: ``?view=`` in the URL)
* update / destroy — owner-only
operationId: api_analytics_views_update
parameters:
- in: path
name: uuid
required: true
schema:
format: uuid
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AnalyticsViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AnalyticsViewRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AnalyticsView'
description: ''
security:
- Token: []
tags:
- Analytics
/api/annotation-history/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete all annotation history items for a specific annotation, task or project. This method is available only for users with administrator roles.
operationId: api_annotation_history_destroy
parameters:
- description: Annotation ID to delete annotation history items for.
in: query
name: annotation
schema:
type: integer
- description: Project ID to delete annotation history items for.
in: query
name: project
schema:
type: integer
- description: Task ID to delete annotation history items for.
in: query
name: task
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
removed:
description: Number of removed items
type: integer
type: object
description: Returns a dict containing the count of removed items.
security:
- Token: []
summary: ✨ Delete annotation history items
tags:
- Annotation History
x-fern-audiences:
- public
x-fern-sdk-group-name: annotation_history
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List annotation history items for an annotation. Annotation history logs all actions performed with annotations, such as: imports, submits, updates, reviews, and more. Users can view annotation history items in the Annotation History panel during labeling.
operationId: api_annotation_history_list
parameters:
- description: Annotation ID to get annotation history items for.
in: query
name: annotation
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AnnotationHistory'
type: array
description: ''
security:
- Token: []
summary: ✨ List all annotation history items for annotation
tags:
- Annotation History
x-fern-audiences:
- public
x-fern-sdk-group-name: annotation_history
x-fern-sdk-method-name: list
/api/annotation-history/{id}/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get one annotation history item by ID with full result. Used when FIT-720 lazy load is on and the user clicks a stubbed history item to hydrate it.
operationId: api_annotation_history_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationHistory'
description: ''
security:
- Token: []
summary: ✨ Retrieve a single annotation history item (full result for hydration)
tags:
- Annotation History
x-fern-audiences:
- public
x-fern-sdk-group-name: annotation_history
x-fern-sdk-method-name: retrieve
/api/annotation-reviews/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List all reviews for a specific annotation ID. Only allowed for organizations with reviewing features enabled.
operationId: api_annotation_reviews_list
parameters:
- in: query
name: annotation
schema:
type: integer
- in: query
name: annotation__task__project
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AnnotationReview'
type: array
description: ''
security:
- Token: []
summary: ✨ List reviews
tags:
- Annotation Reviews
x-fern-audiences:
- public
x-fern-sdk-group-name: annotation_reviews
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create a review for a specific annotation ID. Only allowed for organizations with reviewing features enabled.
operationId: api_annotation_reviews_create
parameters:
- description: Whether to postprocess the review asynchronously.
in: query
name: async_postprocess
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationReviewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AnnotationReviewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AnnotationReviewRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationReview'
description: ''
security:
- Token: []
summary: ✨ Create review
tags:
- Annotation Reviews
x-fern-audiences:
- public
x-fern-sdk-group-name: annotation_reviews
x-fern-sdk-method-name: create
/api/annotation-reviews/{id}/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a review by ID. Only allowed for organizations with reviewing features enabled.
operationId: api_annotation_reviews_destroy
parameters:
- description: A unique integer value identifying this annotation review.
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete review
tags:
- Annotation Reviews
x-fern-audiences:
- public
x-fern-sdk-group-name: annotation_reviews
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve a specific review by ID for an annotation. Only allowed for organizations with reviewing features enabled.
operationId: api_annotation_reviews_retrieve
parameters:
- description: A unique integer value identifying this annotation review.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationReview'
description: ''
security:
- Token: []
summary: ✨ Get review
tags:
- Annotation Reviews
x-fern-audiences:
- public
x-fern-sdk-group-name: annotation_reviews
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific review by ID. Only allowed for organizations with reviewing features enabled.
operationId: api_annotation_reviews_partial_update
parameters:
- description: A unique integer value identifying this annotation review.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAnnotationReviewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedAnnotationReviewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedAnnotationReviewRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationReview'
description: ''
security:
- Token: []
summary: ✨ Update review
tags:
- Annotation Reviews
x-fern-audiences:
- public
x-fern-sdk-group-name: annotation_reviews
x-fern-sdk-method-name: update
put:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Overwrite a specific review by ID. Only allowed for organizations with reviewing features enabled.
operationId: api_annotation_reviews_update
parameters:
- description: A unique integer value identifying this annotation review.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationReviewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AnnotationReviewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AnnotationReviewRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationReview'
description: ''
security:
- Token: []
summary: ✨ Put review
tags:
- Annotation Reviews
x-fern-audiences:
- internal
/api/annotations/bulk-delete/:
post:
description: Delete multiple annotations by their IDs. At most 100 annotation IDs can be submitted in one request. The deletion is processed synchronously. Returns the count of deleted annotations in the response.
operationId: api_annotations_bulk_delete_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationBulkDeleteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AnnotationBulkDeleteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AnnotationBulkDeleteRequest'
required: true
responses:
'200':
content:
application/json:
schema:
properties:
deleted_count:
description: Number of annotations deleted
type: integer
type: object
description: Annotations deleted successfully
'400':
description: Bad request - validation errors
'403':
description: Forbidden - insufficient permissions
security:
- Token: []
summary: Bulk delete annotations by IDs
tags:
- Annotations
x-fern-audiences:
- public
x-fern-sdk-group-name: annotations
x-fern-sdk-method-name: delete_bulk
/api/annotations/bulk/:
post:
description: Create multiple annotations at once
operationId: api_annotations_bulk_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationBulkSerializerWithSelectedItemsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AnnotationBulkSerializerWithSelectedItemsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AnnotationBulkSerializerWithSelectedItemsRequest'
responses:
'201':
content:
application/json:
schema:
items:
properties:
id:
description: Annotation ID
type: integer
required:
- id
type: object
type: array
description: Bulk annotations created successfully
security:
- Token: []
summary: Bulk create annotations
tags:
- Annotations
x-fern-audiences:
- public
x-fern-sdk-group-name: annotations
x-fern-sdk-method-name: create_bulk
/api/annotations/{id}/:
delete:
description: Delete an annotation. This action can't be undone!
operationId: api_annotations_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete annotation
tags:
- Annotations
x-fern-audiences:
- public
x-fern-sdk-group-name: annotations
x-fern-sdk-method-name: delete
get:
description: Retrieve a specific annotation for a task using the annotation result ID.
operationId: api_annotations_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
examples:
Response:
summary: response
value:
completed_by: 1
created_ago: ''
created_at: '2024-06-18T23:45:46.048490Z'
created_username: ''
ground_truth: false
id: 1
lead_time: 10
project: 1
result:
- from_name: bboxes
image_rotation: 0
original_height: 1080
original_width: 1920
to_name: image
type: rectanglelabels
value:
height: 60
rotation: 0
values:
rectanglelabels:
- Person
width: 50
x: 20
y: 30
state: CREATED
task: 1
updated_at: '2024-06-18T23:45:46.048538Z'
updated_by: 1
was_cancelled: false
schema:
$ref: '#/components/schemas/Annotation'
description: Retrieved annotation
security:
- Token: []
summary: Get annotation by its ID
tags:
- Annotations
x-fern-audiences:
- public
x-fern-sdk-group-name: annotations
x-fern-sdk-method-name: get
patch:
description: Update existing attributes on an annotation.
operationId: api_annotations_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAnnotationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedAnnotationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedAnnotationRequest'
responses:
'200':
content:
application/json:
examples:
Response:
summary: response
value:
completed_by: 1
created_ago: ''
created_at: '2024-06-18T23:45:46.048490Z'
created_username: ''
ground_truth: false
id: 1
lead_time: 10
project: 1
result:
- from_name: bboxes
image_rotation: 0
original_height: 1080
original_width: 1920
to_name: image
type: rectanglelabels
value:
height: 60
rotation: 0
values:
rectanglelabels:
- Person
width: 50
x: 20
y: 30
state: CREATED
task: 1
updated_at: '2024-06-18T23:45:46.048538Z'
updated_by: 1
was_cancelled: false
schema:
$ref: '#/components/schemas/Annotation'
description: Updated annotation
security:
- Token: []
summary: Update annotation
tags:
- Annotations
x-fern-audiences:
- public
x-fern-sdk-group-name: annotations
x-fern-sdk-method-name: update
/api/billing/info:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a comment by ID
operationId: api_comments_destroy
parameters:
- description: Expand the created_by field
in: query
name: expand_created_by
schema:
type: boolean
- description: A unique integer value identifying this comment.
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete comment
tags:
- Comments
x-fern-audiences:
- public
x-fern-sdk-group-name: comments
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve a specific comment by ID for an annotation.
operationId: api_comments_retrieve
parameters:
- description: Expand the created_by field
in: query
name: expand_created_by
schema:
type: boolean
- description: A unique integer value identifying this comment.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MaybeExpandedComment'
description: ''
security:
- Token: []
summary: ✨ Get comment
tags:
- Comments
x-fern-audiences:
- public
x-fern-sdk-group-name: comments
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific comment by ID.
operationId: api_comments_partial_update
parameters:
- description: Expand the created_by field
in: query
name: expand_created_by
schema:
type: boolean
- description: A unique integer value identifying this comment.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedCommentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedCommentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedCommentRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MaybeExpandedComment'
description: ''
security:
- Token: []
summary: ✨ Update comment
tags:
- Comments
x-fern-audiences:
- public
x-fern-sdk-group-name: comments
x-fern-sdk-method-name: update
put:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Overwrite a specific comment by ID.
operationId: api_comments_update
parameters:
- description: Expand the created_by field
in: query
name: expand_created_by
schema:
type: boolean
- description: A unique integer value identifying this comment.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CommentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CommentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CommentRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
description: ''
security:
- Token: []
summary: ✨ Put comment
tags:
- Comments
x-fern-audiences:
- internal
/api/current-user:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get info about the currently authenticated user.
operationId: api_current_user_retrieve
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseUserAPI'
description: ''
security:
- Token: []
summary: ✨ Get current user info
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: get_current_user
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update details for the currently authenticated user.
operationId: api_current_user_partial_update
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseUserSerializerUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLseUserSerializerUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLseUserSerializerUpdateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseUserAPI'
description: ''
security:
- Token: []
summary: ✨ Update current user
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: update_current_user
/api/current-user/hotkeys/:
get:
description: Retrieve the current user’s account hotkeys, or their stored personal override for the optional project scope.
operationId: api_current_user_hotkeys_retrieve
parameters:
- description: Project ID for a personal project-specific hotkey override. Omit for account defaults.
in: query
name: project
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Hotkeys'
description: ''
'400':
description: The project parameter is invalid.
'401':
description: Authentication credentials were not provided or are invalid.
'403':
description: The user does not have access to the requested project.
'404':
description: The project does not exist in the user’s active organization.
'500':
description: An unexpected server error occurred.
security:
- Token: []
summary: Get user hotkeys
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: get_hotkeys
patch:
description: Update the current user’s account hotkeys, or their personal override for the optional project scope.
operationId: api_current_user_hotkeys_partial_update
parameters:
- description: Project ID for a personal project-specific hotkey override. Omit for account defaults.
in: query
name: project
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedHotkeysRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedHotkeysRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedHotkeysRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Hotkeys'
description: ''
'400':
description: The project parameter or hotkey payload is invalid.
'401':
description: Authentication credentials were not provided or are invalid.
'403':
description: The user does not have access to the requested project.
'404':
description: The project does not exist in the user’s active organization.
'500':
description: An unexpected server error occurred.
security:
- Token: []
summary: Update user hotkeys
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: update_hotkeys
/api/current-user/reset-token/:
post:
description: Reset the user token for the current user.
operationId: api_current_user_reset_token_create
responses:
'201':
content:
application/json:
schema:
properties:
token:
type: string
type: object
description: User token response
security:
- Token: []
summary: Reset user token
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: reset_token
/api/current-user/token:
get:
description: Get a user token to authenticate to the API as the current user.
operationId: api_current_user_token_retrieve
responses:
'200':
content:
application/json:
schema:
properties:
detail:
type: string
type: object
description: User token response
security:
- Token: []
summary: Get user token
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: get_token
/api/current-user/whoami:
get:
description: Retrieve details of the account that you are using to access the API.
operationId: api_current_user_whoami_retrieve
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WhoAmIUser'
description: ''
security:
- Token: []
summary: Retrieve my user
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: whoami
/api/dataset-storages/:
get:
description: Retrieve a list of the dataset storages of all types with their IDs.
operationId: api_dataset_storages_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
description: List of DatasetStorageSerializer
security:
- Token: []
summary: List all dataset storages from the project
tags:
- Storage
x-fern-audiences:
- internal
/api/dataset-storages/azure/:
get:
description: Get a list of all Azure import storage connections.
operationId: api_dataset_storages_azure_list
parameters:
- description: Dataset ID
in: query
name: dataset
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AzureDatasetStorage'
type: array
description: ''
security:
- Token: []
summary: Get all import storage
tags:
- 'Dataset Storage: Azure'
x-fern-audiences:
- internal
post:
description: Create a new Azure import storage connection.
operationId: api_dataset_storages_azure_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureDatasetStorage'
description: ''
security:
- Token: []
summary: Create import storage
tags:
- 'Dataset Storage: Azure'
x-fern-audiences:
- internal
/api/dataset-storages/azure/check-for-records/:
post:
description: Checks for existence of records matching the file pattern in the bucket/prefix
operationId: api_dataset_storages_azure_check_for_records_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureDatasetStorage'
description: ''
security:
- Token: []
summary: Check for records given the file pattern
tags:
- 'Dataset Storage: Azure'
x-fern-audiences:
- internal
/api/dataset-storages/azure/validate/:
post:
description: Validate a specific Azure import storage connection.
operationId: api_dataset_storages_azure_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureDatasetStorage'
description: ''
security:
- Token: []
summary: Validate import storage
tags:
- 'Dataset Storage: Azure'
x-fern-audiences:
- internal
/api/dataset-storages/azure/{id}/:
delete:
description: Delete a specific Azure import storage connection.
operationId: api_dataset_storages_azure_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete import storage
tags:
- 'Dataset Storage: Azure'
x-fern-audiences:
- internal
get:
description: Get a specific Azure import storage connection.
operationId: api_dataset_storages_azure_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureDatasetStorage'
description: ''
security:
- Token: []
summary: Get import storage
tags:
- 'Dataset Storage: Azure'
x-fern-audiences:
- internal
patch:
description: Update a specific Azure import storage connection.
operationId: api_dataset_storages_azure_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAzureDatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedAzureDatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedAzureDatasetStorageRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureDatasetStorage'
description: ''
security:
- Token: []
summary: Update import storage
tags:
- 'Dataset Storage: Azure'
x-fern-audiences:
- internal
/api/dataset-storages/azure/{id}/columns/:
get:
description: Retrieves column names from users JSON/blob data in bucket
operationId: api_dataset_storages_azure_columns_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetStorageColumnsResponse'
description: ''
security:
- Token: []
summary: Get data column names from storage
tags:
- 'Dataset Storage: Azure'
x-fern-audiences:
- internal
/api/dataset-storages/azure/{id}/sync/:
post:
description: Sync tasks from an Azure import storage connection.
operationId: api_dataset_storages_azure_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureDatasetStorageRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureDatasetStorage'
description: ''
security:
- Token: []
summary: Sync import storage
tags:
- 'Dataset Storage: Azure'
x-fern-audiences:
- internal
/api/dataset-storages/gcs/:
get:
description: Get a list of all GCS import storage connections.
operationId: api_dataset_storages_gcs_list
parameters:
- description: Dataset ID
in: query
name: dataset
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/GCSDatasetStorage'
type: array
description: ''
security:
- Token: []
summary: Get all import storage
tags:
- 'Dataset Storage: GCS'
x-fern-audiences:
- internal
post:
description: Create a new GCS import storage connection.
operationId: api_dataset_storages_gcs_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSDatasetStorage'
description: ''
security:
- Token: []
summary: Create import storage
tags:
- 'Dataset Storage: GCS'
x-fern-audiences:
- internal
/api/dataset-storages/gcs/check-for-records/:
post:
description: Checks for existence of records matching the file pattern in the bucket/prefix
operationId: api_dataset_storages_gcs_check_for_records_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSDatasetStorage'
description: ''
security:
- Token: []
summary: Check for records given the file pattern
tags:
- 'Dataset Storage: GCS'
x-fern-audiences:
- internal
/api/dataset-storages/gcs/validate/:
post:
description: Validate a specific GCS import storage connection.
operationId: api_dataset_storages_gcs_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSDatasetStorage'
description: ''
security:
- Token: []
summary: Validate import storage
tags:
- 'Dataset Storage: GCS'
x-fern-audiences:
- internal
/api/dataset-storages/gcs/{id}/:
delete:
description: Delete a specific GCS import storage connection.
operationId: api_dataset_storages_gcs_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete import storage
tags:
- 'Dataset Storage: GCS'
x-fern-audiences:
- internal
get:
description: Get a specific GCS import storage connection.
operationId: api_dataset_storages_gcs_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSDatasetStorage'
description: ''
security:
- Token: []
summary: Get import storage
tags:
- 'Dataset Storage: GCS'
x-fern-audiences:
- internal
patch:
description: Update a specific GCS import storage connection.
operationId: api_dataset_storages_gcs_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSDatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedGCSDatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedGCSDatasetStorageRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSDatasetStorage'
description: ''
security:
- Token: []
summary: Update import storage
tags:
- 'Dataset Storage: GCS'
x-fern-audiences:
- internal
/api/dataset-storages/gcs/{id}/columns/:
get:
description: Retrieves column names from users JSON/blob data in bucket
operationId: api_dataset_storages_gcs_columns_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetStorageColumnsResponse'
description: ''
security:
- Token: []
summary: Get data column names from storage
tags:
- 'Dataset Storage: GCS'
x-fern-audiences:
- internal
/api/dataset-storages/gcs/{id}/sync/:
post:
description: Sync tasks from an GCS import storage connection.
operationId: api_dataset_storages_gcs_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSDatasetStorageRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSDatasetStorage'
description: ''
security:
- Token: []
summary: Sync import storage
tags:
- 'Dataset Storage: GCS'
x-fern-audiences:
- internal
/api/dataset-storages/s3/:
get:
description: Get a list of all S3 import storage connections.
operationId: api_dataset_storages_s3_list
parameters:
- description: Dataset ID
in: query
name: dataset
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/S3DatasetStorage'
type: array
description: ''
security:
- Token: []
summary: Get all import storage
tags:
- 'Dataset Storage: S3'
x-fern-audiences:
- internal
post:
description: Create a new S3 import storage connection.
operationId: api_dataset_storages_s3_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/S3DatasetStorage'
description: ''
security:
- Token: []
summary: Create import storage
tags:
- 'Dataset Storage: S3'
x-fern-audiences:
- internal
/api/dataset-storages/s3/check-for-records/:
post:
description: Checks for existence of records matching the file pattern in the bucket/prefix
operationId: api_dataset_storages_s3_check_for_records_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/S3DatasetStorage'
description: ''
security:
- Token: []
summary: Check for records given the file pattern
tags:
- 'Dataset Storage: S3'
x-fern-audiences:
- internal
/api/dataset-storages/s3/validate/:
post:
description: Validate a specific S3 import storage connection.
operationId: api_dataset_storages_s3_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/S3DatasetStorage'
description: ''
security:
- Token: []
summary: Validate import storage
tags:
- 'Dataset Storage: S3'
x-fern-audiences:
- internal
/api/dataset-storages/s3/{id}/:
delete:
description: Delete a specific S3 import storage connection.
operationId: api_dataset_storages_s3_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete import storage
tags:
- 'Dataset Storage: S3'
x-fern-audiences:
- internal
get:
description: Get a specific S3 import storage connection.
operationId: api_dataset_storages_s3_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/S3DatasetStorage'
description: ''
security:
- Token: []
summary: Get import storage
tags:
- 'Dataset Storage: S3'
x-fern-audiences:
- internal
patch:
description: Update a specific S3 import storage connection.
operationId: api_dataset_storages_s3_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedS3DatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedS3DatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedS3DatasetStorageRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/S3DatasetStorage'
description: ''
security:
- Token: []
summary: Update import storage
tags:
- 'Dataset Storage: S3'
x-fern-audiences:
- internal
/api/dataset-storages/s3/{id}/columns/:
get:
description: Retrieves column names from users JSON/blob data in bucket
operationId: api_dataset_storages_s3_columns_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetStorageColumnsResponse'
description: ''
security:
- Token: []
summary: Get data column names from storage
tags:
- 'Dataset Storage: S3'
x-fern-audiences:
- internal
/api/dataset-storages/s3/{id}/sync/:
post:
description: Sync tasks from an S3 import storage connection.
operationId: api_dataset_storages_s3_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/S3DatasetStorageRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/S3DatasetStorage'
description: ''
security:
- Token: []
summary: Sync import storage
tags:
- 'Dataset Storage: S3'
x-fern-audiences:
- internal
/api/dataset-storages/types/:
get:
description: Retrieve a list of the dataset storages types.
operationId: api_dataset_storages_types_retrieve
responses:
'200':
description: 'A list of dataset storages types {''name'': name, ''title'': title}.'
security:
- Token: []
summary: List all dataset storages types
tags:
- Storage
x-fern-audiences:
- internal
/api/datasets/:
get:
description: List all datasets.
operationId: api_datasets_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Dataset'
type: array
description: ''
security:
- Token: []
summary: List datasets
tags:
- Datasets
x-fern-audiences:
- internal
post:
description: Create a new dataset.
operationId: api_datasets_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DatasetRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DatasetRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Dataset'
description: ''
security:
- Token: []
summary: Create dataset
tags:
- Datasets
x-fern-audiences:
- internal
/api/datasets/columns:
get:
description: Retrieve the data explorer columns available for a specific Dataset.
operationId: api_datasets_columns_retrieve
parameters:
- description: Dataset ID
in: query
name: dataset
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetColumnsResponse'
description: ''
security:
- Token: []
summary: Get data explorer columns
tags:
- Data Explorer
x-fern-audiences:
- internal
/api/datasets/import:
patch:
description: Export Candidate task for a specific dataset to project.
operationId: api_datasets_import_partial_update
parameters:
- description: Job ID to start or cancel
in: query
name: job_id
schema:
type: integer
- description: 'Signal type: start or cancel'
in: query
name: signal
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDatasetImportCandidatesPatchRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedDatasetImportCandidatesPatchRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedDatasetImportCandidatesPatchRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetImportCandidatesResponse'
description: ''
security:
- Token: []
summary: Export candidate tasks to project
tags:
- Datasets
x-fern-audiences:
- internal
post:
description: "\n Export Candidate task for a specific dataset to project.\n "
operationId: api_datasets_import_create
parameters:
- description: Additional filters like page and page_size to limit export
in: query
name: additional_filters
schema:
additionalProperties: {}
type: object
- description: Dataset ID
in: query
name: dataset
schema:
type: integer
- description: Candidate tasks IDs to exclude from export
in: query
name: excluded
schema:
additionalProperties: {}
type: object
- description: Candidate tasks IDs from vectordb database
in: query
name: included
schema:
additionalProperties: {}
type: object
- description: Project ID
in: query
name: project
schema:
type: integer
- description: View ID
in: query
name: view
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetImportCandidatesCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DatasetImportCandidatesCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DatasetImportCandidatesCreateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetImportCandidatesResponse'
description: ''
security:
- Token: []
summary: Export candidate tasks to project
tags:
- Data Explorer
x-fern-audiences:
- internal
/api/datasets/tasks:
get:
description: "\n Retrieve a list of Data Explorer tasks with pagination for a specific view or dataset, by using filters and ordering.\n "
operationId: api_datasets_tasks_retrieve
parameters:
- description: Dataset ID
in: query
name: dataset
schema:
type: integer
- description: Maximum threshold for candidate score
in: query
name: max_threshold
schema:
type: number
- description: Minimum threshold for candidate score
in: query
name: min_threshold
schema:
type: number
- description: Page number in request
in: query
name: page
schema:
type: integer
- description: Number of tasks to return in response
in: query
name: page_size
schema:
type: integer
- description: View ID
in: query
name: view
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetView'
description: ''
security:
- Token: []
summary: Get Data Explorer tasks list
tags:
- Data Explorer
x-fern-audiences:
- internal
/api/datasets/tasks/metadata:
get:
description: "\n Retrieve Candidate task metadata for a specific dataset, by using candidate_task_id or weaviate_id.\n "
operationId: api_datasets_tasks_metadata_retrieve
parameters:
- description: Candidate task path in the bucket
in: query
name: candidate_task_id
schema:
type: string
- description: Dataset ID
in: query
name: dataset
schema:
type: integer
- description: Task ID from vectordb database
in: query
name: vectordb_id
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetTasksMetadataResponse'
description: ''
security:
- Token: []
summary: Get Candidate task metadata
tags:
- Data Explorer
x-fern-audiences:
- internal
/api/datasets/views/:
get:
description: List all views for a specific dataset.
operationId: api_datasets_views_list
parameters:
- description: Dataset ID
in: query
name: dataset
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/DatasetView'
type: array
description: ''
security:
- Token: []
summary: List dataset views
tags:
- Datasets
x-fern-audiences:
- internal
post:
description: Create a view for a specific dataset.
operationId: api_datasets_views_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DatasetViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DatasetViewRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetView'
description: ''
security:
- Token: []
summary: Create dataset view
tags:
- Datasets
x-fern-audiences:
- internal
/api/datasets/views/reset/:
delete:
description: Reset all views for a specific dataset.
operationId: api_datasets_views_reset_destroy
responses:
'204':
description: No response body
security:
- Token: []
summary: Reset dataset views
tags:
- Datasets
x-fern-audiences:
- internal
/api/datasets/views/{id}/:
delete:
description: Delete a specific view by ID.
operationId: api_datasets_views_destroy
parameters:
- description: View ID
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete dataset view
tags:
- Datasets
x-fern-audiences:
- internal
get:
description: Get the details about a specific view in the data manager
operationId: api_datasets_views_retrieve
parameters:
- description: View ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetView'
description: ''
security:
- Token: []
summary: Get dataset view details
tags:
- Datasets
x-fern-audiences:
- internal
patch:
description: Update view data with additional filters and other information for a specific dataset.
operationId: api_datasets_views_partial_update
parameters:
- description: View ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDatasetViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedDatasetViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedDatasetViewRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetView'
description: ''
security:
- Token: []
summary: Update dataset view
tags:
- Datasets
x-fern-audiences:
- internal
put:
description: Overwrite view data with updated filters and other information for a specific dataset.
operationId: api_datasets_views_update
parameters:
- description: View ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetViewRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DatasetViewRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DatasetViewRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetView'
description: ''
security:
- Token: []
summary: Put dataset view
tags:
- Datasets
x-fern-audiences:
- internal
/api/datasets/{id}/:
delete:
description: Delete a dataset by ID
operationId: api_datasets_destroy
parameters:
- description: A unique integer value identifying this dataset.
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete dataset
tags:
- Datasets
x-fern-audiences:
- internal
get:
description: Retrieve a specific dataset.
operationId: api_datasets_retrieve
parameters:
- description: A unique integer value identifying this dataset.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Dataset'
description: ''
security:
- Token: []
summary: Get dataset
tags:
- Datasets
x-fern-audiences:
- internal
patch:
description: Update a specific dataset by ID.
operationId: api_datasets_partial_update
parameters:
- description: A unique integer value identifying this dataset.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDatasetRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedDatasetRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedDatasetRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Dataset'
description: ''
security:
- Token: []
summary: Update dataset
tags:
- Datasets
x-fern-audiences:
- internal
put:
description: Overwrite a specific dataset by ID.
operationId: api_datasets_update
parameters:
- description: A unique integer value identifying this dataset.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DatasetRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DatasetRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Dataset'
description: ''
security:
- Token: []
summary: Put dataset
tags:
- Datasets
x-fern-audiences:
- internal
/api/datasets/{id}/members:
delete:
description: Remove a member from a specific dataset.
operationId: api_datasets_members_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this dataset member.
in: query
name: project_member
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Remove member from dataset
tags:
- Datasets
x-fern-audiences:
- internal
get:
description: Retrieve the members for a specific dataset.
operationId: api_datasets_members_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/DatasetMember'
type: array
description: ''
security:
- Token: []
summary: Get datasets members
tags:
- Datasets
x-fern-audiences:
- internal
post:
description: Add a member to a specific dataset.
operationId: api_datasets_members_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetMemberRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DatasetMemberRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DatasetMemberRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/DatasetMember'
description: ''
security:
- Token: []
summary: Add dataset member
tags:
- Datasets
x-fern-audiences:
- internal
/api/dimensions/backfill/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Cancel Agreement V2 backfill jobs for the authenticated user's active organization. Cancel a specific job by job_id, all jobs for a specific project by project_id, or all backfill jobs for the entire organization if neither is provided.
operationId: api_dimensions_backfill_destroy
parameters:
- description: Optional specific job ID to cancel
in: query
name: job_id
schema:
type: integer
- description: Optional project ID to cancel its active backfill jobs
in: query
name: project_id
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillCancelResponse'
description: ''
'403':
content:
application/json:
schema:
description: Permission denied
description: ''
'404':
content:
application/json:
schema:
description: Organization not found
description: ''
security:
- Token: []
summary: ✨ Cancel Agreement V2 backfill jobs
tags:
- Dimensions
x-fern-audiences:
- public
x-fern-sdk-group-name: dimensions
x-fern-sdk-method-name: cancel_backfill
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Trigger an Agreement V2 backfill for the authenticated user's active organization. Recomputes agreement score matrices for all tasks that are missing them. Exactly one of three body fields must be provided:
- **project_id**: backfill a single specific project.
- **num_projects**: batched org backfill — queue the next N not-yet-started projects (in ascending project ID order), leaving any currently in-flight jobs untouched. Repeat calls until `projects_remaining` in the response reaches 0.
- **all_projects**: full org backfill — cancel all in-flight jobs and queue every remaining non-completed project at once.
Requires administrator or owner role and Agreement V2 access.
operationId: api_dimensions_backfill_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillTriggerRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AgreementV2BackfillTriggerRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AgreementV2BackfillTriggerRequestRequest'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillTriggerResponse'
description: ''
'400':
content:
application/json:
schema:
description: Validation error (Agreement V2 unavailable, invalid params, etc.)
description: ''
'403':
content:
application/json:
schema:
description: Permission denied
description: ''
'404':
content:
application/json:
schema:
description: Organization or project not found
description: ''
security:
- Token: []
summary: ✨ Trigger Agreement V2 backfill
tags:
- Dimensions
x-fern-audiences:
- public
x-fern-sdk-group-name: dimensions
x-fern-sdk-method-name: trigger_backfill
/api/dimensions/backfill/jobs/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve Agreement V2 backfill jobs for the authenticated user's active organization, ordered by most-recently created first. Supports page / page_size query params (default 50 per page, max 500). Requires administrator or owner role and Agreement V2 access.
operationId: api_dimensions_backfill_jobs_list
parameters:
- description: 'Filter by job status: PENDING, QUEUED, RUNNING, COMPLETED, or FAILED.'
in: query
name: status
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AgreementV2BackfillJob'
type: array
description: ''
'400':
content:
application/json:
schema:
description: Agreement V2 feature is not enabled or invalid status value
description: ''
'403':
content:
application/json:
schema:
description: Permission denied
description: ''
security:
- Token: []
summary: ✨ List Agreement V2 backfill jobs
tags:
- Dimensions
x-fern-audiences:
- public
x-fern-sdk-group-name: dimensions
x-fern-sdk-method-name: list_backfills
/api/dimensions/backfill/status/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve the status of an Agreement V2 backfill job for the authenticated user's active organization. By default returns the aggregated organization status. Specify job_id or project_id to get a specific job status. Requires administrator or owner role and Agreement V2 access.
operationId: api_dimensions_backfill_status_retrieve
parameters:
- description: Optional job ID to retrieve specific job status
in: query
name: job_id
schema:
type: integer
- description: Optional project ID to retrieve the latest backfill status for that project. If omitted, returns aggregated organization status.
in: query
name: project_id
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillJob'
description: ''
'403':
content:
application/json:
schema:
description: Permission denied
description: ''
'404':
content:
application/json:
schema:
description: No backfill job found or organization not found
description: ''
security:
- Token: []
summary: ✨ Get Agreement V2 backfill status
tags:
- Dimensions
x-fern-audiences:
- public
x-fern-sdk-group-name: dimensions
x-fern-sdk-method-name: get_backfill_status
/api/dimensions/value-counts-backfill/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Cancel Dimension value-counts backfill jobs for the authenticated user's active organization. Cancel a specific job by job_id, all jobs for a specific project by project_id, or all backfill jobs for the entire organization if neither is provided.
operationId: api_dimensions_value_counts_backfill_destroy
parameters:
- description: Optional specific job ID to cancel
in: query
name: job_id
schema:
type: integer
- description: Optional project ID to cancel its active backfill jobs
in: query
name: project_id
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillCancelResponse'
description: ''
'403':
content:
application/json:
schema:
description: Permission denied
description: ''
'404':
content:
application/json:
schema:
description: Organization not found
description: ''
security:
- Token: []
summary: ✨ Cancel Dimension value-counts backfill jobs
tags:
- Dimensions
x-fern-audiences:
- public
x-fern-sdk-group-name: dimensions
x-fern-sdk-method-name: cancel_value_counts_backfill
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Trigger a Dimension label-distribution value-counts backfill for the authenticated user's active organization. Populates MatrixAnnotatorEntry.value_counts and rebuilds the ProjectSummary.dimension_value_counts cache for all tasks, without recomputing agreement scores. Exactly one of three body fields must be provided:
- **project_id**: backfill a single specific project.
- **num_projects**: batched org backfill — queue the next N not-yet-started projects (in ascending project ID order), leaving any currently in-flight jobs untouched. Repeat calls until `projects_remaining` in the response reaches 0.
- **all_projects**: full org backfill — cancel all in-flight jobs and queue every remaining non-completed project at once.
Requires administrator or owner role and access to Agreement V2 value counts.
operationId: api_dimensions_value_counts_backfill_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillTriggerRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AgreementV2BackfillTriggerRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AgreementV2BackfillTriggerRequestRequest'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillTriggerResponse'
description: ''
'400':
content:
application/json:
schema:
description: Validation error (value counts unavailable, invalid params, etc.)
description: ''
'403':
content:
application/json:
schema:
description: Permission denied
description: ''
'404':
content:
application/json:
schema:
description: Organization or project not found
description: ''
security:
- Token: []
summary: ✨ Trigger Dimension value-counts backfill
tags:
- Dimensions
x-fern-audiences:
- public
x-fern-sdk-group-name: dimensions
x-fern-sdk-method-name: trigger_value_counts_backfill
/api/dimensions/value-counts-backfill/jobs/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve Dimension value-counts backfill jobs for the authenticated user's active organization, ordered by most-recently created first. Supports page / page_size query params (default 50 per page, max 500). Requires administrator or owner role and Agreement V2 access.
operationId: api_dimensions_value_counts_backfill_jobs_list
parameters:
- description: 'Filter by job status: PENDING, QUEUED, RUNNING, COMPLETED, or FAILED.'
in: query
name: status
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ValueCountsBackfillJob'
type: array
description: ''
'400':
content:
application/json:
schema:
description: Agreement V2 feature is not enabled or invalid status value
description: ''
'403':
content:
application/json:
schema:
description: Permission denied
description: ''
security:
- Token: []
summary: ✨ List Dimension value-counts backfill jobs
tags:
- Dimensions
x-fern-audiences:
- public
x-fern-sdk-group-name: dimensions
x-fern-sdk-method-name: list_value_counts_backfills
/api/dimensions/value-counts-backfill/status/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve the status of a Dimension value-counts backfill job for the authenticated user's active organization. By default returns the aggregated organization status. Specify job_id or project_id to get a specific job status. Requires administrator or owner role and Agreement V2 access.
operationId: api_dimensions_value_counts_backfill_status_retrieve
parameters:
- description: Optional job ID to retrieve specific job status
in: query
name: job_id
schema:
type: integer
- description: Optional project ID to retrieve the latest backfill status for that project. If omitted, returns aggregated organization status.
in: query
name: project_id
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ValueCountsBackfillJob'
description: ''
'403':
content:
application/json:
schema:
description: Permission denied
description: ''
'404':
content:
application/json:
schema:
description: No backfill job found or organization not found
description: ''
security:
- Token: []
summary: ✨ Get Dimension value-counts backfill status
tags:
- Dimensions
x-fern-audiences:
- public
x-fern-sdk-group-name: dimensions
x-fern-sdk-method-name: get_value_counts_backfill_status
/api/dm/actions/:
get:
description: Retrieve all the registered actions with descriptions that data manager can use.
operationId: api_dm_actions_retrieve
parameters:
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
examples:
Response:
summary: response
value:
- dialog:
form: null
text: Create annotations from predictions using selected predictions set for each selected task. Your account will be assigned as an owner to those annotations.
title: Create Annotations From Predictions
type: confirm
experimental: false
id: predictions_to_annotations
order: 91
permission: tasks.change
title: Create Annotations From Predictions
schema:
description: List of available actions
items:
properties:
dialog:
properties:
form:
items:
type: object
nullable: true
title: Form
type: array
text:
nullable: true
title: Text
type: string
title:
nullable: true
title: Title
type: string
type:
nullable: true
title: Type
type: string
title: Dialog
type: object
experimental:
title: Experimental
type: boolean
id:
title: Action ID
type: string
order:
title: Order
type: integer
permission:
oneOf:
- type: string
- description: List of permissions (user needs any all of them)
items:
type: string
type: array
title:
title: Title
type: string
title: Action
type: object
title: Action list
type: array
description: Actions retrieved successfully
security:
- Token: []
summary: Get actions
tags:
- Data Manager
x-fern-audiences:
- public
x-fern-sdk-group-name: actions
x-fern-sdk-method-name: list
post:
description: 'Perform a Data Manager action with the selected tasks and filters. Note: More complex actions require additional parameters in the request body. Call `GET api/actions?project=` to explore them. Example: `GET api/actions?id=delete_tasks&project=1`'
operationId: api_dm_actions_create
parameters:
- description: Action name ID, see the full list of actions in the `GET api/actions` request
in: query
name: id
required: true
schema:
enum:
- delete_annotators
- delete_ground_truths
- delete_reviewers
- delete_tasks
- delete_tasks_annotations
- delete_tasks_predictions
- delete_tasks_reviews
- predictions_to_annotations
- remove_duplicates
- retrieve_tasks_predictions
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
- description: View ID (optional, it has higher priority than filters, selectedItems and ordering from the request body payload)
in: query
name: view
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PrepareParamsRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PrepareParamsRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PrepareParamsRequestRequest'
responses:
'200':
description: Action performed successfully
security:
- Token: []
summary: Post actions
tags:
- Data Manager
x-fern-audiences:
- public
x-fern-sdk-group-name: actions
x-fern-sdk-method-name: create
/api/dm/actions/{action_id}/form/:
get:
description: Get the form configuration for a specific action.
operationId: api_dm_actions_form_retrieve
parameters:
- in: path
name: action_id
required: true
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
description: Form configuration object
type: object
description: Action form configuration returned successfully
security:
- Token: []
summary: Get action form
tags:
- Data Manager
x-fern-audiences:
- internal
/api/dm/project/:
get:
description: Retrieve the project state for the data manager.
operationId: api_dm_project_retrieve
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectStateResponse'
description: ''
security:
- Token: []
summary: Get project state
tags:
- Data Manager
x-fern-audiences:
- internal
/api/dm/views/:
get:
description: List all views for a specific project.
operationId: api_dm_views_list
parameters:
- description: Project ID
in: query
name: project
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/View'
type: array
description: ''
security:
- Token: []
summary: List views
tags:
- Data Manager
x-fern-audiences:
- public
x-fern-sdk-group-name: views
x-fern-sdk-method-name: list
post:
description: Create a view for a specific project.
operationId: api_dm_views_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ViewRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ViewRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ViewRequestRequest'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/View'
description: ''
security:
- Token: []
summary: Create view
tags:
- Data Manager
x-fern-audiences:
- public
x-fern-sdk-group-name: views
x-fern-sdk-method-name: create
/api/dm/views/order/:
post:
description: Update the order field of views based on the provided list of view IDs
operationId: api_dm_views_order_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ViewOrderRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ViewOrderRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ViewOrderRequest'
required: true
responses:
'200':
description: View order updated successfully
security:
- Token: []
summary: Update order of views
tags:
- Data Manager
x-fern-audiences:
- public
x-fern-sdk-group-name: views
x-fern-sdk-method-name: update_order
/api/dm/views/reset/:
delete:
description: Delete all views for a specific project.
operationId: api_dm_views_reset_destroy
parameters:
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete all project views
tags:
- Data Manager
x-fern-audiences:
- public
x-fern-sdk-group-name: views
x-fern-sdk-method-name: delete_all
/api/dm/views/{id}/:
delete:
description: Delete a specific view by ID.
operationId: api_dm_views_destroy
parameters:
- description: View ID
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete view
tags:
- Data Manager
x-fern-audiences:
- public
x-fern-sdk-group-name: views
x-fern-sdk-method-name: delete
get:
description: Get the details about a specific view in the data manager
operationId: api_dm_views_retrieve
parameters:
- description: View ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/View'
description: ''
security:
- Token: []
summary: Get view details
tags:
- Data Manager
x-fern-audiences:
- public
x-fern-sdk-group-name: views
x-fern-sdk-method-name: get
patch:
description: Update view data with additional filters and other information for a specific project.
operationId: api_dm_views_partial_update
parameters:
- description: View ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedViewRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedViewRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedViewRequestRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/View'
description: ''
security:
- Token: []
summary: Update view
tags:
- Data Manager
x-fern-audiences:
- public
x-fern-sdk-group-name: views
x-fern-sdk-method-name: update
put:
description: Overwrite view data with updated filters and other information for a specific project.
operationId: api_dm_views_update
parameters:
- description: View ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ViewRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ViewRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ViewRequestRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/View'
description: ''
security:
- Token: []
summary: Put view
tags:
- Data Manager
x-fern-audiences:
- internal
/api/fsm/backfill/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Cancel state backfill jobs for the authenticated user's active organization. Can cancel a specific job by job_id, all jobs for a specific project by project_id, or all backfill jobs for the entire organization if neither is provided.
operationId: api_fsm_backfill_destroy
parameters:
- description: Optional specific job ID to cancel
in: query
name: job_id
schema:
type: integer
- description: Optional project ID to cancel its active jobs
in: query
name: project_id
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StateBackfillCancelResponse'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/StateBackfillErrorResponse'
description: ''
'403':
description: Permission denied
'404':
description: Organization not found
security:
- Token: []
summary: ✨ Cancel state backfill jobs
tags:
- States
x-fern-audiences:
- public
x-fern-sdk-group-name: states
x-fern-sdk-method-name: cancel_backfill
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Trigger state backfill for the authenticated user's active organization. Creates initial state records for entities without states. Requires administrator or owner role and state management access.
operationId: api_fsm_backfill_create
parameters:
- description: Optional project ID to trigger backfill for a single project
in: query
name: project_id
schema:
type: integer
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/StateBackfillResponse'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/StateBackfillErrorResponse'
description: ''
'403':
description: Permission denied
'404':
description: Organization not found
security:
- Token: []
summary: ✨ Trigger state backfill for organization
tags:
- States
x-fern-audiences:
- public
x-fern-sdk-group-name: states
x-fern-sdk-method-name: trigger_backfill
/api/fsm/backfill/jobs/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve the latest 10 state backfill jobs for the authenticated user's active organization. Shows job history with status, progress, and timing information. Requires administrator or owner role and state management access.
operationId: api_fsm_backfill_jobs_retrieve
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StateBackfillJobListResponse'
description: ''
'400':
content:
application/json:
schema:
description: FSM feature is not enabled
description: ''
'403':
content:
application/json:
schema:
description: Permission denied
description: ''
'404':
content:
application/json:
schema:
description: Organization not found
description: ''
security:
- Token: []
summary: ✨ List state backfill jobs
tags:
- States
x-fern-audiences:
- public
x-fern-sdk-group-name: states
x-fern-sdk-method-name: list_backfills
/api/fsm/backfill/status/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve the status of a state backfill job for the authenticated user's active organization. By default returns the aggregated org status, or specify job_id or project_id to get explicit job statuses. Shows progress, completion time, and any errors. Requires administrator or owner role and state management access.
operationId: api_fsm_backfill_status_retrieve
parameters:
- description: Optional job ID to retrieve specific job status
in: query
name: job_id
schema:
type: integer
- description: Optional project ID to retrieve the latest job status for a project. If omitted, returns aggregated org status.
in: query
name: project_id
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/StateBackfillStatusResponse'
description: ''
'403':
content:
application/json:
schema:
description: Permission denied
description: ''
'404':
content:
application/json:
schema:
description: No backfill job found or organization not found
description: ''
security:
- Token: []
summary: ✨ Get state backfill status
tags:
- States
x-fern-audiences:
- public
x-fern-sdk-group-name: states
x-fern-sdk-method-name: get_backfill_status
/api/fsm/entities/{entity_name}/{entity_id}/history:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get the state history of an entity
operationId: api_fsm_entities_history_list
parameters:
- description: Filter for state history items created at or after the ISO 8601 formatted date (YYYY-MM-DDTHH:MM:SS)
in: query
name: created_at_from
schema:
type: string
- description: Filter for state history items created at or before the ISO 8601 formatted date (YYYY-MM-DDTHH:MM:SS)
in: query
name: created_at_to
schema:
type: string
- in: path
name: entity_id
required: true
schema:
type: integer
- in: path
name: entity_name
required: true
schema:
type: string
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Filter previous_state by exact match (case-insensitive)
in: query
name: previous_state
schema:
type: string
- description: Filter state by exact match (case-insensitive)
in: query
name: state
schema:
type: string
- description: Filter transition_name by exact match (case-insensitive)
in: query
name: transition_name
schema:
type: string
- description: Filter triggered_by by exact match
in: query
name: triggered_by
schema:
type: number
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedStateModelList'
description: ''
security:
- Token: []
summary: ✨ Get entity state history
tags:
- States
x-fern-audiences:
- public
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name: states
x-fern-sdk-method-name: state_history
/api/fsm/entities/{entity_name}/{entity_id}/transition/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Execute a registered manual transition for an entity.
operationId: api_fsm_entities_transition_create
parameters:
- in: path
name: entity_id
required: true
schema:
type: integer
- in: path
name: entity_name
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FSMTransitionExecuteRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FSMTransitionExecuteRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FSMTransitionExecuteRequestRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FSMTransitionExecuteResponse'
description: ''
security:
- Token: []
summary: ✨ Execute manual state transition
tags:
- States
x-fern-audiences:
- public
x-fern-sdk-group-name: states
x-fern-sdk-method-name: execute_transition
/api/fsm/organizations/{org_id}/idp-assignments-history/:
get:
description: Read-only state history for IdP group assignments, scoped to the active organization (admin/owner only).
operationId: api_fsm_organizations_idp_assignments_history_list
parameters:
- description: Filter by IdP group name.
in: query
name: group_name
schema:
type: string
- description: Which group-assignment scope to return state history for. Defaults to workspace.
in: query
name: kind
schema:
enum:
- organization
- project
- workspace
type: string
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- in: path
name: org_id
required: true
schema:
type: integer
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Only include state rows recorded at or after this ISO 8601 timestamp.
in: query
name: since
schema:
format: date-time
type: string
- description: Only include state rows recorded at or before this ISO 8601 timestamp.
in: query
name: until
schema:
format: date-time
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedStateModelList'
description: ''
security:
- Token: []
summary: Get organization IdP group assignment history
tags:
- States
x-fern-audiences:
- internal
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name: states
x-fern-sdk-method-name: organization_idp_assignments_history
/api/fsm/organizations/{org_id}/membership-history/:
get:
description: Read-only state history for organization memberships, scoped to the active organization (admin/owner only).
operationId: api_fsm_organizations_membership_history_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- in: path
name: org_id
required: true
schema:
type: integer
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Only include state rows recorded at or after this ISO 8601 timestamp.
in: query
name: since
schema:
format: date-time
type: string
- description: Filter by role source (e.g. manual, saml, scim, ldap, api, billing).
in: query
name: source
schema:
enum:
- api
- billing
- ldap
- manual
- saml
- scim
type: string
- description: Only include state rows recorded at or before this ISO 8601 timestamp.
in: query
name: until
schema:
format: date-time
type: string
- description: Filter the history to a single user.
in: query
name: user_id
schema:
type: integer
- description: Filter by user type (e.g. standard, service, viewonly).
in: query
name: user_type
schema:
enum:
- flex
- service
- standard
- viewonly
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedStateModelList'
description: ''
security:
- Token: []
summary: Get organization membership history
tags:
- States
x-fern-audiences:
- internal
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name: states
x-fern-sdk-method-name: organization_membership_history
/api/fsm/organizations/{org_id}/settings-history/:
get:
description: Read-only state history for organization SAML/SCIM settings, scoped to the active organization (admin/owner only).
operationId: api_fsm_organizations_settings_history_list
parameters:
- description: Which settings to return state history for. Defaults to saml.
in: query
name: kind
schema:
enum:
- saml
- scim
type: string
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- in: path
name: org_id
required: true
schema:
type: integer
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Only include state rows recorded at or after this ISO 8601 timestamp.
in: query
name: since
schema:
format: date-time
type: string
- description: Only include state rows recorded at or before this ISO 8601 timestamp.
in: query
name: until
schema:
format: date-time
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedStateModelList'
description: ''
security:
- Token: []
summary: Get organization settings history
tags:
- States
x-fern-audiences:
- internal
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name: states
x-fern-sdk-method-name: organization_settings_history
/api/fsm/projects/{project_id}/membership-history/:
get:
description: Read-only state history for project memberships (admin/owner of the project organization only).
operationId: api_fsm_projects_membership_history_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- in: path
name: project_id
required: true
schema:
type: integer
- description: Only include state rows recorded at or after this ISO 8601 timestamp.
in: query
name: since
schema:
format: date-time
type: string
- description: Only include state rows recorded at or before this ISO 8601 timestamp.
in: query
name: until
schema:
format: date-time
type: string
- description: Filter the history to a single user.
in: query
name: user_id
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedStateModelList'
description: ''
security:
- Token: []
summary: Get project membership history
tags:
- States
x-fern-audiences:
- internal
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name: states
x-fern-sdk-method-name: project_membership_history
/api/fsm/projects/{project_id}/role-history/:
get:
description: Read-only state history for project role assignments (admin/owner of the project organization only).
operationId: api_fsm_projects_role_history_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- in: path
name: project_id
required: true
schema:
type: integer
- description: Only include state rows recorded at or after this ISO 8601 timestamp.
in: query
name: since
schema:
format: date-time
type: string
- description: Only include state rows recorded at or before this ISO 8601 timestamp.
in: query
name: until
schema:
format: date-time
type: string
- description: Filter the history to a single user.
in: query
name: user_id
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedStateModelList'
description: ''
security:
- Token: []
summary: Get project role history
tags:
- States
x-fern-audiences:
- internal
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name: states
x-fern-sdk-method-name: project_role_history
/api/fsm/workspaces/{workspace_id}/membership-history/:
get:
description: Read-only state history for workspace memberships (admin/owner of the workspace organization only).
operationId: api_fsm_workspaces_membership_history_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Only include state rows recorded at or after this ISO 8601 timestamp.
in: query
name: since
schema:
format: date-time
type: string
- description: Only include state rows recorded at or before this ISO 8601 timestamp.
in: query
name: until
schema:
format: date-time
type: string
- description: Filter the history to a single user.
in: query
name: user_id
schema:
type: integer
- in: path
name: workspace_id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedStateModelList'
description: ''
security:
- Token: []
summary: Get workspace membership history
tags:
- States
x-fern-audiences:
- internal
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name: states
x-fern-sdk-method-name: workspace_membership_history
/api/import/file-upload/{id}:
delete:
description: Delete a specific uploaded file.
operationId: api_import_file_upload_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete file upload
tags:
- Import
x-fern-audiences:
- public
x-fern-sdk-group-name:
- files
x-fern-sdk-method-name: delete
get:
description: Retrieve details about a specific uploaded file.
operationId: api_import_file_upload_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FileUpload'
description: ''
security:
- Token: []
summary: Get file upload
tags:
- Import
x-fern-audiences:
- public
x-fern-sdk-group-name:
- files
x-fern-sdk-method-name: get
patch:
description: Update a specific uploaded file.
operationId: api_import_file_upload_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedFileUploadRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedFileUploadRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedFileUploadRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FileUpload'
description: ''
security:
- Token: []
summary: Update file upload
tags:
- Import
x-fern-audiences:
- public
x-fern-sdk-group-name:
- files
x-fern-sdk-method-name: update
/api/inference-runs/bulk-indicators/:
get:
description: |-
Bulk fetch default indicators for multiple inference runs at once.
Returns aggregated metrics for up to 20 completed runs in a single request,
used by the Comparison Matrix to show all versions side by side.
operationId: api_inference_runs_bulk_indicators_retrieve
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/BulkIndicatorsResponse'
description: ''
security:
- Token: []
summary: ✨ Bulk fetch indicators for inference runs
tags:
- Prompts
/api/inference-runs/re-evaluate/:
post:
description: |-
Create a new inference run targeting only specific tasks (re-evaluation).
Supports four modes:
- custom: provide explicit task_ids
- failed: re-run tasks with failed predictions from a source run
- incorrect: re-run tasks with score < 1.0 from a source run
- regressions: re-run tasks that regressed between two runs
operationId: api_inference_runs_re_evaluate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReEvaluateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ReEvaluateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ReEvaluateRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ReEvaluate'
description: ''
security:
- Token: []
summary: ✨ Re-evaluate specific tasks from a previous run
tags:
- Prompts
/api/inference-runs/regressions/:
get:
description: |-
Compare correctness transitions between two inference runs.
Classifies each task as regression, improvement, stable_correct,
stable_incorrect, new, or removed based on prediction scores.
operationId: api_inference_runs_regressions_retrieve
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RegressionsResponse'
description: ''
security:
- Token: []
summary: ✨ Compare correctness transitions between inference runs
tags:
- Prompts
/api/inference-runs/{id}/indicators/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get key indicators for the Prompt dashboard.
operationId: api_inference_runs_indicators_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
properties:
title:
type: string
values:
type: object
type: object
type: array
description: Key indicators
security:
- Token: []
summary: ✨ Get key indicators
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name:
- prompts
- indicators
x-fern-sdk-method-name: list
/api/inference-runs/{id}/indicators/{indicator_key}:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a specific key indicator for the Prompt dashboard.
operationId: api_inference_runs_indicators_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: indicator_key
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LSEKeyIndicatorValue'
description: Key indicator
security:
- Token: []
summary: ✨ Get key indicator
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name:
- prompts
- indicators
x-fern-sdk-method-name: get
/api/interfaces/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List saved interfaces for the current organization.
operationId: api_interfaces_list
parameters:
- in: query
name: has_published_versions
schema:
type: boolean
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- in: query
name: scope
schema:
type: string
- description: A search term.
in: query
name: search
required: false
schema:
type: string
- in: query
name: workspace
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLseInterfaceListList'
description: ''
security:
- Token: []
summary: ✨ List saved interfaces
tags:
- Interfaces
x-fern-audiences:
- public
x-fern-sdk-group-name: interfaces
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Map each classic labeling template (keyed by "/") to the system interface template and preset parameters that replace it. Empty when modern interface components are not available to the caller.
operationId: api_interfaces_classic_replacements_retrieve
responses:
'200':
content:
application/json:
schema:
additionalProperties: {}
type: object
description: ''
security:
- Token: []
summary: ✨ List classic template replacements
tags:
- Interfaces
x-fern-audiences:
- internal
x-fern-sdk-group-name: interfaces
x-fern-sdk-method-name: classic_replacements
/api/interfaces/{id}/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a saved interface.
operationId: api_interfaces_destroy
parameters:
- description: A unique integer value identifying this interface.
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete a saved interface
tags:
- Interfaces
x-fern-audiences:
- public
x-fern-sdk-group-name: interfaces
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve a saved interface by ID.
operationId: api_interfaces_retrieve
parameters:
- description: A unique integer value identifying this interface.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseInterface'
description: ''
security:
- Token: []
summary: ✨ Get a saved interface
tags:
- Interfaces
x-fern-audiences:
- public
x-fern-sdk-group-name: interfaces
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create a copy of a learning resource.
operationId: api_learning_resources_duplicate_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DuplicateLearningResourceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/DuplicateLearningResourceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/DuplicateLearningResourceRequest'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResource'
description: ''
security:
- Token: []
summary: ✨ Duplicate a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/editing-session/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
POST claims or refreshes presence on a (module, page). A bare heartbeat only tracks presence — it never claims the write lock. Pass `wants_to_edit` to actually claim it: the first session on a free page to ask becomes the writer, later ones stay read-only unless `takeover` is set (which itself implies `wants_to_edit`). Sessions expire 60 seconds after the last heartbeat. DELETE releases the caller's own session.
operationId: api_learning_resources_editing_session_destroy
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CourseEditingSessionResponse'
description: ''
'204':
description: No response body
security:
- Token: []
summary: ✨ Heartbeat or release an editing session for a learning resource
tags:
- Learning Resources
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
POST claims or refreshes presence on a (module, page). A bare heartbeat only tracks presence — it never claims the write lock. Pass `wants_to_edit` to actually claim it: the first session on a free page to ask becomes the writer, later ones stay read-only unless `takeover` is set (which itself implies `wants_to_edit`). Sessions expire 60 seconds after the last heartbeat. DELETE releases the caller's own session.
operationId: api_learning_resources_editing_session_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CourseEditingSessionHeartbeatRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CourseEditingSessionHeartbeatRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CourseEditingSessionHeartbeatRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CourseEditingSessionResponse'
description: ''
'204':
description: No response body
security:
- Token: []
summary: ✨ Heartbeat or release an editing session for a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/invalidate-progress/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Invalidate all learner progress for a learning resource.
operationId: api_learning_resources_invalidate_progress_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
responses:
'200':
description: No response body
security:
- Token: []
summary: ✨ Invalidate progress for a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/modules/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List or create modules for a learning resource.
operationId: api_learning_resources_modules_list
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- in: query
name: scope
schema:
type: string
- description: A search term.
in: query
name: search
required: false
schema:
type: string
- in: query
name: workspace
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedCourseModuleList'
description: ''
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CourseModule'
description: ''
security:
- Token: []
summary: ✨ List or create modules for a learning resource
tags:
- Learning Resources
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List or create modules for a learning resource.
operationId: api_learning_resources_modules_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- in: query
name: scope
schema:
type: string
- description: A search term.
in: query
name: search
required: false
schema:
type: string
- in: query
name: workspace
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedCourseModuleList'
description: ''
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/CourseModule'
description: ''
security:
- Token: []
summary: ✨ List or create modules for a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/modules/reorder/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Reorder modules for a learning resource.
operationId: api_learning_resources_modules_reorder_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- in: query
name: scope
schema:
type: string
- description: A search term.
in: query
name: search
required: false
schema:
type: string
- in: query
name: workspace
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedCourseModuleList'
description: ''
security:
- Token: []
summary: ✨ Reorder modules for a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/modules/{module_id}/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update or delete a module in a learning resource.
operationId: api_learning_resources_modules_destroy
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
- in: path
name: module_id
required: true
schema:
pattern: ^\d+$
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CourseModule'
description: ''
'204':
description: No response body
security:
- Token: []
summary: ✨ Update or delete a module
tags:
- Learning Resources
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update or delete a module in a learning resource.
operationId: api_learning_resources_modules_partial_update
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
- in: path
name: module_id
required: true
schema:
pattern: ^\d+$
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLearningResourceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLearningResourceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLearningResourceRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CourseModule'
description: ''
'204':
description: No response body
security:
- Token: []
summary: ✨ Update or delete a module
tags:
- Learning Resources
/api/learning-resources/{id}/modules/{module_id}/pages/{page_id}/:
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Replace only the supplied keys of a single page. Rejects a write to a page another author holds the editing lock on with 409 `page_in_use`, a stale `page_version` with 409 `page_version_conflict`, and a page that moved to another module with 410 `page_moved`.
operationId: api_learning_resources_modules_pages_partial_update
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
- in: path
name: module_id
required: true
schema:
pattern: ^\d+$
type: string
- description: Page ID, stored inside the module content JSON rather than as its own model field.
in: path
name: page_id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedCoursePageUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedCoursePageUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedCoursePageUpdateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CoursePageSaveResponse'
description: ''
security:
- Token: []
summary: ✨ Save one page of a module
tags:
- Learning Resources
/api/learning-resources/{id}/outline/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Module and page identity, titles and page versions without any block content.
operationId: api_learning_resources_outline_retrieve
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CourseOutline'
description: ''
security:
- Token: []
summary: ✨ Get the structure outline of a course
tags:
- Learning Resources
/api/learning-resources/{id}/progress/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update the current user's progress on a learning resource.
operationId: api_learning_resources_progress_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LearningProgressUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LearningProgressUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LearningProgressUpdateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LearningProgressResponse'
description: ''
security:
- Token: []
summary: ✨ Update learner progress on a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/project-assignments/:
post:
description: Create project assignments for many projects in one request.
operationId: api_learning_resources_project_assignments_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkProjectLearningAssignmentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BulkProjectLearningAssignmentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/BulkProjectLearningAssignmentRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResource'
description: ''
security:
- Token: []
summary: ✨ Bulk assign learning resource to projects
tags:
- Learning Resources
/api/learning-resources/{id}/publish/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Publish a learning resource to make it available to learners.
operationId: api_learning_resources_publish_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PublishLearningResourceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PublishLearningResourceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PublishLearningResourceRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResource'
description: ''
security:
- Token: []
summary: ✨ Publish a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/structure/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Apply a semantic structural operation (add/delete/duplicate/reorder/move page or module, rename module) to current server state under a compare-and-swap on `structure_version`. A stale version returns 409 `structure_version_conflict` with the fresh outline so the client can resync and retry.
operationId: api_learning_resources_structure_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CourseStructureOpRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CourseStructureOpRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CourseStructureOpRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CourseStructureOpResponse'
description: ''
security:
- Token: []
summary: ✨ Apply a structural change to a course
tags:
- Learning Resources
/api/learning-resources/{id}/take/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a published learning resource available for standalone access.
operationId: api_learning_resources_take_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResourceDetail'
description: ''
security:
- Token: []
summary: ✨ Get a standalone learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/unpublish/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Unpublish a learning resource to hide it from learners.
operationId: api_learning_resources_unpublish_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResource'
description: ''
security:
- Token: []
summary: ✨ Unpublish a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/upload/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Upload a file asset for use in a learning resource.
operationId: api_learning_resources_upload_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResourceUploadResponse'
description: ''
security:
- Token: []
summary: ✨ Upload a file for a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/user-progress/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Paginated progress for users who started the course.
operationId: api_learning_resources_user_progress_list
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- in: query
name: scope
schema:
type: string
- description: A search term.
in: query
name: search
required: false
schema:
type: string
- in: query
name: workspace
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUserLearningProgressListList'
description: ''
security:
- Token: []
summary: ✨ List user progress for a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/user-progress/bulk-reset/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete multiple learners' progress on this course and revoke their certificates.
operationId: api_learning_resources_user_progress_bulk_reset_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkResetCourseProgressRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BulkResetCourseProgressRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/BulkResetCourseProgressRequest'
required: true
responses:
'200':
content:
application/json:
schema:
properties:
reset_count:
type: integer
type: object
description: ''
security:
- Token: []
summary: ✨ Bulk reset user progress on a learning resource
tags:
- Learning Resources
/api/learning-resources/{id}/user-progress/export/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Export filtered course learner progress as CSV.
operationId: api_learning_resources_user_progress_export_retrieve
parameters:
- description: Comma-separated learner table column identifiers to export.
in: query
name: columns
schema:
type: string
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
- description: Learner ordering; prefix a field with "-" for descending order.
in: query
name: ordering
schema:
type: string
- description: Filter learners by email, first name, or last name.
in: query
name: search
schema:
type: string
- description: Comma-separated course progress statuses.
in: query
name: status
schema:
type: string
responses:
'200':
content:
application/json:
schema:
format: binary
type: string
description: ''
security:
- Token: []
summary: ✨ Export user progress for a learning resource
tags:
- Learning Resources
x-fern-audiences:
- internal
x-fern-sdk-group-name:
- learning_resources
x-fern-sdk-method-name: export_user_progress_csv
/api/learning-resources/{id}/user-progress/import/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Upload a CSV export to mark organization members as having completed the course.
operationId: api_learning_resources_user_progress_import_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
multipart/form-data:
schema:
properties:
file:
format: binary
type: string
type: object
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CourseProgressImportResult'
description: ''
security:
- Token: []
summary: ✨ Import completed learner progress from CSV
tags:
- Learning Resources
/api/learning-resources/{id}/user-progress/{user_id}/reset/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a learner's progress on this course and revoke their certificate so they must retake it.
operationId: api_learning_resources_user_progress_reset_create
parameters:
- description: A unique integer value identifying this learning resource.
in: path
name: id
required: true
schema:
type: integer
- in: path
name: user_id
required: true
schema:
pattern: ^\d+$
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LearningResourceRequest'
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Reset user progress on a learning resource
tags:
- Learning Resources
/api/llm/openai/chat/completions:
post:
description: 'Proxy requests to OpenAI-compatible chat completions APIs and return the full response payload. Supports multiple providers via model parameter format: "model_name" (defaults to OpenAI), "provider/model_name", or "provider:model_name". Works with providers that offer OpenAI-compatible endpoints.'
operationId: api_llm_openai_chat_completions_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ChatCompletionRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ChatCompletionRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ChatCompletionRequestRequest'
required: true
responses:
'200':
content:
application/json:
schema:
properties:
choices:
description: Array of completion choices
items:
properties:
finish_reason:
description: The reason the completion finished
type: string
index:
description: The index of the choice
type: integer
message:
properties:
content:
description: The content of the message
type: string
role:
description: The role of the message author
type: string
type: object
type: object
type: array
created:
description: Unix timestamp of when the completion was created
type: integer
id:
description: Unique identifier for the chat completion
type: string
model:
description: The model used for the completion
type: string
object:
description: Object type, always "chat.completion"
type: string
usage:
description: Token usage statistics
properties:
completion_tokens:
description: Number of tokens in the completion
type: integer
prompt_tokens:
description: Number of tokens in the prompt
type: integer
total_tokens:
description: Total number of tokens used
type: integer
type: object
type: object
description: Chat completion response
'400':
content:
application/json:
schema:
properties:
detail:
description: Error message describing the issue
type: string
type: object
description: Bad request - missing required fields or invalid provider
security:
- Token: []
summary: Proxy to OpenAI-Compatible Chat Completions
tags:
- LLM
x-fern-audiences:
- internal
/api/ml/:
get:
description: "\n List all configured ML backends for a specific project by ID.\n Use the following cURL command:\n ```bash\n curl http://localhost:8000/api/ml?project={project_id} -H 'Authorization: Token abc123'\n "
operationId: api_ml_list
parameters:
- in: query
name: is_interactive
schema:
type: boolean
- description: Project ID
in: query
name: project
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/MLBackend'
type: array
description: ''
security:
- Token: []
summary: List ML backends
tags:
- Machine Learning
x-fern-audiences:
- public
x-fern-sdk-group-name: ml
x-fern-sdk-method-name: list
post:
description: "\n Add an ML backend to a project using the Label Studio UI or by sending a POST request using the following cURL \n command:\n ```bash\n curl -X POST -H 'Content-type: application/json' http://localhost:8000/api/ml -H 'Authorization: Token abc123'\\\n --data '{\"url\": \"http://localhost:9090\", \"project\": {project_id}}' \n "
operationId: api_ml_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MLBackendRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MLBackendRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MLBackendRequestRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/MLBackend'
description: ''
security:
- Token: []
summary: Add ML Backend
tags:
- Machine Learning
x-fern-audiences:
- public
x-fern-sdk-group-name: ml
x-fern-sdk-method-name: create
/api/ml/{id}:
delete:
description: "\n Remove an existing ML backend connection by ID. For example, use the\n following cURL command:\n ```bash\n curl -X DELETE http://localhost:8000/api/ml/{ml_backend_ID} -H 'Authorization: Token abc123'\n "
operationId: api_ml_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Remove ML Backend
tags:
- Machine Learning
x-fern-audiences:
- public
x-fern-sdk-group-name: ml
x-fern-sdk-method-name: delete
get:
description: "\n Get details about a specific ML backend connection by ID. For example, make a GET request using the\n following cURL command:\n ```bash\n curl http://localhost:8000/api/ml/{ml_backend_ID} -H 'Authorization: Token abc123'\n "
operationId: api_ml_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MLBackend'
description: ''
security:
- Token: []
summary: Get ML Backend
tags:
- Machine Learning
x-fern-audiences:
- public
x-fern-sdk-group-name: ml
x-fern-sdk-method-name: get
patch:
description: "\n Update ML backend parameters using the Label Studio UI or by sending a PATCH request using the following cURL command:\n ```bash\n curl -X PATCH -H 'Content-type: application/json' http://localhost:8000/api/ml/{ml_backend_ID} -H 'Authorization: Token abc123'\\\n --data '{\"url\": \"http://localhost:9091\"}' \n "
operationId: api_ml_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedMLBackendRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedMLBackendRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedMLBackendRequestRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MLBackend'
description: ''
security:
- Token: []
summary: Update ML Backend
tags:
- Machine Learning
x-fern-audiences:
- public
x-fern-sdk-group-name: ml
x-fern-sdk-method-name: update
/api/ml/{id}/interactive-annotating:
post:
description: "\n Send a request to the machine learning backend set up to be used for interactive preannotations to retrieve a\n predicted region based on annotator input. \n See [set up machine learning](https://labelstud.io/guide/ml.html#Get-interactive-preannotations) for more.\n "
operationId: api_ml_interactive_annotating_create
parameters:
- description: A unique integer value identifying this ML backend.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MLInteractiveAnnotatingRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MLInteractiveAnnotatingRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MLInteractiveAnnotatingRequestRequest'
required: true
responses:
'200':
description: Interactive annotation has succeeded.
security:
- Token: []
summary: Request Interactive Annotation
tags:
- Machine Learning
x-fern-audiences:
- public
x-fern-sdk-group-name: ml
x-fern-sdk-method-name: predict_interactive
/api/ml/{id}/predict:
post:
description: "\n \n
\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\n \n\n\nCreate predictions for all tasks using a specific ML backend so that you can set up an active learning strategy based on the confidence or uncertainty scores associated with the predictions. Creating predictions requires a Label Studio ML backend set up and configured for your project. \n\nSee [Set up machine learning](https://labelstud.io/guide/ml.html) for more details about a Label Studio ML backend. \n\nReference the ML backend ID in the path of this API call. Get the ML backend ID by [listing the ML backends for a project](api:GET/api/ml/)."
operationId: api_ml_predict_create
parameters:
- description: Computed number of tasks without predictions that the ML backend needs to predict.
in: query
name: batch_size
schema:
type: integer
- description: A unique integer value identifying this ML backend.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
description: Predictions have successfully started.
security:
- Token: []
summary: ✨ Create predictions for all tasks
tags:
- Machine Learning
x-fern-audiences:
- public
x-fern-sdk-group-name: ml
x-fern-sdk-method-name: predict_all_tasks
/api/ml/{id}/predict/test:
post:
description: "\n After you add an ML backend, call this API with the ML backend ID to run a test prediction on specific task data \n "
operationId: api_ml_predict_test_create
parameters:
- description: A unique integer value identifying this ML backend.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MLBackendRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MLBackendRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MLBackendRequest'
required: true
responses:
'200':
description: Predicting has successfully started.
'500':
content:
application/json:
schema:
description: Error message
example: Server responded with an error.
type: string
description: Predicting error
security:
- Token: []
summary: Test prediction
tags:
- Machine Learning
x-fern-audiences:
- internal
x-fern-sdk-group-name: ml
x-fern-sdk-method-name: test_predict
/api/ml/{id}/train:
post:
description: "\n After you add an ML backend, call this API with the ML backend ID to start training with \n already-labeled tasks. \n \n Get the ML backend ID by [listing the ML backends for a project](api:GET/api/ml/).\n "
operationId: api_ml_train_create
parameters:
- description: A unique integer value identifying this ML backend.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MLBackendTrainRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/MLBackendTrainRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/MLBackendTrainRequestRequest'
responses:
'200':
description: Training has successfully started.
'500':
content:
application/json:
schema:
description: Error message
example: Server responded with an error.
type: string
description: Training error
security:
- Token: []
summary: Train
tags:
- Machine Learning
x-fern-audiences:
- public
x-fern-sdk-group-name: ml
x-fern-sdk-method-name: train
/api/ml/{id}/versions:
get:
description: Get available versions of the model.
operationId: api_ml_versions_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
message:
type: string
versions:
items:
type: string
type: array
type: object
description: List of available versions.
security:
- Token: []
summary: Get model versions
tags:
- Machine Learning
x-fern-audiences:
- public
x-fern-sdk-group-name: ml
x-fern-sdk-method-name: list_model_versions
/api/model-provider-connections/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List all model provider connections.
operationId: api_model_provider_connections_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ModelProviderConnection'
type: array
description: ''
security:
- Token: []
summary: ✨ List model provider connections
tags:
- Model Provider Connection
x-fern-audiences:
- public
x-fern-sdk-group-name: model_providers
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create a new model provider connection.
operationId: api_model_provider_connections_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelProviderConnectionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ModelProviderConnectionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ModelProviderConnectionRequest'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ModelProviderConnection'
description: ''
security:
- Token: []
summary: ✨ Create model provider connection
tags:
- Model Provider Connection
x-fern-audiences:
- public
x-fern-sdk-group-name: model_providers
x-fern-sdk-method-name: create
/api/model-provider-connections/provider-choices:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List all possible model provider choices
operationId: api_model_provider_connections_provider_choices_retrieve
responses:
'200':
content:
application/json:
schema:
properties:
provider_choices:
items:
type: string
type: array
type: object
description: List of model provider choices
security:
- Token: []
summary: ✨ List model provider choices
tags:
- Model Provider Connection
x-fern-audiences:
- public
x-fern-sdk-group-name: model_providers
x-fern-sdk-method-name: list_model_provider_choices
/api/model-provider-connections/{id}/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a model provider connection by ID
operationId: api_model_provider_connections_destroy
parameters:
- description: A unique integer value identifying this model provider connection.
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete model provider connection
tags:
- Model Provider Connection
x-fern-audiences:
- public
x-fern-sdk-group-name: model_providers
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve a specific model provider connection.
operationId: api_model_provider_connections_retrieve
parameters:
- description: A unique integer value identifying this model provider connection.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModelProviderConnection'
description: ''
security:
- Token: []
summary: ✨ Get model provider connection
tags:
- Model Provider Connection
x-fern-audiences:
- public
x-fern-sdk-group-name: model_providers
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific model provider connection by ID.
operationId: api_model_provider_connections_partial_update
parameters:
- description: A unique integer value identifying this model provider connection.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedModelProviderConnectionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedModelProviderConnectionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedModelProviderConnectionRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModelProviderConnection'
description: ''
security:
- Token: []
summary: ✨ Update model provider connection
tags:
- Model Provider Connection
x-fern-audiences:
- public
x-fern-sdk-group-name: model_providers
x-fern-sdk-method-name: update
put:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Overwrite a specific model provider connection by ID.
operationId: api_model_provider_connections_update
parameters:
- description: A unique integer value identifying this model provider connection.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelProviderConnectionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ModelProviderConnectionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ModelProviderConnectionRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModelProviderConnection'
description: ''
security:
- Token: []
summary: ✨ Put model provider connection
tags:
- Model Provider Connection
x-fern-audiences:
- internal
/api/model-run/batch-failed-predictions:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create a new batch of failed predictions.
operationId: api_model_run_batch_failed_predictions_create
parameters:
- description: Number of failed predictions being sent (for telemetry only, has no effect)
in: query
name: num_failed_predictions
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BatchFailedPredictionsRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BatchFailedPredictionsRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/BatchFailedPredictionsRequestRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/BatchFailedPredictions'
description: ''
security:
- Token: []
summary: ✨ Create batch of failed predictions
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name: prompts
x-fern-sdk-method-name: batch_failed_predictions
/api/model-run/batch-predictions:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create a new batch prediction.
operationId: api_model_run_batch_predictions_create
parameters:
- description: Number of predictions being sent (for telemetry only, has no effect)
in: query
name: num_predictions
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BatchPredictionsRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BatchPredictionsRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/BatchPredictionsRequestRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/BatchPredictions'
description: ''
security:
- Token: []
summary: ✨ Create batch predictions
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name: prompts
x-fern-sdk-method-name: batch_predictions
/api/organizations/:
get:
description: "\n Return a list of the organizations you've created or that you have access to.\n "
operationId: api_organizations_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/OrganizationId'
type: array
description: ''
security:
- Token: []
summary: List your organizations
tags:
- Organizations
x-fern-audiences:
- public
x-fern-sdk-group-name: organizations
x-fern-sdk-method-name: list
/api/organizations/{id}:
get:
description: Retrieve the settings for a specific organization by ID.
operationId: api_organizations_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseOrganization'
description: ''
security:
- Token: []
summary: Get organization settings
tags:
- Organizations
x-fern-audiences:
- public
x-fern-sdk-group-name: organizations
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update organization details including title, embed domains, and Plugins settings.
operationId: api_organizations_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseOrganizationSerializerUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLseOrganizationSerializerUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLseOrganizationSerializerUpdateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseOrganization'
description: ''
'400':
description: Bad Request
'403':
description: Permission Denied
'404':
description: Not Found
security:
- Token: []
summary: ✨ Update organization
tags:
- Organizations
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
x-fern-sdk-method-name: update
/api/organizations/{id}/jobs/:
get:
description: Bounded, cursor-paginated list of background jobs for the active organization, sourced from the FIT-2919 per-organization indexes. Internal only.
operationId: api_organizations_jobs_list
parameters:
- description: Opaque pagination cursor from a previous response.
in: query
name: cursor
schema:
type: string
- in: path
name: id
required: true
schema:
type: integer
- description: Case-insensitive substring match on the job function path (e.g. `export`).
in: query
name: job_function
schema:
type: string
- description: Results per page (max 1000, default 50).
in: query
name: page_size
schema:
type: integer
- description: Only include jobs whose index timestamp (enqueued_at for waiting, started_at for running, failed_at for failed) is at or after this ISO-8601 datetime.
in: query
name: since
schema:
format: date-time
type: string
- description: Job status to list.
in: query
name: status
required: true
schema:
enum:
- failed
- running
- waiting
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JobsListResponse'
description: ''
security:
- Token: []
summary: List organization background jobs
tags:
- Background Jobs
x-fern-audiences:
- internal
/api/organizations/{id}/jobs/summary/:
get:
description: Running/waiting/failed-24h counts and per-queue quota usage for the active organization, sourced from the FIT-2919 per-organization indexes. No per-project breakdown. Internal only.
operationId: api_organizations_jobs_summary_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JobsSummary'
description: ''
'404':
description: Not found
security:
- Token: []
summary: Get organization background job summary
tags:
- Background Jobs
x-fern-audiences:
- internal
/api/organizations/{id}/jobs/{job_id}/:
get:
description: Detail for a single active-organization background job. Failed jobs include redacted exception info (class, message, last 8 repo-relative frames — never args/kwargs). Internal only.
operationId: api_organizations_jobs_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: job_id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/JobDetail'
description: ''
'404':
description: Not found
security:
- Token: []
summary: Get organization background job detail
tags:
- Background Jobs
x-fern-audiences:
- internal
/api/organizations/{id}/member-tags:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve a list of all member tags for a specific organization.
operationId: api_organizations_member_tags_list
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: 'Number of results per page (default: 30, max: 100).'
in: query
name: page_size
schema:
type: integer
- description: Search tags by label (case-insensitive).
in: query
name: search
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedOrganizationMemberTagList'
description: ''
security:
- Token: []
summary: ✨ List organization member tags
tags:
- Organizations
- Member Tags
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- member_tags
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create a new member tag for a specific organization.
operationId: api_organizations_member_tags_create
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTagRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrganizationMemberTagRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/OrganizationMemberTagRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTag'
description: ''
'400':
description: Bad Request - A tag with this label already exists
'403':
description: Permission Denied
security:
- Token: []
summary: ✨ Create organization member tag
tags:
- Organizations
- Member Tags
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- member_tags
x-fern-sdk-method-name: create
/api/organizations/{id}/member-tags/assignments:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Assign tags to multiple organization members in bulk.
operationId: api_organizations_member_tags_assignments_create
parameters:
- description: Filter exclude_project_id by exact match
in: query
name: exclude_project_id
schema:
type: number
- description: Filter exclude_workspace_id by exact match
in: query
name: exclude_workspace_id
schema:
type: number
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
- description: Filter is_deleted by exact match
in: query
name: is_deleted
schema:
type: boolean
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: role
schema:
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: tags
schema:
type: string
- description: Filter user__last_activity by greater than or equal to
in: query
name: user__last_activity__gte
schema:
type: string
- description: Filter user__last_activity by less than or equal to
in: query
name: user__last_activity__lte
schema:
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: user_type
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkOrganizationMemberTagAssignmentRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BulkOrganizationMemberTagAssignmentRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/BulkOrganizationMemberTagAssignmentRequest'
required: true
responses:
'200':
content:
application/json:
schema:
properties:
assigned:
type: integer
type: object
description: Number of tag assignments created
'400':
description: Bad Request - Invalid input
'403':
description: Permission Denied
security:
- Token: []
summary: ✨ Bulk assign tags to organization members
tags:
- Organizations
- Member Tags
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- member_tags
x-fern-sdk-method-name: assign
/api/organizations/{id}/member-tags/bulk:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete multiple member tags from the organization in bulk. Pass tag IDs via the `ids` query parameter (comma-separated or repeated). For backward compatibility, a JSON body with `ids` is still accepted.
operationId: api_organizations_member_tags_bulk_destroy
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
- description: Tag IDs to delete. Accepts comma-separated values (e.g., `1,2`) or repeated params.
in: query
name: ids
schema:
type: string
responses:
'200':
content:
application/json:
examples:
LegacySDKUsage(supported):
description: |-
Backward-compatible legacy call with DELETE body: ls.organizations.member_tags.bulk.delete(
id=123,
request_options={'additional_body_parameters': {'ids': [1, 2]}},
)
summary: Legacy SDK usage (supported)
SDKUsage:
description: |-
SDK call example using DELETE query params: ls.organizations.member_tags.bulk.delete(
id=123,
ids=[1, 2],
)
summary: SDK usage
schema:
properties:
deleted:
type: integer
type: object
description: Number of tags deleted
'400':
description: Bad Request - Invalid input
'403':
description: Permission Denied
security:
- Token: []
summary: ✨ Bulk delete organization member tags
tags:
- Organizations
- Member Tags
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- member_tags
- bulk
x-fern-sdk-method-name: delete
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create multiple member tags for the organization in bulk. Duplicate labels within the request are deduplicated. Labels that already exist in the organization are skipped.
operationId: api_organizations_member_tags_bulk_create
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTagBulkCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrganizationMemberTagBulkCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/OrganizationMemberTagBulkCreateRequest'
required: true
responses:
'201':
content:
application/json:
schema:
properties:
created:
type: integer
type: object
description: Number of tags created
'400':
description: Bad Request - Invalid input
'403':
description: Permission Denied
security:
- Token: []
summary: ✨ Bulk create organization member tags
tags:
- Organizations
- Member Tags
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- member_tags
- bulk
x-fern-sdk-method-name: post
/api/organizations/{id}/member-tags/imports:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Upload a CSV file to bulk import member tags and assign them to organization members.
The CSV file must contain `email` and `tags` columns. The `tags` column should contain comma-separated tag labels (quoted if they contain commas). Tags that do not exist will be created.
Optionally, you can specify `bulk_tags` as a comma-separated list of tags to apply to all users in the CSV file.
The import runs asynchronously. Use the returned import job ID to check the status.
operationId: api_organizations_member_tags_imports_create
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrganizationMemberTagImportCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/OrganizationMemberTagImportCreateRequest'
required: true
responses:
'201':
content:
application/json:
schema:
properties:
import:
description: The ID of the created import job
type: integer
type: object
description: Import job created successfully
'400':
description: Bad Request - Invalid CSV file or missing required columns
'403':
description: Permission Denied
security:
- Token: []
summary: ✨ Import member tags from CSV
tags:
- Organizations
- Member Tags
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- member_tags
x-fern-sdk-method-name: import
/api/organizations/{id}/member-tags/imports/{import_pk}:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve the status and results of a member tag import job.
The response includes the current status (created, in_progress, completed, failed), timestamps, and counts of tags created, assignments made, and users skipped.
operationId: api_organizations_member_tags_imports_retrieve
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this import job.
in: path
name: import_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTagImportStatus'
description: ''
'403':
description: Permission Denied
'404':
description: Import job not found
security:
- Token: []
summary: ✨ Get member tag import status
tags:
- Organizations
- Member Tags
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- member_tags
x-fern-sdk-method-name: get_import
/api/organizations/{id}/member-tags/{tag_pk}:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a member tag from the organization.
operationId: api_organizations_member_tags_destroy
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this member tag.
in: path
name: tag_pk
required: true
schema:
type: integer
responses:
'204':
description: Member tag deleted successfully
'403':
description: Permission Denied
'404':
description: Member tag not found
security:
- Token: []
summary: ✨ Delete organization member tag
tags:
- Organizations
- Member Tags
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- member_tags
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve details of a specific member tag.
operationId: api_organizations_member_tags_retrieve
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this member tag.
in: path
name: tag_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTag'
description: ''
'404':
description: Member tag not found
security:
- Token: []
summary: ✨ Get organization member tag
tags:
- Organizations
- Member Tags
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- member_tags
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Partially update an existing member tag.
operationId: api_organizations_member_tags_partial_update
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this member tag.
in: path
name: tag_pk
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedOrganizationMemberTagRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedOrganizationMemberTagRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedOrganizationMemberTagRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTag'
description: ''
'400':
description: Bad Request - A tag with this label already exists
'403':
description: Permission Denied
'404':
description: Member tag not found
security:
- Token: []
summary: ✨ Update organization member tag
tags:
- Organizations
- Member Tags
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- member_tags
x-fern-sdk-method-name: update
/api/organizations/{id}/memberships:
get:
description: Retrieve a list of the organization members and their IDs.
operationId: api_organizations_memberships_list
parameters:
- description: Whether to include projects created and contributed to by the members.
in: query
name: contributed_to_projects
schema:
type: boolean
- in: query
name: exclude_project_id
schema:
type: number
- in: query
name: exclude_workspace_id
schema:
type: number
- in: path
name: id
required: true
schema:
type: integer
- in: query
name: is_deleted
schema:
type: boolean
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Multiple values may be separated by commas.
explode: false
in: query
name: role
schema:
items:
type: string
type: array
style: form
- description: A search term.
in: query
name: search
required: false
schema:
type: string
- description: Multiple values may be separated by commas.
explode: false
in: query
name: tags
schema:
items:
type: integer
type: array
style: form
- in: query
name: user__last_activity__gte
schema:
format: date-time
type: string
- in: query
name: user__last_activity__lte
schema:
format: date-time
type: string
- description: Multiple values may be separated by commas.
explode: false
in: query
name: user_type
schema:
items:
type: string
type: array
style: form
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLseOrganizationMemberListList'
description: ''
security:
- Token: []
summary: Get organization members list
tags:
- Organizations
x-fern-audiences:
- public
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name:
- organizations
- members
x-fern-sdk-method-name: list
patch:
description: |+
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update organization membership or role for a specific user ID.
**User Rotation Best Practices for API Usage**
To maintain compliance with our licensing terms and ensure optimal performance of HumanSignal's APIs, please consider the following guidelines when managing user assignments:
* **Maintain the Minimum Assignment duration**: Once a licensed seat is assigned to a user, maintain that assignment for at least the minimum consecutive days before rotating the user. This duration can be found in your enterprise contract language.
* **Automate, Monitor, and Log Rotations**: Implement automated scheduling and logging mechanisms to track the timing of user rotations. This helps ensure that rotations adhere to the aforementioned minimum period.
* **Adhere to API Update Frequency and Wait Periods**: When updating user assignments via our APIs, follow the recommended frequency and wait period guidelines provided in the HumanSignal API documentation. Avoid sending rapid, successive requests that might overload the endpoint. Instead, incorporate appropriate delays between calls as specified in the documentation.
* **Avoid Overloading the API Endpoint**: Design your integration to batch or schedule updates where possible, and implement backoff strategies if the API indicates rate limiting. This helps prevent service disruptions and ensures a smooth operation.
operationId: api_organizations_memberships_partial_update
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedOrganizationMemberCreateUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedOrganizationMemberCreateUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedOrganizationMemberCreateUpdateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseOrganizationMemberList'
description: ''
security:
- Token: []
summary: ✨ Update organization member/role
tags:
- Organizations
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- members
x-fern-sdk-method-name: update
/api/organizations/{id}/memberships/filter-options/membership:
get:
description: Return the actor-accessible workspaces, each with its projects, plus unparented projects.
operationId: api_organizations_memberships_filter_options_membership_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Optional case-insensitive option label search.
in: query
name: search
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/OrganizationMemberMembershipOption'
type: array
description: ''
security:
- Token: []
summary: List organization member membership filter options
tags:
- Organizations
x-fern-audiences:
- public
/api/organizations/{id}/memberships/filter-options/skills:
get:
description: Return self-reported Skills values with Contributor Setup display metadata.
operationId: api_organizations_memberships_filter_options_skills_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Optional case-insensitive option label search.
in: query
name: search
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/OrganizationMemberSkillsOption'
type: array
description: ''
security:
- Token: []
summary: List organization member Skills filter options
tags:
- Organizations
x-fern-audiences:
- public
/api/organizations/{id}/memberships/filter-schema:
get:
description: Return the filter dimensions enabled for the current organization and actor.
operationId: api_organizations_memberships_filter_schema_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberFilterSchema'
description: ''
security:
- Token: []
summary: Get organization member filter capabilities
tags:
- Organizations
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- members
x-fern-sdk-method-name: get_filter_schema
/api/organizations/{id}/memberships/search:
get:
description: Retrieve a paginated organization-member list using the versioned `filters` query parameter.
operationId: api_organizations_memberships_search_list
parameters:
- in: query
name: exclude_project_id
schema:
type: number
- in: query
name: exclude_workspace_id
schema:
type: number
- description: Versioned JSON organization-member filter payload.
in: query
name: filters
schema:
type: string
- in: path
name: id
required: true
schema:
type: integer
- in: query
name: is_deleted
schema:
type: boolean
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Multiple values may be separated by commas.
explode: false
in: query
name: role
schema:
items:
type: string
type: array
style: form
- description: A search term.
in: query
name: search
required: false
schema:
type: string
- description: Multiple values may be separated by commas.
explode: false
in: query
name: tags
schema:
items:
type: integer
type: array
style: form
- in: query
name: user__last_activity__gte
schema:
format: date-time
type: string
- in: query
name: user__last_activity__lte
schema:
format: date-time
type: string
- description: Multiple values may be separated by commas.
explode: false
in: query
name: user_type
schema:
items:
type: string
type: array
style: form
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLseOrganizationMemberListList'
description: ''
security:
- Token: []
summary: List organization members using reusable filters
tags:
- Organizations
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- members
x-fern-sdk-method-name: list_filtered
post:
description: POST transport for the versioned organization-member filter payload.
operationId: api_organizations_memberships_search_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberFilterRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrganizationMemberFilterRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/OrganizationMemberFilterRequestRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseOrganizationMemberList'
description: ''
security:
- Token: []
summary: Search organization members using reusable filters
tags:
- Organizations
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- members
x-fern-sdk-method-name: search
/api/organizations/{id}/memberships/{user_pk}/:
delete:
description: Soft delete a member from the organization.
operationId: api_organizations_memberships_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying the user to be deleted from the organization.
in: path
name: user_pk
required: true
schema:
type: integer
responses:
'204':
description: Member deleted successfully.
'403':
description: You can delete members only for your current active organization
'404':
description: Member not found
'405':
description: User cannot soft delete self.
security:
- Token: []
summary: Soft delete an organization member
tags:
- Organizations
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- members
x-fern-sdk-method-name: delete
get:
description: Get organization member details by user ID.
operationId: api_organizations_memberships_retrieve
parameters:
- description: Whether to include projects created and contributed to by the member.
in: query
name: contributed_to_projects
schema:
type: boolean
- in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying the user to get organization details for.
in: path
name: user_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMember'
description: ''
security:
- Token: []
summary: Get organization member details
tags:
- Organizations
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- members
x-fern-sdk-method-name: get
/api/organizations/{id}/permissions:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List all organization-level permission overrides for a given organization.
operationId: api_organizations_permissions_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/OrganizationPermission'
type: array
description: ''
security:
- Token: []
summary: ✨ List organization permission overrides
tags:
- Organizations
- Permissions
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- permissions
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve the list of configurable permission options (label, tooltip, default role and allowed roles).
operationId: api_organizations_permissions_options_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ConfigurablePermissionOption'
type: array
description: ''
security:
- Token: []
summary: ✨ Get configurable permissions options
tags:
- Organizations
- Permissions
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- permissions
x-fern-sdk-method-name: get_options
/api/organizations/{id}/permissions/{permission_key}:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete the organization-level permission override for a given permission key.
operationId: api_organizations_permissions_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: permission_key
required: true
schema:
type: string
responses:
'204':
description: Deleted
'403':
description: Permission Denied
'404':
description: Permission not found for organization
security:
- Token: []
summary: ✨ Delete organization permission override
tags:
- Organizations
- Permissions
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- permissions
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve the organization-level permission override for a given permission key.
operationId: api_organizations_permissions_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: permission_key
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPermission'
description: ''
'403':
description: Permission Denied
'404':
description: Permission not found for organization
security:
- Token: []
summary: ✨ Retrieve organization permission override
tags:
- Organizations
- Permissions
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- permissions
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Partially update the organization-level permission override for a given permission key.
operationId: api_organizations_permissions_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Permission key to update within the organization.
in: path
name: permission_key
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedOrganizationPermissionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedOrganizationPermissionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedOrganizationPermissionRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPermission'
description: ''
'400':
description: Bad Request
'403':
description: Permission Denied
'404':
description: Permission not found for organization
security:
- Token: []
summary: ✨ Update organization permission override
tags:
- Organizations
- Permissions
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- permissions
x-fern-sdk-method-name: update
put:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Replace the organization-level permission override for a given permission key.
operationId: api_organizations_permissions_update
parameters:
- description: A unique integer value identifying this organization.
in: path
name: id
required: true
schema:
type: integer
- description: Permission key to update within the organization.
in: path
name: permission_key
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPermissionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/OrganizationPermissionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/OrganizationPermissionRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPermission'
description: ''
'400':
description: Bad Request
'403':
description: Permission Denied
'404':
description: Permission not found for organization
security:
- Token: []
summary: ✨ Replace organization permission override
tags:
- Organizations
- Permissions
x-fern-audiences:
- public
x-fern-sdk-group-name:
- organizations
- permissions
x-fern-sdk-method-name: replace
/api/organizations/{id}/seat-report:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
For each member of the organization: whether they occupy a standard (paid) seat, the effective organization role, what set that role, and every identity-provider group assignment behind it.
Only *organization role* assignments can put a user on a paid seat. Project role and workspace access assignments never affect the seat count.
Use `?email=` to look up a single member, or `?has_stale_role_assignments=true` to find members kept on a seat by leftover group assignments.
operationId: api_organizations_seat_report_list
parameters:
- description: Only members who do (or do not) occupy a paid seat
in: query
name: counts_toward_seat_limit
schema:
type: boolean
- description: Exact email (case-insensitive)
in: query
name: email
schema:
type: string
- description: Only members with orphaned/incomplete role assignments
in: query
name: has_stale_role_assignments
schema:
type: boolean
- in: path
name: id
required: true
schema:
type: integer
- description: Adds a `seat_usage` object to the response envelope (`{count, total, limit, reached, scope}`, mirroring the billing counters). Off by default because it is a heavier count.
in: query
name: include_seat_usage
schema:
type: boolean
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: role_source
schema:
type: string
- description: A search term.
in: query
name: search
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedSeatReportList'
description: ''
security:
- Token: []
summary: ✨ Seat report
tags:
- Organizations
x-fern-audiences:
- internal
/api/organizations/{id}/set-default-role:
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a list of all project templates for an organization.
operationId: api_project_templates_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ProjectTemplate'
type: array
description: ''
security:
- Token: []
summary: ✨ Get project templates
tags:
- Project Templates
x-fern-audiences:
- public
x-fern-sdk-group-name:
- project-templates
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a specific project template by ID for an organization.
operationId: api_project_templates_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete a project template
tags:
- Project Templates
x-fern-audiences:
- public
x-fern-sdk-group-name:
- project-templates
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a specific project template by ID for an organization.
operationId: api_project_templates_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTemplate'
description: ''
security:
- Token: []
summary: ✨ Get a project template
tags:
- Project Templates
x-fern-audiences:
- public
x-fern-sdk-group-name:
- project-templates
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update the details of a specific project template by ID for an organization.
operationId: api_project_templates_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedProjectTemplateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedProjectTemplateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedProjectTemplateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTemplate'
description: ''
security:
- Token: []
summary: ✨ Update a project template
tags:
- Project Templates
x-fern-audiences:
- public
x-fern-sdk-group-name:
- project-templates
x-fern-sdk-method-name: update
put:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Overwrite a specific project template by ID for an organization.
operationId: api_project_templates_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTemplateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProjectTemplateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProjectTemplateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTemplate'
description: ''
security:
- Token: []
summary: ✨ Overwrite a project template
tags:
- Project Templates
x-fern-audiences:
- internal
/api/project-templates/{id}/create-project:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create a project from a specific project template by ID for an organization.
operationId: api_project_templates_create_project_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateProjectFromTemplateRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateProjectFromTemplateRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateProjectFromTemplateRequestRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LseProject'
description: Project created successfully
security:
- Token: []
summary: ✨ Create project from template
tags:
- Project Templates
x-fern-audiences:
- public
x-fern-sdk-group-name:
- project-templates
x-fern-sdk-method-name: create_project_from_template
/api/projects/:
get:
description: |-
Retrieve a list of projects. Counter fields in each result follow one of two scopes:
* **Per-user progress** — computed for the authenticated user and their project role (for example `reviewed_number`, `review_total_tasks`, `queue_done`, `queue_total`, `queue_left`). These power project-card progress in the UI and differ across users. Note: `queue_left` counts manual review assignments only; when it is `0`, the card uses `review_total_tasks` / `reviewed_number` for auto-review progress.
* **Project-wide totals** — the same for every caller (for example `task_number`, `finished_task_number`).
For organization-level reviewed-task totals (all reviewers combined), use `GET /api/analytics/kpis/tasks_reviewed?projects={id}&tz=UTC` rather than `reviewed_number`. See Analytics KPI `tasks_reviewed`, `tasks_pending_review`, `annotated_tasks`, and `total_tasks` for other project-wide metrics.
operationId: api_projects_list
parameters:
- description: Filter by projects that belong to archived workspaces
in: query
name: archived
schema:
type: boolean
- description: Filter projects by pinned status. Use 'pinned_only' to return only pinned projects, 'exclude_pinned' to return only non-pinned projects, or 'all' to return all projects.
in: query
name: filter
schema:
default: all
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: ids
schema:
type: string
- description: 'Comma-separated list of count fields to include in the response to optimize performance. Available fields: task_number, finished_task_number, total_predictions_number, total_annotations_number, num_tasks_with_annotations, useful_annotation_number, ground_truth_number, skipped_annotations_number. If not specified, all count fields are included.'
in: query
name: include
schema:
type: string
- description: Maximum number of members to return
in: query
name: members_limit
schema:
default: 10
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Search term for project title and description
in: query
name: search
schema:
type: string
- description: Filter lse_project__source_interface_id by exact match
in: query
name: source_interface_id
schema:
type: number
- description: Filter current_state by exact match
in: query
name: state
schema:
type: string
- description: Filter title by contains (case-insensitive)
in: query
name: title
schema:
type: string
- description: Filter workspaces by exact match
in: query
name: workspaces
schema:
type: number
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAllRolesProjectListList'
description: ''
security:
- Token: []
summary: List projects
tags:
- Projects
x-fern-audiences:
- public
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: list
post:
description: Create a project for a specific organization.
operationId: api_projects_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LseProjectCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LseProjectCreateRequest'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectCreate'
description: ''
security:
- Token: []
summary: Create a project
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: create
/api/projects/counts/:
get:
description: Returns a list of projects with their counts. For example, task_number which is the total task number in project
operationId: api_projects_counts_list
parameters:
- description: Filter by projects that belong to archived workspaces
in: query
name: archived
schema:
type: boolean
- description: Filter projects by pinned status. Use 'pinned_only' to return only pinned projects, 'exclude_pinned' to return only non-pinned projects, or 'all' to return all projects.
in: query
name: filter
schema:
default: all
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: ids
schema:
type: string
- description: 'Comma-separated list of count fields to include in the response to optimize performance. Available fields: task_number, finished_task_number, total_predictions_number, total_annotations_number, num_tasks_with_annotations, useful_annotation_number, ground_truth_number, skipped_annotations_number. If not specified, all count fields are included.'
in: query
name: include
schema:
type: string
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Search term for project title and description
in: query
name: search
schema:
type: string
- description: Filter lse_project__source_interface_id by exact match
in: query
name: source_interface_id
schema:
type: number
- description: Filter current_state by exact match
in: query
name: state
schema:
type: string
- description: Filter title by contains (case-insensitive)
in: query
name: title
schema:
type: string
- description: Filter workspaces by exact match
in: query
name: workspaces
schema:
type: number
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLseProjectCountsList'
description: ''
security:
- Token: []
summary: List projects' counts
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: list_counts
/api/projects/roles/:
get:
description: "\n \n
\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\n \n\n List project roles for requested IDs for the current user\n "
operationId: api_projects_roles_list
parameters:
- description: Multiple values may be separated by commas.
explode: false
in: query
name: ids
schema:
items:
type: integer
type: array
style: form
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ProjectRole'
type: array
description: ''
security:
- Token: []
summary: ✨ List project roles for current user
tags:
- Project Roles
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- roles
x-fern-sdk-method-name: list
post:
description: "\n \n
\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\n \n\n Create project role for user allowing the user the same access level provided by organization role.\n "
operationId: api_projects_roles_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRoleRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProjectRoleRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProjectRoleRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRole'
description: Role created
security:
- Token: []
summary: ✨ Create project role for user
tags:
- Project Roles
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- roles
x-fern-sdk-method-name: add
/api/projects/roles/{id}/:
delete:
description: "\n \n
\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\n \n\n Remove project role for user allowing the user the same access level provided by organization role.\n "
operationId: api_projects_roles_destroy
parameters:
- description: A unique integer value identifying this project role.
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: Role removed
security:
- Token: []
summary: ✨ Remove project role for user
tags:
- Project Roles
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- roles
x-fern-sdk-method-name: remove
/api/projects/validate/:
post:
description: Validate an arbitrary labeling configuration.
operationId: api_projects_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectLabelConfigRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProjectLabelConfigRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProjectLabelConfigRequest'
required: true
responses:
'204':
description: Validation success
'400':
description: Validation failed
security:
- Token: []
- {}
summary: Validate label config
tags:
- Projects
x-fern-audiences:
- internal
/api/projects/{id}/:
delete:
description: Delete a project by specified project ID.
operationId: api_projects_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete project
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: delete
get:
description: Retrieve information about a project by project ID. Counter fields use per-user or project-wide scope as documented on each field; for all reviewed tasks in the project use `GET /api/analytics/kpis/tasks_reviewed?projects={id}&tz=UTC`.
operationId: api_projects_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Maximum number of members to return
in: query
name: members_limit
schema:
default: 10
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectResponse'
description: Project information. Not all fields are available for all roles.
security:
- Token: []
summary: Get project by ID
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: get
patch:
description: Update the details of a specific project.
operationId: api_projects_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Maximum number of members to return
in: query
name: members_limit
schema:
default: 10
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseProjectUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLseProjectUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLseProjectUpdateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectResponse'
description: ''
security:
- Token: []
summary: Update project details
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: update
/api/projects/{id}/analytics/data-quality/agreement-analysis/confusion-matrix:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Returns label confusion matrix with precision, recall, and top confusion pairs. In `ground_truth` mode the matrix is directional: rows are GT labels (actual), columns are annotator labels (predicted). In `all` and `accepted` modes — where no canonical "actual vs predicted" axis exists — the matrix is symmetric. When a task has multiple GT annotations the most recently updated one is used. `top_confusion_pairs.rate` is the share of off-diagonal mass.
operationId: api_projects_analytics_data_quality_agreement_analysis_confusion_matrix_retrieve
parameters:
- description: From name
in: query
name: from_name
schema:
default: ''
type: string
- in: path
name: id
required: true
schema:
type: integer
- description: Mode
in: query
name: mode
schema:
default: all
enum:
- accepted
- all
- ground_truth
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataQualityAgreementConfusionMatrix'
description: ''
security:
- Token: []
summary: '✨ Data quality: confusion matrix'
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: data_quality_agreement_confusion_matrix
/api/projects/{id}/analytics/data-quality/agreement-analysis/dimensions:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Returns per-dimension agreement scores for active dimensions across tasks with at least two annotations.
operationId: api_projects_analytics_data_quality_agreement_analysis_dimensions_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/DataQualityAgreementDimensions'
type: array
description: ''
security:
- Token: []
summary: '✨ Data quality: agreement by dimension'
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: data_quality_agreement_dimensions
/api/projects/{id}/analytics/data-quality/agreement-analysis/distribution:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Returns average agreement, a 10-bucket histogram of `Task.precomputed_agreement` (filled on-the-fly from V2 dimension matrices when null), `low_agreement_count`, and `total_tasks`. Agreement score aggregates only include tasks with at least two non-cancelled annotations. The low-agreement threshold is `LseProject.agreement_threshold` (the same project setting Data Manager filters and review-routing rules consume); changing that setting moves the count for this endpoint as well.
operationId: api_projects_analytics_data_quality_agreement_analysis_distribution_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DataQualityAgreementDistribution'
description: ''
security:
- Token: []
summary: '✨ Data quality: agreement distribution'
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: data_quality_agreement_distribution
/api/projects/{id}/annotation-history/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List all annotation history items for the project with pagination.
operationId: api_projects_annotation_history_list
parameters:
- description: Filter for annotation history items created at or after the ISO 8601 formatted date (YYYY-MM-DDTHH:MM:SS)
in: query
name: created_at_from
schema:
format: date-time
type: string
- description: Filter for annotation history items created at or before the ISO 8601 formatted date (YYYY-MM-DDTHH:MM:SS)
in: query
name: created_at_to
schema:
format: date-time
type: string
- in: path
name: id
required: true
schema:
type: integer
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAnnotationHistoryList'
description: ''
security:
- Token: []
summary: ✨ List annotation history items for project
tags:
- Annotation History
x-fern-audiences:
- public
x-fern-sdk-group-name: annotation_history
x-fern-sdk-method-name: list_for_project
/api/projects/{id}/annotators/:
get:
description: Return unique users who have submitted annotations in the specified project.
operationId: api_projects_annotators_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/UserSimple'
type: array
description: List of annotator users
security:
- Token: []
summary: List unique annotators for project
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: list_unique_annotators
/api/projects/{id}/aws-custom-function:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get the AWS Lambda code for the custom metric configured for this project.
operationId: api_projects_aws_custom_function_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
code:
type: string
status:
description: Deployment status of the Lambda function.
enum:
- NotDeployed
- Active
- Pending
- Inactive
- Failed
- NotFound
- Error
type: string
required:
- code
- status
type: object
description: Lambda code and deployment status
security:
- Token: []
summary: ✨ Get AWS custom metric code
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- metrics
- custom
x-fern-sdk-method-name: get_lambda
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create or update the AWS Lambda function used for custom metrics in this project.
operationId: api_projects_aws_custom_function_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AWSCustomFunctionUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AWSCustomFunctionUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AWSCustomFunctionUpdateRequest'
required: true
responses:
'200':
description: Updated successfully
'202':
description: Accepted, activation pending
'204':
description: No changes applied
'500':
description: Error updating function
security:
- Token: []
summary: ✨ Update AWS custom metric Lambda
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- metrics
- custom
x-fern-sdk-method-name: update_lambda
/api/projects/{id}/aws-custom-function-logs:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get AWS lambda logs for project, including filtering by start and end dates
operationId: api_projects_aws_custom_function_logs_retrieve
parameters:
- description: End date for AWS logs filtering in format %Y-%m-%d
in: query
name: end_date
schema:
type: string
- in: path
name: id
required: true
schema:
type: integer
- description: Limit the number of logs to return
in: query
name: limit
schema:
default: 100
type: integer
- description: Start date for AWS logs filtering in format %Y-%m-%d
in: query
name: start_date
schema:
type: string
responses:
'200':
content:
application/json:
schema:
description: List of AWS lambda logs
title: List of AWS lambda logs
type: object
description: Successful response returns list of AWS lambda logs
security:
- Token: []
summary: ✨ Get AWS lambda logs for project
tags:
- AWS
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- metrics
- custom
x-fern-sdk-method-name: logs
/api/projects/{id}/check-function:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get the custom metric function code for this project. The server routes to the active cloud provider (AWS Lambda or GCP Cloud Functions) based on the CUSTOM_METRIC_PROVIDER setting.
operationId: api_projects_custom_function_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
code:
type: string
status:
enum:
- NotDeployed
- Active
- Pending
- Failed
- NotFound
- Error
type: string
required:
- code
- status
type: object
description: Function code and deployment status
security:
- Token: []
summary: ✨ Get custom metric code
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- metrics
- custom
x-fern-sdk-method-name: get_function
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create or update the custom metric function for this project. The server routes to the active cloud provider (AWS Lambda or GCP Cloud Functions) based on the CUSTOM_METRIC_PROVIDER setting.
operationId: api_projects_custom_function_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFunctionCodeRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CustomFunctionCodeRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/CustomFunctionCodeRequestRequest'
required: true
responses:
'200':
description: Updated successfully
'202':
description: Accepted, activation pending
'204':
description: No changes applied
'500':
description: Error updating function
security:
- Token: []
summary: ✨ Deploy custom metric function
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- metrics
- custom
x-fern-sdk-method-name: deploy_function
/api/projects/{id}/custom-function-logs:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get execution logs for the custom metric function. The server routes to the active cloud provider based on the CUSTOM_METRIC_PROVIDER setting.
operationId: api_projects_custom_function_logs_retrieve
parameters:
- description: End date for log filtering in format %Y-%m-%d
in: query
name: end_date
schema:
type: string
- in: path
name: id
required: true
schema:
type: integer
- description: Limit the number of logs to return
in: query
name: limit
schema:
default: 100
type: integer
- description: Start date for log filtering in format %Y-%m-%d
in: query
name: start_date
schema:
type: string
responses:
'200':
content:
application/json:
schema:
title: Function logs
type: object
description: List of function execution logs
security:
- Token: []
summary: ✨ Get custom metric function logs
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- metrics
- custom
x-fern-sdk-method-name: get_function_logs
/api/projects/{id}/dashboard:
get:
deprecated: true
description: Get dashboard data for project, including annotations and tasks stats.
operationId: api_projects_dashboard_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
annotated_tasks:
description: Number of annotated (completed) tasks
title: annotated_tasks
type: integer
annotations:
description: Total number of annotations
title: annotations
type: integer
remaining_tasks:
description: Total number of uncompleted tasks
title: remaining_tasks
type: integer
reviewed_tasks:
description: Number of tasks that have been reviewed by at least one reviewer
title: reviewed_tasks
type: integer
skipped_tasks:
description: Number of tasks that have been skipped by at least one annotator
title: skipped_tasks
type: integer
tasks:
description: Total number of tasks
title: tasks
type: integer
type: object
description: Successful response returns project-related annotation statistics
security:
- Token: []
summary: Get dashboard data for project
tags:
- Dashboard
x-fern-audiences:
- internal
/api/projects/{id}/duplicate/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Make a copy of project.
operationId: api_projects_duplicate_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectDuplicateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProjectDuplicateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProjectDuplicateRequest'
required: true
responses:
'201':
content:
application/json:
schema:
properties:
id:
description: The ID of the duplicated project.
type: integer
required:
- id
type: object
description: Project duplicated
security:
- Token: []
summary: ✨ Duplicate project
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: duplicate
/api/projects/{id}/export:
get:
deprecated: true
description: "\n This endpoint is deprecated in Enterprise. Use the async export API instead:\n POST /api/projects/{id}/exports/ (see [Create new export](api:POST/api/projects/{id}/exports/)).\n\n In Label Studio Enterprise, this endpoint will always return a 404 Not Found response with instructions to use the async export API.\n\n Note: if you have a large project it's recommended to use\n export snapshots, this easy export endpoint might have timeouts.
\n Export annotated tasks as a file in a specific format.\n For example, to export JSON annotations for a project to a file called `annotations.json`,\n run the following from the command line:\n ```bash\n curl -X GET http://localhost:8000/api/projects/{id}/export?exportType=JSON -H 'Authorization: Token abc123' --output 'annotations.json'\n ```\n To export all tasks, including skipped tasks and others without annotations, run the following from the command line:\n ```bash\n curl -X GET http://localhost:8000/api/projects/{id}/export?exportType=JSON&download_all_tasks=true -H 'Authorization: Token abc123' --output 'annotations.json'\n ```\n To export specific tasks with IDs of 123 and 345, run the following from the command line:\n ```bash\n curl -X GET 'http://localhost:8000/api/projects/{id}/export?ids[]=123&ids[]=345' -H 'Authorization: Token abc123' --output 'annotations.json'\n ```\n "
operationId: api_projects_export_retrieve
parameters:
- description: If true, download all tasks regardless of status. If false, download only annotated tasks.
in: query
name: download_all_tasks
schema:
type: boolean
- description: If true, download all resource files such as images, audio, and others relevant to the tasks.
in: query
name: download_resources
schema:
type: boolean
- description: Selected export format (JSON by default)
in: query
name: export_type
schema:
type: string
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: Specify a list of task IDs to retrieve only the details for those tasks.
in: query
name: ids
schema:
items:
type: string
type: array
responses:
'200':
content:
application/json:
schema:
description: Export file with results
format: binary
title: Export file
type: string
description: Exported data
security:
- Token: []
summary: '[Deprecated] Easy export of tasks and annotations'
tags:
- Export
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- exports
x-fern-sdk-method-name: download_sync
/api/projects/{id}/export/formats:
get:
deprecated: true
description: |-
This endpoint is deprecated in Enterprise. Use the async export API instead:
POST /api/projects/{{id}}/exports/ (see [Create new export](api:POST/api/projects/{id}/exports/)).
In Label Studio Enterprise, this endpoint will always return a 404 Not Found response with instructions to use the async export API.
Retrieve the available export formats for the current project by ID.
operationId: api_projects_export_formats_retrieve
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
description: List of available formats
items:
title: Export format
type: string
title: Format list
type: array
description: Export formats
security:
- Token: []
summary: '[Deprecated] Get export formats'
tags:
- Export
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- exports
x-fern-sdk-method-name: list_formats
/api/projects/{id}/exports/:
get:
description: Returns a list of exported files for a specific project by ID.
operationId: api_projects_exports_list
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Export'
type: array
description: ''
security:
- Token: []
summary: List all export snapshots
tags:
- Export
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- exports
x-fern-sdk-method-name: list
post:
description: Create a new export request to start a background task and generate an export file for a specific project by ID.
operationId: api_projects_exports_create
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseExportCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LseExportCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LseExportCreateRequest'
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LseExportCreate'
description: ''
security:
- Token: []
summary: Create new export snapshot
tags:
- Export
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- exports
x-fern-sdk-method-name: create
/api/projects/{id}/exports/{export_pk}:
delete:
description: Delete an export file by specified export ID.
operationId: api_projects_exports_destroy
parameters:
- description: Primary key identifying the export file.
in: path
name: export_pk
required: true
schema:
type: integer
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete export snapshot
tags:
- Export
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- exports
x-fern-sdk-method-name: delete
get:
description: Retrieve information about an export file by export ID for a specific project.
operationId: api_projects_exports_retrieve
parameters:
- description: Primary key identifying the export file.
in: path
name: export_pk
required: true
schema:
type: integer
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Export'
description: ''
security:
- Token: []
summary: Get export snapshot by ID
tags:
- Export
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- exports
x-fern-sdk-method-name: get
/api/projects/{id}/exports/{export_pk}/convert:
post:
description: Convert export snapshot to selected format
operationId: api_projects_exports_convert_create
parameters:
- description: Primary key identifying the export file.
in: path
name: export_pk
required: true
schema:
type: integer
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportConvertRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ExportConvertRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ExportConvertRequest'
required: true
responses:
'200':
content:
application/json:
schema:
properties:
converted_format:
type: integer
export_type:
type: string
type: object
description: ''
security:
- Token: []
summary: Export conversion
tags:
- Export
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- exports
x-fern-sdk-method-name: convert
/api/projects/{id}/exports/{export_pk}/download:
get:
description: "\n Download an export file in the specified format for a specific project. Specify the project ID with the `id`\n parameter in the path and the ID of the export file you want to download using the `export_pk` parameter\n in the path.\n\n Get the `export_pk` from the response of the request to [Create new export](api:POST/api/projects/{id}/exports/)\n or after [listing export files](api:GET/api/projects/{id}/exports/).\n "
operationId: api_projects_exports_download_retrieve
parameters:
- description: Selected export format
in: query
name: exportType
schema:
type: string
- description: Primary key identifying the export file.
in: path
name: export_pk
required: true
schema:
type: integer
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/*:
schema:
format: binary
type: string
description: Export file
security:
- Token: []
summary: Download export snapshot as file in specified format
tags:
- Export
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- exports
x-fern-sdk-method-name: download
/api/projects/{id}/file-uploads:
delete:
description: "\n Delete uploaded files for a specific project.\n "
operationId: api_projects_file_uploads_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete files
tags:
- Import
x-fern-audiences:
- public
x-fern-sdk-group-name:
- files
x-fern-sdk-method-name: delete_many
get:
description: "\n Retrieve the list of uploaded files used to create labeling tasks for a specific project.\n "
operationId: api_projects_file_uploads_list
parameters:
- description: Set to "true" if you want to retrieve all file uploads
in: query
name: all
schema:
type: boolean
- in: path
name: id
required: true
schema:
type: integer
- description: Specify the list of file upload IDs to retrieve, e.g. ids=[1,2,3]
in: query
name: ids
schema:
items:
type: string
type: array
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/FileUpload'
type: array
description: ''
security:
- Token: []
summary: Get files list
tags:
- Import
x-fern-audiences:
- public
x-fern-sdk-group-name:
- files
x-fern-sdk-method-name: list
/api/projects/{id}/gcp-custom-function:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get the GCP Cloud Function code for the custom metric configured for this project.
operationId: api_projects_gcp_custom_function_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
code:
type: string
status:
enum:
- NotDeployed
- Active
- Pending
- Failed
- NotFound
- Error
type: string
required:
- code
- status
type: object
description: Cloud Function code and deployment status
security:
- Token: []
summary: ✨ Get GCP custom metric code
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- metrics
- custom
x-fern-sdk-method-name: get_gcp_function
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create or update the GCP Cloud Function used for custom metrics in this project.
operationId: api_projects_gcp_custom_function_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCPCustomFunctionUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCPCustomFunctionUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCPCustomFunctionUpdateRequest'
required: true
responses:
'200':
description: Updated successfully
'202':
description: Accepted, activation pending
'204':
description: No changes applied
'500':
description: Error updating function
security:
- Token: []
summary: ✨ Update GCP custom metric Cloud Function
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- metrics
- custom
x-fern-sdk-method-name: update_gcp_function
/api/projects/{id}/import:
post:
description: "\n Import data as labeling tasks in bulk using this API endpoint. You can use this API endpoint to import multiple tasks.\n One POST request is limited at 250K tasks and 200 MB.\n\n **Note:** Imported data is verified against a project *label_config* and must\n include all variables that were used in the *label_config*. For example,\n if the label configuration has a *$text* variable, then each item in a data object\n must include a \"text\" field.\n \n\n ## Async Import Behavior\n \n\n **For non-Community editions, this endpoint processes imports asynchronously.**\n \n - The POST request **can fail** for invalid parameters, malformed request body, or other request-level validation errors.\n - However, **data validation errors** that occur during import processing are handled asynchronously and will not cause the POST request to fail.\n - Upon successful request validation, a response is returned: `{\"import\": }`\n - Use the returned `import_id` to poll the GET `/api/projects/{project_id}/imports/{import_id}` endpoint to check the import status and see any data validation errors.\n - Data-level errors and import failures will only be visible in the GET request response.\n\n For Community edition, imports are processed synchronously and return task counts immediately.\n \n\n ## POST requests\n \n\n There are three possible ways to import tasks with this endpoint:\n\n ### 1. **POST with data**\n Send JSON tasks as POST data. Only JSON is supported for POSTing files directly.\n Update this example to specify your authorization token and Label Studio instance host, then run the following from\n the command line.\n\n ```bash\n curl -H 'Content-Type: application/json' -H 'Authorization: Token abc123' \\\n -X POST 'http://localhost:8000/api/projects/1/import' --data '[{\"text\": \"Some text 1\"}, {\"text\": \"Some text 2\"}]'\n ```\n\n ### 2. **POST with files**\n Send tasks as files. You can attach multiple files with different names.\n\n - **JSON**: text files in JavaScript object notation format\n - **CSV**: text files with tables in Comma Separated Values format\n - **TSV**: text files with tables in Tab Separated Value format\n - **TXT**: simple text files are similar to CSV with one column and no header, supported for projects with one source only\n\n Update this example to specify your authorization token, Label Studio instance host, and file name and path,\n then run the following from the command line:\n\n ```bash\n curl -H 'Authorization: Token abc123' \\\n -X POST 'http://localhost:8000/api/projects/1/import' -F 'file=@path/to/my_file.csv'\n ```\n\n ### 3. **POST with URL**\n You can also provide a URL to a file with labeling tasks. Supported file formats are the same as in option 2.\n\n ```bash\n curl -H 'Content-Type: application/json' -H 'Authorization: Token abc123' \\\n -X POST 'http://localhost:8000/api/projects/1/import' \\\n --data '[{\"url\": \"http://example.com/test1.csv\"}, {\"url\": \"http://example.com/test2.csv\"}]'\n ```\n\n \n "
operationId: api_projects_import_create
parameters:
- description: Set to "true" to immediately commit tasks to the project.
in: query
name: commit_to_project
schema:
default: true
type: boolean
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: 'List of fields to preannotate from the task data. For example, if you provide a list of `{"text": "text", "prediction": "label"}` items in the request, the system will create a task with the `text` field and a prediction with the `label` field when `preannoted_from_fields=["prediction"]`.'
in: query
name: preannotated_from_fields
schema:
items:
type: string
type: array
- description: Set to "true" to return task IDs in the response.
in: query
name: return_task_ids
schema:
default: false
type: boolean
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ImportApiRequest'
type: array
application/x-www-form-urlencoded:
schema:
items:
$ref: '#/components/schemas/ImportApiRequest'
type: array
multipart/form-data:
schema:
items:
$ref: '#/components/schemas/ImportApiRequest'
type: array
required: true
responses:
'201':
content:
application/json:
schema:
description: 'Response format varies by edition. Non-Community editions return `{"import": }` for async processing. Community edition returns the detailed response below with task counts.'
properties:
annotation_count:
description: Number of annotations added (Community edition sync import only)
title: annotation_count
type: integer
could_be_tasks_list:
description: Whether uploaded files can contain lists of tasks, like CSV/TSV files (Community edition sync import only)
title: could_be_tasks_list
type: boolean
data_columns:
description: The list of found data columns (Community edition sync import only)
items:
title: Data column name
type: string
title: data_columns
type: array
duration:
description: Time in seconds to create (Community edition sync import only)
title: duration
type: number
file_upload_ids:
description: Database IDs of uploaded files (Community edition sync import only)
items:
title: File Upload IDs
type: integer
title: file_upload_ids
type: array
found_formats:
description: The list of found file formats (Community edition sync import only)
items:
title: File format
type: string
title: found_formats
type: array
import:
description: Import ID for async operations (non-Community editions only). Use this ID to poll `/api/projects/{project_id}/imports/{import_id}` for status.
title: import
type: integer
predictions_count:
description: Number of predictions added (Community edition sync import only)
title: predictions_count
type: integer
task_count:
description: Number of tasks added (Community edition sync import only)
title: task_count
type: integer
title: Task creation response
type: object
description: 'Tasks successfully imported or import queued. **For non-Community editions**, the response will be `{"import": }` which you can use to poll the import status. **For Community edition**, the response contains task counts and is processed synchronously.'
'400':
content:
application/json:
schema:
description: String with error description
title: Incorrect task data
type: string
description: Bad Request
security:
- Token: []
summary: Import tasks
tags:
- Import
x-fern-audiences:
- public
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: import_tasks
/api/projects/{id}/import/predictions:
post:
description: Import model predictions for tasks in the specified project.
operationId: api_projects_import_predictions_create
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
items:
$ref: '#/components/schemas/PredictionRequest'
type: array
application/x-www-form-urlencoded:
schema:
items:
$ref: '#/components/schemas/PredictionRequest'
type: array
multipart/form-data:
schema:
items:
$ref: '#/components/schemas/PredictionRequest'
type: array
required: true
responses:
'201':
content:
application/json:
schema:
description: Import result
properties:
created:
description: Number of predictions created
title: created
type: integer
title: Predictions import response
type: object
description: Predictions successfully imported
'400':
description: Bad Request
security:
- Token: []
summary: Import predictions
tags:
- Import
x-fern-audiences:
- public
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: import_predictions
/api/projects/{id}/imports/:
get:
description: List asynchronous import jobs for a project (paginated). Optionally filter by `status`. Use `page` / `page_size` query params.
operationId: api_projects_imports_list
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: Page number within the paginated result set.
in: query
name: page
schema:
type: integer
- description: Number of results per page (max 100).
in: query
name: page_size
schema:
type: integer
- description: Filter by import status (created, in_progress, failed, completed).
in: query
name: status
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedProjectImportListList'
description: ''
security:
- Token: []
summary: List project imports
tags:
- Projects
x-fern-audiences:
- public
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name:
- projects
- imports
x-fern-sdk-method-name: list
/api/projects/{id}/imports/{import_pk}/:
get:
description: "\n Poll the status of an asynchronous project import operation.\n \n **Usage:**\n 1. When you POST to `/api/projects/{project_id}/import`, you'll receive a response like `{\"import\": }`\n 2. Use that `import_id` with this GET endpoint to check the import status\n 3. Poll this endpoint to see if the import has completed, is still processing, or has failed\n 4. **Import errors and failures will only be visible in this GET response**, not in the original POST request\n \n This endpoint returns detailed information about the import including task counts, status, and any error messages.\n While an import is running, `task_count` / annotation / prediction counts update as batches commit.\n Counts are cumulative so far; there is no expected total, so percent-complete / ETA is not available from this API.\n "
operationId: api_projects_imports_retrieve
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this project import.
in: path
name: import_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectImport'
description: ''
security:
- Token: []
summary: Get project import status
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: tasks
x-fern-sdk-method-name: create_many_status
/api/projects/{id}/members/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Remove a member from a specific project. Pass the member ID via the `user` query parameter. For backward compatibility, a JSON body with `user` is still accepted.
operationId: api_projects_members_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: User ID to remove from the project. Optional for backward compatibility with DELETE body.
in: query
name: user
schema:
type: integer
responses:
'204':
description: Member removed
security:
- Token: []
summary: ✨ Remove member from project
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- members
x-fern-sdk-method-name: remove
get:
deprecated: true
description: |-
Retrieve the members for a specific project. Optionally filter by user IDs (comma-separated).
Does NOT include annotators. Deprecated; use paginated endpoint.
operationId: api_projects_members_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: 'Comma-separated list of user IDs to include. Example: user_ids=1,2,3. When annotator pausing is enabled, users with an active pause on this project are always included in addition to the listed IDs.'
in: query
name: user_ids
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LseUser'
type: array
description: List of users with membership information
security:
- Token: []
summary: Get project members
tags:
- Projects
x-fern-audiences:
- internal
x-fern-sdk-group-name:
- projects
- members
x-fern-sdk-method-name: get
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Add a member to a specific project.
operationId: api_projects_members_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectMemberRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProjectMemberRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProjectMemberRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectMember'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectMemberIdentityVerificationError'
description: ''
security:
- Token: []
summary: ✨ Add project member
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- members
x-fern-sdk-method-name: add
/api/projects/{id}/members/bulk/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Unassign project members in bulk. Pass selector fields via query parameters (`all`, `included`, `excluded`) and optional member filters (`search`, `role`, `tags`, `last_activity__gte`, `last_activity__lte`). For backward compatibility, a JSON body with bulk fields is still accepted.
operationId: api_projects_members_bulk_destroy
parameters:
- description: Apply unassignment to all currently matched project members.
in: query
name: all
schema:
type: boolean
- description: Comma-separated list of user IDs to keep assigned when `all=true`.
in: query
name: excluded
schema:
type: string
- in: path
name: id
required: true
schema:
type: integer
- description: Comma-separated list of user IDs to unassign when `all=false`.
in: query
name: included
schema:
type: string
- description: Filter by last activity (ISO 8601 formatted date). Only when all=True.
in: query
name: last_activity__gte
schema:
type: string
- description: Filter by last activity upper bound (ISO 8601 formatted date). Only when all=True.
in: query
name: last_activity__lte
schema:
type: string
- description: Filter by role, project roles take precedence over organization roles. Only when all=True. (comma-separated values)
in: query
name: role
schema:
type: string
- description: Search term for filtering members by name, email, or username. Only when all=True.
in: query
name: search
schema:
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: tags
schema:
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: user_type
schema:
type: string
responses:
'200':
content:
application/json:
examples:
LegacySDKUsage(supported):
description: |-
Backward-compatible legacy call with DELETE body: ls.projects.members.bulk.delete(
id=123,
request_options={'additional_body_parameters': {'all': False, 'included': [456, 789]}},
)
summary: Legacy SDK usage (supported)
SDKUsage:
description: |-
SDK call example using DELETE query params: ls.projects.members.bulk.delete(
id=123,
all_=False,
included=[456, 789],
)
summary: SDK usage
schema:
properties:
unassignments:
type: integer
type: object
description: ''
security:
- Token: []
summary: ✨ Bulk unassign project members
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- members
- bulk
x-fern-sdk-method-name: delete
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Assign project members in bulk.
operationId: api_projects_members_bulk_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Filter by last activity (ISO 8601 formatted date). Only when all=True.
in: query
name: last_activity__gte
schema:
type: string
- description: Filter by last activity upper bound (ISO 8601 formatted date). Only when all=True.
in: query
name: last_activity__lte
schema:
type: string
- description: Filter by role, project roles take precedence over organization roles. Only when all=True. (comma-separated values)
in: query
name: role
schema:
type: string
- description: Search term for filtering members by name, email, or username. Only when all=True.
in: query
name: search
schema:
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: tags
schema:
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: user_type
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectMemberBulkAssignRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProjectMemberBulkAssignRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProjectMemberBulkAssignRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectMemberBulkAssignResponse'
description: ''
security:
- Token: []
summary: ✨ Bulk assign project members
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- members
- bulk
x-fern-sdk-method-name: post
/api/projects/{id}/members/export/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Download every member of a project matching the supplied member-list filters as a CSV file. This endpoint is restricted to users who can manage project settings.
operationId: api_projects_members_export_csv
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Filter id by in list
in: query
name: ids
schema:
type: string
- description: Set to false to export direct project members only.
in: query
name: implicit
schema:
type: boolean
- description: Filter last_activity by greater than or equal to
in: query
name: last_activity__gte
schema:
type: string
- description: Filter last_activity by less than or equal to
in: query
name: last_activity__lte
schema:
type: string
- description: Member ordering; prefix a field with "-" for descending order.
in: query
name: ordering
schema:
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: role
schema:
type: string
- description: Search members by name, email, or username.
in: query
name: search
schema:
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: tags
schema:
type: string
- description: Multiple values may be separated by commas. (comma-separated values)
in: query
name: user_type
schema:
type: string
- description: Include deleted or disabled members.
in: query
name: with_deleted
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
format: binary
type: string
description: ''
security:
- Token: []
summary: ✨ Export project members as CSV
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- members
x-fern-sdk-method-name: export_csv
/api/projects/{id}/members/paginated/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve the members for a specific project.
**Response Fields:**
- `implicit_member` (boolean): Indicates if the user is an implicit member.
- `true`: User has access via workspace membership or organization role (Administrator/Owner)
- `false`: User is an explicit project member (added directly to the project)
- `project_role` (string|null): Project-specific role override if assigned, null otherwise
**Note:** Users can have both explicit membership AND implicit access. The `implicit_member` field is `false` if the user has an explicit ProjectMember entry, regardless of whether they also have implicit access via workspace or org role.
operationId: api_projects_members_paginated_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Comma-separated list of user IDs to filter by
in: query
name: ids
schema:
type: string
- description: Include/Exclude implicit project members in the results. If not provided, explicit + implicit members are returned.
in: query
name: implicit
schema:
type: boolean
- description: Filter by last activity time (ISO 8601 datetime). Returns users with last activity greater than or equal to this time.
in: query
name: last_activity__gte
schema:
format: date-time
type: string
- description: Filter by last activity time (ISO 8601 datetime). Returns users with last activity less than or equal to this time.
in: query
name: last_activity__lte
schema:
format: date-time
type: string
- description: Exclude annotators from the results
in: query
name: no_annotators
schema:
type: boolean
- description: Exclude view-only users from the results
in: query
name: no_view_only
schema:
type: boolean
- description: |-
Ordering field. Prefix with "-" for descending order. Allowed fields: id, email, first_name, last_name, username, last_activity, role, date_joined
**Note on role ordering:**
When ordering by "role", the system uses the effective role:
- Project-specific role if assigned (takes precedence)
- Organization role if no project role is assigned
Roles are sorted alphabetically by their code: AD (Administrator), AN (Annotator), DI (Disabled), MA (Manager), NO (Not Activated), OW (Owner), RE (Reviewer)
in: query
name: ordering
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: |-
Filter members by role. Accepts single role or comma-separated list of roles.
**Format:**
- Single role: `?role=RE`
- Multiple roles: `?role=AN,RE` (users with ANY of these roles)
**Role Codes:**
- `OW` = Owner
- `AD` = Administrator
- `MA` = Manager
- `RE` = Reviewer
- `AN` = Annotator
**Matching Logic:**
Returns users who have any of the specified roles either:
1. As their **project-specific role** (from project role assignments), OR
2. As their **organization role** (if they have no project-specific role override)
**Note:** Project-specific roles take precedence. If a user has a project role assigned, their organization role is ignored for filtering purposes.
in: query
name: role
schema:
type: string
- description: Search term for filtering members by name, email, or username
in: query
name: search
schema:
type: string
- description: Filter members by tags. Use a comma-separated list of tag IDs.
in: query
name: tags
schema:
type: string
- description: Multiple values may be separated by commas.
explode: false
in: query
name: user_type
schema:
items:
type: string
type: array
style: form
- description: Include deleted members in the results
in: query
name: with_deleted
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedPaginatedProjectMemberList'
description: ''
security:
- Token: []
summary: ✨ Get project members paginated
tags:
- Projects
x-fern-audiences:
- public
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name:
- projects
- members
- paginated
x-fern-sdk-method-name: list
/api/projects/{id}/metricparam/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get the current metrics configuration for a project.
operationId: api_projects_metricparam_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/MetricParam'
description: Current metrics configuration
security:
- Token: []
summary: ✨ Get project metrics configuration
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- metrics
x-fern-sdk-method-name: get
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get agreement between a given model version and all annotators in the project for overlapping tasks.
operationId: api_projects_model_stats_agreement_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: model_version
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
properties:
agreement:
nullable: true
type: number
type: object
description: Model-version overall agreement vs annotators
security:
- Token: []
summary: ✨ Get model-version overall agreement vs annotators
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: model_version_annotator_agreement
/api/projects/{id}/model-stats/{model_version}/agreement-groundtruth:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get agreement between a given model version and ground truth annotations in the project for overlapping tasks.
operationId: api_projects_model_stats_agreement_groundtruth_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: model_version
required: true
schema:
type: string
- description: Calculate agreement per label
in: query
name: per_label
schema:
default: false
type: boolean
responses:
'200':
content:
application/json:
schema:
properties:
agreement:
nullable: true
type: number
type: object
description: Model-version ground truth agreement
security:
- Token: []
summary: ✨ Get model-version ground truth agreement
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: model_version_ground_truth_agreement
/api/projects/{id}/model-stats/{model_version}/prediction:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get agreement between a given model version and all other model versions in the project for overlapping tasks.
operationId: api_projects_model_stats_prediction_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: model_version
required: true
schema:
type: string
- description: Calculate agreement per label
in: query
name: per_label
schema:
default: false
type: boolean
responses:
'200':
content:
application/json:
schema:
properties:
average_prediction_agreement_per_model:
nullable: true
type: number
type: object
description: Model-version prediction agreement
security:
- Token: []
summary: ✨ Get model-version prediction agreement
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: model_version_prediction_agreement
/api/projects/{id}/project-extra-params/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve the annotator weights for statistics and Cohen's Kappa for a specific project. Affects dashboard-members stats, but old and unused.
operationId: api_projects_project_extra_params_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectParams'
description: Annotator weights retrieved
'204':
description: No annotator weights found
security:
- Token: []
summary: ✨ Get annotator weights
tags:
- Projects
x-fern-audiences:
- internal
x-fern-sdk-group-name:
- projects
- annotator_weights
x-fern-sdk-method-name: get
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create annotator weights to be used in the annotation statistics for a project, such as when calculating kappa metrics for inter-annotator agreement. Affects dashboard-members stats, but old and unused.
operationId: api_projects_project_extra_params_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
examples:
AnnotatorWeightsMapping:
description: annotator_params must be a mapping of user_id to weight (0..1).
summary: payload format for annotator_params
value:
annotator_params:
'123': 1.0
'456': 0.75
use_kappa: true
schema:
$ref: '#/components/schemas/LseProjectParamsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LseProjectParamsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LseProjectParamsRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectParams'
description: Annotator weights created/updated
security:
- Token: []
summary: ✨ Create annotator weights for statistics
tags:
- Projects
x-fern-audiences:
- internal
x-fern-sdk-group-name:
- projects
- annotator_weights
x-fern-sdk-method-name: create
/api/projects/{id}/reimports/:
get:
description: List asynchronous reimport jobs for a project (paginated). Optionally filter by `status`. Use `page` / `page_size` query params.
operationId: api_projects_reimports_list
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: Page number within the paginated result set.
in: query
name: page
schema:
type: integer
- description: Number of results per page (max 100).
in: query
name: page_size
schema:
type: integer
- description: Filter by reimport status (created, in_progress, failed, completed).
in: query
name: status
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedProjectReimportListList'
description: ''
security:
- Token: []
summary: List project reimports
tags:
- Projects
x-fern-audiences:
- public
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name:
- projects
- reimports
x-fern-sdk-method-name: list
/api/projects/{id}/reimports/{reimport_pk}/:
get:
description: "\n Poll the status of an asynchronous project reimport operation.\n \n **Usage:**\n 1. When you POST to reimport tasks, you'll receive a response with a reimport ID\n 2. Use that `reimport_id` with this GET endpoint to check the reimport status\n 3. Poll this endpoint to see if the reimport has completed, is still processing, or has failed\n 4. **Reimport errors and failures will only be visible in this GET response**, not in the original POST request\n \n This endpoint returns detailed information about the reimport including task counts, status, and any error messages.\n While a reimport is running, `task_count` / annotation / prediction counts update as batches commit.\n Counts are cumulative so far; there is no expected total, so percent-complete / ETA is not available from this API.\n "
operationId: api_projects_reimports_retrieve
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this project reimport.
in: path
name: reimport_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectReimport'
description: ''
security:
- Token: []
summary: Get project reimport status
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- reimports
x-fern-sdk-method-name: get
/api/projects/{id}/review-routing-rules/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List ordered review routing rules for a project.
operationId: api_projects_review_routing_rules_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ReviewRoutingRule'
type: array
description: ''
security:
- Token: []
summary: ✨ List review routing rules
tags:
- Review Routing Rules
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- review_routing_rules
x-fern-sdk-method-name: list
/api/projects/{id}/review-routing-rules/bulk/:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Atomically replace the ordered review routing rules for a project. Rules with an `id` update the existing project rule. Rules without an `id` are created. Existing project rules omitted from the request are deleted, and request order becomes rule order.
operationId: api_projects_review_routing_rules_bulk_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReviewRoutingRulesReplaceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ReviewRoutingRulesReplaceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ReviewRoutingRulesReplaceRequest'
required: true
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ReviewRoutingRule'
type: array
description: ''
security:
- Token: []
summary: ✨ Bulk replace review routing rules
tags:
- Review Routing Rules
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- review_routing_rules
x-fern-sdk-method-name: bulk_replace
/api/projects/{id}/roles:
get:
description: "\n \n
\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\n \n\n List users and their project level roles for a given project.\n If user is not listed here and is a member of the project then they would behave as assigned role in organization.\n "
operationId: api_projects_roles_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ProjectRole'
type: array
description: ''
security:
- Token: []
summary: ✨ List project roles
tags:
- Project Roles
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- roles
x-fern-sdk-method-name: get
/api/projects/{id}/stats/IAA:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get Inter-Annotator Agreement (IAA) matrix for a project, showing agreement between all annotators.
operationId: api_projects_stats_IAA_retrieve
parameters:
- description: Comma-separated list of fields to expand
in: query
name: expand
schema:
type: string
- in: path
name: id
required: true
schema:
type: integer
- description: Calculate IAA per label
in: query
name: per_label
schema:
default: false
type: boolean
- description: Include standard deviation in results
in: query
name: std
schema:
default: false
type: boolean
- description: Comma-separated list of task IDs to filter by
in: query
name: task
schema:
type: string
responses:
'200':
content:
application/json:
examples:
Inter-AnnotatorAgreementMatrix(perLabel=false):
description: Example of Inter-Annotator Agreement matrix when per_label=false
summary: Inter-Annotator Agreement Matrix (per_label=false)
value:
IAA:
- - 1.0
- 0.5
- - 0.5
- 1.0
common_tasks:
- - 0.0
- 1.0
- - 1.0
- 0.0
users:
- email: user1@example.com
id: 1
- email: user2@example.com
id: 2
Inter-AnnotatorAgreementMatrix(perLabel=true):
description: Example of Inter-Annotator Agreement matrix when per_label=true
summary: Inter-Annotator Agreement Matrix (per_label=true)
value:
IAA:
neg:
- - null
- 0.0
- - 0.0
- null
pos:
- - null
- 0.5
- - 0.5
- null
common_tasks:
neg:
- - 0.0
- 2.0
- - 2.0
- 0.0
pos:
- - 0.0
- 4.0
- - 4.0
- 0.0
std:
neg: 0.1
pos: 0.2
users:
- email: user1@example.com
id: 1
- email: user2@example.com
id: 2
schema:
properties:
IAA:
description: Inter-Annotator Agreement matrix - 2D array when per_label=false, object with label keys when per_label=true
oneOf:
- description: Inter-Annotator Agreement matrix (2D array) when per_label=false
items:
items:
type: number
type: array
type: array
- additionalProperties:
items:
items:
type: number
type: array
type: array
description: Inter-Annotator Agreement matrix per label when per_label=true
type: object
common_tasks:
description: Common tasks matrix - 2D array when per_label=false, object with label keys when per_label=true
oneOf:
- description: Number of common tasks between annotators (2D array) when per_label=false
items:
items:
type: number
type: array
type: array
- additionalProperties:
items:
items:
type: number
type: array
type: array
description: Number of common tasks per label when per_label=true
type: object
std:
description: Standard deviation - number when per_label=false, object with label keys when per_label=true
oneOf:
- type: number
- additionalProperties:
type: number
description: Standard deviation per label when per_label=true
type: object
users:
description: List of users in the matrix
items:
type: object
type: array
type: object
description: Inter-Annotator Agreement matrix
security:
- Token: []
summary: ✨ Get Inter-Annotator Agreement matrix
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: iaa
/api/projects/{id}/stats/agreement-groundtruth:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get ground truth agreement statistics for multiple users within a project.
operationId: api_projects_stats_agreement_groundtruth_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Comma separated list of user IDs to get ground truth agreement for
in: query
name: ids
required: true
schema:
type: string
- description: Calculate agreement per label. Not supported for projects using dimension-based agreement (Agreement V2), which returns HTTP 400.
in: query
name: per_label
schema:
default: false
type: boolean
responses:
'200':
content:
application/json:
schema:
properties:
agreement:
additionalProperties:
oneOf:
- description: Ground truth agreement score for the user (0-1) when per_label=False
type: number
- additionalProperties:
description: Agreement score for specific label (0-1)
type: number
description: Ground truth agreement scores per label when per_label=True
type: object
description: Dictionary mapping user IDs to their ground truth agreement scores
type: object
type: object
description: Ground truth agreement statistics for multiple users
security:
- Token: []
summary: ✨ Get ground truth agreement for multiple users
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: users_ground_truth_agreement
/api/projects/{id}/stats/agreement_annotator/{user_id}:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get agreement statistics for a specific annotator within a project.
operationId: api_projects_stats_agreement_annotator_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: user_id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
Agreement_per_annotator:
description: Agreement score for the annotator (0-1)
type: number
type: object
description: Individual annotator agreement statistics
security:
- Token: []
summary: ✨ Get individual annotator agreement stats
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: agreement_annotator
/api/projects/{id}/stats/agreement_annotators:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get agreement statistics for multiple annotators within a project.
operationId: api_projects_stats_agreement_annotators_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Comma separated list of annotator user IDs to get agreement scores for
in: query
name: ids
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
properties:
agreement:
additionalProperties:
type: number
description: Mapping of annotator ID to their agreement score (0-1) or null if no data
type: object
required:
- agreement
type: object
description: Multiple annotator agreement statistics
security:
- Token: []
summary: ✨ Get agreement statistics for multiple annotators
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: agreement_annotators
/api/projects/{id}/stats/data_filter:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get statistics about user data filters and their usage within a project.
operationId: api_projects_stats_data_filter_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
user_filters:
description: Data filter statistics by user and model
properties:
stats:
description: List of filter configurations for users and models
items:
additionalProperties:
description: Filter configurations (finished, agreement, skipped, accepted, rejected, gt, predictions, review_score)
type: object
properties:
id:
description: User ID or model version identifier (e.g., "model:1.0")
type: string
type: object
type: array
tasks_with_annotations:
description: Default filter tab for tasks with annotations
type: object
type: object
type: object
description: User data filter statistics
security:
- Token: []
summary: ✨ Get user data filter statistics
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: data_filters
/api/projects/{id}/stats/finished:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get statistics about finished tasks for a project.
operationId: api_projects_stats_finished_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: User ID to filter statistics by (optional)
in: query
name: user_pk
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
finished:
description: Number of finished tasks
type: integer
id:
description: User ID
type: integer
progress:
description: Progress percentage (0-100)
type: integer
type: object
description: Finished tasks statistics
security:
- Token: []
summary: ✨ Get finished tasks statistics
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: finished_tasks
/api/projects/{id}/stats/label-distribution/counts:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Returns counts and percentages for requested label choices, from both annotations and predictions. Supports either pagination (`limit`, `offset`) or targeted fetches via explicit `choice_keys`. Omitting `filters` preserves the unfiltered cached-count behavior. When a non-empty `filters` plan is provided, filtered aggregation is aggregation-complete and non-paginated: the response includes all structure choice keys and `next_offset` is always null (limit/offset are ignored for filtered requests).
operationId: api_projects_stats_label_distribution_counts_retrieve
parameters:
- description: 'Explicit choice keys to fetch, joined by "___PIPE___" (for example: "label___SEP___pos___PIPE___quality___SEP___4"). When provided, pagination params are ignored.'
in: query
name: choice_keys
schema:
type: string
- description: Optional JSON-encoded string containing a curated filter plan (not an exploded object). Pass one JSON string query value (for example `json.dumps(Filters.create(...))` from `label_studio_sdk.data_manager`); do not pass a nested object or Fern will explode `filters[...]` keys. The plan uses normalized AND semantics (`conjunction` must be `"and"`), contains at most 20 items, does not permit nested `child_filters`, and treats an empty `items` list as unfiltered. Supported filter fields are `filter:tasks:id`, `filter:tasks:inner_id`, `filter:tasks:data.*`, `filter:tasks:annotators`, `filter:tasks:ground_truth`, `filter:tasks:reviews_accepted`, `filter:tasks:reviews_rejected`, `filter:tasks:reviewed`, `filter:tasks:predictions_model_versions`, `filter:tasks:annotations_updated_at`, and `filter:tasks:predictions_updated_at`. Each item requires `filter`, `operator`, `type`, and `value`. Annotator filters require one or more positive integer IDs. Model-version filters require 1-100 non-empty strings. Source updated-at filters require an inclusive, ordered, timezone-aware range object with string `min` and `max` timestamps.
examples:
AnnotatorAndGround-truthFilterPlan:
summary: Annotator and ground-truth filter plan
value: '{"conjunction":"and","items":[{"filter":"filter:tasks:annotators","operator":"contains","type":"List","value":[7]},{"filter":"filter:tasks:ground_truth","operator":"equal","type":"Boolean","value":true}]}'
in: query
name: filters
schema:
type: string
- in: path
name: id
required: true
schema:
type: integer
- description: Maximum number of choice keys to return for pagination. Ignored when `choice_keys` is provided. Also ignored for filtered requests (non-empty `filters`), which always return the full aggregation-complete choice set.
in: query
name: limit
schema:
minimum: 1
type: integer
- description: Zero-based offset into the structure `choice_keys` list. Used only when `choice_keys` is not provided. Ignored for filtered requests (non-empty `filters`).
in: query
name: offset
schema:
default: 0
minimum: 0
type: integer
responses:
'200':
content:
application/json:
examples:
LabelDistributionCounts(explicitChoiceKeys):
description: Example response for `choice_keys=label___SEP___pos___PIPE___label___SEP___neg`.
summary: Label Distribution Counts (explicit choice_keys)
value:
next_offset: null
results:
- choice: pos
choice_key: label___SEP___pos
dimension_name: label
from_annotations_count: 12
from_annotations_percent: 60.0
from_predictions_count: 9
from_predictions_percent: 45.0
- choice: neg
choice_key: label___SEP___neg
dimension_name: label
from_annotations_count: 8
from_annotations_percent: 40.0
from_predictions_count: 11
from_predictions_percent: 55.0
totals:
annotation_totals_by_dimension:
label: 20
prediction_totals_by_dimension:
label: 20
schema:
$ref: '#/components/schemas/LabelDistributionCountsResponse'
description: Label distribution counts
'400':
content:
application/json:
examples:
InvalidLabelDistributionFilterPlan:
summary: Invalid Label Distribution filter plan
value:
detail: Validation error
exc_info: null
id: 76debad4-00fd-4b4e-93af-4daeb8076e9b
status_code: 400
validation_errors:
filters: Label Distribution supports only AND filter plans.
version: 2.37.0
schema:
$ref: '#/components/schemas/LabelDistributionValidationError'
description: Invalid JSON or filter plan. Plans use AND semantics, reject OR/nested filters, and require field-compatible values including timezone-aware source timestamp ranges.
'409':
content:
application/json:
examples:
FilteredLabelDistributionUnavailable:
summary: Filtered Label Distribution unavailable
value:
detail: Filtered Label Distribution source readiness is incomplete.
exc_info: null
id: ff6af402-a312-4389-9ba1-a02236473e78
status_code: 409
version: 2.37.0
schema:
$ref: '#/components/schemas/FilteredLabelDistributionUnavailable'
description: Filtered Label Distribution is temporarily unavailable because dimension source readiness is incomplete. Retry later or omit `filters` to request unfiltered cached counts.
security:
- Token: []
summary: ✨ Get label distribution counts
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: label_distribution_counts
/api/projects/{id}/stats/label-distribution/structure:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Returns dimensions and flattened `choice_keys` for a project. Use this response to drive paginated or targeted calls to the label distribution counts endpoint.
operationId: api_projects_stats_label_distribution_structure_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
examples:
LabelDistributionStructure:
description: Example response used by Analytics Label Distribution before loading counts.
summary: Label Distribution Structure
value:
choice_keys:
- label___SEP___neg
- label___SEP___pos
- quality___SEP___1
- quality___SEP___2
- quality___SEP___3
- quality___SEP___4
- quality___SEP___5
dimensions:
- choice_keys:
- label___SEP___neg
- label___SEP___pos
choices:
- neg
- pos
name: label
type: choices
- choice_keys:
- quality___SEP___1
- quality___SEP___2
- quality___SEP___3
- quality___SEP___4
- quality___SEP___5
choices:
- '1'
- '2'
- '3'
- '4'
- '5'
name: quality
type: rating
schema:
$ref: '#/components/schemas/LabelDistributionStructureResponse'
description: Label distribution structure
security:
- Token: []
summary: ✨ Get label distribution structure
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: label_distribution_structure
/api/projects/{id}/stats/lead_time:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get lead time statistics across the project, including average annotation time.
operationId: api_projects_stats_lead_time_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
lead_time_stats:
description: Lead time statistics including mean, median, and distribution
items:
properties:
mean_time:
description: Average lead time for the user
type: number
median_time:
description: Median lead time for the user
type: number
sum_lead_time:
description: Total lead time for the user
type: number
user_id:
description: User ID
type: integer
type: object
type: array
type: object
description: Lead time statistics
security:
- Token: []
summary: ✨ Get lead time statistics
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: lead_time
/api/projects/{id}/stats/member_performance_participants/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Human participants for the Member Performance dropdown.
operationId: api_projects_stats_member_performance_participants_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: 'Which participant scope to load: "annotations" or "reviews".'
in: query
name: table
schema:
enum:
- annotations
- reviews
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/UserSimple'
type: array
description: ''
security:
- Token: []
summary: ✨ Get member performance participants
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: member_performance_participants
/api/projects/{id}/stats/member_performance_rows/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Paginated, sortable member performance rows for annotation/review tables.
operationId: api_projects_stats_member_performance_rows_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: 'Comma-separated participant IDs: numeric user IDs and/or synthetic members as model:<version> (annotations table only). When omitted, members and distinct model versions are derived from the project.'
in: query
name: ids
schema:
type: string
- description: Sort field; prefix with "-" for descending (e.g. "-finished").
in: query
name: ordering
schema:
type: string
- description: 1-based page index.
in: query
name: page
schema:
type: integer
- description: Page size (1–100).
in: query
name: page_size
schema:
type: integer
- description: 'Which table to load: "annotations" or "reviews".'
in: query
name: table
schema:
enum:
- annotations
- reviews
type: string
responses:
'200':
content:
application/json:
schema:
properties:
count:
type: integer
page:
type: integer
page_size:
type: integer
results:
items:
additionalProperties: true
type: object
type: array
type: object
description: 'Member performance rows for one page (footer totals: member_performance_summary).'
'404':
description: Project not found or member performance analytics are unavailable.
security:
- Token: []
summary: ✨ Get paginated member performance rows
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: member_performance_rows
/api/projects/{id}/stats/member_performance_summary/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Footer / Total aggregates for annotation or review member tables. Use with paginated member_performance_rows.
operationId: api_projects_stats_member_performance_summary_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: 'Comma-separated participant IDs: numeric user IDs and/or model:<version> for annotations. When omitted, derived from the project.'
in: query
name: ids
schema:
type: string
- description: 'Which table: "annotations" or "reviews".'
in: query
name: table
schema:
enum:
- annotations
- reviews
type: string
responses:
'200':
content:
application/json:
schema:
properties:
summary:
additionalProperties: true
type: object
type: object
description: Summary aggregates (avg_*, sum_*, count_paused).
'404':
description: Project not found or member performance analytics are unavailable.
security:
- Token: []
summary: ✨ Get member performance table summary aggregates
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: member_performance_summary
/api/projects/{id}/stats/total_agreement:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Overall or per-label total agreement across the project.
NOTE: when this endpoint returns 204 No Content, SDK clients return None.
operationId: api_projects_stats_total_agreement_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Return agreement per label
in: query
name: per_label
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
oneOf:
- properties:
total_agreement:
type: number
type: object
- properties:
total_agreement:
additionalProperties:
type: number
type: object
type: object
description: Total agreement
'204':
description: No data to compute agreement
'400':
description: Agreement V1 API is not supported for Agreement V2 projects
security:
- Token: []
summary: ✨ Get total agreement for project
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: total_agreement
/api/projects/{id}/tasks/:
delete:
description: Delete all tasks from a specific project.
operationId: api_projects_tasks_destroy
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete all tasks
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: tasks
x-fern-sdk-method-name: delete_all_tasks
get:
description: "\n Retrieve a paginated list of tasks for a specific project. For example, use the following cURL command:\n ```bash\n curl -X GET http://localhost:8000/api/projects/{id}/tasks/?page=1&page_size=10 -H 'Authorization: Token abc123'\n ```\n "
operationId: api_projects_tasks_list
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: '[or "start"] current page'
in: query
name: page
schema:
type: integer
- description: '[or "length"] tasks per page, use -1 to obtain all tasks (in this case "page" has no effect and this operation might be slow)'
in: query
name: page_size
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/TaskSimple'
type: array
description: ''
security:
- Token: []
summary: List project tasks
tags:
- Projects
x-fern-audiences:
- internal
/api/projects/{id}/tasks/assignees:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Assign multiple users to a collection of tasks within a specific project.
operationId: api_projects_tasks_assignees_bulk_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkTaskAssigneesRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/BulkTaskAssigneesRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/BulkTaskAssigneesRequestRequest'
required: true
responses:
'201':
content:
application/json:
schema:
properties:
assignments:
type: integer
async:
type: boolean
task_ids:
description: Task IDs included in this assignment request.
items:
type: integer
type: array
type: object
description: Success
'400':
description: Can't assign tasks
security:
- Token: []
summary: ✨ Bulk assign users to tasks
tags:
- Tasks
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- assignments
x-fern-sdk-method-name: bulk_assign
/api/projects/{id}/tasks/{task_pk}/assignees:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Remove assignees for a task within a specific project.
operationId: api_projects_tasks_assignees_destroy
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this task.
in: path
name: task_pk
required: true
schema:
type: integer
- description: Assignment type to delete (optional). If omitted, deletes all assignments for the task.
in: query
name: type
schema:
enum:
- AN
- RE
type: string
- description: Comma separated list of user IDs to delete, as a string. If omitted, deletes all assignees for the given type.
in: query
name: users
schema:
type: string
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete task assignments
tags:
- Tasks
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- assignments
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve a list of tasks and assignees for those tasks for a specific project.
operationId: api_projects_tasks_assignees_retrieve
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this task.
in: path
name: task_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/TaskAssignment'
type: array
description: List of assignments for the task
security:
- Token: []
summary: ✨ Get assigned tasks and assignees
tags:
- Tasks
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- assignments
x-fern-sdk-method-name: list
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update the assignee for a task in a specific project.
operationId: api_projects_tasks_assignees_partial_update
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this task.
in: path
name: task_pk
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedTaskAssigneesMutationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedTaskAssigneesMutationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedTaskAssigneesMutationRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAssignment'
description: ''
security:
- Token: []
summary: ✨ Update task assignee
tags:
- Tasks
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- assignments
x-fern-sdk-method-name: update
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Assign a user to a task in a specific project.
operationId: api_projects_tasks_assignees_create
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
- description: A unique integer value identifying this task.
in: path
name: task_pk
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAssigneesMutationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TaskAssigneesMutationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TaskAssigneesMutationRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAssignment'
description: ''
security:
- Token: []
summary: ✨ Create task assignee
tags:
- Tasks
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- assignments
x-fern-sdk-method-name: assign
/api/projects/{id}/update-stats:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Start stats recalculation for given project
operationId: api_projects_update_stats_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: 'Stat type to recalculate. Possible values: label, stats'
in: query
name: stat_type
schema:
type: string
responses:
'200':
content:
application/json:
schema:
description: Stat recalculation job
title: Stat recalculation job
type: object
description: Successful response returns job id
security:
- Token: []
summary: ✨ Start stats recalculation
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: update_stats
/api/projects/{id}/user-stats/prediction:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get prediction agreement statistics for multiple annotators within a project.
operationId: api_projects_user_stats_prediction_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Comma separated list of annotator user IDs to get agreement scores for
in: query
name: ids
required: true
schema:
type: string
- description: Per label
in: query
name: per_label
schema:
default: false
type: boolean
responses:
'200':
content:
application/json:
schema:
properties:
agreement:
additionalProperties:
oneOf:
- description: Average prediction agreement score for the user (0-1) when per_label=False
type: number
- additionalProperties:
type: number
description: Average prediction agreement score per label for the user (0-1) when per_label=True
type: object
description: Dictionary mapping user IDs to their prediction agreement scores
type: object
type: object
description: Prediction agreement statistics for multiple annotators
security:
- Token: []
summary: ✨ Get prediction agreement statistics for multiple annotators
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: users_prediction_agreement
/api/projects/{id}/user-stats/review_score:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get review score and performance score statistics for multiple annotators within a project. Only allowed for accounts with reviewing features enabled.
operationId: api_projects_user_stats_review_score_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Comma separated list of annotator user IDs to get review scores for
in: query
name: ids
required: true
schema:
type: string
- description: Per label
in: query
name: per_label
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
properties:
performance_score:
additionalProperties:
oneOf:
- description: Performance score for the annotator when per_label=False
type: number
- additionalProperties:
type: number
description: Performance score per label for the annotator when per_label=True
type: object
description: Performance scores mapped by annotator ID
type: object
review_score:
additionalProperties:
oneOf:
- description: Average review score for the annotator when per_label=False
type: number
- additionalProperties:
type: number
description: Review score per label for the annotator when per_label=True
type: object
description: Review scores mapped by annotator ID
type: object
type: object
description: Review scores and performance scores for multiple annotators
security:
- Token: []
summary: ✨ Get review scores for multiple annotators
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: users_review_score
/api/projects/{id}/user-stats/{user_pk}/prediction:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get prediction agreement statistics for a specific user within a project.
operationId: api_projects_user_stats_prediction_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Calculate agreement per label
in: query
name: per_label
schema:
type: boolean
- in: path
name: user_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
average_prediction_agreement_per_user:
oneOf:
- description: Average prediction agreement score for the user (0-1) when per_label=False
type: number
- additionalProperties:
type: number
description: Average prediction agreement score per label for the user (0-1) when per_label=True
type: object
type: object
description: Individual user prediction agreement statistics
security:
- Token: []
summary: ✨ Get individual user prediction agreement
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: user_prediction_agreement
/api/projects/{id}/user-stats/{user_pk}/review_score:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get review score statistics for a specific user within a project. Only allowed for accounts with reviewing features enabled.
operationId: api_projects_user_stats_review_score_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Calculate agreement per label
in: query
name: per_label
schema:
type: boolean
- in: path
name: user_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
performance_score:
oneOf:
- description: Performance score for the user when per_label=False
type: number
- additionalProperties:
type: number
description: Performance score per label for the user when per_label=True
type: object
review_score:
oneOf:
- description: Average review score for the user when per_label=False
type: number
- additionalProperties:
type: number
description: Average review score per label for the user when per_label=True
type: object
type: object
description: Individual user review score statistics
security:
- Token: []
summary: ✨ Get individual user review scores
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: user_review_score
/api/projects/{id}/users/{user_pk}/stats/agreement-groundtruth:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get ground truth agreement statistics for a specific user within a project.
operationId: api_projects_users_stats_agreement_groundtruth_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Calculate agreement per label. Not supported for projects using dimension-based agreement (Agreement V2), which returns HTTP 400.
in: query
name: per_label
schema:
default: false
type: boolean
- in: path
name: user_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
properties:
agreement:
oneOf:
- description: Ground truth agreement score for the user (0-1) when per_label=False
type: number
- additionalProperties:
description: Agreement score for specific label (0-1)
type: number
description: Ground truth agreement scores per label when per_label=True
type: object
type: object
description: Individual user ground truth agreement statistics
security:
- Token: []
summary: ✨ Get individual user ground truth agreement
tags:
- Stats
x-fern-audiences:
- public
x-fern-sdk-group-name:
- projects
- stats
x-fern-sdk-method-name: user_ground_truth_agreement
/api/projects/{id}/validate/:
post:
description: Determine whether the label configuration for a specific project is valid.
operationId: api_projects_validate_label_config
parameters:
- description: A unique integer value identifying this project.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectLabelConfigRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ProjectLabelConfigRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ProjectLabelConfigRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectLabelConfig'
description: ''
security:
- Token: []
summary: Validate project label config
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: projects
x-fern-sdk-method-name: validate_label_config
/api/projects/{project_pk}/annotations-browse:
get:
description: Lightweight annotations list for few-shot example browser.
operationId: api_projects_annotations_browse_retrieve
parameters:
- in: path
name: project_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectAnnotationsBrowseResponse'
description: ''
security:
- Token: []
summary: ✨ Browse annotations for few-shot examples
tags:
- Prompts
/api/projects/{project_pk}/dimensions/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List all dimensions for a specific project.
operationId: api_projects_dimensions_list
parameters:
- description: 'Agreement methodology to use for computing allowed_metrics_with_params. If not provided, uses the methodology stored in the project settings. Valid values: "pairwise", "consensus". '
in: query
name: agreement_methodology
schema:
type: string
- description: Filter by active status
in: query
name: is_active
schema:
type: boolean
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: path
name: project_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/DimensionList'
type: array
description: List of dimensions
security:
- Token: []
summary: ✨ List dimensions
tags:
- Dimensions
x-fern-audiences:
- public
x-fern-sdk-group-name: dimensions
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\n \n\n Provides list of tasks, based on project subset. Includes predictions for tasks. For the 'HasGT' subset, accuracy metrics will also be provided.\n "
operationId: api_projects_subset_tasks_list
parameters:
- description: Only include tasks whose prediction/reference alignment includes this class.
in: query
name: alignment_class
schema:
type: string
- description: When alignment_class is set, limit matching to this output control tag.
in: query
name: alignment_from_name
schema:
type: string
- description: Alignment outcome to drill into. Defaults to all TP, FP, and FN outcomes.
in: query
name: alignment_outcome
schema:
enum:
- all
- false_negative
- false_positive
- true_positive
type: string
- description: If true (default), includes task_count in response; if false, omits it.
in: query
name: include_total
schema:
type: boolean
- description: A unique ID of a ModelRun
in: query
name: model_run
schema:
type: integer
- description: Restrict prefetched predictions to this specific prompt version. Used with parent_model when no model_run is selected so a newly created version does not inherit predictions from prior versions.
in: query
name: model_version
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Only include tasks whose prediction contains this output class.
in: query
name: output_class
schema:
type: string
- description: When output_class is set, limit matching to this output control tag.
in: query
name: output_from_name
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: The ID of the parent model (ModelInterface) for this Inference Run
in: query
name: parent_model
schema:
type: integer
- description: Comma-separated model version IDs. Only include tasks that have predictions for every listed version.
in: query
name: prediction_version_ids
schema:
type: string
- in: path
name: project_pk
required: true
schema:
type: integer
- description: The project subset to retrieve tasks for
in: query
name: project_subset
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedProjectSubsetTasksResponseList'
description: ''
'400':
description: Bad request - missing parent_model
security:
- Token: []
summary: ✨ Get Project Subset Task List with Predictions and Accuracy details
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: prompts
x-fern-sdk-method-name: subset_tasks
/api/projects/{project_pk}/subsets:
get:
description: "\n \n
\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\n \n\n Provides list of available subsets for a project along with count of tasks in each subset\n "
operationId: api_projects_subsets_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- in: path
name: project_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ProjectSubsetItem'
type: array
description: ''
security:
- Token: []
summary: ✨ Get available subsets of a project (for prompts usage)
tags:
- Projects
x-fern-audiences:
- public
x-fern-sdk-group-name: prompts
x-fern-sdk-method-name: subsets
/api/projects/{project_pk}/tasks/{task_pk}/agreement-matrix:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Returns a pairwise agreement matrix between selected participants for a single task, averaged across all active dimensions or a single specified dimension.
operationId: api_projects_tasks_agreement_matrix_retrieve
parameters:
- description: Dimension ID to compute agreement for. If not provided, averages across all active dimensions.
in: query
name: dimension
schema:
type: integer
- description: Project ID
in: path
name: project_pk
required: true
schema:
type: integer
- description: JSON object specifying which participants to include in the agreement matrix
in: query
name: selection
required: true
schema:
$ref: '#/components/schemas/AgreementSelectionRequest'
- description: Task ID
in: path
name: task_pk
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
examples:
TaskAgreementMatrixResponse:
summary: Task agreement matrix response
value:
matrix:
- - 1.0
- 0.75
- 0.5
- - 0.75
- 1.0
- 0.6
- - 0.5
- 0.6
- 1.0
users:
- avatar: null
email: annotator1@example.com
first_name: John
id: 1
initials: JD
last_name: Doe
username: annotator1
- avatar: null
email: annotator2@example.com
first_name: Jane
id: 2
initials: JS
last_name: Smith
username: annotator2
- id: model:v1
username: Model v1
schema:
$ref: '#/components/schemas/TaskAgreementMatrixResponse'
description: ''
security:
- Token: []
summary: ✨ Get task agreement matrix
tags:
- Dimensions
x-fern-audiences:
- public
x-fern-sdk-group-name:
- tasks
- agreement_matrix
x-fern-sdk-method-name: get
/api/prompts/:
get:
description: List all prompts.
operationId: api_prompts_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: A search term.
in: query
name: search
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedModelInterfaceSerializerGETList'
description: ''
security:
- Token: []
summary: ✨ List prompts
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name: prompts
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create a new prompt.
operationId: api_prompts_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterfaceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ModelInterfaceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ModelInterfaceRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterface'
description: ''
security:
- Token: []
summary: ✨ Create prompt
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name: prompts
x-fern-sdk-method-name: create
/api/prompts/compatible-projects:
get:
description: Retrieve a list of compatible project for prompt.
operationId: api_prompts_compatible_projects_list
parameters:
- description: Filter by projects that belong to archived workspaces
in: query
name: archived
schema:
type: boolean
- description: Multiple values may be separated by commas.
explode: false
in: query
name: ids
schema:
items:
type: integer
type: array
style: form
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Skill to filter by
in: query
name: project_type
schema:
default: TextClassification
enum:
- NamedEntityRecognition
- TextClassification
type: string
- in: query
name: source_interface_id
schema:
type: number
- in: query
name: state
schema:
type: string
- in: query
name: title
schema:
type: string
- in: query
name: workspaces
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAllRolesProjectListList'
description: ''
security:
- Token: []
summary: ✨ List projects compatible with prompt
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name: prompts
x-fern-sdk-method-name: compatible_projects
/api/prompts/{id}/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a prompt by ID
operationId: api_prompts_destroy
parameters:
- description: A unique integer value identifying this model interface.
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete prompt
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name: prompts
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve a specific prompt.
operationId: api_prompts_retrieve
parameters:
- description: A unique integer value identifying this model interface.
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterfaceSerializerGET'
description: ''
security:
- Token: []
summary: ✨ Get prompt
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name: prompts
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific prompt by ID.
operationId: api_prompts_partial_update
parameters:
- description: A unique integer value identifying this model interface.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedModelInterfaceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedModelInterfaceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedModelInterfaceRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterface'
description: ''
security:
- Token: []
summary: ✨ Update prompt
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name: prompts
x-fern-sdk-method-name: update
put:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Overwrite a specific prompt by ID.
operationId: api_prompts_update
parameters:
- description: A unique integer value identifying this model interface.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterfaceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ModelInterfaceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ModelInterfaceRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterface'
description: ''
security:
- Token: []
summary: ✨ Put prompt
tags:
- Prompts
x-fern-audiences:
- internal
/api/prompts/{id}/duplicate/:
post:
operationId: api_prompts_duplicate_create
parameters:
- description: A unique integer value identifying this model interface.
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterfaceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ModelInterfaceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ModelInterfaceRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterface'
description: ''
security:
- Token: []
summary: ✨ Duplicate a prompt
tags:
- Prompts
/api/prompts/{id}/get-default-version-name:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get default prompt version name
operationId: api_prompts_get_default_version_name_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultModelVersionNameResponse'
description: ''
security:
- Token: []
summary: ✨ Get default prompt version name
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name:
- prompts
- versions
x-fern-sdk-method-name: get_default_version_name
/api/prompts/{prompt_id}/versions:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List all versions of a prompt.
operationId: api_prompts_versions_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- in: path
name: prompt_id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ThirdPartyModelVersion'
type: array
description: ''
security:
- Token: []
summary: ✨ List prompt versions
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name:
- prompts
- versions
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get an estimate of the cost for making an inference run on the selected Prompt Version and Project/ProjectSubset
operationId: api_prompts_versions_cost_estimate_retrieve
parameters:
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/InferenceRunCostEstimate'
description: Cost estimate response
security:
- Token: []
summary: ✨ Get cost estimate for running a prompt version on a particular project/subset
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name:
- prompts
- versions
x-fern-sdk-method-name: cost_estimate
/api/prompts/{prompt_id}/versions/{version_id}/duplicate:
post:
description: Duplicate an existing version, optionally overriding the model/connection.
operationId: api_prompts_versions_duplicate_create
parameters:
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ThirdPartyModelVersionRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ThirdPartyModelVersionRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ThirdPartyModelVersionRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ThirdPartyModelVersion'
description: ''
security:
- Token: []
summary: ✨ Duplicate a prompt version
tags:
- Prompts
/api/prompts/{prompt_id}/versions/{version_id}/few-shot-examples:
get:
description: CRUD API for managing few-shot examples on a ThirdPartyModelVersion.
operationId: api_prompts_versions_few_shot_examples_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/FewShotExample'
type: array
description: ''
security:
- Token: []
summary: ✨ List few-shot examples
tags:
- Prompts
post:
description: CRUD API for managing few-shot examples on a ThirdPartyModelVersion.
operationId: api_prompts_versions_few_shot_examples_create
parameters:
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FewShotExampleRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FewShotExampleRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FewShotExampleRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/FewShotExample'
description: ''
security:
- Token: []
summary: ✨ Create a few-shot example
tags:
- Prompts
/api/prompts/{prompt_id}/versions/{version_id}/few-shot-examples/reorder:
post:
description: Accept ordered list of example IDs, update order fields.
operationId: api_prompts_versions_few_shot_examples_reorder_create
parameters:
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FewShotExampleRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/FewShotExampleRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/FewShotExampleRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FewShotExample'
description: ''
security:
- Token: []
summary: ✨ Reorder few-shot examples
tags:
- Prompts
/api/prompts/{prompt_id}/versions/{version_id}/few-shot-examples/{id}:
delete:
description: CRUD API for managing few-shot examples on a ThirdPartyModelVersion.
operationId: api_prompts_versions_few_shot_examples_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete a few-shot example
tags:
- Prompts
patch:
description: CRUD API for managing few-shot examples on a ThirdPartyModelVersion.
operationId: api_prompts_versions_few_shot_examples_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedFewShotExampleRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedFewShotExampleRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedFewShotExampleRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/FewShotExample'
description: ''
security:
- Token: []
summary: ✨ Update a few-shot example
tags:
- Prompts
/api/prompts/{prompt_id}/versions/{version_id}/inference-runs:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get information (status, metadata, etc) about an existing inference run
operationId: api_prompts_versions_inference_runs_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: The ID of the parent model for this Inference Run
in: query
name: parent_model
schema:
type: integer
- description: The ID of the project this Inference Run makes predictions on
in: query
name: project
schema:
type: integer
- description: Defines which tasks are operated on (e.g. HasGT will only operate on tasks with a ground truth annotation, but All will operate on all records)
in: query
name: project_subset
schema:
enum:
- All
- HasGT
- Sample
type: string
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ModelRun'
type: array
description: ''
security:
- Token: []
summary: ✨ Get inference run info
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name:
- prompts
- runs
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Cancel the inference run for the given api
operationId: api_prompts_versions_inference_runs_cancel_create
parameters:
- in: path
name: inference_run_id
required: true
schema:
type: integer
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CancelModelRunResponse'
description: ''
security:
- Token: []
summary: ✨ Cancel Inference Run API
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name:
- prompts
- runs
x-fern-sdk-method-name: cancel
/api/prompts/{prompt_id}/versions/{version_id}/prediction-count:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Return how many tasks in a subset already have predictions for a given version.
operationId: api_prompts_versions_prediction_count_retrieve
parameters:
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PredictionCountResponse'
description: ''
security:
- Token: []
summary: ✨ Get prediction count for a prompt version
tags:
- Prompts
/api/prompts/{prompt_id}/versions/{version_id}/prompt-preview:
get:
description: Return the fully assembled prompt with few-shot examples injected.
operationId: api_prompts_versions_prompt_preview_retrieve
parameters:
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PromptPreviewResponse'
description: ''
security:
- Token: []
summary: ✨ Preview assembled prompt
tags:
- Prompts
/api/prompts/{prompt_id}/versions/{version_id}/refine:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get the refined prompt based on the `refinement_job_id`.
operationId: api_prompts_versions_refine_retrieve
parameters:
- in: path
name: prompt_id
required: true
schema:
type: integer
- description: Refinement Job ID acquired from the `POST /api/prompts/{prompt_id}/versions/{version_id}/refine` endpoint
in: query
name: refinement_job_id
schema:
type: string
- in: path
name: version_id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RefinedPromptResponse'
description: Refined prompt response
'202':
content:
application/json:
schema:
$ref: '#/components/schemas/RefinedPromptResponse'
description: Refinement job status
security:
- Token: []
summary: ✨ Get refined prompt
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name:
- prompts
- versions
x-fern-sdk-method-name: get_refined_prompt
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Refine a prompt version using a teacher model and save the refined prompt as a new version.
operationId: api_prompts_versions_refine_create
parameters:
- description: Whether to run the refinement asynchronously
in: query
name: async
schema:
type: boolean
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RefinePromptRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RefinePromptRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RefinePromptRequestRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/RefinedPromptResponse'
description: Refined prompt response
security:
- Token: []
summary: ✨ Refine a prompt version
tags:
- Prompts
x-fern-audiences:
- public
x-fern-sdk-group-name:
- prompts
- versions
x-fern-sdk-method-name: refine_prompt
/api/prompts/{prompt_id}/versions/{version_id}/try-task:
post:
description: |-
Run a single-task ephemeral prediction using the current (possibly unsaved) prompt.
No ModelRun is created and no Prediction is stored. The user iterates
until happy, then saves and does a full Run.
operationId: api_prompts_versions_try_task_create
parameters:
- in: path
name: prompt_id
required: true
schema:
type: integer
- in: path
name: version_id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TryTaskRequestRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TryTaskRequestRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TryTaskRequestRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TryTaskResponse'
description: ''
security:
- Token: []
summary: ✨ Try prompt on a single task
tags:
- Prompts
/api/saml/settings:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Reset SAML2 settings for the currently active organization. This clears all configured fields (domain, metadata, attribute mappings, group mappings) back to their defaults without deleting the underlying settings record.
operationId: api_saml_settings_destroy
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Reset SAML2 Settings
tags:
- SSO
x-fern-audiences:
- public
x-fern-sdk-group-name:
- sso
- saml
x-fern-sdk-method-name: reset
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update SCIM settings for the currently active organization.
operationId: api_scim_settings_create
requestBody:
content:
application/json:
examples:
Response:
summary: response
value:
projects_groups:
- group: groups_test
project_id: 42
role: Inherit
roles_groups:
- - Administrator
- groups_test
workspaces_groups:
- - Default workspace
- groups_test
schema:
$ref: '#/components/schemas/ScimSettingsUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/ScimSettingsUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/ScimSettingsUpdateRequest'
responses:
'201':
content:
application/json:
examples:
Response:
summary: response
value:
projects_groups:
- group: groups_test
project_id: 42
role: Inherit
roles_groups:
- - Administrator
- groups_test
workspaces_groups:
- - Default workspace
- groups_test
schema:
$ref: '#/components/schemas/ScimSettingsUpdate'
description: ''
security:
- Token: []
summary: ✨ Update SCIM Settings
tags:
- SSO
x-fern-audiences:
- public
x-fern-sdk-group-name:
- sso
- scim
x-fern-sdk-method-name: update
/api/session-policy/:
get:
description: Retrieve session timeout policy for the currently active organization.
operationId: api_session_policy_retrieve
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SessionTimeoutPolicy'
description: ''
security:
- Token: []
summary: Retrieve Session Policy
tags:
- Session Policy
x-fern-audiences:
- public
x-fern-sdk-group-name: session_policy
x-fern-sdk-method-name: get
patch:
description: Update session timeout policy for the currently active organization.
operationId: api_session_policy_partial_update
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedSessionTimeoutPolicyRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedSessionTimeoutPolicyRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedSessionTimeoutPolicyRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SessionTimeoutPolicy'
description: ''
security:
- Token: []
summary: Update Session Policy
tags:
- Session Policy
x-fern-audiences:
- public
x-fern-sdk-group-name: session_policy
x-fern-sdk-method-name: update
/api/storages/:
get:
description: Retrieve a list of the import storages of all types with their IDs.
operationId: api_storages_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
type: object
type: array
description: List of import storages of all types with their IDs.
security:
- Token: []
summary: List all import storages from the project
tags:
- Storage
x-fern-audiences:
- internal
x-fern-sdk-group-name:
- import_storage
x-fern-sdk-method-name: list
/api/storages/azure/:
get:
description: Get list of all Azure import storage connections.
operationId: api_storages_azure_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AzureBlobImportStorage'
type: array
description: ''
security:
- Token: []
summary: Get all import storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure
x-fern-sdk-method-name: list
post:
description: Create new Azure import storage
operationId: api_storages_azure_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobImportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureBlobImportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureBlobImportStorageWriteRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobImportStorage'
description: ''
security:
- Token: []
summary: Create new storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure
x-fern-sdk-method-name: create
/api/storages/azure/validate:
post:
description: Validate a specific Azure import storage connection.
operationId: api_storages_azure_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobImportStorageValidateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureBlobImportStorageValidateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureBlobImportStorageValidateRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: Validate import storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure
x-fern-sdk-method-name: validate
/api/storages/azure/{id}:
delete:
description: Delete a specific Azure import storage connection.
operationId: api_storages_azure_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete import storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure
x-fern-sdk-method-name: delete
get:
description: Get a specific Azure import storage connection.
operationId: api_storages_azure_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobImportStorage'
description: ''
security:
- Token: []
summary: Get import storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure
x-fern-sdk-method-name: get
patch:
description: Update a specific Azure import storage connection.
operationId: api_storages_azure_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAzureBlobImportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedAzureBlobImportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedAzureBlobImportStorageWriteRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobImportStorage'
description: ''
security:
- Token: []
summary: Update import storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure
x-fern-sdk-method-name: update
/api/storages/azure/{id}/sync:
post:
description: Sync tasks from an Azure import storage connection.
operationId: api_storages_azure_sync_create
parameters:
- description: Storage ID
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobImportStorage'
description: ''
security:
- Token: []
summary: Sync import storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure
x-fern-sdk-method-name: sync
/api/storages/azure_spi/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get list of all Azure import storage connections set up with Service Principal authentication.
operationId: api_storages_azure_spi_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AzureServicePrincipalImportStorage'
type: array
description: ''
security:
- Token: []
summary: ✨ Get Azure SPI import storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure_spi
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create Azure import storage with Service Principal or workload-identity authentication. Supports auth_mode=service_principal (default; requires tenant_id, client_id, and client_secret) and auth_mode=workload_identity (secretless; client_secret must be omitted, tenant_id is not required, optional client_id selects a user-assigned managed identity). GET responses never include client_secret.
operationId: api_storages_azure_spi_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorage'
description: ''
security:
- Token: []
summary: ✨ Create Azure import storage with SPI
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure_spi
x-fern-sdk-method-name: create
/api/storages/azure_spi/validate:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Validate a specific Azure import storage connection (Service Principal or workload-identity). Supports auth_mode=service_principal (default; requires tenant_id, client_id, and client_secret) and auth_mode=workload_identity (secretless; client_secret must be omitted, tenant_id is not required, optional client_id selects a user-assigned managed identity). GET responses never include client_secret.
operationId: api_storages_azure_spi_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorageRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: ✨ Validate Azure SPI import storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure_spi
x-fern-sdk-method-name: validate
/api/storages/azure_spi/{id}:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a specific Azure import storage connection that was set up with Service Principal authentication.
operationId: api_storages_azure_spi_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete Azure SPI import storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure_spi
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a specific Azure import storage connection that was set up with Service Principal authentication.
operationId: api_storages_azure_spi_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorage'
description: ''
security:
- Token: []
summary: ✨ Get Azure SPI import storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure_spi
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific Azure import storage connection (Service Principal or workload-identity). Supports auth_mode=service_principal (default; requires tenant_id, client_id, and client_secret) and auth_mode=workload_identity (secretless; client_secret must be omitted, tenant_id is not required, optional client_id selects a user-assigned managed identity). GET responses never include client_secret.
operationId: api_storages_azure_spi_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAzureServicePrincipalImportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedAzureServicePrincipalImportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedAzureServicePrincipalImportStorageRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorage'
description: ''
security:
- Token: []
summary: ✨ Update Azure SPI import storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure_spi
x-fern-sdk-method-name: update
/api/storages/azure_spi/{id}/sync:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Sync tasks from an Azure import storage connection that was set up with Service Principal authentication.
operationId: api_storages_azure_spi_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorage'
description: ''
security:
- Token: []
summary: ✨ Sync Azure SPI import storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- azure_spi
x-fern-sdk-method-name: sync
/api/storages/databricks/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get list of all Databricks Files import storage connections.
operationId: api_storages_databricks_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/DatabricksImportStorage'
type: array
description: ''
security:
- Token: []
summary: ✨ List Databricks import storages
tags:
- 'Storage: Databricks Files'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- databricks
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Sync tasks from a Databricks Files import storage.
operationId: api_storages_databricks_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksImportStorage'
description: ''
security:
- Token: []
summary: ✨ Sync Databricks import storage
tags:
- 'Storage: Databricks Files'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- databricks
x-fern-sdk-method-name: sync
/api/storages/export:
get:
description: Retrieve a list of the export storages of all types with their IDs.
operationId: api_storages_export_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
type: object
type: array
description: List of export storages of all types with their IDs.
security:
- Token: []
summary: List all export storages from the project
tags:
- Storage
x-fern-audiences:
- internal
x-fern-sdk-group-name:
- export_storage
x-fern-sdk-method-name: list
/api/storages/export/azure:
get:
description: Get a list of all Azure export storage connections.
operationId: api_storages_export_azure_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AzureBlobExportStorage'
type: array
description: ''
security:
- Token: []
summary: Get all export storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure
x-fern-sdk-method-name: list
post:
description: Create a new Azure export storage connection to store annotations.
operationId: api_storages_export_azure_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobExportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureBlobExportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureBlobExportStorageWriteRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobExportStorage'
description: ''
security:
- Token: []
summary: Create export storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure
x-fern-sdk-method-name: create
/api/storages/export/azure/validate:
post:
description: Validate a specific Azure export storage connection.
operationId: api_storages_export_azure_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobExportStorageValidateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureBlobExportStorageValidateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureBlobExportStorageValidateRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: Validate export storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure
x-fern-sdk-method-name: validate
/api/storages/export/azure/{id}:
delete:
description: Delete a specific Azure export storage connection.
operationId: api_storages_export_azure_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete export storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure
x-fern-sdk-method-name: delete
get:
description: Get a specific Azure export storage connection.
operationId: api_storages_export_azure_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobExportStorage'
description: ''
security:
- Token: []
summary: Get export storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure
x-fern-sdk-method-name: get
patch:
description: Update a specific Azure export storage connection.
operationId: api_storages_export_azure_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAzureBlobExportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedAzureBlobExportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedAzureBlobExportStorageWriteRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobExportStorage'
description: ''
security:
- Token: []
summary: Update export storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure
x-fern-sdk-method-name: update
/api/storages/export/azure/{id}/sync:
post:
description: Sync tasks from an Azure export storage connection.
operationId: api_storages_export_azure_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobExportStorage'
description: ''
security:
- Token: []
summary: Sync export storage
tags:
- 'Storage: Azure'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure
x-fern-sdk-method-name: sync
/api/storages/export/azure_spi:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a list of all Azure export storage connections that were set up with Service Principal authentication.
operationId: api_storages_export_azure_spi_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/AzureServicePrincipalExportStorage'
type: array
description: ''
security:
- Token: []
summary: ✨ Get all Azure SPI export storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure_spi
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create an Azure export storage connection with Service Principal or workload-identity authentication to store annotations. Supports auth_mode=service_principal (default; requires tenant_id, client_id, and client_secret) and auth_mode=workload_identity (secretless; client_secret must be omitted, tenant_id is not required, optional client_id selects a user-assigned managed identity). GET responses never include client_secret.
operationId: api_storages_export_azure_spi_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorage'
description: ''
security:
- Token: []
summary: ✨ Create Azure export storage with SPI authentication
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure_spi
x-fern-sdk-method-name: create
/api/storages/export/azure_spi/validate:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Validate a specific Azure export storage connection (Service Principal or workload-identity). Supports auth_mode=service_principal (default; requires tenant_id, client_id, and client_secret) and auth_mode=workload_identity (secretless; client_secret must be omitted, tenant_id is not required, optional client_id selects a user-assigned managed identity). GET responses never include client_secret.
operationId: api_storages_export_azure_spi_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorageRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: ✨ Validate Azure SPI export storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure_spi
x-fern-sdk-method-name: validate
/api/storages/export/azure_spi/{id}:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a specific Azure export storage connection that was set up with Service Principal authentication.
operationId: api_storages_export_azure_spi_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete Azure SPI export storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure_spi
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a specific Azure export storage connection that was set up with Service Principal authentication.
operationId: api_storages_export_azure_spi_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorage'
description: ''
security:
- Token: []
summary: ✨ Get Azure SPI export storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure_spi
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific Azure export storage connection (Service Principal or workload-identity). Supports auth_mode=service_principal (default; requires tenant_id, client_id, and client_secret) and auth_mode=workload_identity (secretless; client_secret must be omitted, tenant_id is not required, optional client_id selects a user-assigned managed identity). GET responses never include client_secret.
operationId: api_storages_export_azure_spi_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAzureServicePrincipalExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedAzureServicePrincipalExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedAzureServicePrincipalExportStorageRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorage'
description: ''
security:
- Token: []
summary: ✨ Update Azure SPI export storage
tags:
- 'Storage: Azure SPI'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- azure_spi
x-fern-sdk-method-name: update
/api/storages/export/azure_spi/{id}/sync:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Export annotations to a Databricks Files storage.
operationId: api_storages_export_databricks_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksExportStorage'
description: ''
security:
- Token: []
summary: ✨ Sync Databricks export storage
tags:
- 'Storage: Databricks Files'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- databricks
x-fern-sdk-method-name: sync
/api/storages/export/gcs:
get:
description: Get a list of all GCS export storage connections.
operationId: api_storages_export_gcs_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/GCSExportStorage'
type: array
description: ''
security:
- Token: []
summary: Get all export storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs
x-fern-sdk-method-name: list
post:
description: Create a new GCS export storage connection to store annotations.
operationId: api_storages_export_gcs_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSExportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSExportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSExportStorageWriteRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSExportStorage'
description: ''
security:
- Token: []
summary: Create export storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs
x-fern-sdk-method-name: create
/api/storages/export/gcs/validate:
post:
description: Validate a specific GCS export storage connection.
operationId: api_storages_export_gcs_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSExportStorageValidateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSExportStorageValidateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSExportStorageValidateRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: Validate export storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs
x-fern-sdk-method-name: validate
/api/storages/export/gcs/{id}:
delete:
description: Delete a specific GCS export storage connection.
operationId: api_storages_export_gcs_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete export storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs
x-fern-sdk-method-name: delete
get:
description: Get a specific GCS export storage connection.
operationId: api_storages_export_gcs_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSExportStorage'
description: ''
security:
- Token: []
summary: Get export storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs
x-fern-sdk-method-name: get
patch:
description: Update a specific GCS export storage connection.
operationId: api_storages_export_gcs_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSExportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedGCSExportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedGCSExportStorageWriteRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSExportStorage'
description: ''
security:
- Token: []
summary: Update export storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs
x-fern-sdk-method-name: update
/api/storages/export/gcs/{id}/sync:
post:
description: Sync tasks from an GCS export storage connection.
operationId: api_storages_export_gcs_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSExportStorage'
description: ''
security:
- Token: []
summary: Sync export storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs
x-fern-sdk-method-name: sync
/api/storages/export/gcs_sa:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a list of all GCS export storage connections set up with SA Impersonation.
operationId: api_storages_export_gcs_sa_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/GCSSAExportStorage'
type: array
description: ''
security:
- Token: []
summary: ✨ Get all GCS SA export storages
tags:
- 'Storage: GCS SA'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs_sa
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create a GCS export storage connection with SA Impersonation to store annotations.
operationId: api_storages_export_gcs_sa_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSSAExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSSAExportStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorage'
description: ''
security:
- Token: []
summary: ✨ Create GCS export storage with SA Impersonation
tags:
- 'Storage: GCS SA'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs_sa
x-fern-sdk-method-name: create
/api/storages/export/gcs_sa/validate:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Validate a specific GCS export storage connection set up with SA Impersonation.
operationId: api_storages_export_gcs_sa_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSSAExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSSAExportStorageRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: ✨ Validate GCS SA export storage
tags:
- 'Storage: GCS SA'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs_sa
x-fern-sdk-method-name: validate
/api/storages/export/gcs_sa/{id}:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a specific GCS export storage connection set up with SA Impersonation.
operationId: api_storages_export_gcs_sa_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete GCS SA export storage
tags:
- 'Storage: GCS SA'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs_sa
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a specific GCS export storage connection set up with SA Impersonation.
operationId: api_storages_export_gcs_sa_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorage'
description: ''
security:
- Token: []
summary: ✨ Get GCS SA export storage
tags:
- 'Storage: GCS SA'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs_sa
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific GCS export storage connection set up with SA Impersonation.
operationId: api_storages_export_gcs_sa_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSSAExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedGCSSAExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedGCSSAExportStorageRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorage'
description: ''
security:
- Token: []
summary: ✨ Update GCS SA export storage
tags:
- 'Storage: GCS SA'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs_sa
x-fern-sdk-method-name: update
/api/storages/export/gcs_sa/{id}/sync:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Sync annotations to a GCS SA export storage.
operationId: api_storages_export_gcs_sa_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorage'
description: ''
security:
- Token: []
summary: ✨ Sync GCS SA export storage
tags:
- 'Storage: GCS SA'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcs_sa
x-fern-sdk-method-name: sync
/api/storages/export/gcswif:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a list of all GCS export storage connections that were set up with WIF authentication.
operationId: api_storages_export_gcswif_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/GCSWIFExportStorage'
type: array
description: ''
security:
- Token: []
summary: ✨ Get all GCS WIF export storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcswif
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Validate a specific GCS export storage connection that was set up with WIF authentication.
operationId: api_storages_export_gcswif_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSWIFExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSWIFExportStorageRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: ✨ Validate GCS WIF export storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcswif
x-fern-sdk-method-name: validate
/api/storages/export/gcswif/{id}:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a specific GCS export storage connection that was set up with WIF authentication.
operationId: api_storages_export_gcswif_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete GCS WIF export storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcswif
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a specific GCS export storage connection that was set up with WIF authentication.
operationId: api_storages_export_gcswif_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFExportStorage'
description: ''
security:
- Token: []
summary: ✨ Get GCS WIF export storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcswif
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific GCS export storage connection that was set up with WIF authentication.
operationId: api_storages_export_gcswif_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSWIFExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedGCSWIFExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedGCSWIFExportStorageRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFExportStorage'
description: ''
security:
- Token: []
summary: ✨ Update GCS WIF export storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcswif
x-fern-sdk-method-name: update
/api/storages/export/gcswif/{id}/sync:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Sync tasks from an GCS WIF export storage.
operationId: api_storages_export_gcswif_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFExportStorage'
description: ''
security:
- Token: []
summary: ✨ Sync GCS WIF export storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- gcswif
x-fern-sdk-method-name: sync
/api/storages/export/localfiles:
get:
description: Get a list of all local file export storage connections.
operationId: api_storages_export_localfiles_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LocalFilesExportStorage'
type: array
description: ''
security:
- Token: []
summary: Get all export storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- local
x-fern-sdk-method-name: list
post:
description: Create a new local file export storage connection to store annotations.
operationId: api_storages_export_localfiles_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesExportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LocalFilesExportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LocalFilesExportStorageWriteRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesExportStorage'
description: ''
security:
- Token: []
summary: Create export storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- local
x-fern-sdk-method-name: create
/api/storages/export/localfiles/validate:
post:
description: Validate a specific local file export storage connection.
operationId: api_storages_export_localfiles_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesExportStorageValidateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LocalFilesExportStorageValidateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LocalFilesExportStorageValidateRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: Validate export storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- local
x-fern-sdk-method-name: validate
/api/storages/export/localfiles/{id}:
delete:
description: Delete a specific local file export storage connection.
operationId: api_storages_export_localfiles_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete export storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- local
x-fern-sdk-method-name: delete
get:
description: Get a specific local file export storage connection.
operationId: api_storages_export_localfiles_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesExportStorage'
description: ''
security:
- Token: []
summary: Get export storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- local
x-fern-sdk-method-name: get
patch:
description: Update a specific local file export storage connection.
operationId: api_storages_export_localfiles_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLocalFilesExportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLocalFilesExportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLocalFilesExportStorageWriteRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesExportStorage'
description: ''
security:
- Token: []
summary: Update export storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- local
x-fern-sdk-method-name: update
/api/storages/export/localfiles/{id}/sync:
post:
description: Sync tasks from a local file export storage connection.
operationId: api_storages_export_localfiles_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesExportStorage'
description: ''
security:
- Token: []
summary: Sync export storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- local
x-fern-sdk-method-name: sync
/api/storages/export/redis:
get:
description: Get a list of all Redis export storage connections.
operationId: api_storages_export_redis_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/RedisExportStorage'
type: array
description: ''
security:
- Token: []
summary: Get all export storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- redis
x-fern-sdk-method-name: list
post:
description: Create a new Redis export storage connection to store annotations.
operationId: api_storages_export_redis_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RedisExportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RedisExportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RedisExportStorageWriteRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/RedisExportStorage'
description: ''
security:
- Token: []
summary: Create export storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- redis
x-fern-sdk-method-name: create
/api/storages/export/redis/validate:
post:
description: Validate a specific Redis export storage connection.
operationId: api_storages_export_redis_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RedisExportStorageValidateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RedisExportStorageValidateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RedisExportStorageValidateRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: Validate export storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- redis
x-fern-sdk-method-name: validate
/api/storages/export/redis/{id}:
delete:
description: Delete a specific Redis export storage connection.
operationId: api_storages_export_redis_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete export storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- redis
x-fern-sdk-method-name: delete
get:
description: Get a specific Redis export storage connection.
operationId: api_storages_export_redis_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RedisExportStorage'
description: ''
security:
- Token: []
summary: Get export storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- redis
x-fern-sdk-method-name: get
patch:
description: Update a specific Redis export storage connection.
operationId: api_storages_export_redis_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedRedisExportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedRedisExportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedRedisExportStorageWriteRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RedisExportStorage'
description: ''
security:
- Token: []
summary: Update export storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- redis
x-fern-sdk-method-name: update
/api/storages/export/redis/{id}/sync:
post:
description: Sync tasks from a Redis export storage connection.
operationId: api_storages_export_redis_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RedisExportStorage'
description: ''
security:
- Token: []
summary: Sync export storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- redis
x-fern-sdk-method-name: sync
/api/storages/export/s3:
get:
description: Get a list of all S3 export storage connections.
operationId: api_storages_export_s3_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/S3ExportStorage'
type: array
description: ''
security:
- Token: []
summary: Get all export storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3
x-fern-sdk-method-name: list
post:
description: Create a new S3 export storage connection to store annotations.
operationId: api_storages_export_s3_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/S3ExportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/S3ExportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/S3ExportStorageWriteRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/S3ExportStorage'
description: ''
security:
- Token: []
summary: Create export storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3
x-fern-sdk-method-name: create
/api/storages/export/s3/validate:
post:
description: Validate a specific S3 export storage connection.
operationId: api_storages_export_s3_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/S3ExportStorageValidateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/S3ExportStorageValidateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/S3ExportStorageValidateRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: Validate export storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3
x-fern-sdk-method-name: validate
/api/storages/export/s3/{id}:
delete:
description: Delete a specific S3 export storage connection.
operationId: api_storages_export_s3_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete export storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3
x-fern-sdk-method-name: delete
get:
description: Get a specific S3 export storage connection.
operationId: api_storages_export_s3_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/S3ExportStorage'
description: ''
security:
- Token: []
summary: Get export storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3
x-fern-sdk-method-name: get
patch:
description: Update a specific S3 export storage connection.
operationId: api_storages_export_s3_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedS3ExportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedS3ExportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedS3ExportStorageWriteRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/S3ExportStorage'
description: ''
security:
- Token: []
summary: Update export storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3
x-fern-sdk-method-name: update
/api/storages/export/s3/{id}/sync:
post:
description: Sync tasks from an S3 export storage connection.
operationId: api_storages_export_s3_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/S3ExportStorage'
description: ''
security:
- Token: []
summary: Sync export storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3
x-fern-sdk-method-name: sync
/api/storages/export/s3s:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a list of all S3 export storage connections that were set up with IAM role access.
operationId: api_storages_export_s3s_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LseS3ExportStorage'
type: array
description: ''
security:
- Token: []
summary: ✨ List S3s export storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3s
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create an S3 export storage connection with IAM role access to store annotations.
operationId: api_storages_export_s3s_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LseS3ExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LseS3ExportStorageRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorage'
description: ''
security:
- Token: []
summary: ✨ Create export storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3s
x-fern-sdk-method-name: create
/api/storages/export/s3s/validate:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Validate a specific S3 export storage connection that was set up with IAM role access.
operationId: api_storages_export_s3s_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LseS3ExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LseS3ExportStorageRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: ✨ Validate export storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3s
x-fern-sdk-method-name: validate
/api/storages/export/s3s/{id}:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a specific S3 export storage connection that was set up with IAM role access.
operationId: api_storages_export_s3s_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete export storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3s
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a specific S3 export storage connection that was set up with IAM role access.
operationId: api_storages_export_s3s_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorage'
description: ''
security:
- Token: []
summary: ✨ Get export storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3s
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific S3 export storage connection that was set up with IAM role access.
operationId: api_storages_export_s3s_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseS3ExportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLseS3ExportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLseS3ExportStorageRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorage'
description: ''
security:
- Token: []
summary: ✨ Update export storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3s
x-fern-sdk-method-name: update
/api/storages/export/s3s/{id}/sync:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Sync tasks from an S3 export storage.
operationId: api_storages_export_s3s_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorage'
description: ''
security:
- Token: []
summary: ✨ Sync export storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
- s3s
x-fern-sdk-method-name: sync
/api/storages/export/types:
get:
description: Retrieve a list of the export storages types.
operationId: api_storages_export_types_retrieve
responses:
'200':
content:
application/json:
schema:
items:
properties:
name:
type: string
title:
type: string
type: object
type: array
description: List of export storage types
security:
- Token: []
summary: List all export storages types
tags:
- Storage
x-fern-audiences:
- public
x-fern-sdk-group-name:
- export_storage
x-fern-sdk-method-name: list_types
/api/storages/gcs/:
get:
description: Get a list of all GCS import storage connections.
operationId: api_storages_gcs_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/GCSImportStorage'
type: array
description: ''
security:
- Token: []
summary: Get all import storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcs
x-fern-sdk-method-name: list
post:
description: Create a new GCS import storage connection.
operationId: api_storages_gcs_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSImportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSImportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSImportStorageWriteRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSImportStorage'
description: ''
security:
- Token: []
summary: Create import storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcs
x-fern-sdk-method-name: create
/api/storages/gcs/validate:
post:
description: Validate a specific GCS import storage connection.
operationId: api_storages_gcs_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSImportStorageValidateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSImportStorageValidateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSImportStorageValidateRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: Validate import storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcs
x-fern-sdk-method-name: validate
/api/storages/gcs/{id}:
delete:
description: Delete a specific GCS import storage connection.
operationId: api_storages_gcs_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete import storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcs
x-fern-sdk-method-name: delete
get:
description: Get a specific GCS import storage connection.
operationId: api_storages_gcs_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSImportStorage'
description: ''
security:
- Token: []
summary: Get import storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcs
x-fern-sdk-method-name: get
patch:
description: Update a specific GCS import storage connection.
operationId: api_storages_gcs_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSImportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedGCSImportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedGCSImportStorageWriteRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSImportStorage'
description: ''
security:
- Token: []
summary: Update import storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcs
x-fern-sdk-method-name: update
/api/storages/gcs/{id}/sync:
post:
description: Sync tasks from a GCS import storage connection.
operationId: api_storages_gcs_sync_create
parameters:
- description: Storage ID
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSImportStorage'
description: ''
security:
- Token: []
summary: Sync import storage
tags:
- 'Storage: GCS'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcs
x-fern-sdk-method-name: sync
/api/storages/gcs_sa/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get list of all GCS import storage connections set up with Service Account Impersonation.
operationId: api_storages_gcs_sa_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/GCSSAImportStorage'
type: array
description: ''
security:
- Token: []
summary: ✨ Get all GCS SA import storages
tags:
- 'Storage: GCS SA'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcs_sa
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Validate a specific GCS import storage connection that was set up with WIF authentication.
operationId: api_storages_gcswif_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFImportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/GCSWIFImportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/GCSWIFImportStorageRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: ✨ Validate GCS WIF import storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcswif
x-fern-sdk-method-name: validate
/api/storages/gcswif/{id}:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a specific GCS import storage connection that was set up with WIF authentication.
operationId: api_storages_gcswif_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete GCS WIF import storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcswif
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a specific GCS import storage connection that was set up with WIF.
operationId: api_storages_gcswif_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFImportStorage'
description: ''
security:
- Token: []
summary: ✨ Get GCS WIF import storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcswif
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific GCS import storage connection that was set up with WIF authentication.
operationId: api_storages_gcswif_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSWIFImportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedGCSWIFImportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedGCSWIFImportStorageRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFImportStorage'
description: ''
security:
- Token: []
summary: ✨ Update GCS WIF import storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcswif
x-fern-sdk-method-name: update
/api/storages/gcswif/{id}/sync:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Sync tasks from an GCS import storage connection that was set up with WIF authentication.
operationId: api_storages_gcswif_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFImportStorage'
description: ''
security:
- Token: []
summary: ✨ Sync GCS WIF import storage
tags:
- 'Storage: GCS WIF'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- gcswif
x-fern-sdk-method-name: sync
/api/storages/localfiles/:
get:
description: Get a list of all local file import storage connections.
operationId: api_storages_localfiles_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LocalFilesImportStorage'
type: array
description: ''
security:
- Token: []
summary: Get all import storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- local
x-fern-sdk-method-name: list
post:
description: Create a new local file import storage connection.
operationId: api_storages_localfiles_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesImportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LocalFilesImportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LocalFilesImportStorageWriteRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesImportStorage'
description: ''
security:
- Token: []
summary: Create import storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- local
x-fern-sdk-method-name: create
/api/storages/localfiles/validate:
post:
description: Validate a specific local file import storage connection.
operationId: api_storages_localfiles_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesImportStorageValidateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LocalFilesImportStorageValidateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LocalFilesImportStorageValidateRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: Validate import storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- local
x-fern-sdk-method-name: validate
/api/storages/localfiles/{id}:
delete:
description: Delete a specific local file import storage connection.
operationId: api_storages_localfiles_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete import storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- local
x-fern-sdk-method-name: delete
get:
description: Get a specific local file import storage connection.
operationId: api_storages_localfiles_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesImportStorage'
description: ''
security:
- Token: []
summary: Get import storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- local
x-fern-sdk-method-name: get
patch:
description: Update a specific local file import storage connection.
operationId: api_storages_localfiles_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLocalFilesImportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLocalFilesImportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLocalFilesImportStorageWriteRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesImportStorage'
description: ''
security:
- Token: []
summary: Update import storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- local
x-fern-sdk-method-name: update
/api/storages/localfiles/{id}/sync:
post:
description: Sync tasks from a local file import storage connection.
operationId: api_storages_localfiles_sync_create
parameters:
- description: Storage ID
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesImportStorage'
description: ''
security:
- Token: []
summary: Sync import storage
tags:
- 'Storage: Local'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- local
x-fern-sdk-method-name: sync
/api/storages/redis/:
get:
description: Get a list of all Redis import storage connections.
operationId: api_storages_redis_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/RedisImportStorage'
type: array
description: ''
security:
- Token: []
summary: Get all import storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- redis
x-fern-sdk-method-name: list
post:
description: Create a new Redis import storage connection.
operationId: api_storages_redis_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RedisImportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RedisImportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RedisImportStorageWriteRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/RedisImportStorage'
description: ''
security:
- Token: []
summary: Create import storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- redis
x-fern-sdk-method-name: create
/api/storages/redis/validate:
post:
description: Validate a specific Redis import storage connection.
operationId: api_storages_redis_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RedisImportStorageValidateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/RedisImportStorageValidateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/RedisImportStorageValidateRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: Validate import storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- redis
x-fern-sdk-method-name: validate
/api/storages/redis/{id}:
delete:
description: Delete a specific Redis import storage connection.
operationId: api_storages_redis_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete import storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- redis
x-fern-sdk-method-name: delete
get:
description: Get a specific Redis import storage connection.
operationId: api_storages_redis_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RedisImportStorage'
description: ''
security:
- Token: []
summary: Get import storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- redis
x-fern-sdk-method-name: get
patch:
description: Update a specific Redis import storage connection.
operationId: api_storages_redis_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedRedisImportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedRedisImportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedRedisImportStorageWriteRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RedisImportStorage'
description: ''
security:
- Token: []
summary: Update import storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- redis
x-fern-sdk-method-name: update
/api/storages/redis/{id}/sync:
post:
description: Sync tasks from a Redis import storage connection.
operationId: api_storages_redis_sync_create
parameters:
- description: Storage ID
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RedisImportStorage'
description: ''
security:
- Token: []
summary: Sync import storage
tags:
- 'Storage: Redis'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- redis
x-fern-sdk-method-name: sync
/api/storages/s3/:
get:
description: Get a list of all S3 import storage connections.
operationId: api_storages_s3_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/S3ImportStorage'
type: array
description: ''
security:
- Token: []
summary: List S3 import storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3
x-fern-sdk-method-name: list
post:
description: Create new S3 import storage
operationId: api_storages_s3_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/S3ImportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/S3ImportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/S3ImportStorageWriteRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/S3ImportStorage'
description: ''
security:
- Token: []
summary: Create new S3 storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3
x-fern-sdk-method-name: create
/api/storages/s3/validate:
post:
description: Validate a specific S3 import storage connection.
operationId: api_storages_s3_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/S3ImportStorageValidateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/S3ImportStorageValidateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/S3ImportStorageValidateRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: Validate import storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3
x-fern-sdk-method-name: validate
/api/storages/s3/{id}:
delete:
description: Delete a specific S3 import storage connection.
operationId: api_storages_s3_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete import storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3
x-fern-sdk-method-name: delete
get:
description: Get a specific S3 import storage connection.
operationId: api_storages_s3_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/S3ImportStorage'
description: ''
security:
- Token: []
summary: Get import storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3
x-fern-sdk-method-name: get
patch:
description: Update a specific S3 import storage connection.
operationId: api_storages_s3_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedS3ImportStorageWriteRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedS3ImportStorageWriteRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedS3ImportStorageWriteRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/S3ImportStorage'
description: ''
security:
- Token: []
summary: Update import storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3
x-fern-sdk-method-name: update
/api/storages/s3/{id}/sync:
post:
description: Sync tasks from an S3 import storage connection.
operationId: api_storages_s3_sync_create
parameters:
- description: Storage ID
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/S3ImportStorage'
description: ''
security:
- Token: []
summary: Sync import storage
tags:
- 'Storage: S3'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3
x-fern-sdk-method-name: sync
/api/storages/s3s/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get list of all S3 import storage connections set up with IAM role access.
operationId: api_storages_s3s_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
- description: Project ID
in: query
name: project
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LseS3ImportStorage'
type: array
description: ''
security:
- Token: []
summary: ✨ List S3s import storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3s
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Validate a specific S3 import storage connection that was set up with IAM role access.
operationId: api_storages_s3s_validate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ImportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LseS3ImportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LseS3ImportStorageRequest'
required: true
responses:
'200':
description: Validation successful
security:
- Token: []
summary: ✨ Validate import storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3s
x-fern-sdk-method-name: validate
/api/storages/s3s/{id}:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a specific S3 import storage connection that was set up with IAM role access.
operationId: api_storages_s3s_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete import storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3s
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a specific S3 import storage connection that was set up with IAM role access.
operationId: api_storages_s3s_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ImportStorage'
description: ''
security:
- Token: []
summary: ✨ Get import storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3s
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Update a specific S3 import storage connection that was set up with IAM role access.
operationId: api_storages_s3s_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseS3ImportStorageRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLseS3ImportStorageRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLseS3ImportStorageRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ImportStorage'
description: ''
security:
- Token: []
summary: ✨ Update import storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3s
x-fern-sdk-method-name: update
/api/storages/s3s/{id}/sync:
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Sync tasks from an S3 import storage connection that was set up with IAM role access.
operationId: api_storages_s3s_sync_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ImportStorage'
description: ''
security:
- Token: []
summary: ✨ Sync import storage
tags:
- 'Storage: S3 Roles'
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
- s3s
x-fern-sdk-method-name: sync
/api/storages/types:
get:
description: Retrieve a list of the import storages types.
operationId: api_storages_types_retrieve
responses:
'200':
content:
application/json:
schema:
items:
properties:
name:
type: string
title:
type: string
type: object
type: array
description: List of import storage types
security:
- Token: []
summary: List all import storages types
tags:
- Storage
x-fern-audiences:
- public
x-fern-sdk-group-name:
- import_storage
x-fern-sdk-method-name: list_types
/api/tasks/:
get:
description: |-
Retrieve a paginated list of tasks. The response format varies based on the user's role in the organization:
- **Admin/Owner**: Full task details with all annotations, reviews, and metadata
- **Reviewer**: Task details optimized for review workflow
- **Annotator**: Task details filtered to show only user's own annotations and assignments
operationId: api_tasks_list
parameters:
- description: Set to "all" if you want to include annotations and predictions in the response. Defaults to task_only
in: query
name: fields
schema:
enum:
- all
- task_only
type: string
- description: Specify which fields to include in the response
in: query
name: include
schema:
type: string
- description: Filter to show only tasks that have annotations
in: query
name: only_annotated
schema:
type: boolean
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: Project ID
in: query
name: project
schema:
type: integer
- description: |-
Additional query to filter tasks. It must be JSON encoded string of dict containing one of the following parameters: {"filters": ..., "selectedItems": ..., "ordering": ...}. Check Data Manager > Create View > see data field for more details about filters, selectedItems and ordering.
filters: dict with "conjunction" string ("or" or "and") and list of filters in "items" array. Each filter is a dictionary with keys: "filter", "operator", "type", "value". Read more about available filters
Example: {"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}
selectedItems: dictionary with keys: "all", "included", "excluded". If "all" is false, "included" must be used. If "all" is true, "excluded" must be used.
Examples: {"all": false, "included": [1, 2, 3]} or {"all": true, "excluded": [4, 5]}
ordering: list of fields to order by. Currently, ordering is supported by only one parameter.
Example: ["completed_at"]
in: query
name: query
schema:
type: string
- description: Resolve task data URIs using Cloud Storage
in: query
name: resolve_uri
schema:
type: boolean
- description: Get tasks for review
in: query
name: review
schema:
type: boolean
- description: JSON string of selected task IDs for review workflow
in: query
name: selectedItems
schema:
type: string
- description: View ID
in: query
name: view
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedRoleBasedTaskList'
description: ''
'400':
description: Bad request - invalid parameters
'401':
description: Unauthorized - authentication required
'403':
description: Forbidden - insufficient permissions
security:
- Token: []
summary: List tasks
tags:
- Tasks
x-fern-audiences:
- public
x-fern-pagination:
offset: $request.page
results: $response.tasks
x-fern-sdk-group-name: tasks
x-fern-sdk-method-name: list
post:
description: Create a new task
operationId: api_tasks_create
requestBody:
content:
application/json:
examples:
CreateTask:
description: Example of Create Task
summary: Create Task
value:
data:
image: https://example.com/image.jpg
text: Hello, world!
project: 1
schema:
$ref: '#/components/schemas/LseTaskRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LseTaskRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LseTaskRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LseTask'
description: ''
security:
- Token: []
summary: Create a new task
tags:
- Tasks
x-fern-audiences:
- public
x-fern-sdk-group-name: tasks
x-fern-sdk-method-name: create
/api/tasks/{id}/:
delete:
description: Delete a task in Label Studio. This action cannot be undone!
operationId: api_tasks_destroy
parameters:
- description: Task ID
in: path
name: id
required: true
schema:
type: string
responses:
'204':
description: Task deleted successfully
security:
- Token: []
summary: Delete task
tags:
- Tasks
x-fern-audiences:
- public
x-fern-sdk-group-name: tasks
x-fern-sdk-method-name: delete
get:
description: Get task data, metadata, annotations and other attributes for a specific labeling task by task ID.
operationId: api_tasks_retrieve
parameters:
- description: Task ID
in: path
name: id
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RoleBasedTask'
description: ''
security:
- Token: []
summary: Get task
tags:
- Tasks
x-fern-audiences:
- public
x-fern-sdk-group-name: tasks
x-fern-sdk-method-name: get
patch:
description: Update the attributes of an existing labeling task.
operationId: api_tasks_partial_update
parameters:
- description: Task ID
in: path
name: id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseTaskRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLseTaskRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLseTaskRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RoleBasedTask'
description: ''
security:
- Token: []
summary: Update task
tags:
- Tasks
x-fern-audiences:
- public
x-fern-sdk-group-name: tasks
x-fern-sdk-method-name: update
/api/tasks/{id}/agreement/:
get:
description: Get aggregated label distribution across all annotations for a task. Returns counts of each label value grouped by control tag. This is an efficient endpoint that avoids N+1 queries.
operationId: api_tasks_agreement_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
description: Label distribution data
security:
- Token: []
summary: Get task label distribution
tags:
- Tasks
x-fern-audiences:
- internal
/api/tasks/{id}/annotations/:
get:
description: List all annotations for a task.
operationId: api_tasks_annotations_list
parameters:
- description: Task ID
in: path
name: id
required: true
schema:
type: integer
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
examples:
Response:
summary: response
value:
- completed_by: 1
created_ago: ''
created_at: '2024-06-18T23:45:46.048490Z'
created_username: ''
ground_truth: false
id: 1
lead_time: 10
project: 1
result:
- from_name: bboxes
image_rotation: 0
original_height: 1080
original_width: 1920
to_name: image
type: rectanglelabels
value:
height: 60
rotation: 0
values:
rectanglelabels:
- Person
width: 50
x: 20
y: 30
state: CREATED
task: 1
updated_at: '2024-06-18T23:45:46.048538Z'
updated_by: 1
was_cancelled: false
schema:
items:
$ref: '#/components/schemas/Annotation'
type: array
description: Annotation
security:
- Token: []
summary: Get all task annotations
tags:
- Annotations
x-fern-audiences:
- public
x-fern-sdk-group-name: annotations
x-fern-sdk-method-name: list
post:
description: "\n Add annotations to a task like an annotator does. The content of the result field depends on your\n labeling configuration. For example, send the following data as part of your POST\n request to send an empty annotation with the ID of the user who completed the task:\n\n ```json\n {\n \"result\": {},\n \"was_cancelled\": true,\n \"ground_truth\": true,\n \"lead_time\": 0,\n \"task\": 0\n \"completed_by\": 123\n }\n ```\n "
operationId: api_tasks_annotations_create
parameters:
- description: Task ID
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/AnnotationRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/AnnotationRequest'
responses:
'201':
content:
application/json:
examples:
Response:
summary: response
value:
completed_by: 1
created_ago: ''
created_at: '2024-06-18T23:45:46.048490Z'
created_username: ''
ground_truth: false
id: 1
lead_time: 10
project: 1
result:
- from_name: bboxes
image_rotation: 0
original_height: 1080
original_width: 1920
to_name: image
type: rectanglelabels
value:
height: 60
rotation: 0
values:
rectanglelabels:
- Person
width: 50
x: 20
y: 30
state: CREATED
task: 1
updated_at: '2024-06-18T23:45:46.048538Z'
updated_by: 1
was_cancelled: false
schema:
$ref: '#/components/schemas/Annotation'
description: Created annotation
security:
- Token: []
summary: Create annotation
tags:
- Annotations
x-fern-audiences:
- public
x-fern-sdk-group-name: annotations
x-fern-sdk-method-name: create
/api/tasks/{id}/events/:
post:
description: "\n Create a new task event to track user interactions and system events during annotation.\n\n This endpoint is designed to receive events from the frontend labeling interface to enable\n accurate lead time calculation and detailed annotation analytics.\n\n ## Event Types\n\n **Core Annotation Events:**\n - `annotation_loaded` - When annotation interface is loaded\n - `annotation_created` - When annotation is submitted\n - `annotation_updated` - When annotation is modified\n - `annotation_reviewed` - When annotation is reviewed\n\n **User Activity Events:**\n - `visibility_change` - When page visibility changes (tab switch, minimize)\n - `idle_detected` - When user goes idle\n - `idle_resumed` - When user returns from idle\n\n **Interaction Events:**\n - `region_finished_drawing` - When annotation region is completed\n - `region_deleted` - When annotation regions are removed\n - `hotkey_pressed` - When keyboard shortcuts are used\n\n **Media Events:**\n - `video_playback_start/end` - Video playback control\n - `audio_playback_start/end` - Audio playback control\n - `video_scrub` - Video timeline scrubbing\n\n ## Usage\n\n Events are automatically associated with the task specified in the URL path.\n The current user is automatically set as the actor. Project and organization\n are derived from the task context.\n\n ## Example Request\n\n ```json\n {\n \"event_key\": \"annotation_loaded\",\n \"event_time\": \"2024-01-15T10:30:00Z\",\n \"annotation\": 123,\n \"meta\": {\n \"annotation_count\": 5,\n \"estimated_time\": 300\n }\n }\n ```\n "
operationId: api_tasks_events_create
parameters:
- description: Task ID to associate the event with
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskEventRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TaskEventRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TaskEventRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/TaskEvent'
description: ''
'400':
description: Bad request - validation errors
'401':
description: Unauthorized - authentication required
'403':
description: Forbidden - insufficient permissions
'404':
description: Not found - task does not exist
security:
- Token: []
summary: Create task event
tags:
- Task Events
x-fern-audiences:
- public
x-fern-sdk-group-name: tasks
x-fern-sdk-method-name: create_event
/api/token/:
get:
description: List all API tokens for the current user.
operationId: api_token_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LSEAPITokenList'
type: array
description: ''
security:
- Token: []
summary: List API tokens
tags:
- JWT
x-fern-audiences:
- public
x-fern-sdk-group-name: tokens
x-fern-sdk-method-name: list
post:
description: Create a new API token for the current user.
operationId: api_token_create
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LSEAPITokenCreate'
description: ''
security:
- Token: []
summary: Create API token
tags:
- JWT
x-fern-audiences:
- public
x-fern-sdk-group-name: tokens
x-fern-sdk-method-name: create
/api/token/blacklist/:
post:
description: Adds a JWT refresh token to the blacklist, preventing it from being used to obtain new access tokens.
operationId: api_token_blacklist_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LSAPITokenBlacklistRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LSAPITokenBlacklistRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LSAPITokenBlacklistRequest'
required: true
responses:
'204':
description: Token was successfully blacklisted
'404':
content:
application/json:
schema:
$ref: '#/components/schemas/TokenDetailError'
description: Token is already blacklisted
summary: Blacklist a JWT refresh token
tags:
- JWT
x-fern-audiences:
- public
x-fern-sdk-group-name: tokens
x-fern-sdk-method-name: blacklist
/api/token/refresh/:
post:
description: Get a new access token, using a refresh token.
operationId: api_token_refresh_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TokenRefreshRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/TokenRefreshRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/TokenRefreshRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TokenRefreshResponse'
description: ''
summary: Refresh JWT token
tags:
- JWT
x-fern-audiences:
- public
x-fern-sdk-group-name: tokens
x-fern-sdk-method-name: refresh
/api/token/rotate/:
post:
description: Creates a new JWT refresh token and blacklists the current one.
operationId: api_token_rotate_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LSAPITokenRotateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LSAPITokenRotateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LSAPITokenRotateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/TokenRotateResponse'
description: ''
'400':
content:
application/json:
schema:
$ref: '#/components/schemas/TokenDetailError'
description: Invalid token or token already blacklisted
security:
- Token: []
summary: Rotate JWT refresh token
tags:
- JWT
x-fern-audiences:
- public
x-fern-sdk-group-name: tokens
x-fern-sdk-method-name: rotate
/api/users/:
get:
description: List the users that exist on the Label Studio server.
operationId: api_users_list
parameters:
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/LseUserAPI'
type: array
description: ''
security:
- Token: []
summary: List users
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: list
post:
description: Create a user in Label Studio.
operationId: api_users_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseUserRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/LseUserRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/LseUserRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/LseUser'
description: ''
security:
- Token: []
summary: Create new user
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: create
/api/users/me/certificates/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List all certificates issued to the current user.
operationId: api_users_me_certificates_list
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Certificate'
type: array
description: ''
security:
- Token: []
summary: ✨ List certificates for the current user
tags:
- Learning Resources
/api/users/{id}/:
delete:
description: |-
Delete a specific Label Studio user. Only available in community edition.
Use caution when deleting a user, as this can cause issues such as breaking the "Annotated by" filter or leaving orphaned records.
operationId: api_users_destroy
parameters:
- description: User ID
in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete user
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: delete
get:
description: Get info about a specific Label Studio user, based on the user ID.
operationId: api_users_retrieve
parameters:
- description: User ID
in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseUser'
description: ''
security:
- Token: []
summary: Get user info
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: get
patch:
description: "\n Update details for a specific user, such as their name or contact information, in Label Studio.\n "
operationId: api_users_partial_update
parameters:
- description: User ID
in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseUserSerializerUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedLseUserSerializerUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedLseUserSerializerUpdateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/LseUser'
description: ''
security:
- Token: []
summary: Update user details
tags:
- Users
x-fern-audiences:
- public
x-fern-sdk-group-name: users
x-fern-sdk-method-name: update
/api/version/:
get:
description: Get version information about the Label Studio instance.
operationId: api_version_retrieve
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/VersionResponse'
description: ''
security:
- Token: []
- {}
summary: Get version information
tags:
- Versions
x-fern-audiences:
- public
x-fern-sdk-group-name: versions
x-fern-sdk-method-name: get
/api/webhooks/:
get:
description: List all webhooks set up for your organization.
operationId: api_webhooks_list
parameters:
- description: Project ID
in: query
name: project
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Webhook'
type: array
description: ''
security:
- Token: []
summary: List all webhooks
tags:
- Webhooks
x-fern-audiences:
- public
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: list
post:
description: Create a webhook for your organization.
operationId: api_webhooks_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WebhookRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WebhookRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
description: ''
security:
- Token: []
summary: Create a webhook
tags:
- Webhooks
x-fern-audiences:
- public
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: create
/api/webhooks/info/:
get:
description: Get descriptions of all available webhook actions to set up webhooks.
operationId: api_webhooks_info_retrieve
parameters:
- description: organization-only or not
in: query
name: organization-only
schema:
type: boolean
responses:
'200':
content:
application/json:
schema:
properties:
ANNOTATIONS_CREATED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
ANNOTATIONS_DELETED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
ANNOTATION_CREATED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
ANNOTATION_UPDATED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
LABEL_LINK_CREATED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
LABEL_LINK_DELETED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
LABEL_LINK_UPDATED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
PROJECT_CREATED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
PROJECT_DELETED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
PROJECT_UPDATED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
REVIEWS_DELETED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
REVIEW_CREATED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
REVIEW_UPDATED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
TASKS_CREATED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
TASKS_DELETED:
properties:
description:
type: string
key:
type: string
name:
type: string
organization-only:
type: boolean
required:
- name
- description
- key
- organization-only
type: object
type: object
description: Object with webhook action descriptions.
security:
- Token: []
- {}
summary: Get all webhook actions
tags:
- Webhooks
x-fern-audiences:
- public
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: info
/api/webhooks/{id}/:
delete:
operationId: api_webhooks_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: Delete webhook info
tags:
- Webhooks
x-fern-audiences:
- public
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: delete
get:
operationId: api_webhooks_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
description: ''
security:
- Token: []
summary: Get webhook info
tags:
- Webhooks
x-fern-audiences:
- public
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: get
patch:
operationId: api_webhooks_partial_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedWebhookSerializerForUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/PatchedWebhookSerializerForUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/PatchedWebhookSerializerForUpdateRequest'
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSerializerForUpdate'
description: ''
security:
- Token: []
summary: Update webhook info
tags:
- Webhooks
x-fern-audiences:
- public
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: update
put:
operationId: api_webhooks_update
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSerializerForUpdateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WebhookSerializerForUpdateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WebhookSerializerForUpdateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSerializerForUpdate'
description: ''
security:
- Token: []
summary: Save webhook info
tags:
- Webhooks
x-fern-audiences:
- internal
/api/workspaces/:
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
List all workspaces for your organization. Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization. For more information, see the [Workspaces documentation](https://docs.humansignal.com/workspaces).
operationId: api_workspaces_list
parameters:
- description: Include all workspaces in the organization, including other users' personal workspaces. Only effective for users with Administrator or Owner role. When enabled, the response includes created_by_user info for personal workspaces.
in: query
name: include_all_workspaces
schema:
type: boolean
- description: Filter by archived status. Set to false to exclude archived workspaces.
in: query
name: is_archived
schema:
type: boolean
- description: Workspace is a personal user workspace.
in: query
name: is_personal
schema:
type: boolean
- description: Which field to use when ordering the results.
in: query
name: ordering
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Workspace'
type: array
description: ''
security:
- Token: []
summary: ✨ List workspaces
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name: workspaces
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Create a new workspace. Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization. For more information, see the [Workspaces documentation](https://docs.humansignal.com/workspaces).
operationId: api_workspaces_create
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WorkspaceRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WorkspaceRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace'
description: ''
security:
- Token: []
summary: ✨ Create workspace
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name: workspaces
x-fern-sdk-method-name: create
/api/workspaces/{id}/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Delete a specific workspace by ID.
operationId: api_workspaces_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete workspace
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name: workspaces
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve details for a specific workspace by ID.
operationId: api_workspaces_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace'
description: ''
security:
- Token: []
summary: ✨ Get workspace
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name: workspaces
x-fern-sdk-method-name: get
patch:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Remove a specific member by ID from a workspace. Pass the member ID via the `user_id` query parameter. For backward compatibility, a JSON body with `user_id` (or `user`) is still accepted.
operationId: api_workspaces_memberships_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: User ID to remove from the workspace.
in: query
name: user_id
schema:
type: integer
responses:
'204':
description: No response body
security:
- Token: []
summary: ✨ Delete workspace membership
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name:
- workspaces
- members
x-fern-sdk-method-name: delete
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Get a list of all members in a specific workspace.
operationId: api_workspaces_memberships_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/WorkspaceMemberList'
type: array
description: A list of workspace memberships
security:
- Token: []
summary: ✨ List workspace memberships
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name:
- workspaces
- members
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Add a new workspace member by user ID.
operationId: api_workspaces_memberships_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceMemberCreateRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WorkspaceMemberCreateRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WorkspaceMemberCreateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceMemberCreate'
description: ''
security:
- Token: []
summary: ✨ Create workspace membership
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name:
- workspaces
- members
x-fern-sdk-method-name: create
/api/workspaces/{id}/memberships/bulk/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Unassign workspace members in bulk. Pass selector fields via query parameters (`all`, `included`, `excluded`) and optional paginated-list filters (`search`, `ids`). For backward compatibility, a JSON body with bulk fields is still accepted.
operationId: api_workspaces_memberships_bulk_destroy
parameters:
- description: Apply unassignment to all currently matched workspace members.
in: query
name: all
schema:
type: boolean
- description: Comma-separated list of user IDs to keep assigned when `all=true`.
in: query
name: excluded
schema:
type: string
- in: path
name: id
required: true
schema:
type: integer
- description: Comma-separated list of user IDs to filter matched members.
in: query
name: ids
schema:
type: string
- description: Comma-separated list of user IDs to unassign when `all=false`.
in: query
name: included
schema:
type: string
- description: Search term for filtering matched members by name or email.
in: query
name: search
schema:
type: string
responses:
'200':
content:
application/json:
examples:
LegacySDKUsage(supported):
description: |-
Backward-compatible legacy call with DELETE body: ls.workspaces.members.bulk.delete(
id=123,
request_options={'additional_body_parameters': {'all': False, 'included': [456, 789]}},
)
summary: Legacy SDK usage (supported)
SDKUsage:
description: |-
SDK call example using DELETE query params: ls.workspaces.members.bulk.delete(
id=123,
all_=False,
included=[456, 789],
)
summary: SDK usage
schema:
properties:
unassignments:
type: integer
type: object
description: ''
security:
- Token: []
summary: ✨ Bulk unassign workspace members
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name:
- workspaces
- members
- bulk
x-fern-sdk-method-name: delete
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve the members for a specific workspace.
operationId: api_workspaces_memberships_paginated_list
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Comma-separated list of user IDs to filter by
in: query
name: ids
schema:
type: string
- description: A page number within the paginated result set.
in: query
name: page
required: false
schema:
type: integer
- description: Number of results to return per page.
in: query
name: page_size
required: false
schema:
type: integer
- description: A search term.
in: query
name: search
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLseUserList'
description: ''
security:
- Token: []
summary: ✨ Get workspace members paginated
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-pagination:
offset: $request.page
results: $response.results
x-fern-sdk-group-name:
- workspaces
- members
- paginated
x-fern-sdk-method-name: list
/api/workspaces/{id}/projects/:
delete:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Remove a project from a specific workspace. Pass the project ID via the `project` query parameter. For backward compatibility, a JSON body with `project` is still accepted.
operationId: api_workspaces_projects_destroy
parameters:
- in: path
name: id
required: true
schema:
type: integer
- description: Project ID to remove from the workspace.
in: query
name: project
schema:
type: integer
responses:
'204':
description: Project removed
security:
- Token: []
summary: ✨ Remove workspace project
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name:
- workspaces
- projects
x-fern-sdk-method-name: remove
get:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Retrieve a list of all projects in a specific workspace.
operationId: api_workspaces_projects_retrieve
parameters:
- in: path
name: id
required: true
schema:
type: integer
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/Project'
type: array
description: Projects list
security:
- Token: []
summary: ✨ List workspace projects
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name:
- workspaces
- projects
x-fern-sdk-method-name: list
post:
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
Add a project to a specific workspace.
operationId: api_workspaces_projects_create
parameters:
- in: path
name: id
required: true
schema:
type: integer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceProjectsRequest'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/WorkspaceProjectsRequest'
multipart/form-data:
schema:
$ref: '#/components/schemas/WorkspaceProjectsRequest'
required: true
responses:
'201':
description: Project added
security:
- Token: []
summary: ✨ Add workspace project
tags:
- Workspaces
x-fern-audiences:
- public
x-fern-sdk-group-name:
- workspaces
- projects
x-fern-sdk-method-name: add
/data/upload/{filename}:
get:
description: Download a specific uploaded file.
operationId: data_upload_retrieve
parameters:
- in: path
name: filename
required: true
schema:
type: string
responses:
'200':
description: File downloaded successfully
security:
- Token: []
summary: Download file
tags:
- Import
x-fern-audiences:
- public
x-fern-sdk-group-name:
- files
x-fern-sdk-method-name: download
components:
schemas:
AWSCustomFunctionUpdateRequest:
description: Serializer for updating AWS Lambda custom metric function.
properties:
code:
description: The Python code for the custom metric function.
minLength: 1
type: string
region:
description: The AWS region for the Lambda function. Uses default if not provided.
nullable: true
type: string
role:
description: The AWS IAM role ARN for the Lambda function. Uses default if not provided.
nullable: true
type: string
required:
- code
type: object
ActionsEnum:
description: |-
* `PROJECT_CREATED` - PROJECT_CREATED
* `PROJECT_UPDATED` - PROJECT_UPDATED
* `PROJECT_DELETED` - PROJECT_DELETED
* `TASKS_CREATED` - TASKS_CREATED
* `TASKS_DELETED` - TASKS_DELETED
* `ANNOTATION_CREATED` - ANNOTATION_CREATED
* `ANNOTATIONS_CREATED` - ANNOTATIONS_CREATED
* `ANNOTATION_UPDATED` - ANNOTATION_UPDATED
* `ANNOTATIONS_DELETED` - ANNOTATIONS_DELETED
* `LABEL_LINK_CREATED` - LABEL_LINK_CREATED
* `LABEL_LINK_UPDATED` - LABEL_LINK_UPDATED
* `LABEL_LINK_DELETED` - LABEL_LINK_DELETED
* `REVIEW_CREATED` - REVIEW_CREATED
* `REVIEW_UPDATED` - REVIEW_UPDATED
* `REVIEWS_DELETED` - REVIEWS_DELETED
enum:
- PROJECT_CREATED
- PROJECT_UPDATED
- PROJECT_DELETED
- TASKS_CREATED
- TASKS_DELETED
- ANNOTATION_CREATED
- ANNOTATIONS_CREATED
- ANNOTATION_UPDATED
- ANNOTATIONS_DELETED
- LABEL_LINK_CREATED
- LABEL_LINK_UPDATED
- LABEL_LINK_DELETED
- REVIEW_CREATED
- REVIEW_UPDATED
- REVIEWS_DELETED
type: string
ActivityLog:
properties:
datetime:
format: date-time
readOnly: true
type: string
duration:
description: Duration of response generation in ms
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
email:
maxLength: 256
type: string
extra_data:
nullable: true
http_referer:
maxLength: 1024
type: string
id:
readOnly: true
type: integer
ip_address:
nullable: true
title: IP
type: string
organization_id:
description: Organization id
maximum: 2147483647
minimum: -2147483648
nullable: true
title: Active organization id
type: integer
project_id:
description: Project id if request has it
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
request_method:
maxLength: 10
title: Http method
type: string
request_url:
maxLength: 256
title: Url
type: string
response_code:
maxLength: 3
type: string
user_agent:
maxLength: 1024
type: string
user_id:
maximum: 2147483647
minimum: -2147483648
type: integer
user_session:
maxLength: 8
nullable: true
type: string
workspace_owner_id:
description: Owner id of workspace where action performed
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
required:
- datetime
- email
- id
- request_method
- request_url
- response_code
- user_id
type: object
ActivityLogResponse:
description: Serializer for ActivityLogAPI response.
properties:
data:
items:
$ref: '#/components/schemas/ActivityLog'
type: array
recordsFiltered:
type: integer
recordsTotal:
type: integer
required:
- data
- recordsFiltered
- recordsTotal
type: object
AgreementMethodologyEnum:
description: |-
* `consensus` - Consensus
* `pairwise` - Pairwise Averaging
enum:
- consensus
- pairwise
type: string
AgreementSelectionGroupRequest:
properties:
all:
default: false
type: boolean
ids:
default: []
items:
minLength: 1
type: string
type: array
type: object
AgreementSelectionRequest:
properties:
annotators:
$ref: '#/components/schemas/AgreementSelectionGroupRequest'
ground_truth:
default: false
type: boolean
models:
$ref: '#/components/schemas/AgreementSelectionGroupRequest'
type: object
AgreementV2BackfillCancelResponse:
description: Response from DELETE /api/dimensions/backfill/
properties:
cancelled_count:
description: Number of jobs successfully cancelled
type: integer
message:
type: string
required:
- cancelled_count
- message
type: object
AgreementV2BackfillJob:
description: |-
Serializes a DimensionsBackfillJob model instance.
Used by the list endpoint and as the base for the status endpoint.
properties:
completed_at:
format: date-time
nullable: true
type: string
created_at:
format: date-time
readOnly: true
type: string
error_message:
description: Error message if job failed
type: string
job_id:
description: Database ID of the backfill job
readOnly: true
type: integer
progress_data:
description: JSON data tracking job progress (matrices_created, errors, etc.)
project_id:
description: Optional specific project to backfill (if null, backfills entire organization)
nullable: true
readOnly: true
type: integer
rq_job_id:
description: Redis queue job ID
nullable: true
readOnly: true
type: string
started_at:
format: date-time
nullable: true
type: string
status:
allOf:
- $ref: '#/components/schemas/FsmBackfillJobStatusEnum'
description: |-
Current status of the backfill job
* `PENDING` - Pending
* `QUEUED` - Queued
* `RUNNING` - Running
* `COMPLETED` - Completed
* `FAILED` - Failed
triggered_by:
additionalProperties:
oneOf:
- type: integer
- type: string
description: User who triggered the backfill
nullable: true
readOnly: true
type: object
required:
- created_at
- job_id
- project_id
- rq_job_id
- triggered_by
type: object
AgreementV2BackfillTriggerRequestRequest:
description: |-
Request body for POST /api/dimensions/backfill/
Exactly one of the three mode fields must be provided:
- project_id: backfill a single specific project.
- num_projects: batched org backfill — queue the next N not-yet-started projects
(ascending project ID order), leaving in-flight jobs untouched.
Check `projects_remaining` in the response and repeat until it reaches 0.
- all_projects: full org backfill — cancel all in-flight jobs and queue every
remaining non-completed project at once.
properties:
all_projects:
description: Set to true to trigger a full org backfill (cancels in-flight jobs and queues all remaining projects).
nullable: true
type: boolean
num_projects:
description: Queue at most this many projects per call (batched mode).
minimum: 1
nullable: true
type: integer
project_id:
description: Backfill a single specific project.
nullable: true
type: integer
type: object
AgreementV2BackfillTriggerResponse:
description: Response from POST /api/dimensions/backfill/
properties:
jobs:
description: 'Queued jobs: [{job_id, rq_job_id, project_id}]'
items:
additionalProperties: {}
type: object
type: array
jobs_queued:
description: Number of jobs queued in this request
type: integer
message:
type: string
organization_id:
type: integer
projects_remaining:
description: Projects not yet started and not currently in-flight. Relevant when num_projects is used — call POST again until this reaches 0.
type: integer
projects_skipped:
description: Projects skipped because they already have a completed backfill
type: integer
required:
- jobs
- jobs_queued
- message
- organization_id
- projects_remaining
- projects_skipped
type: object
AllRolesProjectList:
description: |-
Serializer get numbers from project queryset annotation,
make sure, that you use correct one(Project.objects.with_counts())
properties:
agreement_methodology:
allOf:
- $ref: '#/components/schemas/AgreementMethodologyEnum'
default: pairwise
description: |-
Methodology (Consensus / Pairwise Averaging)
* `consensus` - Consensus
* `pairwise` - Pairwise Averaging
agreement_threshold:
description: Agreement threshold
format: decimal
nullable: true
pattern: ^-?\d{0,1}(?:\.\d{0,2})?$
type: string
allow_stream:
readOnly: true
type: boolean
annotation_limit_count:
description: Limit by number of tasks
minimum: 1
nullable: true
type: integer
annotation_limit_percent:
description: Limit by percentage of tasks
format: decimal
nullable: true
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
annotator_evaluation_continuous_tasks:
default: 0
description: 'Continuous Evaluation: Required tasks'
minimum: 0
type: integer
annotator_evaluation_enabled:
description: Evaluate all annotators against ground truth
type: boolean
annotator_evaluation_metric:
allOf:
- $ref: '#/components/schemas/AnnotatorEvaluationMetricEnum'
default: gt_agreement
description: |-
Metric used to evaluate annotators. Defaults to gt_agreement.
* `gt_agreement` - Ground truth agreement
* `acceptance_score` - Acceptance score
* `rejection_rate` - Rejection rate
nullable: true
annotator_evaluation_minimum_score:
default: '95.00'
description: Score required to pass evaluation
format: decimal
nullable: true
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
annotator_evaluation_minimum_tasks:
default: 10
description: Number of tasks for evaluation
minimum: 0
nullable: true
type: integer
annotator_evaluation_onboarding_tasks:
default: 0
description: 'Onboarding Evaluation: Required tasks'
minimum: 0
type: integer
assignment_settings:
$ref: '#/components/schemas/AssignmentSettings'
blueprints:
items:
$ref: '#/components/schemas/BlueprintList'
readOnly: true
type: array
collection_mode:
description: Data Collection project mode (assigned/open); null for non-collection projects. Set at creation only.
nullable: true
readOnly: true
type: string
color:
description: Color
maxLength: 16
nullable: true
type: string
comment_classification_config:
type: string
config_has_control_tags:
description: Flag to detect is project ready for labeling
readOnly: true
type: boolean
config_suitable_for_bulk_annotation:
description: Flag to detect is project ready for bulk annotation
readOnly: true
type: boolean
control_weights:
additionalProperties:
$ref: '#/components/schemas/ControlTagWeight'
description: Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight.
nullable: true
type: object
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
description: Project owner
custom_interface_code:
nullable: true
type: string
custom_interface_compiled:
nullable: true
type: string
custom_interface_params:
nullable: true
custom_script:
description: Plugins
type: string
custom_task_lock_ttl:
description: Task reservation time. TTL in seconds (UI displays and edits this value in minutes).
maximum: 86400
minimum: 1
nullable: true
type: integer
data_types:
additionalProperties: true
nullable: true
readOnly: true
type: object
description:
description: Description (Public)
nullable: true
type: string
description_short:
readOnly: true
type: string
dm_column_defaults:
additionalProperties: false
description: Soft Data Manager column visibility and order defaults. Returned on project reads for every role so Data Manager can apply them at runtime; Managers and above may set this. explore is the main grid (shared order, role-keyed visible lists). labeling is reserved for independent Quick View defaults. On update, omitted surfaces keep their stored values; send null to clear both surfaces.
nullable: true
properties:
explore:
additionalProperties: false
description: Main Data Manager grid.
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
labeling:
additionalProperties: false
description: Quick View (reserved).
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
type: object
duplication_done:
default: false
type: boolean
duplication_status:
type: string
enable_empty_annotation:
description: Allow empty annotations
type: boolean
evaluate_predictions_automatically:
description: Retrieve and display predictions when loading a task
type: boolean
expert_instruction:
description: Instructions
nullable: true
type: string
finished_task_number:
description: Project-wide count of tasks considered finished under project completion rules (agreement threshold, overlap, or FSM states such as needs-review and completed). Not a per-user queue counter. Analytics KPIs such as `annotated_tasks`, `done_tasks`, and `total_tasks` measure related but not identical project-wide totals.
readOnly: true
type: integer
ground_truth_number:
description: Honeypot annotation number in project
readOnly: true
type: integer
id:
readOnly: true
type: integer
input_schema:
nullable: true
internal_description:
description: Description (Internal)
items: {}
nullable: true
readOnly: true
type: array
internal_description_short:
nullable: true
readOnly: true
type: string
is_dimensions_enabled:
readOnly: true
type: boolean
is_draft:
description: Whether or not the project is in the middle of being created
type: boolean
is_published:
description: Whether or not the project is published to annotators
title: Published
type: boolean
label_config:
description: Labeling Configuration
nullable: true
type: string
max_additional_annotators_assignable:
description: Maximum additional annotators
nullable: true
type: integer
maximum_annotations:
description: Annotations per task
maximum: 2147483647
minimum: -2147483648
title: Maximum annotation number
type: integer
members:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
members_count:
readOnly: true
type: integer
min_annotations_to_start_training:
description: Minimum number of completed tasks after which model training is started
maximum: 2147483647
minimum: -2147483648
type: integer
model_version:
description: Machine learning model version
nullable: true
type: string
num_tasks_with_annotations:
description: Tasks with at least one annotation. For annotators, counts only tasks this user annotated; for other roles, counts project-wide. For analytics, use annotated_tasks or related KPIs with explicit project/member filters.
nullable: true
readOnly: true
type: integer
organization:
nullable: true
type: integer
output_schema:
nullable: true
overlap_cohort_percentage:
description: Annotations per task coverage
maximum: 2147483647
minimum: -2147483648
type: integer
parsed_label_config:
additionalProperties: true
description: JSON-formatted labeling configuration
readOnly: true
type: object
pause_on_failed_annotator_evaluation:
default: false
description: Pause annotator on failed evaluation
nullable: true
type: boolean
pinned_at:
description: Pinned date and time
format: date-time
nullable: true
type: string
prompts:
items:
additionalProperties: {}
type: object
nullable: true
readOnly: true
type: array
queue_done:
description: 'Annotator-only: tasks this user has completed in the labeling queue for the project.'
readOnly: true
type: integer
queue_left:
description: 'Reviewer-only: remaining tasks in this user''s manually assigned review queue. Returns 0 when no manual assignments apply; the project card then uses `review_total_tasks` and `reviewed_number` for auto-review progress. Not the same as the project-wide `tasks_pending_review` KPI.'
nullable: true
readOnly: true
type: integer
queue_total:
description: 'Role-dependent queue size. Annotators: total tasks in the labeling queue. Reviewers (list/counts): total manually assigned review tasks (same pool as `reviewer_queue_total`). Not the same as `task_number` (all project tasks) or `review_total_tasks` (auto-review stream pool).'
readOnly: true
type: integer
ready:
readOnly: true
type: boolean
rejected:
description: 'Annotator-only: this user''s annotations rejected by reviewers.'
readOnly: true
type: integer
require_comment_on_skip:
default: false
description: Require comment to skip
type: boolean
reveal_preannotations_interactively:
description: Reveal pre-annotations interactively
type: boolean
review_settings:
$ref: '#/components/schemas/ReviewSettings'
review_total_tasks:
description: Total tasks in this user's reviewer queue for the project (denominator for personal review progress). Respects review sampling limits when configured. Null for annotators. This is not the project-wide reviewed or pending count; see Analytics KPIs tasks_reviewed and tasks_pending_review for org-level totals.
nullable: true
readOnly: true
type: integer
reviewed_number:
description: 'Tasks this user has reviewed in the project (personal reviewer progress shown on the project card). Includes only reviews created by the authenticated user, so the value can be lower than the project-wide reviewed total when multiple reviewers participate. Null for annotators. For all reviewed tasks in the project, use the Analytics KPI tasks_reviewed: GET /api/analytics/kpis/tasks_reviewed?projects={id}&tz=UTC.'
nullable: true
readOnly: true
type: integer
reviewer_queue_total:
description: Tasks manually assigned to this user for review (`reviewer_queue_total_count`). Null for annotators.
nullable: true
readOnly: true
type: integer
sampling:
allOf:
- $ref: '#/components/schemas/ProjectSamplingEnum'
nullable: true
show_annotation_history:
description: Show Data Manager to Annotators
type: boolean
show_collab_predictions:
description: Use predictions to pre-label Tasks
title: Show predictions to annotator
type: boolean
show_ground_truth_first:
deprecated: true
description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream'
type: boolean
show_instruction:
description: Show instructions before labeling
type: boolean
show_overlap_first:
description: Show tasks with overlap first
type: boolean
show_skip_button:
description: Allow skipping tasks
type: boolean
show_unused_data_columns_to_annotators:
description: 'Show only columns used in labeling configuration to Annotators. API uses inverse field semantics here: set false to show only used columns, set true to show all task.data columns.'
nullable: true
type: boolean
skip_queue:
allOf:
- $ref: '#/components/schemas/SkipQueueEnum'
nullable: true
skipped_annotations_number:
nullable: true
readOnly: true
type: integer
source_interface_id:
nullable: true
type: integer
source_interface_version:
description: Stable version ID of the saved interface snapshot used by this project.
nullable: true
type: integer
start_training_on_annotation_update:
description: Start model training after any annotations are submitted or updated
readOnly: true
type: boolean
state:
readOnly: true
type: string
strict_task_overlap:
default: true
description: Enforce strict overlap limit
type: boolean
task_number:
description: Total task number in project
readOnly: true
type: integer
title:
description: Project Name
maxLength: 50
minLength: 3
nullable: true
type: string
total_annotations_number:
readOnly: true
type: integer
total_predictions_number:
readOnly: true
type: integer
use_custom_interface:
default: false
type: boolean
useful_annotation_number:
nullable: true
readOnly: true
type: integer
workspace:
readOnly: true
type: integer
workspace_title:
nullable: true
readOnly: true
type: string
required:
- allow_stream
- assignment_settings
- blueprints
- collection_mode
- config_has_control_tags
- config_suitable_for_bulk_annotation
- created_at
- data_types
- description_short
- finished_task_number
- ground_truth_number
- id
- internal_description
- internal_description_short
- is_dimensions_enabled
- members
- members_count
- num_tasks_with_annotations
- parsed_label_config
- prompts
- queue_done
- queue_left
- queue_total
- ready
- rejected
- review_settings
- review_total_tasks
- reviewed_number
- reviewer_queue_total
- skipped_annotations_number
- start_training_on_annotation_update
- state
- task_number
- total_annotations_number
- total_predictions_number
- useful_annotation_number
- workspace
- workspace_title
type: object
AnalyticsView:
description: |-
Serializer for user-scoped analytics saved views.
The primary key is intentionally excluded; the ``uuid`` field is the only
stable public identifier exposed to callers.
``dashboard_type`` scopes views per dashboard: "overview" vs "member_performance".
properties:
created_at:
format: date-time
readOnly: true
type: string
dashboard_type:
$ref: '#/components/schemas/DashboardTypeEnum'
filters: {}
name:
maxLength: 255
type: string
owner_id:
readOnly: true
type: integer
updated_at:
format: date-time
readOnly: true
type: string
uuid:
format: uuid
readOnly: true
type: string
required:
- created_at
- name
- owner_id
- updated_at
- uuid
type: object
AnalyticsViewRequest:
description: |-
Serializer for user-scoped analytics saved views.
The primary key is intentionally excluded; the ``uuid`` field is the only
stable public identifier exposed to callers.
``dashboard_type`` scopes views per dashboard: "overview" vs "member_performance".
properties:
dashboard_type:
$ref: '#/components/schemas/DashboardTypeEnum'
filters: {}
name:
maxLength: 255
minLength: 1
type: string
required:
- name
type: object
Annotation:
description: |-
Annotation Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
properties:
bulk_created:
description: Annotation was created in bulk mode
nullable: true
type: boolean
completed_by:
type: integer
created_ago:
default: ''
description: Time delta from creation time
readOnly: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
created_username:
default: ''
description: Username string
readOnly: true
type: string
draft_created_at:
description: Draft creation time
format: date-time
nullable: true
type: string
ground_truth:
description: This annotation is a Ground Truth (ground_truth)
type: boolean
id:
readOnly: true
type: integer
import_id:
description: Original annotation ID that was at the import step or NULL if this annotation wasn't imported
format: int64
maximum: 9223372036854775807
minimum: -9223372036854775808
nullable: true
type: integer
last_action:
allOf:
- $ref: '#/components/schemas/AnnotationHistoryActionEnum'
description: |-
Action which was performed in the last annotation history item
* `prediction` - Created from prediction
* `propagated_annotation` - Created from another annotation
* `imported` - Imported
* `submitted` - Submitted
* `updated` - Updated
* `skipped` - Skipped
* `accepted` - Accepted
* `rejected` - Rejected
* `fixed_and_accepted` - Fixed and accepted
* `deleted_review` - Deleted review
nullable: true
last_created_by:
description: User who created the last annotation history item
nullable: true
type: integer
lead_time:
description: How much time it took to annotate the task
format: double
nullable: true
type: number
parent_annotation:
description: Points to the parent annotation from which this annotation was created
nullable: true
type: integer
parent_prediction:
description: Points to the prediction from which this annotation was created
nullable: true
type: integer
project:
description: Project ID for this annotation
nullable: true
type: integer
result:
description: List of annotation results for the task
items:
description: List of annotated regions for the task
title: Annotation result items (regions)
type: object
title: Annotation result list
type: array
state:
readOnly: true
type: string
task:
description: Corresponding task for this annotation
nullable: true
type: integer
updated_at:
description: Last updated time
format: date-time
readOnly: true
type: string
updated_by:
description: Last user who updated this annotation
nullable: true
type: integer
was_cancelled:
description: User skipped the task
type: boolean
required:
- created_ago
- created_at
- created_username
- id
- state
- updated_at
type: object
AnnotationBulkDeleteRequest:
description: Serializer for bulk annotation deletion by IDs.
properties:
ids:
description: List of annotation IDs to delete. Maximum 100 IDs per request.
items:
minimum: 1
type: integer
maxItems: 100
minItems: 1
type: array
project:
type: integer
required:
- ids
- project
type: object
AnnotationBulkSerializerWithSelectedItemsRequest:
description: |-
Annotation Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
properties:
bulk_created:
description: Annotation was created in bulk mode
nullable: true
type: boolean
completed_by:
type: integer
draft_created_at:
description: Draft creation time
format: date-time
nullable: true
type: string
ground_truth:
description: This annotation is a Ground Truth (ground_truth)
type: boolean
import_id:
description: Original annotation ID that was at the import step or NULL if this annotation wasn't imported
format: int64
maximum: 9223372036854775807
minimum: -9223372036854775808
nullable: true
type: integer
last_action:
allOf:
- $ref: '#/components/schemas/AnnotationHistoryActionEnum'
description: |-
Action which was performed in the last annotation history item
* `prediction` - Created from prediction
* `propagated_annotation` - Created from another annotation
* `imported` - Imported
* `submitted` - Submitted
* `updated` - Updated
* `skipped` - Skipped
* `accepted` - Accepted
* `rejected` - Rejected
* `fixed_and_accepted` - Fixed and accepted
* `deleted_review` - Deleted review
nullable: true
last_created_by:
description: User who created the last annotation history item
nullable: true
type: integer
lead_time:
description: How much time it took to annotate the task
format: double
nullable: true
type: number
parent_annotation:
description: Points to the parent annotation from which this annotation was created
nullable: true
type: integer
parent_prediction:
description: Points to the prediction from which this annotation was created
nullable: true
type: integer
project:
description: Project ID for this annotation
nullable: true
type: integer
result:
description: List of annotation results for the task
items:
description: List of annotated regions for the task
title: Annotation result items (regions)
type: object
title: Annotation result list
type: array
selected_items:
description: 'Task selection by IDs. If filters are applied, the selection will be applied to the filtered tasks.If "all" is `false`, `"included"` must be used. If "all" is `true`, `"excluded"` must be used. Examples: `{"all": false, "included": [1, 2, 3]}` or `{"all": true, "excluded": [4, 5]}`'
nullable: true
oneOf:
- properties:
all:
description: No tasks are selected
enum:
- false
type: boolean
included:
description: List of included task IDs
items:
type: integer
type: array
required:
- all
title: 'all: false'
type: object
- properties:
all:
description: All tasks are selected
enum:
- true
type: boolean
excluded:
description: List of excluded task IDs
items:
type: integer
type: array
required:
- all
title: 'all: true'
type: object
required:
- all
type: object
task:
description: Corresponding task for this annotation
nullable: true
type: integer
tasks:
items:
type: integer
type: array
unique_id:
minLength: 1
type: string
writeOnly: true
updated_by:
description: Last user who updated this annotation
nullable: true
type: integer
was_cancelled:
description: User skipped the task
type: boolean
type: object
AnnotationHistory:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
action:
allOf:
- $ref: '#/components/schemas/AnnotationHistoryActionEnum'
nullable: true
annotation_id:
description: Corresponding annotation for this historical annotation
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
comment:
nullable: true
readOnly: true
type: string
comment_id:
description: Comment id sent with result
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
created_at:
format: date-time
readOnly: true
type: string
created_by:
description: Created by user id
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
draft_id:
description: Corresponding draft for this historical annotation
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
id:
readOnly: true
type: integer
lead_time:
description: How much time it took to annotate the task
format: double
nullable: true
type: number
organization_id:
description: Organization for this annotation history
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
project_id:
description: Project for this annotation history
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
result:
description: Labeling result
nullable: true
review_id:
description: AnnotationReview ID, using with review field
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
started_at:
description: The time that a user started working on this revision of the annotation
format: date-time
nullable: true
type: string
task_id:
description: Task id
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
required:
- comment
- created_at
- id
type: object
AnnotationHistoryActionEnum:
description: |-
* `prediction` - Created from prediction
* `propagated_annotation` - Created from another annotation
* `imported` - Imported
* `submitted` - Submitted
* `updated` - Updated
* `skipped` - Skipped
* `accepted` - Accepted
* `rejected` - Rejected
* `fixed_and_accepted` - Fixed and accepted
* `deleted_review` - Deleted review
enum:
- prediction
- propagated_annotation
- imported
- submitted
- updated
- skipped
- accepted
- rejected
- fixed_and_accepted
- deleted_review
type: string
AnnotationRequest:
description: |-
Annotation Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
properties:
bulk_created:
description: Annotation was created in bulk mode
nullable: true
type: boolean
completed_by:
type: integer
draft_created_at:
description: Draft creation time
format: date-time
nullable: true
type: string
ground_truth:
description: This annotation is a Ground Truth (ground_truth)
type: boolean
import_id:
description: Original annotation ID that was at the import step or NULL if this annotation wasn't imported
format: int64
maximum: 9223372036854775807
minimum: -9223372036854775808
nullable: true
type: integer
last_action:
allOf:
- $ref: '#/components/schemas/AnnotationHistoryActionEnum'
description: |-
Action which was performed in the last annotation history item
* `prediction` - Created from prediction
* `propagated_annotation` - Created from another annotation
* `imported` - Imported
* `submitted` - Submitted
* `updated` - Updated
* `skipped` - Skipped
* `accepted` - Accepted
* `rejected` - Rejected
* `fixed_and_accepted` - Fixed and accepted
* `deleted_review` - Deleted review
nullable: true
last_created_by:
description: User who created the last annotation history item
nullable: true
type: integer
lead_time:
description: How much time it took to annotate the task
format: double
nullable: true
type: number
parent_annotation:
description: Points to the parent annotation from which this annotation was created
nullable: true
type: integer
parent_prediction:
description: Points to the prediction from which this annotation was created
nullable: true
type: integer
project:
description: Project ID for this annotation
nullable: true
type: integer
result:
description: List of annotation results for the task
items:
description: List of annotated regions for the task
title: Annotation result items (regions)
type: object
title: Annotation result list
type: array
task:
description: Corresponding task for this annotation
nullable: true
type: integer
unique_id:
minLength: 1
type: string
writeOnly: true
updated_by:
description: Last user who updated this annotation
nullable: true
type: integer
was_cancelled:
description: User skipped the task
type: boolean
type: object
AnnotationReview:
description: |-
AnnotationReview Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
The state field display is controlled by both:
- fflag_feat_fit_568_finite_state_management (FSM background calculations)
- fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
properties:
accepted:
description: Accepted or rejected (if false) flag
type: boolean
annotation:
description: Corresponding annotation
type: integer
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
created_by:
description: User who made this review
readOnly: true
type: integer
fixed_annotation_history:
description: Fixed annotation history item by the reviewer
nullable: true
readOnly: true
type: integer
id:
readOnly: true
type: integer
last_annotation_history:
nullable: true
type: integer
previous_annotation_history:
description: Previous annotation history item by the annotator
nullable: true
readOnly: true
type: integer
reject_action:
allOf:
- $ref: '#/components/schemas/RejectActionEnum'
nullable: true
remove_from_queue:
nullable: true
type: boolean
result:
nullable: true
started_at:
format: date-time
nullable: true
type: string
state:
readOnly: true
type: string
required:
- annotation
- created_at
- created_by
- fixed_annotation_history
- id
- previous_annotation_history
- state
type: object
AnnotationReviewRequest:
description: |-
AnnotationReview Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
The state field display is controlled by both:
- fflag_feat_fit_568_finite_state_management (FSM background calculations)
- fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
properties:
accepted:
description: Accepted or rejected (if false) flag
type: boolean
annotation:
description: Corresponding annotation
type: integer
comment:
minLength: 1
nullable: true
type: string
writeOnly: true
last_annotation_history:
nullable: true
type: integer
reject_action:
allOf:
- $ref: '#/components/schemas/RejectActionEnum'
nullable: true
remove_from_queue:
nullable: true
type: boolean
result:
nullable: true
started_at:
format: date-time
nullable: true
type: string
required:
- annotation
type: object
AnnotatorEvaluationMetricEnum:
description: |-
* `gt_agreement` - Ground truth agreement
* `acceptance_score` - Acceptance score
* `rejection_rate` - Rejection rate
enum:
- gt_agreement
- acceptance_score
- rejection_rate
type: string
AssignableOrganizationRoleEnum:
description: |-
* `OW` - Owner
* `AD` - Administrator
* `MA` - Manager
* `RE` - Reviewer
* `AN` - Annotator
* `DI` - Deactivated
* `NO` - Not Activated
enum:
- OW
- AD
- MA
- RE
- AN
- DI
- 'NO'
type: string
AssignableUserTypeEnum:
description: |-
* `standard` - Standard
* `flex` - Flex
* `viewonly` - View Only
enum:
- standard
- flex
- viewonly
type: string
AssignmentSettings:
properties:
id:
readOnly: true
type: integer
label_stream_task_distribution:
allOf:
- $ref: '#/components/schemas/LabelStreamTaskDistributionEnum'
description: |-
Automatic / Manual
* `auto_distribution` - Label Stream distributes tasks automatically to annotators
* `assigned_only` - Label Stream shows tasks only to assigned users
nullable: true
project:
nullable: true
type: integer
required:
- id
type: object
AssignmentSettingsRequest:
properties:
label_stream_task_distribution:
allOf:
- $ref: '#/components/schemas/LabelStreamTaskDistributionEnum'
description: |-
Automatic / Manual
* `auto_distribution` - Label Stream distributes tasks automatically to annotators
* `assigned_only` - Label Stream shows tasks only to assigned users
nullable: true
project:
nullable: true
type: integer
type: object
AssignmentTypeEnum:
description: |-
* `AN` - Annotate
* `RE` - Review
enum:
- AN
- RE
type: string
AssociatedProject:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
id:
readOnly: true
type: integer
title:
description: Project name. Must be between 3 and 50 characters long.
maxLength: 50
minLength: 3
nullable: true
type: string
required:
- id
type: object
AuthMethodEnum:
description: |-
* `NONE` - None
* `BASIC_AUTH` - Basic Auth
enum:
- NONE
- BASIC_AUTH
type: string
AuthModeEnum:
description: |-
* `service_principal` - Service Principal
* `workload_identity` - Workload identity
enum:
- service_principal
- workload_identity
type: string
AuthTypeEnum:
description: |-
* `pat` - Personal Access Token
* `dbx_sp` - Databricks Service Principal
* `azure_ad_sp` - Azure AD Service Principal
enum:
- pat
- dbx_sp
- azure_ad_sp
type: string
AzureBlobExportStorage:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
container:
description: Azure blob container
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: azure
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
AzureBlobExportStorageValidateRequest:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
container:
description: Azure blob container
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
prefix:
description: Azure blob prefix name
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
AzureBlobExportStorageWriteRequest:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
container:
description: Azure blob container
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
prefix:
description: Azure blob prefix name
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
AzureBlobImportStorage:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the container content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: azure
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
AzureBlobImportStorageValidateRequest:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
prefix:
description: Azure blob prefix name
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the container content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
AzureBlobImportStorageWriteRequest:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
prefix:
description: Azure blob prefix name
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the container content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
AzureDatasetStorage:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
dataset:
description: A unique integer value identifying this dataset.
type: integer
description:
description: Cloud storage description
nullable: true
type: string
glob_pattern:
description: Glob pattern for syncing from bucket
nullable: true
type: string
id:
readOnly: true
type: integer
job_id:
nullable: true
readOnly: true
title: The Job ID for the GCP Dataproc job that will import the records of this dataset into the vector db
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
recursive_scan:
description: Perform recursive scan over the container content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synced:
description: Flag if dataset has been previously synced or not
type: boolean
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: azure
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- dataset
- id
- job_id
- type
type: object
AzureDatasetStorageRequest:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
dataset:
description: A unique integer value identifying this dataset.
type: integer
description:
description: Cloud storage description
nullable: true
type: string
glob_pattern:
description: Glob pattern for syncing from bucket
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
recursive_scan:
description: Perform recursive scan over the container content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synced:
description: Flag if dataset has been previously synced or not
type: boolean
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- dataset
type: object
AzureServicePrincipalExportStorage:
description: Mode-aware auth validation shared by import and export Azure SPI serializers.
properties:
account_name:
description: Azure Blob account name
nullable: true
type: string
auth_mode:
allOf:
- $ref: '#/components/schemas/AuthModeEnum'
description: |-
Authentication mode. service_principal uses a client secret. workload_identity uses constrained DefaultAzureCredential (workload identity + managed identity only). Defaults to service_principal.
* `service_principal` - Service Principal
* `workload_identity` - Workload identity
nullable: true
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
client_id:
description: 'For service_principal: Azure app registration client ID. For workload_identity: optional user-assigned managed identity client ID.'
nullable: true
type: string
client_secret:
description: Azure Blob Service Principal client secret. Required when auth_mode is service_principal (or omitted). Must be omitted when auth_mode is workload_identity.
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure Tenant ID. Required for service_principal; not used for workload_identity.
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: azure_spi
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
user_delegation_key:
description: User Delegation Key (Backend)
nullable: true
type: string
required:
- created_at
- id
- project
- type
type: object
AzureServicePrincipalExportStorageRequest:
description: Mode-aware auth validation shared by import and export Azure SPI serializers.
properties:
account_name:
description: Azure Blob account name
nullable: true
type: string
auth_mode:
allOf:
- $ref: '#/components/schemas/AuthModeEnum'
description: |-
Authentication mode. service_principal uses a client secret. workload_identity uses constrained DefaultAzureCredential (workload identity + managed identity only). Defaults to service_principal.
* `service_principal` - Service Principal
* `workload_identity` - Workload identity
nullable: true
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
client_id:
description: 'For service_principal: Azure app registration client ID. For workload_identity: optional user-assigned managed identity client ID.'
nullable: true
type: string
client_secret:
description: Azure Blob Service Principal client secret. Required when auth_mode is service_principal (or omitted). Must be omitted when auth_mode is workload_identity.
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure Tenant ID. Required for service_principal; not used for workload_identity.
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
user_delegation_key:
description: User Delegation Key (Backend)
nullable: true
type: string
required:
- project
type: object
AzureServicePrincipalImportStorage:
description: Mode-aware auth validation shared by import and export Azure SPI serializers.
properties:
account_name:
description: Azure Blob account name
nullable: true
type: string
auth_mode:
allOf:
- $ref: '#/components/schemas/AuthModeEnum'
description: |-
Authentication mode. service_principal uses a client secret. workload_identity uses constrained DefaultAzureCredential (workload identity + managed identity only). Defaults to service_principal.
* `service_principal` - Service Principal
* `workload_identity` - Workload identity
nullable: true
client_id:
description: 'For service_principal: Azure app registration client ID. For workload_identity: optional user-assigned managed identity client ID.'
nullable: true
type: string
client_secret:
description: Azure Blob Service Principal client secret. Required when auth_mode is service_principal (or omitted). Must be omitted when auth_mode is workload_identity.
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure Tenant ID. Required for service_principal; not used for workload_identity.
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: azure_spi
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
user_delegation_key:
description: User Delegation Key (Backend)
nullable: true
type: string
required:
- created_at
- id
- project
- type
type: object
AzureServicePrincipalImportStorageRequest:
description: Mode-aware auth validation shared by import and export Azure SPI serializers.
properties:
account_name:
description: Azure Blob account name
nullable: true
type: string
auth_mode:
allOf:
- $ref: '#/components/schemas/AuthModeEnum'
description: |-
Authentication mode. service_principal uses a client secret. workload_identity uses constrained DefaultAzureCredential (workload identity + managed identity only). Defaults to service_principal.
* `service_principal` - Service Principal
* `workload_identity` - Workload identity
nullable: true
client_id:
description: 'For service_principal: Azure app registration client ID. For workload_identity: optional user-assigned managed identity client ID.'
nullable: true
type: string
client_secret:
description: Azure Blob Service Principal client secret. Required when auth_mode is service_principal (or omitted). Must be omitted when auth_mode is workload_identity.
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure Tenant ID. Required for service_principal; not used for workload_identity.
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
user_delegation_key:
description: User Delegation Key (Backend)
nullable: true
type: string
required:
- project
type: object
BatchFailedPredictions:
properties:
failed_predictions:
items: {}
type: array
job_id:
maxLength: 255
type: string
required:
- failed_predictions
- job_id
type: object
BatchFailedPredictionsRequestRequest:
properties:
failed_predictions:
items: {}
type: array
job_id:
maxLength: 255
minLength: 1
type: string
modelrun_id:
type: integer
required:
- failed_predictions
- modelrun_id
type: object
BatchPredictions:
properties:
job_id:
maxLength: 255
type: string
results:
items: {}
type: array
required:
- job_id
- results
type: object
BatchPredictionsRequestRequest:
properties:
job_id:
maxLength: 255
minLength: 1
type: string
modelrun_id:
type: integer
results:
items: {}
type: array
required:
- modelrun_id
- results
type: object
BillingChecks:
properties:
export_storages:
$ref: '#/components/schemas/CountLimit'
flex:
$ref: '#/components/schemas/FlexChecks'
import_storages:
$ref: '#/components/schemas/CountLimit'
is_license_expired:
type: boolean
is_license_warning:
type: boolean
is_prompts_expire:
type: boolean
is_prompts_warning:
type: boolean
license_expires:
format: date
nullable: true
type: string
license_issued:
format: date
nullable: true
type: string
license_warning:
format: date
nullable: true
type: string
organization_is_active:
type: boolean
projects:
$ref: '#/components/schemas/CountLimit'
prompts_api_keys_enabled:
type: boolean
prompts_enabled:
type: boolean
prompts_expire:
nullable: true
type: string
prompts_status:
$ref: '#/components/schemas/PromptsStatusEnum'
prompts_warning:
nullable: true
type: string
results:
$ref: '#/components/schemas/CountLimit'
trial_days:
type: integer
users:
$ref: '#/components/schemas/CountLimit'
required:
- export_storages
- import_storages
- is_license_expired
- is_license_warning
- is_prompts_expire
- is_prompts_warning
- license_expires
- license_issued
- license_warning
- organization_is_active
- projects
- prompts_api_keys_enabled
- prompts_enabled
- prompts_expire
- prompts_status
- prompts_warning
- results
- trial_days
- users
type: object
BillingFlags:
properties:
activated_at:
format: date-time
nullable: true
type: string
allow_activity_log:
type: boolean
allow_ai:
type: boolean
allow_ask_ai:
type: boolean
allow_ask_ai_screenshots:
nullable: true
type: boolean
allow_data_credentials:
type: boolean
allow_invite_people:
type: boolean
allow_invite_project_experts:
type: boolean
allow_nda:
type: boolean
allow_organization_webhooks:
type: boolean
allow_reviewing:
type: boolean
allow_sso:
type: boolean
allow_storage_proxy:
type: boolean
ask_ai_screenshots:
type: boolean
automax_enabled:
type: boolean
automax_token_exists:
type: boolean
cloud_instance:
type: boolean
disable_members_page:
type: boolean
disable_project_imports:
type: boolean
early_adopter:
type: boolean
email_configured:
type: boolean
embed_domains:
items:
additionalProperties: {}
type: object
type: array
embed_enabled:
type: boolean
embed_settings:
additionalProperties: {}
type: object
manual_role_management:
type: boolean
manual_workspace_management:
type: boolean
secure_mode:
type: boolean
storage_persistence:
type: boolean
white_label_id:
nullable: true
type: string
required:
- activated_at
- allow_activity_log
- allow_ai
- allow_ask_ai
- allow_ask_ai_screenshots
- allow_data_credentials
- allow_invite_people
- allow_invite_project_experts
- allow_nda
- allow_organization_webhooks
- allow_reviewing
- allow_sso
- allow_storage_proxy
- ask_ai_screenshots
- automax_enabled
- automax_token_exists
- cloud_instance
- disable_members_page
- disable_project_imports
- early_adopter
- email_configured
- embed_enabled
- manual_role_management
- manual_workspace_management
- secure_mode
- storage_persistence
- white_label_id
type: object
BillingInfoResponse:
properties:
billing_checks:
$ref: '#/components/schemas/BillingChecks'
billing_flags:
$ref: '#/components/schemas/BillingFlags'
required:
- billing_checks
- billing_flags
type: object
Blueprint:
properties:
created_at:
format: date-time
readOnly: true
type: string
created_by:
nullable: true
type: integer
description:
description: Project description
nullable: true
type: string
id:
readOnly: true
type: integer
label_config:
description: Labeling configuration in XML format
nullable: true
type: string
project:
type: integer
share_id:
description: base64 encoded id
readOnly: true
type: string
short_url:
readOnly: true
type: string
task_count:
readOnly: true
type: integer
title:
description: Blueprint name. Must be between 3 and 50 characters long.
maxLength: 50
nullable: true
type: string
updated_at:
format: date-time
readOnly: true
type: string
required:
- created_at
- id
- project
- share_id
- short_url
- task_count
- updated_at
type: object
BlueprintList:
properties:
created_at:
format: date-time
readOnly: true
type: string
description:
description: Project description
nullable: true
type: string
id:
readOnly: true
type: integer
share_id:
description: base64 encoded id
readOnly: true
type: string
short_url:
readOnly: true
type: string
task_count:
readOnly: true
type: integer
title:
description: Blueprint name. Must be between 3 and 50 characters long.
maxLength: 50
nullable: true
type: string
required:
- created_at
- id
- share_id
- short_url
- task_count
type: object
BlueprintRequest:
properties:
created_by:
nullable: true
type: integer
description:
description: Project description
nullable: true
type: string
label_config:
description: Labeling configuration in XML format
nullable: true
type: string
project:
type: integer
task_ids:
items:
type: integer
maxItems: 100
type: array
writeOnly: true
title:
description: Blueprint name. Must be between 3 and 50 characters long.
maxLength: 50
nullable: true
type: string
required:
- project
type: object
BudgetResetPeriodEnum:
description: |-
* `Monthly` - Monthly
* `Yearly` - Yearly
enum:
- Monthly
- Yearly
type: string
BulkIndicatorRun:
properties:
completed_at:
nullable: true
type: string
created_at:
type: string
indicators: {}
model_display_name:
nullable: true
type: string
model_version_id:
type: integer
model_version_title:
type: string
project_subset:
type: string
run_id:
type: integer
status:
type: string
total_correct_predictions:
nullable: true
type: integer
total_predictions:
nullable: true
type: integer
total_tasks:
nullable: true
type: integer
required:
- created_at
- indicators
- model_version_id
- model_version_title
- project_subset
- run_id
- status
type: object
BulkIndicatorsResponse:
properties:
results:
items:
$ref: '#/components/schemas/BulkIndicatorRun'
type: array
required:
- results
type: object
BulkOrganizationMemberTagAssignmentRequest:
properties:
all:
description: If true, assign tags to all organization members. If false, assign tags to the provided users.
type: boolean
excluded:
description: List of user IDs to exclude from the assignment.
items:
minimum: 1
type: integer
type: array
included:
description: List of user IDs to include in the assignment.
items:
minimum: 1
type: integer
type: array
overwrite:
default: false
description: If true, replace all existing tag assignments for each user with the provided ones. If false, only add new assignments.
type: boolean
tags:
description: List of tag IDs to assign.
items:
minimum: 1
type: integer
type: array
required:
- all
type: object
BulkProjectLearningAssignmentRequest:
properties:
project_ids:
items:
minimum: 1
type: integer
type: array
required:
- project_ids
type: object
BulkResetCourseProgressRequest:
properties:
user_ids:
items:
minimum: 1
type: integer
type: array
required:
- user_ids
type: object
BulkTaskAssigneesRequestRequest:
properties:
filters:
allOf:
- $ref: '#/components/schemas/PrepareParamsFiltersRequest'
nullable: true
selectedItems:
description: 'Task selection by IDs. If filters are applied, the selection will be applied to the filtered tasks.If "all" is `false`, `"included"` must be used. If "all" is `true`, `"excluded"` must be used. Examples: `{"all": false, "included": [1, 2, 3]}` or `{"all": true, "excluded": [4, 5]}`'
oneOf:
- properties:
all:
description: No tasks are selected
enum:
- false
type: boolean
included:
description: List of included task IDs
items:
type: integer
type: array
required:
- all
title: 'all: false'
type: object
- properties:
all:
description: All tasks are selected
enum:
- true
type: boolean
excluded:
description: List of excluded task IDs
items:
type: integer
type: array
required:
- all
title: 'all: true'
type: object
required:
- all
type: object
type:
$ref: '#/components/schemas/AssignmentTypeEnum'
users:
items:
type: integer
type: array
required:
- selectedItems
- type
- users
type: object
CancelModelRunResponse:
properties:
detail:
type: string
required:
- detail
type: object
Certificate:
properties:
completed_at:
format: date-time
readOnly: true
type: string
created_at:
format: date-time
readOnly: true
type: string
expires_at:
format: date-time
nullable: true
readOnly: true
type: string
id:
readOnly: true
type: integer
learning_resource:
readOnly: true
type: integer
metadata:
readOnly: true
revoked_at:
format: date-time
nullable: true
readOnly: true
type: string
serial_number:
readOnly: true
type: string
required:
- completed_at
- created_at
- expires_at
- id
- learning_resource
- metadata
- revoked_at
- serial_number
type: object
ChatCompletionRequestRequest:
description: |-
Validates and sanitizes chat completion request payload.
Ensures:
- messages is a list of valid message dictionaries
- Each message conforms to role-specific requirements
- Only allowed fields are included in the sanitized output
properties:
messages:
description: Array of message objects forming the conversation
items:
$ref: '#/components/schemas/ChatMessageRequest'
type: array
model:
description: Model identifier in format "provider/model-name" (e.g., "openai/gpt-4")
minLength: 1
type: string
required:
- messages
- model
type: object
ChatMessageRequest:
description: |-
Validates and sanitizes individual chat messages for LLM chat completion requests.
Supports the following message roles:
- user, developer, system: Must have 'content' field (string or dict)
- assistant: Must have either 'content' (non-empty) or 'tool_calls' (non-empty array)
- tool: Must have 'content' (non-empty) and 'tool_call_id' fields
All fields not explicitly defined are removed during validation to ensure
only valid fields are passed to LLM providers.
properties:
content:
description: The content of the message (can be a string or structured dict)
nullable: true
role:
allOf:
- $ref: '#/components/schemas/ChatMessageRoleEnum'
description: |-
The role of the message author (user, developer, system, assistant, or tool)
* `user` - user
* `developer` - developer
* `system` - system
* `assistant` - assistant
* `tool` - tool
tool_call_id:
description: The ID of the tool call this message is responding to
minLength: 1
nullable: true
type: string
tool_calls:
description: Tool calls made by the assistant
items: {}
nullable: true
type: array
required:
- role
type: object
ChatMessageRoleEnum:
description: |-
* `user` - user
* `developer` - developer
* `system` - system
* `assistant` - assistant
* `tool` - tool
enum:
- user
- developer
- system
- assistant
- tool
type: string
CheckMatchingFunctionRequestRequest:
properties:
code:
minLength: 1
type: string
required:
- code
type: object
ChildFilter:
properties:
column:
description: Field name
maxLength: 1024
type: string
id:
readOnly: true
type: integer
index:
description: Display order among root filters only
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
operator:
description: Filter operator
maxLength: 1024
type: string
parent:
description: Optional parent filter to create one-level hierarchy (child filters are AND-merged with parent)
nullable: true
type: integer
type:
description: Field type
maxLength: 1024
type: string
value:
description: Filter value
nullable: true
required:
- column
- id
- operator
- type
type: object
ChildFilterRequest:
properties:
column:
description: Field name
maxLength: 1024
minLength: 1
type: string
index:
description: Display order among root filters only
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
operator:
description: Filter operator
maxLength: 1024
minLength: 1
type: string
parent:
description: Optional parent filter to create one-level hierarchy (child filters are AND-merged with parent)
nullable: true
type: integer
type:
description: Field type
maxLength: 1024
minLength: 1
type: string
value:
description: Filter value
nullable: true
required:
- column
- operator
- type
type: object
CollectionModeEnum:
description: |-
* `assigned` - Assigned
* `open` - Open
enum:
- assigned
- open
type: string
Comment:
description: |-
Comment Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
The state field display is controlled by both:
- fflag_feat_fit_568_finite_state_management (FSM background calculations)
- fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
properties:
annotation:
nullable: true
type: integer
classifications:
description: Classifications applied by a reviewer or annotator
nullable: true
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
created_by:
description: User who made this comment
readOnly: true
type: integer
draft:
nullable: true
type: integer
id:
readOnly: true
type: integer
is_resolved:
description: True if the comment is resolved
type: boolean
project:
nullable: true
readOnly: true
type: integer
region_ref:
description: Set if this comment is related to a specific part of the annotation. Normally contains region ID and control name.
nullable: true
resolved_at:
description: Resolving time
format: date-time
nullable: true
readOnly: true
type: string
state:
readOnly: true
type: string
task:
nullable: true
readOnly: true
type: integer
text:
description: Reviewer or annotator comment
nullable: true
type: string
updated_at:
description: Last updated time
format: date-time
readOnly: true
type: string
required:
- created_at
- created_by
- id
- project
- resolved_at
- state
- task
- updated_at
type: object
CommentRequest:
description: |-
Comment Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
The state field display is controlled by both:
- fflag_feat_fit_568_finite_state_management (FSM background calculations)
- fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
properties:
annotation:
nullable: true
type: integer
classifications:
description: Classifications applied by a reviewer or annotator
nullable: true
draft:
nullable: true
type: integer
is_resolved:
description: True if the comment is resolved
type: boolean
region_ref:
description: Set if this comment is related to a specific part of the annotation. Normally contains region ID and control name.
nullable: true
text:
description: Reviewer or annotator comment
nullable: true
type: string
type: object
CommentSerializerWithExpandedUser:
description: |-
Comment Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
The state field display is controlled by both:
- fflag_feat_fit_568_finite_state_management (FSM background calculations)
- fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
properties:
annotation:
nullable: true
type: integer
classifications:
description: Classifications applied by a reviewer or annotator
nullable: true
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
created_by:
$ref: '#/components/schemas/LseUser'
draft:
nullable: true
type: integer
id:
readOnly: true
type: integer
is_resolved:
description: True if the comment is resolved
type: boolean
project:
nullable: true
readOnly: true
type: integer
region_ref:
description: Set if this comment is related to a specific part of the annotation. Normally contains region ID and control name.
nullable: true
resolved_at:
description: Resolving time
format: date-time
nullable: true
readOnly: true
type: string
state:
readOnly: true
type: string
task:
nullable: true
readOnly: true
type: integer
text:
description: Reviewer or annotator comment
nullable: true
type: string
updated_at:
description: Last updated time
format: date-time
readOnly: true
type: string
required:
- created_at
- created_by
- id
- project
- resolved_at
- state
- task
- updated_at
type: object
ConfigurablePermissionOption:
properties:
default:
items:
$ref: '#/components/schemas/AssignableOrganizationRoleEnum'
type: array
group:
type: string
label:
type: string
options:
items:
$ref: '#/components/schemas/AssignableOrganizationRoleEnum'
type: array
permission:
type: string
tooltip:
type: string
required:
- default
- options
- permission
type: object
ConjunctionEnum:
enum:
- or
- and
type: string
ControlTagWeight:
description: |-
Weights configuration for a single control tag.
Structure: {"overall": 0.5, "type": "Choices", "labels": {"cat": 1.0, "dog": 0.0}}
properties:
labels:
additionalProperties:
format: double
maximum: 1.0
minimum: 0.0
type: number
description: Per-label weights (0.0 to 1.0). Zero excludes the label from agreement.
type: object
overall:
description: Overall weight for this control tag (0.0 to 1.0). Zero excludes the tag from agreement.
format: double
maximum: 1.0
minimum: 0.0
type: number
type:
description: Control tag type from the labeling config (e.g. Choices, Labels, TextArea).
type: string
required:
- overall
- type
type: object
ControlTagWeightRequest:
description: |-
Weights configuration for a single control tag.
Structure: {"overall": 0.5, "type": "Choices", "labels": {"cat": 1.0, "dog": 0.0}}
properties:
labels:
additionalProperties:
format: double
maximum: 1.0
minimum: 0.0
type: number
description: Per-label weights (0.0 to 1.0). Zero excludes the label from agreement.
type: object
overall:
description: Overall weight for this control tag (0.0 to 1.0). Zero excludes the tag from agreement.
format: double
maximum: 1.0
minimum: 0.0
type: number
type:
description: Control tag type from the labeling config (e.g. Choices, Labels, TextArea).
minLength: 1
type: string
required:
- overall
- type
type: object
ConvertedFormat:
properties:
export_type:
maxLength: 64
type: string
id:
readOnly: true
type: integer
status:
$ref: '#/components/schemas/ProjectImportStatusEnum'
traceback:
description: Traceback report in case of errors
nullable: true
type: string
required:
- export_type
- id
type: object
ConvertedFormatRequest:
properties:
export_type:
maxLength: 64
minLength: 1
type: string
status:
$ref: '#/components/schemas/ProjectImportStatusEnum'
traceback:
description: Traceback report in case of errors
nullable: true
type: string
required:
- export_type
type: object
CountLimit:
properties:
count:
type: integer
limit:
type: integer
reached:
type: boolean
total:
type: integer
required:
- count
- limit
- reached
type: object
CourseEditingSession:
properties:
is_writer:
type: boolean
module_id:
nullable: true
type: integer
page_id:
type: string
user:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
required:
- is_writer
- module_id
- page_id
- user
type: object
CourseEditingSessionHeartbeatRequest:
properties:
module_id:
nullable: true
type: integer
page_id:
type: string
takeover:
default: false
type: boolean
wants_to_edit:
default: false
type: boolean
required:
- page_id
type: object
CourseEditingSessionResponse:
properties:
sessions:
items:
$ref: '#/components/schemas/CourseEditingSession'
type: array
structure_version:
type: integer
required:
- sessions
- structure_version
type: object
CourseModule:
properties:
content: {}
created_at:
format: date-time
readOnly: true
type: string
id:
readOnly: true
type: integer
learning_resource:
readOnly: true
type: integer
marked_stale:
type: boolean
page_count:
readOnly: true
type: integer
sort_order:
default: 0
maximum: 2147483647
minimum: 0
type: integer
title:
maxLength: 255
type: string
updated_at:
format: date-time
readOnly: true
type: string
updated_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
required:
- created_at
- id
- learning_resource
- page_count
- updated_at
- updated_by
type: object
CourseOutline:
properties:
modules:
items:
$ref: '#/components/schemas/CourseOutlineModule'
type: array
structure_version:
type: integer
required:
- modules
- structure_version
type: object
CourseOutlineModule:
properties:
id:
type: integer
marked_stale:
type: boolean
pages:
items:
$ref: '#/components/schemas/CourseOutlinePage'
type: array
sort_order:
type: integer
title:
type: string
updated_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
nullable: true
required:
- id
- marked_stale
- pages
- sort_order
- title
- updated_by
type: object
CourseOutlinePage:
properties:
id:
type: string
title:
type: string
version:
type: integer
required:
- id
- title
- version
type: object
CoursePageSaveResponse:
properties:
page_version:
type: integer
structure_version:
type: integer
required:
- page_version
- structure_version
type: object
CourseProgressImportResult:
properties:
imported_count:
type: integer
imported_emails:
items:
format: email
type: string
type: array
skipped_invalid:
items:
additionalProperties: {}
type: object
type: array
skipped_not_completed:
items:
type: string
type: array
skipped_not_in_org:
items:
type: string
type: array
required:
- imported_count
- imported_emails
- skipped_invalid
- skipped_not_completed
- skipped_not_in_org
type: object
CourseStructureOpRequest:
properties:
dest_index:
minimum: 0
type: integer
dest_module_id:
type: integer
module_id:
type: integer
module_ids:
items:
type: integer
minItems: 1
type: array
op:
$ref: '#/components/schemas/OpEnum'
page_id:
minLength: 1
type: string
source_module_id:
type: integer
structure_version:
minimum: 1
type: integer
title:
maxLength: 255
type: string
to_index:
minimum: 0
type: integer
required:
- op
- structure_version
type: object
CourseStructureOpResponse:
properties:
module_id:
nullable: true
type: integer
modules:
items:
$ref: '#/components/schemas/CourseModule'
type: array
outline:
$ref: '#/components/schemas/CourseOutline'
page_id:
nullable: true
type: string
structure_version:
type: integer
required:
- modules
- outline
- structure_version
type: object
CreateProjectFromTemplateRequestRequest:
properties:
description:
description: A description for the project.
nullable: true
type: string
title:
description: The title of the project to be created from the template.
minLength: 1
type: string
workspace_id:
description: A unique integer value identifying the workspace in which to create the project.
type: integer
required:
- title
type: object
CustomFunctionCodeRequestRequest:
properties:
code:
minLength: 1
type: string
required:
- code
type: object
DashboardTypeEnum:
description: |-
* `overview` - Overview
* `member_performance` - Member Performance
enum:
- overview
- member_performance
type: string
DataManagerFilterModeEnum:
description: |-
* `only` - only
* `exclude` - exclude
* `None` - None
enum:
- only
- exclude
DataQualityAgreementConfusionMatrix:
properties:
labels:
items:
type: string
type: array
matrix:
items:
items:
type: integer
type: array
type: array
precision:
items:
format: double
type: number
type: array
recall:
items:
format: double
type: number
type: array
top_confusion_pairs:
items:
$ref: '#/components/schemas/DataQualityConfusionPair'
type: array
required:
- labels
- matrix
- precision
- recall
- top_confusion_pairs
type: object
DataQualityAgreementDimensions:
properties:
agreement:
format: double
nullable: true
type: number
control_tag:
nullable: true
type: string
from_name:
type: string
name:
type: string
required:
- agreement
- from_name
- name
type: object
DataQualityAgreementDistribution:
properties:
average_agreement:
format: double
nullable: true
type: number
histogram:
items:
type: integer
maxItems: 10
minItems: 10
type: array
low_agreement_count:
type: integer
total_tasks:
type: integer
required:
- average_agreement
- histogram
- low_agreement_count
- total_tasks
type: object
DataQualityConfusionPair:
properties:
actual:
type: string
count:
type: integer
from_name:
default: ''
type: string
label:
type: string
rate:
format: double
type: number
required:
- actual
- count
- label
- rate
type: object
DatabricksExportStorage:
description: Serializer for Databricks export storage with multi-auth support.
properties:
auth_type:
allOf:
- $ref: '#/components/schemas/AuthTypeEnum'
default: pat
description: |-
Authentication method: PAT, Databricks SP, or Azure AD SP
* `pat` - Personal Access Token
* `dbx_sp` - Databricks Service Principal
* `azure_ad_sp` - Azure AD Service Principal
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
catalog:
description: UC catalog name
type: string
client_id:
description: Service principal client/application ID (required for SP modes)
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Databricks workspace base URL (https://...)
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Export path prefix under the volume
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
request_timeout_s:
maximum: 2147483647
minimum: 0
type: integer
schema:
description: UC schema name
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
stream_chunk_bytes:
maximum: 2147483647
minimum: 0
type: integer
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure AD tenant ID (required for Azure AD SP mode)
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: databricks
readOnly: true
type: string
use_blob_urls:
description: Generate blob URLs in tasks
type: boolean
verify_tls:
description: Verify TLS certificates
type: boolean
volume:
description: UC volume name
type: string
required:
- catalog
- created_at
- host
- id
- project
- schema
- type
- volume
type: object
DatabricksExportStorageValidateRequest:
description: Serializer for Databricks export storage with multi-auth support.
properties:
auth_type:
allOf:
- $ref: '#/components/schemas/AuthTypeEnum'
default: pat
description: |-
Authentication method: PAT, Databricks SP, or Azure AD SP
* `pat` - Personal Access Token
* `dbx_sp` - Databricks Service Principal
* `azure_ad_sp` - Azure AD Service Principal
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
catalog:
description: UC catalog name
minLength: 1
type: string
client_id:
description: Service principal client/application ID (required for SP modes)
type: string
client_secret:
description: Service principal client secret (required for SP modes)
type: string
writeOnly: true
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Databricks workspace base URL (https://...)
minLength: 1
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
prefix:
description: Export path prefix under the volume
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
request_timeout_s:
maximum: 2147483647
minimum: 0
type: integer
schema:
description: UC schema name
minLength: 1
type: string
stream_chunk_bytes:
maximum: 2147483647
minimum: 0
type: integer
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure AD tenant ID (required for Azure AD SP mode)
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
token:
description: Databricks personal access token (required for PAT mode)
type: string
writeOnly: true
use_blob_urls:
description: Generate blob URLs in tasks
type: boolean
verify_tls:
description: Verify TLS certificates
type: boolean
volume:
description: UC volume name
minLength: 1
type: string
required:
- catalog
- host
- project
- schema
- volume
type: object
DatabricksExportStorageWriteRequest:
description: Serializer for Databricks export storage with multi-auth support.
properties:
auth_type:
allOf:
- $ref: '#/components/schemas/AuthTypeEnum'
default: pat
description: |-
Authentication method: PAT, Databricks SP, or Azure AD SP
* `pat` - Personal Access Token
* `dbx_sp` - Databricks Service Principal
* `azure_ad_sp` - Azure AD Service Principal
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
catalog:
description: UC catalog name
minLength: 1
type: string
client_id:
description: Service principal client/application ID (required for SP modes)
type: string
client_secret:
description: Service principal client secret (required for SP modes)
type: string
writeOnly: true
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Databricks workspace base URL (https://...)
minLength: 1
type: string
prefix:
description: Export path prefix under the volume
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
request_timeout_s:
maximum: 2147483647
minimum: 0
type: integer
schema:
description: UC schema name
minLength: 1
type: string
stream_chunk_bytes:
maximum: 2147483647
minimum: 0
type: integer
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure AD tenant ID (required for Azure AD SP mode)
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
token:
description: Databricks personal access token (required for PAT mode)
type: string
writeOnly: true
use_blob_urls:
description: Generate blob URLs in tasks
type: boolean
verify_tls:
description: Verify TLS certificates
type: boolean
volume:
description: UC volume name
minLength: 1
type: string
required:
- catalog
- host
- project
- schema
- volume
type: object
DatabricksImportStorage:
description: Serializer for Databricks import storage with multi-auth support.
properties:
auth_type:
allOf:
- $ref: '#/components/schemas/AuthTypeEnum'
default: pat
description: |-
Authentication method: PAT, Databricks SP, or Azure AD SP
* `pat` - Personal Access Token
* `dbx_sp` - Databricks Service Principal
* `azure_ad_sp` - Azure AD Service Principal
catalog:
description: UC catalog name
type: string
client_id:
description: Service principal client/application ID (required for SP modes)
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Databricks workspace base URL (https://...)
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Path under the volume
nullable: true
type: string
presign:
description: Presign not supported; always proxied
type: boolean
presign_ttl:
description: Unused for Databricks; kept for compatibility
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan
type: boolean
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
request_timeout_s:
maximum: 2147483647
minimum: 0
type: integer
schema:
description: UC schema name
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
stream_chunk_bytes:
maximum: 2147483647
minimum: 0
type: integer
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure AD tenant ID (required for Azure AD SP mode)
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: databricks
readOnly: true
type: string
use_blob_urls:
description: Generate blob URLs in tasks
type: boolean
verify_tls:
description: Verify TLS certificates
type: boolean
volume:
description: UC volume name
type: string
required:
- catalog
- created_at
- host
- id
- project
- schema
- type
- volume
type: object
DatabricksImportStorageValidateRequest:
description: Serializer for Databricks import storage with multi-auth support.
properties:
auth_type:
allOf:
- $ref: '#/components/schemas/AuthTypeEnum'
default: pat
description: |-
Authentication method: PAT, Databricks SP, or Azure AD SP
* `pat` - Personal Access Token
* `dbx_sp` - Databricks Service Principal
* `azure_ad_sp` - Azure AD Service Principal
catalog:
description: UC catalog name
minLength: 1
type: string
client_id:
description: Service principal client/application ID (required for SP modes)
type: string
client_secret:
description: Service principal client secret (required for SP modes)
type: string
writeOnly: true
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Databricks workspace base URL (https://...)
minLength: 1
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
prefix:
description: Path under the volume
nullable: true
type: string
presign:
description: Presign not supported; always proxied
type: boolean
presign_ttl:
description: Unused for Databricks; kept for compatibility
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan
type: boolean
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
request_timeout_s:
maximum: 2147483647
minimum: 0
type: integer
schema:
description: UC schema name
minLength: 1
type: string
stream_chunk_bytes:
maximum: 2147483647
minimum: 0
type: integer
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure AD tenant ID (required for Azure AD SP mode)
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
token:
description: Databricks personal access token (required for PAT mode)
type: string
writeOnly: true
use_blob_urls:
description: Generate blob URLs in tasks
type: boolean
verify_tls:
description: Verify TLS certificates
type: boolean
volume:
description: UC volume name
minLength: 1
type: string
required:
- catalog
- host
- project
- schema
- volume
type: object
DatabricksImportStorageWriteRequest:
description: Serializer for Databricks import storage with multi-auth support.
properties:
auth_type:
allOf:
- $ref: '#/components/schemas/AuthTypeEnum'
default: pat
description: |-
Authentication method: PAT, Databricks SP, or Azure AD SP
* `pat` - Personal Access Token
* `dbx_sp` - Databricks Service Principal
* `azure_ad_sp` - Azure AD Service Principal
catalog:
description: UC catalog name
minLength: 1
type: string
client_id:
description: Service principal client/application ID (required for SP modes)
type: string
client_secret:
description: Service principal client secret (required for SP modes)
type: string
writeOnly: true
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Databricks workspace base URL (https://...)
minLength: 1
type: string
prefix:
description: Path under the volume
nullable: true
type: string
presign:
description: Presign not supported; always proxied
type: boolean
presign_ttl:
description: Unused for Databricks; kept for compatibility
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan
type: boolean
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
request_timeout_s:
maximum: 2147483647
minimum: 0
type: integer
schema:
description: UC schema name
minLength: 1
type: string
stream_chunk_bytes:
maximum: 2147483647
minimum: 0
type: integer
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure AD tenant ID (required for Azure AD SP mode)
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
token:
description: Databricks personal access token (required for PAT mode)
type: string
writeOnly: true
use_blob_urls:
description: Generate blob URLs in tasks
type: boolean
verify_tls:
description: Verify TLS certificates
type: boolean
volume:
description: UC volume name
minLength: 1
type: string
required:
- catalog
- host
- project
- schema
- volume
type: object
Dataset:
properties:
columns:
description: All data columns found in Dataset tasks
nullable: true
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
description: User who created Dataset
description:
description: Dataset description
nullable: true
type: string
id:
readOnly: true
type: integer
organization:
nullable: true
type: integer
title:
description: Dataset title
maxLength: 1000
type: string
total_entities:
maximum: 2147483647
minimum: -2147483648
nullable: true
title: The number of entities in the dataset
type: integer
updated_at:
description: Last updated time
format: date-time
readOnly: true
type: string
vector_db_dataset_name:
description: Dataset name for weaviate schema
maxLength: 37
type: string
required:
- created_at
- id
- title
- updated_at
type: object
DatasetColumn:
properties:
children:
items:
type: string
type: array
id:
type: string
parent:
type: string
target:
type: string
title:
type: string
type:
type: string
visibility_defaults:
$ref: '#/components/schemas/DatasetColumnVisibilityDefaults'
required:
- id
- target
- title
- type
type: object
DatasetColumnVisibilityDefaults:
properties:
explore:
type: boolean
filter:
type: boolean
type: object
DatasetColumnsResponse:
properties:
columns:
items:
$ref: '#/components/schemas/DatasetColumn'
type: array
required:
- columns
type: object
DatasetImportCandidatesCreateRequest:
properties:
additional_filters:
default: {}
dataset:
type: integer
excluded:
default: {}
included:
default: {}
project:
type: integer
view:
type: integer
required:
- dataset
type: object
DatasetImportCandidatesResponse:
properties:
detail:
type: string
job:
type: integer
project_tasks:
type: integer
skipped:
type: integer
total:
type: integer
type: object
DatasetMember:
properties:
user:
type: integer
required:
- user
type: object
DatasetMemberRequest:
properties:
user:
type: integer
required:
- user
type: object
DatasetRequest:
properties:
columns:
description: All data columns found in Dataset tasks
nullable: true
created_by:
allOf:
- $ref: '#/components/schemas/UserSimpleRequest'
description: User who created Dataset
description:
description: Dataset description
nullable: true
type: string
organization:
nullable: true
type: integer
title:
description: Dataset title
maxLength: 1000
minLength: 1
type: string
total_entities:
maximum: 2147483647
minimum: -2147483648
nullable: true
title: The number of entities in the dataset
type: integer
vector_db_dataset_name:
description: Dataset name for weaviate schema
maxLength: 37
minLength: 1
type: string
required:
- title
type: object
DatasetStorageAvailableDataType:
properties:
display_name:
type: string
indexable:
type: boolean
internal_name:
type: string
short_display_name:
type: string
required:
- display_name
- indexable
- internal_name
- short_display_name
type: object
DatasetStorageColumnType:
properties:
name:
type: string
type:
nullable: true
type: string
type: object
DatasetStorageColumnsResponse:
properties:
available_data_types:
items:
$ref: '#/components/schemas/DatasetStorageAvailableDataType'
type: array
columns_with_types:
items:
$ref: '#/components/schemas/DatasetStorageColumnType'
type: array
required:
- available_data_types
- columns_with_types
type: object
DatasetTasksMetadataResponse:
properties:
candidate_task_id:
type: string
metadata: {}
required:
- candidate_task_id
- metadata
type: object
DatasetView:
properties:
data:
description: Custom view data
nullable: true
dataset:
description: Dataset ID
type: integer
filter_group:
$ref: '#/components/schemas/FilterGroup'
id:
readOnly: true
type: integer
is_locked:
description: Whether this data manager tab is locked against configuration changes
nullable: true
type: boolean
locked_at:
description: Time when this view was locked
format: date-time
nullable: true
type: string
locked_by:
nullable: true
properties:
email:
format: email
title: Email
type: string
id:
title: User ID
type: integer
name:
title: Display name
type: string
readOnly: true
title: Locked by user
type: object
order:
description: Position of the tab, starting at the left in data manager and increasing as the tabs go left to right
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
ordering:
description: Ordering parameters
nullable: true
selected_items:
description: Selected items
nullable: true
user:
description: User who made this view
nullable: true
type: integer
required:
- dataset
- id
- locked_by
type: object
DatasetViewRequest:
properties:
data:
description: Custom view data
nullable: true
dataset:
description: Dataset ID
type: integer
filter_group:
$ref: '#/components/schemas/FilterGroupRequest'
is_locked:
description: Whether this data manager tab is locked against configuration changes
nullable: true
type: boolean
locked_at:
description: Time when this view was locked
format: date-time
nullable: true
type: string
order:
description: Position of the tab, starting at the left in data manager and increasing as the tabs go left to right
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
ordering:
description: Ordering parameters
nullable: true
selected_items:
description: Selected items
nullable: true
user:
description: User who made this view
nullable: true
type: integer
required:
- dataset
type: object
DefaultModelVersionNameResponse:
properties:
default_model_version_name:
type: string
message:
type: string
type: object
DefaultRole:
properties:
annotator_reviewer_firewall_enabled_at:
description: Set to current time to restrict data sharing between annotators and reviewers in the label stream, review stream, and notifications (which will be disabled). In these settings, information about annotator and reviewer identity is suppressed in the UI.
format: date-time
nullable: true
type: string
custom_interfaces_enabled:
description: Enable custom interfaces for this organization. When disabled, projects with use_custom_interface=True will not render custom interfaces anywhere in the product (label stream, embed, data manager, interfaces dashboard).
nullable: true
type: boolean
custom_scripts_enabled_at:
description: Set to current time to enable custom scripts (Plugins) for this organization. Can only be enabled if no organization members are active members of any other organizations; otherwise an error will be raised. If this occurs, contact the LEAP team for assistance with enabling custom scripts (Plugins).
format: date-time
nullable: true
type: string
default_role:
allOf:
- $ref: '#/components/schemas/OrganizationRoleEnum'
description: |-
Default membership role for invited users
* `OW` - Owner
* `AD` - Administrator
* `MA` - Manager
* `RE` - Reviewer
* `AN` - Annotator
* `DI` - Deactivated
* `NO` - Not Activated
* `VO` - View Only
email_notification_settings:
description: 'Email notification settings for this organization. Controls which email notifications users can receive. Structure: {"notifications_allowed": {"notification_type": bool}}'
nullable: true
embed_domains:
description: 'List of objects: {"domain": "example.com"}. Used for CSP header on /embed routes.'
nullable: true
embed_enabled:
description: Enable embed functionality for this organization
nullable: true
type: boolean
embed_settings:
description: Embed settings for this organization
nullable: true
external_id:
description: External ID to uniquely identify this organization
nullable: true
type: string
extra_data_on_activity_logs:
type: boolean
interface_settings:
description: 'Security settings for custom interfaces: CSP allowlists, script origins, iframe permissions.'
nullable: true
label_stream_navigation_disabled_at:
description: Set to current time to disable the label stream navigation for this organization. This will prevent users from going back in the label stream to view previous labels.
format: date-time
nullable: true
type: string
organization:
description: A unique integer value identifying this organization.
type: integer
react_code_settings:
description: 'ReactCode tag security settings. Structure: {"mode": "disabled"|"src_only"|"everything", "allowed_origins": ["https://..."], "allowed_permissions": ["camera", ...]}'
nullable: true
title: ReactCode settings
read_only_quick_view_enabled_at:
description: Set to current time to prevent creating or editing annotations in quick view.
format: date-time
nullable: true
type: string
required:
- organization
type: object
Dimension:
description: |-
Serializer for Dimension model.
Handles serialization and validation for CRUD operations on dimensions.
The project and created_by fields are set automatically from the request context.
properties:
allowed_metrics_with_params:
additionalProperties: true
description: Dictionary mapping metric type names to their parameter schemas.
readOnly: true
type: object
control_tag:
description: Name of the control tag this dimension is extracted from. Set automatically for system dimensions.
nullable: true
readOnly: true
type: string
created_at:
format: date-time
readOnly: true
type: string
created_by:
description: User who created this dimension
nullable: true
readOnly: true
type: integer
description:
description: Human-readable description of what this dimension represents
type: string
extraction_method:
description: Method used to extract values from annotation JSON
maxLength: 32
type: string
extraction_method_params:
description: Parameters specific to the extraction method. See metrics.py for available extraction methods and their parameters.
title: Extraction method parameters
id:
readOnly: true
type: integer
is_active:
description: Whether this dimension is used in agreement calculations.
type: boolean
is_categorical:
description: Whether this dimension produces categorical (primitive/scalar) values.
readOnly: true
type: boolean
is_user_defined:
description: Whether this dimension was manually created by a user. System-generated dimensions have this set to False.
type: boolean
metric_params:
description: Parameters for the metric. See metrics.py for available metrics and their parameters.
title: Metric parameters
metric_type:
description: Strategy for comparing dimension values across annotators
maxLength: 32
type: string
name:
description: Unique identifier for this dimension within the project
maxLength: 255
minLength: 1
type: string
order:
description: Display order within the project
maximum: 2147483647
minimum: 0
type: integer
project:
description: Project this dimension belongs to
readOnly: true
type: integer
updated_at:
format: date-time
readOnly: true
type: string
values_enum:
description: Schema-defined enum values for indexed value_counts. Refreshed only with label config changes.
nullable: true
readOnly: true
required:
- allowed_metrics_with_params
- control_tag
- created_at
- created_by
- id
- is_categorical
- name
- project
- updated_at
- values_enum
type: object
DimensionCreateRequest:
description: |-
Serializer for creating new dimensions.
Excludes is_user_defined from user input - new dimensions are always user-defined.
properties:
description:
description: Human-readable description of what this dimension represents
type: string
extraction_method:
description: Method used to extract values from annotation JSON
maxLength: 32
minLength: 1
type: string
extraction_method_params:
description: Parameters specific to the extraction method. See metrics.py for available extraction methods and their parameters.
title: Extraction method parameters
is_active:
description: Whether this dimension is used in agreement calculations.
type: boolean
metric_params:
description: Parameters for the metric. See metrics.py for available metrics and their parameters.
title: Metric parameters
metric_type:
description: Strategy for comparing dimension values across annotators
maxLength: 32
minLength: 1
type: string
name:
description: Unique identifier for this dimension within the project
maxLength: 255
minLength: 1
type: string
order:
description: Display order within the project
maximum: 2147483647
minimum: 0
type: integer
required:
- name
type: object
DimensionList:
description: |-
Lightweight serializer for listing dimensions.
Excludes detailed parameters for performance in list views.
properties:
allowed_metrics_with_params:
additionalProperties: true
description: Dictionary mapping metric type names to their parameter schemas.
readOnly: true
type: object
control_tag:
description: Name of the control tag this dimension is extracted from. Set automatically for system dimensions.
nullable: true
readOnly: true
type: string
created_at:
format: date-time
readOnly: true
type: string
description:
description: Human-readable description of what this dimension represents
readOnly: true
type: string
extraction_method:
description: Method used to extract values from annotation JSON
readOnly: true
type: string
extraction_method_params:
description: Parameters specific to the extraction method. See metrics.py for available extraction methods and their parameters.
readOnly: true
title: Extraction method parameters
id:
readOnly: true
type: integer
is_active:
description: Whether this dimension is used in agreement calculations.
readOnly: true
type: boolean
is_categorical:
description: Whether this dimension produces categorical (primitive/scalar) values.
readOnly: true
type: boolean
is_user_defined:
description: Whether this dimension was manually created by a user. System-generated dimensions have this set to False.
readOnly: true
type: boolean
metric_params:
description: Parameters for the metric. See metrics.py for available metrics and their parameters.
readOnly: true
title: Metric parameters
metric_type:
description: Strategy for comparing dimension values across annotators
readOnly: true
type: string
name:
description: Unique identifier for this dimension within the project
readOnly: true
type: string
order:
description: Display order within the project
readOnly: true
type: integer
project:
description: Project this dimension belongs to
readOnly: true
type: integer
updated_at:
format: date-time
readOnly: true
type: string
values_enum:
description: Schema-defined enum values for indexed value_counts. Refreshed only with label config changes.
nullable: true
readOnly: true
required:
- allowed_metrics_with_params
- control_tag
- created_at
- description
- extraction_method
- extraction_method_params
- id
- is_active
- is_categorical
- is_user_defined
- metric_params
- metric_type
- name
- order
- project
- updated_at
- values_enum
type: object
DimensionRequest:
description: |-
Serializer for Dimension model.
Handles serialization and validation for CRUD operations on dimensions.
The project and created_by fields are set automatically from the request context.
properties:
description:
description: Human-readable description of what this dimension represents
type: string
extraction_method:
description: Method used to extract values from annotation JSON
maxLength: 32
minLength: 1
type: string
extraction_method_params:
description: Parameters specific to the extraction method. See metrics.py for available extraction methods and their parameters.
title: Extraction method parameters
is_active:
description: Whether this dimension is used in agreement calculations.
type: boolean
is_user_defined:
description: Whether this dimension was manually created by a user. System-generated dimensions have this set to False.
type: boolean
metric_params:
description: Parameters for the metric. See metrics.py for available metrics and their parameters.
title: Metric parameters
metric_type:
description: Strategy for comparing dimension values across annotators
maxLength: 32
minLength: 1
type: string
name:
description: Unique identifier for this dimension within the project
maxLength: 255
minLength: 1
type: string
order:
description: Display order within the project
maximum: 2147483647
minimum: 0
type: integer
required:
- name
type: object
DuplicateLearningResourceRequest:
properties:
workspace:
nullable: true
type: integer
type: object
EditionEnum:
description: |-
* `Community` - Community
* `Enterprise` - Enterprise
enum:
- Community
- Enterprise
type: string
EstimatedDurationUnitEnum:
description: |-
* `minutes` - Minutes
* `hours` - Hours
* `days` - Days
* `weeks` - Weeks
enum:
- minutes
- hours
- days
- weeks
type: string
Export:
properties:
converted_formats:
items:
$ref: '#/components/schemas/ConvertedFormat'
type: array
counters:
title: Exporting meta data
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
created_by:
$ref: '#/components/schemas/UserSimple'
finished_at:
description: Complete or fail time
format: date-time
nullable: true
type: string
id:
readOnly: true
type: integer
md5:
maxLength: 128
title: Md5 of file
type: string
status:
allOf:
- $ref: '#/components/schemas/ProjectImportStatusEnum'
title: Export status
title:
maxLength: 2048
type: string
required:
- created_at
- id
type: object
ExportConvertRequest:
properties:
download_resources:
description: Download resources in converter.
type: boolean
export_type:
description: Export file format.
minLength: 1
type: string
required:
- export_type
type: object
FSMTransitionExecuteRequestRequest:
description: Request body serializer for executing a manual FSM transition.
properties:
transition_data:
additionalProperties: {}
nullable: true
type: object
transition_name:
minLength: 1
type: string
required:
- transition_name
type: object
FSMTransitionExecuteResponse:
description: Response serializer for manual FSM transition execution.
properties:
new_state:
nullable: true
readOnly: true
type: string
state_record:
allOf:
- $ref: '#/components/schemas/StateModel'
nullable: true
readOnly: true
success:
readOnly: true
type: boolean
required:
- new_state
- state_record
- success
type: object
FewShotExample:
properties:
annotation:
type: integer
annotation_result:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
created_at:
format: date-time
readOnly: true
type: string
id:
readOnly: true
type: integer
order:
maximum: 2147483647
minimum: 0
type: integer
task:
type: integer
task_data:
additionalProperties: {}
readOnly: true
type: object
required:
- annotation
- annotation_result
- created_at
- id
- task
- task_data
type: object
FewShotExampleRequest:
properties:
annotation:
type: integer
order:
maximum: 2147483647
minimum: 0
type: integer
task:
type: integer
required:
- annotation
- task
type: object
FileUpload:
properties:
file:
type: string
id:
readOnly: true
type: integer
size:
nullable: true
readOnly: true
type: integer
required:
- file
- id
- size
type: object
Filter:
properties:
child_filters:
items:
$ref: '#/components/schemas/ChildFilter'
type: array
column:
description: Field name
maxLength: 1024
type: string
id:
readOnly: true
type: integer
index:
description: Display order among root filters only
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
operator:
description: Filter operator
maxLength: 1024
type: string
parent:
description: Optional parent filter to create one-level hierarchy (child filters are AND-merged with parent)
nullable: true
type: integer
type:
description: Field type
maxLength: 1024
type: string
value:
description: Filter value
nullable: true
required:
- column
- id
- operator
- type
type: object
FilterGroup:
properties:
conjunction:
description: Type of conjunction
maxLength: 1024
type: string
filters:
items:
$ref: '#/components/schemas/Filter'
type: array
id:
readOnly: true
type: integer
required:
- conjunction
- filters
- id
type: object
FilterGroupRequest:
properties:
conjunction:
description: Type of conjunction
maxLength: 1024
minLength: 1
type: string
filters:
items:
$ref: '#/components/schemas/FilterRequest'
type: array
required:
- conjunction
- filters
type: object
FilterRequest:
properties:
child_filters:
items:
$ref: '#/components/schemas/ChildFilterRequest'
type: array
column:
description: Field name
maxLength: 1024
minLength: 1
type: string
index:
description: Display order among root filters only
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
operator:
description: Filter operator
maxLength: 1024
minLength: 1
type: string
parent:
description: Optional parent filter to create one-level hierarchy (child filters are AND-merged with parent)
nullable: true
type: integer
type:
description: Field type
maxLength: 1024
minLength: 1
type: string
value:
description: Filter value
nullable: true
required:
- column
- operator
- type
type: object
FilteredLabelDistributionUnavailable:
properties:
detail:
description: Human-readable error summary.
type: string
exc_info:
description: Debug exception information when enabled; otherwise null.
nullable: true
id:
description: Unique error identifier.
format: uuid
type: string
status_code:
description: HTTP status code.
type: integer
version:
description: Label Studio backend version.
type: string
required:
- detail
- id
- status_code
- version
type: object
FlexActiveBlock:
properties:
claim_mode:
type: string
ends_at:
type: string
id:
type: string
max_concurrent:
type: integer
starts_at:
type: string
status:
type: string
required:
- claim_mode
- ends_at
- id
- max_concurrent
- starts_at
- status
type: object
FlexChecks:
description: |-
Flex entitlement snapshot for License & Usage (FIT-2340).
``enabled`` is False for Starter/non-Enterprise, flag-off, or absent/expired
windows so the UI can hide Flex licensing lines.
properties:
active_blocks:
items:
$ref: '#/components/schemas/FlexActiveBlock'
type: array
capacity:
type: integer
claim_mode:
nullable: true
type: string
enabled:
type: boolean
ends_at:
nullable: true
type: string
live_claims:
type: integer
peak_concurrent:
type: integer
roster_count:
type: integer
starts_at:
nullable: true
type: string
required:
- active_blocks
- capacity
- claim_mode
- enabled
- ends_at
- live_claims
- peak_concurrent
- roster_count
- starts_at
type: object
FsmBackfillJobStatusEnum:
description: |-
* `PENDING` - Pending
* `QUEUED` - Queued
* `RUNNING` - Running
* `COMPLETED` - Completed
* `FAILED` - Failed
enum:
- PENDING
- QUEUED
- RUNNING
- COMPLETED
- FAILED
type: string
GCPCustomFunctionUpdateRequest:
description: Serializer for updating GCP Cloud Function custom metric.
properties:
code:
description: The Python code for the custom metric function.
minLength: 1
type: string
project:
description: The GCP project ID. Uses default if not provided.
nullable: true
type: string
region:
description: The GCP region for the Cloud Function. Uses default if not provided.
nullable: true
type: string
required:
- code
type: object
GCSDatasetStorage:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
dataset:
description: A unique integer value identifying this dataset.
type: integer
description:
description: Cloud storage description
nullable: true
type: string
glob_pattern:
description: Glob pattern for syncing from bucket
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
id:
readOnly: true
type: integer
job_id:
nullable: true
readOnly: true
title: The Job ID for the GCP Dataproc job that will import the records of this dataset into the vector db
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synced:
description: Flag if dataset has been previously synced or not
type: boolean
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: gcs
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- dataset
- id
- job_id
- type
type: object
GCSDatasetStorageRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
dataset:
description: A unique integer value identifying this dataset.
type: integer
description:
description: Cloud storage description
nullable: true
type: string
glob_pattern:
description: Glob pattern for syncing from bucket
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synced:
description: Flag if dataset has been previously synced or not
type: boolean
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- dataset
type: object
GCSExportStorage:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: gcs
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
GCSExportStorageValidateRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
prefix:
description: GCS bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
GCSExportStorageWriteRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
prefix:
description: GCS bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
GCSImportStorage:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: gcs
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
GCSImportStorageValidateRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
GCSImportStorageWriteRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
GCSSAExportStorage:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
target_service_account_email:
description: Service account email to impersonate for GCS access
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: gcs_sa
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
GCSSAExportStorageRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
target_service_account_email:
description: Service account email to impersonate for GCS access
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
GCSSAImportStorage:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
target_service_account_email:
description: Service account email to impersonate for GCS access
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: gcs_sa
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
GCSSAImportStorageRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
target_service_account_email:
description: Service account email to impersonate for GCS access
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
GCSWIFExportStorage:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
google_project_number:
description: Google project number
nullable: true
type: string
google_service_account_email:
description: Google service account email
nullable: true
type: string
google_wif_pool_id:
description: Google WIF pool ID
nullable: true
type: string
google_wif_provider_id:
description: Google WIF provider ID
nullable: true
title: Google wif provider
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: gcswif
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
GCSWIFExportStorageRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
google_project_number:
description: Google project number
nullable: true
type: string
google_service_account_email:
description: Google service account email
nullable: true
type: string
google_wif_pool_id:
description: Google WIF pool ID
nullable: true
type: string
google_wif_provider_id:
description: Google WIF provider ID
nullable: true
title: Google wif provider
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
GCSWIFImportStorage:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
google_project_number:
description: Google project number
nullable: true
type: string
google_service_account_email:
description: Google service account email
nullable: true
type: string
google_wif_pool_id:
description: Google WIF pool ID
nullable: true
type: string
google_wif_provider_id:
description: Google WIF provider ID
nullable: true
title: Google wif provider
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: gcswif
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
GCSWIFImportStorageRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
google_project_number:
description: Google project number
nullable: true
type: string
google_service_account_email:
description: Google service account email
nullable: true
type: string
google_wif_pool_id:
description: Google WIF pool ID
nullable: true
type: string
google_wif_provider_id:
description: Google WIF provider ID
nullable: true
title: Google wif provider
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
Hotkeys:
properties:
custom_hotkeys:
additionalProperties: {}
type: object
required:
- custom_hotkeys
type: object
ImportApiRequest:
description: Tasks serializer for Import API (TaskBulkCreateAPI)
properties:
allow_skip:
description: Whether this task can be skipped. Set to False to make task unskippable.
nullable: true
type: boolean
annotations:
default: []
items:
$ref: '#/components/schemas/AnnotationRequest'
type: array
cancelled_annotations:
description: Number of total cancelled annotations for the current task
maximum: 2147483647
minimum: -2147483648
type: integer
comment_authors:
description: Users who wrote comments
items:
type: integer
type: array
comment_count:
description: Number of comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
data:
additionalProperties: {}
description: User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI.
type: object
file_upload:
description: Uploaded file used as data source for this task
nullable: true
type: integer
inner_id:
description: Internal task ID in the project, starts with 1
format: int64
maximum: 9223372036854775807
minimum: -9223372036854775808
nullable: true
type: integer
last_comment_updated_at:
description: When the last comment was updated
format: date-time
nullable: true
type: string
meta:
description: Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps.
nullable: true
overlap:
description: Number of distinct annotators that processed the current task
maximum: 2147483647
minimum: -2147483648
type: integer
precomputed_agreement:
description: Average agreement score for the task
format: double
nullable: true
type: number
predictions:
default: []
items:
$ref: '#/components/schemas/PredictionRequest'
type: array
total_annotations:
description: Number of total annotations for the current task except cancelled annotations
maximum: 2147483647
minimum: -2147483648
type: integer
total_predictions:
description: Number of total predictions for the current task
maximum: 2147483647
minimum: -2147483648
type: integer
unresolved_comment_count:
description: Number of unresolved comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
updated_by:
description: Last annotator or reviewer who updated this task
nullable: true
type: integer
required:
- data
type: object
InferenceRunCostEstimate:
properties:
completion_cost_usd:
description: Cost of the completion (in USD)
nullable: true
type: string
error_message:
description: Error message details
nullable: true
type: string
error_type:
description: Type of error (e.g. "Timeout", "Rate Limit", etc)
nullable: true
type: string
is_error:
description: Whether an error occurred or not
nullable: true
type: boolean
prompt_cost_usd:
description: Cost of the prompt (in USD)
nullable: true
type: string
total_cost_usd:
description: Total cost of the inference (in USD)
nullable: true
type: string
type: object
JobDetail:
properties:
enqueued_at:
nullable: true
type: string
exception:
$ref: '#/components/schemas/JobException'
failed_at:
nullable: true
type: string
id:
type: string
job_func:
nullable: true
type: string
lane:
additionalProperties: {}
type: object
lease:
additionalProperties: {}
type: object
queue:
nullable: true
type: string
started_at:
nullable: true
type: string
status:
type: string
required:
- enqueued_at
- id
- job_func
- queue
- status
type: object
JobException:
properties:
exception_class:
nullable: true
type: string
frames:
items:
type: string
type: array
message:
nullable: true
type: string
required:
- exception_class
- frames
- message
type: object
JobListEntry:
properties:
enqueued_at:
nullable: true
type: string
execution_key:
nullable: true
type: string
failed_at:
nullable: true
type: string
id:
type: string
job_func:
nullable: true
type: string
lane:
additionalProperties: {}
type: object
lease:
additionalProperties: {}
type: object
queue:
nullable: true
type: string
started_at:
nullable: true
type: string
status:
type: string
required:
- enqueued_at
- id
- job_func
- queue
- status
type: object
JobQuota:
properties:
per_queue_limits:
additionalProperties:
nullable: true
type: integer
description: Max concurrent jobs per RQ queue name.
type: object
used:
additionalProperties:
type: integer
description: Jobs running now per queue name (from the running index).
type: object
required:
- per_queue_limits
- used
type: object
JobsListResponse:
properties:
next_cursor:
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/JobListEntry'
type: array
required:
- next_cursor
- results
type: object
JobsSummary:
properties:
failed_24h:
type: integer
observed_at:
format: date-time
type: string
quota:
$ref: '#/components/schemas/JobQuota'
running:
type: integer
waiting:
type: integer
required:
- failed_24h
- observed_at
- quota
- running
- waiting
type: object
KPIDetailResponse:
description: |-
Response serializer for KPI detail endpoint.
Structure varies based on segmentation parameters.
properties:
by_project:
allOf:
- $ref: '#/components/schemas/KPIProjectSegment'
description: Project-segmented data (compact format with parallel arrays)
nullable: true
by_user:
allOf:
- $ref: '#/components/schemas/KPIUserSegment'
description: User-segmented data (compact format with parallel arrays)
nullable: true
kpi_key:
description: KPI identifier
type: string
kpi_label:
description: Human-readable KPI label
nullable: true
type: string
matrix:
allOf:
- $ref: '#/components/schemas/KPIMatrixSegment'
description: 2D matrix (time × user) in compact format
nullable: true
project_matrix:
allOf:
- $ref: '#/components/schemas/KPIProjectMatrixSegment'
description: 2D matrix (time × project) in compact format
nullable: true
segmentation:
allOf:
- $ref: '#/components/schemas/SegmentationEnum'
description: |-
Type of segmentation applied
* `none` - none
* `time` - time
* `user` - user
* `project` - project
* `matrix` - matrix
* `project_matrix` - project_matrix
time_series:
allOf:
- $ref: '#/components/schemas/KPITimeSegment'
description: Time-segmented data (compact format with parallel arrays)
nullable: true
total:
allOf:
- $ref: '#/components/schemas/KPIValue'
description: Total value (no segmentation)
nullable: true
unit:
description: 'Unit of measurement: seconds, minutes, hours, count, or ratio'
type: string
required:
- kpi_key
- kpi_label
- segmentation
- unit
type: object
KPIMatrixSegment:
description: |-
Serializer for 2D matrix segmentation (time × user) in compact format.
Returns a 2D array where values[user_index][time_index] corresponds to
users[user_index] at interval_start[time_index].
properties:
interval_start:
description: Array of time period start timestamps
items:
format: date-time
type: string
type: array
users:
description: Array of user information
items:
$ref: '#/components/schemas/KPIUserInfo'
type: array
values:
description: '2D array of values: values[user_index][time_index]'
items:
items:
format: double
nullable: true
type: number
type: array
type: array
required:
- interval_start
- users
- values
type: object
KPIMetadata:
description: |-
Serializer for KPI metadata information.
Provides information about available KPIs including their keys, labels,
dependencies, and configuration.
properties:
aggregation_method:
description: 'Aggregation method for the KPI: count, sum, avg, max, min, or snapshot. Snapshot KPIs show point-in-time counts rather than event totals.'
nullable: true
type: string
base_class:
description: Base class name that the KPI inherits from
type: string
calculation_formula:
additionalProperties: {}
description: 'Formula for calculated KPIs defining how to derive the value from component KPIs. Structure: {"type": "ratio|sum|difference|product", "numerator": "kpi_key", "denominator": "kpi_key"}'
nullable: true
type: object
date_column:
description: Database column used for date filtering and aggregation
nullable: true
type: string
depends_on_kpis:
description: List of other KPI keys that this KPI depends on
items:
type: string
type: array
is_calculated:
description: Whether this KPI is calculated from other KPIs (has dependencies)
type: boolean
is_label_type:
description: Whether this KPI is a label/filter type that does not show a value per se
type: boolean
key:
description: Unique identifier for the KPI
type: string
label:
description: Human-readable label for the KPI
nullable: true
type: string
percentage:
description: 'Whether the KPI value is a percentage (DEPRECATED: use unit)'
type: boolean
unit:
description: 'Unit of measurement: seconds, minutes, hours, count, or ratio'
type: string
required:
- base_class
- date_column
- depends_on_kpis
- is_calculated
- is_label_type
- key
- label
- percentage
- unit
type: object
KPIProjectInfo:
description: Serializer for project information (compact format).
properties:
project_id:
description: Project ID
type: integer
project_name:
description: Project name
type: string
workspace_id:
description: Workspace ID
type: integer
workspace_name:
description: Workspace name
type: string
required:
- project_id
- project_name
- workspace_id
- workspace_name
type: object
KPIProjectMatrixSegment:
description: |-
Serializer for 2D matrix segmentation (time × project) in compact format.
Returns a 2D array where values[project_index][time_index] corresponds to
projects[project_index] at interval_start[time_index].
properties:
interval_start:
description: Array of time period start timestamps
items:
format: date-time
type: string
type: array
projects:
description: Array of project information
items:
$ref: '#/components/schemas/KPIProjectInfo'
type: array
values:
description: '2D array of values: values[project_index][time_index]'
items:
items:
format: double
nullable: true
type: number
type: array
type: array
required:
- interval_start
- projects
- values
type: object
KPIProjectSegment:
description: |-
Serializer for project-segmented KPI data (compact format).
Returns parallel arrays: projects and values.
Note: Values can be numbers (for count/time/ratio KPIs) or strings
(for category KPIs like project_state).
properties:
projects:
description: Array of project information
items:
$ref: '#/components/schemas/KPIProjectInfo'
type: array
values:
description: Array of KPI values, one per project (parallel to projects array). Can be numbers or strings depending on KPI type.
items:
nullable: true
oneOf:
- type: number
- type: string
type: array
required:
- projects
- values
type: object
KPITimeSegment:
description: |-
Serializer for time-segmented KPI data (compact format).
Returns parallel arrays: interval_start and values.
properties:
interval_start:
description: Array of time period start timestamps
items:
format: date-time
type: string
type: array
values:
description: Array of KPI values, one per time period (parallel to interval_start)
items:
format: double
nullable: true
type: number
type: array
required:
- interval_start
- values
type: object
KPIUserInfo:
description: Serializer for user information (compact format).
properties:
user_email:
description: User email
format: email
type: string
user_id:
description: User ID
type: integer
username:
description: Username
type: string
required:
- user_email
- user_id
- username
type: object
KPIUserSegment:
description: |-
Serializer for user-segmented KPI data (compact format).
Returns parallel arrays: users and values.
properties:
total:
description: When all=true, total members with performance data before the breakdown cap.
type: integer
users:
description: Array of user information
items:
$ref: '#/components/schemas/KPIUserInfo'
type: array
values:
description: Array of KPI values, one per user (parallel to users array)
items:
format: double
nullable: true
type: number
type: array
required:
- users
- values
type: object
KPIValue:
description: Serializer for a single KPI value (no segmentation).
properties:
unit:
description: 'Unit of measurement: seconds, minutes, hours, count, or ratio'
type: string
value:
description: The KPI value in its native unit
format: double
nullable: true
type: number
required:
- unit
- value
type: object
LSAPITokenBlacklistRequest:
properties:
refresh:
minLength: 1
type: string
writeOnly: true
required:
- refresh
type: object
LSAPITokenRotateRequest:
properties:
refresh:
minLength: 1
type: string
required:
- refresh
type: object
LSEAPITokenCreate:
properties:
created_at:
readOnly: true
type: string
expires_at:
readOnly: true
type: string
token:
readOnly: true
type: string
required:
- created_at
- expires_at
- token
type: object
LSEAPITokenList:
properties:
created_at:
readOnly: true
type: string
expires_at:
readOnly: true
type: string
token:
readOnly: true
type: string
required:
- created_at
- expires_at
- token
type: object
LSEJWTSettings:
properties:
api_token_ttl_days:
maximum: 73000
minimum: 1
type: integer
api_tokens_enabled:
description: Enable JWT API token authentication for this organization
title: JWT API tokens enabled
type: boolean
legacy_api_tokens_enabled:
description: Enable legacy API token authentication for this organization
type: boolean
required:
- api_token_ttl_days
type: object
LSEJWTSettingsRequest:
properties:
api_token_ttl_days:
maximum: 73000
minimum: 1
type: integer
api_tokens_enabled:
description: Enable JWT API token authentication for this organization
title: JWT API tokens enabled
type: boolean
legacy_api_tokens_enabled:
description: Enable legacy API token authentication for this organization
type: boolean
required:
- api_token_ttl_days
type: object
LSEKeyIndicatorValue:
description: |-
Key indicator value for Label Studio Enterprise.
Attributes:
title: The title for this metric, to be displayed to the user
values: Dictionary of key-value pairs for the indicator values
properties:
title:
description: The title for this metric, to be displayed to the user
title: Title
type: string
values:
additionalProperties: true
description: Dictionary of key-value pairs for the indicator values
title: Values
type: object
required:
- title
- values
title: LSEKeyIndicatorValue
type: object
Label:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
approved:
description: Status of label
type: boolean
approved_by:
description: User who approved this label
nullable: true
type: integer
created_at:
description: Time of label creation
format: date-time
readOnly: true
type: string
created_by:
description: User who made this label
type: integer
description:
description: Label description
nullable: true
type: string
id:
readOnly: true
type: integer
links:
items:
type: integer
readOnly: true
type: array
organization:
type: integer
projects:
items:
type: integer
readOnly: true
type: array
title:
description: Label title
maxLength: 2048
type: string
updated_at:
description: Time of label modification
format: date-time
readOnly: true
type: string
value:
description: Label value
required:
- created_at
- created_by
- id
- links
- organization
- projects
- title
- updated_at
- value
type: object
LabelBulkUpdateRequest:
properties:
new_label: {}
old_label: {}
project:
type: integer
required:
- new_label
- old_label
type: object
LabelBulkUpdateResponse:
properties:
annotations_updated:
type: integer
required:
- annotations_updated
type: object
LabelCreate:
properties:
approved:
description: Status of label
type: boolean
approved_by:
description: User who approved this label
nullable: true
type: integer
created_at:
description: Time of label creation
format: date-time
readOnly: true
type: string
created_by:
readOnly: true
type: integer
description:
description: Label description
nullable: true
type: string
from_name:
type: string
id:
readOnly: true
type: integer
organization:
readOnly: true
type: integer
project:
type: integer
projects:
items:
type: integer
readOnly: true
type: array
title:
description: Label title
maxLength: 2048
type: string
updated_at:
description: Time of label modification
format: date-time
readOnly: true
type: string
value:
description: Label value
required:
- created_at
- created_by
- from_name
- id
- organization
- project
- projects
- title
- updated_at
- value
type: object
LabelCreateRequest:
properties:
approved:
description: Status of label
type: boolean
approved_by:
description: User who approved this label
nullable: true
type: integer
description:
description: Label description
nullable: true
type: string
from_name:
minLength: 1
type: string
project:
type: integer
title:
description: Label title
maxLength: 2048
minLength: 1
type: string
value:
description: Label value
required:
- from_name
- project
- title
- value
type: object
LabelDistributionCountsResponse:
properties:
next_offset:
description: Next offset for pagination when using limit/offset mode; null when there are no more results, when filtering by explicit `choice_keys`, or for filtered (aggregation-complete / non-paginated) responses.
nullable: true
type: integer
results:
items:
$ref: '#/components/schemas/LabelDistributionCountsRow'
type: array
totals:
$ref: '#/components/schemas/LabelDistributionCountsTotals'
required:
- next_offset
- results
- totals
type: object
LabelDistributionCountsRow:
properties:
choice:
type: string
choice_key:
readOnly: true
type: string
dimension_name:
type: string
from_annotations_count:
type: integer
from_annotations_percent:
format: double
type: number
from_predictions_count:
type: integer
from_predictions_percent:
format: double
type: number
required:
- choice
- choice_key
- dimension_name
- from_annotations_count
- from_annotations_percent
- from_predictions_count
- from_predictions_percent
type: object
LabelDistributionCountsTotals:
properties:
annotation_totals_by_dimension:
additionalProperties:
type: integer
description: Total annotation counts keyed by dimension name.
type: object
prediction_totals_by_dimension:
additionalProperties:
type: integer
description: Total prediction counts keyed by dimension name.
type: object
type: object
LabelDistributionStructureDimension:
properties:
choice_keys:
description: Flat keys in "___SEP___" format for this dimension.
items:
type: string
readOnly: true
type: array
choices:
description: Sorted list of choices observed from config and/or created labels.
items:
type: string
type: array
dimension_id:
description: Dimension primary key used by Dimension-backed Data Manager result filters.
type: integer
name:
description: Original from_name from labeling config or observed annotation results.
type: string
type:
description: Result item type for this dimension when available.
type: string
unsupported_reason:
description: Reason this dimension cannot render label distribution rows, when unavailable.
type: string
required:
- choice_keys
- choices
- name
type: object
LabelDistributionStructureResponse:
properties:
choice_keys:
description: All project choice keys in stable order, joined with "___PIPE___" when passed as query param.
items:
type: string
readOnly: true
type: array
dimensions:
items:
$ref: '#/components/schemas/LabelDistributionStructureDimension'
type: array
has_predictions:
description: True when the project has at least one Prediction row.
type: boolean
prediction_filters_supported:
description: True when the UI may offer prediction-scoped filters (prediction identity ready and the project has predictions).
type: boolean
prediction_identity_ready:
description: True when dimension value-counts cache is at prediction-identity version 2. Prediction-scoped Label Distribution filters require this.
type: boolean
required:
- choice_keys
- dimensions
type: object
LabelDistributionValidationError:
properties:
detail:
description: Human-readable error summary.
type: string
exc_info:
description: Debug exception information when enabled; otherwise null.
nullable: true
id:
description: Unique error identifier.
format: uuid
type: string
status_code:
description: HTTP status code.
type: integer
validation_errors:
$ref: '#/components/schemas/LabelDistributionValidationErrors'
version:
description: Label Studio backend version.
type: string
required:
- detail
- id
- status_code
- validation_errors
- version
type: object
LabelDistributionValidationErrors:
properties:
filters:
description: Filter-plan parsing or validation messages.
oneOf:
- type: string
- items:
type: string
type: array
required:
- filters
type: object
LabelLink:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
annotations_count:
readOnly: true
type: integer
from_name:
description: Tag name
maxLength: 2048
title: Tag name
type: string
id:
readOnly: true
type: integer
label:
type: integer
project:
type: integer
required:
- annotations_count
- from_name
- id
- label
- project
type: object
LabelLinkRequest:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
from_name:
description: Tag name
maxLength: 2048
minLength: 1
title: Tag name
type: string
label:
type: integer
project:
type: integer
required:
- from_name
- label
- project
type: object
LabelStreamTaskDistributionEnum:
description: |-
* `auto_distribution` - Label Stream distributes tasks automatically to annotators
* `assigned_only` - Label Stream shows tasks only to assigned users
enum:
- auto_distribution
- assigned_only
type: string
LearningProgressResponse:
properties:
completed_at:
format: date-time
nullable: true
type: string
completed_page_versions:
additionalProperties:
type: integer
type: object
content_updated_at:
format: date-time
nullable: true
type: string
course_reset:
default: false
type: boolean
gating:
additionalProperties: {}
type: object
has_completed_page_versions:
type: boolean
is_stale:
type: boolean
max_attempts_exceeded:
default: false
type: boolean
module_progress:
additionalProperties: {}
type: object
pages_visited:
items:
type: string
type: array
quiz_results:
additionalProperties: {}
type: object
resource_version:
type: integer
time_spent_seconds:
type: integer
updated_page_ids:
items:
type: string
type: array
required:
- completed_at
- completed_page_versions
- content_updated_at
- gating
- has_completed_page_versions
- is_stale
- pages_visited
- quiz_results
- resource_version
- time_spent_seconds
- updated_page_ids
type: object
LearningProgressUpdateRequest:
properties:
answers:
additionalProperties: {}
type: object
mark_complete:
default: false
type: boolean
module_id:
type: integer
page_id:
minLength: 1
type: string
page_version:
minimum: 0
type: integer
quiz_id:
minLength: 1
type: string
time_spent_seconds:
minimum: 0
type: integer
type: object
LearningResource:
properties:
allow_standalone:
type: boolean
color:
maxLength: 16
nullable: true
type: string
content:
additionalProperties: {}
readOnly: true
type: object
content_version:
readOnly: true
type: integer
cover_image_url:
maxLength: 1024
type: string
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
default_allow_manual_access:
type: boolean
default_gate_annotator_data_manager:
nullable: true
type: boolean
default_gate_annotator_label_stream:
nullable: true
type: boolean
default_gate_reviewer_data_manager:
nullable: true
type: boolean
default_gate_reviewer_label_stream:
nullable: true
type: boolean
default_gate_reviewer_review_stream:
nullable: true
type: boolean
estimated_duration_unit:
$ref: '#/components/schemas/EstimatedDurationUnitEnum'
estimated_duration_value:
maximum: 2147483647
minimum: 0
nullable: true
type: integer
generate_certificate_on_completion:
type: boolean
has_unpublished_changes:
nullable: true
readOnly: true
type: boolean
hide_completed_quizzes:
type: boolean
id:
readOnly: true
type: integer
is_published:
readOnly: true
type: boolean
learner_count:
readOnly: true
type: integer
learners_completed_count:
readOnly: true
type: integer
learners_started_count:
readOnly: true
type: integer
module_count:
readOnly: true
type: integer
organization:
readOnly: true
type: integer
page_count:
readOnly: true
type: integer
project_count:
readOnly: true
type: integer
single_page_review:
nullable: true
type: boolean
structure_version:
readOnly: true
type: integer
summary:
type: string
title:
maxLength: 255
type: string
updated_at:
format: date-time
readOnly: true
type: string
updated_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
workspace:
nullable: true
type: integer
required:
- content
- content_version
- created_at
- created_by
- has_unpublished_changes
- id
- is_published
- learner_count
- learners_completed_count
- learners_started_count
- module_count
- organization
- page_count
- project_count
- structure_version
- updated_at
- updated_by
type: object
LearningResourceAssignmentSummary:
description: |-
Lean nested resource for project assignment lists (gating / on-demand UI).
Includes the current user's progress so clients can evaluate gates without
N extra GET /learning-resources/:id/ detail calls.
properties:
color:
nullable: true
readOnly: true
type: string
default_allow_manual_access:
readOnly: true
type: boolean
default_gate_annotator_data_manager:
nullable: true
readOnly: true
type: boolean
default_gate_annotator_label_stream:
nullable: true
readOnly: true
type: boolean
default_gate_reviewer_data_manager:
nullable: true
readOnly: true
type: boolean
default_gate_reviewer_label_stream:
nullable: true
readOnly: true
type: boolean
default_gate_reviewer_review_stream:
nullable: true
readOnly: true
type: boolean
id:
readOnly: true
type: integer
is_published:
readOnly: true
type: boolean
progress:
allOf:
- $ref: '#/components/schemas/UserLearningProgress'
nullable: true
readOnly: true
title:
readOnly: true
type: string
required:
- color
- default_allow_manual_access
- default_gate_annotator_data_manager
- default_gate_annotator_label_stream
- default_gate_reviewer_data_manager
- default_gate_reviewer_label_stream
- default_gate_reviewer_review_stream
- id
- is_published
- progress
- title
type: object
LearningResourceCountsItem:
properties:
id:
type: integer
learner_count:
type: integer
learners_completed_count:
type: integer
learners_started_count:
type: integer
page_count:
type: integer
required:
- id
- learner_count
- learners_completed_count
- learners_started_count
- page_count
type: object
LearningResourceCountsResponse:
properties:
results:
items:
$ref: '#/components/schemas/LearningResourceCountsItem'
type: array
required:
- results
type: object
LearningResourceCreate:
properties:
default_allow_manual_access:
type: boolean
default_gate_annotator_data_manager:
nullable: true
type: boolean
default_gate_annotator_label_stream:
nullable: true
type: boolean
default_gate_reviewer_data_manager:
nullable: true
type: boolean
default_gate_reviewer_label_stream:
nullable: true
type: boolean
default_gate_reviewer_review_stream:
nullable: true
type: boolean
summary:
type: string
title:
maxLength: 255
type: string
workspace:
nullable: true
type: integer
type: object
LearningResourceCreateRequest:
properties:
default_allow_manual_access:
type: boolean
default_gate_annotator_data_manager:
nullable: true
type: boolean
default_gate_annotator_label_stream:
nullable: true
type: boolean
default_gate_reviewer_data_manager:
nullable: true
type: boolean
default_gate_reviewer_label_stream:
nullable: true
type: boolean
default_gate_reviewer_review_stream:
nullable: true
type: boolean
summary:
type: string
title:
maxLength: 255
minLength: 1
type: string
workspace:
nullable: true
type: integer
type: object
LearningResourceDetail:
properties:
allow_standalone:
type: boolean
color:
maxLength: 16
nullable: true
type: string
content:
additionalProperties: {}
readOnly: true
type: object
content_version:
readOnly: true
type: integer
cover_image_url:
maxLength: 1024
type: string
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
default_allow_manual_access:
type: boolean
default_gate_annotator_data_manager:
nullable: true
type: boolean
default_gate_annotator_label_stream:
nullable: true
type: boolean
default_gate_reviewer_data_manager:
nullable: true
type: boolean
default_gate_reviewer_label_stream:
nullable: true
type: boolean
default_gate_reviewer_review_stream:
nullable: true
type: boolean
estimated_duration_unit:
$ref: '#/components/schemas/EstimatedDurationUnitEnum'
estimated_duration_value:
maximum: 2147483647
minimum: 0
nullable: true
type: integer
generate_certificate_on_completion:
type: boolean
has_unpublished_changes:
nullable: true
readOnly: true
type: boolean
hide_completed_quizzes:
type: boolean
id:
readOnly: true
type: integer
is_published:
readOnly: true
type: boolean
learner_content:
additionalProperties: true
nullable: true
readOnly: true
type: object
learner_count:
readOnly: true
type: integer
learners_completed_count:
readOnly: true
type: integer
learners_started_count:
readOnly: true
type: integer
module_count:
readOnly: true
type: integer
modules:
items:
$ref: '#/components/schemas/CourseModule'
readOnly: true
type: array
organization:
readOnly: true
type: integer
page_count:
readOnly: true
type: integer
progress:
additionalProperties: {}
nullable: true
readOnly: true
type: object
project_assignments:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
project_count:
readOnly: true
type: integer
single_page_review:
nullable: true
type: boolean
structure_version:
readOnly: true
type: integer
summary:
type: string
title:
maxLength: 255
type: string
unpublished_module_ids:
items:
type: integer
readOnly: true
type: array
updated_at:
format: date-time
readOnly: true
type: string
updated_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
workspace:
nullable: true
type: integer
required:
- content
- content_version
- created_at
- created_by
- has_unpublished_changes
- id
- is_published
- learner_content
- learner_count
- learners_completed_count
- learners_started_count
- module_count
- modules
- organization
- page_count
- progress
- project_assignments
- project_count
- structure_version
- unpublished_module_ids
- updated_at
- updated_by
type: object
LearningResourceList:
description: |-
Admin list payload: core metadata + cheap annotated counts (no page content).
Learner progress counts and page_count are deferred to GET .../counts/?ids=... so the
list path stays flat as modules/learners grow. Those fields are null here for FE skeletons.
properties:
allow_standalone:
type: boolean
color:
maxLength: 16
nullable: true
type: string
content_version:
readOnly: true
type: integer
cover_image_url:
maxLength: 1024
type: string
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
default_allow_manual_access:
type: boolean
default_gate_annotator_data_manager:
nullable: true
type: boolean
default_gate_annotator_label_stream:
nullable: true
type: boolean
default_gate_reviewer_data_manager:
nullable: true
type: boolean
default_gate_reviewer_label_stream:
nullable: true
type: boolean
default_gate_reviewer_review_stream:
nullable: true
type: boolean
estimated_duration_unit:
$ref: '#/components/schemas/EstimatedDurationUnitEnum'
estimated_duration_value:
maximum: 2147483647
minimum: 0
nullable: true
type: integer
generate_certificate_on_completion:
type: boolean
has_unpublished_changes:
nullable: true
readOnly: true
type: boolean
hide_completed_quizzes:
type: boolean
id:
readOnly: true
type: integer
is_published:
readOnly: true
type: boolean
learner_count:
nullable: true
readOnly: true
type: integer
learners_completed_count:
nullable: true
readOnly: true
type: integer
learners_started_count:
nullable: true
readOnly: true
type: integer
module_count:
readOnly: true
type: integer
organization:
readOnly: true
type: integer
page_count:
nullable: true
readOnly: true
type: integer
project_count:
readOnly: true
type: integer
single_page_review:
nullable: true
type: boolean
structure_version:
readOnly: true
type: integer
summary:
type: string
title:
maxLength: 255
type: string
updated_at:
format: date-time
readOnly: true
type: string
updated_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
workspace:
nullable: true
type: integer
required:
- content_version
- created_at
- created_by
- has_unpublished_changes
- id
- is_published
- learner_count
- learners_completed_count
- learners_started_count
- module_count
- organization
- page_count
- project_count
- structure_version
- updated_at
- updated_by
type: object
LearningResourceRequest:
properties:
allow_standalone:
type: boolean
color:
maxLength: 16
nullable: true
type: string
cover_image_url:
maxLength: 1024
type: string
default_allow_manual_access:
type: boolean
default_gate_annotator_data_manager:
nullable: true
type: boolean
default_gate_annotator_label_stream:
nullable: true
type: boolean
default_gate_reviewer_data_manager:
nullable: true
type: boolean
default_gate_reviewer_label_stream:
nullable: true
type: boolean
default_gate_reviewer_review_stream:
nullable: true
type: boolean
estimated_duration_unit:
$ref: '#/components/schemas/EstimatedDurationUnitEnum'
estimated_duration_value:
maximum: 2147483647
minimum: 0
nullable: true
type: integer
generate_certificate_on_completion:
type: boolean
hide_completed_quizzes:
type: boolean
single_page_review:
nullable: true
type: boolean
summary:
type: string
title:
maxLength: 255
minLength: 1
type: string
workspace:
nullable: true
type: integer
type: object
LearningResourceUpdate:
properties:
allow_standalone:
type: boolean
color:
maxLength: 16
nullable: true
type: string
cover_image_url:
maxLength: 1024
type: string
default_allow_manual_access:
type: boolean
default_gate_annotator_data_manager:
nullable: true
type: boolean
default_gate_annotator_label_stream:
nullable: true
type: boolean
default_gate_reviewer_data_manager:
nullable: true
type: boolean
default_gate_reviewer_label_stream:
nullable: true
type: boolean
default_gate_reviewer_review_stream:
nullable: true
type: boolean
estimated_duration_unit:
$ref: '#/components/schemas/EstimatedDurationUnitEnum'
estimated_duration_value:
maximum: 2147483647
minimum: 0
nullable: true
type: integer
generate_certificate_on_completion:
type: boolean
hide_completed_quizzes:
type: boolean
single_page_review:
nullable: true
type: boolean
summary:
type: string
title:
maxLength: 255
type: string
workspace:
nullable: true
type: integer
type: object
LearningResourceUploadResponse:
properties:
url:
format: uri
type: string
required:
- url
type: object
LocalFilesExportStorage:
properties:
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
path:
description: Local path
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: localfiles
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
LocalFilesExportStorageValidateRequest:
properties:
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
path:
description: Local path
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
LocalFilesExportStorageWriteRequest:
properties:
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
path:
description: Local path
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
LocalFilesImportStorage:
properties:
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
path:
description: Local path
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the directory content
nullable: true
type: boolean
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: localfiles
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
LocalFilesImportStorageValidateRequest:
properties:
description:
description: Cloud storage description
nullable: true
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
path:
description: Local path
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the directory content
nullable: true
type: boolean
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
LocalFilesImportStorageWriteRequest:
properties:
description:
description: Cloud storage description
nullable: true
type: string
path:
description: Local path
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the directory content
nullable: true
type: boolean
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
LseAnnotationFilterOptions:
properties:
ground_truth:
description: Include ground truth annotations
nullable: true
type: boolean
reviewed:
allOf:
- $ref: '#/components/schemas/DataManagerFilterModeEnum'
description: |-
`only` - include all tasks with at least one not reviewed annotation `exclude` - exclude with at least one not reviewed annotation
* `only` - only
* `exclude` - exclude
* `None` - None
nullable: true
skipped:
description: Include skipped annotations
nullable: true
type: boolean
usual:
default: true
description: Include not skipped and not ground truth annotations
nullable: true
type: boolean
type: object
LseAnnotationFilterOptionsRequest:
properties:
ground_truth:
description: Include ground truth annotations
nullable: true
type: boolean
reviewed:
allOf:
- $ref: '#/components/schemas/DataManagerFilterModeEnum'
description: |-
`only` - include all tasks with at least one not reviewed annotation `exclude` - exclude with at least one not reviewed annotation
* `only` - only
* `exclude` - exclude
* `None` - None
nullable: true
skipped:
description: Include skipped annotations
nullable: true
type: boolean
usual:
default: true
description: Include not skipped and not ground truth annotations
nullable: true
type: boolean
type: object
LseExportCreate:
properties:
annotation_filter_options:
$ref: '#/components/schemas/LseAnnotationFilterOptions'
converted_formats:
items:
$ref: '#/components/schemas/ConvertedFormat'
type: array
counters:
title: Exporting meta data
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
created_by:
$ref: '#/components/schemas/UserSimple'
finished_at:
description: Complete or fail time
format: date-time
nullable: true
type: string
id:
readOnly: true
type: integer
md5:
maxLength: 128
title: Md5 of file
type: string
serialization_options:
$ref: '#/components/schemas/SerializationOptions'
status:
allOf:
- $ref: '#/components/schemas/ProjectImportStatusEnum'
title: Export status
task_filter_options:
$ref: '#/components/schemas/LseTaskFilterOptions'
title:
maxLength: 2048
type: string
required:
- created_at
- id
type: object
LseExportCreateRequest:
properties:
annotation_filter_options:
$ref: '#/components/schemas/LseAnnotationFilterOptionsRequest'
converted_formats:
items:
$ref: '#/components/schemas/ConvertedFormatRequest'
type: array
counters:
title: Exporting meta data
created_by:
$ref: '#/components/schemas/UserSimpleRequest'
finished_at:
description: Complete or fail time
format: date-time
nullable: true
type: string
md5:
maxLength: 128
minLength: 1
title: Md5 of file
type: string
serialization_options:
$ref: '#/components/schemas/SerializationOptionsRequest'
status:
allOf:
- $ref: '#/components/schemas/ProjectImportStatusEnum'
title: Export status
task_filter_options:
$ref: '#/components/schemas/LseTaskFilterOptionsRequest'
title:
maxLength: 2048
type: string
type: object
LseFields:
properties:
email_notification_settings:
additionalProperties: {}
description: |-
Get email notification settings with organization-level filtering.
Use the model's getter method to ensure all notification types are included
with proper defaults for any missing types. Transform the output to include
both value and label for each notification type.
Filter notifications based on organization's allowed notifications if user
belongs to exactly one organization.
Role-based filtering: not_activated_user_login is only available to users
who are admins or owners in at least one organization.
readOnly: true
type: object
invite_activated:
nullable: true
type: boolean
invite_expired:
nullable: true
readOnly: true
type: boolean
invite_expired_at:
format: date-time
nullable: true
readOnly: true
type: string
invited_at:
format: date-time
nullable: true
type: string
invited_by:
nullable: true
type: integer
onboarding_state:
allOf:
- $ref: '#/components/schemas/OnboardingStateEnum'
description: |-
The current stage of user onboarding
* `not_started` - Not Started
* `signup` - Signup
* `trial_signup` - Trial Signup
* `first_tutorial` - First Tutorial
* `in_app_guidance` - In App Guidance
* `complete` - Complete
nullable: true
social_auth_finished:
description: Is user finished social authentication
nullable: true
type: boolean
trial_company:
maxLength: 1000
nullable: true
type: string
trial_experience_labeling:
maxLength: 1000
nullable: true
type: string
trial_license_enterprise:
nullable: true
type: boolean
trial_models_in_production:
maxLength: 1000
nullable: true
type: string
trial_role:
allOf:
- $ref: '#/components/schemas/TrialRoleEnum'
nullable: true
required:
- email_notification_settings
- invite_expired
- invite_expired_at
type: object
LseFieldsRequest:
properties:
invite_activated:
nullable: true
type: boolean
invited_at:
format: date-time
nullable: true
type: string
invited_by:
nullable: true
type: integer
onboarding_state:
allOf:
- $ref: '#/components/schemas/OnboardingStateEnum'
description: |-
The current stage of user onboarding
* `not_started` - Not Started
* `signup` - Signup
* `trial_signup` - Trial Signup
* `first_tutorial` - First Tutorial
* `in_app_guidance` - In App Guidance
* `complete` - Complete
nullable: true
social_auth_finished:
description: Is user finished social authentication
nullable: true
type: boolean
trial_company:
maxLength: 1000
nullable: true
type: string
trial_experience_labeling:
maxLength: 1000
nullable: true
type: string
trial_license_enterprise:
nullable: true
type: boolean
trial_models_in_production:
maxLength: 1000
nullable: true
type: string
trial_role:
allOf:
- $ref: '#/components/schemas/TrialRoleEnum'
nullable: true
type: object
LseInterface:
properties:
artifacts:
description: AI-produced code snapshots for session continuity
code:
description: JSX source code for the interface screen module
type: string
compiled:
type: string
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
data_sample:
description: Sample task data for preview
description:
type: string
id:
readOnly: true
type: integer
input_schema:
description: JSON Schema declaring expected task data field types for import validation
is_system:
description: HumanSignal-provided system template visible to all organizations
readOnly: true
type: boolean
messages:
description: Chat conversation history
metadata:
description: Arbitrary metadata for this interface
nullable: true
output_schema:
description: JSON Schema declaring the annotation output fields this interface produces (for Prompter/auto-labeling)
projects_count:
default: 0
readOnly: true
type: integer
scenarios:
nullable: true
type: string
title:
maxLength: 500
type: string
updated_at:
format: date-time
readOnly: true
type: string
versions:
description: Code version history
workspace:
nullable: true
type: integer
required:
- code
- compiled
- created_at
- created_by
- id
- is_system
- projects_count
- title
- updated_at
type: object
LseInterfaceAppendVersionRequest:
properties:
artifactId:
type: string
changeRanges: {}
code:
minLength: 1
type: string
compiled:
minLength: 1
type: string
description:
type: string
inputSchema:
nullable: true
messageId:
type: string
op:
type: string
outputSchema:
nullable: true
paramsSchema:
nullable: true
scenarios:
nullable: true
type: string
screenParams:
nullable: true
unpublished:
type: boolean
required:
- code
- compiled
type: object
LseInterfaceAppendVersionsRequest:
properties:
artifacts: {}
code:
minLength: 1
type: string
compiled:
minLength: 1
type: string
data_sample: {}
input_schema: {}
messages: {}
metadata: {}
output_schema: {}
scenarios:
nullable: true
type: string
title:
minLength: 1
type: string
versions:
items:
$ref: '#/components/schemas/LseInterfaceAppendVersionRequest'
type: array
required:
- versions
type: object
LseInterfaceDuplicateRequestModeEnum:
description: |-
* `last` - last
* `all` - all
enum:
- last
- all
type: string
LseInterfaceDuplicateRequestRequest:
description: |-
Request body for ``POST /api/interfaces/{id}/duplicate/`` (OpenAPI/SDK only — the view reads raw data).
Every field is optional; an empty body duplicates the latest state into the shared (no workspace) scope.
properties:
compiled:
description: Client-compiled bundle, accepted only when the source has none stored (system templates).
nullable: true
type: string
description:
description: Description for the copy. Defaults to the source interface's description.
nullable: true
type: string
mode:
allOf:
- $ref: '#/components/schemas/LseInterfaceDuplicateRequestModeEnum'
description: |-
'last' (default) copies only the current state; 'all' carries the full version history.
* `last` - last
* `all` - all
params:
description: Initial screen params (an object) seeded on the copy. Can't be combined with mode='all'.
nullable: true
title:
description: Title for the copy. Defaults to " (Copy)" when omitted or blank.
type: string
workspace:
description: Workspace ID to duplicate into. Omit or null for no workspace.
nullable: true
type: integer
type: object
LseInterfaceList:
properties:
accepts_submissions:
description: Whether this interface can receive an uploaded file as a submission.
readOnly: true
type: boolean
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
description:
type: string
has_scenarios:
description: Whether this interface has browser scenarios available to run.
readOnly: true
type: boolean
id:
readOnly: true
type: integer
is_system:
description: HumanSignal-provided system template visible to all organizations
readOnly: true
type: boolean
metadata:
description: Arbitrary metadata for this interface
nullable: true
projects_count:
default: 0
readOnly: true
type: integer
published_versions_count:
description: Number of published versions for list cards (derived from versions JSON)
maximum: 32767
minimum: 0
nullable: true
type: integer
title:
maxLength: 500
type: string
type_name:
description: CamelCase screen component name for list cards (derived from code)
maxLength: 200
nullable: true
type: string
updated_at:
format: date-time
readOnly: true
type: string
versions:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
workspace:
nullable: true
type: integer
required:
- accepts_submissions
- created_at
- created_by
- has_scenarios
- id
- is_system
- projects_count
- title
- updated_at
- versions
type: object
LseInterfaceRequest:
properties:
artifacts:
description: AI-produced code snapshots for session continuity
code:
description: JSX source code for the interface screen module
minLength: 1
type: string
compiled:
minLength: 1
type: string
data_sample:
description: Sample task data for preview
description:
type: string
input_schema:
description: JSON Schema declaring expected task data field types for import validation
messages:
description: Chat conversation history
metadata:
description: Arbitrary metadata for this interface
nullable: true
output_schema:
description: JSON Schema declaring the annotation output fields this interface produces (for Prompter/auto-labeling)
scenarios:
nullable: true
type: string
title:
maxLength: 500
minLength: 1
type: string
versions:
description: Code version history
workspace:
nullable: true
type: integer
required:
- code
- compiled
- title
type: object
LseInterfaceVersionDescriptionRequest:
properties:
description:
description: Description to store on the saved interface version.
type: string
version_id:
description: Stable interface version ID.
minimum: 0
type: integer
required:
- description
- version_id
type: object
LseInterfaceVersionIdRequest:
properties:
version_id:
description: Stable interface version ID.
minimum: 0
type: integer
required:
- version_id
type: object
LseOrganization:
properties:
allow_unsafe_instruction_tags:
readOnly: true
type: boolean
billing:
$ref: '#/components/schemas/OrganizationBilling'
created_at:
format: date-time
readOnly: true
type: string
custom_interfaces_enabled:
description: Enable custom interfaces for this organization. When disabled, projects with use_custom_interface=True will not render custom interfaces anywhere in the product (label stream, embed, data manager, interfaces dashboard).
nullable: true
type: boolean
custom_scripts_enabled:
readOnly: true
type: boolean
default_role:
allOf:
- $ref: '#/components/schemas/OrganizationRoleEnum'
description: |-
Default membership role for invited users
* `OW` - Owner
* `AD` - Administrator
* `MA` - Manager
* `RE` - Reviewer
* `AN` - Annotator
* `DI` - Deactivated
* `NO` - Not Activated
* `VO` - View Only
email_notification_settings:
additionalProperties: {}
description: |-
Get email notification settings with default values for all notification types.
Returns a dictionary with the following structure:
{
'notifications_allowed': {
'notification_type': bool
},
'notification_types': [
{'value': str, 'label': str}
]
}
Excludes blocklisted notification types and ensures all valid types are included
with proper defaults for any missing types.
When organization's email_notification_settings is null or empty, all notifications
are shown as enabled (True) by default. When organization has some settings,
unconfigured notifications default to False.
readOnly: true
type: object
embed_domains:
description: 'List of objects: {"domain": "example.com"}. Used for CSP header on /embed routes.'
nullable: true
embed_enabled:
description: Enable embed functionality for this organization
nullable: true
type: boolean
embed_settings:
description: Embed settings for this organization
nullable: true
external_id:
description: External ID to uniquely identify this organization
nullable: true
type: string
id:
readOnly: true
type: integer
interface_settings:
description: 'Security settings for custom interfaces: CSP allowlists, script origins, iframe permissions.'
nullable: true
react_code_settings:
additionalProperties: {}
readOnly: true
type: object
title:
readOnly: true
type: string
token:
readOnly: true
type: string
required:
- allow_unsafe_instruction_tags
- billing
- created_at
- custom_scripts_enabled
- email_notification_settings
- id
- react_code_settings
- title
- token
type: object
LseOrganizationMemberList:
description: |-
A serializer mixin that takes an additional `fields` argument that controls
which fields should be displayed.
properties:
concurrency:
additionalProperties: {}
nullable: true
readOnly: true
type: object
contributed_to_projects:
items:
properties:
id:
type: integer
title:
type: string
required:
- id
- title
type: object
nullable: true
readOnly: true
type: array
created_projects:
items:
properties:
id:
type: integer
title:
type: string
required:
- id
- title
type: object
nullable: true
readOnly: true
type: array
flex:
additionalProperties: {}
description: Per-member Flex claim/window state for Members UI (FIT-2339).
nullable: true
readOnly: true
type: object
id:
readOnly: true
type: integer
organization:
description: Organization ID
type: integer
role:
allOf:
- $ref: '#/components/schemas/OrganizationRoleEnum'
readOnly: true
role_source:
allOf:
- $ref: '#/components/schemas/RoleSourceEnum'
nullable: true
readOnly: true
tags:
items:
$ref: '#/components/schemas/SimpleOrganizationMemberTag'
readOnly: true
type: array
user:
$ref: '#/components/schemas/LseUserOrganizationMemberList'
user_type:
nullable: true
readOnly: true
type: string
required:
- concurrency
- contributed_to_projects
- created_projects
- flex
- id
- organization
- role
- role_source
- tags
- user
- user_type
type: object
LseProject:
description: |-
Serializer get numbers from project queryset annotation,
make sure, that you use correct one(Project.objects.with_counts())
properties:
agreement_methodology:
allOf:
- $ref: '#/components/schemas/AgreementMethodologyEnum'
default: pairwise
description: |-
Methodology (Consensus / Pairwise Averaging)
* `consensus` - Consensus
* `pairwise` - Pairwise Averaging
agreement_threshold:
description: Agreement threshold
format: decimal
nullable: true
pattern: ^-?\d{0,1}(?:\.\d{0,2})?$
type: string
annotation_limit_count:
description: Limit by number of tasks
minimum: 1
nullable: true
type: integer
annotation_limit_percent:
description: Limit by percentage of tasks
format: decimal
nullable: true
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
annotator_evaluation_continuous_tasks:
default: 0
description: 'Continuous Evaluation: Required tasks'
minimum: 0
type: integer
annotator_evaluation_enabled:
description: Evaluate all annotators against ground truth
type: boolean
annotator_evaluation_metric:
allOf:
- $ref: '#/components/schemas/AnnotatorEvaluationMetricEnum'
default: gt_agreement
description: |-
Metric used to evaluate annotators. Defaults to gt_agreement.
* `gt_agreement` - Ground truth agreement
* `acceptance_score` - Acceptance score
* `rejection_rate` - Rejection rate
nullable: true
annotator_evaluation_minimum_score:
default: '95.00'
description: Score required to pass evaluation
format: decimal
nullable: true
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
annotator_evaluation_minimum_tasks:
default: 10
description: Number of tasks for evaluation
minimum: 0
nullable: true
type: integer
annotator_evaluation_onboarding_tasks:
default: 0
description: 'Onboarding Evaluation: Required tasks'
minimum: 0
type: integer
assignment_settings:
$ref: '#/components/schemas/AssignmentSettings'
collection_mode:
description: Data Collection project mode (assigned/open); null for non-collection projects. Set at creation only.
nullable: true
readOnly: true
type: string
color:
description: Color
maxLength: 16
nullable: true
type: string
comment_classification_config:
type: string
config_has_control_tags:
description: Flag to detect is project ready for labeling
readOnly: true
type: boolean
config_suitable_for_bulk_annotation:
description: Flag to detect is project ready for bulk annotation
readOnly: true
type: boolean
control_weights:
additionalProperties:
$ref: '#/components/schemas/ControlTagWeight'
description: Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight.
nullable: true
type: object
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
description: Project owner
custom_interface_code:
nullable: true
type: string
custom_interface_compiled:
nullable: true
type: string
custom_interface_params:
nullable: true
custom_script:
description: Plugins
type: string
custom_task_lock_ttl:
description: Task reservation time. TTL in seconds (UI displays and edits this value in minutes).
maximum: 86400
minimum: 1
nullable: true
type: integer
data_types:
additionalProperties: true
nullable: true
readOnly: true
type: object
description:
description: Description (Public)
nullable: true
type: string
dm_column_defaults:
additionalProperties: false
description: Soft Data Manager column visibility and order defaults. Returned on project reads for every role so Data Manager can apply them at runtime; Managers and above may set this. explore is the main grid (shared order, role-keyed visible lists). labeling is reserved for independent Quick View defaults. On update, omitted surfaces keep their stored values; send null to clear both surfaces.
nullable: true
properties:
explore:
additionalProperties: false
description: Main Data Manager grid.
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
labeling:
additionalProperties: false
description: Quick View (reserved).
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
type: object
duplication_done:
default: false
type: boolean
duplication_status:
type: string
enable_empty_annotation:
description: Allow empty annotations
type: boolean
evaluate_predictions_automatically:
description: Retrieve and display predictions when loading a task
type: boolean
expert_instruction:
description: Instructions
nullable: true
type: string
finished_task_number:
description: Finished tasks
readOnly: true
type: integer
ground_truth_number:
description: Honeypot annotation number in project
readOnly: true
type: integer
id:
readOnly: true
type: integer
input_schema:
nullable: true
internal_description:
description: Description (Internal)
items: {}
nullable: true
readOnly: true
type: array
is_dimensions_enabled:
readOnly: true
type: boolean
is_draft:
description: Whether or not the project is in the middle of being created
type: boolean
is_published:
description: Whether or not the project is published to annotators
title: Published
type: boolean
label_config:
description: Labeling Configuration
nullable: true
type: string
max_additional_annotators_assignable:
description: Maximum additional annotators
nullable: true
type: integer
maximum_annotations:
description: Annotations per task
maximum: 2147483647
minimum: -2147483648
title: Maximum annotation number
type: integer
members:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
members_count:
readOnly: true
type: integer
min_annotations_to_start_training:
description: Minimum number of completed tasks after which model training is started
maximum: 2147483647
minimum: -2147483648
type: integer
model_version:
description: Machine learning model version
nullable: true
type: string
num_tasks_with_annotations:
nullable: true
readOnly: true
type: integer
organization:
nullable: true
type: integer
output_schema:
nullable: true
overlap_cohort_percentage:
description: Annotations per task coverage
maximum: 2147483647
minimum: -2147483648
type: integer
parsed_label_config:
additionalProperties: true
description: JSON-formatted labeling configuration
readOnly: true
type: object
pause_on_failed_annotator_evaluation:
default: false
description: Pause annotator on failed evaluation
nullable: true
type: boolean
permissions:
items:
type: string
readOnly: true
type: array
pinned_at:
description: Pinned date and time
format: date-time
nullable: true
type: string
prompts:
items:
additionalProperties: {}
type: object
nullable: true
readOnly: true
type: array
queue_done:
description: 'Annotator-only: tasks this user has completed in the labeling queue for the project.'
readOnly: true
type: integer
queue_left:
description: 'Reviewer-only: remaining tasks in this user''s manually assigned review queue. Returns 0 when no manual assignments apply; the project card then uses `review_total_tasks` and `reviewed_number` for auto-review progress. Not the same as the project-wide `tasks_pending_review` KPI.'
readOnly: true
type: integer
queue_total:
description: 'Role-dependent queue size. Annotators: total tasks in the labeling queue. Reviewers (list/counts): total manually assigned review tasks (same pool as `reviewer_queue_total`). Not the same as `task_number` (all project tasks) or `review_total_tasks` (auto-review stream pool).'
readOnly: true
type: integer
require_comment_on_skip:
default: false
description: Require comment to skip
type: boolean
reveal_preannotations_interactively:
description: Reveal pre-annotations interactively
type: boolean
review_settings:
$ref: '#/components/schemas/ReviewSettings'
reviewer_queue_total:
description: Tasks manually assigned to this user for review (`reviewer_queue_total_count`). Null for annotators.
readOnly: true
type: integer
sampling:
allOf:
- $ref: '#/components/schemas/ProjectSamplingEnum'
nullable: true
show_annotation_history:
description: Show Data Manager to Annotators
type: boolean
show_collab_predictions:
description: Use predictions to pre-label Tasks
title: Show predictions to annotator
type: boolean
show_ground_truth_first:
deprecated: true
description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream'
type: boolean
show_instruction:
description: Show instructions before labeling
type: boolean
show_overlap_first:
description: Show tasks with overlap first
type: boolean
show_skip_button:
description: Allow skipping tasks
type: boolean
show_unused_data_columns_to_annotators:
description: 'Show only columns used in labeling configuration to Annotators. API uses inverse field semantics here: set false to show only used columns, set true to show all task.data columns.'
nullable: true
type: boolean
skip_queue:
allOf:
- $ref: '#/components/schemas/SkipQueueEnum'
nullable: true
skipped_annotations_number:
description: Skipped by collaborators annotation number in project
readOnly: true
type: integer
source_interface_id:
nullable: true
type: integer
source_interface_version:
description: Stable version ID of the saved interface snapshot used by this project.
nullable: true
type: integer
start_training_on_annotation_update:
description: Start model training after any annotations are submitted or updated
readOnly: true
type: boolean
state:
readOnly: true
type: string
strict_task_overlap:
default: true
description: Enforce strict overlap limit
type: boolean
task_data_login:
description: Login
maxLength: 256
nullable: true
type: string
task_data_password:
description: Password
maxLength: 256
nullable: true
type: string
task_number:
description: Total task number in project
readOnly: true
type: integer
title:
description: Project Name
maxLength: 50
minLength: 3
nullable: true
type: string
total_annotations_number:
description: Total annotations number in project including skipped_annotations_number and ground_truth_number.
readOnly: true
type: integer
total_predictions_number:
description: Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
readOnly: true
type: integer
use_custom_interface:
default: false
type: boolean
useful_annotation_number:
description: Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
readOnly: true
type: integer
workspace:
readOnly: true
type: integer
workspace_title:
nullable: true
readOnly: true
type: string
required:
- assignment_settings
- collection_mode
- config_has_control_tags
- config_suitable_for_bulk_annotation
- created_at
- data_types
- finished_task_number
- ground_truth_number
- id
- internal_description
- is_dimensions_enabled
- members
- members_count
- num_tasks_with_annotations
- parsed_label_config
- permissions
- prompts
- queue_done
- queue_left
- queue_total
- review_settings
- reviewer_queue_total
- skipped_annotations_number
- start_training_on_annotation_update
- state
- task_number
- total_annotations_number
- total_predictions_number
- useful_annotation_number
- workspace
- workspace_title
type: object
LseProjectCounts:
description: |-
Serializer get numbers from project queryset annotation,
make sure, that you use correct one(Project.objects.with_counts())
properties:
duplication_status:
type: string
finished_task_number:
description: Project-wide count of tasks considered finished under project completion rules (agreement threshold, overlap, or FSM states such as needs-review and completed). Not a per-user queue counter. Analytics KPIs such as `annotated_tasks`, `done_tasks`, and `total_tasks` measure related but not identical project-wide totals.
readOnly: true
type: integer
ground_truth_number:
description: Honeypot annotation number in project
readOnly: true
type: integer
id:
readOnly: true
type: integer
num_tasks_with_annotations:
description: Tasks with at least one annotation. For annotators, counts only tasks this user annotated; for other roles, counts project-wide. For analytics, use annotated_tasks or related KPIs with explicit project/member filters.
nullable: true
readOnly: true
type: integer
queue_done:
description: 'Annotator-only: tasks this user has completed in the labeling queue for the project.'
readOnly: true
type: integer
queue_left:
description: 'Reviewer-only: remaining tasks in this user''s manually assigned review queue. Returns 0 when no manual assignments apply; the project card then uses `review_total_tasks` and `reviewed_number` for auto-review progress. Not the same as the project-wide `tasks_pending_review` KPI.'
nullable: true
readOnly: true
type: integer
queue_total:
description: 'Role-dependent queue size. Annotators: total tasks in the labeling queue. Reviewers (list/counts): total manually assigned review tasks (same pool as `reviewer_queue_total`). Not the same as `task_number` (all project tasks) or `review_total_tasks` (auto-review stream pool).'
readOnly: true
type: integer
rejected:
description: 'Annotator-only: this user''s annotations rejected by reviewers.'
readOnly: true
type: integer
review_total_tasks:
description: Total tasks in this user's reviewer queue for the project (denominator for personal review progress). Respects review sampling limits when configured. Null for annotators. This is not the project-wide reviewed or pending count; see Analytics KPIs tasks_reviewed and tasks_pending_review for org-level totals.
nullable: true
readOnly: true
type: integer
reviewed_number:
description: 'Tasks this user has reviewed in the project (personal reviewer progress shown on the project card). Includes only reviews created by the authenticated user, so the value can be lower than the project-wide reviewed total when multiple reviewers participate. Null for annotators. For all reviewed tasks in the project, use the Analytics KPI tasks_reviewed: GET /api/analytics/kpis/tasks_reviewed?projects={id}&tz=UTC.'
nullable: true
readOnly: true
type: integer
skipped_annotations_number:
nullable: true
readOnly: true
type: integer
task_number:
description: Total task number in project
readOnly: true
type: integer
total_annotations_number:
readOnly: true
type: integer
total_predictions_number:
readOnly: true
type: integer
useful_annotation_number:
nullable: true
readOnly: true
type: integer
required:
- finished_task_number
- ground_truth_number
- id
- num_tasks_with_annotations
- queue_done
- queue_left
- queue_total
- rejected
- review_total_tasks
- reviewed_number
- skipped_annotations_number
- task_number
- total_annotations_number
- total_predictions_number
- useful_annotation_number
type: object
LseProjectCreate:
description: |-
Serializer get numbers from project queryset annotation,
make sure, that you use correct one(Project.objects.with_counts())
properties:
annotator_evaluation_enabled:
description: Enable annotator evaluation for the project
type: boolean
collection_mode:
allOf:
- $ref: '#/components/schemas/CollectionModeEnum'
description: |-
Data Collection project mode (assigned or open). Set only at creation; immutable afterwards. Requires use_custom_interface.
* `assigned` - Assigned
* `open` - Open
nullable: true
color:
maxLength: 16
nullable: true
type: string
config_has_control_tags:
description: Flag to detect is project ready for labeling
readOnly: true
type: boolean
config_suitable_for_bulk_annotation:
description: Flag to detect is project ready for bulk annotation
readOnly: true
type: boolean
control_weights:
additionalProperties:
$ref: '#/components/schemas/ControlTagWeight'
description: Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight.
nullable: true
type: object
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
description: Project owner
custom_interface_code:
nullable: true
type: string
custom_interface_compiled:
nullable: true
type: string
custom_interface_params:
nullable: true
description:
description: Description (Public)
nullable: true
type: string
dm_column_defaults:
additionalProperties: false
description: Soft Data Manager column visibility and order defaults. Returned on project reads for every role so Data Manager can apply them at runtime; Managers and above may set this. explore is the main grid (shared order, role-keyed visible lists). labeling is reserved for independent Quick View defaults. On update, omitted surfaces keep their stored values; send null to clear both surfaces.
nullable: true
properties:
explore:
additionalProperties: false
description: Main Data Manager grid.
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
labeling:
additionalProperties: false
description: Quick View (reserved).
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
type: object
enable_empty_annotation:
description: Allow annotators to submit empty annotations
type: boolean
evaluate_predictions_automatically:
description: Retrieve and display predictions when loading a task
type: boolean
expert_instruction:
description: Labeling instructions in HTML format
nullable: true
type: string
finished_task_number:
description: Finished tasks
readOnly: true
type: integer
ground_truth_number:
description: Honeypot annotation number in project
readOnly: true
type: integer
id:
readOnly: true
type: integer
input_schema:
nullable: true
internal_description:
description: Description (Internal)
nullable: true
is_draft:
description: Whether or not the project is in the middle of being created
type: boolean
is_published:
description: Whether or not the project is published to annotators
title: Published
type: boolean
label_config:
description: Label config in XML format. See more about it in documentation
nullable: true
type: string
maximum_annotations:
description: Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True)
maximum: 2147483647
minimum: -2147483648
title: Maximum annotation number
type: integer
min_annotations_to_start_training:
description: Minimum number of completed tasks after which model training is started
maximum: 2147483647
minimum: -2147483648
type: integer
model_version:
description: Machine learning model version
nullable: true
type: string
num_tasks_with_annotations:
description: Tasks with annotations count
readOnly: true
type: integer
organization:
nullable: true
type: integer
output_schema:
nullable: true
overlap_cohort_percentage:
maximum: 2147483647
minimum: -2147483648
type: integer
parsed_label_config:
additionalProperties: true
description: JSON-formatted labeling configuration
readOnly: true
type: object
pinned_at:
description: Pinned date and time
format: date-time
nullable: true
type: string
queue_done:
readOnly: true
type: integer
queue_total:
readOnly: true
type: integer
reveal_preannotations_interactively:
description: Reveal pre-annotations interactively
type: boolean
sampling:
allOf:
- $ref: '#/components/schemas/ProjectSamplingEnum'
nullable: true
show_annotation_history:
description: Show annotation history to annotator
type: boolean
show_collab_predictions:
description: If set, the annotator can view model predictions
title: Show predictions to annotator
type: boolean
show_ground_truth_first:
deprecated: true
description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream'
type: boolean
show_instruction:
description: Show instructions to the annotator before they start
type: boolean
show_overlap_first:
type: boolean
show_skip_button:
description: Show a skip button in interface and allow annotators to skip the task
type: boolean
skip_queue:
allOf:
- $ref: '#/components/schemas/SkipQueueEnum'
nullable: true
skipped_annotations_number:
description: Skipped by collaborators annotation number in project
readOnly: true
type: integer
source_interface_id:
nullable: true
type: integer
source_interface_version:
description: Stable version ID of the saved interface used to create this project.
nullable: true
type: integer
start_training_on_annotation_update:
description: Start model training after any annotations are submitted or updated
readOnly: true
type: boolean
state:
readOnly: true
type: string
task_data_login:
description: 'Task data credentials: login'
maxLength: 256
nullable: true
type: string
task_data_password:
description: 'Task data credentials: password'
maxLength: 256
nullable: true
type: string
task_number:
description: Total task number in project
readOnly: true
type: integer
title:
description: Project Title
maxLength: 50
minLength: 3
nullable: true
type: string
total_annotations_number:
description: Total annotations number in project including skipped_annotations_number and ground_truth_number.
readOnly: true
type: integer
total_predictions_number:
description: Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
readOnly: true
type: integer
use_custom_interface:
default: false
type: boolean
useful_annotation_number:
description: Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
readOnly: true
type: integer
workspace:
description: In Workspace
type: integer
required:
- config_has_control_tags
- config_suitable_for_bulk_annotation
- created_at
- finished_task_number
- ground_truth_number
- id
- num_tasks_with_annotations
- parsed_label_config
- queue_done
- queue_total
- skipped_annotations_number
- start_training_on_annotation_update
- state
- task_number
- total_annotations_number
- total_predictions_number
- useful_annotation_number
type: object
LseProjectCreateRequest:
description: |-
Serializer get numbers from project queryset annotation,
make sure, that you use correct one(Project.objects.with_counts())
properties:
annotator_evaluation_enabled:
description: Enable annotator evaluation for the project
type: boolean
collection_mode:
allOf:
- $ref: '#/components/schemas/CollectionModeEnum'
description: |-
Data Collection project mode (assigned or open). Set only at creation; immutable afterwards. Requires use_custom_interface.
* `assigned` - Assigned
* `open` - Open
nullable: true
color:
maxLength: 16
nullable: true
type: string
control_weights:
additionalProperties:
$ref: '#/components/schemas/ControlTagWeightRequest'
description: Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight.
nullable: true
type: object
created_by:
allOf:
- $ref: '#/components/schemas/UserSimpleRequest'
description: Project owner
custom_interface_code:
nullable: true
type: string
custom_interface_compiled:
nullable: true
type: string
custom_interface_params:
nullable: true
description:
description: Description (Public)
nullable: true
type: string
dm_column_defaults:
additionalProperties: false
description: Soft Data Manager column visibility and order defaults. Returned on project reads for every role so Data Manager can apply them at runtime; Managers and above may set this. explore is the main grid (shared order, role-keyed visible lists). labeling is reserved for independent Quick View defaults. On update, omitted surfaces keep their stored values; send null to clear both surfaces.
nullable: true
properties:
explore:
additionalProperties: false
description: Main Data Manager grid.
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
labeling:
additionalProperties: false
description: Quick View (reserved).
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
type: object
enable_empty_annotation:
description: Allow annotators to submit empty annotations
type: boolean
evaluate_predictions_automatically:
description: Retrieve and display predictions when loading a task
type: boolean
expert_instruction:
description: Labeling instructions in HTML format
nullable: true
type: string
input_schema:
nullable: true
internal_description:
description: Description (Internal)
nullable: true
is_draft:
description: Whether or not the project is in the middle of being created
type: boolean
is_published:
description: Whether or not the project is published to annotators
title: Published
type: boolean
label_config:
description: Label config in XML format. See more about it in documentation
nullable: true
type: string
maximum_annotations:
description: Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True)
maximum: 2147483647
minimum: -2147483648
title: Maximum annotation number
type: integer
min_annotations_to_start_training:
description: Minimum number of completed tasks after which model training is started
maximum: 2147483647
minimum: -2147483648
type: integer
model_version:
description: Machine learning model version
nullable: true
type: string
organization:
nullable: true
type: integer
output_schema:
nullable: true
overlap_cohort_percentage:
maximum: 2147483647
minimum: -2147483648
type: integer
pinned_at:
description: Pinned date and time
format: date-time
nullable: true
type: string
reveal_preannotations_interactively:
description: Reveal pre-annotations interactively
type: boolean
sampling:
allOf:
- $ref: '#/components/schemas/ProjectSamplingEnum'
nullable: true
show_annotation_history:
description: Show annotation history to annotator
type: boolean
show_collab_predictions:
description: If set, the annotator can view model predictions
title: Show predictions to annotator
type: boolean
show_ground_truth_first:
deprecated: true
description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream'
type: boolean
show_instruction:
description: Show instructions to the annotator before they start
type: boolean
show_overlap_first:
type: boolean
show_skip_button:
description: Show a skip button in interface and allow annotators to skip the task
type: boolean
skip_queue:
allOf:
- $ref: '#/components/schemas/SkipQueueEnum'
nullable: true
source_interface_id:
nullable: true
type: integer
source_interface_version:
description: Stable version ID of the saved interface used to create this project.
nullable: true
type: integer
task_data_login:
description: 'Task data credentials: login'
maxLength: 256
nullable: true
type: string
task_data_password:
description: 'Task data credentials: password'
maxLength: 256
nullable: true
type: string
title:
description: Project Title
maxLength: 50
minLength: 3
nullable: true
type: string
use_custom_interface:
default: false
type: boolean
workspace:
description: In Workspace
type: integer
type: object
LseProjectParams:
properties:
annotator_params:
additionalProperties:
format: double
maximum: 1
minimum: 0
type: number
description: 'User ID and user weight in score calculation. Format {user_id: weight} with weight in [0..1].'
nullable: true
type: object
use_kappa:
description: If categorical variables are used in labeling (e.g. choices), Cohen's Kappa statistic is computed to measure inter-rater reliability instead of basic agreement
type: boolean
type: object
LseProjectParamsRequest:
properties:
annotator_params:
additionalProperties:
format: double
maximum: 1
minimum: 0
type: number
description: 'User ID and user weight in score calculation. Format {user_id: weight} with weight in [0..1].'
nullable: true
type: object
use_kappa:
description: If categorical variables are used in labeling (e.g. choices), Cohen's Kappa statistic is computed to measure inter-rater reliability instead of basic agreement
type: boolean
type: object
LseProjectResponse:
description: Serializer for project response, combining all the serializers for different roles. Don't use it except for Spectacular/Fern definitions.
properties:
agreement_methodology:
allOf:
- $ref: '#/components/schemas/AgreementMethodologyEnum'
default: pairwise
description: |-
Methodology (Consensus / Pairwise Averaging)
* `consensus` - Consensus
* `pairwise` - Pairwise Averaging
agreement_threshold:
description: Agreement threshold
format: decimal
nullable: true
pattern: ^-?\d{0,1}(?:\.\d{0,2})?$
type: string
allow_stream:
readOnly: true
type: boolean
annotation_limit_count:
description: Limit by number of tasks
minimum: 1
nullable: true
type: integer
annotation_limit_percent:
description: Limit by percentage of tasks
format: decimal
nullable: true
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
annotator_evaluation_continuous_tasks:
default: 0
description: 'Continuous Evaluation: Required tasks'
minimum: 0
type: integer
annotator_evaluation_enabled:
description: Evaluate all annotators against ground truth
type: boolean
annotator_evaluation_metric:
allOf:
- $ref: '#/components/schemas/AnnotatorEvaluationMetricEnum'
default: gt_agreement
description: |-
Metric used to evaluate annotators. Defaults to gt_agreement.
* `gt_agreement` - Ground truth agreement
* `acceptance_score` - Acceptance score
* `rejection_rate` - Rejection rate
nullable: true
annotator_evaluation_minimum_score:
default: '95.00'
description: Score required to pass evaluation
format: decimal
nullable: true
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
annotator_evaluation_minimum_tasks:
default: 10
description: Number of tasks for evaluation
minimum: 0
nullable: true
type: integer
annotator_evaluation_onboarding_tasks:
default: 0
description: 'Onboarding Evaluation: Required tasks'
minimum: 0
type: integer
assignment_settings:
$ref: '#/components/schemas/AssignmentSettings'
collection_mode:
description: Data Collection project mode (assigned/open); null for non-collection projects. Set at creation only.
nullable: true
readOnly: true
type: string
color:
description: Color
maxLength: 16
nullable: true
type: string
comment_classification_config:
type: string
config_has_control_tags:
description: Flag to detect is project ready for labeling
readOnly: true
type: boolean
config_suitable_for_bulk_annotation:
description: Flag to detect is project ready for bulk annotation
readOnly: true
type: boolean
control_weights:
additionalProperties:
$ref: '#/components/schemas/ControlTagWeight'
description: Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight.
nullable: true
type: object
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
description: Project owner
custom_interface_code:
nullable: true
type: string
custom_interface_compiled:
nullable: true
type: string
custom_interface_params:
nullable: true
custom_script:
description: Plugins
type: string
custom_task_lock_ttl:
description: Task reservation time. TTL in seconds (UI displays and edits this value in minutes).
maximum: 86400
minimum: 1
nullable: true
type: integer
data_types:
additionalProperties: true
nullable: true
readOnly: true
type: object
description:
description: Description (Public)
nullable: true
type: string
dm_column_defaults:
additionalProperties: false
description: Soft Data Manager column visibility and order defaults. Returned on project reads for every role so Data Manager can apply them at runtime; Managers and above may set this. explore is the main grid (shared order, role-keyed visible lists). labeling is reserved for independent Quick View defaults. On update, omitted surfaces keep their stored values; send null to clear both surfaces.
nullable: true
properties:
explore:
additionalProperties: false
description: Main Data Manager grid.
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
labeling:
additionalProperties: false
description: Quick View (reserved).
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
type: object
duplication_done:
default: false
type: boolean
duplication_status:
type: string
enable_empty_annotation:
description: Allow empty annotations
type: boolean
evaluate_predictions_automatically:
description: Retrieve and display predictions when loading a task
type: boolean
expert_instruction:
description: Instructions
nullable: true
type: string
finished_task_number:
description: Finished tasks
readOnly: true
type: integer
ground_truth_number:
description: Honeypot annotation number in project
readOnly: true
type: integer
id:
readOnly: true
type: integer
input_schema:
nullable: true
internal_description:
description: Description (Internal)
items: {}
nullable: true
readOnly: true
type: array
is_dimensions_enabled:
readOnly: true
type: boolean
is_draft:
description: Whether or not the project is in the middle of being created
type: boolean
is_published:
description: Whether or not the project is published to annotators
title: Published
type: boolean
label_config:
description: Labeling Configuration
nullable: true
type: string
max_additional_annotators_assignable:
description: Maximum additional annotators
nullable: true
type: integer
maximum_annotations:
description: Annotations per task
maximum: 2147483647
minimum: -2147483648
title: Maximum annotation number
type: integer
members:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
members_count:
readOnly: true
type: integer
min_annotations_to_start_training:
description: Minimum number of completed tasks after which model training is started
maximum: 2147483647
minimum: -2147483648
type: integer
model_version:
description: Machine learning model version
nullable: true
type: string
num_tasks_with_annotations:
description: Tasks with at least one annotation. For annotators, counts only tasks this user annotated; for other roles, counts project-wide. For analytics, use annotated_tasks or related KPIs with explicit project/member filters.
readOnly: true
type: integer
organization:
nullable: true
type: integer
output_schema:
nullable: true
overlap_cohort_percentage:
description: Annotations per task coverage
maximum: 2147483647
minimum: -2147483648
type: integer
parsed_label_config:
additionalProperties: true
description: JSON-formatted labeling configuration
readOnly: true
type: object
pause_on_failed_annotator_evaluation:
default: false
description: Pause annotator on failed evaluation
nullable: true
type: boolean
permissions:
items:
type: string
readOnly: true
type: array
pinned_at:
description: Pinned date and time
format: date-time
nullable: true
type: string
prompts:
items:
additionalProperties: {}
type: object
nullable: true
readOnly: true
type: array
queue_done:
description: 'Annotator-only: tasks this user has completed in the labeling queue for the project.'
readOnly: true
type: integer
queue_left:
description: 'Reviewer-only: remaining tasks in this user''s manually assigned review queue. Returns 0 when no manual assignments apply; the project card then uses `review_total_tasks` and `reviewed_number` for auto-review progress. Not the same as the project-wide `tasks_pending_review` KPI.'
nullable: true
readOnly: true
type: integer
queue_total:
description: 'Role-dependent queue size. Annotators: total tasks in the labeling queue. Reviewers (list/counts): total manually assigned review tasks (same pool as `reviewer_queue_total`). Not the same as `task_number` (all project tasks) or `review_total_tasks` (auto-review stream pool).'
readOnly: true
type: integer
ready:
readOnly: true
type: boolean
rejected:
description: 'Annotator-only: this user''s annotations rejected by reviewers.'
readOnly: true
type: integer
require_comment_on_skip:
default: false
description: Require comment to skip
type: boolean
reveal_preannotations_interactively:
description: Reveal pre-annotations interactively
type: boolean
review_settings:
$ref: '#/components/schemas/ReviewSettings'
review_total_tasks:
description: Total tasks in this user's reviewer queue for the project (denominator for personal review progress). Respects review sampling limits when configured. Null for annotators. This is not the project-wide reviewed or pending count; see Analytics KPIs tasks_reviewed and tasks_pending_review for org-level totals.
nullable: true
readOnly: true
type: integer
reviewed_number:
description: 'Tasks this user has reviewed in the project (personal reviewer progress shown on the project card). Includes only reviews created by the authenticated user, so the value can be lower than the project-wide reviewed total when multiple reviewers participate. Null for annotators. For all reviewed tasks in the project, use the Analytics KPI tasks_reviewed: GET /api/analytics/kpis/tasks_reviewed?projects={id}&tz=UTC.'
nullable: true
readOnly: true
type: integer
reviewer_queue_total:
description: Tasks manually assigned to this user for review (`reviewer_queue_total_count`). Null for annotators.
nullable: true
readOnly: true
type: integer
sampling:
allOf:
- $ref: '#/components/schemas/ProjectSamplingEnum'
nullable: true
show_annotation_history:
description: Show Data Manager to Annotators
type: boolean
show_collab_predictions:
description: Use predictions to pre-label Tasks
title: Show predictions to annotator
type: boolean
show_ground_truth_first:
deprecated: true
description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream'
type: boolean
show_instruction:
description: Show instructions before labeling
type: boolean
show_overlap_first:
description: Show tasks with overlap first
type: boolean
show_skip_button:
description: Allow skipping tasks
type: boolean
show_unused_data_columns_to_annotators:
description: 'Show only columns used in labeling configuration to Annotators. API uses inverse field semantics here: set false to show only used columns, set true to show all task.data columns.'
nullable: true
type: boolean
skip_queue:
allOf:
- $ref: '#/components/schemas/SkipQueueEnum'
nullable: true
skipped_annotations_number:
readOnly: true
type: integer
source_interface_id:
nullable: true
type: integer
source_interface_version:
description: Stable version ID of the saved interface snapshot used by this project.
nullable: true
type: integer
start_training_on_annotation_update:
description: Start model training after any annotations are submitted or updated
readOnly: true
type: boolean
state:
readOnly: true
type: string
strict_task_overlap:
default: true
description: Enforce strict overlap limit
type: boolean
task_data_login:
description: Login
maxLength: 256
nullable: true
type: string
task_data_password:
description: Password
maxLength: 256
nullable: true
type: string
task_number:
description: Total task number in project
readOnly: true
type: integer
title:
description: Project Name
maxLength: 50
minLength: 3
nullable: true
type: string
total_annotations_number:
readOnly: true
type: integer
total_predictions_number:
nullable: true
readOnly: true
type: integer
use_custom_interface:
default: false
type: boolean
useful_annotation_number:
nullable: true
readOnly: true
type: integer
workspace:
readOnly: true
type: integer
workspace_title:
nullable: true
readOnly: true
type: string
required:
- allow_stream
- assignment_settings
- collection_mode
- config_has_control_tags
- config_suitable_for_bulk_annotation
- created_at
- data_types
- finished_task_number
- ground_truth_number
- id
- internal_description
- is_dimensions_enabled
- members
- members_count
- num_tasks_with_annotations
- parsed_label_config
- permissions
- prompts
- queue_done
- queue_left
- queue_total
- ready
- rejected
- review_settings
- review_total_tasks
- reviewed_number
- reviewer_queue_total
- skipped_annotations_number
- start_training_on_annotation_update
- state
- task_number
- total_annotations_number
- total_predictions_number
- useful_annotation_number
- workspace
- workspace_title
type: object
LseProjectStateResponse:
properties:
annotation_count:
type: integer
can_delete_tasks:
type: boolean
can_manage_annotations:
type: boolean
can_manage_tasks:
type: boolean
config_has_control_tags:
type: boolean
source_syncing:
type: boolean
target_syncing:
type: boolean
task_count:
type: integer
required:
- annotation_count
- can_delete_tasks
- can_manage_annotations
- can_manage_tasks
- config_has_control_tags
- source_syncing
- target_syncing
- task_count
type: object
LseS3ExportStorage:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
external_id:
description: AWS ExternalId
nullable: true
title: ExternalID
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
legacy_auth:
nullable: true
type: boolean
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
role_arn:
description: AWS RoleArn
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: s3s
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- role_arn
- type
type: object
LseS3ExportStorageRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
external_id:
description: AWS ExternalId
nullable: true
title: ExternalID
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
legacy_auth:
nullable: true
type: boolean
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
role_arn:
description: AWS RoleArn
minLength: 1
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
- role_arn
type: object
LseS3ImportStorage:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
external_id:
description: AWS ExternalId
nullable: true
title: ExternalID
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
legacy_auth:
nullable: true
type: boolean
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
role_arn:
description: AWS RoleArn
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: s3s
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- role_arn
- type
type: object
LseS3ImportStorageRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
external_id:
description: AWS ExternalId
nullable: true
title: ExternalID
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
legacy_auth:
nullable: true
type: boolean
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
role_arn:
description: AWS RoleArn
minLength: 1
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
- role_arn
type: object
LseTask:
description: Data Manager Task Serializer with FSM state support.
properties:
agreement:
format: double
readOnly: true
type: number
agreement_selected:
format: double
readOnly: true
type: number
allow_skip:
description: Whether this task can be skipped. Set to False to make task unskippable.
nullable: true
type: boolean
annotation_time:
nullable: true
readOnly: true
type: integer
annotations:
description: |-
Return annotations for the task.
If annotations_stub=True is in context (via feature flag
fflag_fix_all_fit_720_lazy_load_annotations), returns lightweight
annotation stubs without result data for improved performance.
items:
additionalProperties: {}
type: object
readOnly: true
type: array
annotations_ids:
readOnly: true
type: string
annotations_results:
readOnly: true
type: string
annotators:
description: Who annotated this task; each item includes user_id plus minimal profile fields for Data Manager display.
items:
title: Annotator
type: object
readOnly: true
title: Annotators
type: array
annotators_count:
description: The annotators_count is calculated as the number of users with annotations (can be repeated, so same as the number of annotations) + the number of assignees without annotations.
readOnly: true
type: integer
avg_lead_time:
format: double
type: number
cancelled_annotations:
type: integer
comment_authors:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
comment_authors_count:
readOnly: true
type: integer
comment_count:
description: Number of comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
comments:
readOnly: true
type: string
completed_at:
format: date-time
type: string
created_at:
description: Time a task was created
format: date-time
readOnly: true
type: string
data:
additionalProperties: {}
description: User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI.
type: object
draft_exists:
type: boolean
drafts:
description: Drafts for this task
items:
properties:
created_at:
format: date-time
title: Creation time
type: string
result:
items:
title: Draft result item
type: object
title: Draft result
type: array
updated_at:
format: date-time
title: Last update time
type: string
title: Draft object
type: object
readOnly: true
title: Annotation drafts
type: array
file_upload:
nullable: true
readOnly: true
type: string
ground_truth:
type: boolean
id:
readOnly: true
type: integer
inner_id:
type: integer
is_labeled:
description: True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project
type: boolean
last_comment_updated_at:
description: When the last comment was updated
format: date-time
nullable: true
type: string
meta:
description: Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps.
nullable: true
overlap:
description: Number of distinct annotators that processed the current task
maximum: 2147483647
minimum: -2147483648
type: integer
precomputed_agreement:
description: Average agreement score for the task
format: double
nullable: true
type: number
predictions:
description: Predictions for this task
items:
properties:
created_at:
format: date-time
title: Creation time
type: string
model:
title: ML Backend instance
type: object
model_run:
title: Model Run instance
type: object
model_version:
title: Model version
type: string
project:
title: Project ID related to the prediction
type: integer
result:
items:
title: Prediction result item
type: object
title: Prediction result
type: array
score:
title: Prediction score
type: number
task:
title: Task ID related to the prediction
type: integer
updated_at:
format: date-time
title: Last update time
type: string
title: Prediction object
type: object
readOnly: true
title: Predictions
type: array
predictions_model_versions:
readOnly: true
type: string
predictions_results:
readOnly: true
type: string
predictions_score:
format: double
type: number
project:
description: Project ID for this task
nullable: true
type: integer
review_time:
nullable: true
readOnly: true
type: integer
reviewed:
type: boolean
reviewed_at:
format: date-time
nullable: true
type: string
reviewers:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
reviewers_count:
readOnly: true
type: integer
reviews_accepted:
type: integer
reviews_rejected:
type: integer
state:
readOnly: true
type: string
storage_filename:
nullable: true
readOnly: true
type: string
submission:
additionalProperties: {}
description: |-
The contributor's own submitted file, for the collection grid.
Read from the annotation (the submission's source of truth); the task
itself is untouched input.
Scoped to the requester, exactly as ``get_annotations`` scopes the
annotation list: a contributor sees the file they submitted and never
another contributor's media. The column is only offered to annotators,
so this is also the only case that renders.
nullable: true
readOnly: true
type: object
total_annotations:
type: integer
total_predictions:
type: integer
unresolved_comment_count:
description: Number of unresolved comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
updated_at:
description: Last time a task was updated
format: date-time
readOnly: true
type: string
updated_by:
description: User IDs who updated this task
items:
title: User IDs
type: object
readOnly: true
title: User IDs
type: array
required:
- agreement
- agreement_selected
- annotation_time
- annotations
- annotations_ids
- annotations_results
- annotators
- annotators_count
- comment_authors
- comment_authors_count
- comments
- created_at
- data
- drafts
- file_upload
- id
- predictions
- predictions_model_versions
- predictions_results
- review_time
- reviewers
- reviewers_count
- state
- storage_filename
- submission
- updated_at
- updated_by
type: object
LseTaskFilterOptions:
properties:
annotated:
allOf:
- $ref: '#/components/schemas/DataManagerFilterModeEnum'
description: |-
`only` - include all tasks with at least one not skipped annotation `exclude` - exclude all tasks with at least one not skipped annotation
* `only` - only
* `exclude` - exclude
* `None` - None
nullable: true
finished:
allOf:
- $ref: '#/components/schemas/DataManagerFilterModeEnum'
description: |-
`only` - include all finished tasks (is_labeled = true) `exclude` - exclude all finished tasks
* `only` - only
* `exclude` - exclude
* `None` - None
nullable: true
only_with_annotations:
default: false
type: boolean
reviewed:
allOf:
- $ref: '#/components/schemas/DataManagerFilterModeEnum'
description: |-
`only` - include all reviewed tasks `exclude` - exclude all reviewed tasks
* `only` - only
* `exclude` - exclude
* `None` - None
nullable: true
skipped:
allOf:
- $ref: '#/components/schemas/DataManagerFilterModeEnum'
description: |-
`only` - include all tasks with skipped annotations `exclude` - exclude all tasks with skipped annotations
* `only` - only
* `exclude` - exclude
* `None` - None
nullable: true
view:
description: Apply filters from the view ID (a tab from the Data Manager)
type: integer
type: object
LseTaskFilterOptionsRequest:
properties:
annotated:
allOf:
- $ref: '#/components/schemas/DataManagerFilterModeEnum'
description: |-
`only` - include all tasks with at least one not skipped annotation `exclude` - exclude all tasks with at least one not skipped annotation
* `only` - only
* `exclude` - exclude
* `None` - None
nullable: true
finished:
allOf:
- $ref: '#/components/schemas/DataManagerFilterModeEnum'
description: |-
`only` - include all finished tasks (is_labeled = true) `exclude` - exclude all finished tasks
* `only` - only
* `exclude` - exclude
* `None` - None
nullable: true
only_with_annotations:
default: false
type: boolean
reviewed:
allOf:
- $ref: '#/components/schemas/DataManagerFilterModeEnum'
description: |-
`only` - include all reviewed tasks `exclude` - exclude all reviewed tasks
* `only` - only
* `exclude` - exclude
* `None` - None
nullable: true
skipped:
allOf:
- $ref: '#/components/schemas/DataManagerFilterModeEnum'
description: |-
`only` - include all tasks with skipped annotations `exclude` - exclude all tasks with skipped annotations
* `only` - only
* `exclude` - exclude
* `None` - None
nullable: true
view:
description: Apply filters from the view ID (a tab from the Data Manager)
type: integer
type: object
LseTaskRequest:
description: Task Serializer with project scheme configs validation
properties:
allow_skip:
description: Whether this task can be skipped. Set to False to make task unskippable.
nullable: true
type: boolean
cancelled_annotations:
description: Number of total cancelled annotations for the current task
maximum: 2147483647
minimum: -2147483648
type: integer
comment_authors:
description: Users who wrote comments
items:
type: integer
type: array
comment_count:
description: Number of comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
data:
additionalProperties: {}
description: User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI.
type: object
file_upload:
description: Uploaded file used as data source for this task
nullable: true
type: integer
inner_id:
description: Internal task ID in the project, starts with 1
format: int64
maximum: 9223372036854775807
minimum: -9223372036854775808
nullable: true
type: integer
is_labeled:
description: True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project
type: boolean
last_comment_updated_at:
description: When the last comment was updated
format: date-time
nullable: true
type: string
meta:
description: Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps.
nullable: true
overlap:
description: Number of distinct annotators that processed the current task
maximum: 2147483647
minimum: -2147483648
type: integer
project:
description: Project ID for this task
nullable: true
type: integer
total_annotations:
description: Number of total annotations for the current task except cancelled annotations
maximum: 2147483647
minimum: -2147483648
type: integer
total_predictions:
description: Number of total predictions for the current task
maximum: 2147483647
minimum: -2147483648
type: integer
unresolved_comment_count:
description: Number of unresolved comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
updated_by:
description: Last annotator or reviewer who updated this task
nullable: true
type: integer
required:
- data
type: object
LseTaskSerializerForAnnotators:
description: Data Manager Task Serializer with FSM state support.
properties:
annotations:
default: []
description: |-
Return annotations for the task.
If annotations_stub=True is in context (via feature flag
fflag_fix_all_fit_720_lazy_load_annotations), returns lightweight
annotation stubs without result data for improved performance.
items:
additionalProperties: {}
type: object
readOnly: true
type: array
annotations_results:
readOnly: true
type: string
cancelled_annotations:
type: integer
comment_count:
readOnly: true
type: integer
comments:
readOnly: true
type: string
created_at:
description: Time a task was created
format: date-time
readOnly: true
type: string
data:
additionalProperties: {}
description: User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI.
type: object
draft_exists:
type: boolean
drafts:
description: Drafts for this task
items:
properties:
created_at:
format: date-time
title: Creation time
type: string
result:
items:
title: Draft result item
type: object
title: Draft result
type: array
updated_at:
format: date-time
title: Last update time
type: string
title: Draft object
type: object
readOnly: true
title: Annotation drafts
type: array
id:
readOnly: true
type: integer
predictions:
description: Predictions for this task
items:
properties:
created_at:
format: date-time
title: Creation time
type: string
model:
title: ML Backend instance
type: object
model_run:
title: Model Run instance
type: object
model_version:
title: Model version
type: string
project:
title: Project ID related to the prediction
type: integer
result:
items:
title: Prediction result item
type: object
title: Prediction result
type: array
score:
title: Prediction score
type: number
task:
title: Task ID related to the prediction
type: integer
updated_at:
format: date-time
title: Last update time
type: string
title: Prediction object
type: object
readOnly: true
title: Predictions
type: array
predictions_results:
readOnly: true
type: string
predictions_score:
format: double
type: number
reviews_rejected:
type: integer
state:
readOnly: true
type: string
submission:
additionalProperties: {}
description: |-
The contributor's own submitted file, for the collection grid.
Read from the annotation (the submission's source of truth); the task
itself is untouched input.
Scoped to the requester, exactly as ``get_annotations`` scopes the
annotation list: a contributor sees the file they submitted and never
another contributor's media. The column is only offered to annotators,
so this is also the only case that renders.
nullable: true
readOnly: true
type: object
total_annotations:
type: integer
total_predictions:
type: integer
unresolved_comment_count:
readOnly: true
type: integer
required:
- annotations
- annotations_results
- comment_count
- comments
- created_at
- data
- drafts
- id
- predictions
- predictions_results
- state
- submission
- unresolved_comment_count
type: object
LseTaskSerializerForReviewers:
description: Data Manager Task Serializer with FSM state support.
properties:
agreement:
format: double
readOnly: true
type: number
agreement_selected:
format: double
readOnly: true
type: number
allow_skip:
description: Whether this task can be skipped. Set to False to make task unskippable.
nullable: true
type: boolean
annotation_time:
nullable: true
readOnly: true
type: integer
annotations:
description: |-
Return annotations for the task.
If annotations_stub=True is in context (via feature flag
fflag_fix_all_fit_720_lazy_load_annotations), returns lightweight
annotation stubs without result data for improved performance.
items:
additionalProperties: {}
type: object
readOnly: true
type: array
annotations_ids:
readOnly: true
type: string
annotations_results:
readOnly: true
type: string
annotators:
description: Who annotated this task; each item includes user_id plus minimal profile fields for Data Manager display.
items:
title: Annotator
type: object
readOnly: true
title: Annotators
type: array
annotators_count:
description: The annotators_count is calculated as the number of users with annotations (can be repeated, so same as the number of annotations) + the number of assignees without annotations.
readOnly: true
type: integer
avg_lead_time:
format: double
type: number
cancelled_annotations:
type: integer
comment_authors:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
comment_authors_count:
readOnly: true
type: integer
comment_count:
description: Number of comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
comments:
readOnly: true
type: string
completed_at:
format: date-time
type: string
created_at:
description: Time a task was created
format: date-time
readOnly: true
type: string
data:
additionalProperties: {}
description: User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI.
type: object
draft_exists:
type: boolean
drafts:
description: Drafts for this task
items:
properties:
created_at:
format: date-time
title: Creation time
type: string
result:
items:
title: Draft result item
type: object
title: Draft result
type: array
updated_at:
format: date-time
title: Last update time
type: string
title: Draft object
type: object
readOnly: true
title: Annotation drafts
type: array
file_upload:
nullable: true
readOnly: true
type: string
ground_truth:
type: boolean
id:
readOnly: true
type: integer
inner_id:
type: integer
is_labeled:
description: True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project
type: boolean
last_comment_updated_at:
description: When the last comment was updated
format: date-time
nullable: true
type: string
meta:
description: Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps.
nullable: true
overlap:
description: Number of distinct annotators that processed the current task
maximum: 2147483647
minimum: -2147483648
type: integer
precomputed_agreement:
description: Average agreement score for the task
format: double
nullable: true
type: number
predictions:
description: Predictions for this task
items:
properties:
created_at:
format: date-time
title: Creation time
type: string
model:
title: ML Backend instance
type: object
model_run:
title: Model Run instance
type: object
model_version:
title: Model version
type: string
project:
title: Project ID related to the prediction
type: integer
result:
items:
title: Prediction result item
type: object
title: Prediction result
type: array
score:
title: Prediction score
type: number
task:
title: Task ID related to the prediction
type: integer
updated_at:
format: date-time
title: Last update time
type: string
title: Prediction object
type: object
readOnly: true
title: Predictions
type: array
predictions_model_versions:
readOnly: true
type: string
predictions_results:
readOnly: true
type: string
predictions_score:
format: double
type: number
project:
description: Project ID for this task
nullable: true
type: integer
review_time:
nullable: true
readOnly: true
type: integer
reviewed:
type: boolean
reviewed_at:
format: date-time
nullable: true
type: string
reviewers:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
reviewers_count:
readOnly: true
type: integer
reviews_accepted:
type: integer
reviews_rejected:
type: integer
state:
readOnly: true
type: string
storage_filename:
nullable: true
readOnly: true
type: string
submission:
additionalProperties: {}
description: |-
The contributor's own submitted file, for the collection grid.
Read from the annotation (the submission's source of truth); the task
itself is untouched input.
Scoped to the requester, exactly as ``get_annotations`` scopes the
annotation list: a contributor sees the file they submitted and never
another contributor's media. The column is only offered to annotators,
so this is also the only case that renders.
nullable: true
readOnly: true
type: object
total_annotations:
type: integer
total_predictions:
type: integer
unresolved_comment_count:
description: Number of unresolved comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
updated_at:
description: Last time a task was updated
format: date-time
readOnly: true
type: string
updated_by:
description: User IDs who updated this task
items:
title: User IDs
type: object
readOnly: true
title: User IDs
type: array
required:
- agreement
- agreement_selected
- annotation_time
- annotations
- annotations_ids
- annotations_results
- annotators
- annotators_count
- comment_authors
- comment_authors_count
- comments
- created_at
- data
- drafts
- file_upload
- id
- predictions
- predictions_model_versions
- predictions_results
- review_time
- reviewers
- reviewers_count
- state
- storage_filename
- submission
- updated_at
- updated_by
type: object
LseUser:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
active_organization:
nullable: true
type: integer
active_organization_meta:
additionalProperties:
type: string
readOnly: true
type: object
allow_newsletters:
description: Allow sending newsletters to user
nullable: true
type: boolean
avatar:
nullable: true
readOnly: true
type: string
custom_hotkeys:
description: Custom keyboard shortcuts configuration for the user interface
nullable: true
date_joined:
format: date-time
type: string
email:
format: email
maxLength: 254
title: Email address
type: string
first_name:
maxLength: 256
type: string
id:
readOnly: true
type: integer
initials:
default: '?'
readOnly: true
type: string
last_activity:
format: date-time
nullable: true
readOnly: true
type: string
last_name:
maxLength: 256
type: string
lse_fields:
allOf:
- $ref: '#/components/schemas/LseFields'
readOnly: true
org_membership:
deprecated: true
items:
$ref: '#/components/schemas/OrganizationMembership'
readOnly: true
type: array
organization_membership:
allOf:
- $ref: '#/components/schemas/OrganizationMembership'
readOnly: true
pause:
additionalProperties: {}
nullable: true
readOnly: true
type: object
phone:
maxLength: 256
type: string
username:
maxLength: 256
type: string
required:
- active_organization_meta
- avatar
- id
- initials
- last_activity
- lse_fields
- org_membership
- organization_membership
- pause
- username
type: object
LseUserAPI:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
active_organization:
nullable: true
type: integer
active_organization_meta:
additionalProperties:
type: string
readOnly: true
type: object
allow_newsletters:
description: Allow sending newsletters to user
nullable: true
type: boolean
avatar:
nullable: true
readOnly: true
type: string
custom_hotkeys:
description: Custom keyboard shortcuts configuration for the user interface
nullable: true
date_joined:
format: date-time
type: string
email:
format: email
maxLength: 254
title: Email address
type: string
first_name:
maxLength: 256
type: string
id:
readOnly: true
type: integer
initials:
default: '?'
readOnly: true
type: string
last_activity:
format: date-time
nullable: true
readOnly: true
type: string
last_name:
maxLength: 256
type: string
org_membership:
deprecated: true
items:
$ref: '#/components/schemas/OrganizationMembership'
readOnly: true
type: array
organization_membership:
allOf:
- $ref: '#/components/schemas/OrganizationMembership'
readOnly: true
phone:
maxLength: 256
type: string
username:
maxLength: 256
type: string
required:
- active_organization_meta
- avatar
- id
- initials
- last_activity
- org_membership
- organization_membership
- username
type: object
LseUserOrganizationMemberList:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
active_organization:
nullable: true
type: integer
allow_newsletters:
description: Allow sending newsletters to user
nullable: true
type: boolean
avatar:
nullable: true
readOnly: true
type: string
contributed_to_projects:
deprecated: true
items:
properties:
id:
type: integer
title:
type: string
required:
- id
- title
type: object
nullable: true
readOnly: true
type: array
created_projects:
deprecated: true
items:
properties:
id:
type: integer
title:
type: string
required:
- id
- title
type: object
nullable: true
readOnly: true
type: array
custom_hotkeys:
description: Custom keyboard shortcuts configuration for the user interface
nullable: true
date_joined:
format: date-time
type: string
email:
format: email
maxLength: 254
title: Email address
type: string
first_name:
maxLength: 256
type: string
id:
readOnly: true
type: integer
initials:
default: '?'
readOnly: true
type: string
last_activity:
format: date-time
nullable: true
readOnly: true
type: string
last_name:
maxLength: 256
type: string
lse_fields:
allOf:
- $ref: '#/components/schemas/LseFields'
readOnly: true
pause:
additionalProperties: {}
nullable: true
readOnly: true
type: object
phone:
maxLength: 256
type: string
username:
maxLength: 256
type: string
required:
- avatar
- contributed_to_projects
- created_projects
- id
- initials
- last_activity
- lse_fields
- pause
- username
type: object
LseUserRequest:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
active_organization:
nullable: true
type: integer
allow_newsletters:
description: Allow sending newsletters to user
nullable: true
type: boolean
custom_hotkeys:
description: Custom keyboard shortcuts configuration for the user interface
nullable: true
date_joined:
format: date-time
type: string
email:
format: email
maxLength: 254
title: Email address
type: string
first_name:
maxLength: 256
type: string
last_name:
maxLength: 256
type: string
password:
minLength: 1
type: string
writeOnly: true
phone:
maxLength: 256
type: string
username:
maxLength: 256
minLength: 1
type: string
required:
- username
type: object
MLBackend:
description: Serializer for MLBackend model.
properties:
auth_method:
$ref: '#/components/schemas/AuthMethodEnum'
auto_update:
description: If false, model version is set by the user, if true - getting latest version from backend.
type: boolean
basic_auth_pass_is_set:
readOnly: true
type: boolean
basic_auth_user:
description: HTTP Basic Auth user
nullable: true
type: string
created_at:
format: date-time
readOnly: true
type: string
description:
description: Description for the machine learning backend
nullable: true
type: string
error_message:
description: Error message in error state
nullable: true
type: string
extra_params:
description: Any extra parameters passed to the ML Backend during the setup
nullable: true
id:
readOnly: true
type: integer
is_interactive:
description: Used to interactively annotate tasks. If true, model returns one list with results
type: boolean
model_version:
description: Current model version associated with this machine learning backend
nullable: true
type: string
project:
type: integer
readable_state:
readOnly: true
type: string
state:
$ref: '#/components/schemas/StateEnum'
timeout:
description: Response model timeout
format: double
type: number
title:
description: Name of the machine learning backend
nullable: true
type: string
updated_at:
format: date-time
readOnly: true
type: string
url:
description: URL for the machine learning model server
type: string
required:
- basic_auth_pass_is_set
- created_at
- id
- project
- readable_state
- updated_at
- url
type: object
MLBackendRequest:
description: Serializer for MLBackend model.
properties:
auth_method:
$ref: '#/components/schemas/AuthMethodEnum'
auto_update:
description: If false, model version is set by the user, if true - getting latest version from backend.
type: boolean
basic_auth_pass:
nullable: true
type: string
writeOnly: true
basic_auth_user:
description: HTTP Basic Auth user
nullable: true
type: string
description:
description: Description for the machine learning backend
nullable: true
type: string
error_message:
description: Error message in error state
nullable: true
type: string
extra_params:
description: Any extra parameters passed to the ML Backend during the setup
nullable: true
is_interactive:
description: Used to interactively annotate tasks. If true, model returns one list with results
type: boolean
model_version:
description: Current model version associated with this machine learning backend
nullable: true
type: string
project:
type: integer
state:
$ref: '#/components/schemas/StateEnum'
timeout:
description: Response model timeout
format: double
type: number
title:
description: Name of the machine learning backend
nullable: true
type: string
url:
description: URL for the machine learning model server
minLength: 1
type: string
required:
- project
- url
type: object
MLBackendRequestRequest:
description: OpenAPI/SDK request body for ML backend create/update. Runtime still uses MLBackendSerializer.
properties:
auth_method:
$ref: '#/components/schemas/AuthMethodEnum'
auto_update:
description: If false, model version is set by the user, if true - getting latest version from backend.
type: boolean
basic_auth_pass:
nullable: true
type: string
writeOnly: true
basic_auth_user:
description: HTTP Basic Auth user
nullable: true
type: string
description:
description: Description for the machine learning backend
nullable: true
type: string
extra_params:
description: Any extra parameters passed to the ML Backend during the setup
nullable: true
is_interactive:
description: Used to interactively annotate tasks. If true, model returns one list with results
type: boolean
model_version:
description: Current model version associated with this machine learning backend
nullable: true
type: string
project:
type: integer
timeout:
description: Response model timeout
format: double
type: number
title:
description: Name of the machine learning backend
nullable: true
type: string
url:
description: URL for the machine learning model server
minLength: 1
type: string
required:
- project
- url
type: object
MLBackendTrainRequestRequest:
properties:
use_ground_truth:
default: false
description: Whether to include ground truth annotations in training
type: boolean
type: object
MLInteractiveAnnotatingRequestRequest:
description: Serializer for ML interactive annotating request.
properties:
context:
description: Context for ML model
nullable: true
task:
description: ID of task to annotate
type: integer
required:
- task
type: object
MappingStatusEnum:
description: |-
* `configured` - Configured
* `orphaned` - Orphaned
* `missing_membership` - Missing membership
enum:
- configured
- orphaned
- missing_membership
type: string
MaybeExpandedComment:
oneOf:
- $ref: '#/components/schemas/Comment'
- $ref: '#/components/schemas/CommentSerializerWithExpandedUser'
MetricParam:
properties:
agreement_threshold:
deprecated: true
nullable: true
readOnly: true
type: integer
allowed:
readOnly: true
type: boolean
max_additional_annotators_assignable:
deprecated: true
description: Maximum number of additional annotators that can be assigned to a low agreement task
maximum: 2147483647
minimum: -2147483648
nullable: true
title: Maximum new annotators added
type: integer
metric_name:
description: Evaluation metric chosen for this project
nullable: true
type: string
metric_params:
nullable: true
required:
- agreement_threshold
- allowed
type: object
MetricParamUpdateRequest:
properties:
additional_params:
additionalProperties: {}
description: Agreement metric parameters
nullable: true
type: object
agreement_threshold:
deprecated: true
maximum: 100
minimum: 0
type: integer
max_additional_annotators_assignable:
deprecated: true
minimum: 0
type: integer
metric_name:
description: Agreement metric
minLength: 1
type: string
type: object
ModelInterface:
properties:
associated_projects:
items:
type: integer
type: array
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
description: User who created Dataset
description:
description: Model description
nullable: true
type: string
id:
readOnly: true
type: integer
input_fields: {}
organization:
nullable: true
type: integer
output_classes: {}
skill_name:
allOf:
- $ref: '#/components/schemas/SkillNameEnum'
default: TextClassification
title:
description: Model name
maxLength: 500
type: string
updated_at:
format: date-time
readOnly: true
type: string
required:
- created_at
- id
- title
- updated_at
type: object
ModelInterfaceRequest:
properties:
associated_projects:
items:
type: integer
type: array
created_by:
allOf:
- $ref: '#/components/schemas/UserSimpleRequest'
description: User who created Dataset
description:
description: Model description
nullable: true
type: string
input_fields: {}
organization:
nullable: true
type: integer
output_classes: {}
skill_name:
allOf:
- $ref: '#/components/schemas/SkillNameEnum'
default: TextClassification
title:
description: Model name
maxLength: 500
minLength: 1
type: string
required:
- title
type: object
ModelInterfaceSerializerGET:
properties:
associated_projects:
default: []
items:
$ref: '#/components/schemas/AssociatedProject'
type: array
best_score:
format: double
nullable: true
readOnly: true
type: number
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
description: User who created Dataset
description:
description: Model description
nullable: true
type: string
id:
readOnly: true
type: integer
input_fields: {}
organization:
nullable: true
type: integer
output_classes: {}
runs_count:
default: 0
readOnly: true
type: integer
skill_name:
allOf:
- $ref: '#/components/schemas/SkillNameEnum'
default: TextClassification
title:
description: Model name
maxLength: 500
type: string
updated_at:
format: date-time
readOnly: true
type: string
versions_count:
default: 0
readOnly: true
type: integer
required:
- best_score
- created_at
- id
- runs_count
- title
- updated_at
- versions_count
type: object
ModelProviderConnection:
properties:
budget_alert_threshold:
description: Budget alert threshold for the given provider connection
format: double
nullable: true
type: number
budget_last_reset_date:
description: Date and time the budget was last reset
format: date-time
nullable: true
readOnly: true
type: string
budget_limit:
description: Budget limit for the model provider connection (null if unlimited)
format: double
nullable: true
readOnly: true
type: number
budget_reset_period:
allOf:
- $ref: '#/components/schemas/BudgetResetPeriodEnum'
description: |-
Budget reset period for the model provider connection (null if not reset)
* `Monthly` - Monthly
* `Yearly` - Yearly
nullable: true
readOnly: true
budget_total_spent:
description: Tracked total budget spent for the given provider connection within the current budget period
format: double
nullable: true
readOnly: true
type: number
cached_available_models:
description: List of available models from the provider
maxLength: 4096
nullable: true
type: string
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
deployment_name:
description: Azure OpenAI deployment name
maxLength: 512
nullable: true
type: string
endpoint:
description: Azure OpenAI endpoint
maxLength: 512
nullable: true
type: string
google_location:
description: Google project location
maxLength: 255
nullable: true
type: string
google_project_id:
description: Google project ID
maxLength: 255
nullable: true
type: string
id:
readOnly: true
type: integer
is_internal:
description: Whether the model provider connection is internal, not visible to the user
nullable: true
type: boolean
model_params:
additionalProperties: {}
description: JSON schema for the model parameters available for the provider
readOnly: true
type: object
organization:
nullable: true
readOnly: true
type: integer
provider:
$ref: '#/components/schemas/ProviderEnum'
scope:
$ref: '#/components/schemas/ScopeEnum'
updated_at:
format: date-time
readOnly: true
type: string
required:
- budget_last_reset_date
- budget_limit
- budget_reset_period
- budget_total_spent
- created_at
- created_by
- id
- model_params
- organization
- updated_at
type: object
ModelProviderConnectionRequest:
properties:
api_key:
description: Model provider API key
nullable: true
type: string
writeOnly: true
auth_token:
description: Model provider Auth token
nullable: true
type: string
writeOnly: true
budget_alert_threshold:
description: Budget alert threshold for the given provider connection
format: double
nullable: true
type: number
cached_available_models:
description: List of available models from the provider
maxLength: 4096
nullable: true
type: string
deployment_name:
description: Azure OpenAI deployment name
maxLength: 512
nullable: true
type: string
endpoint:
description: Azure OpenAI endpoint
maxLength: 512
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
writeOnly: true
google_location:
description: Google project location
maxLength: 255
nullable: true
type: string
google_project_id:
description: Google project ID
maxLength: 255
nullable: true
type: string
is_internal:
description: Whether the model provider connection is internal, not visible to the user
nullable: true
type: boolean
provider:
$ref: '#/components/schemas/ProviderEnum'
scope:
$ref: '#/components/schemas/ScopeEnum'
type: object
ModelRun:
properties:
completed_at:
format: date-time
nullable: true
readOnly: true
type: string
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
filters_json:
description: DM filter group for Filtered subset. Stored for display/re-run purposes.
nullable: true
id:
readOnly: true
type: integer
job_id:
description: Job ID for inference job for a ModelRun e.g. Adala job ID
maxLength: 255
nullable: true
type: string
model_version:
type: integer
organization:
nullable: true
type: integer
parent_model:
readOnly: true
type: integer
predictions_updated_at:
format: date-time
nullable: true
type: string
project:
type: integer
project_subset:
$ref: '#/components/schemas/ProjectSubsetEnum'
sample_subset_size:
description: Custom sample size for Sample subset. Uses PROMPTER_SAMPLE_SUBSET_SIZE if not set.
maximum: 2147483647
minimum: 0
nullable: true
type: integer
source_model_run:
nullable: true
readOnly: true
type: integer
status:
allOf:
- $ref: '#/components/schemas/ModelRunStatusEnum'
readOnly: true
task_ids:
description: List of task IDs for Custom subset re-evaluation.
nullable: true
readOnly: true
total_correct_predictions:
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
total_predictions:
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
total_tasks:
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
triggered_at:
format: date-time
nullable: true
readOnly: true
type: string
required:
- completed_at
- created_at
- created_by
- id
- model_version
- parent_model
- project
- source_model_run
- status
- task_ids
- triggered_at
type: object
ModelRunRequestRequest:
description: OpenAPI-only request shape; ``model_version`` comes from the URL path.
properties:
filters_json:
description: DM filter group for Filtered subset. Stored for display/re-run purposes.
nullable: true
job_id:
description: Job ID for inference job for a ModelRun e.g. Adala job ID
maxLength: 255
nullable: true
type: string
only_missing_predictions:
default: false
description: When true, only tasks without successful predictions for this prompt version are submitted for inference.
type: boolean
writeOnly: true
organization:
nullable: true
type: integer
predictions_updated_at:
format: date-time
nullable: true
type: string
project:
type: integer
project_subset:
$ref: '#/components/schemas/ProjectSubsetEnum'
sample_subset_size:
description: Custom sample size for Sample subset. Uses PROMPTER_SAMPLE_SUBSET_SIZE if not set.
maximum: 2147483647
minimum: 0
nullable: true
type: integer
total_correct_predictions:
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
total_predictions:
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
total_tasks:
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
required:
- project
type: object
ModelRunStatusEnum:
description: |-
* `Pending` - Pending
* `InProgress` - InProgress
* `Completed` - Completed
* `Failed` - Failed
* `Canceled` - Canceled
enum:
- Pending
- InProgress
- Completed
- Failed
- Canceled
type: string
OnboardingStateEnum:
description: |-
* `not_started` - Not Started
* `signup` - Signup
* `trial_signup` - Trial Signup
* `first_tutorial` - First Tutorial
* `in_app_guidance` - In App Guidance
* `complete` - Complete
enum:
- not_started
- signup
- trial_signup
- first_tutorial
- in_app_guidance
- complete
type: string
OpEnum:
description: |-
* `add_page` - add_page
* `delete_page` - delete_page
* `duplicate_page` - duplicate_page
* `reorder_pages` - reorder_pages
* `move_page` - move_page
* `add_module` - add_module
* `delete_module` - delete_module
* `duplicate_module` - duplicate_module
* `reorder_modules` - reorder_modules
* `rename_module` - rename_module
enum:
- add_page
- delete_page
- duplicate_page
- reorder_pages
- move_page
- add_module
- delete_module
- duplicate_module
- reorder_modules
- rename_module
type: string
OperatorEnum:
description: |-
* `lt` - <
* `lte` - <=
* `gt` - >
* `gte` - >=
* `eq` - =
enum:
- lt
- lte
- gt
- gte
- eq
type: string
OrganizationBilling:
properties:
enforce_session_concurrency:
readOnly: true
type: boolean
manual_role_management:
readOnly: true
type: boolean
manual_workspace_management:
readOnly: true
type: boolean
max_parallel_sessions:
readOnly: true
type: integer
session_concurrency_window_seconds:
readOnly: true
type: integer
required:
- enforce_session_concurrency
- manual_role_management
- manual_workspace_management
- max_parallel_sessions
- session_concurrency_window_seconds
type: object
OrganizationId:
description: |-
A serializer mixin that takes an additional `fields` argument that controls
which fields should be displayed.
properties:
contact_info:
format: email
maxLength: 254
nullable: true
type: string
created_at:
format: date-time
readOnly: true
type: string
id:
readOnly: true
type: integer
title:
maxLength: 1000
title: Organization title
type: string
required:
- created_at
- id
- title
type: object
OrganizationInvite:
properties:
invite_url:
type: string
token:
type: string
type: object
OrganizationMember:
description: |-
A serializer mixin that takes an additional `fields` argument that controls
which fields should be displayed.
properties:
annotations_count:
readOnly: true
type: integer
contributed_projects_count:
readOnly: true
type: integer
contributed_to_projects:
items:
properties:
id:
type: integer
title:
type: string
required:
- id
- title
type: object
nullable: true
readOnly: true
type: array
created_at:
format: date-time
readOnly: true
type: string
created_projects:
items:
properties:
id:
type: integer
title:
type: string
required:
- id
- title
type: object
nullable: true
readOnly: true
type: array
organization:
description: Organization ID
type: integer
user:
description: User ID
type: integer
required:
- annotations_count
- contributed_projects_count
- contributed_to_projects
- created_at
- created_projects
- organization
- user
type: object
OrganizationMemberFilterRequestRequest:
description: Versioned, transport-neutral reusable organization-member filter payload.
properties:
filters: {}
required:
- filters
type: object
OrganizationMemberFilterSchema:
description: Backend capabilities for the organization-member filter UI.
properties:
filters:
items:
additionalProperties: {}
type: object
type: array
version:
type: integer
required:
- filters
- version
type: object
OrganizationMemberMembershipOption:
description: |-
A membership target available to the current actor.
Workspaces carry their accessible projects; a project with no accessible parent
workspace is returned as a top-level node without ``projects``.
properties:
id:
type: integer
kind:
$ref: '#/components/schemas/OrganizationMemberMembershipOptionKindEnum'
label:
type: string
projects:
items:
$ref: '#/components/schemas/OrganizationMemberMembershipProjectOption'
type: array
required:
- id
- kind
- label
type: object
OrganizationMemberMembershipOptionKindEnum:
description: |-
* `project` - project
* `workspace` - workspace
enum:
- project
- workspace
type: string
OrganizationMemberMembershipProjectOption:
description: A project nested under one of the actor's accessible workspaces.
properties:
id:
type: integer
kind:
$ref: '#/components/schemas/OrganizationMemberMembershipProjectOptionKindEnum'
label:
type: string
required:
- id
- kind
- label
type: object
OrganizationMemberMembershipProjectOptionKindEnum:
description: '* `project` - project'
enum:
- project
type: string
OrganizationMemberSkillsOption:
description: |-
An enumerable Contributor Setup answer available to the Skills filter.
``section_key`` / ``field_key`` / ``code`` are the filter identity. Titles are live
Contributor Setup names. ``parent_code`` is set only when that ancestor is also an
option on the same question, matching ``OrganizationTaxonomyNodeSerializer``.
properties:
code:
type: string
field_key:
type: string
field_label:
type: string
label:
type: string
parent_code:
nullable: true
type: string
section_key:
type: string
section_title:
type: string
required:
- code
- field_key
- field_label
- label
- parent_code
- section_key
- section_title
type: object
OrganizationMemberTag:
properties:
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
id:
readOnly: true
type: integer
label:
description: Label
maxLength: 255
type: string
member_count:
readOnly: true
type: integer
organization:
readOnly: true
type: integer
updated_at:
format: date-time
readOnly: true
type: string
required:
- created_at
- created_by
- id
- label
- member_count
- organization
- updated_at
type: object
OrganizationMemberTagBulkCreateRequest:
description: Serializer for bulk create of organization member tags.
properties:
labels:
description: List of tag labels to create.
items:
maxLength: 255
minLength: 1
type: string
minItems: 1
type: array
required:
- labels
type: object
OrganizationMemberTagImportCreateRequest:
properties:
bulk_tags:
type: string
file:
format: binary
type: string
required:
- bulk_tags
- file
type: object
OrganizationMemberTagImportStatus:
description: Serializer for the status of a member tag import job.
properties:
assignments_created:
maximum: 2147483647
minimum: -2147483648
type: integer
created_at:
format: date-time
readOnly: true
type: string
finished_at:
format: date-time
nullable: true
type: string
id:
readOnly: true
type: integer
status:
$ref: '#/components/schemas/OrganizationMemberTagImportStatusStatusEnum'
tags_created:
maximum: 2147483647
minimum: -2147483648
type: integer
users_skipped: {}
required:
- created_at
- id
type: object
OrganizationMemberTagImportStatusStatusEnum:
description: |-
* `created` - Created
* `in_progress` - In Progress
* `completed` - Completed
* `failed` - Failed
enum:
- created
- in_progress
- completed
- failed
type: string
OrganizationMemberTagRequest:
properties:
label:
description: Label
maxLength: 255
minLength: 1
type: string
required:
- label
type: object
OrganizationMembership:
properties:
active:
readOnly: true
type: boolean
flex:
additionalProperties: {}
description: Flex claim/window state for FE expired-seat UX (FIT-2339). Non-Flex → null.
nullable: true
readOnly: true
type: object
organization_id:
description: Organization ID
readOnly: true
type: integer
role:
type: string
user_type:
nullable: true
readOnly: true
type: string
required:
- active
- flex
- organization_id
- role
- user_type
type: object
OrganizationMembershipRequest:
properties:
role:
minLength: 1
type: string
required:
- role
type: object
OrganizationPermission:
properties:
default:
items:
$ref: '#/components/schemas/OrganizationPermissionRoleEnum'
readOnly: true
type: array
group:
nullable: true
readOnly: true
type: string
id:
readOnly: true
type: integer
label:
nullable: true
readOnly: true
type: string
options:
items:
$ref: '#/components/schemas/OrganizationPermissionRoleEnum'
readOnly: true
type: array
organization:
readOnly: true
type: integer
permission:
maxLength: 255
type: string
roles:
description: Organization roles
items:
$ref: '#/components/schemas/OrganizationRoleEnum'
type: array
tooltip:
nullable: true
readOnly: true
type: string
required:
- default
- group
- id
- label
- options
- organization
- permission
- tooltip
type: object
OrganizationPermissionRequest:
properties:
permission:
maxLength: 255
minLength: 1
type: string
roles:
description: Organization roles
items:
$ref: '#/components/schemas/OrganizationRoleEnum'
type: array
required:
- permission
type: object
OrganizationPermissionRoleEnum:
enum:
- OW
- AD
- MA
- RE
- AN
- DI
- 'NO'
- VO
type: string
OrganizationRoleAssignment:
description: An organization-role assignment — the only kind that can put a user on a paid seat.
properties:
assigned_role:
description: Role code this group is mapped to
nullable: true
type: string
assigned_role_display:
nullable: true
type: string
assignment_id:
description: Primary key of the assignment record
type: integer
created_at:
format: date-time
type: string
identity_provider_group:
description: Name of the group in the identity provider (Okta/Entra) that created this record
nullable: true
type: string
linked_membership_id:
description: Membership this assignment is attached to; null means an incomplete record
nullable: true
type: integer
mapping_status:
allOf:
- $ref: '#/components/schemas/MappingStatusEnum'
description: |-
configured = the group is still mapped in SCIM settings; orphaned = the mapping is gone but the record remains; missing_membership = the record is not linked to a membership
* `configured` - Configured
* `orphaned` - Orphaned
* `missing_membership` - Missing membership
mapping_status_display:
type: string
required:
- assigned_role
- assigned_role_display
- assignment_id
- created_at
- identity_provider_group
- linked_membership_id
- mapping_status
- mapping_status_display
type: object
OrganizationRoleEnum:
description: |-
* `OW` - Owner
* `AD` - Administrator
* `MA` - Manager
* `RE` - Reviewer
* `AN` - Annotator
* `DI` - Deactivated
* `NO` - Not Activated
* `VO` - View Only
enum:
- OW
- AD
- MA
- RE
- AN
- DI
- 'NO'
- VO
type: string
PaginatedAllRolesProjectListList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/AllRolesProjectList'
type: array
required:
- count
- results
type: object
PaginatedAnnotationHistoryList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/AnnotationHistory'
type: array
required:
- count
- results
type: object
PaginatedCertificateList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/Certificate'
type: array
required:
- count
- results
type: object
PaginatedCourseModuleList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/CourseModule'
type: array
required:
- count
- results
type: object
PaginatedLabelCreateList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/LabelCreate'
type: array
required:
- count
- results
type: object
PaginatedLabelLinkList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/LabelLink'
type: array
required:
- count
- results
type: object
PaginatedLabelList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/Label'
type: array
required:
- count
- results
type: object
PaginatedLearningResourceListList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/LearningResourceList'
type: array
required:
- count
- results
type: object
PaginatedLseInterfaceListList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/LseInterfaceList'
type: array
required:
- count
- results
type: object
PaginatedLseOrganizationMemberListList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/LseOrganizationMemberList'
type: array
required:
- count
- results
type: object
PaginatedLseProjectCountsList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/LseProjectCounts'
type: array
required:
- count
- results
type: object
PaginatedLseUserList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/LseUser'
type: array
required:
- count
- results
type: object
PaginatedModelInterfaceSerializerGETList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/ModelInterfaceSerializerGET'
type: array
required:
- count
- results
type: object
PaginatedOrganizationMemberTagList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/OrganizationMemberTag'
type: array
required:
- count
- results
type: object
PaginatedPaginatedProjectMemberList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/PaginatedProjectMember'
type: array
required:
- count
- results
type: object
PaginatedProjectImportListList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/ProjectImportList'
type: array
required:
- count
- results
type: object
PaginatedProjectMember:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
active_organization:
nullable: true
type: integer
active_organization_meta:
additionalProperties:
type: string
readOnly: true
type: object
allow_newsletters:
description: Allow sending newsletters to user
nullable: true
type: boolean
avatar:
nullable: true
readOnly: true
type: string
custom_hotkeys:
description: Custom keyboard shortcuts configuration for the user interface
nullable: true
date_joined:
format: date-time
type: string
email:
format: email
maxLength: 254
title: Email address
type: string
first_name:
maxLength: 256
type: string
id:
readOnly: true
type: integer
implicit_member:
readOnly: true
type: boolean
initials:
default: '?'
readOnly: true
type: string
last_activity:
format: date-time
nullable: true
readOnly: true
type: string
last_name:
maxLength: 256
type: string
lse_fields:
allOf:
- $ref: '#/components/schemas/LseFields'
readOnly: true
org_membership:
deprecated: true
items:
$ref: '#/components/schemas/OrganizationMembership'
readOnly: true
type: array
organization_membership:
allOf:
- $ref: '#/components/schemas/OrganizationMembership'
readOnly: true
pause:
additionalProperties: {}
nullable: true
readOnly: true
type: object
phone:
maxLength: 256
type: string
project_role:
nullable: true
readOnly: true
type: string
project_role_source:
nullable: true
readOnly: true
type: string
tags:
items:
$ref: '#/components/schemas/SimpleOrganizationMemberTag'
readOnly: true
type: array
user_type:
nullable: true
readOnly: true
type: string
username:
maxLength: 256
type: string
required:
- active_organization_meta
- avatar
- id
- implicit_member
- initials
- last_activity
- lse_fields
- org_membership
- organization_membership
- pause
- project_role
- project_role_source
- tags
- user_type
- username
type: object
PaginatedProjectReimportListList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/ProjectReimportList'
type: array
required:
- count
- results
type: object
PaginatedProjectSubsetTasksResponseList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/ProjectSubsetTasksResponse'
type: array
required:
- count
- results
type: object
PaginatedRoleBasedTaskList:
properties:
tasks:
items:
$ref: '#/components/schemas/RoleBasedTask'
type: array
total:
description: Total number of tasks
example: 123
type: integer
total_annotations:
description: Total number of annotations
example: 456
type: integer
total_predictions:
description: Total number of predictions
example: 78
type: integer
required:
- tasks
- total
- total_annotations
- total_predictions
type: object
PaginatedSeatReportList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/SeatReport'
type: array
required:
- count
- results
type: object
PaginatedStateModelList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/StateModel'
type: array
required:
- count
- results
type: object
PaginatedUserLearningProgressListList:
properties:
count:
example: 123
type: integer
next:
example: http://api.example.org/accounts/?page=4
format: uri
nullable: true
type: string
previous:
example: http://api.example.org/accounts/?page=2
format: uri
nullable: true
type: string
results:
items:
$ref: '#/components/schemas/UserLearningProgressList'
type: array
required:
- count
- results
type: object
PatchedAnalyticsViewRequest:
description: |-
Serializer for user-scoped analytics saved views.
The primary key is intentionally excluded; the ``uuid`` field is the only
stable public identifier exposed to callers.
``dashboard_type`` scopes views per dashboard: "overview" vs "member_performance".
properties:
dashboard_type:
$ref: '#/components/schemas/DashboardTypeEnum'
filters: {}
name:
maxLength: 255
minLength: 1
type: string
type: object
PatchedAnnotationRequest:
description: |-
Annotation Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
properties:
bulk_created:
description: Annotation was created in bulk mode
nullable: true
type: boolean
completed_by:
type: integer
draft_created_at:
description: Draft creation time
format: date-time
nullable: true
type: string
ground_truth:
description: This annotation is a Ground Truth (ground_truth)
type: boolean
import_id:
description: Original annotation ID that was at the import step or NULL if this annotation wasn't imported
format: int64
maximum: 9223372036854775807
minimum: -9223372036854775808
nullable: true
type: integer
last_action:
allOf:
- $ref: '#/components/schemas/AnnotationHistoryActionEnum'
description: |-
Action which was performed in the last annotation history item
* `prediction` - Created from prediction
* `propagated_annotation` - Created from another annotation
* `imported` - Imported
* `submitted` - Submitted
* `updated` - Updated
* `skipped` - Skipped
* `accepted` - Accepted
* `rejected` - Rejected
* `fixed_and_accepted` - Fixed and accepted
* `deleted_review` - Deleted review
nullable: true
last_created_by:
description: User who created the last annotation history item
nullable: true
type: integer
lead_time:
description: How much time it took to annotate the task
format: double
nullable: true
type: number
parent_annotation:
description: Points to the parent annotation from which this annotation was created
nullable: true
type: integer
parent_prediction:
description: Points to the prediction from which this annotation was created
nullable: true
type: integer
project:
description: Project ID for this annotation
nullable: true
type: integer
result:
description: List of annotation results for the task
items:
description: List of annotated regions for the task
title: Annotation result items (regions)
type: object
title: Annotation result list
type: array
task:
description: Corresponding task for this annotation
nullable: true
type: integer
unique_id:
minLength: 1
type: string
writeOnly: true
updated_by:
description: Last user who updated this annotation
nullable: true
type: integer
was_cancelled:
description: User skipped the task
type: boolean
type: object
PatchedAnnotationReviewRequest:
description: |-
AnnotationReview Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
The state field display is controlled by both:
- fflag_feat_fit_568_finite_state_management (FSM background calculations)
- fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
properties:
accepted:
description: Accepted or rejected (if false) flag
type: boolean
annotation:
description: Corresponding annotation
type: integer
comment:
minLength: 1
nullable: true
type: string
writeOnly: true
last_annotation_history:
nullable: true
type: integer
reject_action:
allOf:
- $ref: '#/components/schemas/RejectActionEnum'
nullable: true
remove_from_queue:
nullable: true
type: boolean
result:
nullable: true
started_at:
format: date-time
nullable: true
type: string
type: object
PatchedAzureBlobExportStorageWriteRequest:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
container:
description: Azure blob container
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
prefix:
description: Azure blob prefix name
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedAzureBlobImportStorageWriteRequest:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
prefix:
description: Azure blob prefix name
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the container content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedAzureDatasetStorageRequest:
properties:
account_key:
description: Azure Blob account key
nullable: true
type: string
account_name:
description: Azure Blob account name
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
dataset:
description: A unique integer value identifying this dataset.
type: integer
description:
description: Cloud storage description
nullable: true
type: string
glob_pattern:
description: Glob pattern for syncing from bucket
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
recursive_scan:
description: Perform recursive scan over the container content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synced:
description: Flag if dataset has been previously synced or not
type: boolean
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedAzureServicePrincipalExportStorageRequest:
description: Mode-aware auth validation shared by import and export Azure SPI serializers.
properties:
account_name:
description: Azure Blob account name
nullable: true
type: string
auth_mode:
allOf:
- $ref: '#/components/schemas/AuthModeEnum'
description: |-
Authentication mode. service_principal uses a client secret. workload_identity uses constrained DefaultAzureCredential (workload identity + managed identity only). Defaults to service_principal.
* `service_principal` - Service Principal
* `workload_identity` - Workload identity
nullable: true
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
client_id:
description: 'For service_principal: Azure app registration client ID. For workload_identity: optional user-assigned managed identity client ID.'
nullable: true
type: string
client_secret:
description: Azure Blob Service Principal client secret. Required when auth_mode is service_principal (or omitted). Must be omitted when auth_mode is workload_identity.
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure Tenant ID. Required for service_principal; not used for workload_identity.
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
user_delegation_key:
description: User Delegation Key (Backend)
nullable: true
type: string
type: object
PatchedAzureServicePrincipalImportStorageRequest:
description: Mode-aware auth validation shared by import and export Azure SPI serializers.
properties:
account_name:
description: Azure Blob account name
nullable: true
type: string
auth_mode:
allOf:
- $ref: '#/components/schemas/AuthModeEnum'
description: |-
Authentication mode. service_principal uses a client secret. workload_identity uses constrained DefaultAzureCredential (workload identity + managed identity only). Defaults to service_principal.
* `service_principal` - Service Principal
* `workload_identity` - Workload identity
nullable: true
client_id:
description: 'For service_principal: Azure app registration client ID. For workload_identity: optional user-assigned managed identity client ID.'
nullable: true
type: string
client_secret:
description: Azure Blob Service Principal client secret. Required when auth_mode is service_principal (or omitted). Must be omitted when auth_mode is workload_identity.
nullable: true
type: string
container:
description: Azure blob container
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: Azure blob prefix name
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure Tenant ID. Required for service_principal; not used for workload_identity.
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
user_delegation_key:
description: User Delegation Key (Backend)
nullable: true
type: string
type: object
PatchedBlueprintUpdateRequest:
description: Serializer for updating a blueprint. Only title, description, and task_ids can be changed.
properties:
description:
description: Project description
nullable: true
type: string
task_ids:
items:
type: integer
maxItems: 100
type: array
writeOnly: true
title:
description: Blueprint name. Must be between 3 and 50 characters long.
maxLength: 50
nullable: true
type: string
type: object
PatchedCommentRequest:
description: |-
Comment Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
The state field display is controlled by both:
- fflag_feat_fit_568_finite_state_management (FSM background calculations)
- fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
properties:
annotation:
nullable: true
type: integer
classifications:
description: Classifications applied by a reviewer or annotator
nullable: true
draft:
nullable: true
type: integer
is_resolved:
description: True if the comment is resolved
type: boolean
region_ref:
description: Set if this comment is related to a specific part of the annotation. Normally contains region ID and control name.
nullable: true
text:
description: Reviewer or annotator comment
nullable: true
type: string
type: object
PatchedCoursePageUpdateRequest:
description: 'Page-scoped content save: only the supplied keys are replaced.'
properties:
blocks:
items: {}
type: array
page_version:
minimum: 0
type: integer
summary:
type: string
title:
maxLength: 255
type: string
type: object
PatchedDatabricksExportStorageWriteRequest:
description: Serializer for Databricks export storage with multi-auth support.
properties:
auth_type:
allOf:
- $ref: '#/components/schemas/AuthTypeEnum'
default: pat
description: |-
Authentication method: PAT, Databricks SP, or Azure AD SP
* `pat` - Personal Access Token
* `dbx_sp` - Databricks Service Principal
* `azure_ad_sp` - Azure AD Service Principal
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
catalog:
description: UC catalog name
minLength: 1
type: string
client_id:
description: Service principal client/application ID (required for SP modes)
type: string
client_secret:
description: Service principal client secret (required for SP modes)
type: string
writeOnly: true
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Databricks workspace base URL (https://...)
minLength: 1
type: string
prefix:
description: Export path prefix under the volume
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
request_timeout_s:
maximum: 2147483647
minimum: 0
type: integer
schema:
description: UC schema name
minLength: 1
type: string
stream_chunk_bytes:
maximum: 2147483647
minimum: 0
type: integer
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure AD tenant ID (required for Azure AD SP mode)
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
token:
description: Databricks personal access token (required for PAT mode)
type: string
writeOnly: true
use_blob_urls:
description: Generate blob URLs in tasks
type: boolean
verify_tls:
description: Verify TLS certificates
type: boolean
volume:
description: UC volume name
minLength: 1
type: string
type: object
PatchedDatabricksImportStorageWriteRequest:
description: Serializer for Databricks import storage with multi-auth support.
properties:
auth_type:
allOf:
- $ref: '#/components/schemas/AuthTypeEnum'
default: pat
description: |-
Authentication method: PAT, Databricks SP, or Azure AD SP
* `pat` - Personal Access Token
* `dbx_sp` - Databricks Service Principal
* `azure_ad_sp` - Azure AD Service Principal
catalog:
description: UC catalog name
minLength: 1
type: string
client_id:
description: Service principal client/application ID (required for SP modes)
type: string
client_secret:
description: Service principal client secret (required for SP modes)
type: string
writeOnly: true
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Databricks workspace base URL (https://...)
minLength: 1
type: string
prefix:
description: Path under the volume
nullable: true
type: string
presign:
description: Presign not supported; always proxied
type: boolean
presign_ttl:
description: Unused for Databricks; kept for compatibility
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan
type: boolean
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
request_timeout_s:
maximum: 2147483647
minimum: 0
type: integer
schema:
description: UC schema name
minLength: 1
type: string
stream_chunk_bytes:
maximum: 2147483647
minimum: 0
type: integer
synchronizable:
default: true
type: boolean
tenant_id:
description: Azure AD tenant ID (required for Azure AD SP mode)
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
token:
description: Databricks personal access token (required for PAT mode)
type: string
writeOnly: true
use_blob_urls:
description: Generate blob URLs in tasks
type: boolean
verify_tls:
description: Verify TLS certificates
type: boolean
volume:
description: UC volume name
minLength: 1
type: string
type: object
PatchedDatasetImportCandidatesPatchRequest:
properties:
job_id:
type: integer
signal:
description: Operation type.
minLength: 1
type: string
type: object
PatchedDatasetRequest:
properties:
columns:
description: All data columns found in Dataset tasks
nullable: true
created_by:
allOf:
- $ref: '#/components/schemas/UserSimpleRequest'
description: User who created Dataset
description:
description: Dataset description
nullable: true
type: string
organization:
nullable: true
type: integer
title:
description: Dataset title
maxLength: 1000
minLength: 1
type: string
total_entities:
maximum: 2147483647
minimum: -2147483648
nullable: true
title: The number of entities in the dataset
type: integer
vector_db_dataset_name:
description: Dataset name for weaviate schema
maxLength: 37
minLength: 1
type: string
type: object
PatchedDatasetViewRequest:
properties:
data:
description: Custom view data
nullable: true
dataset:
description: Dataset ID
type: integer
filter_group:
$ref: '#/components/schemas/FilterGroupRequest'
is_locked:
description: Whether this data manager tab is locked against configuration changes
nullable: true
type: boolean
locked_at:
description: Time when this view was locked
format: date-time
nullable: true
type: string
order:
description: Position of the tab, starting at the left in data manager and increasing as the tabs go left to right
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
ordering:
description: Ordering parameters
nullable: true
selected_items:
description: Selected items
nullable: true
user:
description: User who made this view
nullable: true
type: integer
type: object
PatchedDefaultRoleRequest:
properties:
annotator_reviewer_firewall_enabled_at:
description: Set to current time to restrict data sharing between annotators and reviewers in the label stream, review stream, and notifications (which will be disabled). In these settings, information about annotator and reviewer identity is suppressed in the UI.
format: date-time
nullable: true
type: string
custom_interfaces_enabled:
description: Enable custom interfaces for this organization. When disabled, projects with use_custom_interface=True will not render custom interfaces anywhere in the product (label stream, embed, data manager, interfaces dashboard).
nullable: true
type: boolean
custom_scripts_enabled_at:
description: Set to current time to enable custom scripts (Plugins) for this organization. Can only be enabled if no organization members are active members of any other organizations; otherwise an error will be raised. If this occurs, contact the LEAP team for assistance with enabling custom scripts (Plugins).
format: date-time
nullable: true
type: string
default_role:
allOf:
- $ref: '#/components/schemas/OrganizationRoleEnum'
description: |-
Default membership role for invited users
* `OW` - Owner
* `AD` - Administrator
* `MA` - Manager
* `RE` - Reviewer
* `AN` - Annotator
* `DI` - Deactivated
* `NO` - Not Activated
* `VO` - View Only
email_notification_settings:
description: 'Email notification settings for this organization. Controls which email notifications users can receive. Structure: {"notifications_allowed": {"notification_type": bool}}'
nullable: true
embed_domains:
description: 'List of objects: {"domain": "example.com"}. Used for CSP header on /embed routes.'
nullable: true
embed_enabled:
description: Enable embed functionality for this organization
nullable: true
type: boolean
embed_settings:
description: Embed settings for this organization
nullable: true
external_id:
description: External ID to uniquely identify this organization
nullable: true
type: string
extra_data_on_activity_logs:
type: boolean
interface_settings:
description: 'Security settings for custom interfaces: CSP allowlists, script origins, iframe permissions.'
nullable: true
label_stream_navigation_disabled_at:
description: Set to current time to disable the label stream navigation for this organization. This will prevent users from going back in the label stream to view previous labels.
format: date-time
nullable: true
type: string
organization:
description: A unique integer value identifying this organization.
type: integer
react_code_settings:
description: 'ReactCode tag security settings. Structure: {"mode": "disabled"|"src_only"|"everything", "allowed_origins": ["https://..."], "allowed_permissions": ["camera", ...]}'
nullable: true
title: ReactCode settings
read_only_quick_view_enabled_at:
description: Set to current time to prevent creating or editing annotations in quick view.
format: date-time
nullable: true
type: string
type: object
PatchedDimensionRequest:
description: |-
Serializer for Dimension model.
Handles serialization and validation for CRUD operations on dimensions.
The project and created_by fields are set automatically from the request context.
properties:
description:
description: Human-readable description of what this dimension represents
type: string
extraction_method:
description: Method used to extract values from annotation JSON
maxLength: 32
minLength: 1
type: string
extraction_method_params:
description: Parameters specific to the extraction method. See metrics.py for available extraction methods and their parameters.
title: Extraction method parameters
is_active:
description: Whether this dimension is used in agreement calculations.
type: boolean
is_user_defined:
description: Whether this dimension was manually created by a user. System-generated dimensions have this set to False.
type: boolean
metric_params:
description: Parameters for the metric. See metrics.py for available metrics and their parameters.
title: Metric parameters
metric_type:
description: Strategy for comparing dimension values across annotators
maxLength: 32
minLength: 1
type: string
name:
description: Unique identifier for this dimension within the project
maxLength: 255
minLength: 1
type: string
order:
description: Display order within the project
maximum: 2147483647
minimum: 0
type: integer
type: object
PatchedFewShotExampleRequest:
properties:
annotation:
type: integer
order:
maximum: 2147483647
minimum: 0
type: integer
task:
type: integer
type: object
PatchedFileUploadRequest:
properties:
file:
format: binary
type: string
type: object
PatchedGCSDatasetStorageRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
dataset:
description: A unique integer value identifying this dataset.
type: integer
description:
description: Cloud storage description
nullable: true
type: string
glob_pattern:
description: Glob pattern for syncing from bucket
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synced:
description: Flag if dataset has been previously synced or not
type: boolean
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedGCSExportStorageWriteRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
prefix:
description: GCS bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedGCSImportStorageWriteRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedGCSSAExportStorageRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
target_service_account_email:
description: Service account email to impersonate for GCS access
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedGCSSAImportStorageRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
target_service_account_email:
description: Service account email to impersonate for GCS access
nullable: true
type: string
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedGCSWIFExportStorageRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
google_project_number:
description: Google project number
nullable: true
type: string
google_service_account_email:
description: Google service account email
nullable: true
type: string
google_wif_pool_id:
description: Google WIF pool ID
nullable: true
type: string
google_wif_provider_id:
description: Google WIF provider ID
nullable: true
title: Google wif provider
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedGCSWIFImportStorageRequest:
properties:
bucket:
description: GCS bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
google_project_id:
description: Google project ID
nullable: true
type: string
google_project_number:
description: Google project number
nullable: true
type: string
google_service_account_email:
description: Google service account email
nullable: true
type: string
google_wif_pool_id:
description: Google WIF pool ID
nullable: true
type: string
google_wif_provider_id:
description: Google WIF provider ID
nullable: true
title: Google wif provider
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: GCS bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
nullable: true
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedHotkeysRequest:
properties:
custom_hotkeys:
additionalProperties: {}
type: object
type: object
PatchedLabelLinkRequest:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
from_name:
description: Tag name
maxLength: 2048
minLength: 1
title: Tag name
type: string
label:
type: integer
project:
type: integer
type: object
PatchedLabelRequest:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
approved:
description: Status of label
type: boolean
approved_by:
description: User who approved this label
nullable: true
type: integer
created_by:
description: User who made this label
type: integer
description:
description: Label description
nullable: true
type: string
organization:
type: integer
title:
description: Label title
maxLength: 2048
minLength: 1
type: string
value:
description: Label value
type: object
PatchedLearningResourceRequest:
properties:
allow_standalone:
type: boolean
color:
maxLength: 16
nullable: true
type: string
cover_image_url:
maxLength: 1024
type: string
default_allow_manual_access:
type: boolean
default_gate_annotator_data_manager:
nullable: true
type: boolean
default_gate_annotator_label_stream:
nullable: true
type: boolean
default_gate_reviewer_data_manager:
nullable: true
type: boolean
default_gate_reviewer_label_stream:
nullable: true
type: boolean
default_gate_reviewer_review_stream:
nullable: true
type: boolean
estimated_duration_unit:
$ref: '#/components/schemas/EstimatedDurationUnitEnum'
estimated_duration_value:
maximum: 2147483647
minimum: 0
nullable: true
type: integer
generate_certificate_on_completion:
type: boolean
hide_completed_quizzes:
type: boolean
single_page_review:
nullable: true
type: boolean
summary:
type: string
title:
maxLength: 255
minLength: 1
type: string
workspace:
nullable: true
type: integer
type: object
PatchedLearningResourceUpdateRequest:
properties:
allow_standalone:
type: boolean
color:
maxLength: 16
nullable: true
type: string
cover_image_url:
maxLength: 1024
type: string
default_allow_manual_access:
type: boolean
default_gate_annotator_data_manager:
nullable: true
type: boolean
default_gate_annotator_label_stream:
nullable: true
type: boolean
default_gate_reviewer_data_manager:
nullable: true
type: boolean
default_gate_reviewer_label_stream:
nullable: true
type: boolean
default_gate_reviewer_review_stream:
nullable: true
type: boolean
estimated_duration_unit:
$ref: '#/components/schemas/EstimatedDurationUnitEnum'
estimated_duration_value:
maximum: 2147483647
minimum: 0
nullable: true
type: integer
generate_certificate_on_completion:
type: boolean
hide_completed_quizzes:
type: boolean
single_page_review:
nullable: true
type: boolean
summary:
type: string
title:
maxLength: 255
minLength: 1
type: string
workspace:
nullable: true
type: integer
type: object
PatchedLocalFilesExportStorageWriteRequest:
properties:
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
path:
description: Local path
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedLocalFilesImportStorageWriteRequest:
properties:
description:
description: Cloud storage description
nullable: true
type: string
path:
description: Local path
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the directory content
nullable: true
type: boolean
regex_filter:
description: Regex for filtering objects
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedLseInterfaceRequest:
properties:
artifacts:
description: AI-produced code snapshots for session continuity
code:
description: JSX source code for the interface screen module
minLength: 1
type: string
compiled:
minLength: 1
type: string
data_sample:
description: Sample task data for preview
description:
type: string
input_schema:
description: JSON Schema declaring expected task data field types for import validation
messages:
description: Chat conversation history
metadata:
description: Arbitrary metadata for this interface
nullable: true
output_schema:
description: JSON Schema declaring the annotation output fields this interface produces (for Prompter/auto-labeling)
scenarios:
nullable: true
type: string
title:
maxLength: 500
minLength: 1
type: string
versions:
description: Code version history
workspace:
nullable: true
type: integer
type: object
PatchedLseOrganizationSerializerUpdateRequest:
description: |-
A serializer mixin that takes an additional `fields` argument that controls
which fields should be displayed.
properties:
allow_unsafe_instruction_tags:
description: Keep script, iframe, style and other active tags in project instructions
type: boolean
writeOnly: true
contact_info:
format: email
maxLength: 254
nullable: true
type: string
custom_interfaces_enabled:
description: Enable or disable custom interfaces for this organization
type: boolean
writeOnly: true
custom_scripts_enabled:
description: Plugins
nullable: true
type: boolean
writeOnly: true
email_notification_settings:
description: Email Notification Settings
nullable: true
writeOnly: true
embed_domains:
description: Supported domains
items:
additionalProperties:
minLength: 1
type: string
type: object
nullable: true
type: array
writeOnly: true
embed_enabled:
description: Enable or disable embed functionality for this organization
type: boolean
writeOnly: true
embed_settings:
description: Public Verification Key and Public Verification Algorithms configuration
nullable: true
writeOnly: true
interface_settings:
description: 'Security settings for custom interfaces: CSP allowlists, script origins, iframe permissions'
nullable: true
writeOnly: true
react_code_settings:
description: ReactCode settings
nullable: true
writeOnly: true
title:
description: Organization name
minLength: 1
nullable: true
type: string
writeOnly: true
token:
maxLength: 256
nullable: true
type: string
type: object
PatchedLseProjectUpdateRequest:
description: |-
Serializer get numbers from project queryset annotation,
make sure, that you use correct one(Project.objects.with_counts())
properties:
agreement_methodology:
allOf:
- $ref: '#/components/schemas/AgreementMethodologyEnum'
default: pairwise
description: |-
Methodology (Consensus / Pairwise Averaging)
* `consensus` - Consensus
* `pairwise` - Pairwise Averaging
agreement_threshold:
description: Agreement threshold
format: decimal
nullable: true
pattern: ^-?\d{0,1}(?:\.\d{0,2})?$
type: string
annotation_limit_count:
description: Limit by number of tasks
minimum: 1
nullable: true
type: integer
annotation_limit_percent:
description: Limit by percentage of tasks
format: decimal
nullable: true
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
annotator_evaluation_continuous_tasks:
default: 0
description: 'Continuous Evaluation: Required tasks'
minimum: 0
type: integer
annotator_evaluation_enabled:
description: Evaluate all annotators against ground truth
type: boolean
annotator_evaluation_metric:
allOf:
- $ref: '#/components/schemas/AnnotatorEvaluationMetricEnum'
default: gt_agreement
description: |-
Metric used to evaluate annotators. Defaults to gt_agreement.
* `gt_agreement` - Ground truth agreement
* `acceptance_score` - Acceptance score
* `rejection_rate` - Rejection rate
nullable: true
annotator_evaluation_minimum_score:
default: '95.00'
description: Score required to pass evaluation
format: decimal
nullable: true
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
annotator_evaluation_minimum_tasks:
default: 10
description: Number of tasks for evaluation
minimum: 0
nullable: true
type: integer
annotator_evaluation_onboarding_tasks:
default: 0
description: 'Onboarding Evaluation: Required tasks'
minimum: 0
type: integer
assignment_settings:
$ref: '#/components/schemas/AssignmentSettingsRequest'
color:
description: Color
maxLength: 16
nullable: true
type: string
comment_classification_config:
type: string
control_weights:
additionalProperties:
$ref: '#/components/schemas/ControlTagWeightRequest'
description: Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight.
nullable: true
type: object
created_by:
allOf:
- $ref: '#/components/schemas/UserSimpleRequest'
description: Project owner
custom_interface_code:
nullable: true
type: string
custom_interface_compiled:
nullable: true
type: string
custom_interface_params:
nullable: true
custom_script:
description: Plugins
type: string
custom_task_lock_ttl:
description: Task reservation time. TTL in seconds (UI displays and edits this value in minutes).
maximum: 86400
minimum: 1
nullable: true
type: integer
description:
description: Description (Public)
nullable: true
type: string
dm_column_defaults:
additionalProperties: false
description: Soft Data Manager column visibility and order defaults. Returned on project reads for every role so Data Manager can apply them at runtime; Managers and above may set this. explore is the main grid (shared order, role-keyed visible lists). labeling is reserved for independent Quick View defaults. On update, omitted surfaces keep their stored values; send null to clear both surfaces.
nullable: true
properties:
explore:
additionalProperties: false
description: Main Data Manager grid.
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
labeling:
additionalProperties: false
description: Quick View (reserved).
properties:
order:
description: Shared column id order for this surface.
items:
type: string
type: array
visible:
additionalProperties:
items:
type: string
type: array
description: Public organization role to visible column ids.
type: object
type: object
type: object
enable_empty_annotation:
description: Allow empty annotations
type: boolean
evaluate_predictions_automatically:
description: Retrieve and display predictions when loading a task
type: boolean
expert_instruction:
description: Instructions
nullable: true
type: string
input_schema:
nullable: true
internal_description:
description: Description (Internal)
nullable: true
is_draft:
description: Whether or not the project is in the middle of being created
type: boolean
is_published:
description: Whether or not the project is published to annotators
title: Published
type: boolean
label_config:
description: Labeling Configuration
nullable: true
type: string
max_additional_annotators_assignable:
description: Maximum additional annotators
nullable: true
type: integer
maximum_annotations:
description: Annotations per task
maximum: 2147483647
minimum: -2147483648
title: Maximum annotation number
type: integer
min_annotations_to_start_training:
description: Minimum number of completed tasks after which model training is started
maximum: 2147483647
minimum: -2147483648
type: integer
model_version:
description: Machine learning model version
nullable: true
type: string
organization:
nullable: true
type: integer
output_schema:
nullable: true
overlap_cohort_percentage:
description: Annotations per task coverage
maximum: 2147483647
minimum: -2147483648
type: integer
pause_on_failed_annotator_evaluation:
default: false
description: Pause annotator on failed evaluation
nullable: true
type: boolean
pinned_at:
description: Pinned date and time
format: date-time
nullable: true
type: string
require_comment_on_skip:
default: false
description: Require comment to skip
type: boolean
reveal_preannotations_interactively:
description: Reveal pre-annotations interactively
type: boolean
review_settings:
$ref: '#/components/schemas/ReviewSettingsRequest'
sampling:
allOf:
- $ref: '#/components/schemas/ProjectSamplingEnum'
nullable: true
show_annotation_history:
description: Show Data Manager to Annotators
type: boolean
show_collab_predictions:
description: Use predictions to pre-label Tasks
title: Show predictions to annotator
type: boolean
show_ground_truth_first:
deprecated: true
description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream'
type: boolean
show_instruction:
description: Show instructions before labeling
type: boolean
show_overlap_first:
description: Show tasks with overlap first
type: boolean
show_skip_button:
description: Allow skipping tasks
type: boolean
show_unused_data_columns_to_annotators:
description: 'Show only columns used in labeling configuration to Annotators. API uses inverse field semantics here: set false to show only used columns, set true to show all task.data columns.'
nullable: true
type: boolean
skip_queue:
allOf:
- $ref: '#/components/schemas/SkipQueueEnum'
nullable: true
source_interface_id:
nullable: true
type: integer
source_interface_version:
description: Stable version ID of the saved interface snapshot used by this project.
nullable: true
type: integer
strict_task_overlap:
default: true
description: Enforce strict overlap limit
type: boolean
task_data_login:
description: Login
maxLength: 256
nullable: true
type: string
task_data_password:
description: Password
maxLength: 256
nullable: true
type: string
title:
description: Project Name
maxLength: 50
minLength: 3
nullable: true
type: string
use_custom_interface:
default: false
type: boolean
workspace:
description: Workspace
type: integer
type: object
PatchedLseS3ExportStorageRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
external_id:
description: AWS ExternalId
nullable: true
title: ExternalID
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
legacy_auth:
nullable: true
type: boolean
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
role_arn:
description: AWS RoleArn
minLength: 1
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedLseS3ImportStorageRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
external_id:
description: AWS ExternalId
nullable: true
title: ExternalID
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
legacy_auth:
nullable: true
type: boolean
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
role_arn:
description: AWS RoleArn
minLength: 1
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedLseTaskRequest:
description: Data Manager Task Serializer with FSM state support.
properties:
allow_skip:
description: Whether this task can be skipped. Set to False to make task unskippable.
nullable: true
type: boolean
avg_lead_time:
format: double
type: number
cancelled_annotations:
type: integer
comment_count:
description: Number of comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
completed_at:
format: date-time
type: string
data:
additionalProperties: {}
description: User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI.
type: object
draft_exists:
type: boolean
ground_truth:
type: boolean
inner_id:
type: integer
is_labeled:
description: True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project
type: boolean
last_comment_updated_at:
description: When the last comment was updated
format: date-time
nullable: true
type: string
meta:
description: Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps.
nullable: true
overlap:
description: Number of distinct annotators that processed the current task
maximum: 2147483647
minimum: -2147483648
type: integer
precomputed_agreement:
description: Average agreement score for the task
format: double
nullable: true
type: number
predictions_score:
format: double
type: number
project:
description: Project ID for this task
nullable: true
type: integer
reviewed:
type: boolean
reviewed_at:
format: date-time
nullable: true
type: string
reviews_accepted:
type: integer
reviews_rejected:
type: integer
total_annotations:
type: integer
total_predictions:
type: integer
unresolved_comment_count:
description: Number of unresolved comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
type: object
PatchedLseUserSerializerUpdateRequest:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
active_organization:
nullable: true
type: integer
allow_newsletters:
description: Allow sending newsletters to user
nullable: true
type: boolean
custom_hotkeys:
description: Custom keyboard shortcuts configuration for the user interface
nullable: true
date_joined:
format: date-time
type: string
email_notification_settings:
writeOnly: true
first_name:
maxLength: 256
type: string
is_email_verified:
nullable: true
type: boolean
writeOnly: true
last_name:
maxLength: 256
type: string
onboarding_state:
minLength: 1
nullable: true
type: string
writeOnly: true
password:
minLength: 1
type: string
writeOnly: true
phone:
maxLength: 256
type: string
username:
maxLength: 256
minLength: 1
type: string
type: object
PatchedMLBackendRequestRequest:
description: OpenAPI/SDK request body for ML backend create/update. Runtime still uses MLBackendSerializer.
properties:
auth_method:
$ref: '#/components/schemas/AuthMethodEnum'
auto_update:
description: If false, model version is set by the user, if true - getting latest version from backend.
type: boolean
basic_auth_pass:
nullable: true
type: string
writeOnly: true
basic_auth_user:
description: HTTP Basic Auth user
nullable: true
type: string
description:
description: Description for the machine learning backend
nullable: true
type: string
extra_params:
description: Any extra parameters passed to the ML Backend during the setup
nullable: true
is_interactive:
description: Used to interactively annotate tasks. If true, model returns one list with results
type: boolean
model_version:
description: Current model version associated with this machine learning backend
nullable: true
type: string
project:
type: integer
timeout:
description: Response model timeout
format: double
type: number
title:
description: Name of the machine learning backend
nullable: true
type: string
url:
description: URL for the machine learning model server
minLength: 1
type: string
type: object
PatchedModelInterfaceRequest:
properties:
associated_projects:
items:
type: integer
type: array
created_by:
allOf:
- $ref: '#/components/schemas/UserSimpleRequest'
description: User who created Dataset
description:
description: Model description
nullable: true
type: string
input_fields: {}
organization:
nullable: true
type: integer
output_classes: {}
skill_name:
allOf:
- $ref: '#/components/schemas/SkillNameEnum'
default: TextClassification
title:
description: Model name
maxLength: 500
minLength: 1
type: string
type: object
PatchedModelProviderConnectionRequest:
properties:
api_key:
description: Model provider API key
nullable: true
type: string
writeOnly: true
auth_token:
description: Model provider Auth token
nullable: true
type: string
writeOnly: true
budget_alert_threshold:
description: Budget alert threshold for the given provider connection
format: double
nullable: true
type: number
cached_available_models:
description: List of available models from the provider
maxLength: 4096
nullable: true
type: string
deployment_name:
description: Azure OpenAI deployment name
maxLength: 512
nullable: true
type: string
endpoint:
description: Azure OpenAI endpoint
maxLength: 512
nullable: true
type: string
google_application_credentials:
description: The content of GOOGLE_APPLICATION_CREDENTIALS json file
nullable: true
type: string
writeOnly: true
google_location:
description: Google project location
maxLength: 255
nullable: true
type: string
google_project_id:
description: Google project ID
maxLength: 255
nullable: true
type: string
is_internal:
description: Whether the model provider connection is internal, not visible to the user
nullable: true
type: boolean
provider:
$ref: '#/components/schemas/ProviderEnum'
scope:
$ref: '#/components/schemas/ScopeEnum'
type: object
PatchedOrganizationMemberCreateUpdateRequest:
properties:
role:
allOf:
- $ref: '#/components/schemas/AssignableOrganizationRoleEnum'
description: |-
Organization role
* `OW` - Owner
* `AD` - Administrator
* `MA` - Manager
* `RE` - Reviewer
* `AN` - Annotator
* `DI` - Deactivated
* `NO` - Not Activated
user_id:
description: Member
type: integer
user_type:
allOf:
- $ref: '#/components/schemas/StandardUserTypeEnum'
description: |-
Membership seat type. Assigning a working role to a View-Only member upgrades them to a paid Standard seat. Flex seats keep the working role and consume Flex capacity in assigned claim mode. View-Only is not accepted because paid-to-View-Only downgrade is not supported.
* `standard` - Standard
* `flex` - Flex
type: object
PatchedOrganizationMemberTagRequest:
properties:
label:
description: Label
maxLength: 255
minLength: 1
type: string
type: object
PatchedOrganizationPermissionRequest:
properties:
permission:
maxLength: 255
minLength: 1
type: string
roles:
description: Organization roles
items:
$ref: '#/components/schemas/OrganizationRoleEnum'
type: array
type: object
PatchedPauseRequest:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
reason:
allOf:
- $ref: '#/components/schemas/ReasonEnum'
description: |-
Reason for pausing
* `MANUAL` - Manual
* `BEHAVIOR_BASED` - Behavior-based
* `ANNOTATOR_EVALUATION` - Annotator evaluation
* `ANNOTATION_LIMIT` - Annotation limit
* `CUSTOM_SCRIPT` - Custom script
verbose_reason:
description: Detailed description of why the project is paused, will be readable by paused annotators
nullable: true
type: string
type: object
PatchedPredictionRequest:
properties:
cluster:
description: Cluster for the current prediction
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
mislabeling:
description: Related task mislabeling score
format: double
type: number
model:
description: An ML Backend instance that created the prediction.
nullable: true
type: integer
model_run:
description: A run of a ModelVersion that created the prediction.
nullable: true
type: integer
model_version:
description: Model version - tag for predictions that can be used to filter tasks in Data Manager, as well as select specific model version for showing preannotations in the labeling interface
type: string
neighbors:
description: Array of task IDs of the closest neighbors
nullable: true
project:
nullable: true
type: integer
result:
description: List of prediction results for the task
items:
description: List of predicted regions for the task
title: Prediction result items (regions)
type: object
title: Prediction result list
type: array
score:
description: Prediction score
format: double
nullable: true
type: number
task:
type: integer
type: object
PatchedProjectLearningAssignmentRequest:
properties:
allow_manual_access:
type: boolean
gate_annotator_data_manager:
nullable: true
type: boolean
gate_annotator_label_stream:
nullable: true
type: boolean
gate_reviewer_data_manager:
nullable: true
type: boolean
gate_reviewer_label_stream:
nullable: true
type: boolean
gate_reviewer_review_stream:
nullable: true
type: boolean
learning_resource_id:
type: integer
writeOnly: true
sort_order:
maximum: 2147483647
minimum: 0
type: integer
type: object
PatchedProjectTemplateRequest:
properties:
assignment_settings:
description: general dict serialized assignment settings
created_by:
nullable: true
type: integer
custom_script:
description: custom script (Plugin) for projects created from this template
minLength: 1
nullable: true
type: string
description:
minLength: 1
nullable: true
type: string
name:
maxLength: 1000
minLength: 1
type: string
organization:
nullable: true
type: integer
project_id:
type: integer
writeOnly: true
project_settings:
description: general dict serialized project settings
require_comment_on_skip:
description: flag to require comment on skip
type: boolean
review_settings:
description: general dict serialized review settings
show_unused_data_columns_to_annotators:
nullable: true
type: boolean
tags: {}
type: object
PatchedRedisExportStorageWriteRequest:
properties:
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
db:
description: Server Database
maximum: 32767
minimum: 0
type: integer
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Server Host IP (optional)
nullable: true
type: string
password:
description: Server Password (optional)
nullable: true
type: string
path:
description: Storage prefix (optional)
nullable: true
type: string
port:
description: Server Port (optional)
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
title: Port
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedRedisImportStorageWriteRequest:
properties:
db:
description: Server Database
maximum: 32767
minimum: 0
type: integer
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Server Host IP (optional)
nullable: true
type: string
password:
description: Server Password (optional)
nullable: true
type: string
path:
description: Storage prefix (optional)
nullable: true
type: string
port:
description: Server Port (optional)
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
title: Port
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedS3DatasetStorageRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
dataset:
description: A unique integer value identifying this dataset.
type: integer
description:
description: Cloud storage description
nullable: true
type: string
glob_pattern:
description: Glob pattern for syncing from bucket
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synced:
description: Flag if dataset has been previously synced or not
type: boolean
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedS3ExportStorageWriteRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
prefix:
description: S3 bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedS3ImportStorageWriteRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
prefix:
description: S3 bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
type: object
PatchedSessionTimeoutPolicyRequest:
properties:
max_session_age:
description: Number of minutes that a session can be active before needing to re-login
maximum: 2147483647
minimum: 1
title: Max session age (minutes)
type: integer
max_time_between_activity:
description: Number of minutes that a session stays active without any activity
maximum: 2147483647
minimum: 1
title: Max time (minutes) between activity
type: integer
type: object
PatchedTaskAssigneesMutationRequest:
properties:
type:
$ref: '#/components/schemas/AssignmentTypeEnum'
users:
items:
type: integer
type: array
type: object
PatchedThirdPartyModelVersionRequest:
properties:
max_few_shot_examples:
description: Max number of few-shot examples to include in prompts. 0 = disabled.
maximum: 2147483647
minimum: 0
nullable: true
type: integer
model_provider_connection:
nullable: true
type: integer
organization:
nullable: true
type: integer
parent_model:
description: Parent model interface ID
type: integer
prompt:
description: Prompt to execute
minLength: 1
type: string
provider:
allOf:
- $ref: '#/components/schemas/ProviderEnum'
description: |-
The model provider to use e.g. OpenAI
* `OpenAI` - OpenAI
* `AzureOpenAI` - AzureOpenAI
* `AzureAIFoundry` - AzureAIFoundry
* `VertexAI` - VertexAI
* `Gemini` - Gemini
* `Anthropic` - Anthropic
* `Custom` - Custom
provider_model_id:
description: The model ID to use within the given provider, e.g. gpt-3.5
maxLength: 255
minLength: 1
type: string
title:
description: Model name
maxLength: 500
minLength: 1
type: string
type: object
PatchedViewRequestRequest:
description: Public view write contract; runtime conversion remains in ``ViewSerializer``.
properties:
data:
$ref: '#/components/schemas/ViewDataRequestRequest'
project:
description: Project ID
type: integer
type: object
PatchedWebhookSerializerForUpdateRequest:
description: |-
Serializer class for updating webhooks
Used to forbid updating project field.
properties:
actions:
default: []
items:
$ref: '#/components/schemas/ActionsEnum'
type: array
headers:
description: Key Value Json of headers
title: Request extra headers of webhook
is_active:
description: If value is False the webhook is disabled
title: Is webhook active
type: boolean
send_for_all_actions:
description: If value is False - used only for actions from WebhookAction
title: Use webhook for all actions
type: boolean
send_payload:
description: If value is False send only action
title: Does webhook send the payload
type: boolean
url:
description: URL of webhook
format: uri
maxLength: 2048
minLength: 1
title: URL of webhook
type: string
type: object
PatchedWorkspaceRequest:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
color:
description: Color
maxLength: 16
nullable: true
type: string
description:
description: Workspace description
nullable: true
type: string
is_archived:
description: Workspace is archived
title: Archived
type: boolean
is_personal:
description: Workspace is a personal user workspace
title: Personal
type: boolean
title:
description: Workspace Name
maxLength: 1000
minLength: 1
type: string
type: object
Pause:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
created_at:
description: Timestamp when this pause record was created
format: date-time
readOnly: true
type: string
deleted_at:
description: Timestamp when this pause record was soft-deleted
format: date-time
nullable: true
readOnly: true
type: string
deleted_by:
description: User who soft-deleted this pause record
nullable: true
readOnly: true
type: integer
id:
readOnly: true
type: integer
paused_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
project:
description: Related project for which the pause is set
nullable: true
readOnly: true
type: integer
reason:
allOf:
- $ref: '#/components/schemas/ReasonEnum'
description: |-
Reason for pausing
* `MANUAL` - Manual
* `BEHAVIOR_BASED` - Behavior-based
* `ANNOTATOR_EVALUATION` - Annotator evaluation
* `ANNOTATION_LIMIT` - Annotation limit
* `CUSTOM_SCRIPT` - Custom script
updated_at:
description: Timestamp when this pause record was last updated
format: date-time
readOnly: true
type: string
user:
description: User who is paused
nullable: true
readOnly: true
type: integer
verbose_reason:
description: Detailed description of why the project is paused, will be readable by paused annotators
nullable: true
type: string
required:
- created_at
- deleted_at
- deleted_by
- id
- paused_by
- project
- reason
- updated_at
- user
type: object
PauseRequest:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
reason:
allOf:
- $ref: '#/components/schemas/ReasonEnum'
description: |-
Reason for pausing
* `MANUAL` - Manual
* `BEHAVIOR_BASED` - Behavior-based
* `ANNOTATOR_EVALUATION` - Annotator evaluation
* `ANNOTATION_LIMIT` - Annotation limit
* `CUSTOM_SCRIPT` - Custom script
verbose_reason:
description: Detailed description of why the project is paused, will be readable by paused annotators
nullable: true
type: string
required:
- reason
type: object
Prediction:
properties:
cluster:
description: Cluster for the current prediction
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
created_ago:
default: ''
description: Delta time from creation time
readOnly: true
type: string
created_at:
format: date-time
readOnly: true
type: string
id:
readOnly: true
type: integer
mislabeling:
description: Related task mislabeling score
format: double
type: number
model:
description: An ML Backend instance that created the prediction.
nullable: true
type: integer
model_run:
description: A run of a ModelVersion that created the prediction.
nullable: true
type: integer
model_version:
description: Model version - tag for predictions that can be used to filter tasks in Data Manager, as well as select specific model version for showing preannotations in the labeling interface
type: string
neighbors:
description: Array of task IDs of the closest neighbors
nullable: true
project:
nullable: true
type: integer
result:
description: List of prediction results for the task
items:
description: List of predicted regions for the task
title: Prediction result items (regions)
type: object
title: Prediction result list
type: array
score:
description: Prediction score
format: double
nullable: true
type: number
task:
type: integer
updated_at:
format: date-time
readOnly: true
type: string
required:
- created_ago
- created_at
- id
- result
- task
- updated_at
type: object
PredictionCountResponse:
properties:
existing_predictions:
type: integer
tasks_to_run:
type: integer
total_tasks:
type: integer
required:
- existing_predictions
- tasks_to_run
- total_tasks
type: object
PredictionRequest:
properties:
cluster:
description: Cluster for the current prediction
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
mislabeling:
description: Related task mislabeling score
format: double
type: number
model:
description: An ML Backend instance that created the prediction.
nullable: true
type: integer
model_run:
description: A run of a ModelVersion that created the prediction.
nullable: true
type: integer
model_version:
description: Model version - tag for predictions that can be used to filter tasks in Data Manager, as well as select specific model version for showing preannotations in the labeling interface
type: string
neighbors:
description: Array of task IDs of the closest neighbors
nullable: true
project:
nullable: true
type: integer
result:
description: List of prediction results for the task
items:
description: List of predicted regions for the task
title: Prediction result items (regions)
type: object
title: Prediction result list
type: array
score:
description: Prediction score
format: double
nullable: true
type: number
task:
type: integer
required:
- result
- task
type: object
PrepareParamsFiltersRequest:
description: 'Filters to apply on tasks. You can use [the helper class `Filters` from this page](https://labelstud.io/sdk/data_manager.html) to create Data Manager Filters. Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}`'
properties:
conjunction:
allOf:
- $ref: '#/components/schemas/ConjunctionEnum'
description: Logical conjunction for the filters. This conjunction (either "or" or "and") will be applied to all items in the filters list. It is not possible to combine "or" and "and" within one list of filters. All filters will be either combined with "or" or with "and", but not a mix of both.
items:
description: List of filter items
items:
example:
filter: filter:tasks:id
operator: greater
type: Number
value: 123
properties:
child_filters:
description: Ordered child filters AND-merged with their parent. Child filters cannot be nested.
items:
properties:
filter:
description: 'Filter identifier, it should start with `filter:tasks:` prefix, e.g. `filter:tasks:agreement`. For `task.data` fields it may look like `filter:tasks:data.field_name`. If you need more info about columns, check the [Get data manager columns](api:GET/api/dm/columns/) API endpoint. Possible values:
`filter:tasks:agreement` (Number) Agreement for annotation results for a specific task (Enterprise only)
`filter:tasks:annotations_results` (String) Annotation results for the tasks
`filter:tasks:annotators` (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer
`filter:tasks:cancelled_annotations` (Number) Number of cancelled or skipped annotations for the task
`filter:tasks:comments` (Number) Number of comments in a task
`filter:tasks:completed_at` (Datetime) Time when a task was fully annotated
`filter:tasks:created_at` (Datetime) Time the task was created at
`filter:tasks:file_upload` (String) Name of the file uploaded to create the tasks
`filter:tasks:ground_truth` (Boolean) Ground truth status of the tasks
`filter:tasks:id` (Number) Task ID
`filter:tasks:inner_id` (Number) Task Inner ID, it starts from 1 for all projects
`filter:tasks:predictions_model_versions` (String) Model version used for the predictions
`filter:tasks:predictions_results` (String) Prediction results for the tasks
`filter:tasks:predictions_score` (Number) Prediction score for the task
`filter:tasks:reviewed` (Boolean) Whether the tasks have been reviewed (Enterprise only)
`filter:tasks:reviewers` (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer
`filter:tasks:reviews_accepted` (Number) Number of annotations accepted for a task in review (Enterprise only)
`filter:tasks:reviews_rejected` (Number) Number of annotations rejected for a task in review (Enterprise only)
`filter:tasks:total_annotations` (Number) Total number of annotations on a task
`filter:tasks:total_predictions` (Number) Total number of predictions for the task
`filter:tasks:unresolved_comment_count` (Number) Number of unresolved comments in a task
`filter:tasks:updated_at` (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)
`in` Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`
`in_list` Field value is one of the items in the supplied list. Value must be a JSON array of strings or numbers, e.g. `[1, 2, 3]` or `["a", "b"]`. Supported only for Task ID, Inner ID, and `task.data.*` fields.
`less` Less than
`less_or_equal` Less than or equal to
`not_contains` Does not contain
`not_equal` Not equal to
`not_exists` Does not exist
`not_in` Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`
`not_in_list` Field value is NOT in the supplied list. Value must be a JSON array of strings or numbers. Supported only for Task ID, Inner ID, and `task.data.*` fields.
`starts_with` Starts with
'
enum:
- contains
- ends_with
- equal
- exists
- greater
- greater_or_equal
- in
- in_list
- less
- less_or_equal
- not_contains
- not_equal
- not_exists
- not_in
- not_in_list
- starts_with
type: string
type:
description: Type of the filter value. Possible values:
`Boolean` Boolean
`Datetime` Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format
`List` List of items
`Number` Float or Integer
`String` String
`Unknown` Unknown is explicitly converted to string format
type: string
value:
description: Value to filter by
oneOf:
- description: String
title: String
type: string
- description: Integer
title: Integer
type: integer
- description: Float
format: float
title: Float
type: number
- description: Boolean
title: Boolean
type: boolean
- description: Dictionary is used for some operator types, e.g. `in` and `not_in`
title: Dictionary
type: object
- description: List of strings or integers. Used by the `in_list` and `not_in_list` operators, e.g. `[1, 2, 3]` or `["a", "b"]`.
title: List
type: object
type: object
required:
- filter
- operator
- type
- value
type: object
type: array
filter:
description: 'Filter identifier, it should start with `filter:tasks:` prefix, e.g. `filter:tasks:agreement`. For `task.data` fields it may look like `filter:tasks:data.field_name`. If you need more info about columns, check the [Get data manager columns](api:GET/api/dm/columns/) API endpoint. Possible values:
`filter:tasks:agreement` (Number) Agreement for annotation results for a specific task (Enterprise only)
`filter:tasks:annotations_results` (String) Annotation results for the tasks
`filter:tasks:annotators` (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer
`filter:tasks:cancelled_annotations` (Number) Number of cancelled or skipped annotations for the task
`filter:tasks:comments` (Number) Number of comments in a task
`filter:tasks:completed_at` (Datetime) Time when a task was fully annotated
`filter:tasks:created_at` (Datetime) Time the task was created at
`filter:tasks:file_upload` (String) Name of the file uploaded to create the tasks
`filter:tasks:ground_truth` (Boolean) Ground truth status of the tasks
`filter:tasks:id` (Number) Task ID
`filter:tasks:inner_id` (Number) Task Inner ID, it starts from 1 for all projects
`filter:tasks:predictions_model_versions` (String) Model version used for the predictions
`filter:tasks:predictions_results` (String) Prediction results for the tasks
`filter:tasks:predictions_score` (Number) Prediction score for the task
`filter:tasks:reviewed` (Boolean) Whether the tasks have been reviewed (Enterprise only)
`filter:tasks:reviewers` (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer
`filter:tasks:reviews_accepted` (Number) Number of annotations accepted for a task in review (Enterprise only)
`filter:tasks:reviews_rejected` (Number) Number of annotations rejected for a task in review (Enterprise only)
`filter:tasks:total_annotations` (Number) Total number of annotations on a task
`filter:tasks:total_predictions` (Number) Total number of predictions for the task
`filter:tasks:unresolved_comment_count` (Number) Number of unresolved comments in a task
`filter:tasks:updated_at` (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)
`in` Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`
`in_list` Field value is one of the items in the supplied list. Value must be a JSON array of strings or numbers, e.g. `[1, 2, 3]` or `["a", "b"]`. Supported only for Task ID, Inner ID, and `task.data.*` fields.
`less` Less than
`less_or_equal` Less than or equal to
`not_contains` Does not contain
`not_equal` Not equal to
`not_exists` Does not exist
`not_in` Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`
`not_in_list` Field value is NOT in the supplied list. Value must be a JSON array of strings or numbers. Supported only for Task ID, Inner ID, and `task.data.*` fields.
`starts_with` Starts with
'
enum:
- contains
- ends_with
- equal
- exists
- greater
- greater_or_equal
- in
- in_list
- less
- less_or_equal
- not_contains
- not_equal
- not_exists
- not_in
- not_in_list
- starts_with
type: string
type:
description: Type of the filter value. Possible values:
`Boolean` Boolean
`Datetime` Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format
`List` List of items
`Number` Float or Integer
`String` String
`Unknown` Unknown is explicitly converted to string format
type: string
value:
description: Value to filter by
oneOf:
- description: String
title: String
type: string
- description: Integer
title: Integer
type: integer
- description: Float
format: float
title: Float
type: number
- description: Boolean
title: Boolean
type: boolean
- description: Dictionary is used for some operator types, e.g. `in` and `not_in`
title: Dictionary
type: object
- description: List of strings or integers. Used by the `in_list` and `not_in_list` operators, e.g. `[1, 2, 3]` or `["a", "b"]`.
title: List
type: object
type: object
required:
- filter
- operator
- type
- value
type: object
type: array
required:
- conjunction
- items
type: object
PrepareParamsOrderingRequest:
description: List of fields to order by. Fields are similar to filters but without the `filter:` prefix. To reverse the order, add a minus sign before the field name, e.g. `-tasks:created_at`.
items:
enum:
- tasks:agreement
- tasks:annotations_results
- tasks:annotators
- tasks:cancelled_annotations
- tasks:comments
- tasks:completed_at
- tasks:created_at
- tasks:file_upload
- tasks:ground_truth
- tasks:id
- tasks:inner_id
- tasks:predictions_model_versions
- tasks:predictions_results
- tasks:predictions_score
- tasks:reviewed
- tasks:reviewers
- tasks:reviews_accepted
- tasks:reviews_rejected
- tasks:total_annotations
- tasks:total_predictions
- tasks:unresolved_comment_count
- tasks:updated_at
type: string
type: array
PrepareParamsRequestRequest:
properties:
filters:
allOf:
- $ref: '#/components/schemas/PrepareParamsFiltersRequest'
nullable: true
ordering:
allOf:
- $ref: '#/components/schemas/PrepareParamsOrderingRequest'
nullable: true
selectedItems:
description: 'Task selection by IDs. If filters are applied, the selection will be applied to the filtered tasks.If "all" is `false`, `"included"` must be used. If "all" is `true`, `"excluded"` must be used. Examples: `{"all": false, "included": [1, 2, 3]}` or `{"all": true, "excluded": [4, 5]}`'
nullable: true
oneOf:
- properties:
all:
description: No tasks are selected
enum:
- false
type: boolean
included:
description: List of included task IDs
items:
type: integer
type: array
required:
- all
title: 'all: false'
type: object
- properties:
all:
description: All tasks are selected
enum:
- true
type: boolean
excluded:
description: List of excluded task IDs
items:
type: integer
type: array
required:
- all
title: 'all: true'
type: object
required:
- all
type: object
type: object
Project:
description: |-
Serializer get numbers from project queryset annotation,
make sure, that you use correct one(Project.objects.with_counts())
properties:
annotator_evaluation_enabled:
description: Enable annotator evaluation for the project
type: boolean
color:
maxLength: 16
nullable: true
type: string
config_has_control_tags:
description: Flag to detect is project ready for labeling
readOnly: true
type: boolean
config_suitable_for_bulk_annotation:
description: Flag to detect is project ready for bulk annotation
readOnly: true
type: boolean
control_weights:
additionalProperties:
$ref: '#/components/schemas/ControlTagWeight'
description: Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight.
nullable: true
type: object
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
description: Project owner
description:
description: Project description
nullable: true
type: string
enable_empty_annotation:
description: Allow annotators to submit empty annotations
type: boolean
evaluate_predictions_automatically:
description: Retrieve and display predictions when loading a task
type: boolean
expert_instruction:
description: Labeling instructions in HTML format
nullable: true
type: string
finished_task_number:
description: Finished tasks
readOnly: true
type: integer
ground_truth_number:
description: Honeypot annotation number in project
readOnly: true
type: integer
id:
readOnly: true
type: integer
is_draft:
description: Whether or not the project is in the middle of being created
type: boolean
is_published:
description: Whether or not the project is published to annotators
title: Published
type: boolean
label_config:
description: Label config in XML format. See more about it in documentation
nullable: true
type: string
maximum_annotations:
description: Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True)
maximum: 2147483647
minimum: -2147483648
title: Maximum annotation number
type: integer
min_annotations_to_start_training:
description: Minimum number of completed tasks after which model training is started
maximum: 2147483647
minimum: -2147483648
type: integer
model_version:
description: Machine learning model version
nullable: true
type: string
num_tasks_with_annotations:
description: Tasks with annotations count
readOnly: true
type: integer
organization:
nullable: true
type: integer
overlap_cohort_percentage:
maximum: 2147483647
minimum: -2147483648
type: integer
parsed_label_config:
additionalProperties: true
description: JSON-formatted labeling configuration
readOnly: true
type: object
pinned_at:
description: Pinned date and time
format: date-time
nullable: true
type: string
queue_done:
readOnly: true
type: integer
queue_total:
readOnly: true
type: integer
reveal_preannotations_interactively:
description: Reveal pre-annotations interactively
type: boolean
sampling:
allOf:
- $ref: '#/components/schemas/ProjectSamplingEnum'
nullable: true
show_annotation_history:
description: Show annotation history to annotator
type: boolean
show_collab_predictions:
description: If set, the annotator can view model predictions
title: Show predictions to annotator
type: boolean
show_ground_truth_first:
deprecated: true
description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream'
type: boolean
show_instruction:
description: Show instructions to the annotator before they start
type: boolean
show_overlap_first:
type: boolean
show_skip_button:
description: Show a skip button in interface and allow annotators to skip the task
type: boolean
skip_queue:
allOf:
- $ref: '#/components/schemas/SkipQueueEnum'
nullable: true
skipped_annotations_number:
description: Skipped by collaborators annotation number in project
readOnly: true
type: integer
start_training_on_annotation_update:
description: Start model training after any annotations are submitted or updated
readOnly: true
type: boolean
state:
readOnly: true
type: string
task_data_login:
description: 'Task data credentials: login'
maxLength: 256
nullable: true
type: string
task_data_password:
description: 'Task data credentials: password'
maxLength: 256
nullable: true
type: string
task_number:
description: Total task number in project
readOnly: true
type: integer
title:
description: Project name. Must be between 3 and 50 characters long.
maxLength: 50
minLength: 3
nullable: true
type: string
total_annotations_number:
description: Total annotations number in project including skipped_annotations_number and ground_truth_number.
readOnly: true
type: integer
total_predictions_number:
description: Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number.
readOnly: true
type: integer
useful_annotation_number:
description: Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number
readOnly: true
type: integer
required:
- config_has_control_tags
- config_suitable_for_bulk_annotation
- created_at
- finished_task_number
- ground_truth_number
- id
- num_tasks_with_annotations
- parsed_label_config
- queue_done
- queue_total
- skipped_annotations_number
- start_training_on_annotation_update
- state
- task_number
- total_annotations_number
- total_predictions_number
- useful_annotation_number
type: object
ProjectAnnotationsBrowseItem:
properties:
annotator:
type: string
annotator_id:
nullable: true
type: integer
created_at:
type: string
ground_truth:
type: boolean
id:
type: integer
result: {}
task_id:
type: integer
title:
type: string
required:
- annotator
- annotator_id
- created_at
- ground_truth
- id
- result
- task_id
- title
type: object
ProjectAnnotationsBrowseResponse:
properties:
annotations:
items:
$ref: '#/components/schemas/ProjectAnnotationsBrowseItem'
type: array
count:
type: integer
required:
- annotations
- count
type: object
ProjectDuplicateModeEnum:
description: |-
* `settings` - Only settings
* `settings,data` - Settings and tasks
enum:
- settings
- settings,data
type: string
ProjectDuplicateRequest:
properties:
description:
default: ''
description: Project Description
type: string
include_members:
default: true
description: Whether to include explicit project members and project role overrides in the duplicated project.
type: boolean
mode:
allOf:
- $ref: '#/components/schemas/ProjectDuplicateModeEnum'
description: |-
What to Duplicate (Project configuration only / Project configuration and tasks)
* `settings` - Only settings
* `settings,data` - Settings and tasks
title:
description: Project Name
maxLength: 50
minLength: 3
type: string
workspace:
description: Destination Workspace
type: integer
required:
- mode
- title
- workspace
type: object
ProjectGroup:
properties:
group:
description: Group name
type: string
project_id:
description: Project ID
type: integer
role:
allOf:
- $ref: '#/components/schemas/ProjectGroupRoleEnum'
description: |-
Project role (Inherit, Annotator, Reviewer)
* `Inherit` - Inherit
* `Annotator` - Annotator
* `Reviewer` - Reviewer
required:
- group
- project_id
- role
type: object
ProjectGroupRequest:
properties:
group:
description: Group name
minLength: 1
type: string
project_id:
description: Project ID
type: integer
role:
allOf:
- $ref: '#/components/schemas/ProjectGroupRoleEnum'
description: |-
Project role (Inherit, Annotator, Reviewer)
* `Inherit` - Inherit
* `Annotator` - Annotator
* `Reviewer` - Reviewer
required:
- group
- project_id
- role
type: object
ProjectGroupRoleEnum:
description: |-
* `Inherit` - Inherit
* `Annotator` - Annotator
* `Reviewer` - Reviewer
enum:
- Inherit
- Annotator
- Reviewer
type: string
ProjectImport:
description: |-
Detail serializer for async project imports.
Note: ``tasks`` (raw request payload) is intentionally omitted from the public
API for payload size and data-exposure safety. Use ``task_ids`` when
``return_task_ids`` was requested on create.
properties:
annotation_count:
maximum: 2147483647
minimum: -2147483648
type: integer
commit_to_project:
type: boolean
could_be_tasks_list:
type: boolean
created_at:
description: Creation time
format: date-time
nullable: true
readOnly: true
type: string
data_columns: {}
duration:
maximum: 2147483647
minimum: -2147483648
type: integer
error:
nullable: true
type: string
file_upload_ids: {}
finished_at:
description: Complete or fail time
format: date-time
nullable: true
type: string
found_formats: {}
id:
readOnly: true
type: integer
preannotated_from_fields:
nullable: true
prediction_count:
maximum: 2147483647
minimum: -2147483648
type: integer
project:
nullable: true
type: integer
return_task_ids:
type: boolean
status:
$ref: '#/components/schemas/ProjectImportStatusEnum'
task_count:
maximum: 2147483647
minimum: -2147483648
type: integer
task_ids: {}
updated_at:
description: Last time import progress or terminal status was updated
format: date-time
nullable: true
type: string
url:
maxLength: 2048
nullable: true
type: string
required:
- created_at
- id
type: object
ProjectImportList:
description: Slim list serializer — excludes large fields like task_ids.
properties:
annotation_count:
maximum: 2147483647
minimum: -2147483648
type: integer
commit_to_project:
type: boolean
created_at:
description: Creation time
format: date-time
nullable: true
readOnly: true
type: string
duration:
maximum: 2147483647
minimum: -2147483648
type: integer
error:
nullable: true
type: string
file_upload_ids: {}
finished_at:
description: Complete or fail time
format: date-time
nullable: true
type: string
id:
readOnly: true
type: integer
prediction_count:
maximum: 2147483647
minimum: -2147483648
type: integer
project:
nullable: true
type: integer
status:
$ref: '#/components/schemas/ProjectImportStatusEnum'
task_count:
maximum: 2147483647
minimum: -2147483648
type: integer
updated_at:
description: Last time import progress or terminal status was updated
format: date-time
nullable: true
type: string
required:
- created_at
- id
type: object
ProjectImportStatusEnum:
description: |-
* `created` - Created
* `in_progress` - In progress
* `failed` - Failed
* `completed` - Completed
enum:
- created
- in_progress
- failed
- completed
type: string
ProjectLabelConfig:
properties:
label_config:
description: Label config in XML format. See more about it in documentation
type: string
required:
- label_config
type: object
ProjectLabelConfigRequest:
properties:
label_config:
description: Label config in XML format. See more about it in documentation
minLength: 1
type: string
required:
- label_config
type: object
ProjectLearningAssignment:
properties:
allow_manual_access:
type: boolean
created_at:
format: date-time
readOnly: true
type: string
gate_annotator_data_manager:
nullable: true
type: boolean
gate_annotator_label_stream:
nullable: true
type: boolean
gate_reviewer_data_manager:
nullable: true
type: boolean
gate_reviewer_label_stream:
nullable: true
type: boolean
gate_reviewer_review_stream:
nullable: true
type: boolean
id:
readOnly: true
type: integer
learning_resource:
allOf:
- $ref: '#/components/schemas/LearningResourceAssignmentSummary'
readOnly: true
project:
readOnly: true
type: integer
sort_order:
maximum: 2147483647
minimum: 0
type: integer
updated_at:
format: date-time
readOnly: true
type: string
required:
- created_at
- id
- learning_resource
- project
- updated_at
type: object
ProjectLearningAssignmentCreateRequest:
properties:
allow_manual_access:
type: boolean
gate_annotator_data_manager:
type: boolean
gate_annotator_label_stream:
type: boolean
gate_reviewer_data_manager:
type: boolean
gate_reviewer_label_stream:
type: boolean
gate_reviewer_review_stream:
type: boolean
insert_after_id:
type: integer
insert_before_id:
type: integer
learning_resource_id:
type: integer
sort_order:
type: integer
required:
- learning_resource_id
type: object
ProjectMember:
properties:
user:
type: integer
required:
- user
type: object
ProjectMemberBulkAssignRequest:
properties:
all:
description: Apply to all project members
type: boolean
excluded:
description: Excluded user IDs
items:
minimum: 1
type: integer
type: array
included:
description: Included user IDs
items:
minimum: 1
type: integer
type: array
roles:
description: Member roles
items:
$ref: '#/components/schemas/ProjectMemberBulkAssignRolesRequest'
type: array
required:
- all
type: object
ProjectMemberBulkAssignResponse:
properties:
assignments:
type: integer
skipped_user_ids:
items:
type: integer
type: array
required:
- assignments
- skipped_user_ids
type: object
ProjectMemberBulkAssignRolesRequest:
properties:
role:
allOf:
- $ref: '#/components/schemas/AssignableOrganizationRoleEnum'
description: |-
Role
* `OW` - Owner
* `AD` - Administrator
* `MA` - Manager
* `RE` - Reviewer
* `AN` - Annotator
* `DI` - Deactivated
* `NO` - Not Activated
user_id:
description: User ID
minimum: 1
type: integer
required:
- role
- user_id
type: object
ProjectMemberIdentityVerificationError:
properties:
skipped_user_ids:
items:
type: integer
type: array
required:
- skipped_user_ids
type: object
ProjectMemberRequest:
properties:
user:
type: integer
required:
- user
type: object
ProjectReimport:
properties:
annotation_count:
maximum: 2147483647
minimum: -2147483648
type: integer
created_at:
description: Creation time
format: date-time
nullable: true
readOnly: true
type: string
data_columns: {}
duration:
maximum: 2147483647
minimum: -2147483648
type: integer
error:
nullable: true
type: string
file_upload_ids: {}
files_as_tasks_list:
type: boolean
finished_at:
description: Complete or fail time
format: date-time
nullable: true
type: string
found_formats: {}
id:
readOnly: true
type: integer
prediction_count:
maximum: 2147483647
minimum: -2147483648
type: integer
project:
nullable: true
type: integer
status:
$ref: '#/components/schemas/ProjectImportStatusEnum'
task_count:
maximum: 2147483647
minimum: -2147483648
type: integer
updated_at:
description: Last time reimport progress or terminal status was updated
format: date-time
nullable: true
type: string
required:
- created_at
- id
type: object
ProjectReimportList:
properties:
annotation_count:
maximum: 2147483647
minimum: -2147483648
type: integer
created_at:
description: Creation time
format: date-time
nullable: true
readOnly: true
type: string
duration:
maximum: 2147483647
minimum: -2147483648
type: integer
error:
nullable: true
type: string
file_upload_ids: {}
finished_at:
description: Complete or fail time
format: date-time
nullable: true
type: string
id:
readOnly: true
type: integer
prediction_count:
maximum: 2147483647
minimum: -2147483648
type: integer
project:
nullable: true
type: integer
status:
$ref: '#/components/schemas/ProjectImportStatusEnum'
task_count:
maximum: 2147483647
minimum: -2147483648
type: integer
updated_at:
description: Last time reimport progress or terminal status was updated
format: date-time
nullable: true
type: string
required:
- created_at
- id
type: object
ProjectRole:
properties:
id:
readOnly: true
type: integer
project:
type: integer
role:
$ref: '#/components/schemas/AssignableOrganizationRoleEnum'
role_source:
allOf:
- $ref: '#/components/schemas/RoleSourceEnum'
nullable: true
readOnly: true
user:
type: integer
required:
- id
- project
- role
- role_source
- user
type: object
ProjectRoleAssignment:
description: A project-scoped role assignment. Project roles never affect the seat count.
properties:
assigned_role:
description: Role code this group is mapped to
nullable: true
type: string
assigned_role_display:
nullable: true
type: string
assignment_id:
description: Primary key of the assignment record
type: integer
created_at:
format: date-time
type: string
identity_provider_group:
description: Name of the group in the identity provider (Okta/Entra) that created this record
nullable: true
type: string
linked_membership_id:
description: Membership this assignment is attached to; null means an incomplete record
nullable: true
type: integer
mapping_status:
allOf:
- $ref: '#/components/schemas/MappingStatusEnum'
description: |-
configured = the group is still mapped in SCIM settings; orphaned = the mapping is gone but the record remains; missing_membership = the record is not linked to a membership
* `configured` - Configured
* `orphaned` - Orphaned
* `missing_membership` - Missing membership
mapping_status_display:
type: string
project_id:
description: Null when the record has no linked membership
nullable: true
type: integer
project_title:
nullable: true
type: string
required:
- assigned_role
- assigned_role_display
- assignment_id
- created_at
- identity_provider_group
- linked_membership_id
- mapping_status
- mapping_status_display
- project_id
- project_title
type: object
ProjectRoleRequest:
properties:
project:
type: integer
role:
$ref: '#/components/schemas/AssignableOrganizationRoleEnum'
user:
type: integer
required:
- project
- role
- user
type: object
ProjectSamplingEnum:
description: |-
* `Sequential sampling` - Tasks are ordered by Data manager ordering
* `Uniform sampling` - Tasks are chosen randomly
* `Uncertainty sampling` - Tasks are chosen according to model uncertainty scores (active learning mode)
enum:
- Sequential sampling
- Uniform sampling
- Uncertainty sampling
type: string
ProjectSubsetEnum:
description: |-
* `All` - All
* `HasGT` - HasGT
* `Sample` - Sample
* `Custom` - Custom
enum:
- All
- HasGT
- Sample
- Custom
type: string
ProjectSubsetItem:
properties:
columns_schema:
items:
additionalProperties: {}
type: object
type: array
count:
type: integer
subset:
type: string
required:
- count
- subset
type: object
ProjectSubsetTaskItem:
properties:
data:
additionalProperties: {}
type: object
error:
additionalProperties: {}
type: object
ground_truth:
additionalProperties: {}
type: object
id:
type: integer
prediction:
additionalProperties: {}
type: object
score:
format: double
nullable: true
type: number
required:
- data
type: object
ProjectSubsetTasksResponse:
properties:
next_cursor:
nullable: true
type: string
previous_cursor:
nullable: true
type: string
task_count:
description: Present only when include_total=true
type: integer
task_result_list:
items:
$ref: '#/components/schemas/ProjectSubsetTaskItem'
type: array
required:
- task_result_list
type: object
ProjectTemplate:
properties:
assignment_settings:
description: general dict serialized assignment settings
created_at:
format: date-time
readOnly: true
type: string
created_by:
nullable: true
type: integer
custom_script:
description: custom script (Plugin) for projects created from this template
nullable: true
type: string
description:
nullable: true
type: string
id:
readOnly: true
type: integer
name:
maxLength: 1000
type: string
organization:
nullable: true
type: integer
project_settings:
description: general dict serialized project settings
require_comment_on_skip:
description: flag to require comment on skip
type: boolean
review_settings:
description: general dict serialized review settings
show_unused_data_columns_to_annotators:
nullable: true
type: boolean
tags: {}
updated_at:
format: date-time
readOnly: true
type: string
required:
- created_at
- id
- name
- updated_at
type: object
ProjectTemplateRequest:
properties:
assignment_settings:
description: general dict serialized assignment settings
created_by:
nullable: true
type: integer
custom_script:
description: custom script (Plugin) for projects created from this template
minLength: 1
nullable: true
type: string
description:
minLength: 1
nullable: true
type: string
name:
maxLength: 1000
minLength: 1
type: string
organization:
nullable: true
type: integer
project_id:
type: integer
writeOnly: true
project_settings:
description: general dict serialized project settings
require_comment_on_skip:
description: flag to require comment on skip
type: boolean
review_settings:
description: general dict serialized review settings
show_unused_data_columns_to_annotators:
nullable: true
type: boolean
tags: {}
required:
- name
- project_id
type: object
PromptPreviewResponse:
properties:
rendered_prompt:
type: string
required:
- rendered_prompt
type: object
PromptsStatusEnum:
description: |-
* `Enabled` - Enabled
* `Cloud license per organization disabled` - Cloud license per organization disabled
* `On-premise global license disabled` - On-premise global license disabled
* `Expired` - Expired
* `Adala not connected` - Adala not connected
* `Disabled for this organization [FF]` - Disabled for this organization [FF]
* `unknown` - unknown
enum:
- Enabled
- Cloud license per organization disabled
- On-premise global license disabled
- Expired
- Adala not connected
- Disabled for this organization [FF]
- unknown
type: string
ProviderEnum:
description: |-
* `OpenAI` - OpenAI
* `AzureOpenAI` - AzureOpenAI
* `AzureAIFoundry` - AzureAIFoundry
* `VertexAI` - VertexAI
* `Gemini` - Gemini
* `Anthropic` - Anthropic
* `Custom` - Custom
enum:
- OpenAI
- AzureOpenAI
- AzureAIFoundry
- VertexAI
- Gemini
- Anthropic
- Custom
type: string
PublishLearningResourceRequest:
properties:
force_reshown:
default: false
type: boolean
retake_scope:
allOf:
- $ref: '#/components/schemas/RetakeScopeEnum'
default: none
type: object
ReEvaluate:
properties:
mode:
$ref: '#/components/schemas/ReEvaluateModeEnum'
model_version_id:
type: integer
run_b_id:
type: integer
source_model_run_id:
type: integer
task_ids:
default: []
items:
type: integer
type: array
required:
- mode
- model_version_id
type: object
ReEvaluateModeEnum:
description: |-
* `failed` - failed
* `incorrect` - incorrect
* `regressions` - regressions
* `custom` - custom
enum:
- failed
- incorrect
- regressions
- custom
type: string
ReEvaluateRequest:
properties:
mode:
$ref: '#/components/schemas/ReEvaluateModeEnum'
model_version_id:
type: integer
run_b_id:
type: integer
source_model_run_id:
type: integer
task_ids:
default: []
items:
type: integer
type: array
required:
- mode
- model_version_id
type: object
ReasonEnum:
description: |-
* `MANUAL` - Manual
* `BEHAVIOR_BASED` - Behavior-based
* `ANNOTATOR_EVALUATION` - Annotator evaluation
* `ANNOTATION_LIMIT` - Annotation limit
* `CUSTOM_SCRIPT` - Custom script
enum:
- MANUAL
- BEHAVIOR_BASED
- ANNOTATOR_EVALUATION
- ANNOTATION_LIMIT
- CUSTOM_SCRIPT
type: string
RedisExportStorage:
properties:
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
db:
description: Server Database
maximum: 32767
minimum: 0
type: integer
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Server Host IP (optional)
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
password:
description: Server Password (optional)
nullable: true
type: string
path:
description: Storage prefix (optional)
nullable: true
type: string
port:
description: Server Port (optional)
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
title: Port
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: redis
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
RedisExportStorageValidateRequest:
properties:
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
db:
description: Server Database
maximum: 32767
minimum: 0
type: integer
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Server Host IP (optional)
nullable: true
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
password:
description: Server Password (optional)
nullable: true
type: string
path:
description: Storage prefix (optional)
nullable: true
type: string
port:
description: Server Port (optional)
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
title: Port
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
RedisExportStorageWriteRequest:
properties:
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
db:
description: Server Database
maximum: 32767
minimum: 0
type: integer
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Server Host IP (optional)
nullable: true
type: string
password:
description: Server Password (optional)
nullable: true
type: string
path:
description: Storage prefix (optional)
nullable: true
type: string
port:
description: Server Port (optional)
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
title: Port
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
RedisImportStorage:
properties:
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
db:
description: Server Database
maximum: 32767
minimum: 0
type: integer
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Server Host IP (optional)
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
password:
description: Server Password (optional)
nullable: true
type: string
path:
description: Storage prefix (optional)
nullable: true
type: string
port:
description: Server Port (optional)
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
title: Port
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: redis
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
RedisImportStorageValidateRequest:
properties:
db:
description: Server Database
maximum: 32767
minimum: 0
type: integer
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Server Host IP (optional)
nullable: true
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
password:
description: Server Password (optional)
nullable: true
type: string
path:
description: Storage prefix (optional)
nullable: true
type: string
port:
description: Server Port (optional)
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
title: Port
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
RedisImportStorageWriteRequest:
properties:
db:
description: Server Database
maximum: 32767
minimum: 0
type: integer
description:
description: Cloud storage description
nullable: true
type: string
host:
description: Server Host IP (optional)
nullable: true
type: string
password:
description: Server Password (optional)
nullable: true
type: string
path:
description: Storage prefix (optional)
nullable: true
type: string
port:
description: Server Port (optional)
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
title: Port
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
RefinePromptRequestRequest:
properties:
project_id:
description: Project ID to target the refined prompt for
type: integer
teacher_model_name:
description: Name of the model to use to refine the prompt
minLength: 1
type: string
teacher_model_provider_connection_id:
description: Model Provider Connection ID to use to refine the prompt
type: integer
required:
- project_id
- teacher_model_name
- teacher_model_provider_connection_id
type: object
RefinedPromptResponse:
properties:
previous_version:
allOf:
- $ref: '#/components/schemas/ThirdPartyModelVersion'
description: Previous version of the prompt
nullable: true
prompt:
description: The refined prompt text
type: string
reasoning:
description: Reasoning behind the refinement
nullable: true
type: string
refinement_job_id:
description: Unique identifier for the refinement job
nullable: true
type: string
refinement_status:
description: Status of the refinement job
nullable: true
type: string
title:
description: Title of the refined prompt
nullable: true
type: string
total_cost:
description: Total cost of the refinement job (in USD)
nullable: true
type: string
required:
- previous_version
- prompt
- reasoning
- refinement_job_id
- refinement_status
- title
- total_cost
type: object
RegressionSummary:
properties:
improvements:
type: integer
new:
type: integer
regressions:
type: integer
removed:
type: integer
stable_correct:
type: integer
stable_incorrect:
type: integer
required:
- improvements
- new
- regressions
- removed
- stable_correct
- stable_incorrect
type: object
RegressionsResponse:
properties:
improvements:
items: {}
type: array
new:
items: {}
type: array
regressions:
items: {}
type: array
removed:
items: {}
type: array
run_a:
type: integer
run_b:
type: integer
stable_correct:
items: {}
type: array
stable_incorrect:
items: {}
type: array
summary:
$ref: '#/components/schemas/RegressionSummary'
required:
- improvements
- new
- regressions
- removed
- run_a
- run_b
- stable_correct
- stable_incorrect
- summary
type: object
RejectActionEnum:
description: |-
* `remove` - Remove
* `requeue` - Requeue
* `redistribute` - Redistribute
enum:
- remove
- requeue
- redistribute
type: string
RequeueRejectedTasksModeEnum:
description: |-
* `requeue` - Requeue
* `remove` - Remove
* `flexible` - Flexible
enum:
- requeue
- remove
- flexible
type: string
RetakeReasonEnum:
description: |-
* `manual` - Manual invalidation
* `gt_agreement` - Ground truth / agreement threshold
enum:
- manual
- gt_agreement
type: string
RetakeScopeEnum:
description: |-
* `none` - none
* `full` - full
* `changed_modules` - changed_modules
enum:
- none
- full
- changed_modules
type: string
ReviewCriteriaEnum:
description: |-
* `all` - Task is reviewed if all annotations are reviewed
* `one` - Task is reviewed if at least one annotation is reviewed
enum:
- all
- one
type: string
ReviewRoutingRule:
properties:
agreement_threshold:
description: Agreement threshold (0..1) compared against the rule operator. Required when operator is set.
format: decimal
nullable: true
pattern: ^-?\d{0,1}(?:\.\d{0,4})?$
type: string
created_at:
description: Time this rule was created
format: date-time
readOnly: true
type: string
dimension:
description: Dimension whose agreement is compared. Null => compare overall task agreement. Deleting the dimension cascades to the rule (a dimension-scoped rule has no meaning without its dimension; falling back to overall agreement would silently change the cohort).
nullable: true
type: integer
id:
type: integer
operator:
allOf:
- $ref: '#/components/schemas/OperatorEnum'
description: |-
Comparison operator applied to the agreement value. Null => catch-all rule.
* `lt` - <
* `lte` - <=
* `gt` - >
* `gte` - >=
* `eq` - =
nullable: true
order:
description: Position in the rule list (rules are evaluated in ascending order)
readOnly: true
type: integer
sample_rate:
description: Sample rate (0..1) of matching tasks routed for review. 1 always routes, 0 never routes.
format: decimal
pattern: ^-?\d{0,1}(?:\.\d{0,4})?$
type: string
updated_at:
description: Last time this rule was updated
format: date-time
readOnly: true
type: string
required:
- created_at
- order
- updated_at
type: object
ReviewRoutingRuleRequestRequest:
properties:
agreement_threshold:
format: decimal
nullable: true
pattern: ^-?\d{0,1}(?:\.\d{0,4})?$
type: string
dimension:
nullable: true
type: integer
id:
type: integer
operator:
allOf:
- $ref: '#/components/schemas/OperatorEnum'
nullable: true
sample_rate:
format: decimal
pattern: ^-?\d{0,1}(?:\.\d{0,4})?$
type: string
required:
- agreement_threshold
- dimension
- operator
- sample_rate
type: object
ReviewRoutingRulesReplaceRequest:
properties:
rules:
items:
$ref: '#/components/schemas/ReviewRoutingRuleRequestRequest'
type: array
required:
- rules
type: object
ReviewSettings:
properties:
allowed_reject_actions:
items:
$ref: '#/components/schemas/RejectActionEnum'
type: array
annotator_batch_percent:
description: Percent of an annotator’s work to review before moving to another annotator
format: decimal
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
anonymize_annotations:
description: Hide annotator names from annotations while review
type: boolean
default_reject_action:
allOf:
- $ref: '#/components/schemas/RejectActionEnum'
description: |-
Reject action a reviewer triggers in one click, without opening the reject options menu
* `remove` - Remove
* `requeue` - Requeue
* `redistribute` - Redistribute
id:
readOnly: true
type: integer
instruction:
description: Instructions
nullable: true
type: string
only_finished_tasks:
description: Show only finished tasks in the review stream
type: boolean
project:
nullable: true
type: integer
requeue_rejected_tasks_mode:
allOf:
- $ref: '#/components/schemas/RequeueRejectedTasksModeEnum'
description: |-
Deprecated. Prefer allowed_reject_actions. Remove rejected annotations from labeling queue / Requeue rejected annotations back to annotators / Allow reviewer to decide: Remove or Requeue
* `requeue` - Requeue
* `remove` - Remove
* `flexible` - Flexible
nullable: true
requeue_rejected_tasks_to_annotator:
description: Deprecated. Prefer allowed_reject_actions. If set, the rejected task is requeued to the annotator
readOnly: true
type: boolean
require_comment_on_reject:
description: Reviewers must leave a comment on reject
type: boolean
review_criteria:
allOf:
- $ref: '#/components/schemas/ReviewCriteriaEnum'
description: |-
Task is reviewed after at least one accepted annotation / Task is reviewed when all annotations are reviewed
* `all` - Task is reviewed if all annotations are reviewed
* `one` - Task is reviewed if at least one annotation is reviewed
nullable: true
review_only_manual_assignments:
description: Show only manually assigned tasks in the review stream
type: boolean
review_task_limit_percent:
description: Task limit (%)
format: decimal
nullable: true
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
sampling:
allOf:
- $ref: '#/components/schemas/ReviewSettingsSamplingEnum'
description: |-
By Task ID / Random / By Annotator
* `task_id` - By Task ID
* `random` - Random
* `by_annotator` - By Annotator
nullable: true
show_agreement_to_reviewers:
description: Show agreement to reviewers in the Data Manager
type: boolean
show_data_manager_to_reviewers:
description: Show the Data Manager to reviewers
type: boolean
show_instruction:
description: Show before reviewing
type: boolean
show_unused_data_columns_to_reviewers:
description: Show unused task data columns to reviewers in the Data Manager
nullable: true
type: boolean
required:
- id
- requeue_rejected_tasks_to_annotator
type: object
ReviewSettingsRequest:
properties:
allowed_reject_actions:
items:
$ref: '#/components/schemas/RejectActionEnum'
type: array
annotator_batch_percent:
description: Percent of an annotator’s work to review before moving to another annotator
format: decimal
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
anonymize_annotations:
description: Hide annotator names from annotations while review
type: boolean
default_reject_action:
allOf:
- $ref: '#/components/schemas/RejectActionEnum'
description: |-
Reject action a reviewer triggers in one click, without opening the reject options menu
* `remove` - Remove
* `requeue` - Requeue
* `redistribute` - Redistribute
instruction:
description: Instructions
nullable: true
type: string
only_finished_tasks:
description: Show only finished tasks in the review stream
type: boolean
project:
nullable: true
type: integer
requeue_rejected_tasks_mode:
allOf:
- $ref: '#/components/schemas/RequeueRejectedTasksModeEnum'
description: |-
Deprecated. Prefer allowed_reject_actions. Remove rejected annotations from labeling queue / Requeue rejected annotations back to annotators / Allow reviewer to decide: Remove or Requeue
* `requeue` - Requeue
* `remove` - Remove
* `flexible` - Flexible
nullable: true
require_comment_on_reject:
description: Reviewers must leave a comment on reject
type: boolean
review_criteria:
allOf:
- $ref: '#/components/schemas/ReviewCriteriaEnum'
description: |-
Task is reviewed after at least one accepted annotation / Task is reviewed when all annotations are reviewed
* `all` - Task is reviewed if all annotations are reviewed
* `one` - Task is reviewed if at least one annotation is reviewed
nullable: true
review_only_manual_assignments:
description: Show only manually assigned tasks in the review stream
type: boolean
review_task_limit_percent:
description: Task limit (%)
format: decimal
nullable: true
pattern: ^-?\d{0,3}(?:\.\d{0,2})?$
type: string
sampling:
allOf:
- $ref: '#/components/schemas/ReviewSettingsSamplingEnum'
description: |-
By Task ID / Random / By Annotator
* `task_id` - By Task ID
* `random` - Random
* `by_annotator` - By Annotator
nullable: true
show_agreement_to_reviewers:
description: Show agreement to reviewers in the Data Manager
type: boolean
show_data_manager_to_reviewers:
description: Show the Data Manager to reviewers
type: boolean
show_instruction:
description: Show before reviewing
type: boolean
show_unused_data_columns_to_reviewers:
description: Show unused task data columns to reviewers in the Data Manager
nullable: true
type: boolean
type: object
ReviewSettingsSamplingEnum:
description: |-
* `task_id` - By Task ID
* `random` - Random
* `by_annotator` - By Annotator
enum:
- task_id
- random
- by_annotator
type: string
RevokeCertificateRequest:
properties:
reason:
default: ''
type: string
type: object
RevokeInviteRequest:
properties:
email:
description: Email address
minLength: 1
type: string
required:
- email
type: object
RoleBasedTask:
oneOf:
- $ref: '#/components/schemas/LseTask'
- $ref: '#/components/schemas/LseTaskSerializerForReviewers'
- $ref: '#/components/schemas/LseTaskSerializerForAnnotators'
RoleSourceEnum:
description: |-
* `manual` - Manual
* `saml` - SAML
* `scim` - SCIM
* `ldap` - LDAP
* `api` - API
* `billing` - Billing
enum:
- manual
- saml
- scim
- ldap
- api
- billing
type: string
S3DatasetStorage:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
dataset:
description: A unique integer value identifying this dataset.
type: integer
description:
description: Cloud storage description
nullable: true
type: string
glob_pattern:
description: Glob pattern for syncing from bucket
nullable: true
type: string
id:
readOnly: true
type: integer
job_id:
nullable: true
readOnly: true
title: The Job ID for the GCP Dataproc job that will import the records of this dataset into the vector db
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synced:
description: Flag if dataset has been previously synced or not
type: boolean
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: s3
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- dataset
- id
- job_id
- type
type: object
S3DatasetStorageRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
dataset:
description: A unique integer value identifying this dataset.
type: integer
description:
description: Cloud storage description
nullable: true
type: string
glob_pattern:
description: Glob pattern for syncing from bucket
nullable: true
type: string
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synced:
description: Flag if dataset has been previously synced or not
type: boolean
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- dataset
type: object
S3ExportStorage:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: s3
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
S3ExportStorageValidateRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
prefix:
description: S3 bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
S3ExportStorageWriteRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
can_delete_objects:
description: Deletion from storage enabled
nullable: true
type: boolean
description:
description: Cloud storage description
nullable: true
type: string
prefix:
description: S3 bucket prefix
nullable: true
type: string
project:
description: A unique integer value identifying this project.
type: integer
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
S3ImportStorage:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
readOnly: true
type: integer
last_sync:
description: Last sync finished time
format: date-time
nullable: true
type: string
last_sync_count:
description: Count of tasks synced last time
maximum: 2147483647
minimum: 0
nullable: true
type: integer
last_sync_job:
description: Last sync job ID
maxLength: 256
nullable: true
type: string
meta:
description: Meta and debug information about storage processes
nullable: true
prefix:
description: S3 bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
status:
$ref: '#/components/schemas/StorageStatusEnum'
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
traceback:
description: Traceback report for the last failed sync
nullable: true
type: string
type:
default: s3
readOnly: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- created_at
- id
- project
- type
type: object
S3ImportStorageValidateRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
id:
description: Storage ID. If set, storage with specified ID will be updated
type: integer
prefix:
description: S3 bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
S3ImportStorageWriteRequest:
properties:
aws_access_key_id:
description: AWS_ACCESS_KEY_ID
nullable: true
type: string
aws_secret_access_key:
description: AWS_SECRET_ACCESS_KEY
nullable: true
type: string
aws_session_token:
description: AWS_SESSION_TOKEN
nullable: true
type: string
aws_sse_kms_key_id:
description: AWS SSE KMS Key ID
nullable: true
type: string
bucket:
description: S3 bucket name
nullable: true
type: string
description:
description: Cloud storage description
nullable: true
type: string
prefix:
description: S3 bucket prefix
nullable: true
type: string
presign:
default: true
type: boolean
presign_ttl:
description: Presigned URLs TTL (in minutes)
maximum: 32767
minimum: 0
type: integer
project:
description: A unique integer value identifying this project.
type: integer
recursive_scan:
description: Perform recursive scan over the bucket content
type: boolean
regex_filter:
description: Cloud storage regex for filtering objects
nullable: true
type: string
region_name:
description: AWS Region
nullable: true
type: string
s3_endpoint:
description: S3 Endpoint
nullable: true
type: string
synchronizable:
default: true
type: boolean
title:
description: Cloud storage title
maxLength: 256
nullable: true
type: string
use_blob_urls:
description: Interpret objects as BLOBs and generate URLs
type: boolean
required:
- project
type: object
SamlSettings:
description: |-
Serializer for reading SAML settings (GET requests).
Includes all model fields plus computed read-only fields for SP URLs
that are needed for IdP configuration.
properties:
acs_url:
nullable: true
readOnly: true
type: string
domain:
description: 'Organization web domain or domains; use comma separated list with no spaces for multiple. Example:
labelstud.io,humansignal.com
IMPORTANT: DO NOT PUT COMMON DOMAINS LIKE GMAIL.COM, YAHOO.COM, ETC. IN THIS FIELD'
maxLength: 65536
minLength: 3
type: string
idp_provider:
description: Identity Provider preset key (e.g. okta, azure, google, custom)
maxLength: 256
nullable: true
title: Identity provider
type: string
login_url:
nullable: true
readOnly: true
type: string
logout_url:
nullable: true
readOnly: true
type: string
manual_role_management:
description: Allow manually assigning organization roles instead of IdP-managed groups. None = use billing default.
nullable: true
type: boolean
mapping_email:
description: 'Mapping attributes: user email from SAML request'
maxLength: 1024
minLength: 1
nullable: true
title: Email
type: string
mapping_first_name:
description: 'Mapping attributes: user first name from SAML request'
maxLength: 1024
nullable: true
title: First name
type: string
mapping_groups:
description: 'Mapping attributes: groups attribute for user mapping to workspaces and roles'
maxLength: 1024
nullable: true
title: Groups
type: string
mapping_last_name:
description: 'Mapping attributes: user last name from SAML request'
maxLength: 1024
nullable: true
title: Last name
type: string
metadata_url:
description: URL SAML metadata from IdP
maxLength: 65536
type: string
metadata_xml:
description: Metadata XML file
type: string
metadata_xml_url:
nullable: true
readOnly: true
type: string
nameid_format:
readOnly: true
type: string
projects_groups:
description: Projects to Groups Mapping. List of objects with project_id, group, role.
items:
$ref: '#/components/schemas/ProjectGroup'
nullable: true
type: array
roles_groups:
description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs.
items:
items:
type: string
type: array
nullable: true
type: array
token:
maxLength: 256
type: string
user_type_capacities:
additionalProperties:
additionalProperties: {}
type: object
description: Live seat usage and limits by seat type (Standard, View Only, Flex).
readOnly: true
type: object
user_type_groups:
description: Seat Types to Groups Mapping. List of [seat_type, group_name] pairs.
items:
items:
type: string
type: array
nullable: true
type: array
workspaces_groups:
description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs.
items:
items:
type: string
type: array
nullable: true
type: array
required:
- acs_url
- login_url
- logout_url
- metadata_xml_url
- nameid_format
- user_type_capacities
type: object
SamlSettingsUpdate:
description: Serializer for updating SAML settings (POST requests).
properties:
domain:
description: 'Organization web domain or domains; use comma separated list with no spaces for multiple. Example:
labelstud.io,humansignal.com
IMPORTANT: DO NOT PUT COMMON DOMAINS LIKE GMAIL.COM, YAHOO.COM, ETC. IN THIS FIELD'
maxLength: 65536
minLength: 3
type: string
idp_provider:
description: Identity Provider preset key (e.g. okta, azure, google, custom)
maxLength: 256
nullable: true
title: Identity provider
type: string
manual_role_management:
description: Allow manually assigning organization roles instead of IdP-managed groups. None = use billing default.
nullable: true
type: boolean
mapping_email:
description: 'Mapping attributes: user email from SAML request'
maxLength: 1024
minLength: 1
nullable: true
title: Email
type: string
mapping_first_name:
description: 'Mapping attributes: user first name from SAML request'
maxLength: 1024
nullable: true
title: First name
type: string
mapping_groups:
description: 'Mapping attributes: groups attribute for user mapping to workspaces and roles'
maxLength: 1024
nullable: true
title: Groups
type: string
mapping_last_name:
description: 'Mapping attributes: user last name from SAML request'
maxLength: 1024
nullable: true
title: Last name
type: string
metadata_url:
description: URL SAML metadata from IdP
maxLength: 65536
type: string
metadata_xml:
description: Metadata XML file
type: string
projects_groups:
description: Projects to Groups Mapping. List of objects with project_id, group, role.
items:
$ref: '#/components/schemas/ProjectGroup'
type: array
roles_groups:
description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs.
items:
items:
type: string
type: array
type: array
user_type_groups:
description: Seat Types to Groups Mapping. List of [seat_type, group_name] pairs.
items:
items:
type: string
type: array
type: array
workspaces_groups:
description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs.
items:
items:
type: string
type: array
type: array
type: object
SamlSettingsUpdateRequest:
description: Serializer for updating SAML settings (POST requests).
properties:
domain:
description: 'Organization web domain or domains; use comma separated list with no spaces for multiple. Example:
labelstud.io,humansignal.com
IMPORTANT: DO NOT PUT COMMON DOMAINS LIKE GMAIL.COM, YAHOO.COM, ETC. IN THIS FIELD'
maxLength: 65536
minLength: 3
type: string
idp_provider:
description: Identity Provider preset key (e.g. okta, azure, google, custom)
maxLength: 256
nullable: true
title: Identity provider
type: string
manual_role_management:
description: Allow manually assigning organization roles instead of IdP-managed groups. None = use billing default.
nullable: true
type: boolean
mapping_email:
description: 'Mapping attributes: user email from SAML request'
maxLength: 1024
minLength: 1
nullable: true
title: Email
type: string
mapping_first_name:
description: 'Mapping attributes: user first name from SAML request'
maxLength: 1024
nullable: true
title: First name
type: string
mapping_groups:
description: 'Mapping attributes: groups attribute for user mapping to workspaces and roles'
maxLength: 1024
nullable: true
title: Groups
type: string
mapping_last_name:
description: 'Mapping attributes: user last name from SAML request'
maxLength: 1024
nullable: true
title: Last name
type: string
metadata_url:
description: URL SAML metadata from IdP
maxLength: 65536
type: string
metadata_xml:
description: Metadata XML file
type: string
projects_groups:
description: Projects to Groups Mapping. List of objects with project_id, group, role.
items:
$ref: '#/components/schemas/ProjectGroupRequest'
type: array
roles_groups:
description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs.
items:
items:
minLength: 1
type: string
type: array
type: array
user_type_groups:
description: Seat Types to Groups Mapping. List of [seat_type, group_name] pairs.
items:
items:
minLength: 1
type: string
type: array
type: array
workspaces_groups:
description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs.
items:
items:
minLength: 1
type: string
type: array
type: array
type: object
ScimSettings:
properties:
projects_groups:
description: Projects to Groups Mapping. List of objects with project_id, group, role.
items:
$ref: '#/components/schemas/ProjectGroup'
nullable: true
type: array
roles_groups:
description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs.
items:
items:
type: string
type: array
nullable: true
type: array
user_type_capacities:
additionalProperties:
additionalProperties: {}
type: object
description: Live seat usage and limits by seat type (Standard, View Only, Flex).
readOnly: true
type: object
user_type_groups:
description: Seat Types to Groups Mapping. List of [seat_type, group_name] pairs.
items:
items:
type: string
type: array
nullable: true
type: array
workspaces_groups:
description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs.
items:
items:
type: string
type: array
nullable: true
type: array
required:
- user_type_capacities
type: object
ScimSettingsUpdate:
properties:
projects_groups:
description: Projects to Groups Mapping. List of objects with project_id, group, role.
items:
$ref: '#/components/schemas/ProjectGroup'
type: array
roles_groups:
description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs.
items:
items:
type: string
type: array
type: array
user_type_groups:
description: Seat Types to Groups Mapping. List of [seat_type, group_name] pairs.
items:
items:
type: string
type: array
type: array
workspaces_groups:
description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs.
items:
items:
type: string
type: array
type: array
type: object
ScimSettingsUpdateRequest:
properties:
projects_groups:
description: Projects to Groups Mapping. List of objects with project_id, group, role.
items:
$ref: '#/components/schemas/ProjectGroupRequest'
type: array
roles_groups:
description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs.
items:
items:
minLength: 1
type: string
type: array
type: array
user_type_groups:
description: Seat Types to Groups Mapping. List of [seat_type, group_name] pairs.
items:
items:
minLength: 1
type: string
type: array
type: array
workspaces_groups:
description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs.
items:
items:
minLength: 1
type: string
type: array
type: array
type: object
ScopeEnum:
description: |-
* `Organization` - Organization
* `User` - User
* `Model` - Model
enum:
- Organization
- User
- Model
type: string
SeatReport:
description: |-
One organization member, with the reason they do or do not occupy a paid seat.
Serializes an ``OrganizationMember`` annotated with ``counts_toward_seat_limit`` and
``has_stale_role_assignments``; assignment records come from the batch-loaded
``assignment_index`` in the serializer context (never queried per row).
properties:
account_is_active:
description: Whether the account can log in. Does NOT by itself decide the seat — the organization role does.
type: boolean
counts_toward_seat_limit:
description: Whether this membership occupies a standard (paid) seat, using the same predicate as billing. Service accounts and View-Only seats are licensed separately and do not count here. Note this is per membership, while the licence counts distinct users (instance-wide on-prem), so summing this column is an upper bound on the invoice, not the invoice.
readOnly: true
type: boolean
email:
format: email
type: string
first_name:
type: string
has_stale_role_assignments:
description: True when any role assignment is orphaned or missing its membership link — the usual cause of stale seats
readOnly: true
type: boolean
last_name:
type: string
organization_role:
description: Effective organization role code
nullable: true
readOnly: true
type: string
organization_role_assignments:
description: Group assignments that can put this user on an organization role (and therefore a seat)
items:
$ref: '#/components/schemas/OrganizationRoleAssignment'
readOnly: true
type: array
organization_role_display:
nullable: true
readOnly: true
type: string
project_role_assignments:
description: Group assignments scoped to a project. Never affect the seat count.
items:
$ref: '#/components/schemas/ProjectRoleAssignment'
readOnly: true
type: array
role_source:
description: 'What set the role: manual, saml, scim, ldap, api, billing'
nullable: true
readOnly: true
type: string
role_source_display:
nullable: true
readOnly: true
type: string
user_id:
type: integer
user_type:
description: standard, service or viewonly
nullable: true
readOnly: true
type: string
user_type_display:
nullable: true
readOnly: true
type: string
workspace_access_assignments:
description: Group assignments granting workspace access only. Never affect the seat count.
items:
$ref: '#/components/schemas/WorkspaceAccessAssignment'
readOnly: true
type: array
required:
- account_is_active
- counts_toward_seat_limit
- email
- first_name
- has_stale_role_assignments
- last_name
- organization_role
- organization_role_assignments
- organization_role_display
- project_role_assignments
- role_source
- role_source_display
- user_id
- user_type
- user_type_display
- workspace_access_assignments
type: object
SegmentationEnum:
description: |-
* `none` - none
* `time` - time
* `user` - user
* `project` - project
* `matrix` - matrix
* `project_matrix` - project_matrix
enum:
- none
- time
- user
- project
- matrix
- project_matrix
type: string
SendInviteRequest:
properties:
emails:
description: Email addresses
items:
minLength: 1
type: string
type: array
projects:
description: Project IDs to grant access to
items:
type: integer
type: array
role:
allOf:
- $ref: '#/components/schemas/AssignableOrganizationRoleEnum'
description: |-
Organization role. Required unless user_type is viewonly.
* `OW` - Owner
* `AD` - Administrator
* `MA` - Manager
* `RE` - Reviewer
* `AN` - Annotator
* `DI` - Deactivated
* `NO` - Not Activated
nullable: true
user_type:
allOf:
- $ref: '#/components/schemas/AssignableUserTypeEnum'
default: standard
description: |-
Seat type for the invited members. View-Only members are free read-only seats scoped to the invited projects/workspaces and cannot be combined with a role. Flex members keep a normal working role and consume Flex capacity in assigned claim mode.
* `standard` - Standard
* `flex` - Flex
* `viewonly` - View Only
workspaces:
description: Workspace IDs to grant access to
items:
type: integer
type: array
required:
- emails
type: object
SerializationOption:
properties:
only_id:
default: false
description: Include a full json body or IDs only
type: boolean
type: object
SerializationOptionRequest:
properties:
only_id:
default: false
description: Include a full json body or IDs only
type: boolean
type: object
SerializationOptions:
properties:
annotations__completed_by:
allOf:
- $ref: '#/components/schemas/SerializationOption'
description: JSON dict with parameters
drafts:
allOf:
- $ref: '#/components/schemas/SerializationOption'
description: JSON dict with parameters
include_annotation_history:
default: false
description: Include annotation history
type: boolean
interpolate_key_frames:
default: false
description: Interpolate video key frames
type: boolean
predictions:
allOf:
- $ref: '#/components/schemas/SerializationOption'
description: JSON dict with parameters
type: object
SerializationOptionsRequest:
properties:
annotations__completed_by:
allOf:
- $ref: '#/components/schemas/SerializationOptionRequest'
description: JSON dict with parameters
drafts:
allOf:
- $ref: '#/components/schemas/SerializationOptionRequest'
description: JSON dict with parameters
include_annotation_history:
default: false
description: Include annotation history
type: boolean
interpolate_key_frames:
default: false
description: Interpolate video key frames
type: boolean
predictions:
allOf:
- $ref: '#/components/schemas/SerializationOptionRequest'
description: JSON dict with parameters
type: object
SessionTimeoutPolicy:
properties:
created_at:
format: date-time
readOnly: true
type: string
max_session_age:
description: Number of minutes that a session can be active before needing to re-login
maximum: 2147483647
minimum: 1
title: Max session age (minutes)
type: integer
max_time_between_activity:
description: Number of minutes that a session stays active without any activity
maximum: 2147483647
minimum: 1
title: Max time (minutes) between activity
type: integer
updated_at:
format: date-time
readOnly: true
type: string
required:
- created_at
- updated_at
type: object
SimpleOrganizationMemberTag:
properties:
id:
readOnly: true
type: integer
label:
maxLength: 255
type: string
required:
- id
- label
type: object
SkillNameEnum:
description: |-
* `TextClassification` - TextClassification
* `NamedEntityRecognition` - NamedEntityRecognition
enum:
- TextClassification
- NamedEntityRecognition
type: string
SkipQueueEnum:
description: |-
* `REQUEUE_FOR_ME` - Requeue for me
* `REQUEUE_FOR_OTHERS` - Requeue for others
* `IGNORE_SKIPPED` - Ignore skipped
enum:
- REQUEUE_FOR_ME
- REQUEUE_FOR_OTHERS
- IGNORE_SKIPPED
type: string
StandardUserTypeEnum:
description: |-
* `standard` - Standard
* `flex` - Flex
enum:
- standard
- flex
type: string
StateBackfillCancelResponse:
properties:
cancelled_count:
description: Number of jobs successfully cancelled
type: integer
message:
description: Cancellation status message
type: string
required:
- cancelled_count
- message
type: object
StateBackfillErrorResponse:
properties:
error:
type: string
required:
- error
type: object
StateBackfillJobItem:
properties:
job_id:
description: Database ID of the backfill job
type: integer
project_id:
description: Project ID being backfilled
type: integer
rq_job_id:
description: Redis queue job ID
nullable: true
type: string
required:
- job_id
- project_id
type: object
StateBackfillJobItemResponse:
properties:
completed_at:
format: date-time
nullable: true
type: string
created_at:
format: date-time
type: string
error_message:
nullable: true
type: string
job_id:
type: integer
progress_data:
allOf:
- $ref: '#/components/schemas/StateBackfillProgress'
nullable: true
rq_job_id:
nullable: true
type: string
started_at:
format: date-time
nullable: true
type: string
status:
type: string
triggered_by:
allOf:
- $ref: '#/components/schemas/StateTriggeredBy'
nullable: true
required:
- created_at
- job_id
- status
type: object
StateBackfillJobListResponse:
properties:
jobs:
items:
$ref: '#/components/schemas/StateBackfillJobItemResponse'
type: array
required:
- jobs
type: object
StateBackfillOrgStatus:
properties:
completed_projects:
type: integer
failed_projects:
type: integer
pending_projects:
type: integer
running_projects:
type: integer
total_entities_processed:
type: integer
total_projects:
description: Total projects in organization
type: integer
required:
- completed_projects
- failed_projects
- pending_projects
- running_projects
- total_entities_processed
- total_projects
type: object
StateBackfillProgress:
properties:
failed_projects:
description: Projects that failed
type: integer
successful_projects:
description: Projects completed successfully
type: integer
total_entities_processed:
description: Total entities processed so far
type: integer
total_projects:
description: Total projects involved
type: integer
type: object
StateBackfillResponse:
properties:
jobs:
items:
$ref: '#/components/schemas/StateBackfillJobItem'
type: array
jobs_queued:
description: Number of jobs queued
type: integer
message:
description: Status message
type: string
organization_id:
description: Organization ID
type: integer
projects_skipped:
description: Number of projects skipped because they are already completed
type: integer
required:
- jobs
- jobs_queued
- message
- organization_id
- projects_skipped
type: object
StateBackfillStatusResponse:
properties:
completed_at:
format: date-time
nullable: true
type: string
created_at:
format: date-time
nullable: true
type: string
error_message:
nullable: true
type: string
job_id:
description: Job ID (if fetching a specific job)
type: integer
org_status:
allOf:
- $ref: '#/components/schemas/StateBackfillOrgStatus'
description: Aggregated organization status
progress:
$ref: '#/components/schemas/StateBackfillProgress'
rq_job_id:
nullable: true
type: string
rq_job_info:
additionalProperties: {}
nullable: true
type: object
started_at:
format: date-time
nullable: true
type: string
status:
type: string
triggered_by:
$ref: '#/components/schemas/StateTriggeredBy'
type: object
StateEnum:
description: |-
* `CO` - Connected
* `DI` - Disconnected
* `ER` - Error
* `TR` - Training
* `PR` - Predicting
enum:
- CO
- DI
- ER
- TR
- PR
type: string
StateModel:
description: |-
Serializer for FSM state models.
Uses Serializer instead of ModelSerializer because BaseState is abstract.
Works with any concrete state model that inherits from BaseState.
properties:
context_data:
readOnly: true
created_at:
format: date-time
readOnly: true
type: string
id:
format: uuid
readOnly: true
type: string
previous_state:
nullable: true
readOnly: true
type: string
reason:
nullable: true
readOnly: true
type: string
state:
readOnly: true
type: string
transition_name:
nullable: true
readOnly: true
type: string
triggered_by:
allOf:
- $ref: '#/components/schemas/TriggeredBy'
nullable: true
readOnly: true
required:
- context_data
- created_at
- id
- previous_state
- reason
- state
- transition_name
- triggered_by
type: object
StateTriggeredBy:
properties:
email:
type: string
first_name:
nullable: true
type: string
id:
type: integer
last_name:
nullable: true
type: string
required:
- email
- id
type: object
StorageStatusEnum:
description: |-
* `initialized` - Initialized
* `queued` - Queued
* `in_progress` - In progress
* `failed` - Failed
* `completed` - Completed
* `completed_with_errors` - Completed with errors
enum:
- initialized
- queued
- in_progress
- failed
- completed
- completed_with_errors
type: string
TaskAgreementMatrixResponse:
properties:
matrix:
description: Pairwise agreement scores matrix where matrix[i][j] is the agreement between users[i] and users[j]
items:
items:
format: double
nullable: true
type: number
type: array
type: array
users:
description: Expanded participant details (annotators and/or model versions)
items:
additionalProperties: {}
type: object
type: array
required:
- matrix
- users
type: object
TaskAssigneesMutationRequest:
properties:
type:
$ref: '#/components/schemas/AssignmentTypeEnum'
users:
items:
type: integer
type: array
required:
- type
- users
type: object
TaskAssignment:
description: |-
TaskAssignment Serializer with FSM state support.
Note: The 'state' field will be populated from the queryset annotation
if present, preventing N+1 queries. Use .with_state() on your queryset.
The state field display is controlled by both:
- fflag_feat_fit_568_finite_state_management (FSM background calculations)
- fflag_feat_fit_710_fsm_state_fields (state field display in APIs)
properties:
assignee:
description: Assigned user
type: integer
created_at:
description: Time of assignment
format: date-time
readOnly: true
type: string
id:
readOnly: true
type: integer
state:
readOnly: true
type: string
task:
description: Assigned task
type: integer
type:
allOf:
- $ref: '#/components/schemas/AssignmentTypeEnum'
description: |-
Type of assignment: Annotate|Review
* `AN` - Annotate
* `RE` - Review
title: Assignment type
required:
- assignee
- created_at
- id
- state
- task
type: object
TaskEvent:
description: |-
Serializer for TaskEvent model to handle event creation from frontend.
This serializer validates and processes task events sent from the labeling interface,
ensuring proper data format and automatically setting required relationships.
properties:
actor:
readOnly: true
type: integer
annotation:
description: Annotation ID associated with this event
nullable: true
type: integer
annotation_draft_id:
description: Draft annotation ID associated with this event
nullable: true
type: integer
created_at:
format: date-time
readOnly: true
type: string
event_key:
description: Event type identifier (e.g., "annotation_loaded", "region_finished_drawing")
maxLength: 255
type: string
event_time:
description: Timestamp when the event occurred (frontend time)
format: date-time
type: string
id:
readOnly: true
type: integer
meta:
description: Additional event metadata (region data, hotkey info, etc.)
nullable: true
organization:
readOnly: true
type: integer
project:
readOnly: true
type: integer
review:
description: Review ID associated with this event
nullable: true
type: integer
task:
description: Task this event is associated with
readOnly: true
type: integer
required:
- actor
- created_at
- event_key
- event_time
- id
- organization
- project
- task
type: object
TaskEventRequest:
description: |-
Serializer for TaskEvent model to handle event creation from frontend.
This serializer validates and processes task events sent from the labeling interface,
ensuring proper data format and automatically setting required relationships.
properties:
annotation:
description: Annotation ID associated with this event
nullable: true
type: integer
annotation_draft:
description: Draft annotation ID associated with this event (alias for annotation_draft_id)
nullable: true
type: integer
writeOnly: true
annotation_draft_id:
description: Draft annotation ID associated with this event
nullable: true
type: integer
event_key:
description: Event type identifier (e.g., "annotation_loaded", "region_finished_drawing")
maxLength: 255
minLength: 1
type: string
event_time:
description: Timestamp when the event occurred (frontend time)
format: date-time
type: string
meta:
description: Additional event metadata (region data, hotkey info, etc.)
nullable: true
review:
description: Review ID associated with this event
nullable: true
type: integer
required:
- event_key
- event_time
type: object
TaskSimple:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
annotations:
default: []
items:
$ref: '#/components/schemas/Annotation'
readOnly: true
type: array
cancelled_annotations:
description: Number of total cancelled annotations for the current task
maximum: 2147483647
minimum: -2147483648
type: integer
comment_authors:
description: Users who wrote comments
items:
type: integer
type: array
comment_count:
description: Number of comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
created_at:
description: Time a task was created
format: date-time
readOnly: true
type: string
data:
description: User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI.
file_upload:
description: Uploaded file used as data source for this task
nullable: true
type: integer
id:
readOnly: true
type: integer
inner_id:
description: Internal task ID in the project, starts with 1
format: int64
maximum: 9223372036854775807
minimum: -9223372036854775808
nullable: true
type: integer
is_labeled:
description: True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project
type: boolean
last_comment_updated_at:
description: When the last comment was updated
format: date-time
nullable: true
type: string
meta:
description: Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps.
nullable: true
overlap:
description: Number of distinct annotators that processed the current task
maximum: 2147483647
minimum: -2147483648
type: integer
predictions:
default: []
items:
$ref: '#/components/schemas/Prediction'
readOnly: true
type: array
project:
description: Project ID for this task
nullable: true
type: integer
total_annotations:
description: Number of total annotations for the current task except cancelled annotations
maximum: 2147483647
minimum: -2147483648
type: integer
total_predictions:
description: Number of total predictions for the current task
maximum: 2147483647
minimum: -2147483648
type: integer
unresolved_comment_count:
description: Number of unresolved comments in the task including all annotations
maximum: 2147483647
minimum: -2147483648
type: integer
updated_at:
description: Last time a task was updated
format: date-time
readOnly: true
type: string
updated_by:
description: Last annotator or reviewer who updated this task
nullable: true
type: integer
required:
- annotations
- created_at
- data
- id
- predictions
- updated_at
type: object
ThirdPartyModelVersion:
properties:
created_at:
format: date-time
readOnly: true
type: string
created_by:
allOf:
- $ref: '#/components/schemas/UserSimple'
description: User who created Dataset
readOnly: true
id:
readOnly: true
type: integer
max_few_shot_examples:
description: Max number of few-shot examples to include in prompts. 0 = disabled.
maximum: 2147483647
minimum: 0
nullable: true
type: integer
model_display_name:
description: Human-readable model name derived from provider_model_id.
readOnly: true
type: string
model_provider_connection:
nullable: true
type: integer
organization:
nullable: true
type: integer
parent_model:
description: Parent model interface ID
type: integer
prompt:
description: Prompt to execute
type: string
provider:
allOf:
- $ref: '#/components/schemas/ProviderEnum'
description: |-
The model provider to use e.g. OpenAI
* `OpenAI` - OpenAI
* `AzureOpenAI` - AzureOpenAI
* `AzureAIFoundry` - AzureAIFoundry
* `VertexAI` - VertexAI
* `Gemini` - Gemini
* `Anthropic` - Anthropic
* `Custom` - Custom
provider_model_id:
description: The model ID to use within the given provider, e.g. gpt-3.5
maxLength: 255
type: string
score:
format: double
nullable: true
readOnly: true
type: number
title:
description: Model name
maxLength: 500
type: string
updated_at:
format: date-time
readOnly: true
type: string
required:
- created_at
- created_by
- id
- model_display_name
- prompt
- provider_model_id
- score
- title
- updated_at
type: object
ThirdPartyModelVersionRequest:
properties:
max_few_shot_examples:
description: Max number of few-shot examples to include in prompts. 0 = disabled.
maximum: 2147483647
minimum: 0
nullable: true
type: integer
model_provider_connection:
nullable: true
type: integer
organization:
nullable: true
type: integer
parent_model:
description: Parent model interface ID
type: integer
prompt:
description: Prompt to execute
minLength: 1
type: string
provider:
allOf:
- $ref: '#/components/schemas/ProviderEnum'
description: |-
The model provider to use e.g. OpenAI
* `OpenAI` - OpenAI
* `AzureOpenAI` - AzureOpenAI
* `AzureAIFoundry` - AzureAIFoundry
* `VertexAI` - VertexAI
* `Gemini` - Gemini
* `Anthropic` - Anthropic
* `Custom` - Custom
provider_model_id:
description: The model ID to use within the given provider, e.g. gpt-3.5
maxLength: 255
minLength: 1
type: string
title:
description: Model name
maxLength: 500
minLength: 1
type: string
required:
- prompt
- provider_model_id
- title
type: object
TokenDetailError:
properties:
detail:
type: string
required:
- detail
type: object
TokenRefreshRequest:
properties:
refresh:
minLength: 1
type: string
writeOnly: true
required:
- refresh
type: object
TokenRefreshResponse:
properties:
access:
type: string
required:
- access
type: object
TokenRotateResponse:
properties:
refresh:
type: string
required:
- refresh
type: object
TrialRoleEnum:
description: |-
* `annotator` - Annotator
* `annotator_team_manager` - Annotator Team Manager
* `business_analyst` - Business Analyst
* `business_or_data_team_leadership` - Business Or Data Team Leadership
* `data_engineer_platform_engineer` - Data Engineer Platform Engineer
* `data_scientist` - Data Scientist
* `other` - Other
enum:
- annotator
- annotator_team_manager
- business_analyst
- business_or_data_team_leadership
- data_engineer_platform_engineer
- data_scientist
- other
type: string
TriggeredBy:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
email:
format: email
maxLength: 254
title: Email address
type: string
id:
readOnly: true
type: integer
required:
- id
type: object
TryTaskRequestRequest:
properties:
project_id:
type: integer
prompt_override:
type: string
task_id:
type: integer
required:
- project_id
- task_id
type: object
TryTaskResponse:
properties:
annotation_result:
items: {}
type: array
parsed_result:
nullable: true
raw_response:
type: string
task_id:
type: integer
usage: {}
required:
- annotation_result
- raw_response
- task_id
- usage
type: object
UserLearningProgress:
properties:
completed_at:
format: date-time
nullable: true
readOnly: true
type: string
completed_page_versions:
additionalProperties:
type: integer
readOnly: true
type: object
content_updated_at:
nullable: true
readOnly: true
type: string
has_completed_page_versions:
description: True only when the baseline covers the outline, so the client can list edited pages.
readOnly: true
type: boolean
imported_at:
format: date-time
nullable: true
readOnly: true
type: string
invalidated_at:
format: date-time
nullable: true
readOnly: true
type: string
is_stale:
readOnly: true
type: boolean
max_attempts_exceeded:
readOnly: true
type: boolean
pages_visited:
readOnly: true
quiz_results:
readOnly: true
resource_version:
readOnly: true
type: integer
retake_reason:
allOf:
- $ref: '#/components/schemas/RetakeReasonEnum'
readOnly: true
started_at:
format: date-time
nullable: true
readOnly: true
type: string
time_spent_seconds:
readOnly: true
type: integer
updated_page_ids:
items:
type: string
readOnly: true
type: array
required:
- completed_at
- completed_page_versions
- content_updated_at
- has_completed_page_versions
- imported_at
- invalidated_at
- is_stale
- max_attempts_exceeded
- pages_visited
- quiz_results
- resource_version
- retake_reason
- started_at
- time_spent_seconds
- updated_page_ids
type: object
UserLearningProgressList:
properties:
completed_at:
format: date-time
nullable: true
readOnly: true
type: string
imported_at:
format: date-time
nullable: true
readOnly: true
type: string
is_stale:
readOnly: true
type: boolean
last_module_title:
nullable: true
readOnly: true
type: string
last_page_id:
nullable: true
readOnly: true
type: string
last_page_title:
nullable: true
readOnly: true
type: string
pages_visited:
items:
type: string
readOnly: true
type: array
progress_percent:
format: double
readOnly: true
type: number
quiz_summary:
additionalProperties: {}
readOnly: true
type: object
requires_retake:
readOnly: true
type: boolean
started_at:
format: date-time
nullable: true
readOnly: true
type: string
status:
readOnly: true
type: string
time_spent_seconds:
readOnly: true
type: integer
user:
allOf:
- $ref: '#/components/schemas/UserSimple'
readOnly: true
required:
- completed_at
- imported_at
- is_stale
- last_module_title
- last_page_id
- last_page_title
- pages_visited
- progress_percent
- quiz_summary
- requires_retake
- started_at
- status
- time_spent_seconds
- user
type: object
UserSimple:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
avatar:
nullable: true
readOnly: true
type: string
email:
format: email
maxLength: 254
title: Email address
type: string
first_name:
maxLength: 256
type: string
id:
readOnly: true
type: integer
last_name:
maxLength: 256
type: string
username:
maxLength: 256
type: string
required:
- avatar
- id
- username
type: object
UserSimpleRequest:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
email:
format: email
maxLength: 254
title: Email address
type: string
first_name:
maxLength: 256
type: string
last_name:
maxLength: 256
type: string
username:
maxLength: 256
minLength: 1
type: string
required:
- username
type: object
ValidateSamlDomainRequestRequest:
properties:
domain:
minLength: 1
type: string
required:
- domain
type: object
ValidateSamlDomainResponse:
properties:
valid:
type: boolean
required:
- valid
type: object
ValidateSamlMetadataUrlRequestRequest:
properties:
metadata_url:
format: uri
minLength: 1
type: string
required:
- metadata_url
type: object
ValidateSamlMetadataUrlResponse:
properties:
valid:
type: boolean
required:
- valid
type: object
ValueCountsBackfillJob:
description: |-
Serializes a DimensionValueCountsBackfillJob model instance.
Used by the value-counts backfill list endpoint and as the base for the status endpoint.
properties:
completed_at:
format: date-time
nullable: true
type: string
created_at:
format: date-time
readOnly: true
type: string
error_message:
description: Error message if job failed
type: string
job_id:
description: Database ID of the backfill job
readOnly: true
type: integer
progress_data:
description: JSON data tracking job progress (rows_written, etc.)
project_id:
description: Optional specific project to backfill (if null, backfills entire organization)
nullable: true
readOnly: true
type: integer
rq_job_id:
description: Redis queue job ID
nullable: true
readOnly: true
type: string
started_at:
format: date-time
nullable: true
type: string
status:
allOf:
- $ref: '#/components/schemas/FsmBackfillJobStatusEnum'
description: |-
Current status of the backfill job
* `PENDING` - Pending
* `QUEUED` - Queued
* `RUNNING` - Running
* `COMPLETED` - Completed
* `FAILED` - Failed
triggered_by:
additionalProperties:
oneOf:
- type: integer
- type: string
description: User who triggered the backfill
nullable: true
readOnly: true
type: object
required:
- created_at
- job_id
- project_id
- rq_job_id
- triggered_by
type: object
VersionResponse:
properties:
backend:
description: Additional backend information
dm2:
description: Information about the Data Manager 2.0 component
edition:
allOf:
- $ref: '#/components/schemas/EditionEnum'
description: |-
Label Studio edition (Community or Enterprise)
* `Community` - Community
* `Enterprise` - Enterprise
label-studio-converter:
description: Information about the Label Studio converter component
label-studio-frontend:
description: Information about the Label Studio frontend
label-studio-os-backend:
description: Information about the Label Studio backend
label-studio-os-package:
description: Information about the Label Studio open source package
lsf:
description: Information about the Label Studio Frontend library
release:
description: Current release version of Label Studio
type: string
required:
- backend
- dm2
- edition
- label-studio-converter
- label-studio-frontend
- label-studio-os-backend
- label-studio-os-package
- lsf
- release
type: object
View:
properties:
data:
description: Custom view data
nullable: true
filter_group:
$ref: '#/components/schemas/FilterGroup'
id:
readOnly: true
type: integer
is_locked:
description: Whether this data manager tab is locked against configuration changes
nullable: true
type: boolean
locked_at:
description: Time when this view was locked
format: date-time
nullable: true
type: string
locked_by:
nullable: true
properties:
email:
format: email
title: Email
type: string
id:
title: User ID
type: integer
name:
title: Display name
type: string
readOnly: true
title: Locked by user
type: object
order:
description: Position of the tab, starting at the left in data manager and increasing as the tabs go left to right
maximum: 2147483647
minimum: -2147483648
nullable: true
type: integer
ordering:
description: Ordering parameters
nullable: true
project:
description: Project ID
type: integer
selected_items:
description: Selected items
nullable: true
user:
description: User who made this view
nullable: true
type: integer
required:
- id
- locked_by
- project
type: object
ViewDataRequestRequest:
description: Established public view payload nested under ``data``.
properties:
filters:
allOf:
- $ref: '#/components/schemas/PrepareParamsFiltersRequest'
nullable: true
ordering:
allOf:
- $ref: '#/components/schemas/PrepareParamsOrderingRequest'
nullable: true
type: object
ViewOrderRequest:
properties:
ids:
description: A list of view IDs in the desired order.
items:
type: integer
type: array
project:
type: integer
required:
- ids
- project
type: object
ViewRequestRequest:
description: Public view write contract; runtime conversion remains in ``ViewSerializer``.
properties:
data:
$ref: '#/components/schemas/ViewDataRequestRequest'
project:
description: Project ID
type: integer
type: object
Webhook:
properties:
actions:
default: []
items:
$ref: '#/components/schemas/ActionsEnum'
type: array
consecutive_failures:
readOnly: true
type: integer
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
headers:
description: Key Value Json of headers
title: Request extra headers of webhook
id:
readOnly: true
type: integer
is_active:
description: If value is False the webhook is disabled
title: Is webhook active
type: boolean
organization:
readOnly: true
type: integer
project:
nullable: true
type: integer
send_for_all_actions:
description: If value is False - used only for actions from WebhookAction
title: Use webhook for all actions
type: boolean
send_payload:
description: If value is False send only action
title: Does webhook send the payload
type: boolean
updated_at:
description: Last update time
format: date-time
readOnly: true
type: string
url:
description: URL of webhook
format: uri
maxLength: 2048
title: URL of webhook
type: string
required:
- consecutive_failures
- created_at
- id
- organization
- updated_at
- url
type: object
WebhookRequest:
properties:
actions:
default: []
items:
$ref: '#/components/schemas/ActionsEnum'
type: array
headers:
description: Key Value Json of headers
title: Request extra headers of webhook
is_active:
description: If value is False the webhook is disabled
title: Is webhook active
type: boolean
project:
nullable: true
type: integer
send_for_all_actions:
description: If value is False - used only for actions from WebhookAction
title: Use webhook for all actions
type: boolean
send_payload:
description: If value is False send only action
title: Does webhook send the payload
type: boolean
url:
description: URL of webhook
format: uri
maxLength: 2048
minLength: 1
title: URL of webhook
type: string
required:
- url
type: object
WebhookSerializerForUpdate:
description: |-
Serializer class for updating webhooks
Used to forbid updating project field.
properties:
actions:
default: []
items:
$ref: '#/components/schemas/ActionsEnum'
type: array
consecutive_failures:
readOnly: true
type: integer
created_at:
description: Creation time
format: date-time
readOnly: true
type: string
headers:
description: Key Value Json of headers
title: Request extra headers of webhook
id:
readOnly: true
type: integer
is_active:
description: If value is False the webhook is disabled
title: Is webhook active
type: boolean
organization:
readOnly: true
type: integer
project:
nullable: true
readOnly: true
type: integer
send_for_all_actions:
description: If value is False - used only for actions from WebhookAction
title: Use webhook for all actions
type: boolean
send_payload:
description: If value is False send only action
title: Does webhook send the payload
type: boolean
updated_at:
description: Last update time
format: date-time
readOnly: true
type: string
url:
description: URL of webhook
format: uri
maxLength: 2048
title: URL of webhook
type: string
required:
- consecutive_failures
- created_at
- id
- organization
- project
- updated_at
- url
type: object
WebhookSerializerForUpdateRequest:
description: |-
Serializer class for updating webhooks
Used to forbid updating project field.
properties:
actions:
default: []
items:
$ref: '#/components/schemas/ActionsEnum'
type: array
headers:
description: Key Value Json of headers
title: Request extra headers of webhook
is_active:
description: If value is False the webhook is disabled
title: Is webhook active
type: boolean
send_for_all_actions:
description: If value is False - used only for actions from WebhookAction
title: Use webhook for all actions
type: boolean
send_payload:
description: If value is False send only action
title: Does webhook send the payload
type: boolean
url:
description: URL of webhook
format: uri
maxLength: 2048
minLength: 1
title: URL of webhook
type: string
required:
- url
type: object
WhoAmILseFields:
properties:
active_organization_external_id:
nullable: true
readOnly: true
type: string
email_notification_settings:
additionalProperties: {}
description: |-
Get email notification settings with organization-level filtering.
Use the model's getter method to ensure all notification types are included
with proper defaults for any missing types. Transform the output to include
both value and label for each notification type.
Filter notifications based on organization's allowed notifications if user
belongs to exactly one organization.
Role-based filtering: not_activated_user_login is only available to users
who are admins or owners in at least one organization.
readOnly: true
type: object
invite_activated:
nullable: true
type: boolean
invite_expired:
nullable: true
readOnly: true
type: boolean
invite_expired_at:
format: date-time
nullable: true
readOnly: true
type: string
invited_at:
format: date-time
nullable: true
type: string
invited_by:
nullable: true
type: integer
onboarding_state:
allOf:
- $ref: '#/components/schemas/OnboardingStateEnum'
description: |-
The current stage of user onboarding
* `not_started` - Not Started
* `signup` - Signup
* `trial_signup` - Trial Signup
* `first_tutorial` - First Tutorial
* `in_app_guidance` - In App Guidance
* `complete` - Complete
nullable: true
social_auth_finished:
description: Is user finished social authentication
nullable: true
type: boolean
trial_company:
maxLength: 1000
nullable: true
type: string
trial_experience_labeling:
maxLength: 1000
nullable: true
type: string
trial_license_enterprise:
nullable: true
type: boolean
trial_models_in_production:
maxLength: 1000
nullable: true
type: string
trial_role:
allOf:
- $ref: '#/components/schemas/TrialRoleEnum'
nullable: true
required:
- active_organization_external_id
- email_notification_settings
- invite_expired
- invite_expired_at
type: object
WhoAmIUser:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
active_organization:
nullable: true
type: integer
active_organization_meta:
additionalProperties:
type: string
readOnly: true
type: object
allow_newsletters:
description: Allow sending newsletters to user
nullable: true
type: boolean
avatar:
nullable: true
readOnly: true
type: string
custom_hotkeys:
description: Custom keyboard shortcuts configuration for the user interface
nullable: true
date_joined:
format: date-time
type: string
email:
format: email
maxLength: 254
title: Email address
type: string
first_name:
maxLength: 256
type: string
id:
readOnly: true
type: integer
initials:
default: '?'
readOnly: true
type: string
last_activity:
format: date-time
nullable: true
readOnly: true
type: string
last_name:
maxLength: 256
type: string
lse_fields:
allOf:
- $ref: '#/components/schemas/WhoAmILseFields'
readOnly: true
org_membership:
deprecated: true
items:
$ref: '#/components/schemas/OrganizationMembership'
readOnly: true
type: array
organization_membership:
allOf:
- $ref: '#/components/schemas/OrganizationMembership'
readOnly: true
pause:
additionalProperties: {}
nullable: true
readOnly: true
type: object
permissions:
items:
type: string
readOnly: true
type: array
phone:
maxLength: 256
type: string
social_accounts:
items:
additionalProperties: {}
type: object
readOnly: true
type: array
username:
maxLength: 256
type: string
required:
- active_organization_meta
- avatar
- id
- initials
- last_activity
- lse_fields
- org_membership
- organization_membership
- pause
- permissions
- social_accounts
- username
type: object
Workspace:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
color:
description: Color
maxLength: 16
nullable: true
type: string
created_by:
readOnly: true
type: integer
created_by_user:
additionalProperties: {}
description: Return created_by user details when include_all_workspaces is enabled.
nullable: true
readOnly: true
type: object
description:
description: Workspace description
nullable: true
type: string
id:
readOnly: true
type: integer
is_archived:
description: Workspace is archived
title: Archived
type: boolean
is_personal:
description: Workspace is a personal user workspace
title: Personal
type: boolean
membership:
additionalProperties: {}
nullable: true
readOnly: true
type: object
projects_count:
nullable: true
readOnly: true
type: integer
title:
description: Workspace Name
maxLength: 1000
type: string
required:
- created_by
- created_by_user
- id
- membership
- projects_count
- title
type: object
WorkspaceAccessAssignment:
description: Workspace access granted by a group. Carries no role and never affects the seat count.
properties:
assignment_id:
description: Primary key of the assignment record
type: integer
created_at:
format: date-time
type: string
identity_provider_group:
description: Name of the group in the identity provider (Okta/Entra) that created this record
nullable: true
type: string
linked_membership_id:
description: Membership this assignment is attached to; null means an incomplete record
nullable: true
type: integer
workspace_id:
description: Null when the record has no linked membership
nullable: true
type: integer
workspace_title:
nullable: true
type: string
required:
- assignment_id
- created_at
- identity_provider_group
- linked_membership_id
- workspace_id
- workspace_title
type: object
WorkspaceMemberBulkAssignRequest:
properties:
all:
description: Apply to all workspace members
type: boolean
excluded:
description: Excluded user IDs
items:
minimum: 1
type: integer
type: array
included:
description: Included user IDs
items:
minimum: 1
type: integer
type: array
required:
- all
type: object
WorkspaceMemberCreate:
properties:
user:
description: User ID
type: integer
workspace:
description: Workspace ID
type: integer
required:
- user
type: object
WorkspaceMemberCreateRequest:
properties:
user:
description: User ID
type: integer
workspace:
description: Workspace ID
type: integer
required:
- user
type: object
WorkspaceMemberList:
properties:
user:
$ref: '#/components/schemas/LseUser'
workspace:
description: Workspace ID
type: integer
required:
- user
type: object
WorkspaceProjectsRequest:
properties:
project:
description: Project ID
type: integer
required:
- project
type: object
WorkspaceRequest:
description: |-
A ModelSerializer that takes additional arguments for
"fields", "omit" and "expand" in order to
control which fields are displayed, and whether to replace simple
values with complex, nested serializations
properties:
color:
description: Color
maxLength: 16
nullable: true
type: string
description:
description: Workspace description
nullable: true
type: string
is_archived:
description: Workspace is archived
title: Archived
type: boolean
is_personal:
description: Workspace is a personal user workspace
title: Personal
type: boolean
title:
description: Workspace Name
maxLength: 1000
minLength: 1
type: string
required:
- title
type: object
securitySchemes:
Token:
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User Account page in Label Studio. Example: