Annotation Queues
Reference for the AnnotationQueue class in the Future AGI Python SDK.
For step-by-step examples, see the Annotation Queue Using SDK guide.
AnnotationQueue Class
The AnnotationQueue class is the SDK client for managing annotation queues, items, scores, and analytics. Annotation queues let you organize traces, sessions, datasets, and simulation outputs for structured human review. You can define custom labels, set how many annotations are needed per item, and add guidelines to keep feedback consistent.
Note
All methods that accept queue_id also accept queue_name as an alternative. Similarly, methods that accept label_id also accept label_name. The SDK resolves names to IDs automatically. If multiple matches are found, an error is raised asking you to use the ID instead.
Installation
pip install futureagi
Initialization
from fi.queues import AnnotationQueue
client = AnnotationQueue(
fi_api_key="your_api_key",
fi_secret_key="your_secret_key",
fi_base_url="https://api.futureagi.com", # optional
)
Arguments:
fi_api_key(Optional[str]): API key for authentication.fi_secret_key(Optional[str]): Secret key for authentication.fi_base_url(Optional[str]): Base URL for the API.
Labels
create_label
Creates an annotation label. Labels define what annotators evaluate (e.g. sentiment, quality, relevance).
def create_label(
self,
name: str,
type: str,
*,
settings: Optional[Dict[str, Any]] = None,
description: Optional[str] = None,
project: Optional[str] = None,
timeout: Optional[int] = None,
) -> AnnotationLabel
- Arguments:
name(str): Label name. Must be unique per organization, type, and project.type(str): Label type —"categorical","text","numeric","star", or"thumbs_up_down".settings(Optional[Dict[str, Any]]): Type-specific configuration. See Label Settings by Type below.description(Optional[str]): Description of the label.project(Optional[str]): Project ID to scope the label to. If omitted, the label is organization-wide.timeout(Optional[int]): Request timeout in seconds.
- Returns:
AnnotationLabelinstance
Label Settings by Type
{
"rule_prompt": "Classify the sentiment", # str, required
"multi_choice": False, # bool, required
"options": [ # list, required (min 2)
{"label": "Positive"},
{"label": "Negative"},
{"label": "Neutral"},
],
"auto_annotate": False, # bool, required
"strategy": None, # "Rag" or None, required
} {
"placeholder": "Enter your feedback...", # str, required
"max_length": 500, # int, required
"min_length": 1, # int, required
} {
"min": 0, # number, required
"max": 10, # number, required
"step_size": 1, # number, required
"display_type": "slider", # "slider" or "button", required
} {
"no_of_stars": 5, # int, required (>= 1)
} {} # No settings required list_labels
Lists annotation labels available to the organization.
def list_labels(
self,
*,
project_id: Optional[str] = None,
timeout: Optional[int] = None,
) -> List[AnnotationLabel]
- Arguments:
project_id(Optional[str]): Filter labels by project ID.timeout(Optional[int]): Request timeout in seconds.
- Returns:
List[AnnotationLabel]
get_label
Gets a single annotation label by ID or name.
def get_label(
self,
label_id: Optional[str] = None,
*,
label_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> AnnotationLabel
- Arguments:
label_id(Optional[str]): UUID of the annotation label.label_name(Optional[str]): Name of the annotation label (alternative tolabel_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
AnnotationLabelinstance
delete_label
Deletes an annotation label.
def delete_label(
self,
label_id: Optional[str] = None,
*,
label_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> Dict[str, Any]
- Arguments:
label_id(Optional[str]): UUID of the annotation label.label_name(Optional[str]): Name of the annotation label (alternative tolabel_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
Dict[str, Any]
add_label
Attaches an existing annotation label to the queue.
def add_label(
self,
queue_id: Optional[str] = None,
label_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
label_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> Dict[str, Any]
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.label_id(Optional[str]): UUID of the annotation label.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).label_name(Optional[str]): Name of the annotation label (alternative tolabel_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
Dict[str, Any]
remove_label
Removes an annotation label from the queue.
def remove_label(
self,
queue_id: Optional[str] = None,
label_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
label_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> Dict[str, Any]
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.label_id(Optional[str]): UUID of the annotation label.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).label_name(Optional[str]): Name of the annotation label (alternative tolabel_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
Dict[str, Any]
Queue Management
create
Creates a new annotation queue.
def create(
self,
name: str,
*,
description: Optional[str] = None,
instructions: Optional[str] = None,
assignment_strategy: Optional[str] = None,
annotations_required: Optional[int] = None,
reservation_timeout_minutes: Optional[int] = None,
requires_review: Optional[bool] = None,
project: Optional[str] = None,
dataset: Optional[str] = None,
agent_definition: Optional[str] = None,
timeout: Optional[int] = None,
) -> QueueDetail
- Arguments:
name(str): Name of the annotation queue.description(Optional[str]): Description of the queue’s purpose.instructions(Optional[str]): Guidelines for annotators.assignment_strategy(Optional[str]): How items are assigned —"manual","round_robin", or"load_balanced".annotations_required(Optional[int]): Number of annotations needed per item.reservation_timeout_minutes(Optional[int]): Time limit (in minutes) for an annotator to complete an item.requires_review(Optional[bool]): Whether completed annotations require reviewer approval.project(Optional[str]): Project ID to scope the queue to.dataset(Optional[str]): Dataset ID to associate with the queue.agent_definition(Optional[str]): Agent definition ID to associate with the queue.timeout(Optional[int]): Request timeout in seconds.
- Returns:
QueueDetailinstance
list_queues
Lists annotation queues with optional filters.
def list_queues(
self,
*,
status: Optional[str] = None,
search: Optional[str] = None,
include_counts: bool = True,
page: int = 1,
page_size: int = 20,
timeout: Optional[int] = None,
) -> List[QueueDetail]
- Arguments:
status(Optional[str]): Filter by queue status —"draft","active","paused", or"completed".search(Optional[str]): Search queues by name.include_counts(bool): Whether to include item/completed counts. Defaults toTrue.page(int): Page number for pagination. Defaults to1.page_size(int): Number of results per page. Defaults to20.timeout(Optional[int]): Request timeout in seconds.
- Returns:
List[QueueDetail]
get
Gets a single annotation queue by ID or name.
def get(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> QueueDetail
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
QueueDetailinstance
update
Updates an annotation queue.
def update(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
name: Optional[str] = None,
description: Optional[str] = None,
instructions: Optional[str] = None,
assignment_strategy: Optional[str] = None,
annotations_required: Optional[int] = None,
reservation_timeout_minutes: Optional[int] = None,
requires_review: Optional[bool] = None,
timeout: Optional[int] = None,
) -> QueueDetail
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).name(Optional[str]): Updated queue name.description(Optional[str]): Updated description.instructions(Optional[str]): Updated annotator instructions.assignment_strategy(Optional[str]): Updated assignment strategy.annotations_required(Optional[int]): Updated annotations required per item.reservation_timeout_minutes(Optional[int]): Updated reservation timeout.requires_review(Optional[bool]): Updated review requirement.timeout(Optional[int]): Request timeout in seconds.
- Returns:
QueueDetailinstance
delete
Deletes (soft-deletes) an annotation queue.
def delete(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> Dict[str, Any]
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
Dict[str, Any]
Queue Lifecycle
activate
Activates a queue, transitioning it from draft to active status.
def activate(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> QueueDetail
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
QueueDetailinstance
complete_queue
Marks a queue as completed.
def complete_queue(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> QueueDetail
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
QueueDetailinstance
Note
Completing a queue does not automatically disable its automation rules. If you have active rules, they may continue adding items to the queue, which will re-activate it. Disable or delete automation rules manually before completing the queue if you want to prevent new items from being added.
Queue Items
add_items
Adds items to the queue for annotation.
def add_items(
self,
queue_id: Optional[str] = None,
items: Optional[List[Dict[str, str]]] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> AddItemsResponse
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.items(List[Dict[str, str]]): List of dicts, each withsource_typeandsource_id.- Valid
source_typevalues:"trace","observation_span","trace_session","call_execution","prototype_run","dataset_row".
- Valid
queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
AddItemsResponsewithaddedandduplicatescounts.
list_items
Lists items in a queue with optional filters.
def list_items(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
status: Optional[str] = None,
assigned_to: Optional[str] = None,
page: int = 1,
page_size: int = 50,
timeout: Optional[int] = None,
) -> List[QueueItem]
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).status(Optional[str]): Filter by item status —"pending","in_progress", or"completed".assigned_to(Optional[str]): Filter by assigned user ID.page(int): Page number. Defaults to1.page_size(int): Results per page. Defaults to50.timeout(Optional[int]): Request timeout in seconds.
- Returns:
List[QueueItem]
remove_items
Bulk-removes items from the queue.
def remove_items(
self,
queue_id: Optional[str] = None,
item_ids: Optional[List[str]] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> Dict[str, Any]
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.item_ids(List[str]): List of item UUIDs to remove.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
Dict[str, Any]
assign_items
Assigns items to an annotator. Pass user_id=None to unassign.
def assign_items(
self,
queue_id: Optional[str] = None,
item_ids: Optional[List[str]] = None,
*,
queue_name: Optional[str] = None,
user_id: Optional[str] = None,
timeout: Optional[int] = None,
) -> Dict[str, Any]
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.item_ids(List[str]): List of item UUIDs to assign.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).user_id(Optional[str]): User UUID to assign to. PassNoneto unassign.timeout(Optional[int]): Request timeout in seconds.
- Returns:
Dict[str, Any]
complete_item
Marks a queue item as completed.
def complete_item(
self,
queue_id: Optional[str] = None,
item_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> Dict[str, Any]
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.item_id(str): UUID of the queue item.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
Dict[str, Any]
skip_item
Skips a queue item.
def skip_item(
self,
queue_id: Optional[str] = None,
item_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> Dict[str, Any]
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.item_id(str): UUID of the queue item.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
Dict[str, Any]
Annotations
submit_annotations
Submits annotations for a queue item as the authenticated user.
def submit_annotations(
self,
queue_id: Optional[str] = None,
item_id: Optional[str] = None,
annotations: Optional[List[Dict[str, Any]]] = None,
*,
queue_name: Optional[str] = None,
notes: Optional[str] = None,
timeout: Optional[int] = None,
) -> Dict[str, Any]
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.item_id(str): UUID of the queue item.annotations(List[Dict[str, Any]]): List of dicts, each withlabel_idandvalue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).notes(Optional[str]): Free-text notes.timeout(Optional[int]): Request timeout in seconds.
- Returns:
Dict[str, Any]
import_annotations
Imports annotations for a queue item programmatically. Use this when you want to bulk-import annotations from an external source or automated pipeline.
def import_annotations(
self,
queue_id: Optional[str] = None,
item_id: Optional[str] = None,
annotations: Optional[List[Dict[str, Any]]] = None,
*,
queue_name: Optional[str] = None,
annotator_id: Optional[str] = None,
timeout: Optional[int] = None,
) -> ImportAnnotationsResponse
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.item_id(str): UUID of the queue item.annotations(List[Dict[str, Any]]): List of dicts, each withlabel_idandvalue. Optionally includescore_source(default:"imported").queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).annotator_id(Optional[str]): User ID to attribute the annotations to.timeout(Optional[int]): Request timeout in seconds.
- Returns:
ImportAnnotationsResponsewithimportedcount.
get_annotations
Gets all annotations for a queue item.
def get_annotations(
self,
queue_id: Optional[str] = None,
item_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> List[Score]
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.item_id(str): UUID of the queue item.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
List[Score]
Scores
Scores provide a unified annotation model that can be used independently of queues to annotate any source entity.
create_score
Creates a single score with upsert semantics.
def create_score(
self,
source_type: str,
source_id: str,
label_id: Optional[str] = None,
value: Any = None,
*,
label_name: Optional[str] = None,
score_source: str = "api",
notes: Optional[str] = None,
timeout: Optional[int] = None,
) -> Score
- Arguments:
source_type(str): Source entity type —"trace","observation_span","trace_session","call_execution","prototype_run", or"dataset_row".source_id(str): UUID of the source entity.label_id(Optional[str]): UUID of the annotation label.value(Any): Annotation value (str, float, bool, or list depending on label type).label_name(Optional[str]): Name of the annotation label (alternative tolabel_id).score_source(str): Origin of the score —"human","api", or"auto". Defaults to"api".notes(Optional[str]): Free-text notes.timeout(Optional[int]): Request timeout in seconds.
- Returns:
Scoreinstance
create_scores
Creates multiple scores on a single source entity in one request.
def create_scores(
self,
source_type: str,
source_id: str,
scores: List[Dict[str, Any]],
*,
notes: Optional[str] = None,
timeout: Optional[int] = None,
) -> Dict[str, Any]
- Arguments:
source_type(str): Source entity type.source_id(str): UUID of the source entity.scores(List[Dict[str, Any]]): List of dicts, each withlabel_id,value, and optionallyscore_source.notes(Optional[str]): Shared free-text notes.timeout(Optional[int]): Request timeout in seconds.
- Returns:
Dict[str, Any]
get_scores
Gets all scores for a given source entity.
def get_scores(
self,
source_type: str,
source_id: str,
*,
timeout: Optional[int] = None,
) -> List[Score]
- Arguments:
source_type(str): Source entity type.source_id(str): UUID of the source entity.timeout(Optional[int]): Request timeout in seconds.
- Returns:
List[Score]
Progress & Analytics
get_progress
Gets queue progress metrics.
def get_progress(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> QueueProgress
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
QueueProgressinstance withtotal,pending,in_progress,completed,skipped,progress_pct, andannotator_stats.
get_analytics
Gets queue analytics including throughput, annotator performance, and label distribution.
def get_analytics(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> QueueAnalytics
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
QueueAnalyticsinstance withthroughput,annotator_performance,label_distribution,status_breakdown, andtotal.
get_agreement
Gets inter-annotator agreement metrics for a queue.
def get_agreement(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
timeout: Optional[int] = None,
) -> QueueAgreement
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).timeout(Optional[int]): Request timeout in seconds.
- Returns:
QueueAgreementinstance withoverall_agreement,per_label, andannotator_pairs.
Export
export
Exports queue annotations in JSON or CSV format.
def export(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
export_format: str = "json",
status: Optional[str] = None,
timeout: Optional[int] = None,
) -> Any
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).export_format(str): Export format —"json"or"csv". Defaults to"json".status(Optional[str]): Filter by item status (e.g."completed").timeout(Optional[int]): Request timeout in seconds.
- Returns:
- For JSON:
List[Dict]. For CSV: raw text string.
- For JSON:
export_to_dataset
Exports annotated queue items to a Future AGI dataset.
def export_to_dataset(
self,
queue_id: Optional[str] = None,
*,
queue_name: Optional[str] = None,
dataset_name: Optional[str] = None,
dataset_id: Optional[str] = None,
status_filter: Optional[str] = None,
timeout: Optional[int] = None,
) -> ExportToDatasetResponse
- Arguments:
queue_id(Optional[str]): UUID of the annotation queue.queue_name(Optional[str]): Name of the annotation queue (alternative toqueue_id).dataset_name(Optional[str]): Name for a new dataset. Mutually exclusive withdataset_id.dataset_id(Optional[str]): UUID of an existing dataset to append to. Mutually exclusive withdataset_name.status_filter(Optional[str]): Item status to export. Defaults to"completed".timeout(Optional[int]): Request timeout in seconds.
- Returns:
ExportToDatasetResponsewithdataset_id,dataset_name, androws_created.
Data Models
All data models are importable from the SDK and work with IDE autocomplete:
from fi.queues import (
AnnotationLabel, QueueDetail, QueueItem, Score,
QueueProgress, QueueAnalytics, QueueAgreement,
AddItemsResponse, ExportToDatasetResponse, ImportAnnotationsResponse,
)
AnnotationLabel
| Field | Type | Description |
|---|---|---|
id | str | Label UUID |
name | str | Label name |
type | str | Label type (categorical, text, numeric, star, thumbs_up_down) |
description | Optional[str] | Label description |
settings | Optional[Dict[str, Any]] | Type-specific configuration (see Label Settings by Type) |
QueueDetail
| Field | Type | Description |
|---|---|---|
id | str | Queue UUID |
name | str | Queue name |
description | Optional[str] | Queue description |
instructions | Optional[str] | Annotator instructions |
status | Optional[str] | Queue status (draft, active, paused, completed) |
assignment_strategy | Optional[str] | Assignment strategy (manual, round_robin, load_balanced) |
annotations_required | Optional[int] | Annotations needed per item |
reservation_timeout_minutes | Optional[int] | Reservation timeout in minutes |
requires_review | Optional[bool] | Whether review is required |
created_at | Optional[str] | Creation timestamp |
updated_at | Optional[str] | Last update timestamp |
item_count | Optional[int] | Total items in queue |
completed_count | Optional[int] | Completed items count |
QueueItem
| Field | Type | Description |
|---|---|---|
id | str | Item UUID |
source_type | Optional[str] | Source entity type |
source_id | Optional[str] | Source entity UUID |
status | Optional[str] | Item status (pending, in_progress, completed) |
order | Optional[int] | Item order in queue |
assigned_to | Optional[str] | Assigned user ID |
created_at | Optional[str] | Creation timestamp |
Score
| Field | Type | Description |
|---|---|---|
id | Optional[str] | Score UUID |
label_id | Optional[str] | Label UUID |
label_name | Optional[str] | Label display name |
value | Optional[Any] | Annotation value |
score_source | Optional[str] | Origin (human, api, auto, imported) |
notes | Optional[str] | Free-text notes |
annotator_id | Optional[str] | Annotator user ID |
annotator_name | Optional[str] | Annotator display name |
source_type | Optional[str] | Source entity type |
source_id | Optional[str] | Source entity UUID |
created_at | Optional[str] | Creation timestamp |
QueueProgress
| Field | Type | Description |
|---|---|---|
total | int | Total items |
pending | int | Pending items |
in_progress | int | In-progress items |
completed | int | Completed items |
skipped | int | Skipped items |
progress_pct | Optional[float] | Completion percentage |
annotator_stats | Optional[List[Dict]] | Per-annotator statistics |
QueueAnalytics
| Field | Type | Description |
|---|---|---|
throughput | Optional[Dict] | Throughput metrics — contains daily (list of {"date", "count"} entries for the last 30 days), total_completed (int), and avg_per_day (float) |
annotator_performance | Optional[List[Dict]] | Per-annotator performance — each entry has user_id, name, completed, and last_active |
label_distribution | Optional[Dict] | Distribution of annotations across labels — keyed by label ID, each with name, type, and values (value-to-count mapping) |
status_breakdown | Optional[Dict[str, int]] | Item count by status (e.g. {"pending": 5, "completed": 10}) |
total | Optional[int] | Total items in the queue |
QueueAgreement
| Field | Type | Description |
|---|---|---|
overall_agreement | Optional[float] | Overall agreement percentage |
per_label | Optional[List[Dict]] | Agreement broken down by label |
annotator_pairs | Optional[List[Dict]] | Pairwise annotator agreement |
AddItemsResponse
| Field | Type | Description |
|---|---|---|
added | int | Number of items added |
duplicates | int | Number of duplicate items skipped |
errors | Optional[List[Dict]] | Any errors encountered |
ExportToDatasetResponse
| Field | Type | Description |
|---|---|---|
dataset_id | Optional[str] | Dataset UUID |
dataset_name | Optional[str] | Dataset name |
rows_created | Optional[int] | Number of rows created |
ImportAnnotationsResponse
| Field | Type | Description |
|---|---|---|
imported | int | Number of annotations imported |