naftiko: 1.0.0-alpha2
info:
label: API Reference
description: API Reference API capability.
tags:
- Label
- Studio
- API
created: '2026-05-06'
modified: '2026-05-06'
capability:
consumes:
- type: http
namespace: label-studio
baseUri: http://localhost:8000
description: API Reference HTTP API.
authentication:
type: apikey
in: header
name: Authorization
value: '{{LABEL_STUDIO_TOKEN}}'
resources:
- name: api-activity-logs
path: /api/activity-logs/
operations:
- name: list
method: GET
description: ✨ Get activity logs
inputParameters:
- name: end_date
in: query
type: string
description: End date/time (ISO-8601) for log filtering.
- name: method
in: query
type: string
description: HTTP request method used in the log.
- name: ordering
in: query
type: string
description: Which field to use when ordering the results.
- name: page
in: query
type: integer
description: '[or "start"] Current page index.'
- name: page_size
in: query
type: integer
description: '[or "length"] Logs per page, use -1 to obtain all logs (might be slow).'
- name: project
in: query
type: integer
description: Project ID to filter logs.
- name: search
in: query
type: string
description: Search expression using "AND"/"OR" to filter by request URL.
- name: start_date
in: query
type: string
description: Start date/time (ISO-8601) for log filtering.
- name: user
in: query
type: integer
description: User ID to filter logs.
- name: workspace
in: query
type: integer
description: Workspace owner ID to filter logs.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-annotation-history
path: /api/annotation-history/
operations:
- name: list
method: GET
description: ✨ List all annotation history items for annotation
inputParameters:
- name: annotation
in: query
type: integer
description: Annotation ID to get annotation history items for.
- name: ordering
in: query
type: string
description: Which field to use when ordering the results.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: delete
method: DELETE
description: ✨ Delete annotation history items
inputParameters:
- name: annotation
in: query
type: integer
description: Annotation ID to delete annotation history items for.
- name: project
in: query
type: integer
description: Project ID to delete annotation history items for.
- name: task
in: query
type: integer
description: Task ID to delete annotation history items for.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-annotation-history-id
path: /api/annotation-history/{id}/
operations:
- name: retrieve
method: GET
description: ✨ Retrieve a single annotation history item (full result for hydration)
inputParameters:
- name: id
in: path
type: integer
required: true
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-projects-id-annotation-history
path: /api/projects/{id}/annotation-history/
operations:
- name: list-for-project
method: GET
description: ✨ List annotation history items for project
inputParameters:
- name: id
in: path
type: integer
required: true
- name: page
in: query
type: integer
description: A page number within the paginated result set.
- name: page_size
in: query
type: integer
description: Number of results to return per page.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-annotation-reviews
path: /api/annotation-reviews/
operations:
- name: list
method: GET
description: ✨ List reviews
inputParameters:
- name: annotation
in: query
type: integer
- name: annotation__task__project
in: query
type: integer
- name: ordering
in: query
type: string
description: Which field to use when ordering the results.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: create
method: POST
description: ✨ Create review
inputParameters:
- name: async_postprocess
in: query
type: boolean
description: Whether to postprocess the review asynchronously.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-annotation-reviews-id
path: /api/annotation-reviews/{id}/
operations:
- name: get
method: GET
description: ✨ Get review
inputParameters:
- name: id
in: path
type: integer
required: true
description: A unique integer value identifying this annotation review.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: delete
method: DELETE
description: ✨ Delete review
inputParameters:
- name: id
in: path
type: integer
required: true
description: A unique integer value identifying this annotation review.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: update
method: PATCH
description: ✨ Update review
inputParameters:
- name: id
in: path
type: integer
required: true
description: A unique integer value identifying this annotation review.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-annotations-bulk-delete
path: /api/annotations/bulk-delete/
operations:
- name: delete-bulk
method: POST
description: Bulk delete annotations by IDs
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-annotations-bulk
path: /api/annotations/bulk/
operations:
- name: create-bulk
method: POST
description: Bulk create annotations
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-annotations-id
path: /api/annotations/{id}/
operations:
- name: get
method: GET
description: Get annotation by its ID
inputParameters:
- name: id
in: path
type: integer
required: true
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: delete
method: DELETE
description: Delete annotation
inputParameters:
- name: id
in: path
type: integer
required: true
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: update
method: PATCH
description: Update annotation
inputParameters:
- name: id
in: path
type: integer
required: true
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-tasks-id-annotations
path: /api/tasks/{id}/annotations/
operations:
- name: list
method: GET
description: Get all task annotations
inputParameters:
- name: id
in: path
type: integer
required: true
description: Task ID
- name: ordering
in: query
type: string
description: Which field to use when ordering the results.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: create
method: POST
description: Create annotation
inputParameters:
- name: id
in: path
type: integer
required: true
description: Task ID
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-billing-info
path: /api/billing/info
operations:
- name: info
method: GET
description: ✨ Get billing info
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-comments
path: /api/comments/
operations:
- name: list
method: GET
description: ✨ List comments
inputParameters:
- name: annotation
in: query
type: integer
- name: annotators
in: query
type: string
- name: draft
in: query
type: integer
- name: expand_created_by
in: query
type: boolean
- name: ordering
in: query
type: string
description: Which field to use when ordering the results.
- name: projects
in: query
type: string
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: create
method: POST
description: ✨ Create comment
inputParameters:
- name: expand_created_by
in: query
type: boolean
description: Expand the created_by field
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-comments-export
path: /api/comments/export/
operations:
- name: export
method: GET
description: ✨ Export comments to CSV
inputParameters:
- name: annotation
in: query
type: integer
- name: annotators
in: query
type: string
- name: draft
in: query
type: integer
- name: expand_created_by
in: query
type: boolean
- name: projects
in: query
type: string
- name: tz
in: query
type: string
description: Timezone in which to export the data. Format IANA timezone name, e.g. "America/New_York"
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-comments-id
path: /api/comments/{id}/
operations:
- name: get
method: GET
description: ✨ Get comment
inputParameters:
- name: id
in: path
type: string
required: true
- name: expand_created_by
in: query
type: boolean
description: Expand the created_by field
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: delete
method: DELETE
description: ✨ Delete comment
inputParameters:
- name: id
in: path
type: string
required: true
- name: expand_created_by
in: query
type: boolean
description: Expand the created_by field
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: update
method: PATCH
description: ✨ Update comment
inputParameters:
- name: id
in: path
type: string
required: true
- name: expand_created_by
in: query
type: boolean
description: Expand the created_by field
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-current-user
path: /api/current-user
operations:
- name: get-current-user
method: GET
description: ✨ Get current user info
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: update-current-user
method: PATCH
description: ✨ Update current user
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-current-user-hotkeys
path: /api/current-user/hotkeys/
operations:
- name: get-hotkeys
method: GET
description: Get user hotkeys
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: update-hotkeys
method: PATCH
description: Update user hotkeys
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-current-user-reset-token
path: /api/current-user/reset-token/
operations:
- name: reset-token
method: POST
description: Reset user token
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-current-user-token
path: /api/current-user/token
operations:
- name: get-token
method: GET
description: Get user token
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-current-user-whoami
path: /api/current-user/whoami
operations:
- name: whoami
method: GET
description: Retrieve my user
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-users
path: /api/users/
operations:
- name: list
method: GET
description: List users
inputParameters:
- name: ordering
in: query
type: string
description: Which field to use when ordering the results.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: create
method: POST
description: Create new user
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-users-id
path: /api/users/{id}/
operations:
- name: get
method: GET
description: Get user info
inputParameters:
- name: id
in: path
type: integer
required: true
description: User ID
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: delete
method: DELETE
description: Delete user
inputParameters:
- name: id
in: path
type: integer
required: true
description: User ID
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: update
method: PATCH
description: Update user details
inputParameters:
- name: id
in: path
type: integer
required: true
description: User ID
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-dimensions-backfill
path: /api/dimensions/backfill/
operations:
- name: trigger-backfill
method: POST
description: ✨ Trigger Agreement V2 backfill
inputParameters:
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: cancel-backfill
method: DELETE
description: ✨ Cancel Agreement V2 backfill jobs
inputParameters:
- name: job_id
in: query
type: integer
description: Optional specific job ID to cancel
- name: project_id
in: query
type: integer
description: Optional project ID to cancel its active backfill jobs
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-dimensions-backfill-jobs
path: /api/dimensions/backfill/jobs/
operations:
- name: list-backfills
method: GET
description: ✨ List Agreement V2 backfill jobs
inputParameters:
- name: status
in: query
type: string
description: 'Filter by job status: PENDING, QUEUED, RUNNING, COMPLETED, or FAILED.'
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-dimensions-backfill-status
path: /api/dimensions/backfill/status/
operations:
- name: get-backfill-status
method: GET
description: ✨ Get Agreement V2 backfill status
inputParameters:
- name: job_id
in: query
type: integer
description: Optional job ID to retrieve specific job status
- name: project_id
in: query
type: integer
description: Optional project ID to retrieve the latest backfill status for that project. If omitted, returns aggregated
organization status.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-projects-project-pk-dimensions
path: /api/projects/{project_pk}/dimensions/
operations:
- name: list
method: GET
description: ✨ List dimensions
inputParameters:
- name: project_pk
in: path
type: integer
required: true
description: Project ID
- name: agreement_methodology
in: query
type: string
description: 'Agreement methodology to use for computing allowed_metrics_with_params. If not provided, uses the
methodology stored in the project settings. Valid values: "pai'
- name: is_active
in: query
type: boolean
description: Filter by active status
- name: ordering
in: query
type: string
description: Which field to use when ordering the results.
- name: Authorization
in: header
type: string
required: true
description: 'The token (or API key) must be passed as a request header. You can find your user token on the User
Account page in Label Studio. Example: <br><pre><code class='
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: api-projects-project-pk-dimensions-id
path: /api/projects/{project_pk}/dimensions/{id}/
operations:
- name: get
method: GET
description: ✨ Get dimension
inputParameters:
- name: id
in: path
type: integer
required: true
description: Dimension ID
- name: project_pk
# --- truncated at 32 KB (93 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/label-studio/refs/heads/main/capabilities/label-studio-capability.yaml