openapi: 3.1.0
info:
title: API Reference
version: 1.0.0
paths:
/api/activity-logs/:
get:
operationId: list
summary: ✨ Get activity logs
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Activity logs
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ActivityLogResponse'
'404':
description: No more logs found
content:
application/json:
schema:
description: Any type
/api/annotation-history/:
get:
operationId: list
summary: ✨ List all annotation history items for annotation
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AnnotationHistory'
delete:
operationId: delete
summary: ✨ Delete annotation history items
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Returns a dict containing the count of removed items.
content:
application/json:
schema:
$ref: '#/components/schemas/annotation_history_delete_Response_200'
/api/annotation-history/{id}/:
get:
operationId: retrieve
summary: ✨ Retrieve a single annotation history item (full result for hydration)
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationHistory'
/api/projects/{id}/annotation-history/:
get:
operationId: list-for-project
summary: ✨ List annotation history items for project
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAnnotationHistoryList'
/api/annotation-reviews/:
get:
operationId: list
summary: ✨ List reviews
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AnnotationReview'
post:
operationId: create
summary: ✨ Create review
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationReview'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationReviewRequest'
/api/annotation-reviews/{id}/:
get:
operationId: get
summary: ✨ Get review
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationReview'
delete:
operationId: delete
summary: ✨ Delete review
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update review
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationReview'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAnnotationReviewRequest'
/api/annotations/bulk-delete/:
post:
operationId: delete-bulk
summary: Bulk delete annotations by IDs
description: >-
Delete multiple annotations by their IDs. The deletion is processed synchronously. Returns the count of deleted
annotations in the response.
tags:
- subpackage_annotations
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Annotations deleted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/annotations_delete_bulk_Response_200'
'400':
description: Bad request - validation errors
content:
application/json:
schema:
description: Any type
'403':
description: Forbidden - insufficient permissions
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationBulkDeleteRequest'
/api/annotations/bulk/:
post:
operationId: create-bulk
summary: Bulk create annotations
description: Create multiple annotations at once
tags:
- subpackage_annotations
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Bulk annotations created successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiAnnotationsBulkPostResponsesContentApplicationJsonSchemaItems'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AnnotationBulkSerializerWithSelectedItemsRequest'
/api/annotations/{id}/:
get:
operationId: get
summary: Get annotation by its ID
description: Retrieve a specific annotation for a task using the annotation result ID.
tags:
- subpackage_annotations
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Retrieved annotation
content:
application/json:
schema:
$ref: '#/components/schemas/Annotation'
delete:
operationId: delete
summary: Delete annotation
description: Delete an annotation. This action can't be undone!
tags:
- subpackage_annotations
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update annotation
description: Update existing attributes on an annotation.
tags:
- subpackage_annotations
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Updated annotation
content:
application/json:
schema:
$ref: '#/components/schemas/Annotation'
requestBody:
content:
application/json:
schema:
type: object
properties:
completed_by:
type: integer
description: User ID of the person who created this annotation
ground_truth:
type: boolean
description: This annotation is a Ground Truth
lead_time:
type: number
format: double
description: How much time it took to annotate the task (in seconds)
project:
type: integer
description: Project ID for this annotation
result:
type: array
items:
$ref: '#/components/schemas/ApiAnnotationsIdPatchRequestBodyContentApplicationJsonSchemaResultItems'
description: >-
Labeling result in JSON format. Read more about the format in [the Label Studio
documentation.](https://labelstud.io/guide/task_format)
task:
type: integer
description: Corresponding task for this annotation
updated_by:
type: integer
description: Last user who updated this annotation
was_cancelled:
type: boolean
description: User skipped the task
/api/tasks/{id}/annotations/:
get:
operationId: list
summary: Get all task annotations
description: List all annotations for a task.
tags:
- subpackage_annotations
parameters:
- name: id
in: path
description: Task ID
required: true
schema:
type: integer
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Annotation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Annotation'
post:
operationId: create
summary: Create annotation
description: |2-
Add annotations to a task like an annotator does. The content of the result field depends on your
labeling configuration. For example, send the following data as part of your POST
request to send an empty annotation with the ID of the user who completed the task:
```json
{
"result": {},
"was_cancelled": true,
"ground_truth": true,
"lead_time": 0,
"task": 0
"completed_by": 123
}
```
tags:
- subpackage_annotations
parameters:
- name: id
in: path
description: Task ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Created annotation
content:
application/json:
schema:
$ref: '#/components/schemas/Annotation'
requestBody:
content:
application/json:
schema:
type: object
properties:
completed_by:
type: integer
description: User ID of the person who created this annotation
ground_truth:
type: boolean
description: This annotation is a Ground Truth
lead_time:
type: number
format: double
description: How much time it took to annotate the task (in seconds)
project:
type: integer
description: Project ID for this annotation
result:
type: array
items:
$ref: '#/components/schemas/ApiTasksIdAnnotationsPostRequestBodyContentApplicationJsonSchemaResultItems'
description: >-
Labeling result in JSON format. Read more about the format in [the Label Studio
documentation.](https://labelstud.io/guide/task_format)
task:
type: integer
description: Corresponding task for this annotation
updated_by:
type: integer
description: Last user who updated this annotation
was_cancelled:
type: boolean
description: User skipped the task
/api/billing/info:
get:
operationId: info
summary: ✨ Get billing info
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Billing information for the active organization
content:
application/json:
schema:
$ref: '#/components/schemas/BillingInfoResponse'
/api/comments/:
get:
operationId: list
summary: ✨ List comments
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: List of comments
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MaybeExpandedComment'
post:
operationId: create
summary: ✨ Create comment
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MaybeExpandedComment'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CommentRequest'
/api/comments/export/:
get:
operationId: export
summary: ✨ Export comments to CSV
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: CSV file with comments
content:
application/json:
schema:
type: string
format: binary
/api/comments/{id}/:
get:
operationId: get
summary: ✨ Get comment
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MaybeExpandedComment'
delete:
operationId: delete
summary: ✨ Delete comment
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update comment
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MaybeExpandedComment'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedCommentRequest'
/api/current-user:
get:
operationId: get-current-user
summary: ✨ Get current user info
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseUserAPI'
patch:
operationId: update-current-user
summary: ✨ Update current user
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseUserAPI'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseUserSerializerUpdateRequest'
/api/current-user/hotkeys/:
get:
operationId: get-hotkeys
summary: Get user hotkeys
description: Retrieve the custom hotkeys configuration for the current user.
tags:
- subpackage_users
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Hotkeys'
patch:
operationId: update-hotkeys
summary: Update user hotkeys
description: Update the custom hotkeys configuration for the current user.
tags:
- subpackage_users
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Hotkeys'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedHotkeysRequest'
/api/current-user/reset-token/:
post:
operationId: reset-token
summary: Reset user token
description: Reset the user token for the current user.
tags:
- subpackage_users
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: User token response
content:
application/json:
schema:
$ref: '#/components/schemas/users_reset_token_Response_201'
/api/current-user/token:
get:
operationId: get-token
summary: Get user token
description: Get a user token to authenticate to the API as the current user.
tags:
- subpackage_users
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: User token response
content:
application/json:
schema:
$ref: '#/components/schemas/users_get_token_Response_200'
/api/current-user/whoami:
get:
operationId: whoami
summary: Retrieve my user
description: Retrieve details of the account that you are using to access the API.
tags:
- subpackage_users
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/WhoAmIUser'
/api/users/:
get:
operationId: list
summary: List users
description: List the users that exist on the Label Studio server.
tags:
- subpackage_users
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LseUserAPI'
post:
operationId: create
summary: Create new user
description: Create a user in Label Studio.
tags:
- subpackage_users
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseUser'
requestBody:
content:
application/json:
schema:
type: object
properties:
allow_newsletters:
type: boolean
description: Whether the user allows newsletters
avatar:
type: string
description: Avatar URL of the user
email:
type: string
description: Email of the user
first_name:
type: string
description: First name of the user
id:
type: integer
description: User ID
initials:
type: string
description: Initials of the user
last_name:
type: string
description: Last name of the user
phone:
type: string
description: Phone number of the user
username:
type: string
description: Username of the user
/api/users/{id}/:
get:
operationId: get
summary: Get user info
description: Get info about a specific Label Studio user, based on the user ID.
tags:
- subpackage_users
parameters:
- name: id
in: path
description: User ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseUser'
delete:
operationId: delete
summary: Delete user
description: >-
Delete a specific Label Studio user. Only available in community edition.
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update user details
description: |2-
Update details for a specific user, such as their name or contact information, in Label Studio.
tags:
- subpackage_users
parameters:
- name: id
in: path
description: User ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseUser'
requestBody:
content:
application/json:
schema:
type: object
properties:
allow_newsletters:
type: boolean
description: Whether the user allows newsletters
avatar:
type: string
description: Avatar URL of the user
email:
type: string
description: Email of the user
first_name:
type: string
description: First name of the user
id:
type: integer
description: User ID
initials:
type: string
description: Initials of the user
last_name:
type: string
description: Last name of the user
phone:
type: string
description: Phone number of the user
username:
type: string
description: Username of the user
/api/dimensions/backfill/:
post:
operationId: trigger-backfill
summary: ✨ Trigger Agreement V2 backfill
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillTriggerResponse'
'400':
description: ''
content:
application/json:
schema:
description: Any type
'403':
description: ''
content:
application/json:
schema:
description: Any type
'404':
description: ''
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillTriggerRequestRequest'
delete:
operationId: cancel-backfill
summary: ✨ Cancel Agreement V2 backfill jobs
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillCancelResponse'
'403':
description: ''
content:
application/json:
schema:
description: Any type
'404':
description: ''
content:
application/json:
schema:
description: Any type
/api/dimensions/backfill/jobs/:
get:
operationId: list-backfills
summary: ✨ List Agreement V2 backfill jobs
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AgreementV2BackfillJob'
'400':
description: ''
content:
application/json:
schema:
description: Any type
'403':
description: ''
content:
application/json:
schema:
description: Any type
/api/dimensions/backfill/status/:
get:
operationId: get-backfill-status
summary: ✨ Get Agreement V2 backfill status
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AgreementV2BackfillJob'
'403':
description: ''
content:
application/json:
schema:
description: Any type
'404':
description: ''
content:
application/json:
schema:
description: Any type
/api/projects/{project_pk}/dimensions/:
get:
operationId: list
summary: ✨ List dimensions
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: List of dimensions
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DimensionList'
/api/projects/{project_pk}/dimensions/{id}/:
get:
operationId: get
summary: ✨ Get dimension
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Dimension details
content:
application/json:
schema:
$ref: '#/components/schemas/Dimension'
/api/dm/actions/:
get:
operationId: list
summary: Get actions
description: Retrieve all the registered actions with descriptions that data manager can use.
tags:
- subpackage_actions
parameters:
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Actions retrieved successfully
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiDmActionsGetResponsesContentApplicationJsonSchemaItems'
post:
operationId: create
summary: Post actions
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=curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Action performed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/actions_create_Response_200'
requestBody:
description: Data payload containing task filters, selected task items, and ordering
content:
application/json:
schema:
type: object
properties:
filters:
$ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFilters'
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.curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/View'
post:
operationId: create
summary: Create view
description: Create a view for a specific project.
tags:
- subpackage_views
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/View'
requestBody:
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ApiDmViewsPostRequestBodyContentApplicationJsonSchemaData'
description: Custom view data
project:
type: integer
description: Project ID
/api/dm/views/order/:
post:
operationId: update-order
summary: Update order of views
description: Update the order field of views based on the provided list of view IDs
tags:
- subpackage_views
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: View order updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/views_update_order_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ViewOrderRequest'
/api/dm/views/reset/:
delete:
operationId: delete-all
summary: Delete all project views
description: Delete all views for a specific project.
tags:
- subpackage_views
parameters:
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
/api/dm/views/{id}/:
get:
operationId: get
summary: Get view details
description: Get the details about a specific view in the data manager
tags:
- subpackage_views
parameters:
- name: id
in: path
description: View ID
required: true
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/View'
delete:
operationId: delete
summary: Delete view
description: Delete a specific view by ID.
tags:
- subpackage_views
parameters:
- name: id
in: path
description: View ID
required: true
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update view
description: Update view data with additional filters and other information for a specific project.
tags:
- subpackage_views
parameters:
- name: id
in: path
description: View ID
required: true
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/View'
requestBody:
content:
application/json:
schema:
type: object
properties:
data:
$ref: '#/components/schemas/ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaData'
description: Custom view data
project:
type: integer
description: Project ID
/api/fsm/backfill/:
post:
operationId: trigger-backfill
summary: ✨ Trigger state backfill for organization
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/StateBackfillResponse'
'400':
description: ''
content:
application/json:
schema:
description: Any type
'403':
description: ''
content:
application/json:
schema:
description: Any type
'404':
description: ''
content:
application/json:
schema:
description: Any type
delete:
operationId: cancel-backfill
summary: ✨ Cancel state backfill jobs
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/StateBackfillCancelResponse'
'403':
description: ''
content:
application/json:
schema:
description: Any type
'404':
description: ''
content:
application/json:
schema:
description: Any type
/api/fsm/backfill/jobs/:
get:
operationId: list-backfills
summary: ✨ List state backfill jobs
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/StateBackfillJobListResponse'
'400':
description: ''
content:
application/json:
schema:
description: Any type
'403':
description: ''
content:
application/json:
schema:
description: Any type
'404':
description: ''
content:
application/json:
schema:
description: Any type
/api/fsm/backfill/status/:
get:
operationId: get-backfill-status
summary: ✨ Get state backfill status
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/StateBackfillStatusResponse'
'403':
description: ''
content:
application/json:
schema:
description: Any type
'404':
description: ''
content:
application/json:
schema:
description: Any type
/api/fsm/entities/{entity_name}/{entity_id}/history:
get:
operationId: state-history
summary: ✨ Get entity state history
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedStateModelList'
/api/fsm/entities/{entity_name}/{entity_id}/transition/:
post:
operationId: execute-transition
summary: ✨ Execute manual state transition
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FSMTransitionExecuteResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FSMTransitionExecuteRequestRequest'
/api/import/file-upload/{id}:
get:
operationId: get
summary: Get file upload
description: Retrieve details about a specific uploaded file.
tags:
- subpackage_files
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FileUpload'
delete:
operationId: delete
summary: Delete file upload
description: Delete a specific uploaded file.
tags:
- subpackage_files
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update file upload
description: Update a specific uploaded file.
tags:
- subpackage_files
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/FileUpload'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedFileUploadRequest'
/api/projects/{id}/file-uploads:
get:
operationId: list
summary: Get files list
description: |2-
Retrieve the list of uploaded files used to create labeling tasks for a specific project.
tags:
- subpackage_files
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: all
in: query
description: Set to "true" if you want to retrieve all file uploads
required: false
schema:
type: boolean
- name: ids
in: query
description: Specify the list of file upload IDs to retrieve, e.g. ids=[1,2,3]
required: false
schema:
type: array
items:
type: string
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FileUpload'
delete:
operationId: delete-many
summary: Delete files
description: |2-
Delete uploaded files for a specific project.
tags:
- subpackage_files
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
/data/upload/{filename}:
get:
operationId: download
summary: Download file
description: Download a specific uploaded file.
tags:
- subpackage_files
parameters:
- name: filename
in: path
required: true
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: File downloaded successfully
content:
application/json:
schema:
$ref: '#/components/schemas/files_download_Response_200'
/api/model-run/batch-failed-predictions:
post:
operationId: batch-failed-predictions
summary: ✨ Create batch of failed predictions
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BatchFailedPredictions'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BatchFailedPredictionsRequestRequest'
/api/model-run/batch-predictions:
post:
operationId: batch-predictions
summary: ✨ Create batch predictions
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BatchPredictions'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BatchPredictionsRequestRequest'
/api/projects/{project_pk}/subset-tasks:
get:
operationId: subset-tasks
summary: ✨ Get Project Subset Task List with Predictions and Accuracy details
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedProjectSubsetTasksResponseList'
'400':
description: Bad request - missing parent_model
content:
application/json:
schema:
description: Any type
/api/projects/{project_pk}/subsets:
get:
operationId: subsets
summary: ✨ Get available subsets of a project (for prompts usage)
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProjectSubsetItem'
/api/prompts/:
get:
operationId: list
summary: ✨ List prompts
description: List all prompts.
tags:
- subpackage_prompts
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
- name: search
in: query
description: A search term.
required: false
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedModelInterfaceSerializerGETList'
post:
operationId: create
summary: ✨ Create prompt
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterface'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterfaceRequest'
/api/prompts/compatible-projects:
get:
operationId: compatible-projects
summary: ✨ List projects compatible with prompt
description: Retrieve a list of compatible project for prompt.
tags:
- subpackage_prompts
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
- name: project_type
in: query
description: Skill to filter by
required: false
schema:
$ref: '#/components/schemas/ApiPromptsCompatibleProjectsGetParametersProjectType'
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAllRolesProjectListList'
/api/prompts/{id}/:
get:
operationId: get
summary: ✨ Get prompt
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterfaceSerializerGET'
delete:
operationId: delete
summary: ✨ Delete prompt
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update prompt
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ModelInterface'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedModelInterfaceRequest'
/api/inference-runs/{id}/indicators/:
get:
operationId: list
summary: ✨ Get key indicators
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Key indicators
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiInferenceRunsIdIndicatorsGetResponsesContentApplicationJsonSchemaItems'
/api/inference-runs/{id}/indicators/{indicator_key}:
get:
operationId: get
summary: ✨ Get key indicator
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Key indicator
content:
application/json:
schema:
$ref: '#/components/schemas/LSEKeyIndicatorValue'
/api/prompts/{id}/get-default-version-name:
get:
operationId: get-default-version-name
summary: ✨ Get default prompt version name
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: No response body
content:
application/json:
schema:
$ref: '#/components/schemas/prompts_versions_get_default_version_name_Response_200'
/api/prompts/{prompt_id}/versions:
get:
operationId: list
summary: ✨ List prompt versions
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ThirdPartyModelVersion'
post:
operationId: create
summary: ✨ Create prompt version
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ThirdPartyModelVersion'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ThirdPartyModelVersionRequest'
/api/prompts/{prompt_id}/versions/{version_id}:
get:
operationId: get
summary: ✨ Get prompt version
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ThirdPartyModelVersion'
delete:
operationId: delete
summary: ✨ Delete prompt version
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update prompt version
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ThirdPartyModelVersion'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedThirdPartyModelVersionRequest'
/api/prompts/{prompt_id}/versions/{version_id}/cost-estimate:
get:
operationId: cost-estimate
summary: ✨ Get cost estimate for running a prompt version on a particular project/subset
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Cost estimate response
content:
application/json:
schema:
$ref: '#/components/schemas/InferenceRunCostEstimate'
/api/prompts/{prompt_id}/versions/{version_id}/refine:
get:
operationId: get-refined-prompt
summary: ✨ Get refined prompt
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Refined prompt response
content:
application/json:
schema:
$ref: '#/components/schemas/RefinedPromptResponse'
post:
operationId: refine-prompt
summary: ✨ Refine a prompt version
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Refined prompt response
content:
application/json:
schema:
$ref: '#/components/schemas/RefinedPromptResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RefinePromptRequestRequest'
/api/prompts/{prompt_id}/versions/{version_id}/inference-runs:
get:
operationId: list
summary: ✨ Get inference run info
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ModelRun'
post:
operationId: create
summary: ✨ Run prompt inference
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ModelRun'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelRunRequest'
/api/prompts/{prompt_id}/versions/{version_id}/inference-runs/{inference_run_id}/cancel:
post:
operationId: cancel
summary: ✨ Cancel Inference Run API
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CancelModelRunResponse'
/api/invite/reset-token:
post:
operationId: reset-token
summary: Reset organization token
description: Reset the token used in the invitation link to invite someone to an organization.
tags:
- subpackage_organizations
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationInvite'
/api/organizations/:
get:
operationId: list
summary: List your organizations
description: |2-
Return a list of the organizations you've created or that you have access to.
tags:
- subpackage_organizations
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OrganizationId'
/api/organizations/{id}:
get:
operationId: get
summary: Get organization settings
description: Retrieve the settings for a specific organization by ID.
tags:
- subpackage_organizations
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseOrganization'
patch:
operationId: update
summary: ✨ Update organization
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseOrganization'
'400':
description: Bad Request
content:
application/json:
schema:
description: Any type
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
'404':
description: Not Found
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseOrganizationSerializerUpdateRequest'
/api/organizations/{id}/set-default-role:
patch:
operationId: update-default-role
summary: ✨ Update default role
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DefaultRole'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDefaultRoleRequest'
/api/invite:
get:
operationId: get-invite-link
summary: Get invite link
description: Get invite link for organization
tags:
- subpackage_organizations.subpackage_organizations/invites
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationInvite'
'403':
description: Organization does not allow to invite people
content:
application/json:
schema:
description: Any type
/api/invite/revoke:
post:
operationId: revoke-invite
summary: ✨ Revoke invite
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Invite revoked
content:
application/json:
schema:
$ref: '#/components/schemas/organizations_invites_revoke_invite_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RevokeInviteRequest'
/api/invite/send-email:
post:
operationId: send-email
summary: ✨ Send email with invite
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Invite sent
content:
application/json:
schema:
$ref: '#/components/schemas/organizations_invites_send_email_Response_200'
'403':
description: Organization does not allow to invite people
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SendInviteRequest'
/api/organizations/{id}/member-tags:
get:
operationId: list
summary: ✨ List organization member tags
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedOrganizationMemberTagList'
post:
operationId: create
summary: ✨ Create organization member tag
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTag'
'400':
description: Bad Request - A tag with this label already exists
content:
application/json:
schema:
description: Any type
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTagRequest'
/api/organizations/{id}/member-tags/assignments:
post:
operationId: assign
summary: ✨ Bulk assign tags to organization members
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Number of tag assignments created
content:
application/json:
schema:
$ref: '#/components/schemas/organizations_member_tags_assign_Response_200'
'400':
description: Bad Request - Invalid input
content:
application/json:
schema:
description: Any type
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkOrganizationMemberTagAssignmentRequest'
/api/organizations/{id}/member-tags/imports:
post:
operationId: import
summary: ✨ Import member tags from CSV
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Import job created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/organizations_member_tags_import_Response_201'
'400':
description: Bad Request - Invalid CSV file or missing required columns
content:
application/json:
schema:
description: Any type
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTagImportCreateRequest'
/api/organizations/{id}/member-tags/imports/{import_pk}:
get:
operationId: get-import
summary: ✨ Get member tag import status
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTagImportStatus'
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
'404':
description: Import job not found
content:
application/json:
schema:
description: Any type
/api/organizations/{id}/member-tags/{tag_pk}:
get:
operationId: get
summary: ✨ Get organization member tag
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTag'
'404':
description: Member tag not found
content:
application/json:
schema:
description: Any type
delete:
operationId: delete
summary: ✨ Delete organization member tag
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
'404':
description: Member tag not found
content:
application/json:
schema:
description: Any type
patch:
operationId: update
summary: ✨ Update organization member tag
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTag'
'400':
description: Bad Request - A tag with this label already exists
content:
application/json:
schema:
description: Any type
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
'404':
description: Member tag not found
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedOrganizationMemberTagRequest'
/api/organizations/{id}/member-tags/bulk:
post:
operationId: post
summary: ✨ Bulk create organization member tags
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Number of tags created
content:
application/json:
schema:
$ref: '#/components/schemas/organizations_member_tags_bulk_post_Response_201'
'400':
description: Bad Request - Invalid input
content:
application/json:
schema:
description: Any type
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMemberTagBulkCreateRequest'
delete:
operationId: delete
summary: ✨ Bulk delete organization member tags
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Number of tags deleted
content:
application/json:
schema:
$ref: '#/components/schemas/organizations_member_tags_bulk_delete_Response_200'
'400':
description: Bad Request - Invalid input
content:
application/json:
schema:
description: Any type
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
/api/organizations/{id}/memberships:
get:
operationId: list
summary: ✨ Get organization members/roles
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLseOrganizationMemberListList'
patch:
operationId: update
summary: ✨ Update organization member/role
description: >+
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseOrganizationMemberList'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedOrganizationMemberCreateUpdateRequest'
/api/organizations/{id}/memberships/{user_pk}/:
get:
operationId: get
summary: Get organization member details
description: Get organization member details by user ID.
tags:
- subpackage_organizations.subpackage_organizations/members
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: user_pk
in: path
description: A unique integer value identifying the user to get organization details for.
required: true
schema:
type: integer
- name: contributed_to_projects
in: query
description: Whether to include projects created and contributed to by the member.
required: false
schema:
type: boolean
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationMember'
delete:
operationId: delete
summary: Soft delete an organization member
description: Soft delete a member from the organization.
tags:
- subpackage_organizations.subpackage_organizations/members
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: user_pk
in: path
description: A unique integer value identifying the user to be deleted from the organization.
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
'403':
description: You can delete members only for your current active organization
content:
application/json:
schema:
description: Any type
'404':
description: Member not found
content:
application/json:
schema:
description: Any type
'405':
description: User cannot soft delete self.
content:
application/json:
schema:
description: Any type
/api/organizations/{id}/permissions:
get:
operationId: list
summary: ✨ List organization permission overrides
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OrganizationPermission'
post:
operationId: create
summary: ✨ Create organization permission override
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPermission'
'400':
description: Bad Request
content:
application/json:
schema:
description: Any type
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPermissionRequest'
/api/organizations/{id}/permissions/options:
get:
operationId: get-options
summary: ✨ Get configurable permissions options
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ConfigurablePermissionOption'
/api/organizations/{id}/permissions/{permission}:
get:
operationId: get
summary: ✨ Retrieve organization permission override
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPermission'
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
'404':
description: Permission not found for organization
content:
application/json:
schema:
description: Any type
put:
operationId: replace
summary: ✨ Replace organization permission override
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPermission'
'400':
description: Bad Request
content:
application/json:
schema:
description: Any type
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
'404':
description: Permission not found for organization
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPermissionRequest'
delete:
operationId: delete
summary: ✨ Delete organization permission override
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
'404':
description: Permission not found for organization
content:
application/json:
schema:
description: Any type
patch:
operationId: update
summary: ✨ Update organization permission override
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationPermission'
'400':
description: Bad Request
content:
application/json:
schema:
description: Any type
'403':
description: Permission Denied
content:
application/json:
schema:
description: Any type
'404':
description: Permission not found for organization
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedOrganizationPermissionRequest'
/api/jwt/settings:
get:
operationId: get
summary: Retrieve JWT Settings
description: Retrieve JWT settings for the currently active organization.
tags:
- subpackage_jwtSettings
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LSEJWTSettings'
post:
operationId: update
summary: Update JWT Settings
description: Update JWT settings for the currently active organization.
tags:
- subpackage_jwtSettings
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LSEJWTSettings'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LSEJWTSettingsRequest'
/api/projects/:
get:
operationId: list
summary: List projects
description: Retrieve a list of projects.
tags:
- subpackage_projects
parameters:
- name: archived
in: query
description: Filter by projects that belong to archived workspaces
required: false
schema:
type: boolean
- name: filter
in: query
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.
required: false
schema:
type: string
default: all
- name: ids
in: query
description: Filter id by in list
required: false
schema:
type: string
- name: include
in: query
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.
required: false
schema:
type: string
- name: members_limit
in: query
description: Maximum number of members to return
required: false
schema:
type: integer
default: 10
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
- name: search
in: query
description: Search term for project title and description
required: false
schema:
type: string
- name: state
in: query
description: Filter current_state by exact match
required: false
schema:
type: string
- name: title
in: query
description: Filter title by contains (case-insensitive)
required: false
schema:
type: string
- name: workspaces
in: query
description: Filter workspaces by exact match
required: false
schema:
type: number
format: double
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedAllRolesProjectListList'
post:
operationId: create
summary: Create a project
description: Create a project for a specific organization.
tags:
- subpackage_projects
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectCreate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectCreateRequest'
/api/projects/counts/:
get:
operationId: list-counts
summary: List projects' counts
description: Returns a list of projects with their counts. For example, task_number which is the total task number in project
tags:
- subpackage_projects
parameters:
- name: archived
in: query
description: Filter by projects that belong to archived workspaces
required: false
schema:
type: boolean
- name: filter
in: query
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.
required: false
schema:
type: string
default: all
- name: ids
in: query
description: Filter id by in list
required: false
schema:
type: string
- name: include
in: query
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.
required: false
schema:
type: string
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
- name: search
in: query
description: Search term for project title and description
required: false
schema:
type: string
- name: state
in: query
description: Filter current_state by exact match
required: false
schema:
type: string
- name: title
in: query
description: Filter title by contains (case-insensitive)
required: false
schema:
type: string
- name: workspaces
in: query
description: Filter workspaces by exact match
required: false
schema:
type: number
format: double
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLseProjectCountsList'
/api/projects/{id}/:
get:
operationId: get
summary: Get project by ID
description: Retrieve information about a project by project ID.
tags:
- subpackage_projects
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: members_limit
in: query
description: Maximum number of members to return
required: false
schema:
type: integer
default: 10
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Project information. Not all fields are available for all roles.
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectResponse'
delete:
operationId: delete
summary: Delete project
description: Delete a project by specified project ID.
tags:
- subpackage_projects
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update project details
description: Update the details of a specific project.
tags:
- subpackage_projects
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: members_limit
in: query
description: Maximum number of members to return
required: false
schema:
type: integer
default: 10
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseProjectUpdate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseProjectUpdateRequest'
/api/projects/{id}/annotators/:
get:
operationId: list-unique-annotators
summary: List unique annotators for project
description: Return unique users who have submitted annotations in the specified project.
tags:
- subpackage_projects
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: List of annotator users
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/UserSimple'
/api/projects/{id}/duplicate/:
post:
operationId: duplicate
summary: ✨ Duplicate project
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Project duplicated
content:
application/json:
schema:
$ref: '#/components/schemas/projects_duplicate_Response_201'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectDuplicateRequest'
/api/projects/{id}/import:
post:
operationId: import-tasks
summary: Import tasks
description: |2-
Import data as labeling tasks in bulk using this API endpoint. You can use this API endpoint to import multiple tasks.
One POST request is limited at 250K tasks and 200 MB.
**Note:** Imported data is verified against a project *label_config* and must
include all variables that were used in the *label_config*. For example,
if the label configuration has a *$text* variable, then each item in a data object
must include a "text" field.
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: >-
Tasks successfully imported or import queued. **For non-Community editions**, the response will be
`{"import": curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Predictions successfully imported
content:
application/json:
schema:
$ref: '#/components/schemas/projects_import_predictions_Response_201'
'400':
description: Bad Request
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PredictionRequest'
/api/projects/{id}/validate/:
post:
operationId: validate-label-config
summary: Validate project label config
description: Determine whether the label configuration for a specific project is valid.
tags:
- subpackage_projects
parameters:
- name: id
in: path
description: A unique integer value identifying this project.
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectLabelConfig'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectLabelConfigRequest'
/api/projects/roles/:
get:
operationId: list
summary: ✨ List project roles for current user
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProjectRole'
post:
operationId: add
summary: ✨ Create project role for user
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Role created
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRole'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectRoleRequest'
/api/projects/roles/{id}/:
delete:
operationId: remove
summary: ✨ Remove project role for user
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
/api/projects/{id}/roles:
get:
operationId: get
summary: ✨ List project roles
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProjectRole'
/api/projects/{id}/metricparam/:
get:
operationId: get
summary: ✨ Get project metrics configuration
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Current metrics configuration
content:
application/json:
schema:
$ref: '#/components/schemas/MetricParam'
post:
operationId: update
summary: ✨ Update project metrics configuration
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Updated metrics configuration
content:
application/json:
schema:
$ref: '#/components/schemas/MetricParam'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MetricParamUpdateRequest'
/api/projects/{id}/aws-custom-function:
get:
operationId: get-lambda
summary: ✨ Get AWS custom metric code
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Lambda code and deployment status
content:
application/json:
schema:
$ref: '#/components/schemas/projects_metrics_custom_get_lambda_Response_200'
post:
operationId: update-lambda
summary: ✨ Update AWS custom metric Lambda
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/projects_metrics_custom_update_lambda_Response_200'
'500':
description: Error updating function
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AWSCustomFunctionUpdateRequest'
/api/projects/{id}/aws-custom-function-logs:
get:
operationId: logs
summary: ✨ Get AWS lambda logs for project
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response returns list of AWS lambda logs
content:
application/json:
schema:
$ref: '#/components/schemas/projects_metrics_custom_logs_Response_200'
/api/projects/{id}/check-function:
post:
operationId: check-function
summary: ✨ Check custom matching function code
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Code is valid
content:
application/json:
schema:
$ref: '#/components/schemas/projects_metrics_custom_check_function_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CheckMatchingFunctionRequestRequest'
/api/projects/{id}/custom-function:
get:
operationId: get-function
summary: ✨ Get custom metric code
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Function code and deployment status
content:
application/json:
schema:
$ref: '#/components/schemas/projects_metrics_custom_get_function_Response_200'
post:
operationId: deploy-function
summary: ✨ Deploy custom metric function
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/projects_metrics_custom_deploy_function_Response_200'
'500':
description: Error updating function
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomFunctionCodeRequestRequest'
/api/projects/{id}/custom-function-logs:
get:
operationId: get-function-logs
summary: ✨ Get custom metric function logs
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: List of function execution logs
content:
application/json:
schema:
$ref: '#/components/schemas/projects_metrics_custom_get_function_logs_Response_200'
/api/projects/{id}/gcp-custom-function:
get:
operationId: get-gcp-function
summary: ✨ Get GCP custom metric code
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Cloud Function code and deployment status
content:
application/json:
schema:
$ref: '#/components/schemas/projects_metrics_custom_get_gcp_function_Response_200'
post:
operationId: update-gcp-function
summary: ✨ Update GCP custom metric Cloud Function
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/projects_metrics_custom_update_gcp_function_Response_200'
'500':
description: Error updating function
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCPCustomFunctionUpdateRequest'
/api/projects/{id}/export:
get:
operationId: download-sync
summary: '[Deprecated] Easy export of tasks and annotations'
description: |2-
This endpoint is deprecated in Enterprise. Use the async export API instead:
POST /api/projects/{id}/exports/ (see [Create new export](/api#operation/api_projects_exports_create)).
In Label Studio Enterprise, this endpoint will always return a 404 Not Found response with instructions to use the async export API.
Note: if you have a large project it's recommended to use
export snapshots, this easy export endpoint might have timeouts.curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Exported data
content:
application/json:
schema:
type: string
format: binary
/api/projects/{id}/export/formats:
get:
operationId: list-formats
summary: '[Deprecated] Get export formats'
description: |2-
This endpoint is deprecated in Enterprise. Use the async export API instead:
POST /api/projects/{{id}}/exports/ (see [Create new export](/api#operation/api_projects_exports_create)).
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.
tags:
- subpackage_projects.subpackage_projects/exports
parameters:
- name: id
in: path
description: A unique integer value identifying this project.
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Export formats
content:
application/json:
schema:
type: array
items:
type: string
/api/projects/{id}/exports/:
get:
operationId: list
summary: List all export snapshots
description: Returns a list of exported files for a specific project by ID.
tags:
- subpackage_projects.subpackage_projects/exports
parameters:
- name: id
in: path
description: A unique integer value identifying this project.
required: true
schema:
type: integer
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Export'
post:
operationId: create
summary: Create new export snapshot
description: Create a new export request to start a background task and generate an export file for a specific project by ID.
tags:
- subpackage_projects.subpackage_projects/exports
parameters:
- name: id
in: path
description: A unique integer value identifying this project.
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseExportCreate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseExportCreateRequest'
/api/projects/{id}/exports/{export_pk}:
get:
operationId: get
summary: Get export snapshot by ID
description: Retrieve information about an export file by export ID for a specific project.
tags:
- subpackage_projects.subpackage_projects/exports
parameters:
- name: export_pk
in: path
description: Primary key identifying the export file.
required: true
schema:
type: integer
- name: id
in: path
description: A unique integer value identifying this project.
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Export'
delete:
operationId: delete
summary: Delete export snapshot
description: Delete an export file by specified export ID.
tags:
- subpackage_projects.subpackage_projects/exports
parameters:
- name: export_pk
in: path
description: Primary key identifying the export file.
required: true
schema:
type: integer
- name: id
in: path
description: A unique integer value identifying this project.
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
/api/projects/{id}/exports/{export_pk}/convert:
post:
operationId: convert
summary: Export conversion
description: Convert export snapshot to selected format
tags:
- subpackage_projects.subpackage_projects/exports
parameters:
- name: export_pk
in: path
description: Primary key identifying the export file.
required: true
schema:
type: integer
- name: id
in: path
description: A unique integer value identifying this project.
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/projects_exports_convert_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExportConvertRequest'
/api/projects/{id}/exports/{export_pk}/download:
get:
operationId: download
summary: Download export snapshot as file in specified format
description: |2-
Download an export file in the specified format for a specific project. Specify the project ID with the `id`
parameter in the path and the ID of the export file you want to download using the `export_pk` parameter
in the path.
Get the `export_pk` from the response of the request to [Create new export](/api#operation/api_projects_exports_create)
or after [listing export files](/api#operation/api_projects_exports_list).
tags:
- subpackage_projects.subpackage_projects/exports
parameters:
- name: export_pk
in: path
description: Primary key identifying the export file.
required: true
schema:
type: integer
- name: id
in: path
description: A unique integer value identifying this project.
required: true
schema:
type: integer
- name: exportType
in: query
description: Selected export format
required: false
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Export file
content:
application/octet-stream:
schema:
type: string
format: binary
/api/projects/{id}/members/:
post:
operationId: add
summary: ✨ Add project member
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectMember'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectMemberRequest'
delete:
operationId: remove
summary: ✨ Remove member from project
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
/api/projects/{id}/members/bulk/:
post:
operationId: post
summary: ✨ Bulk assign project members
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/projects_members_bulk_post_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectMemberBulkAssignRequest'
delete:
operationId: delete
summary: ✨ Bulk unassign project members
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/projects_members_bulk_delete_Response_200'
/api/projects/{id}/members/paginated/:
get:
operationId: list
summary: ✨ Get project members paginated
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedPaginatedProjectMemberList'
/api/projects/{id}/model-stats/{model_version}/agreement:
get:
operationId: model-version-annotator-agreement
summary: ✨ Get model-version overall agreement vs annotators
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Model-version overall agreement vs annotators
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_model_version_annotator_agreement_Response_200'
/api/projects/{id}/model-stats/{model_version}/agreement-groundtruth:
get:
operationId: model-version-ground-truth-agreement
summary: ✨ Get model-version ground truth agreement
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Model-version ground truth agreement
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_model_version_ground_truth_agreement_Response_200'
/api/projects/{id}/model-stats/{model_version}/prediction:
get:
operationId: model-version-prediction-agreement
summary: ✨ Get model-version prediction agreement
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Model-version prediction agreement
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_model_version_prediction_agreement_Response_200'
/api/projects/{id}/stats/IAA:
get:
operationId: iaa
summary: ✨ Get Inter-Annotator Agreement matrix
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Inter-Annotator Agreement matrix
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_iaa_Response_200'
/api/projects/{id}/stats/agreement-groundtruth:
get:
operationId: users-ground-truth-agreement
summary: ✨ Get ground truth agreement for multiple users
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Ground truth agreement statistics for multiple users
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_users_ground_truth_agreement_Response_200'
/api/projects/{id}/stats/agreement_annotator/{user_id}:
get:
operationId: agreement-annotator
summary: ✨ Get individual annotator agreement stats
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Individual annotator agreement statistics
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_agreement_annotator_Response_200'
/api/projects/{id}/stats/agreement_annotators:
get:
operationId: agreement-annotators
summary: ✨ Get agreement statistics for multiple annotators
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Multiple annotator agreement statistics
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_agreement_annotators_Response_200'
/api/projects/{id}/stats/data_filter:
get:
operationId: data-filters
summary: ✨ Get user data filter statistics
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: User data filter statistics
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_data_filters_Response_200'
/api/projects/{id}/stats/finished:
get:
operationId: finished-tasks
summary: ✨ Get finished tasks statistics
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Finished tasks statistics
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_finished_tasks_Response_200'
/api/projects/{id}/stats/label-distribution/counts:
get:
operationId: label-distribution-counts
summary: ✨ Get label distribution counts
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Label distribution counts
content:
application/json:
schema:
$ref: '#/components/schemas/LabelDistributionCountsResponse'
/api/projects/{id}/stats/label-distribution/structure:
get:
operationId: label-distribution-structure
summary: ✨ Get label distribution structure
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Label distribution structure
content:
application/json:
schema:
$ref: '#/components/schemas/LabelDistributionStructureResponse'
/api/projects/{id}/stats/lead_time:
get:
operationId: lead-time
summary: ✨ Get lead time statistics
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Lead time statistics
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_lead_time_Response_200'
/api/projects/{id}/stats/member_performance_rows/:
get:
operationId: member-performance-rows
summary: ✨ Get paginated member performance rows
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
fflag_feat_lse_project_dashboards_v3_members_short.
tags:
- subpackage_projects.subpackage_projects/stats
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: ids
in: query
description: Comma-separated user IDs to include. When omitted, members are derived from the project.
required: false
schema:
type: string
- name: ordering
in: query
description: Sort field; prefix with "-" for descending (e.g. "-finished").
required: false
schema:
type: string
- name: page
in: query
description: 1-based page index.
required: false
schema:
type: integer
- name: page_size
in: query
description: Page size (1–100).
required: false
schema:
type: integer
- name: table
in: query
description: 'Which table to load: "annotations" or "reviews".'
required: false
schema:
$ref: '#/components/schemas/ApiProjectsIdStatsMemberPerformanceRowsGetParametersTable'
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Member performance rows for one page plus summary aggregates.
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_member_performance_rows_Response_200'
'404':
description: Feature flag off or project not found.
content:
application/json:
schema:
description: Any type
/api/projects/{id}/stats/total_agreement:
get:
operationId: total-agreement
summary: ✨ Get total agreement for project
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Total agreement
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_total_agreement_Response_200'
/api/projects/{id}/update-stats:
get:
operationId: update-stats
summary: ✨ Start stats recalculation
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response returns job id
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_update_stats_Response_200'
/api/projects/{id}/user-stats/prediction:
get:
operationId: users-prediction-agreement
summary: ✨ Get prediction agreement statistics for multiple annotators
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Prediction agreement statistics for multiple annotators
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_users_prediction_agreement_Response_200'
/api/projects/{id}/user-stats/review_score:
get:
operationId: users-review-score
summary: ✨ Get review scores for multiple annotators
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Review scores and performance scores for multiple annotators
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_users_review_score_Response_200'
/api/projects/{id}/user-stats/{user_pk}/prediction:
get:
operationId: user-prediction-agreement
summary: ✨ Get individual user prediction agreement
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Individual user prediction agreement statistics
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_user_prediction_agreement_Response_200'
/api/projects/{id}/user-stats/{user_pk}/review_score:
get:
operationId: user-review-score
summary: ✨ Get individual user review scores
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Individual user review score statistics
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_user_review_score_Response_200'
/api/projects/{id}/users/{user_pk}/stats/agreement-groundtruth:
get:
operationId: user-ground-truth-agreement
summary: ✨ Get individual user ground truth agreement
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Individual user ground truth agreement statistics
content:
application/json:
schema:
$ref: '#/components/schemas/projects_stats_user_ground_truth_agreement_Response_200'
/api/projects/{id}/review-routing-rules/:
get:
operationId: list
summary: ✨ List review routing rules
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ReviewRoutingRule'
/api/projects/{id}/review-routing-rules/bulk/:
post:
operationId: bulk-replace
summary: ✨ Bulk replace review routing rules
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ReviewRoutingRule'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReviewRoutingRulesReplaceRequest'
/api/projects/{id}/tasks/assignees:
post:
operationId: bulk-assign
summary: ✨ Bulk assign users to tasks
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/projects_assignments_bulk_assign_Response_201'
'400':
description: Can't assign tasks
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
type: object
properties:
filters:
$ref: '#/components/schemas/ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFilters'
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.This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: List of assignments for the task
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TaskAssignment'
post:
operationId: assign
summary: ✨ Create task assignee
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAssignment'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
$ref: >-
#/components/schemas/ApiProjectsIdTasksTaskPkAssigneesPostRequestBodyContentApplicationJsonSchemaType
description: Assignment type. Use AN for annotate or RE for review.
users:
type: array
items:
type: integer
description: List of user IDs to assign
required:
- type
- users
delete:
operationId: delete
summary: ✨ Delete task assignments
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update task assignee
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAssignment'
requestBody:
content:
application/json:
schema:
type: object
properties:
type:
$ref: >-
#/components/schemas/ApiProjectsIdTasksTaskPkAssigneesPatchRequestBodyContentApplicationJsonSchemaType
description: Assignment type. Use AN for annotate or RE for review.
users:
type: array
items:
type: integer
description: List of user IDs to assign
required:
- type
- users
/api/projects/{project_pk}/members/{user_pk}/pauses/:
get:
operationId: list
summary: ✨ List pauses
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Pause'
post:
operationId: create
summary: ✨ Create pause
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Pause'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PauseRequest'
/api/projects/{project_pk}/members/{user_pk}/pauses/{id}/:
get:
operationId: get
summary: ✨ Get pause
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Pause'
delete:
operationId: delete
summary: ✨ Delete pause
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update pause
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Pause'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedPauseRequest'
/api/ml/:
get:
operationId: list
summary: List ML backends
description: |2-
List all configured ML backends for a specific project by ID.
Use the following cURL command:
```bash
curl http://localhost:8000/api/ml?project={project_id} -H 'Authorization: Token abc123'
tags:
- subpackage_ml
parameters:
- name: project
in: query
description: Project ID
required: false
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MLBackend'
post:
operationId: create
summary: Add ML Backend
description: |2-
Add an ML backend to a project using the Label Studio UI or by sending a POST request using the following cURL
command:
```bash
curl -X POST -H 'Content-type: application/json' http://localhost:8000/api/ml -H 'Authorization: Token abc123'\
--data '{"url": "http://localhost:9090", "project": {project_id}}'
tags:
- subpackage_ml
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MLBackend'
requestBody:
content:
application/json:
schema:
type: object
properties:
auth_method:
$ref: '#/components/schemas/ApiMlPostRequestBodyContentApplicationJsonSchemaAuthMethod'
description: Auth method
basic_auth_pass:
type: string
description: Basic auth password
basic_auth_user:
type: string
description: Basic auth user
description:
type: string
description: Description
extra_params:
$ref: '#/components/schemas/ApiMlPostRequestBodyContentApplicationJsonSchemaExtraParams'
description: Extra parameters
is_interactive:
type: boolean
description: Is interactive
project:
type: integer
description: Project ID
timeout:
type: integer
description: Response model timeout
title:
type: string
description: Title
url:
type: string
description: ML backend URL
/api/ml/{id}:
get:
operationId: get
summary: Get ML Backend
description: |2-
Get details about a specific ML backend connection by ID. For example, make a GET request using the
following cURL command:
```bash
curl http://localhost:8000/api/ml/{ml_backend_ID} -H 'Authorization: Token abc123'
tags:
- subpackage_ml
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MLBackend'
delete:
operationId: delete
summary: Remove ML Backend
description: |2-
Remove an existing ML backend connection by ID. For example, use the
following cURL command:
```bash
curl -X DELETE http://localhost:8000/api/ml/{ml_backend_ID} -H 'Authorization: Token abc123'
tags:
- subpackage_ml
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update ML Backend
description: |2-
Update ML backend parameters using the Label Studio UI or by sending a PATCH request using the following cURL command:
```bash
curl -X PATCH -H 'Content-type: application/json' http://localhost:8000/api/ml/{ml_backend_ID} -H 'Authorization: Token abc123'\
--data '{"url": "http://localhost:9091"}'
tags:
- subpackage_ml
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/MLBackend'
requestBody:
content:
application/json:
schema:
type: object
properties:
auth_method:
$ref: '#/components/schemas/ApiMlIdPatchRequestBodyContentApplicationJsonSchemaAuthMethod'
description: Auth method
basic_auth_pass:
type: string
description: Basic auth password
basic_auth_user:
type: string
description: Basic auth user
description:
type: string
description: Description
extra_params:
$ref: '#/components/schemas/ApiMlIdPatchRequestBodyContentApplicationJsonSchemaExtraParams'
description: Extra parameters
is_interactive:
type: boolean
description: Is interactive
project:
type: integer
description: Project ID
timeout:
type: integer
description: Response model timeout
title:
type: string
description: Title
url:
type: string
description: ML backend URL
/api/ml/{id}/interactive-annotating:
post:
operationId: predict-interactive
summary: Request Interactive Annotation
description: |2-
Send a request to the machine learning backend set up to be used for interactive preannotations to retrieve a
predicted region based on annotator input.
See [set up machine learning](https://labelstud.io/guide/ml.html#Get-interactive-preannotations) for more.
tags:
- subpackage_ml
parameters:
- name: id
in: path
description: A unique integer value identifying this ML backend.
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Interactive annotation has succeeded.
content:
application/json:
schema:
$ref: '#/components/schemas/ml_predict_interactive_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/MLInteractiveAnnotatingRequestRequest'
/api/ml/{id}/predict:
post:
operationId: predict-all-tasks
summary: ✨ Create predictions for all tasks
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Predictions have successfully started.
content:
application/json:
schema:
$ref: '#/components/schemas/ml_predict_all_tasks_Response_200'
/api/ml/{id}/train:
post:
operationId: train
summary: Train
description: |2-
After you add an ML backend, call this API with the ML backend ID to start training with
already-labeled tasks.
Get the ML backend ID by [listing the ML backends for a project](https://labelstud.io/api/#operation/api_ml_list).
tags:
- subpackage_ml
parameters:
- name: id
in: path
description: A unique integer value identifying this ML backend.
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Training has successfully started.
content:
application/json:
schema:
$ref: '#/components/schemas/ml_train_Response_200'
'500':
description: Training error
content:
application/json:
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
use_ground_truth:
type: boolean
description: Whether to include ground truth annotations in training
/api/ml/{id}/versions:
get:
operationId: list-model-versions
summary: Get model versions
description: Get available versions of the model.
tags:
- subpackage_ml
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: List of available versions.
content:
application/json:
schema:
$ref: '#/components/schemas/ml_list_model_versions_Response_200'
/api/model-provider-connections/:
get:
operationId: list
summary: ✨ List model provider connections
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ModelProviderConnection'
post:
operationId: create
summary: ✨ Create model provider connection
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ModelProviderConnection'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ModelProviderConnectionRequest'
/api/model-provider-connections/provider-choices:
get:
operationId: list-model-provider-choices
summary: ✨ List model provider choices
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: List of model provider choices
content:
application/json:
schema:
$ref: '#/components/schemas/model_providers_list_model_provider_choices_Response_200'
/api/model-provider-connections/{id}/:
get:
operationId: get
summary: ✨ Get model provider connection
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ModelProviderConnection'
delete:
operationId: delete
summary: ✨ Delete model provider connection
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update model provider connection
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ModelProviderConnection'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedModelProviderConnectionRequest'
/api/predictions/:
get:
operationId: list
summary: List predictions
description: List all predictions and their IDs.
tags:
- subpackage_predictions
parameters:
- name: project
in: query
description: Filter predictions by project ID
required: false
schema:
type: integer
- name: task
in: query
description: Filter predictions by task ID
required: false
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Predictions list
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Prediction'
post:
operationId: create
summary: Create prediction
description: Create a prediction for a specific task.
tags:
- subpackage_predictions
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Created prediction
content:
application/json:
schema:
$ref: '#/components/schemas/Prediction'
requestBody:
content:
application/json:
schema:
type: object
properties:
model_version:
type: string
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
result:
type: array
items:
$ref: '#/components/schemas/ApiPredictionsPostRequestBodyContentApplicationJsonSchemaResultItems'
description: >-
Prediction result in JSON format. Read more about the format in [the Label Studio
documentation.](https://labelstud.io/guide/predictions)
score:
type: number
format: double
description: >-
Prediction score. Can be used in Data Manager to sort task by model confidence. Task with the lowest
score will be shown first.
task:
type: integer
description: Task ID for which the prediction is created
/api/predictions/{id}/:
get:
operationId: get
summary: Get prediction details
description: Get details about a specific prediction by its ID.
tags:
- subpackage_predictions
parameters:
- name: id
in: path
description: Prediction ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Prediction details
content:
application/json:
schema:
$ref: '#/components/schemas/Prediction'
delete:
operationId: delete
summary: Delete prediction
description: Delete a prediction by prediction ID.
tags:
- subpackage_predictions
parameters:
- name: id
in: path
description: Prediction ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update prediction
description: Update prediction data by prediction ID.
tags:
- subpackage_predictions
parameters:
- name: id
in: path
description: Prediction ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Updated prediction
content:
application/json:
schema:
$ref: '#/components/schemas/Prediction'
requestBody:
content:
application/json:
schema:
type: object
properties:
model_version:
type: string
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
result:
type: array
items:
$ref: '#/components/schemas/ApiPredictionsIdPatchRequestBodyContentApplicationJsonSchemaResultItems'
description: >-
Prediction result in JSON format. Read more about the format in [the Label Studio
documentation.](https://labelstud.io/guide/predictions)
score:
type: number
format: double
description: >-
Prediction score. Can be used in Data Manager to sort task by model confidence. Task with the lowest
score will be shown first.
task:
type: integer
description: Task ID for which the prediction is created
/api/project-templates/:
get:
operationId: list
summary: ✨ Get project templates
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ProjectTemplate'
post:
operationId: create
summary: ✨ Create project template
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTemplate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTemplateRequest'
/api/project-templates/{id}:
get:
operationId: get
summary: ✨ Get a project template
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTemplate'
delete:
operationId: delete
summary: ✨ Delete a project template
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update a project template
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectTemplate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedProjectTemplateRequest'
/api/project-templates/{id}/create-project:
post:
operationId: create-project-from-template
summary: ✨ Create project from template
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Project created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/LseProject'
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: A description for the project.
title:
type: string
description: The title of the project to be created from the template.
workspace_id:
type: integer
description: A unique integer value identifying the workspace in which to create the project.
required:
- title
- workspace_id
/api/projects/{id}/imports/{import_pk}/:
get:
operationId: create-many-status
summary: 'Get project import status '
description: |2-
Poll the status of an asynchronous project import operation.
**Usage:**
1. When you POST to `/api/projects/{project_id}/import`, you'll receive a response like `{"import": curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectImport'
/api/projects/{id}/tasks/:
delete:
operationId: delete-all-tasks
summary: Delete all tasks
description: Delete all tasks from a specific project.
tags:
- subpackage_tasks
parameters:
- name: id
in: path
description: A unique integer value identifying this project.
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
/api/tasks/:
get:
operationId: list
summary: List tasks
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
tags:
- subpackage_tasks
parameters:
- name: fields
in: query
description: Set to "all" if you want to include annotations and predictions in the response. Defaults to task_only
required: false
schema:
$ref: '#/components/schemas/ApiTasksGetParametersFields'
- name: include
in: query
description: Specify which fields to include in the response
required: false
schema:
type: string
- name: only_annotated
in: query
description: Filter to show only tasks that have annotations
required: false
schema:
type: boolean
- name: page
in: query
description: A page number within the paginated result set.
required: false
schema:
type: integer
- name: page_size
in: query
description: Number of results to return per page.
required: false
schema:
type: integer
- name: project
in: query
description: Project ID
required: false
schema:
type: integer
- name: query
in: query
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"]
required: false
schema:
type: string
- name: resolve_uri
in: query
description: Resolve task data URIs using Cloud Storage
required: false
schema:
type: boolean
- name: review
in: query
description: Get tasks for review
required: false
schema:
type: boolean
- name: selectedItems
in: query
description: JSON string of selected task IDs for review workflow
required: false
schema:
type: string
- name: view
in: query
description: View ID
required: false
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedRoleBasedTaskList'
'400':
description: Bad request - invalid parameters
content:
application/json:
schema:
description: Any type
'401':
description: Unauthorized - authentication required
content:
application/json:
schema:
description: Any type
'403':
description: Forbidden - insufficient permissions
content:
application/json:
schema:
description: Any type
post:
operationId: create
summary: Create a new task
description: Create a new task
tags:
- subpackage_tasks
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseTask'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseTaskRequest'
/api/tasks/{id}/:
get:
operationId: get
summary: Get task
description: Get task data, metadata, annotations and other attributes for a specific labeling task by task ID.
tags:
- subpackage_tasks
parameters:
- name: id
in: path
description: Task ID
required: true
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RoleBasedTask'
delete:
operationId: delete
summary: Delete task
description: Delete a task in Label Studio. This action cannot be undone!
tags:
- subpackage_tasks
parameters:
- name: id
in: path
description: Task ID
required: true
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update task
description: Update the attributes of an existing labeling task.
tags:
- subpackage_tasks
parameters:
- name: id
in: path
description: Task ID
required: true
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RoleBasedTask'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseTaskRequest'
/api/tasks/{id}/events/:
post:
operationId: create-event
summary: Create task event
description: |2-
Create a new task event to track user interactions and system events during annotation.
This endpoint is designed to receive events from the frontend labeling interface to enable
accurate lead time calculation and detailed annotation analytics.
## Event Types
**Core Annotation Events:**
- `annotation_loaded` - When annotation interface is loaded
- `annotation_created` - When annotation is submitted
- `annotation_updated` - When annotation is modified
- `annotation_reviewed` - When annotation is reviewed
**User Activity Events:**
- `visibility_change` - When page visibility changes (tab switch, minimize)
- `idle_detected` - When user goes idle
- `idle_resumed` - When user returns from idle
**Interaction Events:**
- `region_finished_drawing` - When annotation region is completed
- `region_deleted` - When annotation regions are removed
- `hotkey_pressed` - When keyboard shortcuts are used
**Media Events:**
- `video_playback_start/end` - Video playback control
- `audio_playback_start/end` - Audio playback control
- `video_scrub` - Video timeline scrubbing
## Usage
Events are automatically associated with the task specified in the URL path.
The current user is automatically set as the actor. Project and organization
are derived from the task context.
## Example Request
```json
{
"event_key": "annotation_loaded",
"event_time": "2024-01-15T10:30:00Z",
"annotation": 123,
"meta": {
"annotation_count": 5,
"estimated_time": 300
}
}
```
tags:
- subpackage_tasks
parameters:
- name: id
in: path
description: Task ID to associate the event with
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TaskEvent'
'400':
description: Bad request - validation errors
content:
application/json:
schema:
description: Any type
'401':
description: Unauthorized - authentication required
content:
application/json:
schema:
description: Any type
'403':
description: Forbidden - insufficient permissions
content:
application/json:
schema:
description: Any type
'404':
description: Not found - task does not exist
content:
application/json:
schema:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TaskEventRequest'
/api/projects/{project_pk}/tasks/{task_pk}/agreement-matrix:
get:
operationId: get
summary: ✨ Get task agreement matrix
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TaskAgreementMatrixResponse'
/api/saml/settings:
get:
operationId: get
summary: ✨ Retrieve SAML2 Settings
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SamlSettings'
post:
operationId: update
summary: ✨ Update SAML2 Settings
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SamlSettingsUpdate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SamlSettingsUpdateRequest'
delete:
operationId: reset
summary: ✨ Reset SAML2 Settings
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
/api/saml/settings/validate-metadata-url:
post:
operationId: validate-metadata-url
summary: ✨ Validate SAML Metadata URL
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateSamlMetadataUrlResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateSamlMetadataUrlRequestRequest'
/api/scim/settings:
get:
operationId: get
summary: ✨ Retrieve SCIM Settings
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ScimSettings'
post:
operationId: update
summary: ✨ Update SCIM Settings
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ScimSettingsUpdate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScimSettingsUpdateRequest'
/api/session-policy/:
get:
operationId: get
summary: Retrieve Session Policy
description: Retrieve session timeout policy for the currently active organization.
tags:
- subpackage_sessionPolicy
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SessionTimeoutPolicy'
patch:
operationId: update
summary: Update Session Policy
description: Update session timeout policy for the currently active organization.
tags:
- subpackage_sessionPolicy
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/SessionTimeoutPolicy'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedSessionTimeoutPolicyRequest'
/api/storages/types:
get:
operationId: list-types
summary: List all import storages types
description: Retrieve a list of the import storages types.
tags:
- subpackage_importStorage
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: List of import storage types
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiStoragesTypesGetResponsesContentApplicationJsonSchemaItems'
/api/storages/azure/:
get:
operationId: list
summary: Get all import storage
description: Get list of all Azure import storage connections.
tags:
- subpackage_importStorage.subpackage_importStorage/azure
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AzureBlobImportStorage'
post:
operationId: create
summary: Create new storage
description: Create new Azure import storage
tags:
- subpackage_importStorage.subpackage_importStorage/azure
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobImportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
account_key:
type: string
description: Azure Blob account key
account_name:
type: string
description: Azure Blob account name
container:
type: string
description: Azure blob container
description:
type: string
description: Storage description
prefix:
type: string
description: Azure blob prefix name
presign:
type: boolean
default: true
description: Presign URLs for direct download
presign_ttl:
type: integer
default: 1
description: Presign TTL in minutes
project:
type: integer
description: Project ID
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/azure/validate:
post:
operationId: validate
summary: Validate import storage
description: Validate a specific Azure import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/azure
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_azure_validate_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
account_key:
type: string
description: Azure Blob account key
account_name:
type: string
description: Azure Blob account name
container:
type: string
description: Azure blob container
description:
type: string
description: Storage description
id:
type: integer
description: Storage ID. If set, storage with specified ID will be updated
prefix:
type: string
description: Azure blob prefix name
presign:
type: boolean
default: true
description: Presign URLs for direct download
presign_ttl:
type: integer
default: 1
description: Presign TTL in minutes
project:
type: integer
description: Project ID
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/azure/{id}:
get:
operationId: get
summary: Get import storage
description: Get a specific Azure import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/azure
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobImportStorage'
delete:
operationId: delete
summary: Delete import storage
description: Delete a specific Azure import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/azure
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update import storage
description: Update a specific Azure import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/azure
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobImportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
account_key:
type: string
description: Azure Blob account key
account_name:
type: string
description: Azure Blob account name
container:
type: string
description: Azure blob container
description:
type: string
description: Storage description
prefix:
type: string
description: Azure blob prefix name
presign:
type: boolean
default: true
description: Presign URLs for direct download
presign_ttl:
type: integer
default: 1
description: Presign TTL in minutes
project:
type: integer
description: Project ID
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/azure/{id}/sync:
post:
operationId: sync
summary: Sync import storage
description: Sync tasks from an Azure import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/azure
parameters:
- name: id
in: path
description: Storage ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobImportStorage'
/api/storages/azure_spi/:
get:
operationId: list
summary: ✨ Get Azure SPI import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AzureServicePrincipalImportStorage'
post:
operationId: create
summary: ✨ Create Azure import storage with SPI
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorageRequest'
/api/storages/azure_spi/validate:
post:
operationId: validate
summary: ✨ Validate Azure SPI import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_azure_spi_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorageRequest'
/api/storages/azure_spi/{id}:
get:
operationId: get
summary: ✨ Get Azure SPI import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorage'
delete:
operationId: delete
summary: ✨ Delete Azure SPI import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update Azure SPI import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAzureServicePrincipalImportStorageRequest'
/api/storages/azure_spi/{id}/sync:
post:
operationId: sync
summary: ✨ Sync Azure SPI import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalImportStorage'
/api/storages/databricks/:
get:
operationId: list
summary: ✨ List Databricks import storages
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DatabricksImportStorage'
post:
operationId: create
summary: ✨ Create Databricks import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksImportStorageRequest'
/api/storages/databricks/validate:
post:
operationId: validate
summary: ✨ Validate Databricks import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_databricks_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksImportStorageRequest'
/api/storages/databricks/{id}:
get:
operationId: get
summary: ✨ Get Databricks import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksImportStorage'
delete:
operationId: delete
summary: ✨ Delete Databricks import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update Databricks import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDatabricksImportStorageRequest'
/api/storages/databricks/{id}/sync:
post:
operationId: sync
summary: ✨ Sync Databricks import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksImportStorage'
/api/storages/gcs/:
get:
operationId: list
summary: Get all import storage
description: Get a list of all GCS import storage connections.
tags:
- subpackage_importStorage.subpackage_importStorage/gcs
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GCSImportStorage'
post:
operationId: create
summary: Create import storage
description: Create a new GCS import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/gcs
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSImportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
bucket:
type: string
description: GCS bucket name
description:
type: string
description: Storage description
google_application_credentials:
type: string
description: >-
The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication
documentation for more details.
google_project_id:
type: string
description: Google project ID
prefix:
type: string
description: GCS bucket prefix
presign:
type: boolean
default: true
description: Presign URLs for direct download
presign_ttl:
type: integer
default: 1
description: Presign TTL in minutes
project:
type: integer
description: Project ID
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/gcs/validate:
post:
operationId: validate
summary: Validate import storage
description: Validate a specific GCS import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/gcs
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_gcs_validate_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
bucket:
type: string
description: GCS bucket name
description:
type: string
description: Storage description
google_application_credentials:
type: string
description: >-
The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication
documentation for more details.
google_project_id:
type: string
description: Google project ID
id:
type: integer
description: Storage ID. If set, storage with specified ID will be updated
prefix:
type: string
description: GCS bucket prefix
presign:
type: boolean
default: true
description: Presign URLs for direct download
presign_ttl:
type: integer
default: 1
description: Presign TTL in minutes
project:
type: integer
description: Project ID
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/gcs/{id}:
get:
operationId: get
summary: Get import storage
description: Get a specific GCS import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/gcs
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSImportStorage'
delete:
operationId: delete
summary: Delete import storage
description: Delete a specific GCS import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/gcs
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update import storage
description: Update a specific GCS import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/gcs
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSImportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
bucket:
type: string
description: GCS bucket name
description:
type: string
description: Storage description
google_application_credentials:
type: string
description: >-
The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication
documentation for more details.
google_project_id:
type: string
description: Google project ID
prefix:
type: string
description: GCS bucket prefix
presign:
type: boolean
default: true
description: Presign URLs for direct download
presign_ttl:
type: integer
default: 1
description: Presign TTL in minutes
project:
type: integer
description: Project ID
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/gcs/{id}/sync:
post:
operationId: sync
summary: Sync import storage
description: Sync tasks from a GCS import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/gcs
parameters:
- name: id
in: path
description: Storage ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSImportStorage'
/api/storages/gcs_sa/:
get:
operationId: list
summary: ✨ Get all GCS SA import storages
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GCSSAImportStorage'
post:
operationId: create
summary: ✨ Create GCS import storage with SA Impersonation
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorageRequest'
/api/storages/gcs_sa/validate:
post:
operationId: validate
summary: ✨ Validate GCS SA import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_gcs_sa_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorageRequest'
/api/storages/gcs_sa/{id}:
get:
operationId: get
summary: ✨ Get GCS SA import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorage'
delete:
operationId: delete
summary: ✨ Delete GCS SA import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update GCS SA import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSSAImportStorageRequest'
/api/storages/gcs_sa/{id}/sync:
post:
operationId: sync
summary: ✨ Sync GCS SA import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAImportStorage'
/api/storages/gcswif/:
get:
operationId: list
summary: ✨ Get GCS WIF import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GCSWIFImportStorage'
post:
operationId: create
summary: ✨ Create GCS import storage with WIF
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFImportStorageRequest'
/api/storages/gcswif/validate:
post:
operationId: validate
summary: ✨ Validate GCS WIF import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_gcswif_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFImportStorageRequest'
/api/storages/gcswif/{id}:
get:
operationId: get
summary: ✨ Get GCS WIF import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFImportStorage'
delete:
operationId: delete
summary: ✨ Delete GCS WIF import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update GCS WIF import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSWIFImportStorageRequest'
/api/storages/gcswif/{id}/sync:
post:
operationId: sync
summary: ✨ Sync GCS WIF import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFImportStorage'
/api/storages/localfiles/:
get:
operationId: list
summary: Get all import storage
description: Get a list of all local file import storage connections.
tags:
- subpackage_importStorage.subpackage_importStorage/local
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LocalFilesImportStorage'
post:
operationId: create
summary: Create import storage
description: Create a new local file import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/local
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesImportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Storage description
path:
type: string
description: Path to local directory
project:
type: integer
description: Project ID
regex_filter:
type: string
description: Regex for filtering objects
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you
can use this option to generate URLs for these images. If set to False, it will read the content of
the file and load it into Label Studio.
/api/storages/localfiles/validate:
post:
operationId: validate
summary: Validate import storage
description: Validate a specific local file import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/local
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_local_validate_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Storage description
id:
type: integer
description: Storage ID. If set, storage with specified ID will be updated
path:
type: string
description: Path to local directory
project:
type: integer
description: Project ID
regex_filter:
type: string
description: Regex for filtering objects
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you
can use this option to generate URLs for these images. If set to False, it will read the content of
the file and load it into Label Studio.
/api/storages/localfiles/{id}:
get:
operationId: get
summary: Get import storage
description: Get a specific local file import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/local
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesImportStorage'
delete:
operationId: delete
summary: Delete import storage
description: Delete a specific local file import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/local
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update import storage
description: Update a specific local file import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/local
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesImportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Storage description
path:
type: string
description: Path to local directory
project:
type: integer
description: Project ID
regex_filter:
type: string
description: Regex for filtering objects
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you
can use this option to generate URLs for these images. If set to False, it will read the content of
the file and load it into Label Studio.
/api/storages/localfiles/{id}/sync:
post:
operationId: sync
summary: Sync import storage
description: Sync tasks from a local file import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/local
parameters:
- name: id
in: path
description: Storage ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesImportStorage'
/api/storages/redis/:
get:
operationId: list
summary: Get all import storage
description: Get a list of all Redis import storage connections.
tags:
- subpackage_importStorage.subpackage_importStorage/redis
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RedisImportStorage'
post:
operationId: create
summary: Create import storage
description: Create a new Redis import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/redis
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RedisImportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Storage description
host:
type: string
description: Server Host IP (optional)
password:
type: string
description: Server Password (optional)
path:
type: string
description: Storage prefix (optional)
port:
type: string
description: Server Port (optional)
project:
type: integer
description: Project ID
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/redis/validate:
post:
operationId: validate
summary: Validate import storage
description: Validate a specific Redis import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/redis
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_redis_validate_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Storage description
host:
type: string
description: Server Host IP (optional)
id:
type: integer
description: Storage ID. If set, storage with specified ID will be updated
password:
type: string
description: Server Password (optional)
path:
type: string
description: Storage prefix (optional)
port:
type: string
description: Server Port (optional)
project:
type: integer
description: Project ID
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/redis/{id}:
get:
operationId: get
summary: Get import storage
description: Get a specific Redis import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/redis
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RedisImportStorage'
delete:
operationId: delete
summary: Delete import storage
description: Delete a specific Redis import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/redis
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update import storage
description: Update a specific Redis import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/redis
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RedisImportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Storage description
host:
type: string
description: Server Host IP (optional)
password:
type: string
description: Server Password (optional)
path:
type: string
description: Storage prefix (optional)
port:
type: string
description: Server Port (optional)
project:
type: integer
description: Project ID
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/redis/{id}/sync:
post:
operationId: sync
summary: Sync import storage
description: Sync tasks from a Redis import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/redis
parameters:
- name: id
in: path
description: Storage ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RedisImportStorage'
/api/storages/s3/:
get:
operationId: list
summary: List S3 import storage
description: Get a list of all S3 import storage connections.
tags:
- subpackage_importStorage.subpackage_importStorage/s3
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/S3ImportStorage'
post:
operationId: create
summary: Create new S3 storage
description: Create new S3 import storage
tags:
- subpackage_importStorage.subpackage_importStorage/s3
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/S3ImportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
aws_access_key_id:
type: string
description: AWS_ACCESS_KEY_ID
aws_secret_access_key:
type: string
description: AWS_SECRET_ACCESS_KEY
aws_session_token:
type: string
description: AWS_SESSION_TOKEN
aws_sse_kms_key_id:
type: string
description: AWS SSE KMS Key ID
bucket:
type: string
description: S3 bucket name
description:
type: string
description: Storage description
prefix:
type: string
description: S3 bucket prefix
presign:
type: boolean
default: true
description: Presign URLs for download
presign_ttl:
type: integer
default: 1
description: Presign TTL in minutes
project:
type: integer
description: Project ID
recursive_scan:
type: boolean
description: Scan recursively
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
region_name:
type: string
description: AWS Region
s3_endpoint:
type: string
description: S3 Endpoint
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/s3/validate:
post:
operationId: validate
summary: Validate import storage
description: Validate a specific S3 import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/s3
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_s3_validate_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
aws_access_key_id:
type: string
description: AWS_ACCESS_KEY_ID
aws_secret_access_key:
type: string
description: AWS_SECRET_ACCESS_KEY
aws_session_token:
type: string
description: AWS_SESSION_TOKEN
aws_sse_kms_key_id:
type: string
description: AWS SSE KMS Key ID
bucket:
type: string
description: S3 bucket name
description:
type: string
description: Storage description
id:
type: integer
description: Storage ID. If set, storage with specified ID will be updated
prefix:
type: string
description: S3 bucket prefix
presign:
type: boolean
default: true
description: Presign URLs for download
presign_ttl:
type: integer
default: 1
description: Presign TTL in minutes
project:
type: integer
description: Project ID
recursive_scan:
type: boolean
description: Scan recursively
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
region_name:
type: string
description: AWS Region
s3_endpoint:
type: string
description: S3 Endpoint
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/s3/{id}:
get:
operationId: get
summary: Get import storage
description: Get a specific S3 import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/s3
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/S3ImportStorage'
delete:
operationId: delete
summary: Delete import storage
description: Delete a specific S3 import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/s3
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update import storage
description: Update a specific S3 import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/s3
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/S3ImportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
aws_access_key_id:
type: string
description: AWS_ACCESS_KEY_ID
aws_secret_access_key:
type: string
description: AWS_SECRET_ACCESS_KEY
aws_session_token:
type: string
description: AWS_SESSION_TOKEN
aws_sse_kms_key_id:
type: string
description: AWS SSE KMS Key ID
bucket:
type: string
description: S3 bucket name
description:
type: string
description: Storage description
prefix:
type: string
description: S3 bucket prefix
presign:
type: boolean
default: true
description: Presign URLs for download
presign_ttl:
type: integer
default: 1
description: Presign TTL in minutes
project:
type: integer
description: Project ID
recursive_scan:
type: boolean
description: Scan recursively
regex_filter:
type: string
description: >-
Cloud storage regex for filtering objects. You must specify it otherwise no objects will be
imported.
region_name:
type: string
description: AWS Region
s3_endpoint:
type: string
description: S3 Endpoint
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your bucket contains images, you can
use this option to generate URLs for these images. If set to False, it will read the content of the
file and load it into Label Studio.
/api/storages/s3/{id}/sync:
post:
operationId: sync
summary: Sync import storage
description: Sync tasks from an S3 import storage connection.
tags:
- subpackage_importStorage.subpackage_importStorage/s3
parameters:
- name: id
in: path
description: Storage ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/S3ImportStorage'
/api/storages/s3s/:
get:
operationId: list
summary: ✨ List S3s import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LseS3ImportStorage'
post:
operationId: create
summary: ✨ Create import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ImportStorageRequest'
/api/storages/s3s/validate:
post:
operationId: validate
summary: ✨ Validate import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/import_storage_s3s_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ImportStorageRequest'
/api/storages/s3s/{id}:
get:
operationId: get
summary: ✨ Get import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ImportStorage'
delete:
operationId: delete
summary: ✨ Delete import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ImportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseS3ImportStorageRequest'
/api/storages/s3s/{id}/sync:
post:
operationId: sync
summary: ✨ Sync import storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ImportStorage'
/api/storages/export/types:
get:
operationId: list-types
summary: List all export storages types
description: Retrieve a list of the export storages types.
tags:
- subpackage_exportStorage
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: List of export storage types
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ApiStoragesExportTypesGetResponsesContentApplicationJsonSchemaItems'
/api/storages/export/azure:
get:
operationId: list
summary: Get all export storage
description: Get a list of all Azure export storage connections.
tags:
- subpackage_exportStorage.subpackage_exportStorage/azure
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AzureBlobExportStorage'
post:
operationId: create
summary: Create export storage
description: Create a new Azure export storage connection to store annotations.
tags:
- subpackage_exportStorage.subpackage_exportStorage/azure
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobExportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
account_key:
type: string
description: Azure Blob account key
account_name:
type: string
description: Azure Blob account name
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled
container:
type: string
description: Azure blob container
description:
type: string
description: Storage description
prefix:
type: string
description: Azure blob prefix name
project:
type: integer
description: Project ID
title:
type: string
description: Storage title
/api/storages/export/azure/validate:
post:
operationId: validate
summary: Validate export storage
description: Validate a specific Azure export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/azure
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/export_storage_azure_validate_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
account_key:
type: string
description: Azure Blob account key
account_name:
type: string
description: Azure Blob account name
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled
container:
type: string
description: Azure blob container
description:
type: string
description: Storage description
id:
type: integer
description: Storage ID. If set, storage with specified ID will be updated
prefix:
type: string
description: Azure blob prefix name
project:
type: integer
description: Project ID
title:
type: string
description: Storage title
/api/storages/export/azure/{id}:
get:
operationId: get
summary: Get export storage
description: Get a specific Azure export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/azure
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobExportStorage'
delete:
operationId: delete
summary: Delete export storage
description: Delete a specific Azure export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/azure
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update export storage
description: Update a specific Azure export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/azure
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobExportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
account_key:
type: string
description: Azure Blob account key
account_name:
type: string
description: Azure Blob account name
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled
container:
type: string
description: Azure blob container
description:
type: string
description: Storage description
prefix:
type: string
description: Azure blob prefix name
project:
type: integer
description: Project ID
title:
type: string
description: Storage title
/api/storages/export/azure/{id}/sync:
post:
operationId: sync
summary: Sync export storage
description: Sync tasks from an Azure export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/azure
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureBlobExportStorage'
/api/storages/export/azure_spi:
get:
operationId: list
summary: ✨ Get all Azure SPI export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AzureServicePrincipalExportStorage'
post:
operationId: create
summary: ✨ Create Azure export storage with SPI authentication
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorageRequest'
/api/storages/export/azure_spi/validate:
post:
operationId: validate
summary: ✨ Validate Azure SPI export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/export_storage_azure_spi_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorageRequest'
/api/storages/export/azure_spi/{id}:
get:
operationId: get
summary: ✨ Get Azure SPI export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorage'
delete:
operationId: delete
summary: ✨ Delete Azure SPI export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update Azure SPI export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedAzureServicePrincipalExportStorageRequest'
/api/storages/export/azure_spi/{id}/sync:
post:
operationId: sync
summary: ✨ Sync Azure SPI export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/AzureServicePrincipalExportStorage'
/api/storages/export/databricks:
get:
operationId: list
summary: ✨ List Databricks export storages
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DatabricksExportStorage'
post:
operationId: create
summary: ✨ Create Databricks export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksExportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksExportStorageRequest'
/api/storages/export/databricks/validate:
post:
operationId: validate
summary: ✨ Validate Databricks export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/export_storage_databricks_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksExportStorageRequest'
/api/storages/export/databricks/{id}:
get:
operationId: get
summary: ✨ Get Databricks export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksExportStorage'
delete:
operationId: delete
summary: ✨ Delete Databricks export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update Databricks export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksExportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedDatabricksExportStorageRequest'
/api/storages/export/databricks/{id}/sync:
post:
operationId: sync
summary: ✨ Sync Databricks export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DatabricksExportStorage'
/api/storages/export/gcs:
get:
operationId: list
summary: Get all export storage
description: Get a list of all GCS export storage connections.
tags:
- subpackage_exportStorage.subpackage_exportStorage/gcs
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GCSExportStorage'
post:
operationId: create
summary: Create export storage
description: Create a new GCS export storage connection to store annotations.
tags:
- subpackage_exportStorage.subpackage_exportStorage/gcs
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSExportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
bucket:
type: string
description: GCS bucket name
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled.
description:
type: string
description: Storage description
google_application_credentials:
type: string
description: >-
The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication
documentation for more details.
google_project_id:
type: string
description: Google project ID
prefix:
type: string
description: GCS bucket prefix
project:
type: integer
description: Project ID
title:
type: string
description: Storage title
/api/storages/export/gcs/validate:
post:
operationId: validate
summary: Validate export storage
description: Validate a specific GCS export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/gcs
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/export_storage_gcs_validate_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
bucket:
type: string
description: GCS bucket name
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled.
description:
type: string
description: Storage description
google_application_credentials:
type: string
description: >-
The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication
documentation for more details.
google_project_id:
type: string
description: Google project ID
id:
type: integer
description: Storage ID. If set, storage with specified ID will be updated
prefix:
type: string
description: GCS bucket prefix
project:
type: integer
description: Project ID
title:
type: string
description: Storage title
/api/storages/export/gcs/{id}:
get:
operationId: get
summary: Get export storage
description: Get a specific GCS export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/gcs
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSExportStorage'
delete:
operationId: delete
summary: Delete export storage
description: Delete a specific GCS export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/gcs
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update export storage
description: Update a specific GCS export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/gcs
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSExportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
bucket:
type: string
description: GCS bucket name
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled.
description:
type: string
description: Storage description
google_application_credentials:
type: string
description: >-
The content of GOOGLE_APPLICATION_CREDENTIALS json file. Check official Google Cloud Authentication
documentation for more details.
google_project_id:
type: string
description: Google project ID
prefix:
type: string
description: GCS bucket prefix
project:
type: integer
description: Project ID
title:
type: string
description: Storage title
/api/storages/export/gcs/{id}/sync:
post:
operationId: sync
summary: Sync export storage
description: Sync tasks from an GCS export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/gcs
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSExportStorage'
/api/storages/export/gcs_sa:
get:
operationId: list
summary: ✨ Get all GCS SA export storages
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GCSSAExportStorage'
post:
operationId: create
summary: ✨ Create GCS export storage with SA Impersonation
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorageRequest'
/api/storages/export/gcs_sa/validate:
post:
operationId: validate
summary: ✨ Validate GCS SA export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/export_storage_gcs_sa_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorageRequest'
/api/storages/export/gcs_sa/{id}:
get:
operationId: get
summary: ✨ Get GCS SA export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorage'
delete:
operationId: delete
summary: ✨ Delete GCS SA export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update GCS SA export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSSAExportStorageRequest'
/api/storages/export/gcs_sa/{id}/sync:
post:
operationId: sync
summary: ✨ Sync GCS SA export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSSAExportStorage'
/api/storages/export/gcswif:
get:
operationId: list
summary: ✨ Get all GCS WIF export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GCSWIFExportStorage'
post:
operationId: create
summary: ✨ Create GCS export storage with WIF authentication
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFExportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFExportStorageRequest'
/api/storages/export/gcswif/validate:
post:
operationId: validate
summary: ✨ Validate GCS WIF export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/export_storage_gcswif_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFExportStorageRequest'
/api/storages/export/gcswif/{id}:
get:
operationId: get
summary: ✨ Get GCS WIF export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFExportStorage'
delete:
operationId: delete
summary: ✨ Delete GCS WIF export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update GCS WIF export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFExportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedGCSWIFExportStorageRequest'
/api/storages/export/gcswif/{id}/sync:
post:
operationId: sync
summary: ✨ Sync GCS WIF export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GCSWIFExportStorage'
/api/storages/export/localfiles:
get:
operationId: list
summary: Get all export storage
description: Get a list of all local file export storage connections.
tags:
- subpackage_exportStorage.subpackage_exportStorage/local
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LocalFilesExportStorage'
post:
operationId: create
summary: Create export storage
description: Create a new local file export storage connection to store annotations.
tags:
- subpackage_exportStorage.subpackage_exportStorage/local
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesExportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Storage description
path:
type: string
description: Path to local directory
project:
type: integer
description: Project ID
regex_filter:
type: string
description: Regex for filtering objects
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you
can use this option to generate URLs for these images. If set to False, it will read the content of
the file and load it into Label Studio.
/api/storages/export/localfiles/validate:
post:
operationId: validate
summary: Validate export storage
description: Validate a specific local file export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/local
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/export_storage_local_validate_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Storage description
id:
type: integer
description: Storage ID. If set, storage with specified ID will be updated
path:
type: string
description: Path to local directory
project:
type: integer
description: Project ID
regex_filter:
type: string
description: Regex for filtering objects
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you
can use this option to generate URLs for these images. If set to False, it will read the content of
the file and load it into Label Studio.
/api/storages/export/localfiles/{id}:
get:
operationId: get
summary: Get export storage
description: Get a specific local file export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/local
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesExportStorage'
delete:
operationId: delete
summary: Delete export storage
description: Delete a specific local file export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/local
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update export storage
description: Update a specific local file export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/local
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesExportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: Storage description
path:
type: string
description: Path to local directory
project:
type: integer
description: Project ID
regex_filter:
type: string
description: Regex for filtering objects
title:
type: string
description: Storage title
use_blob_urls:
type: boolean
default: false
description: >-
Interpret objects as BLOBs and generate URLs. For example, if your directory contains images, you
can use this option to generate URLs for these images. If set to False, it will read the content of
the file and load it into Label Studio.
/api/storages/export/localfiles/{id}/sync:
post:
operationId: sync
summary: Sync export storage
description: Sync tasks from a local file export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/local
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LocalFilesExportStorage'
/api/storages/export/redis:
get:
operationId: list
summary: Get all export storage
description: Get a list of all Redis export storage connections.
tags:
- subpackage_exportStorage.subpackage_exportStorage/redis
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RedisExportStorage'
post:
operationId: create
summary: Create export storage
description: Create a new Redis export storage connection to store annotations.
tags:
- subpackage_exportStorage.subpackage_exportStorage/redis
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RedisExportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled.
db:
type: integer
description: Database ID of database to use
description:
type: string
description: Storage description
host:
type: string
description: Server Host IP (optional)
password:
type: string
description: Server Password (optional)
path:
type: string
description: Storage prefix (optional)
port:
type: string
description: Server Port (optional)
project:
type: integer
description: Project ID
title:
type: string
description: Storage title
/api/storages/export/redis/validate:
post:
operationId: validate
summary: Validate export storage
description: Validate a specific Redis export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/redis
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/export_storage_redis_validate_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled.
db:
type: integer
description: Database ID of database to use
description:
type: string
description: Storage description
host:
type: string
description: Server Host IP (optional)
id:
type: integer
description: Storage ID. If set, storage with specified ID will be updated
password:
type: string
description: Server Password (optional)
path:
type: string
description: Storage prefix (optional)
port:
type: string
description: Server Port (optional)
project:
type: integer
description: Project ID
title:
type: string
description: Storage title
/api/storages/export/redis/{id}:
get:
operationId: get
summary: Get export storage
description: Get a specific Redis export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/redis
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RedisExportStorage'
delete:
operationId: delete
summary: Delete export storage
description: Delete a specific Redis export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/redis
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update export storage
description: Update a specific Redis export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/redis
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RedisExportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled.
db:
type: integer
description: Database ID of database to use
description:
type: string
description: Storage description
host:
type: string
description: Server Host IP (optional)
password:
type: string
description: Server Password (optional)
path:
type: string
description: Storage prefix (optional)
port:
type: string
description: Server Port (optional)
project:
type: integer
description: Project ID
title:
type: string
description: Storage title
/api/storages/export/redis/{id}/sync:
post:
operationId: sync
summary: Sync export storage
description: Sync tasks from a Redis export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/redis
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/RedisExportStorage'
/api/storages/export/s3:
get:
operationId: list
summary: Get all export storage
description: Get a list of all S3 export storage connections.
tags:
- subpackage_exportStorage.subpackage_exportStorage/s3
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: project
in: query
description: Project ID
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/S3ExportStorage'
post:
operationId: create
summary: Create export storage
description: Create a new S3 export storage connection to store annotations.
tags:
- subpackage_exportStorage.subpackage_exportStorage/s3
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/S3ExportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
aws_access_key_id:
type: string
description: AWS_ACCESS_KEY_ID
aws_secret_access_key:
type: string
description: AWS_SECRET_ACCESS_KEY
aws_session_token:
type: string
description: AWS_SESSION_TOKEN
aws_sse_kms_key_id:
type: string
description: AWS SSE KMS Key ID
bucket:
type: string
description: S3 bucket name
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled.
description:
type: string
description: Storage description
prefix:
type: string
description: S3 bucket prefix
project:
type: integer
description: Project ID
region_name:
type: string
description: AWS Region
s3_endpoint:
type: string
description: S3 Endpoint
title:
type: string
description: Storage title
/api/storages/export/s3/validate:
post:
operationId: validate
summary: Validate export storage
description: Validate a specific S3 export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/s3
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/export_storage_s3_validate_Response_200'
requestBody:
content:
application/json:
schema:
type: object
properties:
aws_access_key_id:
type: string
description: AWS_ACCESS_KEY_ID
aws_secret_access_key:
type: string
description: AWS_SECRET_ACCESS_KEY
aws_session_token:
type: string
description: AWS_SESSION_TOKEN
aws_sse_kms_key_id:
type: string
description: AWS SSE KMS Key ID
bucket:
type: string
description: S3 bucket name
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled.
description:
type: string
description: Storage description
id:
type: integer
description: Storage ID. If set, storage with specified ID will be updated
prefix:
type: string
description: S3 bucket prefix
project:
type: integer
description: Project ID
region_name:
type: string
description: AWS Region
s3_endpoint:
type: string
description: S3 Endpoint
title:
type: string
description: Storage title
/api/storages/export/s3/{id}:
get:
operationId: get
summary: Get export storage
description: Get a specific S3 export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/s3
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/S3ExportStorage'
delete:
operationId: delete
summary: Delete export storage
description: Delete a specific S3 export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/s3
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update export storage
description: Update a specific S3 export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/s3
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/S3ExportStorage'
requestBody:
content:
application/json:
schema:
type: object
properties:
aws_access_key_id:
type: string
description: AWS_ACCESS_KEY_ID
aws_secret_access_key:
type: string
description: AWS_SECRET_ACCESS_KEY
aws_session_token:
type: string
description: AWS_SESSION_TOKEN
aws_sse_kms_key_id:
type: string
description: AWS SSE KMS Key ID
bucket:
type: string
description: S3 bucket name
can_delete_objects:
type: boolean
default: false
description: Deletion from storage enabled.
description:
type: string
description: Storage description
prefix:
type: string
description: S3 bucket prefix
project:
type: integer
description: Project ID
region_name:
type: string
description: AWS Region
s3_endpoint:
type: string
description: S3 Endpoint
title:
type: string
description: Storage title
/api/storages/export/s3/{id}/sync:
post:
operationId: sync
summary: Sync export storage
description: Sync tasks from an S3 export storage connection.
tags:
- subpackage_exportStorage.subpackage_exportStorage/s3
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/S3ExportStorage'
/api/storages/export/s3s:
get:
operationId: list
summary: ✨ List S3s export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LseS3ExportStorage'
post:
operationId: create
summary: ✨ Create export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorageRequest'
/api/storages/export/s3s/validate:
post:
operationId: validate
summary: ✨ Validate export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Validation successful
content:
application/json:
schema:
$ref: '#/components/schemas/export_storage_s3s_validate_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorageRequest'
/api/storages/export/s3s/{id}:
get:
operationId: get
summary: ✨ Get export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorage'
delete:
operationId: delete
summary: ✨ Delete export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorage'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedLseS3ExportStorageRequest'
/api/storages/export/s3s/{id}/sync:
post:
operationId: sync
summary: ✨ Sync export storage
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LseS3ExportStorage'
/api/token/:
get:
operationId: list
summary: List API tokens
description: List all API tokens for the current user.
tags:
- subpackage_tokens
parameters:
- name: ordering
in: query
description: Which field to use when ordering the results.
required: false
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LSEAPITokenList'
post:
operationId: create
summary: Create API token
description: Create a new API token for the current user.
tags:
- subpackage_tokens
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/LSEAPITokenCreate'
/api/token/blacklist/:
post:
operationId: blacklist
summary: Blacklist a JWT refresh token
description: Adds a JWT refresh token to the blacklist, preventing it from being used to obtain new access tokens.
tags:
- subpackage_tokens
responses:
'204':
description: ''
content:
application/json:
schema:
type: object
additionalProperties:
description: Any type
'404':
description: ''
content:
application/json:
schema:
type: object
additionalProperties:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LSAPITokenBlacklistRequest'
/api/token/refresh/:
post:
operationId: refresh
summary: Refresh JWT token
description: Get a new access token, using a refresh token.
tags:
- subpackage_tokens
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TokenRefreshResponse'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TokenRefreshRequest'
/api/token/rotate/:
post:
operationId: rotate
summary: Rotate JWT refresh token
description: Creates a new JWT refresh token and blacklists the current one.
tags:
- subpackage_tokens
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/TokenRotateResponse'
'400':
description: ''
content:
application/json:
schema:
type: object
additionalProperties:
description: Any type
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/LSAPITokenRotateRequest'
/api/version/:
get:
operationId: get
summary: Get version information
description: Get version information about the Label Studio instance.
tags:
- subpackage_versions
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/VersionResponse'
/api/webhooks/:
get:
operationId: list
summary: List all webhooks
description: List all webhooks set up for your organization.
tags:
- subpackage_webhooks
parameters:
- name: project
in: query
description: Project ID
required: false
schema:
type: string
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Webhook'
post:
operationId: create
summary: Create a webhook
description: Create a webhook for your organization.
tags:
- subpackage_webhooks
parameters:
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookRequest'
/api/webhooks/info/:
get:
operationId: info
summary: Get all webhook actions
description: Get descriptions of all available webhook actions to set up webhooks.
tags:
- subpackage_webhooks
parameters:
- name: organization-only
in: query
description: organization-only or not
required: false
schema:
type: boolean
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Object with webhook action descriptions.
content:
application/json:
schema:
$ref: '#/components/schemas/webhooks_info_Response_200'
/api/webhooks/{id}/:
get:
operationId: get
summary: Get webhook info
tags:
- subpackage_webhooks
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
delete:
operationId: delete
summary: Delete webhook info
tags:
- subpackage_webhooks
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: Update webhook info
tags:
- subpackage_webhooks
parameters:
- name: id
in: path
required: true
schema:
type: integer
- name: Authorization
in: header
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: curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookSerializerForUpdate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedWebhookSerializerForUpdateRequest'
/api/workspaces/:
get:
operationId: list
summary: ✨ List workspaces
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Workspace'
post:
operationId: create
summary: ✨ Create workspace
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceRequest'
/api/workspaces/{id}/:
get:
operationId: get
summary: ✨ Get workspace
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace'
delete:
operationId: delete
summary: ✨ Delete workspace
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
patch:
operationId: update
summary: ✨ Update workspace
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Workspace'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PatchedWorkspaceRequest'
/api/workspaces/{id}/memberships/:
get:
operationId: list
summary: ✨ List workspace memberships
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: A list of workspace memberships
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/WorkspaceMemberList'
post:
operationId: create
summary: ✨ Create workspace membership
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceMemberCreate'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceMemberCreateRequest'
delete:
operationId: delete
summary: ✨ Delete workspace membership
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
/api/workspaces/{id}/memberships/bulk/:
post:
operationId: post
summary: ✨ Bulk assign workspace members
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/workspaces_members_bulk_post_Response_200'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceMemberBulkAssignRequest'
delete:
operationId: delete
summary: ✨ Bulk unassign workspace members
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/workspaces_members_bulk_delete_Response_200'
/api/workspaces/{id}/memberships/paginated/:
get:
operationId: list
summary: ✨ Get workspace members paginated
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedLseUserList'
/api/workspaces/{id}/projects/:
get:
operationId: list
summary: ✨ List workspace projects
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Projects list
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Project'
post:
operationId: add
summary: ✨ Add workspace project
description: |-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'201':
description: Project added
content:
application/json:
schema:
$ref: '#/components/schemas/workspaces_projects_add_Response_201'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/WorkspaceProjectsRequest'
delete:
operationId: remove
summary: ✨ Remove workspace project
description: >-
This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)
curl
https://label-studio-host/api/projects -H "Authorization: Token [your-token]"
required: true
schema:
type: string
responses:
'200':
description: Successful response
servers:
- url: http://localhost:8000
components:
schemas:
ApiActivityLogsGetParametersMethod:
type: string
enum:
- DELETE
- GET
- PATCH
- POST
- PUT
- all
default: all
title: ApiActivityLogsGetParametersMethod
ActivityLog:
type: object
properties:
datetime:
type: string
format: date-time
duration:
type:
- integer
- 'null'
description: Duration of response generation in ms
email:
type: string
extra_data:
oneOf:
- description: Any type
- type: 'null'
http_referer:
type: string
id:
type: integer
ip_address:
type:
- string
- 'null'
organization_id:
type:
- integer
- 'null'
description: Organization id
project_id:
type:
- integer
- 'null'
description: Project id if request has it
request_method:
type: string
request_url:
type: string
response_code:
type: string
user_agent:
type: string
user_id:
type: integer
user_session:
type:
- string
- 'null'
workspace_owner_id:
type:
- integer
- 'null'
description: Owner id of workspace where action performed
required:
- datetime
- email
- id
- request_method
- request_url
- response_code
- user_id
title: ActivityLog
ActivityLogResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/ActivityLog'
recordsFiltered:
type: integer
recordsTotal:
type: integer
required:
- data
- recordsFiltered
- recordsTotal
description: Serializer for ActivityLogAPI response.
title: ActivityLogResponse
ActionEnum:
type: string
enum:
- prediction
- propagated_annotation
- imported
- submitted
- updated
- skipped
- accepted
- rejected
- fixed_and_accepted
- deleted_review
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
title: ActionEnum
AnnotationHistory:
type: object
properties:
action:
oneOf:
- $ref: '#/components/schemas/ActionEnum'
- type: 'null'
annotation_id:
type:
- integer
- 'null'
description: Corresponding annotation for this historical annotation
comment:
type:
- string
- 'null'
comment_id:
type:
- integer
- 'null'
description: Comment id sent with result
created_at:
type: string
format: date-time
created_by:
type:
- integer
- 'null'
description: Created by user id
draft_id:
type:
- integer
- 'null'
description: Corresponding draft for this historical annotation
id:
type: integer
lead_time:
type:
- number
- 'null'
format: double
description: How much time it took to annotate the task
organization_id:
type:
- integer
- 'null'
description: Organization for this annotation history
project_id:
type:
- integer
- 'null'
description: Project for this annotation history
result:
oneOf:
- description: Any type
- type: 'null'
description: Labeling result
review_id:
type:
- integer
- 'null'
description: AnnotationReview ID, using with review field
started_at:
type:
- string
- 'null'
format: date-time
description: The time that a user started working on this revision of the annotation
task_id:
type:
- integer
- 'null'
description: Task id
required:
- comment
- created_at
- id
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
title: AnnotationHistory
annotation_history_delete_Response_200:
type: object
properties:
removed:
type: integer
description: Number of removed items
title: annotation_history_delete_Response_200
PaginatedAnnotationHistoryList:
type: object
properties:
count:
type: integer
next:
type:
- string
- 'null'
format: uri
previous:
type:
- string
- 'null'
format: uri
results:
type: array
items:
$ref: '#/components/schemas/AnnotationHistory'
required:
- count
- results
title: PaginatedAnnotationHistoryList
AnnotationReview:
type: object
properties:
accepted:
type: boolean
description: Accepted or rejected (if false) flag
annotation:
type: integer
description: Corresponding annotation
created_at:
type: string
format: date-time
description: Creation time
created_by:
type: integer
description: User who made this review
fixed_annotation_history:
type:
- integer
- 'null'
description: Fixed annotation history item by the reviewer
id:
type: integer
last_annotation_history:
type:
- integer
- 'null'
previous_annotation_history:
type:
- integer
- 'null'
description: Previous annotation history item by the annotator
remove_from_queue:
type:
- boolean
- 'null'
result:
oneOf:
- description: Any type
- type: 'null'
started_at:
type:
- string
- 'null'
format: date-time
state:
type: string
required:
- annotation
- created_at
- created_by
- fixed_annotation_history
- id
- previous_annotation_history
- state
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)
title: AnnotationReview
AnnotationReviewRequest:
type: object
properties:
accepted:
type: boolean
description: Accepted or rejected (if false) flag
annotation:
type: integer
description: Corresponding annotation
comment:
type:
- string
- 'null'
last_annotation_history:
type:
- integer
- 'null'
remove_from_queue:
type:
- boolean
- 'null'
result:
oneOf:
- description: Any type
- type: 'null'
started_at:
type:
- string
- 'null'
format: date-time
required:
- annotation
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)
title: AnnotationReviewRequest
PatchedAnnotationReviewRequest:
type: object
properties:
accepted:
type: boolean
description: Accepted or rejected (if false) flag
annotation:
type: integer
description: Corresponding annotation
comment:
type:
- string
- 'null'
last_annotation_history:
type:
- integer
- 'null'
remove_from_queue:
type:
- boolean
- 'null'
result:
oneOf:
- description: Any type
- type: 'null'
started_at:
type:
- string
- 'null'
format: date-time
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)
title: PatchedAnnotationReviewRequest
AnnotationBulkDeleteRequest:
type: object
properties:
ids:
type: array
items:
type: integer
description: List of annotation IDs to delete
project:
type: integer
required:
- ids
- project
description: Serializer for bulk annotation deletion by IDs.
title: AnnotationBulkDeleteRequest
annotations_delete_bulk_Response_200:
type: object
properties:
deleted_count:
type: integer
description: Number of annotations deleted
title: annotations_delete_bulk_Response_200
LastActionEnum:
type: string
enum:
- prediction
- propagated_annotation
- imported
- submitted
- updated
- skipped
- accepted
- rejected
- fixed_and_accepted
- deleted_review
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
title: LastActionEnum
AnnotationBulkSerializerWithSelectedItemsRequestResultItems:
type: object
properties: {}
description: List of annotated regions for the task
title: AnnotationBulkSerializerWithSelectedItemsRequestResultItems
SelectedItemsRequest:
type: object
properties:
all:
type: boolean
excluded:
type: array
items:
type: integer
included:
type: array
items:
type: integer
required:
- all
title: SelectedItemsRequest
AnnotationBulkSerializerWithSelectedItemsRequest:
type: object
properties:
bulk_created:
type:
- boolean
- 'null'
description: Annotation was created in bulk mode
completed_by:
type: integer
draft_created_at:
type:
- string
- 'null'
format: date-time
description: Draft creation time
ground_truth:
type: boolean
description: This annotation is a Ground Truth (ground_truth)
import_id:
type:
- integer
- 'null'
format: int64
description: Original annotation ID that was at the import step or NULL if this annotation wasn't imported
last_action:
oneOf:
- $ref: '#/components/schemas/LastActionEnum'
- type: 'null'
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
last_created_by:
type:
- integer
- 'null'
description: User who created the last annotation history item
lead_time:
type:
- number
- 'null'
format: double
description: How much time it took to annotate the task
parent_annotation:
type:
- integer
- 'null'
description: Points to the parent annotation from which this annotation was created
parent_prediction:
type:
- integer
- 'null'
description: Points to the prediction from which this annotation was created
project:
type:
- integer
- 'null'
description: Project ID for this annotation
result:
type: array
items:
$ref: '#/components/schemas/AnnotationBulkSerializerWithSelectedItemsRequestResultItems'
description: List of annotation results for the task
selected_items:
oneOf:
- $ref: '#/components/schemas/SelectedItemsRequest'
- type: 'null'
task:
type:
- integer
- 'null'
description: Corresponding task for this annotation
tasks:
type: array
items:
type: integer
unique_id:
type: string
updated_by:
type:
- integer
- 'null'
description: Last user who updated this annotation
was_cancelled:
type: boolean
description: User skipped the task
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.
title: AnnotationBulkSerializerWithSelectedItemsRequest
ApiAnnotationsBulkPostResponsesContentApplicationJsonSchemaItems:
type: object
properties:
id:
type: integer
description: Annotation ID
required:
- id
title: ApiAnnotationsBulkPostResponsesContentApplicationJsonSchemaItems
AnnotationResultItems:
type: object
properties: {}
description: List of annotated regions for the task
title: AnnotationResultItems
Annotation:
type: object
properties:
bulk_created:
type:
- boolean
- 'null'
description: Annotation was created in bulk mode
completed_by:
type: integer
created_ago:
type: string
default: ''
description: Time delta from creation time
created_at:
type: string
format: date-time
description: Creation time
created_username:
type: string
default: ''
description: Username string
draft_created_at:
type:
- string
- 'null'
format: date-time
description: Draft creation time
ground_truth:
type: boolean
description: This annotation is a Ground Truth (ground_truth)
id:
type: integer
import_id:
type:
- integer
- 'null'
format: int64
description: Original annotation ID that was at the import step or NULL if this annotation wasn't imported
last_action:
oneOf:
- $ref: '#/components/schemas/LastActionEnum'
- type: 'null'
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
last_created_by:
type:
- integer
- 'null'
description: User who created the last annotation history item
lead_time:
type:
- number
- 'null'
format: double
description: How much time it took to annotate the task
parent_annotation:
type:
- integer
- 'null'
description: Points to the parent annotation from which this annotation was created
parent_prediction:
type:
- integer
- 'null'
description: Points to the prediction from which this annotation was created
project:
type:
- integer
- 'null'
description: Project ID for this annotation
result:
type: array
items:
$ref: '#/components/schemas/AnnotationResultItems'
description: List of annotation results for the task
state:
type: string
task:
type:
- integer
- 'null'
description: Corresponding task for this annotation
updated_at:
type: string
format: date-time
description: Last updated time
updated_by:
type:
- integer
- 'null'
description: Last user who updated this annotation
was_cancelled:
type: boolean
description: User skipped the task
required:
- created_ago
- created_at
- created_username
- id
- state
- updated_at
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.
title: Annotation
ApiAnnotationsIdPatchRequestBodyContentApplicationJsonSchemaResultItems:
type: object
properties: {}
title: ApiAnnotationsIdPatchRequestBodyContentApplicationJsonSchemaResultItems
ApiTasksIdAnnotationsPostRequestBodyContentApplicationJsonSchemaResultItems:
type: object
properties: {}
title: ApiTasksIdAnnotationsPostRequestBodyContentApplicationJsonSchemaResultItems
CountLimit:
type: object
properties:
count:
type: integer
limit:
type: integer
reached:
type: boolean
total:
type: integer
required:
- count
- limit
- reached
title: CountLimit
PromptsStatusEnum:
type: string
enum:
- Enabled
- Cloud license per organization disabled
- On-premise global license disabled
- Expired
- Adala not connected
- Disabled for this organization [FF]
- unknown
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
title: PromptsStatusEnum
BillingChecks:
type: object
properties:
export_storages:
$ref: '#/components/schemas/CountLimit'
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:
type:
- string
- 'null'
format: date
license_issued:
type:
- string
- 'null'
format: date
license_warning:
type:
- string
- 'null'
format: date
organization_is_active:
type: boolean
projects:
$ref: '#/components/schemas/CountLimit'
prompts_api_keys_enabled:
type: boolean
prompts_enabled:
type: boolean
prompts_expire:
type:
- string
- 'null'
prompts_status:
$ref: '#/components/schemas/PromptsStatusEnum'
prompts_warning:
type:
- string
- 'null'
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
title: BillingChecks
BillingFlags:
type: object
properties:
activated_at:
type:
- string
- 'null'
format: date-time
allow_activity_log:
type: boolean
allow_ai:
type: boolean
allow_ask_ai:
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
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:
type: array
items:
type: object
additionalProperties:
description: Any type
embed_enabled:
type: boolean
embed_settings:
type: object
additionalProperties:
description: Any type
manual_role_management:
type: boolean
manual_workspace_management:
type: boolean
secure_mode:
type: boolean
storage_persistence:
type: boolean
white_label_id:
type:
- string
- 'null'
required:
- activated_at
- allow_activity_log
- allow_ai
- allow_ask_ai
- allow_data_credentials
- allow_invite_people
- allow_invite_project_experts
- allow_nda
- allow_organization_webhooks
- allow_reviewing
- allow_sso
- allow_storage_proxy
- 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
title: BillingFlags
BillingInfoResponse:
type: object
properties:
billing_checks:
$ref: '#/components/schemas/BillingChecks'
billing_flags:
$ref: '#/components/schemas/BillingFlags'
required:
- billing_checks
- billing_flags
title: BillingInfoResponse
Comment:
type: object
properties:
annotation:
type:
- integer
- 'null'
classifications:
oneOf:
- description: Any type
- type: 'null'
description: Classifications applied by a reviewer or annotator
created_at:
type: string
format: date-time
description: Creation time
created_by:
type: integer
description: User who made this comment
draft:
type:
- integer
- 'null'
id:
type: integer
is_resolved:
type: boolean
description: True if the comment is resolved
project:
type:
- integer
- 'null'
region_ref:
oneOf:
- description: Any type
- type: 'null'
description: >-
Set if this comment is related to a specific part of the annotation. Normally contains region ID and control
name.
resolved_at:
type:
- string
- 'null'
format: date-time
description: Resolving time
state:
type: string
task:
type:
- integer
- 'null'
text:
type:
- string
- 'null'
description: Reviewer or annotator comment
updated_at:
type: string
format: date-time
description: Last updated time
required:
- created_at
- created_by
- id
- project
- resolved_at
- state
- task
- updated_at
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)
title: Comment
OnboardingStateEnum:
type: string
enum:
- not_started
- signup
- trial_signup
- first_tutorial
- in_app_guidance
- complete
description: |-
* `not_started` - Not Started
* `signup` - Signup
* `trial_signup` - Trial Signup
* `first_tutorial` - First Tutorial
* `in_app_guidance` - In App Guidance
* `complete` - Complete
title: OnboardingStateEnum
TrialRoleEnum:
type: string
enum:
- annotator
- annotator_team_manager
- business_analyst
- business_or_data_team_leadership
- data_engineer_platform_engineer
- data_scientist
- other
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
title: TrialRoleEnum
LseFields:
type: object
properties:
email_notification_settings:
type: string
invite_activated:
type:
- boolean
- 'null'
invite_expired:
type: string
invite_expired_at:
type: string
invited_at:
type:
- string
- 'null'
format: date-time
invited_by:
type:
- integer
- 'null'
onboarding_state:
oneOf:
- $ref: '#/components/schemas/OnboardingStateEnum'
- type: 'null'
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
social_auth_finished:
type:
- boolean
- 'null'
description: Is user finished social authentication
trial_company:
type:
- string
- 'null'
trial_experience_labeling:
type:
- string
- 'null'
trial_license_enterprise:
type:
- boolean
- 'null'
trial_models_in_production:
type:
- string
- 'null'
trial_role:
oneOf:
- $ref: '#/components/schemas/TrialRoleEnum'
- type: 'null'
required:
- email_notification_settings
- invite_expired
- invite_expired_at
title: LseFields
OrganizationMembership:
type: object
properties:
active:
type: string
organization_id:
type: integer
description: Organization ID
role:
type: string
required:
- active
- organization_id
- role
title: OrganizationMembership
LseUser:
type: object
properties:
active_organization:
type:
- integer
- 'null'
active_organization_meta:
type: string
allow_newsletters:
type:
- boolean
- 'null'
description: Allow sending newsletters to user
avatar:
type: string
custom_hotkeys:
oneOf:
- description: Any type
- type: 'null'
description: Custom keyboard shortcuts configuration for the user interface
date_joined:
type: string
format: date-time
email:
type: string
format: email
first_name:
type: string
id:
type: integer
initials:
type: string
default: '?'
last_activity:
type: string
format: date-time
last_name:
type: string
lse_fields:
$ref: '#/components/schemas/LseFields'
org_membership:
type: array
items:
$ref: '#/components/schemas/OrganizationMembership'
organization_membership:
$ref: '#/components/schemas/OrganizationMembership'
pause:
type: string
phone:
type: string
username:
type: string
required:
- active_organization_meta
- avatar
- id
- initials
- last_activity
- lse_fields
- org_membership
- organization_membership
- pause
- username
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
title: LseUser
CommentSerializerWithExpandedUser:
type: object
properties:
annotation:
type:
- integer
- 'null'
classifications:
oneOf:
- description: Any type
- type: 'null'
description: Classifications applied by a reviewer or annotator
created_at:
type: string
format: date-time
description: Creation time
created_by:
$ref: '#/components/schemas/LseUser'
draft:
type:
- integer
- 'null'
id:
type: integer
is_resolved:
type: boolean
description: True if the comment is resolved
project:
type:
- integer
- 'null'
region_ref:
oneOf:
- description: Any type
- type: 'null'
description: >-
Set if this comment is related to a specific part of the annotation. Normally contains region ID and control
name.
resolved_at:
type:
- string
- 'null'
format: date-time
description: Resolving time
state:
type: string
task:
type:
- integer
- 'null'
text:
type:
- string
- 'null'
description: Reviewer or annotator comment
updated_at:
type: string
format: date-time
description: Last updated time
required:
- created_at
- created_by
- id
- project
- resolved_at
- state
- task
- updated_at
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)
title: CommentSerializerWithExpandedUser
MaybeExpandedComment:
oneOf:
- $ref: '#/components/schemas/Comment'
- $ref: '#/components/schemas/CommentSerializerWithExpandedUser'
title: MaybeExpandedComment
CommentRequest:
type: object
properties:
annotation:
type:
- integer
- 'null'
classifications:
oneOf:
- description: Any type
- type: 'null'
description: Classifications applied by a reviewer or annotator
draft:
type:
- integer
- 'null'
is_resolved:
type: boolean
description: True if the comment is resolved
region_ref:
oneOf:
- description: Any type
- type: 'null'
description: >-
Set if this comment is related to a specific part of the annotation. Normally contains region ID and control
name.
text:
type:
- string
- 'null'
description: Reviewer or annotator 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)
title: CommentRequest
PatchedCommentRequest:
type: object
properties:
annotation:
type:
- integer
- 'null'
classifications:
oneOf:
- description: Any type
- type: 'null'
description: Classifications applied by a reviewer or annotator
draft:
type:
- integer
- 'null'
is_resolved:
type: boolean
description: True if the comment is resolved
region_ref:
oneOf:
- description: Any type
- type: 'null'
description: >-
Set if this comment is related to a specific part of the annotation. Normally contains region ID and control
name.
text:
type:
- string
- 'null'
description: Reviewer or annotator 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)
title: PatchedCommentRequest
LseUserAPI:
type: object
properties:
active_organization:
type:
- integer
- 'null'
active_organization_meta:
type: string
allow_newsletters:
type:
- boolean
- 'null'
description: Allow sending newsletters to user
avatar:
type: string
custom_hotkeys:
oneOf:
- description: Any type
- type: 'null'
description: Custom keyboard shortcuts configuration for the user interface
date_joined:
type: string
format: date-time
email:
type: string
format: email
first_name:
type: string
id:
type: integer
initials:
type: string
default: '?'
last_activity:
type: string
format: date-time
last_name:
type: string
org_membership:
type: array
items:
$ref: '#/components/schemas/OrganizationMembership'
organization_membership:
$ref: '#/components/schemas/OrganizationMembership'
phone:
type: string
username:
type: string
required:
- active_organization_meta
- avatar
- id
- initials
- last_activity
- org_membership
- organization_membership
- username
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
title: LseUserAPI
PatchedLseUserSerializerUpdateRequest:
type: object
properties:
active_organization:
type:
- integer
- 'null'
allow_newsletters:
type:
- boolean
- 'null'
description: Allow sending newsletters to user
custom_hotkeys:
oneOf:
- description: Any type
- type: 'null'
description: Custom keyboard shortcuts configuration for the user interface
date_joined:
type: string
format: date-time
email_notification_settings:
description: Any type
first_name:
type: string
is_email_verified:
type:
- boolean
- 'null'
last_name:
type: string
onboarding_state:
type:
- string
- 'null'
password:
type: string
phone:
type: string
username:
type: string
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
title: PatchedLseUserSerializerUpdateRequest
Hotkeys:
type: object
properties:
custom_hotkeys:
type: object
additionalProperties:
description: Any type
required:
- custom_hotkeys
title: Hotkeys
PatchedHotkeysRequest:
type: object
properties:
custom_hotkeys:
type: object
additionalProperties:
description: Any type
title: PatchedHotkeysRequest
users_reset_token_Response_201:
type: object
properties:
token:
type: string
title: users_reset_token_Response_201
users_get_token_Response_200:
type: object
properties:
detail:
type: string
title: users_get_token_Response_200
WhoAmILseFields:
type: object
properties:
active_organization_external_id:
type:
- string
- 'null'
email_notification_settings:
type: string
invite_activated:
type:
- boolean
- 'null'
invite_expired:
type: string
invite_expired_at:
type: string
invited_at:
type:
- string
- 'null'
format: date-time
invited_by:
type:
- integer
- 'null'
onboarding_state:
oneOf:
- $ref: '#/components/schemas/OnboardingStateEnum'
- type: 'null'
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
social_auth_finished:
type:
- boolean
- 'null'
description: Is user finished social authentication
trial_company:
type:
- string
- 'null'
trial_experience_labeling:
type:
- string
- 'null'
trial_license_enterprise:
type:
- boolean
- 'null'
trial_models_in_production:
type:
- string
- 'null'
trial_role:
oneOf:
- $ref: '#/components/schemas/TrialRoleEnum'
- type: 'null'
required:
- active_organization_external_id
- email_notification_settings
- invite_expired
- invite_expired_at
title: WhoAmILseFields
WhoAmIUser:
type: object
properties:
active_organization:
type:
- integer
- 'null'
active_organization_meta:
type: string
allow_newsletters:
type:
- boolean
- 'null'
description: Allow sending newsletters to user
avatar:
type: string
custom_hotkeys:
oneOf:
- description: Any type
- type: 'null'
description: Custom keyboard shortcuts configuration for the user interface
date_joined:
type: string
format: date-time
email:
type: string
format: email
first_name:
type: string
id:
type: integer
initials:
type: string
default: '?'
last_activity:
type: string
format: date-time
last_name:
type: string
lse_fields:
$ref: '#/components/schemas/WhoAmILseFields'
org_membership:
type: array
items:
$ref: '#/components/schemas/OrganizationMembership'
organization_membership:
$ref: '#/components/schemas/OrganizationMembership'
pause:
type: string
permissions:
type: array
items:
type: string
phone:
type: string
social_accounts:
type: array
items:
type: object
additionalProperties:
description: Any type
username:
type: string
required:
- active_organization_meta
- avatar
- id
- initials
- last_activity
- lse_fields
- org_membership
- organization_membership
- pause
- permissions
- social_accounts
- username
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
title: WhoAmIUser
AgreementV2BackfillTriggerRequestRequest:
type: object
properties:
all_projects:
type:
- boolean
- 'null'
description: Set to true to trigger a full org backfill (cancels in-flight jobs and queues all remaining projects).
num_projects:
type:
- integer
- 'null'
description: Queue at most this many projects per call (batched mode).
project_id:
type:
- integer
- 'null'
description: Backfill a single specific project.
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.
title: AgreementV2BackfillTriggerRequestRequest
AgreementV2BackfillTriggerResponse:
type: object
properties:
jobs:
type: array
items:
type: object
additionalProperties:
description: Any type
description: 'Queued jobs: [{job_id, rq_job_id, project_id}]'
jobs_queued:
type: integer
description: Number of jobs queued in this request
message:
type: string
organization_id:
type: integer
projects_remaining:
type: integer
description: >-
Projects not yet started and not currently in-flight. Relevant when num_projects is used — call POST again
until this reaches 0.
projects_skipped:
type: integer
description: Projects skipped because they already have a completed backfill
required:
- jobs
- jobs_queued
- message
- organization_id
- projects_remaining
- projects_skipped
description: Response from POST /api/dimensions/backfill/
title: AgreementV2BackfillTriggerResponse
AgreementV2BackfillCancelResponse:
type: object
properties:
cancelled_count:
type: integer
description: Number of jobs successfully cancelled
message:
type: string
required:
- cancelled_count
- message
description: Response from DELETE /api/dimensions/backfill/
title: AgreementV2BackfillCancelResponse
AgreementV2BackfillJobStatusEnum:
type: string
enum:
- PENDING
- QUEUED
- RUNNING
- COMPLETED
- FAILED
description: |-
* `PENDING` - Pending
* `QUEUED` - Queued
* `RUNNING` - Running
* `COMPLETED` - Completed
* `FAILED` - Failed
title: AgreementV2BackfillJobStatusEnum
AgreementV2BackfillJob:
type: object
properties:
completed_at:
type:
- string
- 'null'
format: date-time
created_at:
type: string
format: date-time
error_message:
type: string
description: Error message if job failed
job_id:
type: integer
description: Database ID of the backfill job
progress_data:
description: JSON data tracking job progress (matrices_created, errors, etc.)
project_id:
type:
- integer
- 'null'
description: Optional specific project to backfill (if null, backfills entire organization)
rq_job_id:
type:
- string
- 'null'
description: Redis queue job ID
started_at:
type:
- string
- 'null'
format: date-time
status:
$ref: '#/components/schemas/AgreementV2BackfillJobStatusEnum'
description: |-
Current status of the backfill job
* `PENDING` - Pending
* `QUEUED` - Queued
* `RUNNING` - Running
* `COMPLETED` - Completed
* `FAILED` - Failed
triggered_by:
type: string
description: User who triggered the backfill
required:
- created_at
- job_id
- project_id
- rq_job_id
- triggered_by
description: |-
Serializes a DimensionsBackfillJob model instance.
Used by the list endpoint and as the base for the status endpoint.
title: AgreementV2BackfillJob
DimensionList:
type: object
properties:
allowed_metrics_with_params:
type: string
description: Dictionary mapping metric type names to their parameter schemas.
control_tag:
type:
- string
- 'null'
description: Name of the control tag this dimension is extracted from. Set automatically for system dimensions.
created_at:
type: string
format: date-time
description:
type: string
description: Human-readable description of what this dimension represents
extraction_method:
type: string
description: Method used to extract values from annotation JSON
extraction_method_params:
description: >-
Parameters specific to the extraction method. See metrics.py for available extraction methods and their
parameters.
id:
type: integer
is_active:
type: boolean
description: Whether this dimension is used in agreement calculations.
is_user_defined:
type: boolean
description: Whether this dimension was manually created by a user. System-generated dimensions have this set to False.
metric_params:
description: Parameters for the metric. See metrics.py for available metrics and their parameters.
metric_type:
type: string
description: Strategy for comparing dimension values across annotators
name:
type: string
description: Unique identifier for this dimension within the project
order:
type: integer
description: Display order within the project
project:
type: integer
description: Project this dimension belongs to
updated_at:
type: string
format: date-time
required:
- allowed_metrics_with_params
- control_tag
- created_at
- description
- extraction_method
- extraction_method_params
- id
- is_active
- is_user_defined
- metric_params
- metric_type
- name
- order
- project
- updated_at
description: |-
Lightweight serializer for listing dimensions.
Excludes detailed parameters for performance in list views.
title: DimensionList
Dimension:
type: object
properties:
allowed_metrics_with_params:
type: string
description: Dictionary mapping metric type names to their parameter schemas.
control_tag:
type:
- string
- 'null'
description: Name of the control tag this dimension is extracted from. Set automatically for system dimensions.
created_at:
type: string
format: date-time
created_by:
type:
- integer
- 'null'
description: User who created this dimension
description:
type: string
description: Human-readable description of what this dimension represents
extraction_method:
type: string
description: Method used to extract values from annotation JSON
extraction_method_params:
description: >-
Parameters specific to the extraction method. See metrics.py for available extraction methods and their
parameters.
id:
type: integer
is_active:
type: boolean
description: Whether this dimension is used in agreement calculations.
is_user_defined:
type: boolean
description: Whether this dimension was manually created by a user. System-generated dimensions have this set to False.
metric_params:
description: Parameters for the metric. See metrics.py for available metrics and their parameters.
metric_type:
type: string
description: Strategy for comparing dimension values across annotators
name:
type: string
description: Unique identifier for this dimension within the project
order:
type: integer
description: Display order within the project
project:
type: integer
description: Project this dimension belongs to
updated_at:
type: string
format: date-time
required:
- allowed_metrics_with_params
- control_tag
- created_at
- created_by
- id
- name
- project
- updated_at
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.
title: Dimension
ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsDialogFormItems:
type: object
properties: {}
title: ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsDialogFormItems
ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsDialog:
type: object
properties:
form:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsDialogFormItems'
text:
type:
- string
- 'null'
title:
type:
- string
- 'null'
type:
type:
- string
- 'null'
title: ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsDialog
ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsPermission:
oneOf:
- type: string
- type: array
items:
type: string
title: ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsPermission
ApiDmActionsGetResponsesContentApplicationJsonSchemaItems:
type: object
properties:
dialog:
$ref: '#/components/schemas/ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsDialog'
experimental:
type: boolean
id:
type: string
order:
type: integer
permission:
$ref: '#/components/schemas/ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsPermission'
title:
type: string
title: ApiDmActionsGetResponsesContentApplicationJsonSchemaItems
ApiDmActionsPostParametersId:
type: string
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
title: ApiDmActionsPostParametersId
ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersConjunction:
type: string
enum:
- or
- and
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.
title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersConjunction
ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsFilter:
type: string
enum:
- filter:tasks:agreement
- filter:tasks:annotations_results
- filter:tasks:annotators
- filter:tasks:cancelled_annotations
- filter:tasks:comments
- filter:tasks:completed_at
- filter:tasks:created_at
- filter:tasks:file_upload
- filter:tasks:ground_truth
- filter:tasks:id
- filter:tasks:inner_id
- filter:tasks:predictions_model_versions
- filter:tasks:predictions_results
- filter:tasks:predictions_score
- filter:tasks:reviewed
- filter:tasks:reviewers
- filter:tasks:reviews_accepted
- filter:tasks:reviews_rejected
- filter:tasks:total_annotations
- filter:tasks:total_predictions
- filter:tasks:unresolved_comment_count
- filter:tasks:updated_at
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](#tag/Data-Manager/operation/api_dm_columns_list) API endpoint. Possible
values:curl https://label-studio-host/api/projects -H
"Authorization: Token [your-token]"