---
title: "POST /model-hub/annotation-queues/{queue_id}/items/add-items/"
method: POST
path: "/model-hub/annotation-queues/{queue_id}/items/add-items/"
tags: ["model-hub"]
---

# POST /model-hub/annotation-queues/{queue_id}/items/add-items/

`POST /model-hub/annotation-queues/{queue_id}/items/add-items/`

## Request

- Base URL: `http://localhost:8000`
- URL: `http://localhost:8000/model-hub/annotation-queues/{queue_id}/items/add-items/`
- Auth: one of:
  - API key in header `X-Api-Key`
  - API key in header `X-Secret-Key`

## Request body

- AddItems
  - `items` AddQueueItem[]
    - `source_type` 'call_execution' | 'dataset_row' | 'observation_span' | 'prototype_run' | 'trace' | 'trace_session', required
    - `source_id` string, required
  - `selection` Selection
    - `mode` 'filter', required
    - `source_type` 'call_execution' | 'observation_span' | 'trace' | 'trace_session', required
    - `project_id` string, uuid, required
    - `filter` object[]
      - `column_id` string, required: Column or attribute id to filter on.
      - `property_id` string: Optional stable namespaced Property Registry identity.
      - `display_name` string: Optional UI label for chips and saved views.
      - `source` string: Optional source surface for mixed-source filters, for example traces, datasets, or simulation.
      - `output_type` string: Optional metric output type metadata used by eval and annotation filters.
      - `filter_config` object, required
        - `filter_type` string, required: Canonical field type, for example text, number, boolean, datetime, categorical, thumbs, annotator, array, or map. Legacy json is value-sensitive for SPAN_ATTRIBUTE filters: list values become array and object values become map.
        - `filter_op` string, required: Canonical operator from api_contracts/filter_contract.json, for example equals, not_equals, in, not_in, between, not_between, is_null, or is_not_null.
        - `filter_value` unknown
        - `col_type` string: Column family such as SYSTEM_METRIC, SPAN_ATTRIBUTE, EVAL_METRIC, ANNOTATION, or NORMAL.
        - `attribute_value_types` string[]: Optional storage-family provenance aligned one-for-one with filter_value for mixed SPAN_ATTRIBUTE in/not_in filters. Null entries retain filter_type semantics for manually entered values.
    - `exclude_ids` string[]
    - `cursor` string: Opaque continuation returned by a previous filter-mode add. Reuse the same selection fields and queue when continuing.
    - `remove_simulation_calls` boolean
    - `is_voice_call` boolean
  - `project_id` string, uuid

## Response `200`

OK

- QueueAddItemsResponse
  - `status` boolean
  - `result` QueueAddItemsResult, required
    - `added` integer, required
    - `duplicates` integer, required
    - `errors` string[], required
    - `queue_status` string, required
    - `total_matching` integer
    - `total_matching_is_lower_bound` boolean
    - `has_more` boolean
    - `next_cursor` string, nullable
    - `next_cursor_fingerprint` string, nullable

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `404`: Not Found
- `413`: Payload Too Large
- `503`: Service Unavailable
- `default`: Default error response

---

[API](https://skmtc.dev/futureagi/apis/future-agi-management-api.md) · [All operations](https://skmtc.dev/futureagi/apis/future-agi-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/futureagi/apis/future-agi-management-api/revisions/c8684118e142?raw)
