openapi: 3.1.0
info:
title: API Reference subpackage_actions subpackage_projects.subpackage_projects/stats API
version: 1.0.0
servers:
- url: http://localhost:8000
tags:
- name: subpackage_projects.subpackage_projects/stats
paths:
/api/projects/{id}/model-stats/{model_version}/agreement:
get:
operationId: model-version-annotator-agreement
summary: ✨ Get model-version overall agreement vs annotators
description: " \n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n \n
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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\nfflag_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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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: "\n This endpoint is not available in Label Studio Community Edition. [Learn more about Label Studio Enterprise](https://humansignal.com/goenterprise)\n
\ncurl 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'
components:
schemas:
ApiProjectsIdStatsMemberPerformanceRowsGetParametersTable:
type: string
enum:
- annotations
- reviews
title: ApiProjectsIdStatsMemberPerformanceRowsGetParametersTable
ProjectsStatsTotalAgreementResponse2001:
type: object
properties:
total_agreement:
type: object
additionalProperties:
type: number
format: double
title: ProjectsStatsTotalAgreementResponse2001
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
ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFiltersStatsItems:
type: object
properties:
id:
type: string
description: User ID or model version identifier (e.g., "model:1.0")
title: ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFiltersStatsItems
ApiProjectsIdUserStatsReviewScoreGetResponsesContentApplicationJsonSchemaReviewScore:
oneOf:
- type: number
format: double
- type: object
additionalProperties:
type: number
format: double
title: ApiProjectsIdUserStatsReviewScoreGetResponsesContentApplicationJsonSchemaReviewScore
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_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
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
projects_stats_total_agreement_Response_200:
oneOf:
- $ref: '#/components/schemas/ProjectsStatsTotalAgreementResponse2000'
- $ref: '#/components/schemas/ProjectsStatsTotalAgreementResponse2001'
title: projects_stats_total_agreement_Response_200
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
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
ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFiltersTasksWithAnnotations:
type: object
properties: {}
description: Default filter tab for tasks with annotations
title: ApiProjectsIdStatsDataFilterGetResponsesContentApplicationJsonSchemaUserFiltersTasksWithAnnotations
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
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
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
ApiProjectsIdUserStatsUserPkReviewScoreGetResponsesContentApplicationJsonSchemaPerformanceScore:
oneOf:
- type: number
format: double
- type: object
additionalProperties:
type: number
format: double
title: ApiProjectsIdUserStatsUserPkReviewScoreGetResponsesContentApplicationJsonSchemaPerformanceScore
ProjectsStatsTotalAgreementResponse2000:
type: object
properties:
total_agreement:
type: number
format: double
title: ProjectsStatsTotalAgreementResponse2000
LabelDistributionStructureDimension:
type: object
properties:
choice_keys:
type: array
items:
type: string
description: Flat keys in "curl https://label-studio-host/api/projects -H "Authorization: Token [your-token]"'