openapi: 3.1.0 info: title: API Reference version: 1.0.0 paths: /api/activity-logs/: get: operationId: list summary: ✨ Get activity logs description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve activity logs filtered by workspace, project, user, HTTP method, date range or search query. tags: - subpackage_activityLogs parameters: - name: end_date in: query description: End date/time (ISO-8601) for log filtering. required: false schema: type: string - name: method in: query description: HTTP request method used in the log. required: false schema: $ref: '#/components/schemas/ApiActivityLogsGetParametersMethod' - name: ordering in: query description: Which field to use when ordering the results. required: false schema: type: string - name: page in: query description: '[or "start"] Current page index.' required: false schema: type: integer - name: page_size in: query description: '[or "length"] Logs per page, use -1 to obtain all logs (might be slow).' required: false schema: type: integer - name: project in: query description: Project ID to filter logs. required: false schema: type: integer - name: search in: query description: Search expression using "AND"/"OR" to filter by request URL. required: false schema: type: string - name: start_date in: query description: Start date/time (ISO-8601) for log filtering. required: false schema: type: string - name: user in: query description: User ID to filter logs. required: false schema: type: integer - name: workspace in: query description: Workspace owner ID to filter logs. 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: 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List annotation history items for an annotation. Annotation history logs all actions performed with annotations, such as: imports, submits, updates, reviews, and more. Users can view annotation history items in the Annotation History panel during labeling. tags: - subpackage_annotationHistory parameters: - name: annotation in: query description: Annotation ID to get annotation history items for. required: false 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/AnnotationHistory' delete: operationId: delete summary: ✨ Delete annotation history items description: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete all annotation history items for a specific annotation, task or project. This method is available only for users with administrator roles. tags: - subpackage_annotationHistory parameters: - name: annotation in: query description: Annotation ID to delete annotation history items for. required: false schema: type: integer - name: project in: query description: Project ID to delete annotation history items for. required: false schema: type: integer - name: task in: query description: Task ID to delete annotation history items for. 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: 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get one annotation history item by ID with full result. Used when FIT-720 lazy load is on and the user clicks a stubbed history item to hydrate it. tags: - subpackage_annotationHistory 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/AnnotationHistory' /api/projects/{id}/annotation-history/: get: operationId: list-for-project summary: ✨ List annotation history items for project description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List all annotation history items for the project with pagination. tags: - subpackage_annotationHistory parameters: - name: id in: path required: true schema: type: integer - 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: 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/PaginatedAnnotationHistoryList' /api/annotation-reviews/: get: operationId: list summary: ✨ List reviews description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List all reviews for a specific annotation ID. Only allowed for organizations with reviewing features enabled. tags: - subpackage_annotationReviews parameters: - name: annotation in: query required: false schema: type: integer - name: annotation__task__project in: query required: false 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/AnnotationReview' post: operationId: create summary: ✨ Create review description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a review for a specific annotation ID. Only allowed for organizations with reviewing features enabled. tags: - subpackage_annotationReviews parameters: - name: async_postprocess in: query description: Whether to postprocess the review asynchronously. 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: '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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a specific review by ID for an annotation. Only allowed for organizations with reviewing features enabled. tags: - subpackage_annotationReviews parameters: - name: id in: path description: A unique integer value identifying this annotation review. 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/AnnotationReview' delete: operationId: delete summary: ✨ Delete review description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a review by ID. Only allowed for organizations with reviewing features enabled. tags: - subpackage_annotationReviews parameters: - name: id in: path description: A unique integer value identifying this annotation review. 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 review description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific review by ID. Only allowed for organizations with reviewing features enabled. tags: - subpackage_annotationReviews parameters: - name: id in: path description: A unique integer value identifying this annotation review. 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve billing checks and feature flags for the active organization. tags: - subpackage_billing 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: Billing information for the active organization content: application/json: schema: $ref: '#/components/schemas/BillingInfoResponse' /api/comments/: get: operationId: list summary: ✨ List comments description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List all comments for a specific annotation ID. tags: - subpackage_comments parameters: - name: annotation in: query required: false schema: type: integer - name: annotators in: query required: false schema: type: string - name: draft in: query required: false schema: type: integer - name: expand_created_by in: query required: false schema: type: boolean default: false - name: ordering in: query description: Which field to use when ordering the results. required: false schema: type: string - name: projects in: query 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: List of comments content: application/json: schema: type: array items: $ref: '#/components/schemas/MaybeExpandedComment' post: operationId: create summary: ✨ Create comment description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a comment for a specific annotation ID. tags: - subpackage_comments parameters: - name: expand_created_by in: query description: Expand the created_by field 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: '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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Export comments to CSV file tags: - subpackage_comments parameters: - name: annotation in: query required: false schema: type: integer - name: annotators in: query required: false schema: type: string - name: draft in: query required: false schema: type: integer - name: expand_created_by in: query required: false schema: type: boolean default: false - name: projects in: query required: false schema: type: string - name: tz in: query description: Timezone in which to export the data. Format IANA timezone name, e.g. "America/New_York" 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: CSV file with comments content: application/json: schema: type: string format: binary /api/comments/{id}/: get: operationId: get summary: ✨ Get comment description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a specific comment by ID for an annotation. tags: - subpackage_comments parameters: - name: id in: path required: true schema: type: string - name: expand_created_by in: query description: Expand the created_by field 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/MaybeExpandedComment' delete: operationId: delete summary: ✨ Delete comment description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a comment by ID tags: - subpackage_comments parameters: - name: id in: path required: true schema: type: string - name: expand_created_by in: query description: Expand the created_by field 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: Successful response patch: operationId: update summary: ✨ Update comment description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific comment by ID. tags: - subpackage_comments parameters: - name: id in: path required: true schema: type: string - name: expand_created_by in: query description: Expand the created_by field 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/MaybeExpandedComment' requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedCommentRequest' /api/current-user: get: operationId: get-current-user summary: ✨ Get current user info description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get info about the currently authenticated user. 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/LseUserAPI' patch: operationId: update-current-user summary: ✨ Update current user description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update details for the currently authenticated user. 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/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. Use caution when deleting a user, as this can cause issues such as breaking the "Annotated by" filter or leaving orphaned records. 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: 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Trigger an Agreement V2 backfill for the authenticated user's active organization. Recomputes agreement score matrices for all tasks that are missing them. Exactly one of three body fields must be provided: - **project_id**: backfill a single specific project. - **num_projects**: batched org backfill — queue the next N not-yet-started projects (in ascending project ID order), leaving any currently in-flight jobs untouched. Repeat calls until `projects_remaining` in the response reaches 0. - **all_projects**: full org backfill — cancel all in-flight jobs and queue every remaining non-completed project at once. Requires administrator or owner role and the Agreement V2 feature flag. tags: - subpackage_dimensions 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/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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Cancel Agreement V2 backfill jobs for the authenticated user's active organization. Cancel a specific job by job_id, all jobs for a specific project by project_id, or all backfill jobs for the entire organization if neither is provided. tags: - subpackage_dimensions parameters: - name: job_id in: query description: Optional specific job ID to cancel required: false schema: type: integer - name: project_id in: query description: Optional project ID to cancel its active backfill jobs 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/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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve Agreement V2 backfill jobs for the authenticated user's active organization, ordered by most-recently created first. Supports page / page_size query params (default 50 per page, max 500). Requires administrator or owner role and the Agreement V2 feature flag. tags: - subpackage_dimensions parameters: - name: status in: query description: 'Filter by job status: PENDING, QUEUED, RUNNING, COMPLETED, or FAILED.' 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/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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve the status of an Agreement V2 backfill job for the authenticated user's active organization. By default returns the aggregated organization status. Specify job_id or project_id to get a specific job status. Requires administrator or owner role and the Agreement V2 feature flag. tags: - subpackage_dimensions parameters: - name: job_id in: query description: Optional job ID to retrieve specific job status required: false schema: type: integer - name: project_id in: query description: >- Optional project ID to retrieve the latest backfill status for that project. If omitted, returns aggregated organization status. 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List all dimensions for a specific project. tags: - subpackage_dimensions parameters: - name: project_pk in: path description: Project ID required: true schema: type: integer - name: agreement_methodology in: query description: >- Agreement methodology to use for computing allowed_metrics_with_params. If not provided, uses the methodology stored in the project settings. Valid values: "pairwise", "consensus". required: false schema: type: string - name: is_active in: query description: Filter by active status required: false schema: type: boolean - 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a specific dimension by ID. tags: - subpackage_dimensions parameters: - name: id in: path description: Dimension ID required: true schema: type: integer - name: project_pk in: path 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: 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=` to explore them.
Example: `GET api/actions?id=delete_tasks&project=1` tags: - subpackage_actions parameters: - name: id in: query description: Action name ID, see the full list of actions in the `GET api/actions` request required: true schema: $ref: '#/components/schemas/ApiDmActionsPostParametersId' - name: project in: query description: Project ID required: true schema: type: integer - name: view in: query description: >- View ID (optional, it has higher priority than filters, selectedItems and ordering from the request body payload) 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: 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.
Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}` ordering: type: array items: $ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaOrderingItems' description: >- List of fields to order by. Fields are similar to filters but without the `filter:` prefix. To reverse the order, add a minus sign before the field name, e.g. `-tasks:created_at`. selectedItems: $ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaSelectedItems' description: >- Task selection by IDs. If filters are applied, the selection will be applied to the filtered tasks.If "all" is `false`, `"included"` must be used. If "all" is `true`, `"excluded"` must be used.
Examples: `{"all": false, "included": [1, 2, 3]}` or `{"all": true, "excluded": [4, 5]}` /api/dm/views/: get: operationId: list summary: List views description: List all views for a specific project. tags: - subpackage_views 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/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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Trigger state backfill for the authenticated user's active organization. Creates initial state records for entities without states. Requires administrator or owner role and both FSM feature flags (fflag_feat_fit_568_finite_state_management and fflag_feat_fit_710_fsm_state_fields). tags: - subpackage_states parameters: - name: project_id in: query description: Optional project ID to trigger backfill for a single project 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: '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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Cancel state backfill jobs for the authenticated user's active organization. Can cancel a specific job by job_id, all jobs for a specific project by project_id, or all backfill jobs for the entire organization if neither is provided. tags: - subpackage_states parameters: - name: job_id in: query description: Optional specific job ID to cancel required: false schema: type: integer - name: project_id in: query description: Optional project ID to cancel its active jobs 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/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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve the latest 10 state backfill jobs for the authenticated user's active organization. Shows job history with status, progress, and timing information. Requires administrator or owner role and both FSM feature flags (fflag_feat_fit_568_finite_state_management and fflag_feat_fit_710_fsm_state_fields). tags: - subpackage_states 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/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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve the status of a state backfill job for the authenticated user's active organization. By default returns the aggregated org status, or specify job_id or project_id to get explicit job statuses. Shows progress, completion time, and any errors. Requires administrator or owner role and both FSM feature flags (fflag_feat_fit_568_finite_state_management and fflag_feat_fit_710_fsm_state_fields). tags: - subpackage_states parameters: - name: job_id in: query description: Optional job ID to retrieve specific job status required: false schema: type: integer - name: project_id in: query description: >- Optional project ID to retrieve the latest job status for a project. If omitted, returns aggregated org status. 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get the state history of an entity tags: - subpackage_states parameters: - name: entity_id in: path required: true schema: type: integer - name: entity_name in: path required: true schema: type: string - name: created_at_from in: query description: Filter for state history items created at or after the ISO 8601 formatted date (YYYY-MM-DDTHH:MM:SS) required: false schema: type: string - name: created_at_to in: query description: Filter for state history items created at or before the ISO 8601 formatted date (YYYY-MM-DDTHH:MM:SS) 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: previous_state in: query description: Filter previous_state by exact match (case-insensitive) required: false schema: type: string - name: state in: query description: Filter state by exact match (case-insensitive) required: false schema: type: string - name: transition_name in: query description: Filter transition_name by exact match (case-insensitive) required: false schema: type: string - name: triggered_by in: query description: Filter triggered_by 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/PaginatedStateModelList' /api/fsm/entities/{entity_name}/{entity_id}/transition/: post: operationId: execute-transition summary: ✨ Execute manual state transition description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Execute a registered manual transition for an entity. tags: - subpackage_states parameters: - name: entity_id in: path required: true schema: type: integer - name: entity_name 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: '' 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a new batch of failed predictions. tags: - subpackage_prompts parameters: - name: num_failed_predictions in: query description: Number of failed predictions being sent (for telemetry only, has no effect) 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: '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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a new batch prediction. tags: - subpackage_prompts parameters: - name: num_predictions in: query description: Number of predictions being sent (for telemetry only, has no effect) 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: '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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Provides list of tasks, based on project subset. Includes predictions for tasks. For the 'HasGT' subset, accuracy metrics will also be provided. tags: - subpackage_prompts parameters: - name: project_pk in: path required: true schema: type: integer - name: include_total in: query description: If true (default), includes task_count in response; if false, omits it. required: false schema: type: boolean - name: model_run in: query description: A unique ID of a ModelRun required: false schema: type: integer - 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: parent_model in: query description: The ID of the parent model (ModelInterface) for this Inference Run required: false schema: type: integer - name: project_subset in: query description: The project subset to retrieve tasks for 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Provides list of available subsets for a project along with count of tasks in each subset tags: - subpackage_prompts parameters: - name: project_pk in: path 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a new prompt. tags: - subpackage_prompts 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a specific prompt. tags: - subpackage_prompts parameters: - name: id 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: '' content: application/json: schema: $ref: '#/components/schemas/ModelInterfaceSerializerGET' delete: operationId: delete summary: ✨ Delete prompt description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a prompt by ID tags: - subpackage_prompts parameters: - name: id 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: Successful response patch: operationId: update summary: ✨ Update prompt description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific prompt by ID. tags: - subpackage_prompts parameters: - name: id 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: '' 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get key indicators for the Prompt dashboard. tags: - subpackage_prompts.subpackage_prompts/indicators 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific key indicator for the Prompt dashboard. tags: - subpackage_prompts.subpackage_prompts/indicators parameters: - name: id in: path required: true schema: type: integer - name: indicator_key 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get default prompt version name tags: - subpackage_prompts.subpackage_prompts/versions 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List all versions of a prompt. tags: - subpackage_prompts.subpackage_prompts/versions parameters: - name: prompt_id in: path 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/ThirdPartyModelVersion' post: operationId: create summary: ✨ Create prompt version description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a new version of a prompt. tags: - subpackage_prompts.subpackage_prompts/versions parameters: - name: prompt_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: '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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a specific prompt of a model. tags: - subpackage_prompts.subpackage_prompts/versions parameters: - name: prompt_id in: path required: true schema: type: integer - name: version_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/ThirdPartyModelVersion' delete: operationId: delete summary: ✨ Delete prompt version description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a prompt version by ID tags: - subpackage_prompts.subpackage_prompts/versions parameters: - name: prompt_id in: path required: true schema: type: integer - name: version_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 prompt version description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific prompt version by ID. tags: - subpackage_prompts.subpackage_prompts/versions parameters: - name: prompt_id in: path required: true schema: type: integer - name: version_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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get an estimate of the cost for making an inference run on the selected Prompt Version and Project/ProjectSubset tags: - subpackage_prompts.subpackage_prompts/versions parameters: - name: prompt_id in: path required: true schema: type: integer - name: version_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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get the refined prompt based on the `refinement_job_id`. tags: - subpackage_prompts.subpackage_prompts/versions parameters: - name: prompt_id in: path required: true schema: type: integer - name: version_id in: path required: true schema: type: integer - name: refinement_job_id in: query description: Refinement Job ID acquired from the `POST /api/prompts/{prompt_id}/versions/{version_id}/refine` endpoint 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: Refined prompt response content: application/json: schema: $ref: '#/components/schemas/RefinedPromptResponse' post: operationId: refine-prompt summary: ✨ Refine a prompt version description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Refine a prompt version using a teacher model and save the refined prompt as a new version. tags: - subpackage_prompts.subpackage_prompts/versions parameters: - name: prompt_id in: path required: true schema: type: integer - name: version_id in: path required: true schema: type: integer - name: async in: query description: Whether to run the refinement asynchronously 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: '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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get information (status, metadata, etc) about an existing inference run tags: - subpackage_prompts.subpackage_prompts/runs parameters: - name: prompt_id in: path required: true schema: type: integer - name: version_id in: path required: true schema: type: integer - name: ordering in: query description: Which field to use when ordering the results. required: false schema: type: string - name: parent_model in: query description: The ID of the parent model for this Inference Run required: false schema: type: integer - name: project in: query description: The ID of the project this Inference Run makes predictions on required: false schema: type: integer - name: project_subset in: query description: >- Defines which tasks are operated on (e.g. HasGT will only operate on tasks with a ground truth annotation, but All will operate on all records) required: false schema: $ref: '#/components/schemas/ApiPromptsPromptIdVersionsVersionIdInferenceRunsGetParametersProjectSubset' - 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/ModelRun' post: operationId: create summary: ✨ Run prompt inference description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Run a prompt inference. tags: - subpackage_prompts.subpackage_prompts/runs parameters: - name: prompt_id in: path required: true schema: type: integer - name: version_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: '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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Cancel the inference run for the given api tags: - subpackage_prompts.subpackage_prompts/runs parameters: - name: inference_run_id in: path required: true schema: type: integer - name: prompt_id in: path required: true schema: type: integer - name: version_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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update organization details including title, embed domains, and Plugins settings. 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' '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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update the default role for members of a specific organization. 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Revoke invite to 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Send email with invite to 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a list of all member tags for a specific organization. tags: - subpackage_organizations.subpackage_organizations/memberTags parameters: - name: id in: path description: A unique integer value identifying this organization. required: true schema: type: integer - 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 per page (default: 30, max: 100).' required: false schema: type: integer - name: search in: query description: Search tags by label (case-insensitive). 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/PaginatedOrganizationMemberTagList' post: operationId: create summary: ✨ Create organization member tag description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a new member tag for a specific organization. tags: - subpackage_organizations.subpackage_organizations/memberTags parameters: - name: id in: path description: A unique integer value identifying this 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: '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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Assign tags to multiple organization members in bulk. tags: - subpackage_organizations.subpackage_organizations/memberTags parameters: - name: id in: path description: A unique integer value identifying this organization. required: true schema: type: integer - name: exclude_project_id in: query description: Filter exclude_project_id by exact match required: false schema: type: number format: double - name: exclude_workspace_id in: query description: Filter exclude_workspace_id by exact match required: false schema: type: number format: double - name: is_deleted in: query description: Filter is_deleted by exact match required: false schema: type: boolean - name: role in: query description: Multiple values may be separated by commas. (comma-separated values) required: false schema: type: string - name: tags in: query description: Multiple values may be separated by commas. (comma-separated values) required: false schema: type: string - name: user__last_activity__gte in: query description: Filter user__last_activity by greater than or equal to required: false schema: type: string - name: user__last_activity__lte in: query description: Filter user__last_activity by less than or equal to required: false schema: type: string - name: user_type in: query description: Multiple values may be separated by commas. (comma-separated values) 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: 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Upload a CSV file to bulk import member tags and assign them to organization members. The CSV file must contain `email` and `tags` columns. The `tags` column should contain comma-separated tag labels (quoted if they contain commas). Tags that do not exist will be created. Optionally, you can specify `bulk_tags` as a comma-separated list of tags to apply to all users in the CSV file. The import runs asynchronously. Use the returned import job ID to check the status. tags: - subpackage_organizations.subpackage_organizations/memberTags parameters: - name: id in: path description: A unique integer value identifying this 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: '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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve the status and results of a member tag import job. The response includes the current status (created, in_progress, completed, failed), timestamps, and counts of tags created, assignments made, and users skipped. tags: - subpackage_organizations.subpackage_organizations/memberTags parameters: - name: id in: path description: A unique integer value identifying this organization. required: true schema: type: integer - name: import_pk in: path description: A unique integer value identifying this import job. 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve details of a specific member tag. tags: - subpackage_organizations.subpackage_organizations/memberTags parameters: - name: id in: path description: A unique integer value identifying this organization. required: true schema: type: integer - name: tag_pk in: path description: A unique integer value identifying this member tag. 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/OrganizationMemberTag' '404': description: Member tag not found content: application/json: schema: description: Any type delete: operationId: delete summary: ✨ Delete organization member tag description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a member tag from the organization. tags: - subpackage_organizations.subpackage_organizations/memberTags parameters: - name: id in: path description: A unique integer value identifying this organization. required: true schema: type: integer - name: tag_pk in: path description: A unique integer value identifying this member tag. 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Partially update an existing member tag. tags: - subpackage_organizations.subpackage_organizations/memberTags parameters: - name: id in: path description: A unique integer value identifying this organization. required: true schema: type: integer - name: tag_pk in: path description: A unique integer value identifying this member tag. 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/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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create multiple member tags for the organization in bulk. Duplicate labels within the request are deduplicated. Labels that already exist in the organization are skipped. tags: - subpackage_organizations.subpackage_organizations/memberTags.subpackage_organizations/memberTags/bulk parameters: - name: id in: path description: A unique integer value identifying this 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: '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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete multiple member tags from the organization in bulk. Pass tag IDs via the `ids` query parameter (comma-separated or repeated). For backward compatibility, a JSON body with `ids` is still accepted. tags: - subpackage_organizations.subpackage_organizations/memberTags.subpackage_organizations/memberTags/bulk parameters: - name: id in: path description: A unique integer value identifying this organization. required: true schema: type: integer - name: ids in: query description: Tag IDs to delete. Accepts comma-separated values (e.g., `1,2`) or repeated params. 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a list of all users and roles in a specific organization. tags: - subpackage_organizations.subpackage_organizations/members parameters: - name: id in: path description: A unique integer value identifying this organization. required: true schema: type: integer - name: contributed_to_projects in: query description: Whether to include projects created and contributed to by the members. required: false schema: type: boolean - name: exclude_project_id in: query description: >- Project ID to exclude users who are already associated with this project (direct members, workspace members, or implicit admin/owner access). required: false schema: type: integer - name: exclude_workspace_id in: query description: >- Workspace ID to exclude users who are already associated with this workspace (direct workspace members or implicit admin/owner access). required: false schema: type: integer - 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: role in: query description: | Filter members by organization role. Accepts single role or comma-separated list of roles. **Format:** - Single role: `?role=RE` - Multiple roles: `?role=AN,RE` (users with ANY of these roles) **Role Codes:** - `OW` = Owner - `AD` = Administrator - `MA` = Manager - `RE` = Reviewer - `AN` = Annotator - `NO` = Not Activated - `DI` = Disabled required: false schema: type: string - name: scope in: query description: >- Member visibility scope. `accessible` (default) limits Managers to members in their projects/workspaces. `all` returns all organization members. Only affects Manager role. required: false schema: $ref: '#/components/schemas/ApiOrganizationsIdMembershipsGetParametersScope' - name: search in: query description: A search term. required: false schema: type: string - name: tags in: query description: Filter members by tags. Use a comma-separated list of tag IDs. 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/PaginatedLseOrganizationMemberListList' patch: operationId: update summary: ✨ Update organization member/role description: >+ Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update organization membership or role for a specific user ID. **User Rotation Best Practices for API Usage** To maintain compliance with our licensing terms and ensure optimal performance of HumanSignal's APIs, please consider the following guidelines when managing user assignments: * **Maintain a 7-Day Minimum Assignment**: Once a licensed seat is assigned to a user, maintain that assignment for at least seven consecutive days before rotating it to another user. * **Automate, Monitor, and Log Rotations**: Implement automated scheduling and logging mechanisms to track the timing of user rotations. This helps ensure that rotations adhere to the seven-day minimum period. * **Adhere to API Update Frequency and Wait Periods**: When updating user assignments via our APIs, follow the recommended frequency and wait period guidelines provided in the HumanSignal API documentation. Avoid sending rapid, successive requests that might overload the endpoint. Instead, incorporate appropriate delays between calls as specified in the documentation. * **Avoid Overloading the API Endpoint**: Design your integration to batch or schedule updates where possible, and implement backoff strategies if the API indicates rate limiting. This helps prevent service disruptions and ensures a smooth operation. tags: - subpackage_organizations.subpackage_organizations/members parameters: - name: id in: path description: A unique integer value identifying this 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: '' 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List all organization-level permission overrides for a given organization. tags: - subpackage_organizations.subpackage_organizations/permissions parameters: - name: id in: path 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/OrganizationPermission' post: operationId: create summary: ✨ Create organization permission override description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a new organization-level permission override for a given organization. tags: - subpackage_organizations.subpackage_organizations/permissions 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve the list of configurable permission options (label, tooltip, default role and allowed roles). tags: - subpackage_organizations.subpackage_organizations/permissions parameters: - name: id in: path 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/ConfigurablePermissionOption' /api/organizations/{id}/permissions/{permission}: get: operationId: get summary: ✨ Retrieve organization permission override description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve the organization-level permission override for a given permission key. tags: - subpackage_organizations.subpackage_organizations/permissions parameters: - name: id in: path required: true schema: type: integer - name: permission 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: '' 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Replace the organization-level permission override for a given permission key. tags: - subpackage_organizations.subpackage_organizations/permissions parameters: - name: id in: path description: A unique integer value identifying this organization. required: true schema: type: integer - name: permission in: path description: Permission key to update within the organization. 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete the organization-level permission override for a given permission key. tags: - subpackage_organizations.subpackage_organizations/permissions parameters: - name: id in: path required: true schema: type: integer - name: permission 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Partially update the organization-level permission override for a given permission key. tags: - subpackage_organizations.subpackage_organizations/permissions parameters: - name: id in: path required: true schema: type: integer - name: permission 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: '' 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Make a copy of project. 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: '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.
## Async Import Behavior
**For non-Community editions, this endpoint processes imports asynchronously.** - The POST request **can fail** for invalid parameters, malformed request body, or other request-level validation errors. - However, **data validation errors** that occur during import processing are handled asynchronously and will not cause the POST request to fail. - Upon successful request validation, a response is returned: `{"import": }` - Use the returned `import_id` to poll the GET `/api/projects/{project_id}/imports/{import_id}` endpoint to check the import status and see any data validation errors. - Data-level errors and import failures will only be visible in the GET request response. For Community edition, imports are processed synchronously and return task counts immediately.
## POST requests
There are three possible ways to import tasks with this endpoint: ### 1. **POST with data** Send JSON tasks as POST data. Only JSON is supported for POSTing files directly. Update this example to specify your authorization token and Label Studio instance host, then run the following from the command line. ```bash curl -H 'Content-Type: application/json' -H 'Authorization: Token abc123' \ -X POST 'http://localhost:8000/api/projects/1/import' --data '[{"text": "Some text 1"}, {"text": "Some text 2"}]' ``` ### 2. **POST with files** Send tasks as files. You can attach multiple files with different names. - **JSON**: text files in JavaScript object notation format - **CSV**: text files with tables in Comma Separated Values format - **TSV**: text files with tables in Tab Separated Value format - **TXT**: simple text files are similar to CSV with one column and no header, supported for projects with one source only Update this example to specify your authorization token, Label Studio instance host, and file name and path, then run the following from the command line: ```bash curl -H 'Authorization: Token abc123' \ -X POST 'http://localhost:8000/api/projects/1/import' -F 'file=@path/to/my_file.csv' ``` ### 3. **POST with URL** You can also provide a URL to a file with labeling tasks. Supported file formats are the same as in option 2. ```bash curl -H 'Content-Type: application/json' -H 'Authorization: Token abc123' \ -X POST 'http://localhost:8000/api/projects/1/import' \ --data '[{"url": "http://example.com/test1.csv"}, {"url": "http://example.com/test2.csv"}]' ```
tags: - subpackage_projects parameters: - name: id in: path description: A unique integer value identifying this project. required: true schema: type: integer - name: commit_to_project in: query description: Set to "true" to immediately commit tasks to the project. required: false schema: type: boolean default: true - name: preannotated_from_fields in: query description: >- List of fields to preannotate from the task data. For example, if you provide a list of `{"text": "text", "prediction": "label"}` items in the request, the system will create a task with the `text` field and a prediction with the `label` field when `preannoted_from_fields=["prediction"]`. required: false schema: type: array items: type: string - name: return_task_ids in: query description: Set to "true" to return task IDs in the response. required: false schema: type: boolean default: false - 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: >- Tasks successfully imported or import queued. **For non-Community editions**, the response will be `{"import": }` which you can use to poll the import status. **For Community edition**, the response contains task counts and is processed synchronously. content: application/json: schema: $ref: '#/components/schemas/projects_import_tasks_Response_201' '400': description: Bad Request content: application/json: schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/ImportApiRequest' /api/projects/{id}/import/predictions: post: operationId: import-predictions summary: Import predictions description: Import model predictions for tasks in the specified project. 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: '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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List project roles for requested IDs for the current user tags: - subpackage_projects.subpackage_projects/roles parameters: - name: ids in: query required: false 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/ProjectRole' post: operationId: add summary: ✨ Create project role for user description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create project role for user allowing the user the same access level provided by organization role. tags: - subpackage_projects.subpackage_projects/roles 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Remove project role for user allowing the user the same access level provided by organization role. tags: - subpackage_projects.subpackage_projects/roles parameters: - name: id in: path description: A unique integer value identifying this project role. 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}/roles: get: operationId: get summary: ✨ List project roles description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List users and their project level roles for a given project. If user is not listed here and is a member of the project then they would behave as assigned role in organization. tags: - subpackage_projects.subpackage_projects/roles 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: type: array items: $ref: '#/components/schemas/ProjectRole' /api/projects/{id}/metricparam/: get: operationId: get summary: ✨ Get project metrics configuration description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get the current metrics configuration for a project. tags: - subpackage_projects.subpackage_projects/metrics 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: Current metrics configuration content: application/json: schema: $ref: '#/components/schemas/MetricParam' post: operationId: update summary: ✨ Update project metrics configuration description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update metrics strategy and parameters for a project. tags: - subpackage_projects.subpackage_projects/metrics 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 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get the AWS Lambda code for the custom metric configured for this project. tags: - subpackage_projects.subpackage_projects/metrics.subpackage_projects/metrics/custom 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create or update the AWS Lambda function used for custom metrics in this project. tags: - subpackage_projects.subpackage_projects/metrics.subpackage_projects/metrics/custom 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 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get AWS lambda logs for project, including filtering by start and end dates tags: - subpackage_projects.subpackage_projects/metrics.subpackage_projects/metrics/custom parameters: - name: id in: path required: true schema: type: integer - name: end_date in: query description: End date for AWS logs filtering in format %Y-%m-%d required: false schema: type: string - name: limit in: query description: Limit the number of logs to return required: false schema: type: integer default: 100 - name: start_date in: query description: Start date for AWS logs filtering in format %Y-%m-%d 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate custom matching function code for the project. tags: - subpackage_projects.subpackage_projects/metrics.subpackage_projects/metrics/custom 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: 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get the custom metric function code for this project. The server routes to the active cloud provider (AWS Lambda or GCP Cloud Functions) based on the CUSTOM_METRIC_PROVIDER setting. tags: - subpackage_projects.subpackage_projects/metrics.subpackage_projects/metrics/custom 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: 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create or update the custom metric function for this project. The server routes to the active cloud provider (AWS Lambda or GCP Cloud Functions) based on the CUSTOM_METRIC_PROVIDER setting. tags: - subpackage_projects.subpackage_projects/metrics.subpackage_projects/metrics/custom 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 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get execution logs for the custom metric function. The server routes to the active cloud provider based on the CUSTOM_METRIC_PROVIDER setting. tags: - subpackage_projects.subpackage_projects/metrics.subpackage_projects/metrics/custom parameters: - name: id in: path required: true schema: type: integer - name: end_date in: query description: End date for log filtering in format %Y-%m-%d required: false schema: type: string - name: limit in: query description: Limit the number of logs to return required: false schema: type: integer default: 100 - name: start_date in: query description: Start date for log filtering in format %Y-%m-%d 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get the GCP Cloud Function code for the custom metric configured for this project. tags: - subpackage_projects.subpackage_projects/metrics.subpackage_projects/metrics/custom 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create or update the GCP Cloud Function used for custom metrics in this project. tags: - subpackage_projects.subpackage_projects/metrics.subpackage_projects/metrics/custom 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 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.

Export annotated tasks as a file in a specific format. For example, to export JSON annotations for a project to a file called `annotations.json`, run the following from the command line: ```bash curl -X GET http://localhost:8000/api/projects/{id}/export?exportType=JSON -H 'Authorization: Token abc123' --output 'annotations.json' ``` To export all tasks, including skipped tasks and others without annotations, run the following from the command line: ```bash curl -X GET http://localhost:8000/api/projects/{id}/export?exportType=JSON&download_all_tasks=true -H 'Authorization: Token abc123' --output 'annotations.json' ``` To export specific tasks with IDs of 123 and 345, run the following from the command line: ```bash curl -X GET 'http://localhost:8000/api/projects/{id}/export?ids[]=123&ids[]=345' -H 'Authorization: Token abc123' --output 'annotations.json' ``` 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: download_all_tasks in: query description: If true, download all tasks regardless of status. If false, download only annotated tasks. required: false schema: type: boolean - name: download_resources in: query description: If true, download all resource files such as images, audio, and others relevant to the tasks. required: false schema: type: boolean - name: export_type in: query description: Selected export format (JSON by default) required: false schema: type: string - name: ids in: query description: Specify a list of task IDs to retrieve only the details for those tasks. required: false schema: type: array items: 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Add a member to a specific project. tags: - subpackage_projects.subpackage_projects/members 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: '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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Remove a member from a specific project. Pass the member ID via the `user` query parameter. For backward compatibility, a JSON body with `user` is still accepted. tags: - subpackage_projects.subpackage_projects/members parameters: - name: id in: path required: true schema: type: integer - name: user in: query description: User ID to remove from the project. Optional for backward compatibility with DELETE body. 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: Successful response /api/projects/{id}/members/bulk/: post: operationId: post summary: ✨ Bulk assign project members description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Assign project members in bulk. tags: - subpackage_projects.subpackage_projects/members.subpackage_projects/members/bulk parameters: - name: id in: path required: true schema: type: integer - name: last_activity__gte in: query description: Filter by last activity (ISO 8601 formatted date). Only when all=True. required: false schema: type: string - name: last_activity__lte in: query description: Filter by last activity upper bound (ISO 8601 formatted date). Only when all=True. required: false schema: type: string - name: role in: query description: >- Filter by role, project roles take precedence over organization roles. Only when all=True. (comma-separated values) required: false schema: type: string - name: search in: query description: Search term for filtering members by name, email, or username. Only when all=True. required: false schema: type: string - name: tags in: query description: Multiple values may be separated by commas. (comma-separated values) required: false schema: type: string - name: user_type in: query description: Multiple values may be separated by commas. (comma-separated values) 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/projects_members_bulk_post_Response_200' requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectMemberBulkAssignRequest' delete: operationId: delete summary: ✨ Bulk unassign project members description: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Unassign project members in bulk. Pass selector fields via query parameters (`all`, `included`, `excluded`) and optional member filters (`search`, `role`, `tags`, `last_activity__gte`, `last_activity__lte`). For backward compatibility, a JSON body with bulk fields is still accepted. tags: - subpackage_projects.subpackage_projects/members.subpackage_projects/members/bulk parameters: - name: id in: path required: true schema: type: integer - name: all in: query description: Apply unassignment to all currently matched project members. required: false schema: type: boolean - name: excluded in: query description: Comma-separated list of user IDs to keep assigned when `all=true`. required: false schema: type: string - name: included in: query description: Comma-separated list of user IDs to unassign when `all=false`. required: false schema: type: string - name: last_activity__gte in: query description: Filter by last activity (ISO 8601 formatted date). Only when all=True. required: false schema: type: string - name: last_activity__lte in: query description: Filter by last activity upper bound (ISO 8601 formatted date). Only when all=True. required: false schema: type: string - name: role in: query description: >- Filter by role, project roles take precedence over organization roles. Only when all=True. (comma-separated values) required: false schema: type: string - name: search in: query description: Search term for filtering members by name, email, or username. Only when all=True. required: false schema: type: string - name: tags in: query description: Multiple values may be separated by commas. (comma-separated values) required: false schema: type: string - name: user_type in: query description: Multiple values may be separated by commas. (comma-separated values) 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/projects_members_bulk_delete_Response_200' /api/projects/{id}/members/paginated/: get: operationId: list summary: ✨ Get project members paginated description: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve the members for a specific project. **Response Fields:** - `implicit_member` (boolean): Indicates if the user is an implicit member. - `true`: User has access via workspace membership or organization role (Administrator/Owner) - `false`: User is an explicit project member (added directly to the project) - `project_role` (string|null): Project-specific role override if assigned, null otherwise **Note:** Users can have both explicit membership AND implicit access. The `implicit_member` field is `false` if the user has an explicit ProjectMember entry, regardless of whether they also have implicit access via workspace or org role. tags: - subpackage_projects.subpackage_projects/members.subpackage_projects/members/paginated parameters: - name: id in: path required: true schema: type: integer - name: ids in: query description: Comma-separated list of user IDs to filter by required: false schema: type: string - name: implicit in: query description: >- Include/Exclude implicit project members in the results. If not provided, explicit + implicit members are returned. required: false schema: type: boolean - name: last_activity__gte in: query description: >- Filter by last activity time (ISO 8601 datetime). Returns users with last activity greater than or equal to this time. required: false schema: type: string format: date-time - name: last_activity__lte in: query description: >- Filter by last activity time (ISO 8601 datetime). Returns users with last activity less than or equal to this time. required: false schema: type: string format: date-time - name: no_annotators in: query description: Exclude annotators from the results required: false schema: type: boolean - name: ordering in: query description: >- Ordering field. Prefix with "-" for descending order. Allowed fields: id, email, first_name, last_name, username, last_activity, role, date_joined **Note on role ordering:** When ordering by "role", the system uses the effective role: - Project-specific role if assigned (takes precedence) - Organization role if no project role is assigned Roles are sorted alphabetically by their code: AD (Administrator), AN (Annotator), DI (Disabled), MA (Manager), NO (Not Activated), OW (Owner), RE (Reviewer) 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: role in: query description: >- Filter members by role. Accepts single role or comma-separated list of roles. **Format:** - Single role: `?role=RE` - Multiple roles: `?role=AN,RE` (users with ANY of these roles) **Role Codes:** - `OW` = Owner - `AD` = Administrator - `MA` = Manager - `RE` = Reviewer - `AN` = Annotator **Matching Logic:** Returns users who have any of the specified roles either: 1. As their **project-specific role** (from project role assignments), OR 2. As their **organization role** (if they have no project-specific role override) **Note:** Project-specific roles take precedence. If a user has a project role assigned, their organization role is ignored for filtering purposes. required: false schema: type: string - name: search in: query description: Search term for filtering members by name, email, or username required: false schema: type: string - name: tags in: query description: Filter members by tags. Use a comma-separated list of tag IDs. required: false schema: type: string - name: with_deleted in: query description: Include deleted members in the results 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/PaginatedPaginatedProjectMemberList' /api/projects/{id}/model-stats/{model_version}/agreement: get: operationId: model-version-annotator-agreement summary: ✨ Get model-version overall agreement vs annotators description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get agreement between a given model version and all annotators in the project for overlapping tasks. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: model_version 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get agreement between a given model version and ground truth annotations in the project for overlapping tasks. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: model_version in: path required: true schema: type: string - name: per_label in: query description: Calculate agreement per label required: false schema: type: boolean default: false - 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get agreement between a given model version and all other model versions in the project for overlapping tasks. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: model_version in: path required: true schema: type: string - name: per_label in: query description: Calculate agreement per label required: false schema: type: boolean default: false - 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get Inter-Annotator Agreement (IAA) matrix for a project, showing agreement between all annotators. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: expand in: query description: Comma-separated list of fields to expand required: false schema: type: string - name: per_label in: query description: Calculate IAA per label required: false schema: type: boolean default: false - name: std in: query description: Include standard deviation in results required: false schema: type: boolean default: false - name: task in: query description: Comma-separated list of task IDs to filter by 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get ground truth agreement statistics for multiple users within a project. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: ids in: query description: Comma separated list of user IDs to get ground truth agreement for required: true schema: type: string - name: per_label in: query description: Per label required: false schema: type: boolean default: false - 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get agreement statistics for a specific annotator within a project. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: user_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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get agreement statistics for multiple annotators within a project. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: ids in: query description: Comma separated list of annotator user IDs to get agreement scores for 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get statistics about user data filters and their usage within a project. tags: - subpackage_projects.subpackage_projects/stats 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get statistics about finished tasks for a project. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: user_pk in: query description: User ID to filter statistics by (optional) 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: 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Returns counts and percentages for requested label choices, from both annotations and predictions. Supports either pagination (`limit`, `offset`) or targeted fetches via explicit `choice_keys`. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: choice_keys in: query description: >- Explicit choice keys to fetch, joined by "___PIPE___" (for example: "label___SEP___pos___PIPE___quality___SEP___4"). When provided, pagination params are ignored. required: false schema: type: string - name: limit in: query description: Maximum number of choice keys to return for pagination. Ignored when `choice_keys` is provided. required: false schema: type: integer - name: offset in: query description: Zero-based offset into the structure `choice_keys` list. Used only when `choice_keys` is not provided. required: false schema: type: integer default: 0 - 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: 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Returns dimensions and flattened `choice_keys` for a project. Use this response to drive paginated or targeted calls to the label distribution counts endpoint. tags: - subpackage_projects.subpackage_projects/stats 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get lead time statistics across the project, including average annotation time. tags: - subpackage_projects.subpackage_projects/stats 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: 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Paginated, sortable member performance rows for annotation/review tables. Guarded by 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Overall or per-label total agreement across the project. NOTE: when this endpoint returns 204 No Content, SDK clients return None. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: per_label in: query description: Return agreement per label 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Start stats recalculation for given project tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: stat_type in: query description: 'Stat type to recalculate. Possible values: label, stats' 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get prediction agreement statistics for multiple annotators within a project. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: ids in: query description: Comma separated list of annotator user IDs to get agreement scores for required: true schema: type: string - name: per_label in: query description: Per label required: false schema: type: boolean default: false - 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 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get review score and performance score statistics for multiple annotators within a project. Only allowed for accounts with reviewing features enabled. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: ids in: query description: Comma separated list of annotator user IDs to get review scores for required: true schema: type: string - name: per_label in: query description: Per label 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get prediction agreement statistics for a specific user within a project. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: user_pk in: path required: true schema: type: integer - name: per_label in: query description: Calculate agreement per label 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: 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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get review score statistics for a specific user within a project. Only allowed for accounts with reviewing features enabled. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: user_pk in: path required: true schema: type: integer - name: per_label in: query description: Calculate agreement per label 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get ground truth agreement statistics for a specific user within a project. tags: - subpackage_projects.subpackage_projects/stats parameters: - name: id in: path required: true schema: type: integer - name: user_pk in: path required: true schema: type: integer - name: per_label in: query description: Calculate agreement per label 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List ordered review routing rules for a project. tags: - subpackage_projects.subpackage_projects/reviewRoutingRules parameters: - name: id in: path 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/ReviewRoutingRule' /api/projects/{id}/review-routing-rules/bulk/: post: operationId: bulk-replace summary: ✨ Bulk replace review routing rules description: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Atomically replace the ordered review routing rules for a project. Rules with an `id` update the existing project rule. Rules without an `id` are created. Existing project rules omitted from the request are deleted, and request order becomes rule order. tags: - subpackage_projects.subpackage_projects/reviewRoutingRules 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: 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Assign multiple users to a collection of tasks within a specific project. tags: - subpackage_projects.subpackage_projects/assignments 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: '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.
Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}` selectedItems: $ref: >- #/components/schemas/ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaSelectedItems description: >- Task selection by IDs. If filters are applied, the selection will be applied to the filtered tasks.If "all" is `false`, `"included"` must be used. If "all" is `true`, `"excluded"` must be used.
Examples: `{"all": false, "included": [1, 2, 3]}` or `{"all": true, "excluded": [4, 5]}` type: $ref: '#/components/schemas/ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaType' 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: - selectedItems - type - users /api/projects/{id}/tasks/{task_pk}/assignees: get: operationId: list summary: ✨ Get assigned tasks and assignees description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a list of tasks and assignees for those tasks for a specific project. tags: - subpackage_projects.subpackage_projects/assignments parameters: - name: id in: path description: A unique integer value identifying this project. required: true schema: type: integer - name: task_pk in: path description: A unique integer value identifying this task. 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 assignments for the task content: application/json: schema: type: array items: $ref: '#/components/schemas/TaskAssignment' post: operationId: assign summary: ✨ Create task assignee description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Assign a user to a task in a specific project. tags: - subpackage_projects.subpackage_projects/assignments parameters: - name: id in: path description: A unique integer value identifying this project. required: true schema: type: integer - name: task_pk in: path description: A unique integer value identifying this task. 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Remove assignees for a task within a specific project. tags: - subpackage_projects.subpackage_projects/assignments parameters: - name: id in: path description: A unique integer value identifying this project. required: true schema: type: integer - name: task_pk in: path description: A unique integer value identifying this task. required: true schema: type: integer - name: type in: query description: Assignment type to delete (optional). If omitted, deletes all assignments for the task. required: false schema: $ref: '#/components/schemas/ApiProjectsIdTasksTaskPkAssigneesDeleteParametersType' - name: users in: query description: >- Comma separated list of user IDs to delete, as a string. If omitted, deletes all assignees for the given type. 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: Successful response patch: operationId: update summary: ✨ Update task assignee description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update the assignee for a task in a specific project. tags: - subpackage_projects.subpackage_projects/assignments parameters: - name: id in: path description: A unique integer value identifying this project. required: true schema: type: integer - name: task_pk in: path description: A unique integer value identifying this task. 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a list of all pauses. tags: - subpackage_projects.subpackage_projects/pauses parameters: - name: project_pk in: path required: true schema: type: integer - name: user_pk in: path required: true schema: type: integer - name: include_deleted in: query description: Include deleted pauses. required: false schema: type: boolean - 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/Pause' post: operationId: create summary: ✨ Create pause description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a new pause entry. tags: - subpackage_projects.subpackage_projects/pauses parameters: - name: project_pk in: path required: true schema: type: integer - name: user_pk 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: '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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a specific pause by ID. tags: - subpackage_projects.subpackage_projects/pauses parameters: - name: id in: path required: true schema: type: string - name: project_pk in: path required: true schema: type: integer - name: user_pk 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/Pause' delete: operationId: delete summary: ✨ Delete pause description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific pause by ID. tags: - subpackage_projects.subpackage_projects/pauses parameters: - name: id in: path required: true schema: type: string - name: project_pk in: path required: true schema: type: integer - name: user_pk 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 pause description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Partially update a pause entry by ID. tags: - subpackage_projects.subpackage_projects/pauses parameters: - name: id in: path required: true schema: type: string - name: project_pk in: path required: true schema: type: integer - name: user_pk 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/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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create predictions for all tasks using a specific ML backend so that you can set up an active learning strategy based on the confidence or uncertainty scores associated with the predictions. Creating predictions requires a Label Studio ML backend set up and configured for your project. See [Set up machine learning](https://labelstud.io/guide/ml.html) for more details about a Label Studio ML backend. Reference the ML backend ID in the path of this API call. 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: batch_size in: query description: Computed number of tasks without predictions that the ML backend needs to predict. 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 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List all model provider connections. tags: - subpackage_modelProviders 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/ModelProviderConnection' post: operationId: create summary: ✨ Create model provider connection description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a new model provider connection. tags: - subpackage_modelProviders 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List all possible model provider choices tags: - subpackage_modelProviders 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 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a specific model provider connection. tags: - subpackage_modelProviders parameters: - name: id 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: '' content: application/json: schema: $ref: '#/components/schemas/ModelProviderConnection' delete: operationId: delete summary: ✨ Delete model provider connection description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a model provider connection by ID tags: - subpackage_modelProviders parameters: - name: id 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: Successful response patch: operationId: update summary: ✨ Update model provider connection description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific model provider connection by ID. tags: - subpackage_modelProviders parameters: - name: id 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: '' 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a list of all project templates for an organization. tags: - subpackage_projectTemplates 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/ProjectTemplate' post: operationId: create summary: ✨ Create project template description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a project template for an organization. tags: - subpackage_projectTemplates 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/ProjectTemplate' requestBody: content: application/json: schema: $ref: '#/components/schemas/ProjectTemplateRequest' /api/project-templates/{id}: get: operationId: get summary: ✨ Get a project template description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific project template by ID for an organization. tags: - subpackage_projectTemplates 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/ProjectTemplate' delete: operationId: delete summary: ✨ Delete a project template description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific project template by ID for an organization. tags: - subpackage_projectTemplates 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 a project template description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update the details of a specific project template by ID for an organization. tags: - subpackage_projectTemplates 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a project from a specific project template by ID for an organization. tags: - subpackage_projectTemplates 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: '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": }` 2. Use that `import_id` with this GET endpoint to check the import status 3. Poll this endpoint to see if the import has completed, is still processing, or has failed 4. **Import errors and failures will only be visible in this GET response**, not in the original POST request This endpoint returns detailed information about the import including task counts, status, and any error messages. tags: - subpackage_tasks parameters: - name: id in: path description: A unique integer value identifying this project import. required: true schema: type: integer - name: import_pk 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/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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Returns a pairwise agreement matrix between selected participants for a single task, averaged across all active dimensions or a single specified dimension. tags: - subpackage_tasks.subpackage_tasks/agreementMatrix parameters: - name: project_pk in: path description: Project ID required: true schema: type: integer - name: task_pk in: path description: Task ID required: true schema: type: integer - name: dimension in: query description: Dimension ID to compute agreement for. If not provided, averages across all active dimensions. required: false schema: type: integer - name: selection in: query description: JSON object specifying which participants to include in the agreement matrix required: true schema: $ref: '#/components/schemas/AgreementSelectionRequest' - 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/TaskAgreementMatrixResponse' /api/saml/settings: get: operationId: get summary: ✨ Retrieve SAML2 Settings description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve SAML2 settings for the currently active organization. tags: - subpackage_sso.subpackage_sso/saml 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/SamlSettings' post: operationId: update summary: ✨ Update SAML2 Settings description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update SAML2 settings for the currently active organization. tags: - subpackage_sso.subpackage_sso/saml 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/SamlSettingsUpdate' requestBody: content: application/json: schema: $ref: '#/components/schemas/SamlSettingsUpdateRequest' delete: operationId: reset summary: ✨ Reset SAML2 Settings description: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Reset SAML2 settings for the currently active organization. This clears all configured fields (domain, metadata, attribute mappings, group mappings) back to their defaults without deleting the underlying settings record. tags: - subpackage_sso.subpackage_sso/saml 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: Successful response /api/saml/settings/validate-metadata-url: post: operationId: validate-metadata-url summary: ✨ Validate SAML Metadata URL description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a SAML metadata URL by fetching it and checking for valid XML, without saving. tags: - subpackage_sso.subpackage_sso/saml 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/ValidateSamlMetadataUrlResponse' requestBody: content: application/json: schema: $ref: '#/components/schemas/ValidateSamlMetadataUrlRequestRequest' /api/scim/settings: get: operationId: get summary: ✨ Retrieve SCIM Settings description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve SCIM settings for the currently active organization. tags: - subpackage_sso.subpackage_sso/scim 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/ScimSettings' post: operationId: update summary: ✨ Update SCIM Settings description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update SCIM settings for the currently active organization. tags: - subpackage_sso.subpackage_sso/scim 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get list of all Azure import storage connections set up with Service Principal authentication. tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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/AzureServicePrincipalImportStorage' post: operationId: create summary: ✨ Create Azure import storage with SPI description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create Azure import storage with Service Principal authentication. tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a specific Azure import storage connection that was set up with Service Principal authentication. tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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_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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific Azure import storage connection that was set up with Service Principal authentication. tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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/AzureServicePrincipalImportStorage' delete: operationId: delete summary: ✨ Delete Azure SPI import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific Azure import storage connection that was set up with Service Principal authentication. tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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 Azure SPI import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific Azure import storage connection that was set up with Service Principal authentication. tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Sync tasks from an Azure import storage connection that was set up with Service Principal authentication. tags: - subpackage_importStorage.subpackage_importStorage/azureSpi 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/AzureServicePrincipalImportStorage' /api/storages/databricks/: get: operationId: list summary: ✨ List Databricks import storages description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get list of all Databricks Files import storage connections. tags: - subpackage_importStorage.subpackage_importStorage/databricks 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/DatabricksImportStorage' post: operationId: create summary: ✨ Create Databricks import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a Databricks Files import storage connection. tags: - subpackage_importStorage.subpackage_importStorage/databricks 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/DatabricksImportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/DatabricksImportStorageRequest' /api/storages/databricks/validate: post: operationId: validate summary: ✨ Validate Databricks import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a specific Databricks Files import storage connection. tags: - subpackage_importStorage.subpackage_importStorage/databricks 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_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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific Databricks Files import storage connection. tags: - subpackage_importStorage.subpackage_importStorage/databricks 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/DatabricksImportStorage' delete: operationId: delete summary: ✨ Delete Databricks import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific Databricks Files import storage connection. tags: - subpackage_importStorage.subpackage_importStorage/databricks 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 Databricks import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific Databricks Files import storage connection. tags: - subpackage_importStorage.subpackage_importStorage/databricks 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/DatabricksImportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedDatabricksImportStorageRequest' /api/storages/databricks/{id}/sync: post: operationId: sync summary: ✨ Sync Databricks import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Sync tasks from a Databricks Files import storage. tags: - subpackage_importStorage.subpackage_importStorage/databricks 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get list of all GCS import storage connections set up with Service Account Impersonation. tags: - subpackage_importStorage.subpackage_importStorage/gcsSa 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/GCSSAImportStorage' post: operationId: create summary: ✨ Create GCS import storage with SA Impersonation description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create GCS import storage with Service Account Impersonation. tags: - subpackage_importStorage.subpackage_importStorage/gcsSa 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a specific GCS import storage connection set up with SA Impersonation. tags: - subpackage_importStorage.subpackage_importStorage/gcsSa 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_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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific GCS import storage connection set up with SA Impersonation. tags: - subpackage_importStorage.subpackage_importStorage/gcsSa 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/GCSSAImportStorage' delete: operationId: delete summary: ✨ Delete GCS SA import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific GCS import storage connection set up with SA Impersonation. tags: - subpackage_importStorage.subpackage_importStorage/gcsSa 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 GCS SA import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific GCS import storage connection set up with SA Impersonation. tags: - subpackage_importStorage.subpackage_importStorage/gcsSa 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Sync tasks from a GCS import storage connection set up with SA Impersonation. tags: - subpackage_importStorage.subpackage_importStorage/gcsSa 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/GCSSAImportStorage' /api/storages/gcswif/: get: operationId: list summary: ✨ Get GCS WIF import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get list of all GCS import storage connections set up with WIF authentication. tags: - subpackage_importStorage.subpackage_importStorage/gcswif 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/GCSWIFImportStorage' post: operationId: create summary: ✨ Create GCS import storage with WIF description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create GCS import storage with WIF. tags: - subpackage_importStorage.subpackage_importStorage/gcswif 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/GCSWIFImportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/GCSWIFImportStorageRequest' /api/storages/gcswif/validate: post: operationId: validate summary: ✨ Validate GCS WIF import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a specific GCS import storage connection that was set up with WIF authentication. tags: - subpackage_importStorage.subpackage_importStorage/gcswif 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_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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific GCS import storage connection that was set up with WIF. tags: - subpackage_importStorage.subpackage_importStorage/gcswif 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/GCSWIFImportStorage' delete: operationId: delete summary: ✨ Delete GCS WIF import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific GCS import storage connection that was set up with WIF authentication. tags: - subpackage_importStorage.subpackage_importStorage/gcswif 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 GCS WIF import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific GCS import storage connection that was set up with WIF authentication. tags: - subpackage_importStorage.subpackage_importStorage/gcswif 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Sync tasks from an GCS import storage connection that was set up with WIF authentication. tags: - subpackage_importStorage.subpackage_importStorage/gcswif 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get list of all S3 import storage connections set up with IAM role access. tags: - subpackage_importStorage.subpackage_importStorage/s3S 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/LseS3ImportStorage' post: operationId: create summary: ✨ Create import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create S3 import storage with IAM role access. tags: - subpackage_importStorage.subpackage_importStorage/s3S 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/LseS3ImportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/LseS3ImportStorageRequest' /api/storages/s3s/validate: post: operationId: validate summary: ✨ Validate import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a specific S3 import storage connection that was set up with IAM role access. tags: - subpackage_importStorage.subpackage_importStorage/s3S 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_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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific S3 import storage connection that was set up with IAM role access. tags: - subpackage_importStorage.subpackage_importStorage/s3S 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/LseS3ImportStorage' delete: operationId: delete summary: ✨ Delete import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific S3 import storage connection that was set up with IAM role access. tags: - subpackage_importStorage.subpackage_importStorage/s3S 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific S3 import storage connection that was set up with IAM role access. tags: - subpackage_importStorage.subpackage_importStorage/s3S 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/LseS3ImportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLseS3ImportStorageRequest' /api/storages/s3s/{id}/sync: post: operationId: sync summary: ✨ Sync import storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Sync tasks from an S3 import storage connection that was set up with IAM role access. tags: - subpackage_importStorage.subpackage_importStorage/s3S 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a list of all Azure export storage connections that were set up with Service Principal authentication. tags: - subpackage_exportStorage.subpackage_exportStorage/azureSpi 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/AzureServicePrincipalExportStorage' post: operationId: create summary: ✨ Create Azure export storage with SPI authentication description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create an Azure export storage connection with Service Principal authentication to store annotations. tags: - subpackage_exportStorage.subpackage_exportStorage/azureSpi 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a specific Azure export storage connection that was set up with Service Principal authentication. tags: - subpackage_exportStorage.subpackage_exportStorage/azureSpi 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_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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific Azure export storage connection that was set up with Service Principal authentication. tags: - subpackage_exportStorage.subpackage_exportStorage/azureSpi 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/AzureServicePrincipalExportStorage' delete: operationId: delete summary: ✨ Delete Azure SPI export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific Azure export storage connection that was set up with Service Principal authentication. tags: - subpackage_exportStorage.subpackage_exportStorage/azureSpi 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 Azure SPI export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific Azure export storage connection that was set up with Service Principal authentication. tags: - subpackage_exportStorage.subpackage_exportStorage/azureSpi 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Sync tasks from an Azure SPI export storage. tags: - subpackage_exportStorage.subpackage_exportStorage/azureSpi 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/AzureServicePrincipalExportStorage' /api/storages/export/databricks: get: operationId: list summary: ✨ List Databricks export storages description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a list of all Databricks Files export storage connections. tags: - subpackage_exportStorage.subpackage_exportStorage/databricks 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/DatabricksExportStorage' post: operationId: create summary: ✨ Create Databricks export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a Databricks Files export storage connection. tags: - subpackage_exportStorage.subpackage_exportStorage/databricks 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/DatabricksExportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/DatabricksExportStorageRequest' /api/storages/export/databricks/validate: post: operationId: validate summary: ✨ Validate Databricks export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a specific Databricks Files export storage connection. tags: - subpackage_exportStorage.subpackage_exportStorage/databricks 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_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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific Databricks Files export storage connection. tags: - subpackage_exportStorage.subpackage_exportStorage/databricks 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/DatabricksExportStorage' delete: operationId: delete summary: ✨ Delete Databricks export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific Databricks Files export storage connection. tags: - subpackage_exportStorage.subpackage_exportStorage/databricks 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 Databricks export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific Databricks Files export storage connection. tags: - subpackage_exportStorage.subpackage_exportStorage/databricks 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Export annotations to a Databricks Files storage. tags: - subpackage_exportStorage.subpackage_exportStorage/databricks 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a list of all GCS export storage connections set up with SA Impersonation. tags: - subpackage_exportStorage.subpackage_exportStorage/gcsSa 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/GCSSAExportStorage' post: operationId: create summary: ✨ Create GCS export storage with SA Impersonation description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a GCS export storage connection with SA Impersonation to store annotations. tags: - subpackage_exportStorage.subpackage_exportStorage/gcsSa 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a specific GCS export storage connection set up with SA Impersonation. tags: - subpackage_exportStorage.subpackage_exportStorage/gcsSa 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_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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific GCS export storage connection set up with SA Impersonation. tags: - subpackage_exportStorage.subpackage_exportStorage/gcsSa 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/GCSSAExportStorage' delete: operationId: delete summary: ✨ Delete GCS SA export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific GCS export storage connection set up with SA Impersonation. tags: - subpackage_exportStorage.subpackage_exportStorage/gcsSa 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 GCS SA export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific GCS export storage connection set up with SA Impersonation. tags: - subpackage_exportStorage.subpackage_exportStorage/gcsSa 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Sync annotations to a GCS SA export storage. tags: - subpackage_exportStorage.subpackage_exportStorage/gcsSa 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/GCSSAExportStorage' /api/storages/export/gcswif: get: operationId: list summary: ✨ Get all GCS WIF export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a list of all GCS export storage connections that were set up with WIF authentication. tags: - subpackage_exportStorage.subpackage_exportStorage/gcswif 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/GCSWIFExportStorage' post: operationId: create summary: ✨ Create GCS export storage with WIF authentication description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create an GCS export storage connection with WIF authentication to store annotations. tags: - subpackage_exportStorage.subpackage_exportStorage/gcswif 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a specific GCS export storage connection that was set up with WIF authentication. tags: - subpackage_exportStorage.subpackage_exportStorage/gcswif 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_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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific GCS export storage connection that was set up with WIF authentication. tags: - subpackage_exportStorage.subpackage_exportStorage/gcswif 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/GCSWIFExportStorage' delete: operationId: delete summary: ✨ Delete GCS WIF export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific GCS export storage connection that was set up with WIF authentication. tags: - subpackage_exportStorage.subpackage_exportStorage/gcswif 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 GCS WIF export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific GCS export storage connection that was set up with WIF authentication. tags: - subpackage_exportStorage.subpackage_exportStorage/gcswif 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Sync tasks from an GCS WIF export storage. tags: - subpackage_exportStorage.subpackage_exportStorage/gcswif 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/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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a list of all S3 export storage connections that were set up with IAM role access. tags: - subpackage_exportStorage.subpackage_exportStorage/s3S 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/LseS3ExportStorage' post: operationId: create summary: ✨ Create export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create an S3 export storage connection with IAM role access to store annotations. tags: - subpackage_exportStorage.subpackage_exportStorage/s3S 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/LseS3ExportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/LseS3ExportStorageRequest' /api/storages/export/s3s/validate: post: operationId: validate summary: ✨ Validate export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Validate a specific S3 export storage connection that was set up with IAM role access. tags: - subpackage_exportStorage.subpackage_exportStorage/s3S 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_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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a specific S3 export storage connection that was set up with IAM role access. tags: - subpackage_exportStorage.subpackage_exportStorage/s3S 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/LseS3ExportStorage' delete: operationId: delete summary: ✨ Delete export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific S3 export storage connection that was set up with IAM role access. tags: - subpackage_exportStorage.subpackage_exportStorage/s3S 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: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update a specific S3 export storage connection that was set up with IAM role access. tags: - subpackage_exportStorage.subpackage_exportStorage/s3S 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/LseS3ExportStorage' requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedLseS3ExportStorageRequest' /api/storages/export/s3s/{id}/sync: post: operationId: sync summary: ✨ Sync export storage description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Sync tasks from an S3 export storage. tags: - subpackage_exportStorage.subpackage_exportStorage/s3S 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/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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

