---
title: "Add Records To Annotation Queue"
method: POST
path: "/annotation_queues/{queue_id}/records"
tags: ["annotation_queue_records"]
---

# Add Records To Annotation Queue

`POST /annotation_queues/{queue_id}/records`

Add records to an annotation queue.

The request must specify either a list of record IDs or a filter tree to select records.
All specified records must exist within the given project and run.

Permission checks:
- User must have UPDATE permission on the annotation queue
- User must have READ permission on the project containing the records

Returns 200 OK with the count of records added on success.

## Path parameters

- `queue_id` string, uuid4, required

## Request body

- AddRecordsToQueueRequest — Request to add records to an annotation queue.
  - `project_id` string, uuid4, required — Project ID containing the records
  - `run_id` string, uuid4, required — Run ID (log stream, experiment, or metrics testing) containing the records
  - `record_selector` union, required — Selector to specify which records to add (either by record IDs or filter tree)
    - AnnotationQueueRecordsByRecordIDs
      - `type` 'record_ids'
      - `record_ids` string[], required — List of log record IDs to select
    - AnnotationQueueRecordsByFilterTree
      - `type` 'filter_tree'
      - `filter_tree` union, required
        - FilterLeafAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorType
          - `filter` union, required
            - LogRecordsIDFilter
              - …
            - LogRecordsDateFilter
              - …
            - LogRecordsNumberFilter
              - …
            - LogRecordsBooleanFilter
              - …
            - LogRecordsCollectionFilter
              - …
            - LogRecordsTextFilter
              - …
            - LogRecordsFullyAnnotatedFilter — Queue-scoped filter for records rated across all queue templates.
              - …
        - AndNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
          - `and` union[], required
            - union
              - …
        - OrNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
          - `or` union[], required
            - union
              - …
        - NotNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
          - `not` union, required
            - FilterLeafAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorType
              - …
            - AndNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
              - …
            - OrNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
              - …
            - NotNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput — recursive

## Response `200`

Successful Response

- AddRecordsToQueueResponse — Response after adding records to an annotation queue.
  - `num_records_added` integer, required — Number of records added to the queue

## Other responses

- `422` — Validation Error

## Changes

- **2026-07-26** `05003e7835a2` — 1 info
  - the endpoint scheme security `ClassicAPIKeyHeader` was added to the API

[Change history](https://skmtc.dev/galileo/apis/galileo-api-server/changes/annotation_queues/:queue_id/records/post.md)

---

[API](https://skmtc.dev/galileo/apis/galileo-api-server.md) · [All operations](https://skmtc.dev/galileo/apis/galileo-api-server/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/galileo/galileo-api-server/revisions/8b1d1a4a933e/schema)
