Label Studio subpackage_actions API
The subpackage_actions API from Label Studio — 1 operation(s) for subpackage_actions.
The subpackage_actions API from Label Studio — 1 operation(s) for subpackage_actions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/label-studio-subpackage-actions-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Reference Subpackage Actions API
version: 1.0.0
servers:
- url: http://localhost:8000
tags:
- name: subpackage_actions
paths:
/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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'
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=<id>` to explore them. <br>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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'
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.<br>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.<br>Examples: `{"all": false, "included": [1, 2, 3]}` or `{"all": true, "excluded": [4, 5]}`'
components:
schemas:
ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsDialogFormItems:
type: object
properties: {}
title: ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsDialogFormItems
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
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
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
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:<br><li>`filter:tasks:agreement`<br> (Number) Agreement for annotation results for a specific task (Enterprise only)</li><br><li>`filter:tasks:annotations_results`<br> (String) Annotation results for the tasks</li><br><li>`filter:tasks:annotators`<br> (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</li><br><li>`filter:tasks:cancelled_annotations`<br> (Number) Number of cancelled or skipped annotations for the task</li><br><li>`filter:tasks:comments`<br> (Number) Number of comments in a task</li><br><li>`filter:tasks:completed_at`<br> (Datetime) Time when a task was fully annotated</li><br><li>`filter:tasks:created_at`<br> (Datetime) Time the task was created at</li><br><li>`filter:tasks:file_upload`<br> (String) Name of the file uploaded to create the tasks</li><br><li>`filter:tasks:ground_truth`<br> (Boolean) Ground truth status of the tasks</li><br><li>`filter:tasks:id`<br> (Number) Task ID</li><br><li>`filter:tasks:inner_id`<br> (Number) Task Inner ID, it starts from 1 for all projects</li><br><li>`filter:tasks:predictions_model_versions`<br> (String) Model version used for the predictions</li><br><li>`filter:tasks:predictions_results`<br> (String) Prediction results for the tasks</li><br><li>`filter:tasks:predictions_score`<br> (Number) Prediction score for the task</li><br><li>`filter:tasks:reviewed`<br> (Boolean) Whether the tasks have been reviewed (Enterprise only)</li><br><li>`filter:tasks:reviewers`<br> (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</li><br><li>`filter:tasks:reviews_accepted`<br> (Number) Number of annotations accepted for a task in review (Enterprise only)</li><br><li>`filter:tasks:reviews_rejected`<br> (Number) Number of annotations rejected for a task in review (Enterprise only)</li><br><li>`filter:tasks:total_annotations`<br> (Number) Total number of annotations on a task</li><br><li>`filter:tasks:total_predictions`<br> (Number) Total number of predictions for the task</li><br><li>`filter:tasks:unresolved_comment_count`<br> (Number) Number of unresolved comments in a task</li><br><li>`filter:tasks:updated_at`<br> (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)</li>'
operator:
$ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsOperator'
description: 'Filter operator. Possible values:<br><li>`contains`<br> Contains</li><br><li>`ends_with`<br> Ends with</li><br><li>`equal`<br> Equal to</li><br><li>`exists`<br> Exists</li><br><li>`greater`<br> Greater than</li><br><li>`greater_or_equal`<br> Greater than or equal to</li><br><li>`in`<br> Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`</li><br><li>`less`<br> Less than</li><br><li>`less_or_equal`<br> Less than or equal to</li><br><li>`not_contains`<br> Does not contain</li><br><li>`not_equal`<br> Not equal to</li><br><li>`not_exists`<br> Does not exist</li><br><li>`not_in`<br> Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`</li><br><li>`starts_with`<br> Starts with</li>'
type:
type: string
description: Type of the filter value. Possible values:<br><li>`Boolean`<br> Boolean</li><br><li>`Datetime`<br> Datetime string in `strftime('%Y-%m-%dT%H:%M:%S.%fZ')` format</li><br><li>`List`<br> List of items</li><br><li>`Number`<br> Float or Integer</li><br><li>`String`<br> String</li><br><li>`Unknown`<br> Unknown is explicitly converted to string format</li>
value:
$ref: '#/components/schemas/ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsValue'
description: Value to filter by
required:
- filter
- operator
- type
- value
title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItems
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
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
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
actions_create_Response_200:
type: object
properties: {}
description: Empty response body
title: actions_create_Response_200
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:<br><li>`filter:tasks:agreement`<br> (Number) Agreement for annotation results for a specific task (Enterprise only)</li><br><li>`filter:tasks:annotations_results`<br> (String) Annotation results for the tasks</li><br><li>`filter:tasks:annotators`<br> (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</li><br><li>`filter:tasks:cancelled_annotations`<br> (Number) Number of cancelled or skipped annotations for the task</li><br><li>`filter:tasks:comments`<br> (Number) Number of comments in a task</li><br><li>`filter:tasks:completed_at`<br> (Datetime) Time when a task was fully annotated</li><br><li>`filter:tasks:created_at`<br> (Datetime) Time the task was created at</li><br><li>`filter:tasks:file_upload`<br> (String) Name of the file uploaded to create the tasks</li><br><li>`filter:tasks:ground_truth`<br> (Boolean) Ground truth status of the tasks</li><br><li>`filter:tasks:id`<br> (Number) Task ID</li><br><li>`filter:tasks:inner_id`<br> (Number) Task Inner ID, it starts from 1 for all projects</li><br><li>`filter:tasks:predictions_model_versions`<br> (String) Model version used for the predictions</li><br><li>`filter:tasks:predictions_results`<br> (String) Prediction results for the tasks</li><br><li>`filter:tasks:predictions_score`<br> (Number) Prediction score for the task</li><br><li>`filter:tasks:reviewed`<br> (Boolean) Whether the tasks have been reviewed (Enterprise only)</li><br><li>`filter:tasks:reviewers`<br> (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</li><br><li>`filter:tasks:reviews_accepted`<br> (Number) Number of annotations accepted for a task in review (Enterprise only)</li><br><li>`filter:tasks:reviews_rejected`<br> (Number) Number of annotations rejected for a task in review (Enterprise only)</li><br><li>`filter:tasks:total_annotations`<br> (Number) Total number of annotations on a task</li><br><li>`filter:tasks:total_predictions`<br> (Number) Total number of predictions for the task</li><br><li>`filter:tasks:unresolved_comment_count`<br> (Number) Number of unresolved comments in a task</li><br><li>`filter:tasks:updated_at`<br> (Datetime) Time the task was updated at (e.g. new annotation was created, review added, etc)</li>'
title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFiltersItemsItemsFilter
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.<br>Examples: `{"all": false, "included": [1, 2, 3]}` or `{"all": true, "excluded": [4, 5]}`'
title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaSelectedItems
ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsPermission:
oneOf:
- type: string
- type: array
items:
type: string
title: ApiDmActionsGetResponsesContentApplicationJsonSchemaItemsPermission
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:<br><li>`contains`<br> Contains</li><br><li>`ends_with`<br> Ends with</li><br><li>`equal`<br> Equal to</li><br><li>`exists`<br> Exists</li><br><li>`greater`<br> Greater than</li><br><li>`greater_or_equal`<br> Greater than or equal to</li><br><li>`in`<br> Is between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`</li><br><li>`less`<br> Less than</li><br><li>`less_or_equal`<br> Less than or equal to</li><br><li>`not_contains`<br> Does not contain</li><br><li>`not_equal`<br> Not equal to</li><br><li>`not_exists`<br> Does not exist</li><br><li>`not_in`<br> Is not between min and max values, so the filter `value` should be e.g. `{"min": 1, "max": 7}`</li><br><li>`starts_with`<br> Starts with</li>'
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
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.<br>Example: `{"conjunction": "or", "items": [{"filter": "filter:tasks:completed_at", "operator": "greater", "type": "Datetime", "value": "2021-01-01T00:00:00.000Z"}]}`'
title: ApiDmActionsPostRequestBodyContentApplicationJsonSchemaFilters
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: <br><pre><code class="language-bash">curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"</code></pre>'