List all workspaces for your organization. Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization. For more information, see the [Workspaces documentation](https://docs.humansignal.com/workspaces). tags: - subpackage_workspaces parameters: - name: include_all_workspaces in: query description: >- Include all workspaces in the organization, including other users' personal workspaces. Only effective for users with Administrator or Owner role. When enabled, the response includes created_by_user info for personal workspaces. required: false schema: type: boolean - name: is_archived in: query description: Filter by archived status. Set to false to exclude archived workspaces. required: false schema: type: boolean - name: is_personal in: query description: Workspace is a personal user workspace. required: false schema: type: boolean - 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/Workspace' post: operationId: create summary: ✨ Create workspace description: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Create a new workspace. Workspaces in Label Studio let you organize your projects and users into separate spaces. This is useful for managing different teams, departments, or projects within your organization. For more information, see the [Workspaces documentation](https://docs.humansignal.com/workspaces). tags: - subpackage_workspaces 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/Workspace' requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkspaceRequest' /api/workspaces/{id}/: get: operationId: get summary: ✨ Get workspace description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve details for a specific workspace by ID. tags: - subpackage_workspaces 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/Workspace' delete: operationId: delete summary: ✨ Delete workspace description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Delete a specific workspace by ID. tags: - subpackage_workspaces 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 workspace description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Update settings for a specific workspace by ID. tags: - subpackage_workspaces 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/Workspace' requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedWorkspaceRequest' /api/workspaces/{id}/memberships/: get: operationId: list summary: ✨ List workspace memberships description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Get a list of all members in a specific workspace. tags: - subpackage_workspaces.subpackage_workspaces/members 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: A list of workspace memberships content: application/json: schema: type: array items: $ref: '#/components/schemas/WorkspaceMemberList' post: operationId: create summary: ✨ Create workspace membership description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Add a new workspace member by user ID. tags: - subpackage_workspaces.subpackage_workspaces/members 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/WorkspaceMemberCreate' requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkspaceMemberCreateRequest' delete: operationId: delete summary: ✨ Delete workspace membership description: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Remove a specific member by ID from a workspace. Pass the member ID via the `user_id` query parameter. For backward compatibility, a JSON body with `user_id` (or `user`) is still accepted. tags: - subpackage_workspaces.subpackage_workspaces/members parameters: - name: id in: path required: true schema: type: integer - name: user_id in: query description: User ID to remove from the workspace. 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: Successful response /api/workspaces/{id}/memberships/bulk/: post: operationId: post summary: ✨ Bulk assign workspace members description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Assign workspace members in bulk. tags: - subpackage_workspaces.subpackage_workspaces/members.subpackage_workspaces/members/bulk 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/workspaces_members_bulk_post_Response_200' requestBody: content: application/json: schema: $ref: '#/components/schemas/WorkspaceMemberBulkAssignRequest' delete: operationId: delete summary: ✨ Bulk unassign workspace members description: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Unassign workspace members in bulk. Pass selector fields via query parameters (`all`, `included`, `excluded`) and optional paginated-list filters (`search`, `ids`). For backward compatibility, a JSON body with bulk fields is still accepted. tags: - subpackage_workspaces.subpackage_workspaces/members.subpackage_workspaces/members/bulk parameters: - name: id in: path required: true schema: type: integer - name: all in: query description: Apply unassignment to all currently matched workspace members. required: false schema: type: boolean - name: excluded in: query description: Comma-separated list of user IDs to keep assigned when `all=true`. required: false schema: type: string - name: ids in: query description: Comma-separated list of user IDs to filter matched members. required: false schema: type: string - name: included in: query description: Comma-separated list of user IDs to unassign when `all=false`. required: false schema: type: string - name: search in: query description: Search term for filtering matched members by name or email. 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/workspaces_members_bulk_delete_Response_200' /api/workspaces/{id}/memberships/paginated/: get: operationId: list summary: ✨ Get workspace members paginated description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve the members for a specific workspace. tags: - subpackage_workspaces.subpackage_workspaces/members.subpackage_workspaces/members/paginated parameters: - name: id in: path required: true schema: type: integer - name: ids in: query description: Comma-separated list of user IDs to filter by 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/PaginatedLseUserList' /api/workspaces/{id}/projects/: get: operationId: list summary: ✨ List workspace projects description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Retrieve a list of all projects in a specific workspace. tags: - subpackage_workspaces.subpackage_workspaces/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: Projects list content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' post: operationId: add summary: ✨ Add workspace project description: |- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Add a project to a specific workspace. tags: - subpackage_workspaces.subpackage_workspaces/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: '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: >- Label Studio Enterprise badge

This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)

Remove a project from a specific workspace. Pass the project ID via the `project` query parameter. For backward compatibility, a JSON body with `project` is still accepted. tags: - subpackage_workspaces.subpackage_workspaces/projects parameters: - name: id in: path required: true schema: type: integer - name: project in: query description: Project ID to remove from the workspace. 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: 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:
  • `filter:tasks:agreement`
    (Number) Agreement for annotation results for a specific task (Enterprise only)

  • `filter:tasks:annotations_results`
    (String) Annotation results for the tasks

  • `filter:tasks:annotators`
    (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:cancelled_annotations`
    (Number) Number of cancelled or skipped annotations for the task

  • `filter:tasks:comments`
    (Number) Number of comments in a task

  • `filter:tasks:completed_at`
    (Datetime) Time when a task was fully annotated

  • `filter:tasks:created_at`
    (Datetime) Time the task was created at

  • `filter:tasks:file_upload`
    (String) Name of the file uploaded to create the tasks

  • `filter:tasks:ground_truth`
    (Boolean) Ground truth status of the tasks

  • `filter:tasks:id`
    (Number) Task ID

  • `filter:tasks:inner_id`
    (Number) Task Inner ID, it starts from 1 for all projects

  • `filter:tasks:predictions_model_versions`
    (String) Model version used for the predictions

  • `filter:tasks:predictions_results`
    (String) Prediction results for the tasks

  • `filter:tasks:predictions_score`
    (Number) Prediction score for the task

  • `filter:tasks:reviewed`
    (Boolean) Whether the tasks have been reviewed (Enterprise only)

  • `filter:tasks:reviewers`
    (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:reviews_accepted`
    (Number) Number of annotations accepted for a task in review (Enterprise only)

  • `filter:tasks:reviews_rejected`
    (Number) Number of annotations rejected for a task in review (Enterprise only)

  • `filter:tasks:total_annotations`
    (Number) Total number of annotations on a task

  • `filter:tasks:total_predictions`
    (Number) Total number of predictions for the task

  • `filter:tasks:unresolved_comment_count`
    (Number) Number of unresolved comments in a task

  • `filter:tasks:updated_at`
    (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)
  • title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsFilter ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsOperator: type: string enum: - contains - ends_with - equal - exists - greater - greater_or_equal - in - less - less_or_equal - not_contains - not_equal - not_exists - not_in - starts_with description: >- Filter operator. Possible values:
  • `contains`
    Contains

  • `ends_with`
    Ends with

  • `equal`
    Equal to

  • `exists`
    Exists

  • `greater`
    Greater than

  • `greater_or_equal`
    Greater than or equal to

  • `in`
    Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `less`
    Less than

  • `less_or_equal`
    Less than or equal to

  • `not_contains`
    Does not contain

  • `not_equal`
    Not equal to

  • `not_exists`
    Does not exist

  • `not_in`
    Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `starts_with`
    Starts with
  • title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsOperator ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsValue: oneOf: - type: string - type: integer - type: number format: double - type: boolean - type: object additionalProperties: description: Any type - type: object additionalProperties: description: Any type description: Value to filter by title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsValue ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItems: type: object properties: filter: $ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsFilter' 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:
  • `filter:tasks:agreement`
    (Number) Agreement for annotation results for a specific task (Enterprise only)

  • `filter:tasks:annotations_results`
    (String) Annotation results for the tasks

  • `filter:tasks:annotators`
    (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:cancelled_annotations`
    (Number) Number of cancelled or skipped annotations for the task

  • `filter:tasks:comments`
    (Number) Number of comments in a task

  • `filter:tasks:completed_at`
    (Datetime) Time when a task was fully annotated

  • `filter:tasks:created_at`
    (Datetime) Time the task was created at

  • `filter:tasks:file_upload`
    (String) Name of the file uploaded to create the tasks

  • `filter:tasks:ground_truth`
    (Boolean) Ground truth status of the tasks

  • `filter:tasks:id`
    (Number) Task ID

  • `filter:tasks:inner_id`
    (Number) Task Inner ID, it starts from 1 for all projects

  • `filter:tasks:predictions_model_versions`
    (String) Model version used for the predictions

  • `filter:tasks:predictions_results`
    (String) Prediction results for the tasks

  • `filter:tasks:predictions_score`
    (Number) Prediction score for the task

  • `filter:tasks:reviewed`
    (Boolean) Whether the tasks have been reviewed (Enterprise only)

  • `filter:tasks:reviewers`
    (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:reviews_accepted`
    (Number) Number of annotations accepted for a task in review (Enterprise only)

  • `filter:tasks:reviews_rejected`
    (Number) Number of annotations rejected for a task in review (Enterprise only)

  • `filter:tasks:total_annotations`
    (Number) Total number of annotations on a task

  • `filter:tasks:total_predictions`
    (Number) Total number of predictions for the task

  • `filter:tasks:unresolved_comment_count`
    (Number) Number of unresolved comments in a task

  • `filter:tasks:updated_at`
    (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)
  • operator: $ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsOperator' description: >- Filter operator. Possible values:
  • `contains`
    Contains

  • `ends_with`
    Ends with

  • `equal`
    Equal to

  • `exists`
    Exists

  • `greater`
    Greater than

  • `greater_or_equal`
    Greater than or equal to

  • `in`
    Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `less`
    Less than

  • `less_or_equal`
    Less than or equal to

  • `not_contains`
    Does not contain

  • `not_equal`
    Not equal to

  • `not_exists`
    Does not exist

  • `not_in`
    Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `starts_with`
    Starts with
  • type: type: string description: >- Type of the filter value. Possible values:
  • `Boolean`
    Boolean

  • `Datetime`
    Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format

  • `List`
    List of items

  • `Number`
    Float or Integer

  • `String`
    String

  • `Unknown`
    Unknown is explicitly converted to string format
  • value: $ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsValue' description: Value to filter by required: - filter - operator - type - value title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItems ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFilters: type: object properties: conjunction: $ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersConjunction' description: >- Logical conjunction for the filters. This conjunction (either "or" or "and") will be applied to all items in the filters list. It is not possible to combine "or" and "and" within one list of filters. All filters will be either combined with "or" or with "and", but not a mix of both. items: type: array items: $ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItems' description: List of filter items required: - conjunction - items description: >- Filters to apply on tasks. You can use [the helper class `Filters` from this page](https://labelstud.io/sdk/data_manager.html) to create Data Manager Filters.
    Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}` title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFilters ApiDmActionsPostRequestBodyContentApplicationJsonSchemaOrderingItems: type: string enum: - tasks:agreement - tasks:annotations_results - tasks:annotators - tasks:cancelled_annotations - tasks:comments - tasks:completed_at - tasks:created_at - tasks:file_upload - tasks:ground_truth - tasks:id - tasks:inner_id - tasks:predictions_model_versions - tasks:predictions_results - tasks:predictions_score - tasks:reviewed - tasks:reviewers - tasks:reviews_accepted - tasks:reviews_rejected - tasks:total_annotations - tasks:total_predictions - tasks:unresolved_comment_count - tasks:updated_at title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaOrderingItems ApiDmActionsPostRequestBodyContentApplicationJsonSchemaSelectedItems0: type: object properties: all: type: boolean description: No tasks are selected included: type: array items: type: integer description: List of included task IDs required: - all title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaSelectedItems0 ApiDmActionsPostRequestBodyContentApplicationJsonSchemaSelectedItems1: type: object properties: all: type: boolean description: All tasks are selected excluded: type: array items: type: integer description: List of excluded task IDs required: - all title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaSelectedItems1 ApiDmActionsPostRequestBodyContentApplicationJsonSchemaSelectedItems: oneOf: - $ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaSelectedItems0' - $ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaSelectedItems1' description: >- Task selection by IDs. If filters are applied, the selection will be applied to the filtered tasks.If "all" is `false`, `"included"` must be used. If "all" is `true`, `"excluded"` must be used.
    Examples: `{"all": false, "included": [1, 2, 3]}` or `{"all": true, "excluded": [4, 5]}` title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaSelectedItems actions_create_Response_200: type: object properties: {} description: Empty response body title: actions_create_Response_200 ChildFilter: type: object properties: column: type: string description: Field name id: type: integer index: type: - integer - 'null' description: Display order among root filters only operator: type: string description: Filter operator parent: type: - integer - 'null' description: Optional parent filter to create one-level hierarchy (child filters are AND-merged with parent) type: type: string description: Field type value: oneOf: - description: Any type - type: 'null' description: Filter value required: - column - id - operator - type title: ChildFilter Filter: type: object properties: child_filter: $ref: '#/components/schemas/ChildFilter' column: type: string description: Field name id: type: integer index: type: - integer - 'null' description: Display order among root filters only operator: type: string description: Filter operator parent: type: - integer - 'null' description: Optional parent filter to create one-level hierarchy (child filters are AND-merged with parent) type: type: string description: Field type value: oneOf: - description: Any type - type: 'null' description: Filter value required: - column - id - operator - type title: Filter FilterGroup: type: object properties: conjunction: type: string description: Type of conjunction filters: type: array items: $ref: '#/components/schemas/Filter' id: type: integer required: - conjunction - filters - id title: FilterGroup View: type: object properties: data: oneOf: - description: Any type - type: 'null' description: Custom view data filter_group: $ref: '#/components/schemas/FilterGroup' id: type: integer order: type: - integer - 'null' description: Position of the tab, starting at the left in data manager and increasing as the tabs go left to right ordering: oneOf: - description: Any type - type: 'null' description: Ordering parameters project: type: integer description: Project ID selected_items: oneOf: - description: Any type - type: 'null' description: Selected items user: type: - integer - 'null' description: User who made this view required: - id - project title: View ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersConjunction: 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: ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersConjunction ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsFilter: 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:
  • `filter:tasks:agreement`
    (Number) Agreement for annotation results for a specific task (Enterprise only)

  • `filter:tasks:annotations_results`
    (String) Annotation results for the tasks

  • `filter:tasks:annotators`
    (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:cancelled_annotations`
    (Number) Number of cancelled or skipped annotations for the task

  • `filter:tasks:comments`
    (Number) Number of comments in a task

  • `filter:tasks:completed_at`
    (Datetime) Time when a task was fully annotated

  • `filter:tasks:created_at`
    (Datetime) Time the task was created at

  • `filter:tasks:file_upload`
    (String) Name of the file uploaded to create the tasks

  • `filter:tasks:ground_truth`
    (Boolean) Ground truth status of the tasks

  • `filter:tasks:id`
    (Number) Task ID

  • `filter:tasks:inner_id`
    (Number) Task Inner ID, it starts from 1 for all projects

  • `filter:tasks:predictions_model_versions`
    (String) Model version used for the predictions

  • `filter:tasks:predictions_results`
    (String) Prediction results for the tasks

  • `filter:tasks:predictions_score`
    (Number) Prediction score for the task

  • `filter:tasks:reviewed`
    (Boolean) Whether the tasks have been reviewed (Enterprise only)

  • `filter:tasks:reviewers`
    (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:reviews_accepted`
    (Number) Number of annotations accepted for a task in review (Enterprise only)

  • `filter:tasks:reviews_rejected`
    (Number) Number of annotations rejected for a task in review (Enterprise only)

  • `filter:tasks:total_annotations`
    (Number) Total number of annotations on a task

  • `filter:tasks:total_predictions`
    (Number) Total number of predictions for the task

  • `filter:tasks:unresolved_comment_count`
    (Number) Number of unresolved comments in a task

  • `filter:tasks:updated_at`
    (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)
  • title: ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsFilter ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsOperator: type: string enum: - contains - ends_with - equal - exists - greater - greater_or_equal - in - less - less_or_equal - not_contains - not_equal - not_exists - not_in - starts_with description: >- Filter operator. Possible values:
  • `contains`
    Contains

  • `ends_with`
    Ends with

  • `equal`
    Equal to

  • `exists`
    Exists

  • `greater`
    Greater than

  • `greater_or_equal`
    Greater than or equal to

  • `in`
    Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `less`
    Less than

  • `less_or_equal`
    Less than or equal to

  • `not_contains`
    Does not contain

  • `not_equal`
    Not equal to

  • `not_exists`
    Does not exist

  • `not_in`
    Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `starts_with`
    Starts with
  • title: ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsOperator ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsValue: oneOf: - type: string - type: integer - type: number format: double - type: boolean - type: object additionalProperties: description: Any type - type: object additionalProperties: description: Any type description: Value to filter by title: ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsValue ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItems: type: object properties: filter: $ref: '#/components/schemas/ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsFilter' 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:
  • `filter:tasks:agreement`
    (Number) Agreement for annotation results for a specific task (Enterprise only)

  • `filter:tasks:annotations_results`
    (String) Annotation results for the tasks

  • `filter:tasks:annotators`
    (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:cancelled_annotations`
    (Number) Number of cancelled or skipped annotations for the task

  • `filter:tasks:comments`
    (Number) Number of comments in a task

  • `filter:tasks:completed_at`
    (Datetime) Time when a task was fully annotated

  • `filter:tasks:created_at`
    (Datetime) Time the task was created at

  • `filter:tasks:file_upload`
    (String) Name of the file uploaded to create the tasks

  • `filter:tasks:ground_truth`
    (Boolean) Ground truth status of the tasks

  • `filter:tasks:id`
    (Number) Task ID

  • `filter:tasks:inner_id`
    (Number) Task Inner ID, it starts from 1 for all projects

  • `filter:tasks:predictions_model_versions`
    (String) Model version used for the predictions

  • `filter:tasks:predictions_results`
    (String) Prediction results for the tasks

  • `filter:tasks:predictions_score`
    (Number) Prediction score for the task

  • `filter:tasks:reviewed`
    (Boolean) Whether the tasks have been reviewed (Enterprise only)

  • `filter:tasks:reviewers`
    (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:reviews_accepted`
    (Number) Number of annotations accepted for a task in review (Enterprise only)

  • `filter:tasks:reviews_rejected`
    (Number) Number of annotations rejected for a task in review (Enterprise only)

  • `filter:tasks:total_annotations`
    (Number) Total number of annotations on a task

  • `filter:tasks:total_predictions`
    (Number) Total number of predictions for the task

  • `filter:tasks:unresolved_comment_count`
    (Number) Number of unresolved comments in a task

  • `filter:tasks:updated_at`
    (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)
  • operator: $ref: '#/components/schemas/ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsOperator' description: >- Filter operator. Possible values:
  • `contains`
    Contains

  • `ends_with`
    Ends with

  • `equal`
    Equal to

  • `exists`
    Exists

  • `greater`
    Greater than

  • `greater_or_equal`
    Greater than or equal to

  • `in`
    Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `less`
    Less than

  • `less_or_equal`
    Less than or equal to

  • `not_contains`
    Does not contain

  • `not_equal`
    Not equal to

  • `not_exists`
    Does not exist

  • `not_in`
    Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `starts_with`
    Starts with
  • type: type: string description: >- Type of the filter value. Possible values:
  • `Boolean`
    Boolean

  • `Datetime`
    Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format

  • `List`
    List of items

  • `Number`
    Float or Integer

  • `String`
    String

  • `Unknown`
    Unknown is explicitly converted to string format
  • value: $ref: '#/components/schemas/ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsValue' description: Value to filter by required: - filter - operator - type - value title: ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItems ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFilters: type: object properties: conjunction: $ref: '#/components/schemas/ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersConjunction' description: >- Logical conjunction for the filters. This conjunction (either "or" or "and") will be applied to all items in the filters list. It is not possible to combine "or" and "and" within one list of filters. All filters will be either combined with "or" or with "and", but not a mix of both. items: type: array items: $ref: '#/components/schemas/ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFiltersItemsItems' description: List of filter items required: - conjunction - items description: >- Filters to apply on tasks. You can use [the helper class `Filters` from this page](https://labelstud.io/sdk/data_manager.html) to create Data Manager Filters.
    Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}` title: ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFilters ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataOrderingItems: type: string enum: - tasks:agreement - tasks:annotations_results - tasks:annotators - tasks:cancelled_annotations - tasks:comments - tasks:completed_at - tasks:created_at - tasks:file_upload - tasks:ground_truth - tasks:id - tasks:inner_id - tasks:predictions_model_versions - tasks:predictions_results - tasks:predictions_score - tasks:reviewed - tasks:reviewers - tasks:reviews_accepted - tasks:reviews_rejected - tasks:total_annotations - tasks:total_predictions - tasks:unresolved_comment_count - tasks:updated_at title: ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataOrderingItems ApiDmViewsPostRequestBodyContentApplicationJsonSchemaData: type: object properties: filters: $ref: '#/components/schemas/ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataFilters' description: >- Filters to apply on tasks. You can use [the helper class `Filters` from this page](https://labelstud.io/sdk/data_manager.html) to create Data Manager Filters.
    Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}` ordering: type: array items: $ref: '#/components/schemas/ApiDmViewsPostRequestBodyContentApplicationJsonSchemaDataOrderingItems' description: >- List of fields to order by. Fields are similar to filters but without the `filter:` prefix. To reverse the order, add a minus sign before the field name, e.g. `-tasks:created_at`. description: Custom view data title: ApiDmViewsPostRequestBodyContentApplicationJsonSchemaData ViewOrderRequest: type: object properties: ids: type: array items: type: integer description: A list of view IDs in the desired order. project: type: integer required: - ids - project title: ViewOrderRequest views_update_order_Response_200: type: object properties: {} description: Empty response body title: views_update_order_Response_200 ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersConjunction: 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: ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersConjunction ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsFilter: 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:
  • `filter:tasks:agreement`
    (Number) Agreement for annotation results for a specific task (Enterprise only)

  • `filter:tasks:annotations_results`
    (String) Annotation results for the tasks

  • `filter:tasks:annotators`
    (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:cancelled_annotations`
    (Number) Number of cancelled or skipped annotations for the task

  • `filter:tasks:comments`
    (Number) Number of comments in a task

  • `filter:tasks:completed_at`
    (Datetime) Time when a task was fully annotated

  • `filter:tasks:created_at`
    (Datetime) Time the task was created at

  • `filter:tasks:file_upload`
    (String) Name of the file uploaded to create the tasks

  • `filter:tasks:ground_truth`
    (Boolean) Ground truth status of the tasks

  • `filter:tasks:id`
    (Number) Task ID

  • `filter:tasks:inner_id`
    (Number) Task Inner ID, it starts from 1 for all projects

  • `filter:tasks:predictions_model_versions`
    (String) Model version used for the predictions

  • `filter:tasks:predictions_results`
    (String) Prediction results for the tasks

  • `filter:tasks:predictions_score`
    (Number) Prediction score for the task

  • `filter:tasks:reviewed`
    (Boolean) Whether the tasks have been reviewed (Enterprise only)

  • `filter:tasks:reviewers`
    (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:reviews_accepted`
    (Number) Number of annotations accepted for a task in review (Enterprise only)

  • `filter:tasks:reviews_rejected`
    (Number) Number of annotations rejected for a task in review (Enterprise only)

  • `filter:tasks:total_annotations`
    (Number) Total number of annotations on a task

  • `filter:tasks:total_predictions`
    (Number) Total number of predictions for the task

  • `filter:tasks:unresolved_comment_count`
    (Number) Number of unresolved comments in a task

  • `filter:tasks:updated_at`
    (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)
  • title: ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsFilter ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsOperator: type: string enum: - contains - ends_with - equal - exists - greater - greater_or_equal - in - less - less_or_equal - not_contains - not_equal - not_exists - not_in - starts_with description: >- Filter operator. Possible values:
  • `contains`
    Contains

  • `ends_with`
    Ends with

  • `equal`
    Equal to

  • `exists`
    Exists

  • `greater`
    Greater than

  • `greater_or_equal`
    Greater than or equal to

  • `in`
    Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `less`
    Less than

  • `less_or_equal`
    Less than or equal to

  • `not_contains`
    Does not contain

  • `not_equal`
    Not equal to

  • `not_exists`
    Does not exist

  • `not_in`
    Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `starts_with`
    Starts with
  • title: ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsOperator ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsValue: oneOf: - type: string - type: integer - type: number format: double - type: boolean - type: object additionalProperties: description: Any type - type: object additionalProperties: description: Any type description: Value to filter by title: ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsValue ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItems: type: object properties: filter: $ref: '#/components/schemas/ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsFilter' 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:
  • `filter:tasks:agreement`
    (Number) Agreement for annotation results for a specific task (Enterprise only)

  • `filter:tasks:annotations_results`
    (String) Annotation results for the tasks

  • `filter:tasks:annotators`
    (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:cancelled_annotations`
    (Number) Number of cancelled or skipped annotations for the task

  • `filter:tasks:comments`
    (Number) Number of comments in a task

  • `filter:tasks:completed_at`
    (Datetime) Time when a task was fully annotated

  • `filter:tasks:created_at`
    (Datetime) Time the task was created at

  • `filter:tasks:file_upload`
    (String) Name of the file uploaded to create the tasks

  • `filter:tasks:ground_truth`
    (Boolean) Ground truth status of the tasks

  • `filter:tasks:id`
    (Number) Task ID

  • `filter:tasks:inner_id`
    (Number) Task Inner ID, it starts from 1 for all projects

  • `filter:tasks:predictions_model_versions`
    (String) Model version used for the predictions

  • `filter:tasks:predictions_results`
    (String) Prediction results for the tasks

  • `filter:tasks:predictions_score`
    (Number) Prediction score for the task

  • `filter:tasks:reviewed`
    (Boolean) Whether the tasks have been reviewed (Enterprise only)

  • `filter:tasks:reviewers`
    (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:reviews_accepted`
    (Number) Number of annotations accepted for a task in review (Enterprise only)

  • `filter:tasks:reviews_rejected`
    (Number) Number of annotations rejected for a task in review (Enterprise only)

  • `filter:tasks:total_annotations`
    (Number) Total number of annotations on a task

  • `filter:tasks:total_predictions`
    (Number) Total number of predictions for the task

  • `filter:tasks:unresolved_comment_count`
    (Number) Number of unresolved comments in a task

  • `filter:tasks:updated_at`
    (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)
  • operator: $ref: '#/components/schemas/ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsOperator' description: >- Filter operator. Possible values:
  • `contains`
    Contains

  • `ends_with`
    Ends with

  • `equal`
    Equal to

  • `exists`
    Exists

  • `greater`
    Greater than

  • `greater_or_equal`
    Greater than or equal to

  • `in`
    Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `less`
    Less than

  • `less_or_equal`
    Less than or equal to

  • `not_contains`
    Does not contain

  • `not_equal`
    Not equal to

  • `not_exists`
    Does not exist

  • `not_in`
    Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `starts_with`
    Starts with
  • type: type: string description: >- Type of the filter value. Possible values:
  • `Boolean`
    Boolean

  • `Datetime`
    Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format

  • `List`
    List of items

  • `Number`
    Float or Integer

  • `String`
    String

  • `Unknown`
    Unknown is explicitly converted to string format
  • value: $ref: '#/components/schemas/ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItemsValue' description: Value to filter by required: - filter - operator - type - value title: ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItems ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFilters: type: object properties: conjunction: $ref: '#/components/schemas/ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersConjunction' description: >- Logical conjunction for the filters. This conjunction (either "or" or "and") will be applied to all items in the filters list. It is not possible to combine "or" and "and" within one list of filters. All filters will be either combined with "or" or with "and", but not a mix of both. items: type: array items: $ref: '#/components/schemas/ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFiltersItemsItems' description: List of filter items required: - conjunction - items description: >- Filters to apply on tasks. You can use [the helper class `Filters` from this page](https://labelstud.io/sdk/data_manager.html) to create Data Manager Filters.
    Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}` title: ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFilters ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataOrderingItems: type: string enum: - tasks:agreement - tasks:annotations_results - tasks:annotators - tasks:cancelled_annotations - tasks:comments - tasks:completed_at - tasks:created_at - tasks:file_upload - tasks:ground_truth - tasks:id - tasks:inner_id - tasks:predictions_model_versions - tasks:predictions_results - tasks:predictions_score - tasks:reviewed - tasks:reviewers - tasks:reviews_accepted - tasks:reviews_rejected - tasks:total_annotations - tasks:total_predictions - tasks:unresolved_comment_count - tasks:updated_at title: ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataOrderingItems ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaData: type: object properties: filters: $ref: '#/components/schemas/ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataFilters' description: >- Filters to apply on tasks. You can use [the helper class `Filters` from this page](https://labelstud.io/sdk/data_manager.html) to create Data Manager Filters.
    Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}` ordering: type: array items: $ref: '#/components/schemas/ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaDataOrderingItems' description: >- List of fields to order by. Fields are similar to filters but without the `filter:` prefix. To reverse the order, add a minus sign before the field name, e.g. `-tasks:created_at`. description: Custom view data title: ApiDmViewsIdPatchRequestBodyContentApplicationJsonSchemaData StateBackfillJobItem: type: object properties: job_id: type: integer description: Database ID of the backfill job project_id: type: integer description: Project ID being backfilled rq_job_id: type: - string - 'null' description: Redis queue job ID required: - job_id - project_id title: StateBackfillJobItem StateBackfillResponse: type: object properties: jobs: type: array items: $ref: '#/components/schemas/StateBackfillJobItem' jobs_queued: type: integer description: Number of jobs queued message: type: string description: Status message organization_id: type: integer description: Organization ID projects_skipped: type: integer description: Number of projects skipped because they are already completed required: - jobs - jobs_queued - message - organization_id - projects_skipped title: StateBackfillResponse StateBackfillCancelResponse: type: object properties: cancelled_count: type: integer description: Number of jobs successfully cancelled message: type: string description: Cancellation status message required: - cancelled_count - message title: StateBackfillCancelResponse StateBackfillProgress: type: object properties: failed_projects: type: integer description: Projects that failed successful_projects: type: integer description: Projects completed successfully total_entities_processed: type: integer description: Total entities processed so far total_projects: type: integer description: Total projects involved title: StateBackfillProgress StateTriggeredBy: type: object properties: email: type: string first_name: type: - string - 'null' id: type: integer last_name: type: - string - 'null' required: - email - id title: StateTriggeredBy StateBackfillJobItemResponse: type: object properties: completed_at: type: - string - 'null' format: date-time created_at: type: string format: date-time error_message: type: - string - 'null' job_id: type: integer progress_data: oneOf: - $ref: '#/components/schemas/StateBackfillProgress' - type: 'null' rq_job_id: type: - string - 'null' started_at: type: - string - 'null' format: date-time status: type: string triggered_by: oneOf: - $ref: '#/components/schemas/StateTriggeredBy' - type: 'null' required: - created_at - job_id - status title: StateBackfillJobItemResponse StateBackfillJobListResponse: type: object properties: jobs: type: array items: $ref: '#/components/schemas/StateBackfillJobItemResponse' required: - jobs title: StateBackfillJobListResponse StateBackfillOrgStatus: type: object properties: completed_projects: type: integer failed_projects: type: integer pending_projects: type: integer running_projects: type: integer total_entities_processed: type: integer total_projects: type: integer description: Total projects in organization required: - completed_projects - failed_projects - pending_projects - running_projects - total_entities_processed - total_projects title: StateBackfillOrgStatus StateBackfillStatusResponse: type: object properties: completed_at: type: - string - 'null' format: date-time created_at: type: - string - 'null' format: date-time error_message: type: - string - 'null' job_id: type: integer description: Job ID (if fetching a specific job) org_status: $ref: '#/components/schemas/StateBackfillOrgStatus' description: Aggregated organization status progress: $ref: '#/components/schemas/StateBackfillProgress' rq_job_id: type: - string - 'null' rq_job_info: type: - object - 'null' additionalProperties: description: Any type started_at: type: - string - 'null' format: date-time status: type: string triggered_by: $ref: '#/components/schemas/StateTriggeredBy' title: StateBackfillStatusResponse TriggeredBy: type: object properties: email: type: string format: email id: type: integer required: - 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: TriggeredBy StateModel: type: object properties: context_data: description: Any type created_at: type: string format: date-time id: type: string format: uuid previous_state: type: - string - 'null' reason: type: - string - 'null' state: type: string transition_name: type: - string - 'null' triggered_by: oneOf: - $ref: '#/components/schemas/TriggeredBy' - type: 'null' required: - context_data - created_at - id - previous_state - reason - state - transition_name - triggered_by description: |- Serializer for FSM state models. Uses Serializer instead of ModelSerializer because BaseState is abstract. Works with any concrete state model that inherits from BaseState. title: StateModel PaginatedStateModelList: 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/StateModel' required: - count - results title: PaginatedStateModelList FSMTransitionExecuteRequestRequest: type: object properties: transition_data: type: - object - 'null' additionalProperties: description: Any type transition_name: type: string required: - transition_name description: Request body serializer for executing a manual FSM transition. title: FSMTransitionExecuteRequestRequest FSMTransitionExecuteResponse: type: object properties: new_state: type: - string - 'null' state_record: oneOf: - $ref: '#/components/schemas/StateModel' - type: 'null' success: type: boolean required: - new_state - state_record - success description: Response serializer for manual FSM transition execution. title: FSMTransitionExecuteResponse FileUpload: type: object properties: file: type: string id: type: integer size: type: - integer - 'null' required: - file - id - size title: FileUpload PatchedFileUploadRequest: type: object properties: file: type: string format: binary title: PatchedFileUploadRequest files_download_Response_200: type: object properties: {} description: Empty response body title: files_download_Response_200 BatchFailedPredictionsRequestRequest: type: object properties: failed_predictions: type: array items: description: Any type job_id: type: string modelrun_id: type: integer required: - failed_predictions - modelrun_id title: BatchFailedPredictionsRequestRequest BatchFailedPredictions: type: object properties: failed_predictions: type: array items: description: Any type job_id: type: string required: - failed_predictions - job_id title: BatchFailedPredictions BatchPredictionsRequestRequest: type: object properties: job_id: type: string modelrun_id: type: integer results: type: array items: description: Any type required: - modelrun_id - results title: BatchPredictionsRequestRequest BatchPredictions: type: object properties: job_id: type: string results: type: array items: description: Any type required: - job_id - results title: BatchPredictions ProjectSubsetTaskItem: type: object properties: data: type: object additionalProperties: description: Any type error: type: object additionalProperties: description: Any type ground_truth: type: object additionalProperties: description: Any type id: type: integer prediction: type: object additionalProperties: description: Any type score: type: - number - 'null' format: double required: - data title: ProjectSubsetTaskItem ProjectSubsetTasksResponse: type: object properties: next_cursor: type: - string - 'null' previous_cursor: type: - string - 'null' task_count: type: integer description: Present only when include_total=true task_result_list: type: array items: $ref: '#/components/schemas/ProjectSubsetTaskItem' required: - task_result_list title: ProjectSubsetTasksResponse PaginatedProjectSubsetTasksResponseList: 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/ProjectSubsetTasksResponse' required: - count - results title: PaginatedProjectSubsetTasksResponseList ProjectSubsetItem: type: object properties: columns_schema: type: array items: type: object additionalProperties: description: Any type count: type: integer subset: type: string required: - count - subset title: ProjectSubsetItem AssociatedProject: type: object properties: id: type: integer title: type: - string - 'null' description: Project name. Must be between 3 and 50 characters long. required: - 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: AssociatedProject UserSimple: type: object properties: avatar: type: string email: type: string format: email first_name: type: string id: type: integer last_name: type: string username: type: string required: - avatar - id - 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: UserSimple SkillNameEnum: type: string enum: - TextClassification - NamedEntityRecognition description: |- * `TextClassification` - TextClassification * `NamedEntityRecognition` - NamedEntityRecognition title: SkillNameEnum ModelInterfaceSerializerGET: type: object properties: associated_projects: type: array items: $ref: '#/components/schemas/AssociatedProject' best_score: type: - number - 'null' format: double created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' description: User who created Dataset description: type: - string - 'null' description: Model description id: type: integer input_fields: description: Any type organization: type: - integer - 'null' output_classes: description: Any type runs_count: type: integer default: 0 skill_name: $ref: '#/components/schemas/SkillNameEnum' title: type: string description: Model name updated_at: type: string format: date-time versions_count: type: integer default: 0 required: - best_score - created_at - id - runs_count - title - updated_at - versions_count title: ModelInterfaceSerializerGET PaginatedModelInterfaceSerializerGETList: 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/ModelInterfaceSerializerGET' required: - count - results title: PaginatedModelInterfaceSerializerGETList UserSimpleRequest: type: object properties: email: type: string format: email first_name: type: string last_name: type: string username: type: string required: - 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: UserSimpleRequest ModelInterfaceRequest: type: object properties: associated_projects: type: array items: type: integer created_by: $ref: '#/components/schemas/UserSimpleRequest' description: User who created Dataset description: type: - string - 'null' description: Model description input_fields: description: Any type organization: type: - integer - 'null' output_classes: description: Any type skill_name: $ref: '#/components/schemas/SkillNameEnum' title: type: string description: Model name required: - title title: ModelInterfaceRequest ModelInterface: type: object properties: associated_projects: type: array items: type: integer created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' description: User who created Dataset description: type: - string - 'null' description: Model description id: type: integer input_fields: description: Any type organization: type: - integer - 'null' output_classes: description: Any type skill_name: $ref: '#/components/schemas/SkillNameEnum' title: type: string description: Model name updated_at: type: string format: date-time required: - created_at - id - title - updated_at title: ModelInterface ApiPromptsCompatibleProjectsGetParametersProjectType: type: string enum: - NamedEntityRecognition - TextClassification default: TextClassification title: ApiPromptsCompatibleProjectsGetParametersProjectType AgreementMethodologyEnum: type: string enum: - consensus - pairwise description: |- * `consensus` - Consensus * `pairwise` - Pairwise Averaging title: AgreementMethodologyEnum LabelStreamTaskDistributionEnum: type: string enum: - auto_distribution - assigned_only description: |- * `auto_distribution` - Label Stream distributes tasks automatically to annotators * `assigned_only` - Label Stream shows tasks only to assigned users title: LabelStreamTaskDistributionEnum AssignmentSettings: type: object properties: id: type: integer label_stream_task_distribution: oneOf: - $ref: '#/components/schemas/LabelStreamTaskDistributionEnum' - type: 'null' description: |- Automatic / Manual * `auto_distribution` - Label Stream distributes tasks automatically to annotators * `assigned_only` - Label Stream shows tasks only to assigned users project: type: - integer - 'null' required: - id title: AssignmentSettings BlueprintList: type: object properties: created_at: type: string format: date-time description: type: - string - 'null' description: Project description id: type: integer share_id: type: string short_url: type: string task_count: type: string title: type: - string - 'null' description: Blueprint name. Must be between 3 and 50 characters long. required: - created_at - id - share_id - short_url - task_count title: BlueprintList ControlTagWeight: type: object properties: labels: type: object additionalProperties: type: number format: double description: Per-label weights (0.0 to 1.0). Zero excludes the label from agreement. overall: type: number format: double description: Overall weight for this control tag (0.0 to 1.0). Zero excludes the tag from agreement. type: type: string description: Control tag type from the labeling config (e.g. Choices, Labels, TextArea). required: - overall - type description: |- Weights configuration for a single control tag. Structure: {"overall": 0.5, "type": "Choices", "labels": {"cat": 1.0, "dog": 0.0}} title: ControlTagWeight RequeueRejectedTasksModeEnum: type: string enum: - requeue - remove - flexible description: |- * `requeue` - Requeue * `remove` - Remove * `flexible` - Flexible title: RequeueRejectedTasksModeEnum ReviewCriteriaEnum: type: string enum: - all - one description: |- * `all` - Task is reviewed if all annotations are reviewed * `one` - Task is reviewed if at least one annotation is reviewed title: ReviewCriteriaEnum ReviewSettingsSamplingEnum: type: string enum: - task_id - random description: |- * `task_id` - By Task ID * `random` - Random title: ReviewSettingsSamplingEnum ReviewSettings: type: object properties: anonymize_annotations: type: boolean description: Hide annotator names from annotations while review id: type: integer instruction: type: - string - 'null' description: Instructions only_finished_tasks: type: boolean description: Show only finished tasks in the review stream project: type: - integer - 'null' requeue_rejected_tasks_mode: oneOf: - $ref: '#/components/schemas/RequeueRejectedTasksModeEnum' - type: 'null' description: >- Remove rejected annotations from labeling queue / Requeue rejected annotations back to annotators / Allow reviewer to decide: Remove or Requeue * `requeue` - Requeue * `remove` - Remove * `flexible` - Flexible requeue_rejected_tasks_to_annotator: type: boolean require_comment_on_reject: type: boolean description: Reviewers must leave a comment on reject review_criteria: oneOf: - $ref: '#/components/schemas/ReviewCriteriaEnum' - type: 'null' description: |- Task is reviewed after at least one accepted annotation / Task is reviewed when all annotations are reviewed * `all` - Task is reviewed if all annotations are reviewed * `one` - Task is reviewed if at least one annotation is reviewed review_only_manual_assignments: type: boolean description: Show only manually assigned tasks in the review stream review_task_limit_percent: type: - string - 'null' format: decimal description: Task limit (%) sampling: oneOf: - $ref: '#/components/schemas/ReviewSettingsSamplingEnum' - type: 'null' description: |- By Task ID / Random * `task_id` - By Task ID * `random` - Random show_agreement_to_reviewers: type: boolean description: Show agreement to reviewers in the Data Manager show_data_manager_to_reviewers: type: boolean description: Show the Data Manager to reviewers show_instruction: type: boolean description: Show before reviewing show_unused_data_columns_to_reviewers: type: - boolean - 'null' description: Show unused task data columns to reviewers in the Data Manager required: - id - requeue_rejected_tasks_to_annotator title: ReviewSettings SamplingDe5Enum: type: string enum: - Sequential sampling - Uniform sampling - Uncertainty sampling description: |- * `Sequential sampling` - Tasks are ordered by Data manager ordering * `Uniform sampling` - Tasks are chosen randomly * `Uncertainty sampling` - Tasks are chosen according to model uncertainty scores (active learning mode) title: SamplingDe5Enum SkipQueueEnum: type: string enum: - REQUEUE_FOR_ME - REQUEUE_FOR_OTHERS - IGNORE_SKIPPED description: |- * `REQUEUE_FOR_ME` - Requeue for me * `REQUEUE_FOR_OTHERS` - Requeue for others * `IGNORE_SKIPPED` - Ignore skipped title: SkipQueueEnum AllRolesProjectList: type: object properties: agreement_methodology: $ref: '#/components/schemas/AgreementMethodologyEnum' description: |- Methodology (Consensus / Pairwise Averaging) * `consensus` - Consensus * `pairwise` - Pairwise Averaging agreement_threshold: type: - string - 'null' format: decimal description: Agreement threshold allow_stream: type: boolean annotation_limit_count: type: - integer - 'null' description: Limit by number of tasks annotation_limit_percent: type: - string - 'null' format: decimal description: Limit by percentage of tasks annotator_evaluation_continuous_tasks: type: integer default: 0 description: 'Continuous Evaluation: Required tasks' annotator_evaluation_enabled: type: boolean description: Evaluate all annotators against ground truth annotator_evaluation_minimum_score: type: - string - 'null' format: decimal default: '95.00' description: Score required to pass evaluation annotator_evaluation_minimum_tasks: type: - integer - 'null' default: 10 description: Number of tasks for evaluation annotator_evaluation_onboarding_tasks: type: integer default: 0 description: 'Onboarding Evaluation: Required tasks' assignment_settings: $ref: '#/components/schemas/AssignmentSettings' blueprints: type: array items: $ref: '#/components/schemas/BlueprintList' color: type: - string - 'null' description: Color comment_classification_config: type: string config_has_control_tags: type: boolean description: Flag to detect is project ready for labeling config_suitable_for_bulk_annotation: type: boolean description: Flag to detect is project ready for bulk annotation control_weights: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/ControlTagWeight' description: >- Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight. created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' description: Project owner custom_interface_code: type: - string - 'null' custom_interface_compiled: type: - string - 'null' custom_interface_params: oneOf: - description: Any type - type: 'null' custom_script: type: string description: Plugins custom_task_lock_ttl: type: - integer - 'null' description: Task reservation time. TTL in seconds (UI displays and edits this value in minutes). data_types: type: - object - 'null' additionalProperties: description: Any type description: type: - string - 'null' description: Description description_short: type: string duplication_done: type: boolean default: false duplication_status: type: string enable_empty_annotation: type: boolean description: Allow empty annotations evaluate_predictions_automatically: type: boolean description: Retrieve and display predictions when loading a task expert_instruction: type: - string - 'null' description: Instructions finished_task_number: type: integer ground_truth_number: type: integer description: Honeypot annotation number in project id: type: integer input_schema: oneOf: - description: Any type - type: 'null' is_dimensions_enabled: type: string is_draft: type: boolean description: Whether or not the project is in the middle of being created is_published: type: boolean description: Whether or not the project is published to annotators label_config: type: - string - 'null' description: Labeling Configuration max_additional_annotators_assignable: type: - integer - 'null' description: Maximum additional annotators maximum_annotations: type: integer description: Annotations per task members: type: string members_count: type: integer min_annotations_to_start_training: type: integer description: Minimum number of completed tasks after which model training is started model_version: type: - string - 'null' description: Machine learning model version num_tasks_with_annotations: type: - integer - 'null' organization: type: - integer - 'null' overlap_cohort_percentage: type: integer description: Annotations per task coverage parsed_label_config: type: object additionalProperties: description: Any type description: JSON-formatted labeling configuration pause_on_failed_annotator_evaluation: type: - boolean - 'null' default: false description: Pause annotator on failed evaluation pinned_at: type: - string - 'null' format: date-time description: Pinned date and time prompts: type: string queue_done: type: integer queue_left: type: integer queue_total: type: string ready: type: boolean rejected: type: integer require_comment_on_skip: type: boolean default: false description: Require comment to skip reveal_preannotations_interactively: type: boolean description: Reveal pre-annotations interactively review_settings: $ref: '#/components/schemas/ReviewSettings' review_total_tasks: type: integer reviewed_number: type: integer reviewer_queue_total: type: integer sampling: oneOf: - $ref: '#/components/schemas/SamplingDe5Enum' - type: 'null' show_annotation_history: type: boolean description: Show Data Manager to Annotators show_collab_predictions: type: boolean description: Use predictions to pre-label Tasks show_ground_truth_first: type: boolean description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream' show_instruction: type: boolean description: Show instructions before labeling show_overlap_first: type: boolean description: Show tasks with overlap first show_skip_button: type: boolean description: Allow skipping tasks show_unused_data_columns_to_annotators: type: - boolean - 'null' description: >- Show only columns used in labeling configuration to Annotators. API uses inverse field semantics here: set false to show only used columns, set true to show all task.data columns. skip_queue: oneOf: - $ref: '#/components/schemas/SkipQueueEnum' - type: 'null' skipped_annotations_number: type: string source_interface_id: type: - integer - 'null' source_interface_version: type: - integer - 'null' start_training_on_annotation_update: type: boolean description: Start model training after any annotations are submitted or updated state: type: string strict_task_overlap: type: boolean default: true description: Enforce strict overlap limit task_number: type: integer description: Total task number in project title: type: - string - 'null' description: Project Name total_annotations_number: type: string total_predictions_number: type: integer use_custom_interface: type: boolean default: false useful_annotation_number: type: - integer - 'null' workspace: type: string workspace_title: type: string required: - allow_stream - assignment_settings - blueprints - config_has_control_tags - config_suitable_for_bulk_annotation - created_at - data_types - description_short - finished_task_number - ground_truth_number - id - is_dimensions_enabled - members - members_count - num_tasks_with_annotations - parsed_label_config - prompts - queue_done - queue_left - queue_total - ready - rejected - review_settings - review_total_tasks - reviewed_number - reviewer_queue_total - skipped_annotations_number - start_training_on_annotation_update - state - task_number - total_annotations_number - total_predictions_number - useful_annotation_number - workspace - workspace_title description: |- Serializer get numbers from project queryset annotation, make sure, that you use correct one(Project.objects.with_counts()) title: AllRolesProjectList PaginatedAllRolesProjectListList: 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/AllRolesProjectList' required: - count - results title: PaginatedAllRolesProjectListList PatchedModelInterfaceRequest: type: object properties: associated_projects: type: array items: type: integer created_by: $ref: '#/components/schemas/UserSimpleRequest' description: User who created Dataset description: type: - string - 'null' description: Model description input_fields: description: Any type organization: type: - integer - 'null' output_classes: description: Any type skill_name: $ref: '#/components/schemas/SkillNameEnum' title: type: string description: Model name title: PatchedModelInterfaceRequest ApiInferenceRunsIdIndicatorsGetResponsesContentApplicationJsonSchemaItemsValues: type: object properties: {} title: ApiInferenceRunsIdIndicatorsGetResponsesContentApplicationJsonSchemaItemsValues ApiInferenceRunsIdIndicatorsGetResponsesContentApplicationJsonSchemaItems: type: object properties: title: type: string values: $ref: '#/components/schemas/ApiInferenceRunsIdIndicatorsGetResponsesContentApplicationJsonSchemaItemsValues' title: ApiInferenceRunsIdIndicatorsGetResponsesContentApplicationJsonSchemaItems LSEKeyIndicatorValue: type: object properties: title: type: string description: The title for this metric, to be displayed to the user values: type: object additionalProperties: description: Any type description: Dictionary of key-value pairs for the indicator values required: - title - values description: |- Key indicator value for Label Studio Enterprise. Attributes: title: The title for this metric, to be displayed to the user values: Dictionary of key-value pairs for the indicator values title: LSEKeyIndicatorValue prompts_versions_get_default_version_name_Response_200: type: object properties: {} description: Empty response body title: prompts_versions_get_default_version_name_Response_200 ProviderEnum: type: string enum: - OpenAI - AzureOpenAI - AzureAIFoundry - VertexAI - Gemini - Anthropic - Custom description: |- * `OpenAI` - OpenAI * `AzureOpenAI` - AzureOpenAI * `AzureAIFoundry` - AzureAIFoundry * `VertexAI` - VertexAI * `Gemini` - Gemini * `Anthropic` - Anthropic * `Custom` - Custom title: ProviderEnum ThirdPartyModelVersion: type: object properties: created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' description: User who created Dataset id: type: integer max_few_shot_examples: type: - integer - 'null' description: Max number of few-shot examples to include in prompts. 0 = disabled. model_display_name: type: string model_provider_connection: type: - integer - 'null' organization: type: - integer - 'null' parent_model: type: integer description: Parent model interface ID prompt: type: string description: Prompt to execute provider: $ref: '#/components/schemas/ProviderEnum' description: |- The model provider to use e.g. OpenAI * `OpenAI` - OpenAI * `AzureOpenAI` - AzureOpenAI * `AzureAIFoundry` - AzureAIFoundry * `VertexAI` - VertexAI * `Gemini` - Gemini * `Anthropic` - Anthropic * `Custom` - Custom provider_model_id: type: string description: The model ID to use within the given provider, e.g. gpt-3.5 score: type: string title: type: string description: Model name updated_at: type: string format: date-time required: - created_at - created_by - id - model_display_name - prompt - provider_model_id - score - title - updated_at title: ThirdPartyModelVersion ThirdPartyModelVersionRequest: type: object properties: max_few_shot_examples: type: - integer - 'null' description: Max number of few-shot examples to include in prompts. 0 = disabled. model_provider_connection: type: - integer - 'null' organization: type: - integer - 'null' parent_model: type: integer description: Parent model interface ID prompt: type: string description: Prompt to execute provider: $ref: '#/components/schemas/ProviderEnum' description: |- The model provider to use e.g. OpenAI * `OpenAI` - OpenAI * `AzureOpenAI` - AzureOpenAI * `AzureAIFoundry` - AzureAIFoundry * `VertexAI` - VertexAI * `Gemini` - Gemini * `Anthropic` - Anthropic * `Custom` - Custom provider_model_id: type: string description: The model ID to use within the given provider, e.g. gpt-3.5 title: type: string description: Model name required: - prompt - provider_model_id - title title: ThirdPartyModelVersionRequest PatchedThirdPartyModelVersionRequest: type: object properties: max_few_shot_examples: type: - integer - 'null' description: Max number of few-shot examples to include in prompts. 0 = disabled. model_provider_connection: type: - integer - 'null' organization: type: - integer - 'null' parent_model: type: integer description: Parent model interface ID prompt: type: string description: Prompt to execute provider: $ref: '#/components/schemas/ProviderEnum' description: |- The model provider to use e.g. OpenAI * `OpenAI` - OpenAI * `AzureOpenAI` - AzureOpenAI * `AzureAIFoundry` - AzureAIFoundry * `VertexAI` - VertexAI * `Gemini` - Gemini * `Anthropic` - Anthropic * `Custom` - Custom provider_model_id: type: string description: The model ID to use within the given provider, e.g. gpt-3.5 title: type: string description: Model name title: PatchedThirdPartyModelVersionRequest InferenceRunCostEstimate: type: object properties: completion_cost_usd: type: - string - 'null' description: Cost of the completion (in USD) error_message: type: - string - 'null' description: Error message details error_type: type: - string - 'null' description: Type of error (e.g. "Timeout", "Rate Limit", etc) is_error: type: - boolean - 'null' description: Whether an error occurred or not prompt_cost_usd: type: - string - 'null' description: Cost of the prompt (in USD) total_cost_usd: type: - string - 'null' description: Total cost of the inference (in USD) title: InferenceRunCostEstimate RefinedPromptResponse: type: object properties: previous_version: oneOf: - $ref: '#/components/schemas/ThirdPartyModelVersion' - type: 'null' description: Previous version of the prompt prompt: type: string description: The refined prompt text reasoning: type: - string - 'null' description: Reasoning behind the refinement refinement_job_id: type: - string - 'null' description: Unique identifier for the refinement job refinement_status: type: - string - 'null' description: Status of the refinement job title: type: - string - 'null' description: Title of the refined prompt total_cost: type: - string - 'null' description: Total cost of the refinement job (in USD) required: - previous_version - prompt - reasoning - refinement_job_id - refinement_status - title - total_cost title: RefinedPromptResponse RefinePromptRequestRequest: type: object properties: project_id: type: integer description: Project ID to target the refined prompt for teacher_model_name: type: string description: Name of the model to use to refine the prompt teacher_model_provider_connection_id: type: integer description: Model Provider Connection ID to use to refine the prompt required: - project_id - teacher_model_name - teacher_model_provider_connection_id title: RefinePromptRequestRequest ApiPromptsPromptIdVersionsVersionIdInferenceRunsGetParametersProjectSubset: type: string enum: - All - HasGT - Sample title: ApiPromptsPromptIdVersionsVersionIdInferenceRunsGetParametersProjectSubset ProjectSubsetEnum: type: string enum: - All - HasGT - Sample - Custom description: |- * `All` - All * `HasGT` - HasGT * `Sample` - Sample * `Custom` - Custom title: ProjectSubsetEnum ModelRunStatusEnum: type: string enum: - Pending - InProgress - Completed - Failed - Canceled description: |- * `Pending` - Pending * `InProgress` - InProgress * `Completed` - Completed * `Failed` - Failed * `Canceled` - Canceled title: ModelRunStatusEnum ModelRun: type: object properties: completed_at: type: - string - 'null' format: date-time created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' filters_json: oneOf: - description: Any type - type: 'null' description: DM filter group for Filtered subset. Stored for display/re-run purposes. id: type: integer job_id: type: - string - 'null' description: Job ID for inference job for a ModelRun e.g. Adala job ID organization: type: - integer - 'null' parent_model: type: integer predictions_updated_at: type: - string - 'null' format: date-time project: type: integer project_subset: $ref: '#/components/schemas/ProjectSubsetEnum' sample_subset_size: type: - integer - 'null' description: Custom sample size for Sample subset. Uses PROMPTER_SAMPLE_SUBSET_SIZE if not set. source_model_run: type: - integer - 'null' status: $ref: '#/components/schemas/ModelRunStatusEnum' task_ids: oneOf: - description: Any type - type: 'null' description: List of task IDs for Custom subset re-evaluation. total_correct_predictions: type: - integer - 'null' total_predictions: type: - integer - 'null' total_tasks: type: - integer - 'null' triggered_at: type: - string - 'null' format: date-time required: - completed_at - created_at - created_by - id - parent_model - project - source_model_run - status - task_ids - triggered_at title: ModelRun ModelRunRequest: type: object properties: filters_json: oneOf: - description: Any type - type: 'null' description: DM filter group for Filtered subset. Stored for display/re-run purposes. job_id: type: - string - 'null' description: Job ID for inference job for a ModelRun e.g. Adala job ID only_missing_predictions: type: boolean default: false description: When true, only tasks without successful predictions for this prompt version are submitted for inference. organization: type: - integer - 'null' predictions_updated_at: type: - string - 'null' format: date-time project: type: integer project_subset: $ref: '#/components/schemas/ProjectSubsetEnum' sample_subset_size: type: - integer - 'null' description: Custom sample size for Sample subset. Uses PROMPTER_SAMPLE_SUBSET_SIZE if not set. total_correct_predictions: type: - integer - 'null' total_predictions: type: - integer - 'null' total_tasks: type: - integer - 'null' required: - project title: ModelRunRequest CancelModelRunResponse: type: object properties: detail: type: string required: - detail title: CancelModelRunResponse OrganizationInvite: type: object properties: invite_url: type: string token: type: string title: OrganizationInvite OrganizationId: type: object properties: contact_info: type: - string - 'null' format: email created_at: type: string format: date-time id: type: integer title: type: string required: - created_at - id - title description: |- A serializer mixin that takes an additional `fields` argument that controls which fields should be displayed. title: OrganizationId OrganizationBilling: type: object properties: enforce_session_concurrency: type: string manual_role_management: type: string manual_workspace_management: type: string max_parallel_sessions: type: string session_concurrency_window_seconds: type: string required: - enforce_session_concurrency - manual_role_management - manual_workspace_management - max_parallel_sessions - session_concurrency_window_seconds title: OrganizationBilling Role9e7Enum: type: string enum: - OW - AD - MA - RE - AN - DI - 'NO' description: |- * `OW` - Owner * `AD` - Administrator * `MA` - Manager * `RE` - Reviewer * `AN` - Annotator * `DI` - Deactivated * `NO` - Not Activated title: Role9e7Enum LseOrganization: type: object properties: billing: $ref: '#/components/schemas/OrganizationBilling' created_at: type: string format: date-time custom_scripts_enabled: type: string default_role: $ref: '#/components/schemas/Role9e7Enum' description: |- Default membership role for invited users * `OW` - Owner * `AD` - Administrator * `MA` - Manager * `RE` - Reviewer * `AN` - Annotator * `DI` - Deactivated * `NO` - Not Activated email_notification_settings: type: string embed_domains: oneOf: - description: Any type - type: 'null' description: 'List of objects: {"domain": "example.com"}. Used for CSP header on /embed routes.' embed_settings: oneOf: - description: Any type - type: 'null' description: Embed settings for this organization external_id: type: - string - 'null' description: External ID to uniquely identify this organization id: type: integer react_code_settings: type: string title: type: string token: type: string required: - billing - created_at - custom_scripts_enabled - email_notification_settings - id - react_code_settings - title - token title: LseOrganization PatchedLseOrganizationSerializerUpdateRequest: type: object properties: contact_info: type: - string - 'null' format: email created_by: type: - integer - 'null' custom_scripts_enabled: type: - boolean - 'null' description: Plugins email_notification_settings: oneOf: - description: Any type - type: 'null' description: Email Notification Settings embed_domains: type: - array - 'null' items: type: object additionalProperties: type: string description: Supported domains embed_settings: oneOf: - description: Any type - type: 'null' description: Public Verification Key and Public Verification Algorithms configuration react_code_settings: oneOf: - description: Any type - type: 'null' description: ReactCode settings title: type: - string - 'null' description: Organization name token: type: - string - 'null' description: |- A serializer mixin that takes an additional `fields` argument that controls which fields should be displayed. title: PatchedLseOrganizationSerializerUpdateRequest PatchedDefaultRoleRequest: type: object properties: annotator_reviewer_firewall_enabled_at: type: - string - 'null' format: date-time description: >- Set to current time to restrict data sharing between annotators and reviewers in the label stream, review stream, and notifications (which will be disabled). In these settings, information about annotator and reviewer identity is suppressed in the UI. custom_interfaces_enabled: type: - boolean - 'null' description: >- Enable custom interfaces for this organization. When disabled, projects with use_custom_interface=True will not render custom interfaces anywhere in the product (label stream, embed, data manager, interfaces dashboard). custom_scripts_enabled_at: type: - string - 'null' format: date-time description: >- Set to current time to enable custom scripts (Plugins) for this organization. Can only be enabled if no organization members are active members of any other organizations; otherwise an error will be raised. If this occurs, contact the LEAP team for assistance with enabling custom scripts (Plugins). default_role: $ref: '#/components/schemas/Role9e7Enum' description: |- Default membership role for invited users * `OW` - Owner * `AD` - Administrator * `MA` - Manager * `RE` - Reviewer * `AN` - Annotator * `DI` - Deactivated * `NO` - Not Activated email_notification_settings: oneOf: - description: Any type - type: 'null' description: >- Email notification settings for this organization. Controls which email notifications users can receive. Structure: {"notifications_allowed": {"notification_type": bool}} embed_domains: oneOf: - description: Any type - type: 'null' description: 'List of objects: {"domain": "example.com"}. Used for CSP header on /embed routes.' embed_enabled: type: - boolean - 'null' description: Enable embed functionality for this organization embed_settings: oneOf: - description: Any type - type: 'null' description: Embed settings for this organization external_id: type: - string - 'null' description: External ID to uniquely identify this organization extra_data_on_activity_logs: type: boolean interface_settings: oneOf: - description: Any type - type: 'null' description: 'Security settings for custom interfaces: CSP allowlists, script origins, iframe permissions.' label_stream_navigation_disabled_at: type: - string - 'null' format: date-time description: >- Set to current time to disable the label stream navigation for this organization. This will prevent users from going back in the label stream to view previous labels. organization: type: integer description: A unique integer value identifying this organization. react_code_settings: oneOf: - description: Any type - type: 'null' description: >- ReactCode tag security settings. Structure: {"mode": "disabled"|"src_only"|"everything", "allowed_origins": ["https://..."], "allowed_permissions": ["camera", ...]} read_only_quick_view_enabled_at: type: - string - 'null' format: date-time description: Set to current time to prevent creating or editing annotations in quick view. title: PatchedDefaultRoleRequest DefaultRole: type: object properties: annotator_reviewer_firewall_enabled_at: type: - string - 'null' format: date-time description: >- Set to current time to restrict data sharing between annotators and reviewers in the label stream, review stream, and notifications (which will be disabled). In these settings, information about annotator and reviewer identity is suppressed in the UI. custom_interfaces_enabled: type: - boolean - 'null' description: >- Enable custom interfaces for this organization. When disabled, projects with use_custom_interface=True will not render custom interfaces anywhere in the product (label stream, embed, data manager, interfaces dashboard). custom_scripts_enabled_at: type: - string - 'null' format: date-time description: >- Set to current time to enable custom scripts (Plugins) for this organization. Can only be enabled if no organization members are active members of any other organizations; otherwise an error will be raised. If this occurs, contact the LEAP team for assistance with enabling custom scripts (Plugins). default_role: $ref: '#/components/schemas/Role9e7Enum' description: |- Default membership role for invited users * `OW` - Owner * `AD` - Administrator * `MA` - Manager * `RE` - Reviewer * `AN` - Annotator * `DI` - Deactivated * `NO` - Not Activated email_notification_settings: oneOf: - description: Any type - type: 'null' description: >- Email notification settings for this organization. Controls which email notifications users can receive. Structure: {"notifications_allowed": {"notification_type": bool}} embed_domains: oneOf: - description: Any type - type: 'null' description: 'List of objects: {"domain": "example.com"}. Used for CSP header on /embed routes.' embed_enabled: type: - boolean - 'null' description: Enable embed functionality for this organization embed_settings: oneOf: - description: Any type - type: 'null' description: Embed settings for this organization external_id: type: - string - 'null' description: External ID to uniquely identify this organization extra_data_on_activity_logs: type: boolean interface_settings: oneOf: - description: Any type - type: 'null' description: 'Security settings for custom interfaces: CSP allowlists, script origins, iframe permissions.' label_stream_navigation_disabled_at: type: - string - 'null' format: date-time description: >- Set to current time to disable the label stream navigation for this organization. This will prevent users from going back in the label stream to view previous labels. organization: type: integer description: A unique integer value identifying this organization. react_code_settings: oneOf: - description: Any type - type: 'null' description: >- ReactCode tag security settings. Structure: {"mode": "disabled"|"src_only"|"everything", "allowed_origins": ["https://..."], "allowed_permissions": ["camera", ...]} read_only_quick_view_enabled_at: type: - string - 'null' format: date-time description: Set to current time to prevent creating or editing annotations in quick view. required: - organization title: DefaultRole RevokeInviteRequest: type: object properties: email: type: string description: Email address required: - email title: RevokeInviteRequest organizations_invites_revoke_invite_Response_200: type: object properties: {} description: Empty response body title: organizations_invites_revoke_invite_Response_200 SendInviteRequest: type: object properties: emails: type: array items: type: string description: Email addresses projects: type: array items: type: integer description: Project IDs to grant access to role: $ref: '#/components/schemas/Role9e7Enum' description: |- Organization role * `OW` - Owner * `AD` - Administrator * `MA` - Manager * `RE` - Reviewer * `AN` - Annotator * `DI` - Deactivated * `NO` - Not Activated workspaces: type: array items: type: integer description: Workspace IDs to grant access to required: - emails - role title: SendInviteRequest organizations_invites_send_email_Response_200: type: object properties: {} description: Empty response body title: organizations_invites_send_email_Response_200 OrganizationMemberTag: type: object properties: created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' id: type: integer label: type: string description: Label member_count: type: integer organization: type: integer updated_at: type: string format: date-time required: - created_at - created_by - id - label - member_count - organization - updated_at title: OrganizationMemberTag PaginatedOrganizationMemberTagList: 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/OrganizationMemberTag' required: - count - results title: PaginatedOrganizationMemberTagList OrganizationMemberTagRequest: type: object properties: label: type: string description: Label required: - label title: OrganizationMemberTagRequest BulkOrganizationMemberTagAssignmentRequest: type: object properties: all: type: boolean description: If true, assign tags to all organization members. If false, assign tags to the provided users. excluded: type: array items: type: integer description: List of user IDs to exclude from the assignment. included: type: array items: type: integer description: List of user IDs to include in the assignment. overwrite: type: boolean default: false description: >- If true, replace all existing tag assignments for each user with the provided ones. If false, only add new assignments. tags: type: array items: type: integer description: List of tag IDs to assign. required: - all title: BulkOrganizationMemberTagAssignmentRequest organizations_member_tags_assign_Response_200: type: object properties: assigned: type: integer title: organizations_member_tags_assign_Response_200 OrganizationMemberTagImportCreateRequest: type: object properties: bulk_tags: type: string file: type: string format: binary required: - bulk_tags - file title: OrganizationMemberTagImportCreateRequest organizations_member_tags_import_Response_201: type: object properties: import: type: integer description: The ID of the created import job title: organizations_member_tags_import_Response_201 OrganizationMemberTagImportStatusStatusEnum: type: string enum: - created - in_progress - completed - failed description: |- * `created` - Created * `in_progress` - In Progress * `completed` - Completed * `failed` - Failed title: OrganizationMemberTagImportStatusStatusEnum OrganizationMemberTagImportStatus: type: object properties: assignments_created: type: integer created_at: type: string format: date-time finished_at: type: - string - 'null' format: date-time id: type: integer status: $ref: '#/components/schemas/OrganizationMemberTagImportStatusStatusEnum' tags_created: type: integer users_skipped: description: Any type required: - created_at - id description: Serializer for the status of a member tag import job. title: OrganizationMemberTagImportStatus PatchedOrganizationMemberTagRequest: type: object properties: label: type: string description: Label title: PatchedOrganizationMemberTagRequest OrganizationMemberTagBulkCreateRequest: type: object properties: labels: type: array items: type: string description: List of tag labels to create. required: - labels description: Serializer for bulk create of organization member tags. title: OrganizationMemberTagBulkCreateRequest organizations_member_tags_bulk_post_Response_201: type: object properties: created: type: integer title: organizations_member_tags_bulk_post_Response_201 organizations_member_tags_bulk_delete_Response_200: type: object properties: deleted: type: integer title: organizations_member_tags_bulk_delete_Response_200 ApiOrganizationsIdMembershipsGetParametersScope: type: string enum: - accessible - all title: ApiOrganizationsIdMembershipsGetParametersScope LseOrganizationMemberListContributedToProjectsItems: type: object properties: id: type: integer title: type: string required: - id - title title: LseOrganizationMemberListContributedToProjectsItems LseOrganizationMemberListCreatedProjectsItems: type: object properties: id: type: integer title: type: string required: - id - title title: LseOrganizationMemberListCreatedProjectsItems SimpleOrganizationMemberTag: type: object properties: id: type: integer label: type: string required: - id - label title: SimpleOrganizationMemberTag LseUserOrganizationMemberListContributedToProjectsItems: type: object properties: id: type: integer title: type: string required: - id - title title: LseUserOrganizationMemberListContributedToProjectsItems LseUserOrganizationMemberListCreatedProjectsItems: type: object properties: id: type: integer title: type: string required: - id - title title: LseUserOrganizationMemberListCreatedProjectsItems LseUserOrganizationMemberList: type: object properties: active_organization: type: - integer - 'null' allow_newsletters: type: - boolean - 'null' description: Allow sending newsletters to user avatar: type: string contributed_to_projects: type: - array - 'null' items: $ref: '#/components/schemas/LseUserOrganizationMemberListContributedToProjectsItems' created_projects: type: - array - 'null' items: $ref: '#/components/schemas/LseUserOrganizationMemberListCreatedProjectsItems' 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' pause: type: string phone: type: string username: type: string required: - avatar - contributed_to_projects - created_projects - id - initials - last_activity - lse_fields - 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: LseUserOrganizationMemberList LseOrganizationMemberList: type: object properties: concurrency: type: string contributed_to_projects: type: - array - 'null' items: $ref: '#/components/schemas/LseOrganizationMemberListContributedToProjectsItems' created_projects: type: - array - 'null' items: $ref: '#/components/schemas/LseOrganizationMemberListCreatedProjectsItems' id: type: integer organization: type: integer description: Organization ID role: type: string role_source: type: string tags: type: array items: $ref: '#/components/schemas/SimpleOrganizationMemberTag' user: $ref: '#/components/schemas/LseUserOrganizationMemberList' user_type: type: string required: - concurrency - contributed_to_projects - created_projects - id - organization - role - role_source - tags - user - user_type description: |- A serializer mixin that takes an additional `fields` argument that controls which fields should be displayed. title: LseOrganizationMemberList PaginatedLseOrganizationMemberListList: 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/LseOrganizationMemberList' required: - count - results title: PaginatedLseOrganizationMemberListList PatchedOrganizationMemberCreateUpdateRequest: type: object properties: role: $ref: '#/components/schemas/Role9e7Enum' description: |- Organization role * `OW` - Owner * `AD` - Administrator * `MA` - Manager * `RE` - Reviewer * `AN` - Annotator * `DI` - Deactivated * `NO` - Not Activated user_id: type: integer description: Member title: PatchedOrganizationMemberCreateUpdateRequest OrganizationMemberContributedToProjectsItems: type: object properties: id: type: integer title: type: string required: - id - title title: OrganizationMemberContributedToProjectsItems OrganizationMemberCreatedProjectsItems: type: object properties: id: type: integer title: type: string required: - id - title title: OrganizationMemberCreatedProjectsItems OrganizationMember: type: object properties: annotations_count: type: integer contributed_projects_count: type: integer contributed_to_projects: type: - array - 'null' items: $ref: '#/components/schemas/OrganizationMemberContributedToProjectsItems' created_at: type: string format: date-time created_projects: type: - array - 'null' items: $ref: '#/components/schemas/OrganizationMemberCreatedProjectsItems' organization: type: integer description: Organization ID user: type: integer description: User ID required: - annotations_count - contributed_projects_count - contributed_to_projects - created_at - created_projects - organization - user description: |- A serializer mixin that takes an additional `fields` argument that controls which fields should be displayed. title: OrganizationMember Default165Enum: type: string enum: - OW - AD - MA - RE - AN - DI - 'NO' title: Default165Enum Options165Enum: type: string enum: - OW - AD - MA - RE - AN - DI - 'NO' title: Options165Enum OrganizationPermission: type: object properties: default: type: array items: $ref: '#/components/schemas/Default165Enum' group: type: - string - 'null' id: type: integer label: type: - string - 'null' options: type: array items: $ref: '#/components/schemas/Options165Enum' organization: type: integer permission: type: string roles: type: array items: $ref: '#/components/schemas/Role9e7Enum' description: Organization roles tooltip: type: - string - 'null' required: - default - group - id - label - options - organization - permission - tooltip title: OrganizationPermission OrganizationPermissionRequest: type: object properties: permission: type: string roles: type: array items: $ref: '#/components/schemas/Role9e7Enum' description: Organization roles required: - permission title: OrganizationPermissionRequest ConfigurablePermissionOption: type: object properties: default: type: array items: $ref: '#/components/schemas/Role9e7Enum' group: type: string label: type: string options: type: array items: $ref: '#/components/schemas/Role9e7Enum' permission: type: string tooltip: type: string required: - default - options - permission title: ConfigurablePermissionOption PatchedOrganizationPermissionRequest: type: object properties: permission: type: string roles: type: array items: $ref: '#/components/schemas/Role9e7Enum' description: Organization roles title: PatchedOrganizationPermissionRequest LSEJWTSettings: type: object properties: api_token_ttl_days: type: integer api_tokens_enabled: type: boolean description: Enable JWT API token authentication for this organization legacy_api_tokens_enabled: type: boolean description: Enable legacy API token authentication for this organization required: - api_token_ttl_days title: LSEJWTSettings LSEJWTSettingsRequest: type: object properties: api_token_ttl_days: type: integer api_tokens_enabled: type: boolean description: Enable JWT API token authentication for this organization legacy_api_tokens_enabled: type: boolean description: Enable legacy API token authentication for this organization required: - api_token_ttl_days title: LSEJWTSettingsRequest ControlTagWeightRequest: type: object properties: labels: type: object additionalProperties: type: number format: double description: Per-label weights (0.0 to 1.0). Zero excludes the label from agreement. overall: type: number format: double description: Overall weight for this control tag (0.0 to 1.0). Zero excludes the tag from agreement. type: type: string description: Control tag type from the labeling config (e.g. Choices, Labels, TextArea). required: - overall - type description: |- Weights configuration for a single control tag. Structure: {"overall": 0.5, "type": "Choices", "labels": {"cat": 1.0, "dog": 0.0}} title: ControlTagWeightRequest LseProjectCreateRequest: type: object properties: annotator_evaluation_enabled: type: boolean description: Enable annotator evaluation for the project color: type: - string - 'null' control_weights: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/ControlTagWeightRequest' description: >- Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight. created_by: $ref: '#/components/schemas/UserSimpleRequest' description: Project owner custom_interface_code: type: - string - 'null' custom_interface_compiled: type: - string - 'null' custom_interface_params: oneOf: - description: Any type - type: 'null' description: type: - string - 'null' description: Project Description enable_empty_annotation: type: boolean description: Allow annotators to submit empty annotations evaluate_predictions_automatically: type: boolean description: Retrieve and display predictions when loading a task expert_instruction: type: - string - 'null' description: Labeling instructions in HTML format input_schema: oneOf: - description: Any type - type: 'null' is_draft: type: boolean description: Whether or not the project is in the middle of being created is_published: type: boolean description: Whether or not the project is published to annotators label_config: type: - string - 'null' description: Label config in XML format. See more about it in documentation maximum_annotations: type: integer description: >- Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True) min_annotations_to_start_training: type: integer description: Minimum number of completed tasks after which model training is started model_version: type: - string - 'null' description: Machine learning model version organization: type: - integer - 'null' overlap_cohort_percentage: type: integer pinned_at: type: - string - 'null' format: date-time description: Pinned date and time reveal_preannotations_interactively: type: boolean description: Reveal pre-annotations interactively sampling: oneOf: - $ref: '#/components/schemas/SamplingDe5Enum' - type: 'null' show_annotation_history: type: boolean description: Show annotation history to annotator show_collab_predictions: type: boolean description: If set, the annotator can view model predictions show_ground_truth_first: type: boolean description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream' show_instruction: type: boolean description: Show instructions to the annotator before they start show_overlap_first: type: boolean show_skip_button: type: boolean description: Show a skip button in interface and allow annotators to skip the task skip_queue: oneOf: - $ref: '#/components/schemas/SkipQueueEnum' - type: 'null' source_interface_id: type: - integer - 'null' source_interface_version: type: - integer - 'null' task_data_login: type: - string - 'null' description: 'Task data credentials: login' task_data_password: type: - string - 'null' description: 'Task data credentials: password' title: type: - string - 'null' description: Project Title use_custom_interface: type: boolean default: false workspace: type: integer description: In Workspace description: |- Serializer get numbers from project queryset annotation, make sure, that you use correct one(Project.objects.with_counts()) title: LseProjectCreateRequest LseProjectCreate: type: object properties: annotator_evaluation_enabled: type: boolean description: Enable annotator evaluation for the project color: type: - string - 'null' config_has_control_tags: type: boolean description: Flag to detect is project ready for labeling config_suitable_for_bulk_annotation: type: boolean description: Flag to detect is project ready for bulk annotation control_weights: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/ControlTagWeight' description: >- Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight. created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' description: Project owner custom_interface_code: type: - string - 'null' custom_interface_compiled: type: - string - 'null' custom_interface_params: oneOf: - description: Any type - type: 'null' description: type: - string - 'null' description: Project Description enable_empty_annotation: type: boolean description: Allow annotators to submit empty annotations evaluate_predictions_automatically: type: boolean description: Retrieve and display predictions when loading a task expert_instruction: type: - string - 'null' description: Labeling instructions in HTML format finished_task_number: type: integer description: Finished tasks ground_truth_number: type: integer description: Honeypot annotation number in project id: type: integer input_schema: oneOf: - description: Any type - type: 'null' is_draft: type: boolean description: Whether or not the project is in the middle of being created is_published: type: boolean description: Whether or not the project is published to annotators label_config: type: - string - 'null' description: Label config in XML format. See more about it in documentation maximum_annotations: type: integer description: >- Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True) min_annotations_to_start_training: type: integer description: Minimum number of completed tasks after which model training is started model_version: type: - string - 'null' description: Machine learning model version num_tasks_with_annotations: type: integer description: Tasks with annotations count organization: type: - integer - 'null' overlap_cohort_percentage: type: integer parsed_label_config: type: object additionalProperties: description: Any type description: JSON-formatted labeling configuration pinned_at: type: - string - 'null' format: date-time description: Pinned date and time queue_done: type: integer queue_total: type: integer reveal_preannotations_interactively: type: boolean description: Reveal pre-annotations interactively sampling: oneOf: - $ref: '#/components/schemas/SamplingDe5Enum' - type: 'null' show_annotation_history: type: boolean description: Show annotation history to annotator show_collab_predictions: type: boolean description: If set, the annotator can view model predictions show_ground_truth_first: type: boolean description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream' show_instruction: type: boolean description: Show instructions to the annotator before they start show_overlap_first: type: boolean show_skip_button: type: boolean description: Show a skip button in interface and allow annotators to skip the task skip_queue: oneOf: - $ref: '#/components/schemas/SkipQueueEnum' - type: 'null' skipped_annotations_number: type: integer description: Skipped by collaborators annotation number in project source_interface_id: type: - integer - 'null' source_interface_version: type: - integer - 'null' start_training_on_annotation_update: type: boolean description: Start model training after any annotations are submitted or updated state: type: string task_data_login: type: - string - 'null' description: 'Task data credentials: login' task_data_password: type: - string - 'null' description: 'Task data credentials: password' task_number: type: integer description: Total task number in project title: type: - string - 'null' description: Project Title total_annotations_number: type: integer description: Total annotations number in project including skipped_annotations_number and ground_truth_number. total_predictions_number: type: integer description: >- Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number. use_custom_interface: type: boolean default: false useful_annotation_number: type: integer description: >- Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number workspace: type: integer description: In Workspace required: - config_has_control_tags - config_suitable_for_bulk_annotation - created_at - finished_task_number - ground_truth_number - id - num_tasks_with_annotations - parsed_label_config - queue_done - queue_total - skipped_annotations_number - start_training_on_annotation_update - state - task_number - total_annotations_number - total_predictions_number - useful_annotation_number description: |- Serializer get numbers from project queryset annotation, make sure, that you use correct one(Project.objects.with_counts()) title: LseProjectCreate LseProjectCounts: type: object properties: finished_task_number: type: integer ground_truth_number: type: integer description: Honeypot annotation number in project id: type: integer num_tasks_with_annotations: type: - integer - 'null' queue_done: type: integer queue_left: type: integer queue_total: type: string rejected: type: integer review_total_tasks: type: integer reviewed_number: type: integer skipped_annotations_number: type: string task_number: type: integer description: Total task number in project total_annotations_number: type: string total_predictions_number: type: integer useful_annotation_number: type: - integer - 'null' required: - finished_task_number - ground_truth_number - id - num_tasks_with_annotations - queue_done - queue_left - queue_total - rejected - review_total_tasks - reviewed_number - skipped_annotations_number - task_number - total_annotations_number - total_predictions_number - useful_annotation_number description: |- Serializer get numbers from project queryset annotation, make sure, that you use correct one(Project.objects.with_counts()) title: LseProjectCounts PaginatedLseProjectCountsList: 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/LseProjectCounts' required: - count - results title: PaginatedLseProjectCountsList LseProjectResponse: type: object properties: agreement_methodology: $ref: '#/components/schemas/AgreementMethodologyEnum' description: |- Methodology (Consensus / Pairwise Averaging) * `consensus` - Consensus * `pairwise` - Pairwise Averaging agreement_threshold: type: - string - 'null' format: decimal description: Agreement threshold allow_stream: type: boolean annotation_limit_count: type: - integer - 'null' description: Limit by number of tasks annotation_limit_percent: type: - string - 'null' format: decimal description: Limit by percentage of tasks annotator_evaluation_continuous_tasks: type: integer default: 0 description: 'Continuous Evaluation: Required tasks' annotator_evaluation_enabled: type: boolean description: Evaluate all annotators against ground truth annotator_evaluation_minimum_score: type: - string - 'null' format: decimal default: '95.00' description: Score required to pass evaluation annotator_evaluation_minimum_tasks: type: - integer - 'null' default: 10 description: Number of tasks for evaluation annotator_evaluation_onboarding_tasks: type: integer default: 0 description: 'Onboarding Evaluation: Required tasks' assignment_settings: $ref: '#/components/schemas/AssignmentSettings' color: type: - string - 'null' description: Color comment_classification_config: type: string config_has_control_tags: type: boolean description: Flag to detect is project ready for labeling config_suitable_for_bulk_annotation: type: boolean description: Flag to detect is project ready for bulk annotation control_weights: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/ControlTagWeight' description: >- Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight. created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' description: Project owner custom_interface_code: type: - string - 'null' custom_interface_compiled: type: - string - 'null' custom_interface_params: oneOf: - description: Any type - type: 'null' custom_script: type: string description: Plugins custom_task_lock_ttl: type: - integer - 'null' description: Task reservation time. TTL in seconds (UI displays and edits this value in minutes). data_types: type: - object - 'null' additionalProperties: description: Any type description: type: - string - 'null' description: Description duplication_done: type: boolean default: false duplication_status: type: string enable_empty_annotation: type: boolean description: Allow empty annotations evaluate_predictions_automatically: type: boolean description: Retrieve and display predictions when loading a task expert_instruction: type: - string - 'null' description: Instructions finished_task_number: type: integer description: Finished tasks ground_truth_number: type: integer description: Honeypot annotation number in project id: type: integer input_schema: oneOf: - description: Any type - type: 'null' is_dimensions_enabled: type: string is_draft: type: boolean description: Whether or not the project is in the middle of being created is_published: type: boolean description: Whether or not the project is published to annotators label_config: type: - string - 'null' description: Labeling Configuration max_additional_annotators_assignable: type: - integer - 'null' description: Maximum additional annotators maximum_annotations: type: integer description: Annotations per task members: type: string members_count: type: integer min_annotations_to_start_training: type: integer description: Minimum number of completed tasks after which model training is started model_version: type: - string - 'null' description: Machine learning model version num_tasks_with_annotations: type: integer organization: type: - integer - 'null' overlap_cohort_percentage: type: integer description: Annotations per task coverage parsed_label_config: type: object additionalProperties: description: Any type description: JSON-formatted labeling configuration pause_on_failed_annotator_evaluation: type: - boolean - 'null' default: false description: Pause annotator on failed evaluation pinned_at: type: - string - 'null' format: date-time description: Pinned date and time prompts: type: string queue_done: type: integer queue_left: type: integer queue_total: type: integer ready: type: boolean rejected: type: integer require_comment_on_skip: type: boolean default: false description: Require comment to skip reveal_preannotations_interactively: type: boolean description: Reveal pre-annotations interactively review_settings: $ref: '#/components/schemas/ReviewSettings' review_total_tasks: type: integer reviewed_number: type: integer reviewer_queue_total: type: integer sampling: oneOf: - $ref: '#/components/schemas/SamplingDe5Enum' - type: 'null' show_annotation_history: type: boolean description: Show Data Manager to Annotators show_collab_predictions: type: boolean description: Use predictions to pre-label Tasks show_ground_truth_first: type: boolean description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream' show_instruction: type: boolean description: Show instructions before labeling show_overlap_first: type: boolean description: Show tasks with overlap first show_skip_button: type: boolean description: Allow skipping tasks show_unused_data_columns_to_annotators: type: - boolean - 'null' description: >- Show only columns used in labeling configuration to Annotators. API uses inverse field semantics here: set false to show only used columns, set true to show all task.data columns. skip_queue: oneOf: - $ref: '#/components/schemas/SkipQueueEnum' - type: 'null' skipped_annotations_number: type: integer source_interface_id: type: - integer - 'null' source_interface_version: type: - integer - 'null' start_training_on_annotation_update: type: boolean description: Start model training after any annotations are submitted or updated state: type: string strict_task_overlap: type: boolean default: true description: Enforce strict overlap limit task_data_login: type: - string - 'null' description: Login task_data_password: type: - string - 'null' description: Password task_number: type: integer description: Total task number in project title: type: - string - 'null' description: Project Name total_annotations_number: type: integer total_predictions_number: type: - integer - 'null' use_custom_interface: type: boolean default: false useful_annotation_number: type: - integer - 'null' workspace: type: string workspace_title: type: string required: - allow_stream - assignment_settings - config_has_control_tags - config_suitable_for_bulk_annotation - created_at - data_types - finished_task_number - ground_truth_number - id - is_dimensions_enabled - members - members_count - num_tasks_with_annotations - parsed_label_config - prompts - queue_done - queue_left - queue_total - ready - rejected - review_settings - review_total_tasks - reviewed_number - reviewer_queue_total - skipped_annotations_number - start_training_on_annotation_update - state - task_number - total_annotations_number - total_predictions_number - useful_annotation_number - workspace - workspace_title description: >- Serializer for project response, combining all the serializers for different roles. Don't use it except for Spectacular/Fern definitions. title: LseProjectResponse AssignmentSettingsRequest: type: object properties: label_stream_task_distribution: oneOf: - $ref: '#/components/schemas/LabelStreamTaskDistributionEnum' - type: 'null' description: |- Automatic / Manual * `auto_distribution` - Label Stream distributes tasks automatically to annotators * `assigned_only` - Label Stream shows tasks only to assigned users project: type: - integer - 'null' title: AssignmentSettingsRequest ReviewSettingsRequest: type: object properties: anonymize_annotations: type: boolean description: Hide annotator names from annotations while review instruction: type: - string - 'null' description: Instructions only_finished_tasks: type: boolean description: Show only finished tasks in the review stream project: type: - integer - 'null' requeue_rejected_tasks_mode: oneOf: - $ref: '#/components/schemas/RequeueRejectedTasksModeEnum' - type: 'null' description: >- Remove rejected annotations from labeling queue / Requeue rejected annotations back to annotators / Allow reviewer to decide: Remove or Requeue * `requeue` - Requeue * `remove` - Remove * `flexible` - Flexible require_comment_on_reject: type: boolean description: Reviewers must leave a comment on reject review_criteria: oneOf: - $ref: '#/components/schemas/ReviewCriteriaEnum' - type: 'null' description: |- Task is reviewed after at least one accepted annotation / Task is reviewed when all annotations are reviewed * `all` - Task is reviewed if all annotations are reviewed * `one` - Task is reviewed if at least one annotation is reviewed review_only_manual_assignments: type: boolean description: Show only manually assigned tasks in the review stream review_task_limit_percent: type: - string - 'null' format: decimal description: Task limit (%) sampling: oneOf: - $ref: '#/components/schemas/ReviewSettingsSamplingEnum' - type: 'null' description: |- By Task ID / Random * `task_id` - By Task ID * `random` - Random show_agreement_to_reviewers: type: boolean description: Show agreement to reviewers in the Data Manager show_data_manager_to_reviewers: type: boolean description: Show the Data Manager to reviewers show_instruction: type: boolean description: Show before reviewing show_unused_data_columns_to_reviewers: type: - boolean - 'null' description: Show unused task data columns to reviewers in the Data Manager title: ReviewSettingsRequest PatchedLseProjectUpdateRequest: type: object properties: agreement_methodology: $ref: '#/components/schemas/AgreementMethodologyEnum' description: |- Methodology (Consensus / Pairwise Averaging) * `consensus` - Consensus * `pairwise` - Pairwise Averaging agreement_threshold: type: - string - 'null' format: decimal description: Agreement threshold annotation_limit_count: type: - integer - 'null' description: Limit by number of tasks annotation_limit_percent: type: - string - 'null' format: decimal description: Limit by percentage of tasks annotator_evaluation_continuous_tasks: type: integer default: 0 description: 'Continuous Evaluation: Required tasks' annotator_evaluation_enabled: type: boolean description: Evaluate all annotators against ground truth annotator_evaluation_minimum_score: type: - string - 'null' format: decimal default: '95.00' description: Score required to pass evaluation annotator_evaluation_minimum_tasks: type: - integer - 'null' default: 10 description: Number of tasks for evaluation annotator_evaluation_onboarding_tasks: type: integer default: 0 description: 'Onboarding Evaluation: Required tasks' assignment_settings: $ref: '#/components/schemas/AssignmentSettingsRequest' color: type: - string - 'null' description: Color comment_classification_config: type: string control_weights: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/ControlTagWeightRequest' description: >- Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight. created_by: $ref: '#/components/schemas/UserSimpleRequest' description: Project owner custom_interface_code: type: - string - 'null' custom_interface_compiled: type: - string - 'null' custom_interface_params: oneOf: - description: Any type - type: 'null' custom_script: type: string description: Plugins custom_task_lock_ttl: type: - integer - 'null' description: Task reservation time. TTL in seconds (UI displays and edits this value in minutes). description: type: - string - 'null' description: Description enable_empty_annotation: type: boolean description: Allow empty annotations evaluate_predictions_automatically: type: boolean description: Retrieve and display predictions when loading a task expert_instruction: type: - string - 'null' description: Instructions input_schema: oneOf: - description: Any type - type: 'null' is_draft: type: boolean description: Whether or not the project is in the middle of being created is_published: type: boolean description: Whether or not the project is published to annotators label_config: type: - string - 'null' description: Labeling Configuration max_additional_annotators_assignable: type: - integer - 'null' description: Maximum additional annotators maximum_annotations: type: integer description: Annotations per task min_annotations_to_start_training: type: integer description: Minimum number of completed tasks after which model training is started model_version: type: - string - 'null' description: Machine learning model version organization: type: - integer - 'null' overlap_cohort_percentage: type: integer description: Annotations per task coverage pause_on_failed_annotator_evaluation: type: - boolean - 'null' default: false description: Pause annotator on failed evaluation pinned_at: type: - string - 'null' format: date-time description: Pinned date and time require_comment_on_skip: type: boolean default: false description: Require comment to skip reveal_preannotations_interactively: type: boolean description: Reveal pre-annotations interactively review_settings: $ref: '#/components/schemas/ReviewSettingsRequest' sampling: oneOf: - $ref: '#/components/schemas/SamplingDe5Enum' - type: 'null' show_annotation_history: type: boolean description: Show Data Manager to Annotators show_collab_predictions: type: boolean description: Use predictions to pre-label Tasks show_ground_truth_first: type: boolean description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream' show_instruction: type: boolean description: Show instructions before labeling show_overlap_first: type: boolean description: Show tasks with overlap first show_skip_button: type: boolean description: Allow skipping tasks show_unused_data_columns_to_annotators: type: - boolean - 'null' description: >- Show only columns used in labeling configuration to Annotators. API uses inverse field semantics here: set false to show only used columns, set true to show all task.data columns. skip_queue: oneOf: - $ref: '#/components/schemas/SkipQueueEnum' - type: 'null' source_interface_id: type: - integer - 'null' source_interface_version: type: - integer - 'null' strict_task_overlap: type: boolean default: true description: Enforce strict overlap limit task_data_login: type: - string - 'null' description: Login task_data_password: type: - string - 'null' description: Password title: type: - string - 'null' description: Project Name use_custom_interface: type: boolean default: false workspace: type: integer description: Workspace description: |- Serializer get numbers from project queryset annotation, make sure, that you use correct one(Project.objects.with_counts()) title: PatchedLseProjectUpdateRequest LseProjectUpdate: type: object properties: agreement_methodology: $ref: '#/components/schemas/AgreementMethodologyEnum' description: |- Methodology (Consensus / Pairwise Averaging) * `consensus` - Consensus * `pairwise` - Pairwise Averaging agreement_threshold: type: - string - 'null' format: decimal description: Agreement threshold annotation_limit_count: type: - integer - 'null' description: Limit by number of tasks annotation_limit_percent: type: - string - 'null' format: decimal description: Limit by percentage of tasks annotator_evaluation_continuous_tasks: type: integer default: 0 description: 'Continuous Evaluation: Required tasks' annotator_evaluation_enabled: type: boolean description: Evaluate all annotators against ground truth annotator_evaluation_minimum_score: type: - string - 'null' format: decimal default: '95.00' description: Score required to pass evaluation annotator_evaluation_minimum_tasks: type: - integer - 'null' default: 10 description: Number of tasks for evaluation annotator_evaluation_onboarding_tasks: type: integer default: 0 description: 'Onboarding Evaluation: Required tasks' assignment_settings: $ref: '#/components/schemas/AssignmentSettings' color: type: - string - 'null' description: Color comment_classification_config: type: string config_has_control_tags: type: boolean description: Flag to detect is project ready for labeling config_suitable_for_bulk_annotation: type: boolean description: Flag to detect is project ready for bulk annotation control_weights: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/ControlTagWeight' description: >- Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight. created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' description: Project owner custom_interface_code: type: - string - 'null' custom_interface_compiled: type: - string - 'null' custom_interface_params: oneOf: - description: Any type - type: 'null' custom_script: type: string description: Plugins custom_task_lock_ttl: type: - integer - 'null' description: Task reservation time. TTL in seconds (UI displays and edits this value in minutes). description: type: - string - 'null' description: Description enable_empty_annotation: type: boolean description: Allow empty annotations evaluate_predictions_automatically: type: boolean description: Retrieve and display predictions when loading a task expert_instruction: type: - string - 'null' description: Instructions finished_task_number: type: integer description: Finished tasks ground_truth_number: type: integer description: Honeypot annotation number in project id: type: integer input_schema: oneOf: - description: Any type - type: 'null' is_draft: type: boolean description: Whether or not the project is in the middle of being created is_published: type: boolean description: Whether or not the project is published to annotators label_config: type: - string - 'null' description: Labeling Configuration max_additional_annotators_assignable: type: - integer - 'null' description: Maximum additional annotators maximum_annotations: type: integer description: Annotations per task min_annotations_to_start_training: type: integer description: Minimum number of completed tasks after which model training is started model_version: type: - string - 'null' description: Machine learning model version num_tasks_with_annotations: type: integer description: Tasks with annotations count organization: type: - integer - 'null' overlap_cohort_percentage: type: integer description: Annotations per task coverage parsed_label_config: type: object additionalProperties: description: Any type description: JSON-formatted labeling configuration pause_on_failed_annotator_evaluation: type: - boolean - 'null' default: false description: Pause annotator on failed evaluation pinned_at: type: - string - 'null' format: date-time description: Pinned date and time prompts: type: string queue_done: type: integer queue_total: type: integer require_comment_on_skip: type: boolean default: false description: Require comment to skip reveal_preannotations_interactively: type: boolean description: Reveal pre-annotations interactively review_settings: $ref: '#/components/schemas/ReviewSettings' sampling: oneOf: - $ref: '#/components/schemas/SamplingDe5Enum' - type: 'null' show_annotation_history: type: boolean description: Show Data Manager to Annotators show_collab_predictions: type: boolean description: Use predictions to pre-label Tasks show_ground_truth_first: type: boolean description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream' show_instruction: type: boolean description: Show instructions before labeling show_overlap_first: type: boolean description: Show tasks with overlap first show_skip_button: type: boolean description: Allow skipping tasks show_unused_data_columns_to_annotators: type: - boolean - 'null' description: >- Show only columns used in labeling configuration to Annotators. API uses inverse field semantics here: set false to show only used columns, set true to show all task.data columns. skip_queue: oneOf: - $ref: '#/components/schemas/SkipQueueEnum' - type: 'null' skipped_annotations_number: type: integer description: Skipped by collaborators annotation number in project source_interface_id: type: - integer - 'null' source_interface_version: type: - integer - 'null' start_training_on_annotation_update: type: boolean description: Start model training after any annotations are submitted or updated state: type: string strict_task_overlap: type: boolean default: true description: Enforce strict overlap limit task_data_login: type: - string - 'null' description: Login task_data_password: type: - string - 'null' description: Password task_number: type: integer description: Total task number in project title: type: - string - 'null' description: Project Name total_annotations_number: type: integer description: Total annotations number in project including skipped_annotations_number and ground_truth_number. total_predictions_number: type: integer description: >- Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number. use_custom_interface: type: boolean default: false useful_annotation_number: type: integer description: >- Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number workspace: type: integer description: Workspace workspace_title: type: string required: - assignment_settings - config_has_control_tags - config_suitable_for_bulk_annotation - created_at - finished_task_number - ground_truth_number - id - num_tasks_with_annotations - parsed_label_config - prompts - queue_done - queue_total - review_settings - skipped_annotations_number - start_training_on_annotation_update - state - task_number - total_annotations_number - total_predictions_number - useful_annotation_number - workspace - workspace_title description: |- Serializer get numbers from project queryset annotation, make sure, that you use correct one(Project.objects.with_counts()) title: LseProjectUpdate ProjectDuplicateModeEnum: type: string enum: - settings - settings,data description: |- * `settings` - Only settings * `settings,data` - Settings and tasks title: ProjectDuplicateModeEnum ProjectDuplicateRequest: type: object properties: description: type: string default: '' description: Project Description mode: $ref: '#/components/schemas/ProjectDuplicateModeEnum' description: |- What to Duplicate (Project configuration only / Project configuration and tasks) * `settings` - Only settings * `settings,data` - Settings and tasks title: type: string description: Project Name workspace: type: integer description: Destination Workspace required: - mode - title - workspace title: ProjectDuplicateRequest projects_duplicate_Response_201: type: object properties: id: type: integer description: The ID of the duplicated project. required: - id title: projects_duplicate_Response_201 AnnotationRequestResultItems: type: object properties: {} description: List of annotated regions for the task title: AnnotationRequestResultItems AnnotationRequest: 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/AnnotationRequestResultItems' description: List of annotation results for the task task: type: - integer - 'null' description: Corresponding task for this annotation 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: AnnotationRequest PredictionRequestResultItems: type: object properties: {} description: List of predicted regions for the task title: PredictionRequestResultItems PredictionRequest: type: object properties: cluster: type: - integer - 'null' description: Cluster for the current prediction mislabeling: type: number format: double description: Related task mislabeling score model: type: - integer - 'null' description: An ML Backend instance that created the prediction. model_run: type: - integer - 'null' description: A run of a ModelVersion that created the prediction. 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 neighbors: oneOf: - description: Any type - type: 'null' description: Array of task IDs of the closest neighbors project: type: - integer - 'null' result: type: array items: $ref: '#/components/schemas/PredictionRequestResultItems' description: List of prediction results for the task score: type: - number - 'null' format: double description: Prediction score task: type: integer required: - result - task title: PredictionRequest ImportApiRequest: type: object properties: allow_skip: type: - boolean - 'null' description: Whether this task can be skipped. Set to False to make task unskippable. annotations: type: array items: $ref: '#/components/schemas/AnnotationRequest' cancelled_annotations: type: integer description: Number of total cancelled annotations for the current task comment_authors: type: array items: type: integer description: Users who wrote comments comment_count: type: integer description: Number of comments in the task including all annotations data: type: object additionalProperties: description: Any type description: >- User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI. file_upload: type: - integer - 'null' description: Uploaded file used as data source for this task inner_id: type: - integer - 'null' format: int64 description: Internal task ID in the project, starts with 1 last_comment_updated_at: type: - string - 'null' format: date-time description: When the last comment was updated meta: oneOf: - description: Any type - type: 'null' description: >- Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps. overlap: type: integer description: Number of distinct annotators that processed the current task precomputed_agreement: type: - number - 'null' format: double description: Average agreement score for the task predictions: type: array items: $ref: '#/components/schemas/PredictionRequest' total_annotations: type: integer description: Number of total annotations for the current task except cancelled annotations total_predictions: type: integer description: Number of total predictions for the current task unresolved_comment_count: type: integer description: Number of unresolved comments in the task including all annotations updated_by: type: - integer - 'null' description: Last annotator or reviewer who updated this task required: - data description: Tasks serializer for Import API (TaskBulkCreateAPI) title: ImportApiRequest projects_import_tasks_Response_201: type: object properties: annotation_count: type: integer description: Number of annotations added (Community edition sync import only) could_be_tasks_list: type: boolean description: Whether uploaded files can contain lists of tasks, like CSV/TSV files (Community edition sync import only) data_columns: type: array items: type: string description: The list of found data columns (Community edition sync import only) duration: type: number format: double description: Time in seconds to create (Community edition sync import only) file_upload_ids: type: array items: type: integer description: Database IDs of uploaded files (Community edition sync import only) found_formats: type: array items: type: string description: The list of found file formats (Community edition sync import only) import: type: integer description: >- Import ID for async operations (non-Community editions only). Use this ID to poll `/api/projects/{project_id}/imports/{import_id}` for status. predictions_count: type: integer description: Number of predictions added (Community edition sync import only) task_count: type: integer description: Number of tasks added (Community edition sync import only) description: >- Response format varies by edition. Non-Community editions return `{"import": }` for async processing. Community edition returns the detailed response below with task counts. title: projects_import_tasks_Response_201 projects_import_predictions_Response_201: type: object properties: created: type: integer description: Number of predictions created description: Import result title: projects_import_predictions_Response_201 ProjectLabelConfigRequest: type: object properties: label_config: type: string description: Label config in XML format. See more about it in documentation required: - label_config title: ProjectLabelConfigRequest ProjectLabelConfig: type: object properties: label_config: type: string description: Label config in XML format. See more about it in documentation required: - label_config title: ProjectLabelConfig ProjectRole: type: object properties: id: type: integer project: type: integer role: $ref: '#/components/schemas/Role9e7Enum' user: type: integer required: - id - project - role - user title: ProjectRole ProjectRoleRequest: type: object properties: project: type: integer role: $ref: '#/components/schemas/Role9e7Enum' user: type: integer required: - project - role - user title: ProjectRoleRequest MetricParam: type: object properties: agreement_threshold: type: string allowed: type: string max_additional_annotators_assignable: type: - integer - 'null' description: Maximum number of additional annotators that can be assigned to a low agreement task metric_name: type: - string - 'null' description: Evaluation metric chosen for this project metric_params: oneOf: - description: Any type - type: 'null' required: - agreement_threshold - allowed title: MetricParam MetricParamUpdateRequest: type: object properties: additional_params: type: - object - 'null' additionalProperties: description: Any type description: Agreement metric parameters agreement_threshold: type: integer max_additional_annotators_assignable: type: integer metric_name: type: string description: Agreement metric title: MetricParamUpdateRequest ApiProjectsIdAwsCustomFunctionGetResponsesContentApplicationJsonSchemaStatus: type: string enum: - NotDeployed - Active - Pending - Inactive - Failed - NotFound - Error description: Deployment status of the Lambda function. title: ApiProjectsIdAwsCustomFunctionGetResponsesContentApplicationJsonSchemaStatus projects_metrics_custom_get_lambda_Response_200: type: object properties: code: type: string status: $ref: '#/components/schemas/ApiProjectsIdAwsCustomFunctionGetResponsesContentApplicationJsonSchemaStatus' description: Deployment status of the Lambda function. required: - code - status title: projects_metrics_custom_get_lambda_Response_200 AWSCustomFunctionUpdateRequest: type: object properties: code: type: string description: The Python code for the custom metric function. region: type: - string - 'null' description: The AWS region for the Lambda function. Uses default if not provided. role: type: - string - 'null' description: The AWS IAM role ARN for the Lambda function. Uses default if not provided. required: - code description: Serializer for updating AWS Lambda custom metric function. title: AWSCustomFunctionUpdateRequest projects_metrics_custom_update_lambda_Response_200: type: object properties: {} description: Empty response body title: projects_metrics_custom_update_lambda_Response_200 projects_metrics_custom_logs_Response_200: type: object properties: {} description: List of AWS lambda logs title: projects_metrics_custom_logs_Response_200 CheckMatchingFunctionRequestRequest: type: object properties: code: type: string required: - code title: CheckMatchingFunctionRequestRequest projects_metrics_custom_check_function_Response_200: type: object properties: {} description: Empty response body title: projects_metrics_custom_check_function_Response_200 ApiProjectsIdCustomFunctionGetResponsesContentApplicationJsonSchemaStatus: type: string enum: - NotDeployed - Active - Pending - Failed - NotFound - Error title: ApiProjectsIdCustomFunctionGetResponsesContentApplicationJsonSchemaStatus projects_metrics_custom_get_function_Response_200: type: object properties: code: type: string status: $ref: '#/components/schemas/ApiProjectsIdCustomFunctionGetResponsesContentApplicationJsonSchemaStatus' required: - code - status title: projects_metrics_custom_get_function_Response_200 CustomFunctionCodeRequestRequest: type: object properties: code: type: string required: - code title: CustomFunctionCodeRequestRequest projects_metrics_custom_deploy_function_Response_200: type: object properties: {} description: Empty response body title: projects_metrics_custom_deploy_function_Response_200 projects_metrics_custom_get_function_logs_Response_200: type: object properties: {} title: projects_metrics_custom_get_function_logs_Response_200 ApiProjectsIdGcpCustomFunctionGetResponsesContentApplicationJsonSchemaStatus: type: string enum: - NotDeployed - Active - Pending - Failed - NotFound - Error title: ApiProjectsIdGcpCustomFunctionGetResponsesContentApplicationJsonSchemaStatus projects_metrics_custom_get_gcp_function_Response_200: type: object properties: code: type: string status: $ref: '#/components/schemas/ApiProjectsIdGcpCustomFunctionGetResponsesContentApplicationJsonSchemaStatus' required: - code - status title: projects_metrics_custom_get_gcp_function_Response_200 GCPCustomFunctionUpdateRequest: type: object properties: code: type: string description: The Python code for the custom metric function. project: type: - string - 'null' description: The GCP project ID. Uses default if not provided. region: type: - string - 'null' description: The GCP region for the Cloud Function. Uses default if not provided. required: - code description: Serializer for updating GCP Cloud Function custom metric. title: GCPCustomFunctionUpdateRequest projects_metrics_custom_update_gcp_function_Response_200: type: object properties: {} description: Empty response body title: projects_metrics_custom_update_gcp_function_Response_200 Status7bfEnum: type: string enum: - created - in_progress - failed - completed description: |- * `created` - Created * `in_progress` - In progress * `failed` - Failed * `completed` - Completed title: Status7bfEnum ConvertedFormat: type: object properties: export_type: type: string id: type: integer status: $ref: '#/components/schemas/Status7bfEnum' traceback: type: - string - 'null' description: Traceback report in case of errors required: - export_type - id title: ConvertedFormat Export: type: object properties: converted_formats: type: array items: $ref: '#/components/schemas/ConvertedFormat' counters: description: Any type created_at: type: string format: date-time description: Creation time created_by: $ref: '#/components/schemas/UserSimple' finished_at: type: - string - 'null' format: date-time description: Complete or fail time id: type: integer md5: type: string status: $ref: '#/components/schemas/Status7bfEnum' title: type: string required: - created_at - id title: Export ReviewedEnum: type: string enum: - only - exclude description: |- * `only` - only * `exclude` - exclude * `None` - None title: ReviewedEnum LseAnnotationFilterOptionsRequest: type: object properties: ground_truth: type: - boolean - 'null' description: Include ground truth annotations reviewed: oneOf: - $ref: '#/components/schemas/ReviewedEnum' - type: 'null' description: >- `only` - include all tasks with at least one not reviewed annotation
    `exclude` - exclude with at least one not reviewed annotation * `only` - only * `exclude` - exclude * `None` - None skipped: type: - boolean - 'null' description: Include skipped annotations usual: type: - boolean - 'null' default: true description: Include not skipped and not ground truth annotations title: LseAnnotationFilterOptionsRequest ConvertedFormatRequest: type: object properties: export_type: type: string status: $ref: '#/components/schemas/Status7bfEnum' traceback: type: - string - 'null' description: Traceback report in case of errors required: - export_type title: ConvertedFormatRequest SerializationOptionRequest: type: object properties: only_id: type: boolean default: false description: Include a full json body or IDs only title: SerializationOptionRequest SerializationOptionsRequest: type: object properties: annotations__completed_by: $ref: '#/components/schemas/SerializationOptionRequest' description: JSON dict with parameters drafts: $ref: '#/components/schemas/SerializationOptionRequest' description: JSON dict with parameters include_annotation_history: type: boolean default: false description: Include annotation history interpolate_key_frames: type: boolean default: false description: Interpolate video key frames predictions: $ref: '#/components/schemas/SerializationOptionRequest' description: JSON dict with parameters title: SerializationOptionsRequest AnnotatedEnum: type: string enum: - only - exclude description: |- * `only` - only * `exclude` - exclude * `None` - None title: AnnotatedEnum FinishedEnum: type: string enum: - only - exclude description: |- * `only` - only * `exclude` - exclude * `None` - None title: FinishedEnum SkippedEnum: type: string enum: - only - exclude description: |- * `only` - only * `exclude` - exclude * `None` - None title: SkippedEnum LseTaskFilterOptionsRequest: type: object properties: annotated: oneOf: - $ref: '#/components/schemas/AnnotatedEnum' - type: 'null' description: >- `only` - include all tasks with at least one not skipped annotation
    `exclude` - exclude all tasks with at least one not skipped annotation * `only` - only * `exclude` - exclude * `None` - None finished: oneOf: - $ref: '#/components/schemas/FinishedEnum' - type: 'null' description: |- `only` - include all finished tasks (is_labeled = true)
    `exclude` - exclude all finished tasks * `only` - only * `exclude` - exclude * `None` - None only_with_annotations: type: boolean default: false reviewed: oneOf: - $ref: '#/components/schemas/ReviewedEnum' - type: 'null' description: |- `only` - include all reviewed tasks
    `exclude` - exclude all reviewed tasks * `only` - only * `exclude` - exclude * `None` - None skipped: oneOf: - $ref: '#/components/schemas/SkippedEnum' - type: 'null' description: >- `only` - include all tasks with skipped annotations
    `exclude` - exclude all tasks with skipped annotations * `only` - only * `exclude` - exclude * `None` - None view: type: integer description: Apply filters from the view ID (a tab from the Data Manager) title: LseTaskFilterOptionsRequest LseExportCreateRequest: type: object properties: annotation_filter_options: $ref: '#/components/schemas/LseAnnotationFilterOptionsRequest' converted_formats: type: array items: $ref: '#/components/schemas/ConvertedFormatRequest' counters: description: Any type created_by: $ref: '#/components/schemas/UserSimpleRequest' finished_at: type: - string - 'null' format: date-time description: Complete or fail time md5: type: string serialization_options: $ref: '#/components/schemas/SerializationOptionsRequest' status: $ref: '#/components/schemas/Status7bfEnum' task_filter_options: $ref: '#/components/schemas/LseTaskFilterOptionsRequest' title: type: string title: LseExportCreateRequest LseAnnotationFilterOptions: type: object properties: ground_truth: type: - boolean - 'null' description: Include ground truth annotations reviewed: oneOf: - $ref: '#/components/schemas/ReviewedEnum' - type: 'null' description: >- `only` - include all tasks with at least one not reviewed annotation
    `exclude` - exclude with at least one not reviewed annotation * `only` - only * `exclude` - exclude * `None` - None skipped: type: - boolean - 'null' description: Include skipped annotations usual: type: - boolean - 'null' default: true description: Include not skipped and not ground truth annotations title: LseAnnotationFilterOptions SerializationOption: type: object properties: only_id: type: boolean default: false description: Include a full json body or IDs only title: SerializationOption SerializationOptions: type: object properties: annotations__completed_by: $ref: '#/components/schemas/SerializationOption' description: JSON dict with parameters drafts: $ref: '#/components/schemas/SerializationOption' description: JSON dict with parameters include_annotation_history: type: boolean default: false description: Include annotation history interpolate_key_frames: type: boolean default: false description: Interpolate video key frames predictions: $ref: '#/components/schemas/SerializationOption' description: JSON dict with parameters title: SerializationOptions LseTaskFilterOptions: type: object properties: annotated: oneOf: - $ref: '#/components/schemas/AnnotatedEnum' - type: 'null' description: >- `only` - include all tasks with at least one not skipped annotation
    `exclude` - exclude all tasks with at least one not skipped annotation * `only` - only * `exclude` - exclude * `None` - None finished: oneOf: - $ref: '#/components/schemas/FinishedEnum' - type: 'null' description: |- `only` - include all finished tasks (is_labeled = true)
    `exclude` - exclude all finished tasks * `only` - only * `exclude` - exclude * `None` - None only_with_annotations: type: boolean default: false reviewed: oneOf: - $ref: '#/components/schemas/ReviewedEnum' - type: 'null' description: |- `only` - include all reviewed tasks
    `exclude` - exclude all reviewed tasks * `only` - only * `exclude` - exclude * `None` - None skipped: oneOf: - $ref: '#/components/schemas/SkippedEnum' - type: 'null' description: >- `only` - include all tasks with skipped annotations
    `exclude` - exclude all tasks with skipped annotations * `only` - only * `exclude` - exclude * `None` - None view: type: integer description: Apply filters from the view ID (a tab from the Data Manager) title: LseTaskFilterOptions LseExportCreate: type: object properties: annotation_filter_options: $ref: '#/components/schemas/LseAnnotationFilterOptions' converted_formats: type: array items: $ref: '#/components/schemas/ConvertedFormat' counters: description: Any type created_at: type: string format: date-time description: Creation time created_by: $ref: '#/components/schemas/UserSimple' finished_at: type: - string - 'null' format: date-time description: Complete or fail time id: type: integer md5: type: string serialization_options: $ref: '#/components/schemas/SerializationOptions' status: $ref: '#/components/schemas/Status7bfEnum' task_filter_options: $ref: '#/components/schemas/LseTaskFilterOptions' title: type: string required: - created_at - id title: LseExportCreate ExportConvertRequest: type: object properties: download_resources: type: boolean description: Download resources in converter. export_type: type: string description: Export file format. required: - export_type title: ExportConvertRequest projects_exports_convert_Response_200: type: object properties: converted_format: type: integer export_type: type: string title: projects_exports_convert_Response_200 ProjectMemberRequest: type: object properties: user: type: integer required: - user title: ProjectMemberRequest ProjectMember: type: object properties: user: type: integer required: - user title: ProjectMember ProjectMemberBulkAssignRolesRequest: type: object properties: role: $ref: '#/components/schemas/Role9e7Enum' description: |- Role * `OW` - Owner * `AD` - Administrator * `MA` - Manager * `RE` - Reviewer * `AN` - Annotator * `DI` - Deactivated * `NO` - Not Activated user_id: type: integer description: User ID required: - role - user_id title: ProjectMemberBulkAssignRolesRequest ProjectMemberBulkAssignRequest: type: object properties: all: type: boolean description: Apply to all project members excluded: type: array items: type: integer description: Excluded user IDs included: type: array items: type: integer description: Included user IDs roles: type: array items: $ref: '#/components/schemas/ProjectMemberBulkAssignRolesRequest' description: Member roles required: - all title: ProjectMemberBulkAssignRequest projects_members_bulk_post_Response_200: type: object properties: assignments: type: integer title: projects_members_bulk_post_Response_200 projects_members_bulk_delete_Response_200: type: object properties: unassignments: type: integer title: projects_members_bulk_delete_Response_200 PaginatedProjectMember: 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 implicit_member: type: boolean 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 project_role: type: string tags: type: array items: $ref: '#/components/schemas/SimpleOrganizationMemberTag' user_type: type: string username: type: string required: - active_organization_meta - avatar - id - implicit_member - initials - last_activity - lse_fields - org_membership - organization_membership - pause - project_role - tags - user_type - 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: PaginatedProjectMember PaginatedPaginatedProjectMemberList: 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/PaginatedProjectMember' required: - count - results title: PaginatedPaginatedProjectMemberList projects_stats_model_version_annotator_agreement_Response_200: type: object properties: agreement: type: - number - 'null' format: double title: projects_stats_model_version_annotator_agreement_Response_200 projects_stats_model_version_ground_truth_agreement_Response_200: type: object properties: agreement: type: - number - 'null' format: double title: projects_stats_model_version_ground_truth_agreement_Response_200 projects_stats_model_version_prediction_agreement_Response_200: type: object properties: average_prediction_agreement_per_model: type: - number - 'null' format: double title: projects_stats_model_version_prediction_agreement_Response_200 ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaIaa: oneOf: - type: array items: type: array items: type: number format: double - type: object additionalProperties: type: array items: type: array items: type: number format: double description: Inter-Annotator Agreement matrix - 2D array when per_label=false, object with label keys when per_label=true title: ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaIaa ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaCommonTasks: oneOf: - type: array items: type: array items: type: number format: double - type: object additionalProperties: type: array items: type: array items: type: number format: double description: Common tasks matrix - 2D array when per_label=false, object with label keys when per_label=true title: ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaCommonTasks ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaStd: oneOf: - type: number format: double - type: object additionalProperties: type: number format: double description: Standard deviation - number when per_label=false, object with label keys when per_label=true title: ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaStd ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaUsersItems: type: object properties: {} title: ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaUsersItems projects_stats_iaa_Response_200: type: object properties: IAA: $ref: '#/components/schemas/ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaIaa' description: Inter-Annotator Agreement matrix - 2D array when per_label=false, object with label keys when per_label=true common_tasks: $ref: '#/components/schemas/ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaCommonTasks' description: Common tasks matrix - 2D array when per_label=false, object with label keys when per_label=true std: $ref: '#/components/schemas/ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaStd' description: Standard deviation - number when per_label=false, object with label keys when per_label=true users: type: array items: $ref: '#/components/schemas/ApiProjectsIdStatsIaaGetResponsesContentApplicationJsonSchemaUsersItems' description: List of users in the matrix title: projects_stats_iaa_Response_200 ApiProjectsIdStatsAgreementGroundtruthGetResponsesContentApplicationJsonSchemaAgreement: oneOf: - type: number format: double - type: object additionalProperties: type: number format: double title: ApiProjectsIdStatsAgreementGroundtruthGetResponsesContentApplicationJsonSchemaAgreement projects_stats_users_ground_truth_agreement_Response_200: type: object properties: agreement: type: object additionalProperties: $ref: >- #/components/schemas/ApiProjectsIdStatsAgreementGroundtruthGetResponsesContentApplicationJsonSchemaAgreement description: Dictionary mapping user IDs to their ground truth agreement scores title: projects_stats_users_ground_truth_agreement_Response_200 projects_stats_agreement_annotator_Response_200: type: object properties: Agreement_per_annotator: type: number format: double description: Agreement score for the annotator (0-1) title: projects_stats_agreement_annotator_Response_200 projects_stats_agreement_annotators_Response_200: type: object properties: agreement: type: object additionalProperties: type: number format: double description: Mapping of annotator ID to their agreement score (0-1) or null if no data required: - agreement title: projects_stats_agreement_annotators_Response_200 ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFiltersStatsItems: type: object properties: id: type: string description: User ID or model version identifier (e.g., "model:1.0") title: ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFiltersStatsItems ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFiltersTasksWithAnnotations: type: object properties: {} description: Default filter tab for tasks with annotations title: ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFiltersTasksWithAnnotations ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFilters: type: object properties: stats: type: array items: $ref: >- #/components/schemas/ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFiltersStatsItems description: List of filter configurations for users and models tasks_with_annotations: $ref: >- #/components/schemas/ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFiltersTasksWithAnnotations description: Default filter tab for tasks with annotations description: Data filter statistics by user and model title: ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFilters projects_stats_data_filters_Response_200: type: object properties: user_filters: $ref: '#/components/schemas/ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFilters' description: Data filter statistics by user and model title: projects_stats_data_filters_Response_200 projects_stats_finished_tasks_Response_200: type: object properties: finished: type: integer description: Number of finished tasks id: type: integer description: User ID progress: type: integer description: Progress percentage (0-100) title: projects_stats_finished_tasks_Response_200 LabelDistributionCountsRow: type: object properties: choice: type: string choice_key: type: string dimension_name: type: string from_annotations_count: type: integer from_annotations_percent: type: number format: double from_predictions_count: type: integer from_predictions_percent: type: number format: double required: - choice - choice_key - dimension_name - from_annotations_count - from_annotations_percent - from_predictions_count - from_predictions_percent title: LabelDistributionCountsRow LabelDistributionCountsTotals: type: object properties: annotation_totals_by_dimension: type: object additionalProperties: type: integer description: Total annotation counts keyed by dimension name. prediction_totals_by_dimension: type: object additionalProperties: type: integer description: Total prediction counts keyed by dimension name. title: LabelDistributionCountsTotals LabelDistributionCountsResponse: type: object properties: next_offset: type: - integer - 'null' description: >- Next offset for pagination when using limit/offset mode; null when there are no more results or when filtering by explicit `choice_keys`. results: type: array items: $ref: '#/components/schemas/LabelDistributionCountsRow' totals: $ref: '#/components/schemas/LabelDistributionCountsTotals' required: - next_offset - results - totals title: LabelDistributionCountsResponse LabelDistributionStructureDimension: type: object properties: choice_keys: type: array items: type: string description: Flat keys in "___SEP___" format for this dimension. choices: type: array items: type: string description: Sorted list of choices observed from config and/or created labels. name: type: string description: Original from_name from labeling config or observed annotation results. type: type: string description: Result item type for this dimension when available. required: - choice_keys - choices - name title: LabelDistributionStructureDimension LabelDistributionStructureResponse: type: object properties: choice_keys: type: array items: type: string description: All project choice keys in stable order, joined with "___PIPE___" when passed as query param. dimensions: type: array items: $ref: '#/components/schemas/LabelDistributionStructureDimension' required: - choice_keys - dimensions title: LabelDistributionStructureResponse ApiProjectsIdStatsLeadTimeGetResponsesContentApplicationJsonSchemaLeadTimeStatsItems: type: object properties: mean_time: type: number format: double description: Average lead time for the user median_time: type: number format: double description: Median lead time for the user sum_lead_time: type: number format: double description: Total lead time for the user user_id: type: integer description: User ID title: ApiProjectsIdStatsLeadTimeGetResponsesContentApplicationJsonSchemaLeadTimeStatsItems projects_stats_lead_time_Response_200: type: object properties: lead_time_stats: type: array items: $ref: '#/components/schemas/ApiProjectsIdStatsLeadTimeGetResponsesContentApplicationJsonSchemaLeadTimeStatsItems' description: Lead time statistics including mean, median, and distribution title: projects_stats_lead_time_Response_200 ApiProjectsIdStatsMemberPerformanceRowsGetParametersTable: type: string enum: - annotations - reviews title: ApiProjectsIdStatsMemberPerformanceRowsGetParametersTable projects_stats_member_performance_rows_Response_200: type: object properties: count: type: integer page: type: integer page_size: type: integer results: type: array items: type: object additionalProperties: description: Any type summary: type: object additionalProperties: description: Any type title: projects_stats_member_performance_rows_Response_200 ProjectsStatsTotalAgreementResponse2000: type: object properties: total_agreement: type: number format: double title: ProjectsStatsTotalAgreementResponse2000 ProjectsStatsTotalAgreementResponse2001: type: object properties: total_agreement: type: object additionalProperties: type: number format: double title: ProjectsStatsTotalAgreementResponse2001 projects_stats_total_agreement_Response_200: oneOf: - $ref: '#/components/schemas/ProjectsStatsTotalAgreementResponse2000' - $ref: '#/components/schemas/ProjectsStatsTotalAgreementResponse2001' title: projects_stats_total_agreement_Response_200 projects_stats_update_stats_Response_200: type: object properties: {} description: Stat recalculation job title: projects_stats_update_stats_Response_200 ApiProjectsIdUserStatsPredictionGetResponsesContentApplicationJsonSchemaAgreement: oneOf: - type: number format: double - type: object additionalProperties: type: number format: double title: ApiProjectsIdUserStatsPredictionGetResponsesContentApplicationJsonSchemaAgreement projects_stats_users_prediction_agreement_Response_200: type: object properties: agreement: type: object additionalProperties: $ref: '#/components/schemas/ApiProjectsIdUserStatsPredictionGetResponsesContentApplicationJsonSchemaAgreement' description: Dictionary mapping user IDs to their prediction agreement scores title: projects_stats_users_prediction_agreement_Response_200 ApiProjectsIdUserStatsReviewScoreGetResponsesContentApplicationJsonSchemaPerformanceScore: oneOf: - type: number format: double - type: object additionalProperties: type: number format: double title: ApiProjectsIdUserStatsReviewScoreGetResponsesContentApplicationJsonSchemaPerformanceScore ApiProjectsIdUserStatsReviewScoreGetResponsesContentApplicationJsonSchemaReviewScore: oneOf: - type: number format: double - type: object additionalProperties: type: number format: double title: ApiProjectsIdUserStatsReviewScoreGetResponsesContentApplicationJsonSchemaReviewScore projects_stats_users_review_score_Response_200: type: object properties: performance_score: type: object additionalProperties: $ref: >- #/components/schemas/ApiProjectsIdUserStatsReviewScoreGetResponsesContentApplicationJsonSchemaPerformanceScore description: Performance scores mapped by annotator ID review_score: type: object additionalProperties: $ref: '#/components/schemas/ApiProjectsIdUserStatsReviewScoreGetResponsesContentApplicationJsonSchemaReviewScore' description: Review scores mapped by annotator ID title: projects_stats_users_review_score_Response_200 ApiProjectsIdUserStatsUserPkPredictionGetResponsesContentApplicationJsonSchemaAveragePredictionAgreementPerUser: oneOf: - type: number format: double - type: object additionalProperties: type: number format: double title: ApiProjectsIdUserStatsUserPkPredictionGetResponsesContentApplicationJsonSchemaAveragePredictionAgreementPerUser projects_stats_user_prediction_agreement_Response_200: type: object properties: average_prediction_agreement_per_user: $ref: >- #/components/schemas/ApiProjectsIdUserStatsUserPkPredictionGetResponsesContentApplicationJsonSchemaAveragePredictionAgreementPerUser title: projects_stats_user_prediction_agreement_Response_200 ApiProjectsIdUserStatsUserPkReviewScoreGetResponsesContentApplicationJsonSchemaPerformanceScore: oneOf: - type: number format: double - type: object additionalProperties: type: number format: double title: ApiProjectsIdUserStatsUserPkReviewScoreGetResponsesContentApplicationJsonSchemaPerformanceScore ApiProjectsIdUserStatsUserPkReviewScoreGetResponsesContentApplicationJsonSchemaReviewScore: oneOf: - type: number format: double - type: object additionalProperties: type: number format: double title: ApiProjectsIdUserStatsUserPkReviewScoreGetResponsesContentApplicationJsonSchemaReviewScore projects_stats_user_review_score_Response_200: type: object properties: performance_score: $ref: >- #/components/schemas/ApiProjectsIdUserStatsUserPkReviewScoreGetResponsesContentApplicationJsonSchemaPerformanceScore review_score: $ref: >- #/components/schemas/ApiProjectsIdUserStatsUserPkReviewScoreGetResponsesContentApplicationJsonSchemaReviewScore title: projects_stats_user_review_score_Response_200 ApiProjectsIdUsersUserPkStatsAgreementGroundtruthGetResponsesContentApplicationJsonSchemaAgreement: oneOf: - type: number format: double - type: object additionalProperties: type: number format: double title: ApiProjectsIdUsersUserPkStatsAgreementGroundtruthGetResponsesContentApplicationJsonSchemaAgreement projects_stats_user_ground_truth_agreement_Response_200: type: object properties: agreement: $ref: >- #/components/schemas/ApiProjectsIdUsersUserPkStatsAgreementGroundtruthGetResponsesContentApplicationJsonSchemaAgreement title: projects_stats_user_ground_truth_agreement_Response_200 OperatorEnum: type: string enum: - lt - lte - gt - gte - eq description: |- * `lt` - < * `lte` - <= * `gt` - > * `gte` - >= * `eq` - = title: OperatorEnum ReviewRoutingRule: type: object properties: agreement_threshold: type: - string - 'null' format: decimal description: Agreement threshold (0..1) compared against the rule operator. Required when operator is set. created_at: type: string format: date-time description: Time this rule was created dimension: type: - integer - 'null' description: >- Dimension whose agreement is compared. Null => compare overall task agreement. Deleting the dimension cascades to the rule (a dimension-scoped rule has no meaning without its dimension; falling back to overall agreement would silently change the cohort). id: type: integer operator: oneOf: - $ref: '#/components/schemas/OperatorEnum' - type: 'null' description: |- Comparison operator applied to the agreement value. Null => catch-all rule. * `lt` - < * `lte` - <= * `gt` - > * `gte` - >= * `eq` - = order: type: integer description: Position in the rule list (rules are evaluated in ascending order) sample_rate: type: string format: decimal description: Sample rate (0..1) of matching tasks routed for review. 1 always routes, 0 never routes. updated_at: type: string format: date-time description: Last time this rule was updated required: - created_at - order - updated_at title: ReviewRoutingRule ReviewRoutingRuleRequestRequest: type: object properties: agreement_threshold: type: - string - 'null' format: decimal dimension: type: - integer - 'null' id: type: integer operator: oneOf: - $ref: '#/components/schemas/OperatorEnum' - type: 'null' sample_rate: type: string format: decimal required: - agreement_threshold - dimension - operator - sample_rate title: ReviewRoutingRuleRequestRequest ReviewRoutingRulesReplaceRequest: type: object properties: rules: type: array items: $ref: '#/components/schemas/ReviewRoutingRuleRequestRequest' required: - rules title: ReviewRoutingRulesReplaceRequest ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersConjunction: 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: ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersConjunction ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsFilter: 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:
  • `filter:tasks:agreement`
    (Number) Agreement for annotation results for a specific task (Enterprise only)

  • `filter:tasks:annotations_results`
    (String) Annotation results for the tasks

  • `filter:tasks:annotators`
    (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:cancelled_annotations`
    (Number) Number of cancelled or skipped annotations for the task

  • `filter:tasks:comments`
    (Number) Number of comments in a task

  • `filter:tasks:completed_at`
    (Datetime) Time when a task was fully annotated

  • `filter:tasks:created_at`
    (Datetime) Time the task was created at

  • `filter:tasks:file_upload`
    (String) Name of the file uploaded to create the tasks

  • `filter:tasks:ground_truth`
    (Boolean) Ground truth status of the tasks

  • `filter:tasks:id`
    (Number) Task ID

  • `filter:tasks:inner_id`
    (Number) Task Inner ID, it starts from 1 for all projects

  • `filter:tasks:predictions_model_versions`
    (String) Model version used for the predictions

  • `filter:tasks:predictions_results`
    (String) Prediction results for the tasks

  • `filter:tasks:predictions_score`
    (Number) Prediction score for the task

  • `filter:tasks:reviewed`
    (Boolean) Whether the tasks have been reviewed (Enterprise only)

  • `filter:tasks:reviewers`
    (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:reviews_accepted`
    (Number) Number of annotations accepted for a task in review (Enterprise only)

  • `filter:tasks:reviews_rejected`
    (Number) Number of annotations rejected for a task in review (Enterprise only)

  • `filter:tasks:total_annotations`
    (Number) Total number of annotations on a task

  • `filter:tasks:total_predictions`
    (Number) Total number of predictions for the task

  • `filter:tasks:unresolved_comment_count`
    (Number) Number of unresolved comments in a task

  • `filter:tasks:updated_at`
    (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)
  • title: ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsFilter ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsOperator: type: string enum: - contains - ends_with - equal - exists - greater - greater_or_equal - in - less - less_or_equal - not_contains - not_equal - not_exists - not_in - starts_with description: >- Filter operator. Possible values:
  • `contains`
    Contains

  • `ends_with`
    Ends with

  • `equal`
    Equal to

  • `exists`
    Exists

  • `greater`
    Greater than

  • `greater_or_equal`
    Greater than or equal to

  • `in`
    Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `less`
    Less than

  • `less_or_equal`
    Less than or equal to

  • `not_contains`
    Does not contain

  • `not_equal`
    Not equal to

  • `not_exists`
    Does not exist

  • `not_in`
    Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `starts_with`
    Starts with
  • title: ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsOperator ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsValue: oneOf: - type: string - type: integer - type: number format: double - type: boolean - type: object additionalProperties: description: Any type - type: object additionalProperties: description: Any type description: Value to filter by title: ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsValue ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItems: type: object properties: filter: $ref: >- #/components/schemas/ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsFilter 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:
  • `filter:tasks:agreement`
    (Number) Agreement for annotation results for a specific task (Enterprise only)

  • `filter:tasks:annotations_results`
    (String) Annotation results for the tasks

  • `filter:tasks:annotators`
    (List) Annotators that completed the task (Community). Can include assigned annotators (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:cancelled_annotations`
    (Number) Number of cancelled or skipped annotations for the task

  • `filter:tasks:comments`
    (Number) Number of comments in a task

  • `filter:tasks:completed_at`
    (Datetime) Time when a task was fully annotated

  • `filter:tasks:created_at`
    (Datetime) Time the task was created at

  • `filter:tasks:file_upload`
    (String) Name of the file uploaded to create the tasks

  • `filter:tasks:ground_truth`
    (Boolean) Ground truth status of the tasks

  • `filter:tasks:id`
    (Number) Task ID

  • `filter:tasks:inner_id`
    (Number) Task Inner ID, it starts from 1 for all projects

  • `filter:tasks:predictions_model_versions`
    (String) Model version used for the predictions

  • `filter:tasks:predictions_results`
    (String) Prediction results for the tasks

  • `filter:tasks:predictions_score`
    (Number) Prediction score for the task

  • `filter:tasks:reviewed`
    (Boolean) Whether the tasks have been reviewed (Enterprise only)

  • `filter:tasks:reviewers`
    (String) Reviewers that reviewed the task, or assigned reviewers (Enterprise only). Important note: the filter `type` should be List, but the filter `value` is integer

  • `filter:tasks:reviews_accepted`
    (Number) Number of annotations accepted for a task in review (Enterprise only)

  • `filter:tasks:reviews_rejected`
    (Number) Number of annotations rejected for a task in review (Enterprise only)

  • `filter:tasks:total_annotations`
    (Number) Total number of annotations on a task

  • `filter:tasks:total_predictions`
    (Number) Total number of predictions for the task

  • `filter:tasks:unresolved_comment_count`
    (Number) Number of unresolved comments in a task

  • `filter:tasks:updated_at`
    (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)
  • operator: $ref: >- #/components/schemas/ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsOperator description: >- Filter operator. Possible values:
  • `contains`
    Contains

  • `ends_with`
    Ends with

  • `equal`
    Equal to

  • `exists`
    Exists

  • `greater`
    Greater than

  • `greater_or_equal`
    Greater than or equal to

  • `in`
    Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `less`
    Less than

  • `less_or_equal`
    Less than or equal to

  • `not_contains`
    Does not contain

  • `not_equal`
    Not equal to

  • `not_exists`
    Does not exist

  • `not_in`
    Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`

  • `starts_with`
    Starts with
  • type: type: string description: >- Type of the filter value. Possible values:
  • `Boolean`
    Boolean

  • `Datetime`
    Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format

  • `List`
    List of items

  • `Number`
    Float or Integer

  • `String`
    String

  • `Unknown`
    Unknown is explicitly converted to string format
  • value: $ref: >- #/components/schemas/ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsValue description: Value to filter by required: - filter - operator - type - value title: ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItems ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFilters: type: object properties: conjunction: $ref: >- #/components/schemas/ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersConjunction description: >- Logical conjunction for the filters. This conjunction (either "or" or "and") will be applied to all items in the filters list. It is not possible to combine "or" and "and" within one list of filters. All filters will be either combined with "or" or with "and", but not a mix of both. items: type: array items: $ref: >- #/components/schemas/ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFiltersItemsItems description: List of filter items required: - conjunction - items description: >- Filters to apply on tasks. You can use [the helper class `Filters` from this page](https://labelstud.io/sdk/data_manager.html) to create Data Manager Filters.
    Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}` title: ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaFilters ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaSelectedItems0: type: object properties: all: type: boolean description: No tasks are selected included: type: array items: type: integer description: List of included task IDs required: - all title: ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaSelectedItems0 ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaSelectedItems1: type: object properties: all: type: boolean description: All tasks are selected excluded: type: array items: type: integer description: List of excluded task IDs required: - all title: ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaSelectedItems1 ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaSelectedItems: oneOf: - $ref: '#/components/schemas/ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaSelectedItems0' - $ref: '#/components/schemas/ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaSelectedItems1' description: >- Task selection by IDs. If filters are applied, the selection will be applied to the filtered tasks.If "all" is `false`, `"included"` must be used. If "all" is `true`, `"excluded"` must be used.
    Examples: `{"all": false, "included": [1, 2, 3]}` or `{"all": true, "excluded": [4, 5]}` title: ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaSelectedItems ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaType: type: string enum: - AN - RE description: Assignment type. Use AN for annotate or RE for review. title: ApiProjectsIdTasksAssigneesPostRequestBodyContentApplicationJsonSchemaType projects_assignments_bulk_assign_Response_201: type: object properties: assignments: type: integer async: type: boolean title: projects_assignments_bulk_assign_Response_201 TypeEnum: type: string enum: - AN - RE description: |- * `AN` - Annotate * `RE` - Review title: TypeEnum TaskAssignment: type: object properties: assignee: type: integer description: Assigned user created_at: type: string format: date-time description: Time of assignment id: type: integer state: type: string task: type: integer description: Assigned task type: $ref: '#/components/schemas/TypeEnum' description: |- Type of assignment: Annotate|Review * `AN` - Annotate * `RE` - Review required: - assignee - created_at - id - state - task description: |- TaskAssignment Serializer with FSM state support. Note: The 'state' field will be populated from the queryset annotation if present, preventing N+1 queries. Use .with_state() on your queryset. The state field display is controlled by both: - fflag_feat_fit_568_finite_state_management (FSM background calculations) - fflag_feat_fit_710_fsm_state_fields (state field display in APIs) title: TaskAssignment ApiProjectsIdTasksTaskPkAssigneesPostRequestBodyContentApplicationJsonSchemaType: type: string enum: - AN - RE description: Assignment type. Use AN for annotate or RE for review. title: ApiProjectsIdTasksTaskPkAssigneesPostRequestBodyContentApplicationJsonSchemaType ApiProjectsIdTasksTaskPkAssigneesDeleteParametersType: type: string enum: - AN - RE title: ApiProjectsIdTasksTaskPkAssigneesDeleteParametersType ApiProjectsIdTasksTaskPkAssigneesPatchRequestBodyContentApplicationJsonSchemaType: type: string enum: - AN - RE description: Assignment type. Use AN for annotate or RE for review. title: ApiProjectsIdTasksTaskPkAssigneesPatchRequestBodyContentApplicationJsonSchemaType ReasonEnum: type: string enum: - MANUAL - BEHAVIOR_BASED - ANNOTATOR_EVALUATION - ANNOTATION_LIMIT - CUSTOM_SCRIPT description: |- * `MANUAL` - Manual * `BEHAVIOR_BASED` - Behavior-based * `ANNOTATOR_EVALUATION` - Annotator evaluation * `ANNOTATION_LIMIT` - Annotation limit * `CUSTOM_SCRIPT` - Custom script title: ReasonEnum Pause: type: object properties: created_at: type: string format: date-time description: Timestamp when this pause record was created deleted_at: type: - string - 'null' format: date-time description: Timestamp when this pause record was soft-deleted deleted_by: type: - integer - 'null' description: User who soft-deleted this pause record id: type: integer paused_by: $ref: '#/components/schemas/UserSimple' project: type: - integer - 'null' description: Related project for which the pause is set reason: $ref: '#/components/schemas/ReasonEnum' description: |- Reason for pausing * `MANUAL` - Manual * `BEHAVIOR_BASED` - Behavior-based * `ANNOTATOR_EVALUATION` - Annotator evaluation * `ANNOTATION_LIMIT` - Annotation limit * `CUSTOM_SCRIPT` - Custom script updated_at: type: string format: date-time description: Timestamp when this pause record was last updated user: type: - integer - 'null' description: User who is paused verbose_reason: type: - string - 'null' description: Detailed description of why the project is paused, will be readable by paused annotators required: - created_at - deleted_at - deleted_by - id - paused_by - project - reason - updated_at - user 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: Pause PauseRequest: type: object properties: reason: $ref: '#/components/schemas/ReasonEnum' description: |- Reason for pausing * `MANUAL` - Manual * `BEHAVIOR_BASED` - Behavior-based * `ANNOTATOR_EVALUATION` - Annotator evaluation * `ANNOTATION_LIMIT` - Annotation limit * `CUSTOM_SCRIPT` - Custom script verbose_reason: type: - string - 'null' description: Detailed description of why the project is paused, will be readable by paused annotators required: - reason 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: PauseRequest PatchedPauseRequest: type: object properties: reason: $ref: '#/components/schemas/ReasonEnum' description: |- Reason for pausing * `MANUAL` - Manual * `BEHAVIOR_BASED` - Behavior-based * `ANNOTATOR_EVALUATION` - Annotator evaluation * `ANNOTATION_LIMIT` - Annotation limit * `CUSTOM_SCRIPT` - Custom script verbose_reason: type: - string - 'null' description: Detailed description of why the project is paused, will be readable by paused annotators 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: PatchedPauseRequest AuthMethodEnum: type: string enum: - NONE - BASIC_AUTH description: |- * `NONE` - None * `BASIC_AUTH` - Basic Auth title: AuthMethodEnum StateEnum: type: string enum: - CO - DI - ER - TR - PR description: |- * `CO` - Connected * `DI` - Disconnected * `ER` - Error * `TR` - Training * `PR` - Predicting title: StateEnum MLBackend: type: object properties: auth_method: $ref: '#/components/schemas/AuthMethodEnum' auto_update: type: boolean description: If false, model version is set by the user, if true - getting latest version from backend. basic_auth_pass_is_set: type: boolean basic_auth_user: type: - string - 'null' description: HTTP Basic Auth user created_at: type: string format: date-time description: type: - string - 'null' description: Description for the machine learning backend error_message: type: - string - 'null' description: Error message in error state extra_params: oneOf: - description: Any type - type: 'null' description: Any extra parameters passed to the ML Backend during the setup id: type: integer is_interactive: type: boolean description: Used to interactively annotate tasks. If true, model returns one list with results model_version: type: - string - 'null' description: Current model version associated with this machine learning backend project: type: integer readable_state: type: string state: $ref: '#/components/schemas/StateEnum' timeout: type: number format: double description: Response model timeout title: type: - string - 'null' description: Name of the machine learning backend updated_at: type: string format: date-time url: type: string description: URL for the machine learning model server required: - basic_auth_pass_is_set - created_at - id - project - readable_state - updated_at - url description: Serializer for MLBackend model. title: MLBackend ApiMlPostRequestBodyContentApplicationJsonSchemaAuthMethod: type: string enum: - NONE - BASIC_AUTH description: Auth method title: ApiMlPostRequestBodyContentApplicationJsonSchemaAuthMethod ApiMlPostRequestBodyContentApplicationJsonSchemaExtraParams: type: object properties: {} description: Extra parameters title: ApiMlPostRequestBodyContentApplicationJsonSchemaExtraParams ApiMlIdPatchRequestBodyContentApplicationJsonSchemaAuthMethod: type: string enum: - NONE - BASIC_AUTH description: Auth method title: ApiMlIdPatchRequestBodyContentApplicationJsonSchemaAuthMethod ApiMlIdPatchRequestBodyContentApplicationJsonSchemaExtraParams: type: object properties: {} description: Extra parameters title: ApiMlIdPatchRequestBodyContentApplicationJsonSchemaExtraParams MLInteractiveAnnotatingRequestRequest: type: object properties: context: oneOf: - description: Any type - type: 'null' description: Context for ML model task: type: integer description: ID of task to annotate required: - task description: Serializer for ML interactive annotating request. title: MLInteractiveAnnotatingRequestRequest ml_predict_interactive_Response_200: type: object properties: {} description: Empty response body title: ml_predict_interactive_Response_200 ml_predict_all_tasks_Response_200: type: object properties: {} description: Empty response body title: ml_predict_all_tasks_Response_200 ml_train_Response_200: type: object properties: {} description: Empty response body title: ml_train_Response_200 ml_list_model_versions_Response_200: type: object properties: message: type: string versions: type: array items: type: string title: ml_list_model_versions_Response_200 BudgetResetPeriodEnum: type: string enum: - Monthly - Yearly description: |- * `Monthly` - Monthly * `Yearly` - Yearly title: BudgetResetPeriodEnum ScopeEnum: type: string enum: - Organization - User - Model description: |- * `Organization` - Organization * `User` - User * `Model` - Model title: ScopeEnum ModelProviderConnection: type: object properties: budget_alert_threshold: type: - number - 'null' format: double description: Budget alert threshold for the given provider connection budget_last_reset_date: type: - string - 'null' format: date-time description: Date and time the budget was last reset budget_limit: type: - number - 'null' format: double description: Budget limit for the model provider connection (null if unlimited) budget_reset_period: oneOf: - $ref: '#/components/schemas/BudgetResetPeriodEnum' - type: 'null' description: |- Budget reset period for the model provider connection (null if not reset) * `Monthly` - Monthly * `Yearly` - Yearly budget_total_spent: type: - number - 'null' format: double description: Tracked total budget spent for the given provider connection within the current budget period cached_available_models: type: - string - 'null' description: List of available models from the provider created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' deployment_name: type: - string - 'null' description: Azure OpenAI deployment name endpoint: type: - string - 'null' description: Azure OpenAI endpoint google_location: type: - string - 'null' description: Google project location google_project_id: type: - string - 'null' description: Google project ID id: type: integer is_internal: type: - boolean - 'null' description: Whether the model provider connection is internal, not visible to the user model_params: type: string description: JSON schema for the model parameters available for the provider organization: type: - integer - 'null' provider: $ref: '#/components/schemas/ProviderEnum' scope: $ref: '#/components/schemas/ScopeEnum' updated_at: type: string format: date-time required: - budget_last_reset_date - budget_limit - budget_reset_period - budget_total_spent - created_at - created_by - id - model_params - organization - updated_at title: ModelProviderConnection ModelProviderConnectionRequest: type: object properties: api_key: type: - string - 'null' description: Model provider API key auth_token: type: - string - 'null' description: Model provider Auth token budget_alert_threshold: type: - number - 'null' format: double description: Budget alert threshold for the given provider connection cached_available_models: type: - string - 'null' description: List of available models from the provider deployment_name: type: - string - 'null' description: Azure OpenAI deployment name endpoint: type: - string - 'null' description: Azure OpenAI endpoint google_application_credentials: type: - string - 'null' description: The content of GOOGLE_APPLICATION_CREDENTIALS json file google_location: type: - string - 'null' description: Google project location google_project_id: type: - string - 'null' description: Google project ID is_internal: type: - boolean - 'null' description: Whether the model provider connection is internal, not visible to the user provider: $ref: '#/components/schemas/ProviderEnum' scope: $ref: '#/components/schemas/ScopeEnum' title: ModelProviderConnectionRequest model_providers_list_model_provider_choices_Response_200: type: object properties: provider_choices: type: array items: type: string title: model_providers_list_model_provider_choices_Response_200 PatchedModelProviderConnectionRequest: type: object properties: api_key: type: - string - 'null' description: Model provider API key auth_token: type: - string - 'null' description: Model provider Auth token budget_alert_threshold: type: - number - 'null' format: double description: Budget alert threshold for the given provider connection cached_available_models: type: - string - 'null' description: List of available models from the provider deployment_name: type: - string - 'null' description: Azure OpenAI deployment name endpoint: type: - string - 'null' description: Azure OpenAI endpoint google_application_credentials: type: - string - 'null' description: The content of GOOGLE_APPLICATION_CREDENTIALS json file google_location: type: - string - 'null' description: Google project location google_project_id: type: - string - 'null' description: Google project ID is_internal: type: - boolean - 'null' description: Whether the model provider connection is internal, not visible to the user provider: $ref: '#/components/schemas/ProviderEnum' scope: $ref: '#/components/schemas/ScopeEnum' title: PatchedModelProviderConnectionRequest PredictionResultItems: type: object properties: {} description: List of predicted regions for the task title: PredictionResultItems Prediction: type: object properties: cluster: type: - integer - 'null' description: Cluster for the current prediction created_ago: type: string default: '' description: Delta time from creation time created_at: type: string format: date-time id: type: integer mislabeling: type: number format: double description: Related task mislabeling score model: type: - integer - 'null' description: An ML Backend instance that created the prediction. model_run: type: - integer - 'null' description: A run of a ModelVersion that created the prediction. 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 neighbors: oneOf: - description: Any type - type: 'null' description: Array of task IDs of the closest neighbors project: type: - integer - 'null' result: type: array items: $ref: '#/components/schemas/PredictionResultItems' description: List of prediction results for the task score: type: - number - 'null' format: double description: Prediction score task: type: integer updated_at: type: string format: date-time required: - created_ago - created_at - id - result - task - updated_at title: Prediction ApiPredictionsPostRequestBodyContentApplicationJsonSchemaResultItems: type: object properties: {} title: ApiPredictionsPostRequestBodyContentApplicationJsonSchemaResultItems ApiPredictionsIdPatchRequestBodyContentApplicationJsonSchemaResultItems: type: object properties: {} title: ApiPredictionsIdPatchRequestBodyContentApplicationJsonSchemaResultItems ProjectTemplate: type: object properties: assignment_settings: description: general dict serialized assignment settings created_at: type: string format: date-time created_by: type: - integer - 'null' custom_script: type: - string - 'null' description: custom script (Plugin) for projects created from this template description: type: - string - 'null' id: type: integer name: type: string organization: type: - integer - 'null' project_settings: description: general dict serialized project settings require_comment_on_skip: type: boolean description: flag to require comment on skip review_settings: description: general dict serialized review settings show_unused_data_columns_to_annotators: type: - boolean - 'null' tags: description: Any type updated_at: type: string format: date-time required: - created_at - id - name - updated_at title: ProjectTemplate ProjectTemplateRequest: type: object properties: assignment_settings: description: general dict serialized assignment settings created_by: type: - integer - 'null' custom_script: type: - string - 'null' description: custom script (Plugin) for projects created from this template description: type: - string - 'null' name: type: string organization: type: - integer - 'null' project_id: type: integer project_settings: description: general dict serialized project settings require_comment_on_skip: type: boolean description: flag to require comment on skip review_settings: description: general dict serialized review settings show_unused_data_columns_to_annotators: type: - boolean - 'null' tags: description: Any type required: - name - project_id title: ProjectTemplateRequest PatchedProjectTemplateRequest: type: object properties: assignment_settings: description: general dict serialized assignment settings created_by: type: - integer - 'null' custom_script: type: - string - 'null' description: custom script (Plugin) for projects created from this template description: type: - string - 'null' name: type: string organization: type: - integer - 'null' project_id: type: integer project_settings: description: general dict serialized project settings require_comment_on_skip: type: boolean description: flag to require comment on skip review_settings: description: general dict serialized review settings show_unused_data_columns_to_annotators: type: - boolean - 'null' tags: description: Any type title: PatchedProjectTemplateRequest LseProject: type: object properties: agreement_methodology: $ref: '#/components/schemas/AgreementMethodologyEnum' description: |- Methodology (Consensus / Pairwise Averaging) * `consensus` - Consensus * `pairwise` - Pairwise Averaging agreement_threshold: type: - string - 'null' format: decimal description: Agreement threshold annotation_limit_count: type: - integer - 'null' description: Limit by number of tasks annotation_limit_percent: type: - string - 'null' format: decimal description: Limit by percentage of tasks annotator_evaluation_continuous_tasks: type: integer default: 0 description: 'Continuous Evaluation: Required tasks' annotator_evaluation_enabled: type: boolean description: Evaluate all annotators against ground truth annotator_evaluation_minimum_score: type: - string - 'null' format: decimal default: '95.00' description: Score required to pass evaluation annotator_evaluation_minimum_tasks: type: - integer - 'null' default: 10 description: Number of tasks for evaluation annotator_evaluation_onboarding_tasks: type: integer default: 0 description: 'Onboarding Evaluation: Required tasks' assignment_settings: $ref: '#/components/schemas/AssignmentSettings' color: type: - string - 'null' description: Color comment_classification_config: type: string config_has_control_tags: type: boolean description: Flag to detect is project ready for labeling config_suitable_for_bulk_annotation: type: boolean description: Flag to detect is project ready for bulk annotation control_weights: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/ControlTagWeight' description: >- Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight. created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' description: Project owner custom_interface_code: type: - string - 'null' custom_interface_compiled: type: - string - 'null' custom_interface_params: oneOf: - description: Any type - type: 'null' custom_script: type: string description: Plugins custom_task_lock_ttl: type: - integer - 'null' description: Task reservation time. TTL in seconds (UI displays and edits this value in minutes). data_types: type: - object - 'null' additionalProperties: description: Any type description: type: - string - 'null' description: Description duplication_done: type: boolean default: false duplication_status: type: string enable_empty_annotation: type: boolean description: Allow empty annotations evaluate_predictions_automatically: type: boolean description: Retrieve and display predictions when loading a task expert_instruction: type: - string - 'null' description: Instructions finished_task_number: type: integer description: Finished tasks ground_truth_number: type: integer description: Honeypot annotation number in project id: type: integer input_schema: oneOf: - description: Any type - type: 'null' is_dimensions_enabled: type: string is_draft: type: boolean description: Whether or not the project is in the middle of being created is_published: type: boolean description: Whether or not the project is published to annotators label_config: type: - string - 'null' description: Labeling Configuration max_additional_annotators_assignable: type: - integer - 'null' description: Maximum additional annotators maximum_annotations: type: integer description: Annotations per task members: type: string members_count: type: integer min_annotations_to_start_training: type: integer description: Minimum number of completed tasks after which model training is started model_version: type: - string - 'null' description: Machine learning model version num_tasks_with_annotations: type: - integer - 'null' organization: type: - integer - 'null' overlap_cohort_percentage: type: integer description: Annotations per task coverage parsed_label_config: type: object additionalProperties: description: Any type description: JSON-formatted labeling configuration pause_on_failed_annotator_evaluation: type: - boolean - 'null' default: false description: Pause annotator on failed evaluation pinned_at: type: - string - 'null' format: date-time description: Pinned date and time prompts: type: string queue_done: type: string queue_left: type: string queue_total: type: string require_comment_on_skip: type: boolean default: false description: Require comment to skip reveal_preannotations_interactively: type: boolean description: Reveal pre-annotations interactively review_settings: $ref: '#/components/schemas/ReviewSettings' reviewer_queue_total: type: string sampling: oneOf: - $ref: '#/components/schemas/SamplingDe5Enum' - type: 'null' show_annotation_history: type: boolean description: Show Data Manager to Annotators show_collab_predictions: type: boolean description: Use predictions to pre-label Tasks show_ground_truth_first: type: boolean description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream' show_instruction: type: boolean description: Show instructions before labeling show_overlap_first: type: boolean description: Show tasks with overlap first show_skip_button: type: boolean description: Allow skipping tasks show_unused_data_columns_to_annotators: type: - boolean - 'null' description: >- Show only columns used in labeling configuration to Annotators. API uses inverse field semantics here: set false to show only used columns, set true to show all task.data columns. skip_queue: oneOf: - $ref: '#/components/schemas/SkipQueueEnum' - type: 'null' skipped_annotations_number: type: integer description: Skipped by collaborators annotation number in project source_interface_id: type: - integer - 'null' source_interface_version: type: - integer - 'null' start_training_on_annotation_update: type: boolean description: Start model training after any annotations are submitted or updated state: type: string strict_task_overlap: type: boolean default: true description: Enforce strict overlap limit task_data_login: type: - string - 'null' description: Login task_data_password: type: - string - 'null' description: Password task_number: type: integer description: Total task number in project title: type: - string - 'null' description: Project Name total_annotations_number: type: integer description: Total annotations number in project including skipped_annotations_number and ground_truth_number. total_predictions_number: type: integer description: >- Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number. use_custom_interface: type: boolean default: false useful_annotation_number: type: integer description: >- Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number workspace: type: string workspace_title: type: string required: - assignment_settings - config_has_control_tags - config_suitable_for_bulk_annotation - created_at - data_types - finished_task_number - ground_truth_number - id - is_dimensions_enabled - members - members_count - num_tasks_with_annotations - parsed_label_config - prompts - queue_done - queue_left - queue_total - review_settings - reviewer_queue_total - skipped_annotations_number - start_training_on_annotation_update - state - task_number - total_annotations_number - total_predictions_number - useful_annotation_number - workspace - workspace_title description: |- Serializer get numbers from project queryset annotation, make sure, that you use correct one(Project.objects.with_counts()) title: LseProject ProjectImport: type: object properties: annotation_count: type: integer commit_to_project: type: boolean could_be_tasks_list: type: boolean created_at: type: - string - 'null' format: date-time description: Creation time data_columns: description: Any type duration: type: integer error: type: - string - 'null' file_upload_ids: description: Any type finished_at: type: - string - 'null' format: date-time description: Complete or fail time found_formats: description: Any type id: type: integer preannotated_from_fields: oneOf: - description: Any type - type: 'null' prediction_count: type: integer project: type: - integer - 'null' return_task_ids: type: boolean status: $ref: '#/components/schemas/Status7bfEnum' task_count: type: integer task_ids: description: Any type tasks: oneOf: - description: Any type - type: 'null' updated_at: type: - string - 'null' format: date-time description: Updated time url: type: - string - 'null' required: - created_at - id - updated_at title: ProjectImport ApiTasksGetParametersFields: type: string enum: - all - task_only title: ApiTasksGetParametersFields LseTaskAnnotatorsItems: type: object properties: {} title: LseTaskAnnotatorsItems LseTaskDraftsItemsResultItems: type: object properties: {} title: LseTaskDraftsItemsResultItems LseTaskDraftsItems: type: object properties: created_at: type: string format: date-time result: type: array items: $ref: '#/components/schemas/LseTaskDraftsItemsResultItems' updated_at: type: string format: date-time title: LseTaskDraftsItems LseTaskPredictionsItemsModel: type: object properties: {} title: LseTaskPredictionsItemsModel LseTaskPredictionsItemsModelRun: type: object properties: {} title: LseTaskPredictionsItemsModelRun LseTaskPredictionsItemsResultItems: type: object properties: {} title: LseTaskPredictionsItemsResultItems LseTaskPredictionsItems: type: object properties: created_at: type: string format: date-time model: $ref: '#/components/schemas/LseTaskPredictionsItemsModel' model_run: $ref: '#/components/schemas/LseTaskPredictionsItemsModelRun' model_version: type: string project: type: integer result: type: array items: $ref: '#/components/schemas/LseTaskPredictionsItemsResultItems' score: type: number format: double task: type: integer updated_at: type: string format: date-time title: LseTaskPredictionsItems LseTaskUpdatedByItems: type: object properties: {} title: LseTaskUpdatedByItems LseTask: type: object properties: agreement: type: string agreement_selected: type: string allow_skip: type: - boolean - 'null' description: Whether this task can be skipped. Set to False to make task unskippable. annotation_time: type: integer description: |- Calculate total annotation time for this task from MetricInTimeBucket records. Returns time in seconds. annotations: type: string annotations_ids: type: string annotations_results: type: string annotators: type: array items: $ref: '#/components/schemas/LseTaskAnnotatorsItems' description: Who annotated this task; each item includes user_id plus minimal profile fields for Data Manager display. annotators_count: type: integer description: >- The annotators_count is calculated as the number of users with annotations (can be repeated, so same as the number of annotations) + the number of assignees without annotations. avg_lead_time: type: number format: double cancelled_annotations: type: integer comment_authors: type: array items: type: object additionalProperties: description: Any type comment_authors_count: type: integer comment_count: type: integer description: Number of comments in the task including all annotations comments: type: string completed_at: type: string format: date-time created_at: type: string format: date-time description: Time a task was created data: type: object additionalProperties: description: Any type description: >- User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI. draft_exists: type: boolean drafts: type: array items: $ref: '#/components/schemas/LseTaskDraftsItems' description: Drafts for this task file_upload: type: string ground_truth: type: boolean id: type: integer inner_id: type: integer is_labeled: type: boolean description: >- True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project last_comment_updated_at: type: - string - 'null' format: date-time description: When the last comment was updated meta: oneOf: - description: Any type - type: 'null' description: >- Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps. overlap: type: integer description: Number of distinct annotators that processed the current task precomputed_agreement: type: - number - 'null' format: double description: Average agreement score for the task predictions: type: array items: $ref: '#/components/schemas/LseTaskPredictionsItems' description: Predictions for this task predictions_model_versions: type: string predictions_results: type: string predictions_score: type: number format: double project: type: - integer - 'null' description: Project ID for this task review_time: type: integer description: |- Calculate total review time for this task from MetricInTimeBucket records. Returns time in seconds. reviewed: type: boolean reviewers: type: array items: type: object additionalProperties: description: Any type reviewers_count: type: integer reviews_accepted: type: integer reviews_rejected: type: integer state: type: string storage_filename: type: string total_annotations: type: integer total_predictions: type: integer unresolved_comment_count: type: integer description: Number of unresolved comments in the task including all annotations updated_at: type: string format: date-time description: Last time a task was updated updated_by: type: array items: $ref: '#/components/schemas/LseTaskUpdatedByItems' description: User IDs who updated this task required: - agreement - agreement_selected - annotation_time - annotations - annotations_ids - annotations_results - annotators - annotators_count - comment_authors - comment_authors_count - comments - created_at - data - drafts - file_upload - id - predictions - predictions_model_versions - predictions_results - review_time - reviewers - reviewers_count - state - storage_filename - updated_at - updated_by description: Data Manager Task Serializer with FSM state support. title: LseTask LseTaskSerializerForReviewersAnnotatorsItems: type: object properties: {} title: LseTaskSerializerForReviewersAnnotatorsItems LseTaskSerializerForReviewersDraftsItemsResultItems: type: object properties: {} title: LseTaskSerializerForReviewersDraftsItemsResultItems LseTaskSerializerForReviewersDraftsItems: type: object properties: created_at: type: string format: date-time result: type: array items: $ref: '#/components/schemas/LseTaskSerializerForReviewersDraftsItemsResultItems' updated_at: type: string format: date-time title: LseTaskSerializerForReviewersDraftsItems LseTaskSerializerForReviewersPredictionsItemsModel: type: object properties: {} title: LseTaskSerializerForReviewersPredictionsItemsModel LseTaskSerializerForReviewersPredictionsItemsModelRun: type: object properties: {} title: LseTaskSerializerForReviewersPredictionsItemsModelRun LseTaskSerializerForReviewersPredictionsItemsResultItems: type: object properties: {} title: LseTaskSerializerForReviewersPredictionsItemsResultItems LseTaskSerializerForReviewersPredictionsItems: type: object properties: created_at: type: string format: date-time model: $ref: '#/components/schemas/LseTaskSerializerForReviewersPredictionsItemsModel' model_run: $ref: '#/components/schemas/LseTaskSerializerForReviewersPredictionsItemsModelRun' model_version: type: string project: type: integer result: type: array items: $ref: '#/components/schemas/LseTaskSerializerForReviewersPredictionsItemsResultItems' score: type: number format: double task: type: integer updated_at: type: string format: date-time title: LseTaskSerializerForReviewersPredictionsItems LseTaskSerializerForReviewersUpdatedByItems: type: object properties: {} title: LseTaskSerializerForReviewersUpdatedByItems LseTaskSerializerForReviewers: type: object properties: agreement: type: string agreement_selected: type: string allow_skip: type: - boolean - 'null' description: Whether this task can be skipped. Set to False to make task unskippable. annotation_time: type: integer description: |- Calculate total annotation time for this task from MetricInTimeBucket records. Returns time in seconds. annotations: type: string annotations_ids: type: string annotations_results: type: string annotators: type: array items: $ref: '#/components/schemas/LseTaskSerializerForReviewersAnnotatorsItems' description: Who annotated this task; each item includes user_id plus minimal profile fields for Data Manager display. annotators_count: type: integer description: >- The annotators_count is calculated as the number of users with annotations (can be repeated, so same as the number of annotations) + the number of assignees without annotations. avg_lead_time: type: number format: double cancelled_annotations: type: integer comment_authors: type: array items: type: object additionalProperties: description: Any type comment_authors_count: type: integer comment_count: type: integer description: Number of comments in the task including all annotations comments: type: string completed_at: type: string format: date-time created_at: type: string format: date-time description: Time a task was created data: type: object additionalProperties: description: Any type description: >- User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI. draft_exists: type: boolean drafts: type: array items: $ref: '#/components/schemas/LseTaskSerializerForReviewersDraftsItems' description: Drafts for this task file_upload: type: string ground_truth: type: boolean id: type: integer inner_id: type: integer is_labeled: type: boolean description: >- True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project last_comment_updated_at: type: - string - 'null' format: date-time description: When the last comment was updated meta: oneOf: - description: Any type - type: 'null' description: >- Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps. overlap: type: integer description: Number of distinct annotators that processed the current task precomputed_agreement: type: - number - 'null' format: double description: Average agreement score for the task predictions: type: array items: $ref: '#/components/schemas/LseTaskSerializerForReviewersPredictionsItems' description: Predictions for this task predictions_model_versions: type: string predictions_results: type: string predictions_score: type: number format: double project: type: - integer - 'null' description: Project ID for this task review_time: type: integer description: |- Calculate total review time for this task from MetricInTimeBucket records. Returns time in seconds. reviewed: type: boolean reviewers: type: array items: type: object additionalProperties: description: Any type reviewers_count: type: integer reviews_accepted: type: integer reviews_rejected: type: integer state: type: string storage_filename: type: string total_annotations: type: integer total_predictions: type: integer unresolved_comment_count: type: integer description: Number of unresolved comments in the task including all annotations updated_at: type: string format: date-time description: Last time a task was updated updated_by: type: array items: $ref: '#/components/schemas/LseTaskSerializerForReviewersUpdatedByItems' description: User IDs who updated this task required: - agreement - agreement_selected - annotation_time - annotations - annotations_ids - annotations_results - annotators - annotators_count - comment_authors - comment_authors_count - comments - created_at - data - drafts - file_upload - id - predictions - predictions_model_versions - predictions_results - review_time - reviewers - reviewers_count - state - storage_filename - updated_at - updated_by description: Data Manager Task Serializer with FSM state support. title: LseTaskSerializerForReviewers LseTaskSerializerForAnnotatorsDraftsItemsResultItems: type: object properties: {} title: LseTaskSerializerForAnnotatorsDraftsItemsResultItems LseTaskSerializerForAnnotatorsDraftsItems: type: object properties: created_at: type: string format: date-time result: type: array items: $ref: '#/components/schemas/LseTaskSerializerForAnnotatorsDraftsItemsResultItems' updated_at: type: string format: date-time title: LseTaskSerializerForAnnotatorsDraftsItems LseTaskSerializerForAnnotatorsPredictionsItemsModel: type: object properties: {} title: LseTaskSerializerForAnnotatorsPredictionsItemsModel LseTaskSerializerForAnnotatorsPredictionsItemsModelRun: type: object properties: {} title: LseTaskSerializerForAnnotatorsPredictionsItemsModelRun LseTaskSerializerForAnnotatorsPredictionsItemsResultItems: type: object properties: {} title: LseTaskSerializerForAnnotatorsPredictionsItemsResultItems LseTaskSerializerForAnnotatorsPredictionsItems: type: object properties: created_at: type: string format: date-time model: $ref: '#/components/schemas/LseTaskSerializerForAnnotatorsPredictionsItemsModel' model_run: $ref: '#/components/schemas/LseTaskSerializerForAnnotatorsPredictionsItemsModelRun' model_version: type: string project: type: integer result: type: array items: $ref: '#/components/schemas/LseTaskSerializerForAnnotatorsPredictionsItemsResultItems' score: type: number format: double task: type: integer updated_at: type: string format: date-time title: LseTaskSerializerForAnnotatorsPredictionsItems LseTaskSerializerForAnnotators: type: object properties: annotations: type: string annotations_results: type: string cancelled_annotations: type: integer comment_count: type: string comments: type: string created_at: type: string format: date-time description: Time a task was created data: type: object additionalProperties: description: Any type description: >- User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI. draft_exists: type: boolean drafts: type: array items: $ref: '#/components/schemas/LseTaskSerializerForAnnotatorsDraftsItems' description: Drafts for this task id: type: integer predictions: type: array items: $ref: '#/components/schemas/LseTaskSerializerForAnnotatorsPredictionsItems' description: Predictions for this task predictions_results: type: string predictions_score: type: number format: double reviews_rejected: type: integer state: type: string total_annotations: type: integer total_predictions: type: integer unresolved_comment_count: type: string required: - annotations - annotations_results - comment_count - comments - created_at - data - drafts - id - predictions - predictions_results - state - unresolved_comment_count description: Data Manager Task Serializer with FSM state support. title: LseTaskSerializerForAnnotators RoleBasedTask: oneOf: - $ref: '#/components/schemas/LseTask' - $ref: '#/components/schemas/LseTaskSerializerForReviewers' - $ref: '#/components/schemas/LseTaskSerializerForAnnotators' title: RoleBasedTask PaginatedRoleBasedTaskList: type: object properties: tasks: type: array items: $ref: '#/components/schemas/RoleBasedTask' total: type: integer description: Total number of tasks total_annotations: type: integer description: Total number of annotations total_predictions: type: integer description: Total number of predictions required: - tasks - total - total_annotations - total_predictions title: PaginatedRoleBasedTaskList LseTaskRequest: type: object properties: allow_skip: type: - boolean - 'null' description: Whether this task can be skipped. Set to False to make task unskippable. cancelled_annotations: type: integer description: Number of total cancelled annotations for the current task comment_authors: type: array items: type: integer description: Users who wrote comments comment_count: type: integer description: Number of comments in the task including all annotations data: type: object additionalProperties: description: Any type description: >- User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI. file_upload: type: - integer - 'null' description: Uploaded file used as data source for this task inner_id: type: - integer - 'null' format: int64 description: Internal task ID in the project, starts with 1 is_labeled: type: boolean description: >- True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project last_comment_updated_at: type: - string - 'null' format: date-time description: When the last comment was updated meta: oneOf: - description: Any type - type: 'null' description: >- Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps. overlap: type: integer description: Number of distinct annotators that processed the current task project: type: - integer - 'null' description: Project ID for this task total_annotations: type: integer description: Number of total annotations for the current task except cancelled annotations total_predictions: type: integer description: Number of total predictions for the current task unresolved_comment_count: type: integer description: Number of unresolved comments in the task including all annotations updated_by: type: - integer - 'null' description: Last annotator or reviewer who updated this task required: - data description: Task Serializer with project scheme configs validation title: LseTaskRequest PatchedLseTaskRequest: type: object properties: allow_skip: type: - boolean - 'null' description: Whether this task can be skipped. Set to False to make task unskippable. avg_lead_time: type: number format: double cancelled_annotations: type: integer comment_count: type: integer description: Number of comments in the task including all annotations completed_at: type: string format: date-time data: type: object additionalProperties: description: Any type description: >- User imported or uploaded data for a task. Data is formatted according to the project label config. You can find examples of data for your project on the Import page in the Label Studio Data Manager UI. draft_exists: type: boolean ground_truth: type: boolean inner_id: type: integer is_labeled: type: boolean description: >- True if the number of annotations for this task is greater than or equal to the number of maximum_completions for the project last_comment_updated_at: type: - string - 'null' format: date-time description: When the last comment was updated meta: oneOf: - description: Any type - type: 'null' description: >- Meta is user imported (uploaded) data and can be useful as input for an ML Backend for embeddings, advanced vectors, and other info. It is passed to ML during training/predicting steps. overlap: type: integer description: Number of distinct annotators that processed the current task precomputed_agreement: type: - number - 'null' format: double description: Average agreement score for the task predictions_score: type: number format: double project: type: - integer - 'null' description: Project ID for this task reviewed: type: boolean reviews_accepted: type: integer reviews_rejected: type: integer total_annotations: type: integer total_predictions: type: integer unresolved_comment_count: type: integer description: Number of unresolved comments in the task including all annotations description: Data Manager Task Serializer with FSM state support. title: PatchedLseTaskRequest TaskEventRequest: type: object properties: annotation: type: - integer - 'null' description: Annotation ID associated with this event annotation_draft_id: type: - integer - 'null' description: Draft annotation ID associated with this event event_key: type: string description: Event type identifier (e.g., "annotation_loaded", "region_finished_drawing") event_time: type: string format: date-time description: Timestamp when the event occurred (frontend time) meta: oneOf: - description: Any type - type: 'null' description: Additional event metadata (region data, hotkey info, etc.) review: type: - integer - 'null' description: Review ID associated with this event required: - event_key - event_time description: |- Serializer for TaskEvent model to handle event creation from frontend. This serializer validates and processes task events sent from the labeling interface, ensuring proper data format and automatically setting required relationships. title: TaskEventRequest TaskEvent: type: object properties: actor: type: integer annotation: type: - integer - 'null' description: Annotation ID associated with this event annotation_draft_id: type: - integer - 'null' description: Draft annotation ID associated with this event created_at: type: string format: date-time event_key: type: string description: Event type identifier (e.g., "annotation_loaded", "region_finished_drawing") event_time: type: string format: date-time description: Timestamp when the event occurred (frontend time) id: type: integer meta: oneOf: - description: Any type - type: 'null' description: Additional event metadata (region data, hotkey info, etc.) organization: type: integer project: type: integer review: type: - integer - 'null' description: Review ID associated with this event task: type: integer description: Task this event is associated with required: - actor - created_at - event_key - event_time - id - organization - project - task description: |- Serializer for TaskEvent model to handle event creation from frontend. This serializer validates and processes task events sent from the labeling interface, ensuring proper data format and automatically setting required relationships. title: TaskEvent AgreementSelectionGroupRequest: type: object properties: all: type: boolean default: false ids: type: array items: type: string title: AgreementSelectionGroupRequest AgreementSelectionRequest: type: object properties: annotators: $ref: '#/components/schemas/AgreementSelectionGroupRequest' ground_truth: type: boolean default: false models: $ref: '#/components/schemas/AgreementSelectionGroupRequest' title: AgreementSelectionRequest TaskAgreementMatrixResponse: type: object properties: matrix: type: array items: type: array items: type: number format: double description: Pairwise agreement scores matrix where matrix[i][j] is the agreement between users[i] and users[j] users: type: array items: type: object additionalProperties: description: Any type description: Expanded participant details (annotators and/or model versions) required: - matrix - users title: TaskAgreementMatrixResponse ProjectGroupRoleEnum: type: string enum: - Inherit - Annotator - Reviewer description: |- * `Inherit` - Inherit * `Annotator` - Annotator * `Reviewer` - Reviewer title: ProjectGroupRoleEnum ProjectGroup: type: object properties: group: type: string description: Group name project_id: type: integer description: Project ID role: $ref: '#/components/schemas/ProjectGroupRoleEnum' description: |- Project role (Inherit, Annotator, Reviewer) * `Inherit` - Inherit * `Annotator` - Annotator * `Reviewer` - Reviewer required: - group - project_id - role title: ProjectGroup SamlSettings: type: object properties: acs_url: type: - string - 'null' domain: type: string description: >- Organization web domain or domains; use comma separated list with no spaces for multiple. Example:

    labelstud.io,humansignal.com

    IMPORTANT: DO NOT PUT COMMON DOMAINS LIKE GMAIL.COM, YAHOO.COM, ETC. IN THIS FIELD idp_provider: type: - string - 'null' description: Identity Provider preset key (e.g. okta, azure, google, custom) login_url: type: - string - 'null' logout_url: type: - string - 'null' manual_role_management: type: - boolean - 'null' description: Allow manually assigning organization roles instead of IdP-managed groups. None = use billing default. mapping_email: type: - string - 'null' description: 'Mapping attributes: user email from SAML request' mapping_first_name: type: - string - 'null' description: 'Mapping attributes: user first name from SAML request' mapping_groups: type: - string - 'null' description: 'Mapping attributes: groups attribute for user mapping to workspaces and roles' mapping_last_name: type: - string - 'null' description: 'Mapping attributes: user last name from SAML request' metadata_url: type: string description: URL SAML metadata from IdP metadata_xml: type: string description: Metadata XML file metadata_xml_url: type: - string - 'null' nameid_format: type: string projects_groups: type: - array - 'null' items: $ref: '#/components/schemas/ProjectGroup' description: Projects to Groups Mapping. List of objects with project_id, group, role. roles_groups: type: - array - 'null' items: type: array items: type: string description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs. token: type: string workspaces_groups: type: - array - 'null' items: type: array items: type: string description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs. required: - acs_url - login_url - logout_url - metadata_xml_url - nameid_format description: |- Serializer for reading SAML settings (GET requests). Includes all model fields plus computed read-only fields for SP URLs that are needed for IdP configuration. title: SamlSettings ProjectGroupRequest: type: object properties: group: type: string description: Group name project_id: type: integer description: Project ID role: $ref: '#/components/schemas/ProjectGroupRoleEnum' description: |- Project role (Inherit, Annotator, Reviewer) * `Inherit` - Inherit * `Annotator` - Annotator * `Reviewer` - Reviewer required: - group - project_id - role title: ProjectGroupRequest SamlSettingsUpdateRequest: type: object properties: domain: type: string description: >- Organization web domain or domains; use comma separated list with no spaces for multiple. Example:

    labelstud.io,humansignal.com

    IMPORTANT: DO NOT PUT COMMON DOMAINS LIKE GMAIL.COM, YAHOO.COM, ETC. IN THIS FIELD idp_provider: type: - string - 'null' description: Identity Provider preset key (e.g. okta, azure, google, custom) manual_role_management: type: - boolean - 'null' description: Allow manually assigning organization roles instead of IdP-managed groups. None = use billing default. mapping_email: type: - string - 'null' description: 'Mapping attributes: user email from SAML request' mapping_first_name: type: - string - 'null' description: 'Mapping attributes: user first name from SAML request' mapping_groups: type: - string - 'null' description: 'Mapping attributes: groups attribute for user mapping to workspaces and roles' mapping_last_name: type: - string - 'null' description: 'Mapping attributes: user last name from SAML request' metadata_url: type: string description: URL SAML metadata from IdP metadata_xml: type: string description: Metadata XML file projects_groups: type: array items: $ref: '#/components/schemas/ProjectGroupRequest' description: Projects to Groups Mapping. List of objects with project_id, group, role. roles_groups: type: array items: type: array items: type: string description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs. workspaces_groups: type: array items: type: array items: type: string description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs. description: Serializer for updating SAML settings (POST requests). title: SamlSettingsUpdateRequest SamlSettingsUpdate: type: object properties: domain: type: string description: >- Organization web domain or domains; use comma separated list with no spaces for multiple. Example:

    labelstud.io,humansignal.com

    IMPORTANT: DO NOT PUT COMMON DOMAINS LIKE GMAIL.COM, YAHOO.COM, ETC. IN THIS FIELD idp_provider: type: - string - 'null' description: Identity Provider preset key (e.g. okta, azure, google, custom) manual_role_management: type: - boolean - 'null' description: Allow manually assigning organization roles instead of IdP-managed groups. None = use billing default. mapping_email: type: - string - 'null' description: 'Mapping attributes: user email from SAML request' mapping_first_name: type: - string - 'null' description: 'Mapping attributes: user first name from SAML request' mapping_groups: type: - string - 'null' description: 'Mapping attributes: groups attribute for user mapping to workspaces and roles' mapping_last_name: type: - string - 'null' description: 'Mapping attributes: user last name from SAML request' metadata_url: type: string description: URL SAML metadata from IdP metadata_xml: type: string description: Metadata XML file projects_groups: type: array items: $ref: '#/components/schemas/ProjectGroup' description: Projects to Groups Mapping. List of objects with project_id, group, role. roles_groups: type: array items: type: array items: type: string description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs. workspaces_groups: type: array items: type: array items: type: string description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs. description: Serializer for updating SAML settings (POST requests). title: SamlSettingsUpdate ValidateSamlMetadataUrlRequestRequest: type: object properties: metadata_url: type: string format: uri required: - metadata_url title: ValidateSamlMetadataUrlRequestRequest ValidateSamlMetadataUrlResponse: type: object properties: valid: type: boolean required: - valid title: ValidateSamlMetadataUrlResponse ScimSettings: type: object properties: projects_groups: type: - array - 'null' items: $ref: '#/components/schemas/ProjectGroup' description: Projects to Groups Mapping. List of objects with project_id, group, role. roles_groups: type: - array - 'null' items: type: array items: type: string description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs. workspaces_groups: type: - array - 'null' items: type: array items: type: string description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs. title: ScimSettings ScimSettingsUpdateRequest: type: object properties: projects_groups: type: array items: $ref: '#/components/schemas/ProjectGroupRequest' description: Projects to Groups Mapping. List of objects with project_id, group, role. roles_groups: type: array items: type: array items: type: string description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs. workspaces_groups: type: array items: type: array items: type: string description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs. title: ScimSettingsUpdateRequest ScimSettingsUpdate: type: object properties: projects_groups: type: array items: $ref: '#/components/schemas/ProjectGroup' description: Projects to Groups Mapping. List of objects with project_id, group, role. roles_groups: type: array items: type: array items: type: string description: Organization Roles to Groups Mapping. List of [role_name, group_name] pairs. workspaces_groups: type: array items: type: array items: type: string description: Workspaces to Groups Mapping. List of [workspace_title, group_name] pairs. title: ScimSettingsUpdate SessionTimeoutPolicy: type: object properties: created_at: type: string format: date-time max_session_age: type: integer description: Number of minutes that a session can be active before needing to re-login max_time_between_activity: type: integer description: Number of minutes that a session stays active without any activity updated_at: type: string format: date-time required: - created_at - updated_at title: SessionTimeoutPolicy PatchedSessionTimeoutPolicyRequest: type: object properties: max_session_age: type: integer description: Number of minutes that a session can be active before needing to re-login max_time_between_activity: type: integer description: Number of minutes that a session stays active without any activity title: PatchedSessionTimeoutPolicyRequest ApiStoragesTypesGetResponsesContentApplicationJsonSchemaItems: type: object properties: name: type: string title: type: string title: ApiStoragesTypesGetResponsesContentApplicationJsonSchemaItems StatusC5aEnum: type: string enum: - initialized - queued - in_progress - failed - completed - completed_with_errors description: |- * `initialized` - Initialized * `queued` - Queued * `in_progress` - In progress * `failed` - Failed * `completed` - Completed * `completed_with_errors` - Completed with errors title: StatusC5aEnum AzureBlobImportStorage: type: object properties: account_key: type: - string - 'null' description: Azure Blob account key account_name: type: - string - 'null' description: Azure Blob account name container: type: - string - 'null' description: Azure blob container created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Azure blob prefix name presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan over the container content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: azure use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: AzureBlobImportStorage import_storage_azure_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_azure_validate_Response_200 AzureServicePrincipalImportStorage: type: object properties: account_name: type: - string - 'null' description: Azure Blob account name client_id: type: - string - 'null' description: Azure Blob Service Principal Client ID client_secret: type: - string - 'null' description: Azure Blob Service Principal Client Secret container: type: - string - 'null' description: Azure blob container created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Azure blob prefix name presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true tenant_id: type: - string - 'null' description: Azure Tenant ID title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: azure_spi use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs user_delegation_key: type: - string - 'null' description: User Delegation Key (Backend) required: - created_at - id - project - type title: AzureServicePrincipalImportStorage AzureServicePrincipalImportStorageRequest: type: object properties: account_name: type: - string - 'null' description: Azure Blob account name client_id: type: - string - 'null' description: Azure Blob Service Principal Client ID client_secret: type: - string - 'null' description: Azure Blob Service Principal Client Secret container: type: - string - 'null' description: Azure blob container description: type: - string - 'null' description: Cloud storage description last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Azure blob prefix name presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true tenant_id: type: - string - 'null' description: Azure Tenant ID title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs user_delegation_key: type: - string - 'null' description: User Delegation Key (Backend) required: - project title: AzureServicePrincipalImportStorageRequest import_storage_azure_spi_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_azure_spi_validate_Response_200 PatchedAzureServicePrincipalImportStorageRequest: type: object properties: account_name: type: - string - 'null' description: Azure Blob account name client_id: type: - string - 'null' description: Azure Blob Service Principal Client ID client_secret: type: - string - 'null' description: Azure Blob Service Principal Client Secret container: type: - string - 'null' description: Azure blob container description: type: - string - 'null' description: Cloud storage description last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Azure blob prefix name presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true tenant_id: type: - string - 'null' description: Azure Tenant ID title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs user_delegation_key: type: - string - 'null' description: User Delegation Key (Backend) title: PatchedAzureServicePrincipalImportStorageRequest AuthTypeEnum: type: string enum: - pat - dbx_sp - azure_ad_sp description: |- * `pat` - Personal Access Token * `dbx_sp` - Databricks Service Principal * `azure_ad_sp` - Azure AD Service Principal title: AuthTypeEnum DatabricksImportStorage: type: object properties: auth_type: $ref: '#/components/schemas/AuthTypeEnum' description: |- Authentication method: PAT, Databricks SP, or Azure AD SP * `pat` - Personal Access Token * `dbx_sp` - Databricks Service Principal * `azure_ad_sp` - Azure AD Service Principal catalog: type: string description: UC catalog name client_id: type: string description: Service principal client/application ID (required for SP modes) created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description host: type: string description: Databricks workspace base URL (https://...) id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Path under the volume presign: type: boolean description: Presign not supported; always proxied presign_ttl: type: integer description: Unused for Databricks; kept for compatibility project: type: integer description: A unique integer value identifying this project. recursive_scan: type: boolean description: Perform recursive scan regex_filter: type: - string - 'null' description: Regex for filtering objects request_timeout_s: type: integer schema: type: string description: UC schema name status: $ref: '#/components/schemas/StatusC5aEnum' stream_chunk_bytes: type: integer synchronizable: type: boolean default: true tenant_id: type: string description: Azure AD tenant ID (required for Azure AD SP mode) title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: databricks use_blob_urls: type: boolean description: Generate blob URLs in tasks verify_tls: type: boolean description: Verify TLS certificates volume: type: string description: UC volume name required: - catalog - created_at - host - id - project - schema - type - volume description: Serializer for Databricks import storage with multi-auth support. title: DatabricksImportStorage DatabricksImportStorageRequest: type: object properties: auth_type: $ref: '#/components/schemas/AuthTypeEnum' description: |- Authentication method: PAT, Databricks SP, or Azure AD SP * `pat` - Personal Access Token * `dbx_sp` - Databricks Service Principal * `azure_ad_sp` - Azure AD Service Principal catalog: type: string description: UC catalog name client_id: type: string description: Service principal client/application ID (required for SP modes) client_secret: type: string description: Service principal client secret (required for SP modes) description: type: - string - 'null' description: Cloud storage description host: type: string description: Databricks workspace base URL (https://...) last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Path under the volume presign: type: boolean description: Presign not supported; always proxied presign_ttl: type: integer description: Unused for Databricks; kept for compatibility project: type: integer description: A unique integer value identifying this project. recursive_scan: type: boolean description: Perform recursive scan regex_filter: type: - string - 'null' description: Regex for filtering objects request_timeout_s: type: integer schema: type: string description: UC schema name status: $ref: '#/components/schemas/StatusC5aEnum' stream_chunk_bytes: type: integer synchronizable: type: boolean default: true tenant_id: type: string description: Azure AD tenant ID (required for Azure AD SP mode) title: type: - string - 'null' description: Cloud storage title token: type: string description: Databricks personal access token (required for PAT mode) traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Generate blob URLs in tasks verify_tls: type: boolean description: Verify TLS certificates volume: type: string description: UC volume name required: - catalog - host - project - schema - volume description: Serializer for Databricks import storage with multi-auth support. title: DatabricksImportStorageRequest import_storage_databricks_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_databricks_validate_Response_200 PatchedDatabricksImportStorageRequest: type: object properties: auth_type: $ref: '#/components/schemas/AuthTypeEnum' description: |- Authentication method: PAT, Databricks SP, or Azure AD SP * `pat` - Personal Access Token * `dbx_sp` - Databricks Service Principal * `azure_ad_sp` - Azure AD Service Principal catalog: type: string description: UC catalog name client_id: type: string description: Service principal client/application ID (required for SP modes) client_secret: type: string description: Service principal client secret (required for SP modes) description: type: - string - 'null' description: Cloud storage description host: type: string description: Databricks workspace base URL (https://...) last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Path under the volume presign: type: boolean description: Presign not supported; always proxied presign_ttl: type: integer description: Unused for Databricks; kept for compatibility project: type: integer description: A unique integer value identifying this project. recursive_scan: type: boolean description: Perform recursive scan regex_filter: type: - string - 'null' description: Regex for filtering objects request_timeout_s: type: integer schema: type: string description: UC schema name status: $ref: '#/components/schemas/StatusC5aEnum' stream_chunk_bytes: type: integer synchronizable: type: boolean default: true tenant_id: type: string description: Azure AD tenant ID (required for Azure AD SP mode) title: type: - string - 'null' description: Cloud storage title token: type: string description: Databricks personal access token (required for PAT mode) traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Generate blob URLs in tasks verify_tls: type: boolean description: Verify TLS certificates volume: type: string description: UC volume name description: Serializer for Databricks import storage with multi-auth support. title: PatchedDatabricksImportStorageRequest GCSImportStorage: type: object properties: bucket: type: - string - 'null' description: GCS bucket name created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description google_application_credentials: type: - string - 'null' description: The content of GOOGLE_APPLICATION_CREDENTIALS json file google_project_id: type: - string - 'null' description: Google project ID id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: gcs use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: GCSImportStorage import_storage_gcs_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_gcs_validate_Response_200 GCSSAImportStorage: type: object properties: bucket: type: - string - 'null' description: GCS bucket name created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description google_project_id: type: - string - 'null' description: Google project ID id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true target_service_account_email: type: - string - 'null' description: Service account email to impersonate for GCS access title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: gcs_sa use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: GCSSAImportStorage GCSSAImportStorageRequest: type: object properties: bucket: type: - string - 'null' description: GCS bucket name description: type: - string - 'null' description: Cloud storage description google_project_id: type: - string - 'null' description: Google project ID last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true target_service_account_email: type: - string - 'null' description: Service account email to impersonate for GCS access title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - project title: GCSSAImportStorageRequest import_storage_gcs_sa_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_gcs_sa_validate_Response_200 PatchedGCSSAImportStorageRequest: type: object properties: bucket: type: - string - 'null' description: GCS bucket name description: type: - string - 'null' description: Cloud storage description google_project_id: type: - string - 'null' description: Google project ID last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true target_service_account_email: type: - string - 'null' description: Service account email to impersonate for GCS access title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs title: PatchedGCSSAImportStorageRequest GCSWIFImportStorage: type: object properties: bucket: type: - string - 'null' description: GCS bucket name created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description google_application_credentials: type: - string - 'null' description: The content of GOOGLE_APPLICATION_CREDENTIALS json file google_project_id: type: - string - 'null' description: Google project ID google_project_number: type: - string - 'null' description: Google project number google_service_account_email: type: - string - 'null' description: Google service account email google_wif_pool_id: type: - string - 'null' description: Google WIF pool ID google_wif_provider_id: type: - string - 'null' description: Google WIF provider ID id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: gcswif use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: GCSWIFImportStorage GCSWIFImportStorageRequest: type: object properties: bucket: type: - string - 'null' description: GCS bucket name description: type: - string - 'null' description: Cloud storage description google_application_credentials: type: - string - 'null' description: The content of GOOGLE_APPLICATION_CREDENTIALS json file google_project_id: type: - string - 'null' description: Google project ID google_project_number: type: - string - 'null' description: Google project number google_service_account_email: type: - string - 'null' description: Google service account email google_wif_pool_id: type: - string - 'null' description: Google WIF pool ID google_wif_provider_id: type: - string - 'null' description: Google WIF provider ID last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - project title: GCSWIFImportStorageRequest import_storage_gcswif_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_gcswif_validate_Response_200 PatchedGCSWIFImportStorageRequest: type: object properties: bucket: type: - string - 'null' description: GCS bucket name description: type: - string - 'null' description: Cloud storage description google_application_credentials: type: - string - 'null' description: The content of GOOGLE_APPLICATION_CREDENTIALS json file google_project_id: type: - string - 'null' description: Google project ID google_project_number: type: - string - 'null' description: Google project number google_service_account_email: type: - string - 'null' description: Google service account email google_wif_pool_id: type: - string - 'null' description: Google WIF pool ID google_wif_provider_id: type: - string - 'null' description: Google WIF provider ID last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs title: PatchedGCSWIFImportStorageRequest LocalFilesImportStorage: type: object properties: created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes path: type: - string - 'null' description: Local path project: type: integer description: A unique integer value identifying this project. recursive_scan: type: - boolean - 'null' description: Perform recursive scan over the directory content regex_filter: type: - string - 'null' description: Regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: localfiles use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: LocalFilesImportStorage import_storage_local_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_local_validate_Response_200 RedisImportStorage: type: object properties: created_at: type: string format: date-time description: Creation time db: type: integer description: Server Database description: type: - string - 'null' description: Cloud storage description host: type: - string - 'null' description: Server Host IP (optional) id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes password: type: - string - 'null' description: Server Password (optional) path: type: - string - 'null' description: Storage prefix (optional) port: type: - string - 'null' description: Server Port (optional) project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: redis use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: RedisImportStorage import_storage_redis_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_redis_validate_Response_200 S3ImportStorage: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: boolean description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: s3 use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: S3ImportStorage import_storage_s3_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_s3_validate_Response_200 LseS3ImportStorage: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description external_id: type: - string - 'null' description: AWS ExternalId id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID legacy_auth: type: - boolean - 'null' meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: boolean description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region role_arn: type: string description: AWS RoleArn s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: s3s use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - role_arn - type title: LseS3ImportStorage LseS3ImportStorageRequest: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name description: type: - string - 'null' description: Cloud storage description external_id: type: - string - 'null' description: AWS ExternalId last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID legacy_auth: type: - boolean - 'null' meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: boolean description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region role_arn: type: string description: AWS RoleArn s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - project - role_arn title: LseS3ImportStorageRequest import_storage_s3s_validate_Response_200: type: object properties: {} description: Empty response body title: import_storage_s3s_validate_Response_200 PatchedLseS3ImportStorageRequest: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name description: type: - string - 'null' description: Cloud storage description external_id: type: - string - 'null' description: AWS ExternalId last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID legacy_auth: type: - boolean - 'null' meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 bucket prefix presign: type: boolean default: true presign_ttl: type: integer description: Presigned URLs TTL (in minutes) project: type: integer description: A unique integer value identifying this project. recursive_scan: type: boolean description: Perform recursive scan over the bucket content regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region role_arn: type: string description: AWS RoleArn s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs title: PatchedLseS3ImportStorageRequest ApiStoragesExportTypesGetResponsesContentApplicationJsonSchemaItems: type: object properties: name: type: string title: type: string title: ApiStoragesExportTypesGetResponsesContentApplicationJsonSchemaItems AzureBlobExportStorage: type: object properties: account_key: type: - string - 'null' description: Azure Blob account key account_name: type: - string - 'null' description: Azure Blob account name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled container: type: - string - 'null' description: Azure blob container created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Azure blob prefix name project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: azure use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: AzureBlobExportStorage export_storage_azure_validate_Response_200: type: object properties: {} description: Empty response body title: export_storage_azure_validate_Response_200 AzureServicePrincipalExportStorage: type: object properties: account_name: type: - string - 'null' description: Azure Blob account name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled client_id: type: - string - 'null' description: Azure Blob Service Principal Client ID client_secret: type: - string - 'null' description: Azure Blob Service Principal Client Secret container: type: - string - 'null' description: Azure blob container created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Azure blob prefix name project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true tenant_id: type: - string - 'null' description: Azure Tenant ID title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: azure_spi use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs user_delegation_key: type: - string - 'null' description: User Delegation Key (Backend) required: - created_at - id - project - type title: AzureServicePrincipalExportStorage AzureServicePrincipalExportStorageRequest: type: object properties: account_name: type: - string - 'null' description: Azure Blob account name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled client_id: type: - string - 'null' description: Azure Blob Service Principal Client ID client_secret: type: - string - 'null' description: Azure Blob Service Principal Client Secret container: type: - string - 'null' description: Azure blob container description: type: - string - 'null' description: Cloud storage description last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Azure blob prefix name project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true tenant_id: type: - string - 'null' description: Azure Tenant ID title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs user_delegation_key: type: - string - 'null' description: User Delegation Key (Backend) required: - project title: AzureServicePrincipalExportStorageRequest export_storage_azure_spi_validate_Response_200: type: object properties: {} description: Empty response body title: export_storage_azure_spi_validate_Response_200 PatchedAzureServicePrincipalExportStorageRequest: type: object properties: account_name: type: - string - 'null' description: Azure Blob account name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled client_id: type: - string - 'null' description: Azure Blob Service Principal Client ID client_secret: type: - string - 'null' description: Azure Blob Service Principal Client Secret container: type: - string - 'null' description: Azure blob container description: type: - string - 'null' description: Cloud storage description last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Azure blob prefix name project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true tenant_id: type: - string - 'null' description: Azure Tenant ID title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs user_delegation_key: type: - string - 'null' description: User Delegation Key (Backend) title: PatchedAzureServicePrincipalExportStorageRequest DatabricksExportStorage: type: object properties: auth_type: $ref: '#/components/schemas/AuthTypeEnum' description: |- Authentication method: PAT, Databricks SP, or Azure AD SP * `pat` - Personal Access Token * `dbx_sp` - Databricks Service Principal * `azure_ad_sp` - Azure AD Service Principal can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled catalog: type: string description: UC catalog name client_id: type: string description: Service principal client/application ID (required for SP modes) created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description host: type: string description: Databricks workspace base URL (https://...) id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Export path prefix under the volume project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Regex for filtering objects request_timeout_s: type: integer schema: type: string description: UC schema name status: $ref: '#/components/schemas/StatusC5aEnum' stream_chunk_bytes: type: integer synchronizable: type: boolean default: true tenant_id: type: string description: Azure AD tenant ID (required for Azure AD SP mode) title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: databricks use_blob_urls: type: boolean description: Generate blob URLs in tasks verify_tls: type: boolean description: Verify TLS certificates volume: type: string description: UC volume name required: - catalog - created_at - host - id - project - schema - type - volume description: Serializer for Databricks export storage with multi-auth support. title: DatabricksExportStorage DatabricksExportStorageRequest: type: object properties: auth_type: $ref: '#/components/schemas/AuthTypeEnum' description: |- Authentication method: PAT, Databricks SP, or Azure AD SP * `pat` - Personal Access Token * `dbx_sp` - Databricks Service Principal * `azure_ad_sp` - Azure AD Service Principal can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled catalog: type: string description: UC catalog name client_id: type: string description: Service principal client/application ID (required for SP modes) client_secret: type: string description: Service principal client secret (required for SP modes) description: type: - string - 'null' description: Cloud storage description host: type: string description: Databricks workspace base URL (https://...) last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Export path prefix under the volume project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Regex for filtering objects request_timeout_s: type: integer schema: type: string description: UC schema name status: $ref: '#/components/schemas/StatusC5aEnum' stream_chunk_bytes: type: integer synchronizable: type: boolean default: true tenant_id: type: string description: Azure AD tenant ID (required for Azure AD SP mode) title: type: - string - 'null' description: Cloud storage title token: type: string description: Databricks personal access token (required for PAT mode) traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Generate blob URLs in tasks verify_tls: type: boolean description: Verify TLS certificates volume: type: string description: UC volume name required: - catalog - host - project - schema - volume description: Serializer for Databricks export storage with multi-auth support. title: DatabricksExportStorageRequest export_storage_databricks_validate_Response_200: type: object properties: {} description: Empty response body title: export_storage_databricks_validate_Response_200 PatchedDatabricksExportStorageRequest: type: object properties: auth_type: $ref: '#/components/schemas/AuthTypeEnum' description: |- Authentication method: PAT, Databricks SP, or Azure AD SP * `pat` - Personal Access Token * `dbx_sp` - Databricks Service Principal * `azure_ad_sp` - Azure AD Service Principal can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled catalog: type: string description: UC catalog name client_id: type: string description: Service principal client/application ID (required for SP modes) client_secret: type: string description: Service principal client secret (required for SP modes) description: type: - string - 'null' description: Cloud storage description host: type: string description: Databricks workspace base URL (https://...) last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: Export path prefix under the volume project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Regex for filtering objects request_timeout_s: type: integer schema: type: string description: UC schema name status: $ref: '#/components/schemas/StatusC5aEnum' stream_chunk_bytes: type: integer synchronizable: type: boolean default: true tenant_id: type: string description: Azure AD tenant ID (required for Azure AD SP mode) title: type: - string - 'null' description: Cloud storage title token: type: string description: Databricks personal access token (required for PAT mode) traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Generate blob URLs in tasks verify_tls: type: boolean description: Verify TLS certificates volume: type: string description: UC volume name description: Serializer for Databricks export storage with multi-auth support. title: PatchedDatabricksExportStorageRequest GCSExportStorage: type: object properties: bucket: type: - string - 'null' description: GCS bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description google_application_credentials: type: - string - 'null' description: The content of GOOGLE_APPLICATION_CREDENTIALS json file google_project_id: type: - string - 'null' description: Google project ID id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: gcs use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: GCSExportStorage export_storage_gcs_validate_Response_200: type: object properties: {} description: Empty response body title: export_storage_gcs_validate_Response_200 GCSSAExportStorage: type: object properties: bucket: type: - string - 'null' description: GCS bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description google_project_id: type: - string - 'null' description: Google project ID id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true target_service_account_email: type: - string - 'null' description: Service account email to impersonate for GCS access title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: gcs_sa use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: GCSSAExportStorage GCSSAExportStorageRequest: type: object properties: bucket: type: - string - 'null' description: GCS bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled description: type: - string - 'null' description: Cloud storage description google_project_id: type: - string - 'null' description: Google project ID last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true target_service_account_email: type: - string - 'null' description: Service account email to impersonate for GCS access title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - project title: GCSSAExportStorageRequest export_storage_gcs_sa_validate_Response_200: type: object properties: {} description: Empty response body title: export_storage_gcs_sa_validate_Response_200 PatchedGCSSAExportStorageRequest: type: object properties: bucket: type: - string - 'null' description: GCS bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled description: type: - string - 'null' description: Cloud storage description google_project_id: type: - string - 'null' description: Google project ID last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true target_service_account_email: type: - string - 'null' description: Service account email to impersonate for GCS access title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs title: PatchedGCSSAExportStorageRequest GCSWIFExportStorage: type: object properties: bucket: type: - string - 'null' description: GCS bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description google_application_credentials: type: - string - 'null' description: The content of GOOGLE_APPLICATION_CREDENTIALS json file google_project_id: type: - string - 'null' description: Google project ID google_project_number: type: - string - 'null' description: Google project number google_service_account_email: type: - string - 'null' description: Google service account email google_wif_pool_id: type: - string - 'null' description: Google WIF pool ID google_wif_provider_id: type: - string - 'null' description: Google WIF provider ID id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: gcswif use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: GCSWIFExportStorage GCSWIFExportStorageRequest: type: object properties: bucket: type: - string - 'null' description: GCS bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled description: type: - string - 'null' description: Cloud storage description google_application_credentials: type: - string - 'null' description: The content of GOOGLE_APPLICATION_CREDENTIALS json file google_project_id: type: - string - 'null' description: Google project ID google_project_number: type: - string - 'null' description: Google project number google_service_account_email: type: - string - 'null' description: Google service account email google_wif_pool_id: type: - string - 'null' description: Google WIF pool ID google_wif_provider_id: type: - string - 'null' description: Google WIF provider ID last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - project title: GCSWIFExportStorageRequest export_storage_gcswif_validate_Response_200: type: object properties: {} description: Empty response body title: export_storage_gcswif_validate_Response_200 PatchedGCSWIFExportStorageRequest: type: object properties: bucket: type: - string - 'null' description: GCS bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled description: type: - string - 'null' description: Cloud storage description google_application_credentials: type: - string - 'null' description: The content of GOOGLE_APPLICATION_CREDENTIALS json file google_project_id: type: - string - 'null' description: Google project ID google_project_number: type: - string - 'null' description: Google project number google_service_account_email: type: - string - 'null' description: Google service account email google_wif_pool_id: type: - string - 'null' description: Google WIF pool ID google_wif_provider_id: type: - string - 'null' description: Google WIF provider ID last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: GCS bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs title: PatchedGCSWIFExportStorageRequest LocalFilesExportStorage: type: object properties: can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes path: type: - string - 'null' description: Local path project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: localfiles use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: LocalFilesExportStorage export_storage_local_validate_Response_200: type: object properties: {} description: Empty response body title: export_storage_local_validate_Response_200 RedisExportStorage: type: object properties: can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled created_at: type: string format: date-time description: Creation time db: type: integer description: Server Database description: type: - string - 'null' description: Cloud storage description host: type: - string - 'null' description: Server Host IP (optional) id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes password: type: - string - 'null' description: Server Password (optional) path: type: - string - 'null' description: Storage prefix (optional) port: type: - string - 'null' description: Server Port (optional) project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: redis use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: RedisExportStorage export_storage_redis_validate_Response_200: type: object properties: {} description: Empty response body title: export_storage_redis_validate_Response_200 S3ExportStorage: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: s3 use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - type title: S3ExportStorage export_storage_s3_validate_Response_200: type: object properties: {} description: Empty response body title: export_storage_s3_validate_Response_200 LseS3ExportStorage: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled created_at: type: string format: date-time description: Creation time description: type: - string - 'null' description: Cloud storage description external_id: type: - string - 'null' description: AWS ExternalId id: type: integer last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID legacy_auth: type: - boolean - 'null' meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region role_arn: type: string description: AWS RoleArn s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync type: type: string default: s3s use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - created_at - id - project - role_arn - type title: LseS3ExportStorage LseS3ExportStorageRequest: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled description: type: - string - 'null' description: Cloud storage description external_id: type: - string - 'null' description: AWS ExternalId last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID legacy_auth: type: - boolean - 'null' meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region role_arn: type: string description: AWS RoleArn s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs required: - project - role_arn title: LseS3ExportStorageRequest export_storage_s3s_validate_Response_200: type: object properties: {} description: Empty response body title: export_storage_s3s_validate_Response_200 PatchedLseS3ExportStorageRequest: type: object properties: aws_access_key_id: type: - string - 'null' description: AWS_ACCESS_KEY_ID aws_secret_access_key: type: - string - 'null' description: AWS_SECRET_ACCESS_KEY aws_session_token: type: - string - 'null' description: AWS_SESSION_TOKEN aws_sse_kms_key_id: type: - string - 'null' description: AWS SSE KMS Key ID bucket: type: - string - 'null' description: S3 bucket name can_delete_objects: type: - boolean - 'null' description: Deletion from storage enabled description: type: - string - 'null' description: Cloud storage description external_id: type: - string - 'null' description: AWS ExternalId last_sync: type: - string - 'null' format: date-time description: Last sync finished time last_sync_count: type: - integer - 'null' description: Count of tasks synced last time last_sync_job: type: - string - 'null' description: Last sync job ID legacy_auth: type: - boolean - 'null' meta: oneOf: - description: Any type - type: 'null' description: Meta and debug information about storage processes prefix: type: - string - 'null' description: S3 bucket prefix project: type: integer description: A unique integer value identifying this project. regex_filter: type: - string - 'null' description: Cloud storage regex for filtering objects region_name: type: - string - 'null' description: AWS Region role_arn: type: string description: AWS RoleArn s3_endpoint: type: - string - 'null' description: S3 Endpoint status: $ref: '#/components/schemas/StatusC5aEnum' synchronizable: type: boolean default: true title: type: - string - 'null' description: Cloud storage title traceback: type: - string - 'null' description: Traceback report for the last failed sync use_blob_urls: type: boolean description: Interpret objects as BLOBs and generate URLs title: PatchedLseS3ExportStorageRequest LSEAPITokenList: type: object properties: created_at: type: string expires_at: type: string token: type: string required: - created_at - expires_at - token title: LSEAPITokenList LSEAPITokenCreate: type: object properties: created_at: type: string expires_at: type: string token: type: string required: - created_at - expires_at - token title: LSEAPITokenCreate LSAPITokenBlacklistRequest: type: object properties: refresh: type: string required: - refresh title: LSAPITokenBlacklistRequest TokenRefreshRequest: type: object properties: refresh: type: string required: - refresh title: TokenRefreshRequest TokenRefreshResponse: type: object properties: access: type: string required: - access title: TokenRefreshResponse LSAPITokenRotateRequest: type: object properties: refresh: type: string required: - refresh title: LSAPITokenRotateRequest TokenRotateResponse: type: object properties: refresh: type: string required: - refresh title: TokenRotateResponse EditionEnum: type: string enum: - Community - Enterprise description: |- * `Community` - Community * `Enterprise` - Enterprise title: EditionEnum VersionResponse: type: object properties: backend: description: Additional backend information dm2: description: Information about the Data Manager 2.0 component edition: $ref: '#/components/schemas/EditionEnum' description: |- Label Studio edition (Community or Enterprise) * `Community` - Community * `Enterprise` - Enterprise label-studio-converter: description: Information about the Label Studio converter component label-studio-frontend: description: Information about the Label Studio frontend label-studio-os-backend: description: Information about the Label Studio backend label-studio-os-package: description: Information about the Label Studio open source package lsf: description: Information about the Label Studio Frontend library release: type: string description: Current release version of Label Studio required: - backend - dm2 - edition - label-studio-converter - label-studio-frontend - label-studio-os-backend - label-studio-os-package - lsf - release title: VersionResponse ActionsEnum: type: string enum: - PROJECT_CREATED - PROJECT_UPDATED - PROJECT_DELETED - TASKS_CREATED - TASKS_DELETED - ANNOTATION_CREATED - ANNOTATIONS_CREATED - ANNOTATION_UPDATED - ANNOTATIONS_DELETED - LABEL_LINK_CREATED - LABEL_LINK_UPDATED - LABEL_LINK_DELETED - REVIEW_CREATED - REVIEW_UPDATED - REVIEWS_DELETED description: |- * `PROJECT_CREATED` - PROJECT_CREATED * `PROJECT_UPDATED` - PROJECT_UPDATED * `PROJECT_DELETED` - PROJECT_DELETED * `TASKS_CREATED` - TASKS_CREATED * `TASKS_DELETED` - TASKS_DELETED * `ANNOTATION_CREATED` - ANNOTATION_CREATED * `ANNOTATIONS_CREATED` - ANNOTATIONS_CREATED * `ANNOTATION_UPDATED` - ANNOTATION_UPDATED * `ANNOTATIONS_DELETED` - ANNOTATIONS_DELETED * `LABEL_LINK_CREATED` - LABEL_LINK_CREATED * `LABEL_LINK_UPDATED` - LABEL_LINK_UPDATED * `LABEL_LINK_DELETED` - LABEL_LINK_DELETED * `REVIEW_CREATED` - REVIEW_CREATED * `REVIEW_UPDATED` - REVIEW_UPDATED * `REVIEWS_DELETED` - REVIEWS_DELETED title: ActionsEnum Webhook: type: object properties: actions: type: array items: $ref: '#/components/schemas/ActionsEnum' created_at: type: string format: date-time description: Creation time headers: description: Key Value Json of headers id: type: integer is_active: type: boolean description: If value is False the webhook is disabled organization: type: integer project: type: - integer - 'null' send_for_all_actions: type: boolean description: If value is False - used only for actions from WebhookAction send_payload: type: boolean description: If value is False send only action updated_at: type: string format: date-time description: Last update time url: type: string format: uri description: URL of webhook required: - created_at - id - organization - updated_at - url title: Webhook WebhookRequest: type: object properties: actions: type: array items: $ref: '#/components/schemas/ActionsEnum' headers: description: Key Value Json of headers is_active: type: boolean description: If value is False the webhook is disabled project: type: - integer - 'null' send_for_all_actions: type: boolean description: If value is False - used only for actions from WebhookAction send_payload: type: boolean description: If value is False send only action url: type: string format: uri description: URL of webhook required: - url title: WebhookRequest ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsCreated: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsCreated ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsDeleted: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsDeleted ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationCreated: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationCreated ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationUpdated: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationUpdated ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkCreated: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkCreated ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkDeleted: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkDeleted ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkUpdated: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkUpdated ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectCreated: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectCreated ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectDeleted: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectDeleted ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectUpdated: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectUpdated ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewsDeleted: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewsDeleted ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewCreated: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewCreated ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewUpdated: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewUpdated ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksCreated: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksCreated ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksDeleted: type: object properties: description: type: string key: type: string name: type: string organization-only: type: boolean required: - description - key - name - organization-only title: ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksDeleted webhooks_info_Response_200: type: object properties: ANNOTATIONS_CREATED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsCreated' ANNOTATIONS_DELETED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationsDeleted' ANNOTATION_CREATED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationCreated' ANNOTATION_UPDATED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaAnnotationUpdated' LABEL_LINK_CREATED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkCreated' LABEL_LINK_DELETED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkDeleted' LABEL_LINK_UPDATED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaLabelLinkUpdated' PROJECT_CREATED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectCreated' PROJECT_DELETED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectDeleted' PROJECT_UPDATED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaProjectUpdated' REVIEWS_DELETED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewsDeleted' REVIEW_CREATED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewCreated' REVIEW_UPDATED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaReviewUpdated' TASKS_CREATED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksCreated' TASKS_DELETED: $ref: '#/components/schemas/ApiWebhooksInfoGetResponsesContentApplicationJsonSchemaTasksDeleted' title: webhooks_info_Response_200 PatchedWebhookSerializerForUpdateRequest: type: object properties: actions: type: array items: $ref: '#/components/schemas/ActionsEnum' headers: description: Key Value Json of headers is_active: type: boolean description: If value is False the webhook is disabled send_for_all_actions: type: boolean description: If value is False - used only for actions from WebhookAction send_payload: type: boolean description: If value is False send only action url: type: string format: uri description: URL of webhook description: |- Serializer class for updating webhooks Used to forbid updating project field. title: PatchedWebhookSerializerForUpdateRequest WebhookSerializerForUpdate: type: object properties: actions: type: array items: $ref: '#/components/schemas/ActionsEnum' created_at: type: string format: date-time description: Creation time headers: description: Key Value Json of headers id: type: integer is_active: type: boolean description: If value is False the webhook is disabled organization: type: integer project: type: - integer - 'null' send_for_all_actions: type: boolean description: If value is False - used only for actions from WebhookAction send_payload: type: boolean description: If value is False send only action updated_at: type: string format: date-time description: Last update time url: type: string format: uri description: URL of webhook required: - created_at - id - organization - project - updated_at - url description: |- Serializer class for updating webhooks Used to forbid updating project field. title: WebhookSerializerForUpdate Workspace: type: object properties: color: type: - string - 'null' description: Color created_by: type: integer created_by_user: type: string description: type: - string - 'null' description: Workspace description id: type: integer is_archived: type: boolean description: Workspace is archived is_personal: type: boolean description: Workspace is a personal user workspace membership: type: string projects_count: type: - integer - 'null' title: type: string description: Workspace Name required: - created_by - created_by_user - id - membership - projects_count - title 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: Workspace WorkspaceRequest: type: object properties: color: type: - string - 'null' description: Color description: type: - string - 'null' description: Workspace description is_archived: type: boolean description: Workspace is archived is_personal: type: boolean description: Workspace is a personal user workspace title: type: string description: Workspace Name required: - title 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: WorkspaceRequest PatchedWorkspaceRequest: type: object properties: color: type: - string - 'null' description: Color description: type: - string - 'null' description: Workspace description is_archived: type: boolean description: Workspace is archived is_personal: type: boolean description: Workspace is a personal user workspace title: type: string description: Workspace Name 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: PatchedWorkspaceRequest WorkspaceMemberList: type: object properties: user: $ref: '#/components/schemas/LseUser' workspace: type: integer description: Workspace ID required: - user title: WorkspaceMemberList WorkspaceMemberCreateRequest: type: object properties: user: type: integer description: User ID workspace: type: integer description: Workspace ID required: - user title: WorkspaceMemberCreateRequest WorkspaceMemberCreate: type: object properties: user: type: integer description: User ID workspace: type: integer description: Workspace ID required: - user title: WorkspaceMemberCreate WorkspaceMemberBulkAssignRequest: type: object properties: all: type: boolean description: Apply to all workspace members excluded: type: array items: type: integer description: Excluded user IDs included: type: array items: type: integer description: Included user IDs required: - all title: WorkspaceMemberBulkAssignRequest workspaces_members_bulk_post_Response_200: type: object properties: assignments: type: integer title: workspaces_members_bulk_post_Response_200 workspaces_members_bulk_delete_Response_200: type: object properties: unassignments: type: integer title: workspaces_members_bulk_delete_Response_200 PaginatedLseUserList: 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/LseUser' required: - count - results title: PaginatedLseUserList Project: type: object properties: annotator_evaluation_enabled: type: boolean description: Enable annotator evaluation for the project color: type: - string - 'null' config_has_control_tags: type: boolean description: Flag to detect is project ready for labeling config_suitable_for_bulk_annotation: type: boolean description: Flag to detect is project ready for bulk annotation control_weights: type: - object - 'null' additionalProperties: $ref: '#/components/schemas/ControlTagWeight' description: >- Dict of weights for each control tag in metric calculation. Keys are control tag names from the labeling config. At least one tag must have a non-zero overall weight. created_at: type: string format: date-time created_by: $ref: '#/components/schemas/UserSimple' description: Project owner description: type: - string - 'null' description: Project description enable_empty_annotation: type: boolean description: Allow annotators to submit empty annotations evaluate_predictions_automatically: type: boolean description: Retrieve and display predictions when loading a task expert_instruction: type: - string - 'null' description: Labeling instructions in HTML format finished_task_number: type: integer description: Finished tasks ground_truth_number: type: integer description: Honeypot annotation number in project id: type: integer is_draft: type: boolean description: Whether or not the project is in the middle of being created is_published: type: boolean description: Whether or not the project is published to annotators label_config: type: - string - 'null' description: Label config in XML format. See more about it in documentation maximum_annotations: type: integer description: >- Maximum number of annotations for one task. If the number of annotations per task is equal or greater to this value, the task is completed (is_labeled=True) min_annotations_to_start_training: type: integer description: Minimum number of completed tasks after which model training is started model_version: type: - string - 'null' description: Machine learning model version num_tasks_with_annotations: type: integer description: Tasks with annotations count organization: type: - integer - 'null' overlap_cohort_percentage: type: integer parsed_label_config: type: object additionalProperties: description: Any type description: JSON-formatted labeling configuration pinned_at: type: - string - 'null' format: date-time description: Pinned date and time queue_done: type: integer queue_total: type: integer reveal_preannotations_interactively: type: boolean description: Reveal pre-annotations interactively sampling: oneOf: - $ref: '#/components/schemas/SamplingDe5Enum' - type: 'null' show_annotation_history: type: boolean description: Show annotation history to annotator show_collab_predictions: type: boolean description: If set, the annotator can view model predictions show_ground_truth_first: type: boolean description: 'Onboarding mode (true): show ground truth tasks first in the labeling stream' show_instruction: type: boolean description: Show instructions to the annotator before they start show_overlap_first: type: boolean show_skip_button: type: boolean description: Show a skip button in interface and allow annotators to skip the task skip_queue: oneOf: - $ref: '#/components/schemas/SkipQueueEnum' - type: 'null' skipped_annotations_number: type: integer description: Skipped by collaborators annotation number in project start_training_on_annotation_update: type: boolean description: Start model training after any annotations are submitted or updated state: type: string task_data_login: type: - string - 'null' description: 'Task data credentials: login' task_data_password: type: - string - 'null' description: 'Task data credentials: password' task_number: type: integer description: Total task number in project title: type: - string - 'null' description: Project name. Must be between 3 and 50 characters long. total_annotations_number: type: integer description: Total annotations number in project including skipped_annotations_number and ground_truth_number. total_predictions_number: type: integer description: >- Total predictions number in project including skipped_annotations_number, ground_truth_number, and useful_annotation_number. useful_annotation_number: type: integer description: >- Useful annotation number in project not including skipped_annotations_number and ground_truth_number. Total annotations = annotation_number + skipped_annotations_number + ground_truth_number required: - config_has_control_tags - config_suitable_for_bulk_annotation - created_at - finished_task_number - ground_truth_number - id - num_tasks_with_annotations - parsed_label_config - queue_done - queue_total - skipped_annotations_number - start_training_on_annotation_update - state - task_number - total_annotations_number - total_predictions_number - useful_annotation_number description: |- Serializer get numbers from project queryset annotation, make sure, that you use correct one(Project.objects.with_counts()) title: Project WorkspaceProjectsRequest: type: object properties: project: type: integer description: Project ID required: - project title: WorkspaceProjectsRequest workspaces_projects_add_Response_201: type: object properties: {} description: Empty response body title: workspaces_projects_add_Response_201 securitySchemes: Token: type: apiKey in: header name: Authorization 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]"