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

# Count Annotation Queue Records

`POST /annotation_queues/{queue_id}/records/count`

Count records in an annotation queue.

Permission checks:
- User must have READ permission on the annotation queue

## Path parameters

- `queue_id` string, uuid4, required

## Request body

- AnnotationQueueCountRequest
  - `filter_tree` union
    - FilterLeafAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorType
      - `filter` union, required
        - LogRecordsIDFilter
          - `column_id` string, required — ID of the column to filter.
          - `operator` 'eq' | 'ne' | 'one_of' | 'not_in' | 'contains'
          - `value` union, required
            - string, uuid4
            - union[]
              - …
            - string
          - `type` 'id'
        - LogRecordsDateFilter
          - `column_id` string, required — ID of the column to filter.
          - `operator` 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte', required
          - `value` string, date-time, required
          - `type` 'date'
        - LogRecordsNumberFilter
          - `column_id` string, required — ID of the column to filter.
          - `operator` 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte' | 'between', required
          - `value` union, required
            - integer
            - number
            - integer[]
            - number[]
          - `type` 'number'
        - LogRecordsBooleanFilter
          - `column_id` string, required — ID of the column to filter.
          - `operator` 'eq' | 'ne'
          - `value` boolean, required
          - `type` 'boolean'
        - LogRecordsCollectionFilter
          - `column_id` string, required — ID of the column to filter.
          - `operator` 'eq' | 'contains' | 'one_of' | 'not_in', required
          - `value` union, required
            - string
            - string[]
          - `case_sensitive` boolean
          - `type` 'collection'
        - LogRecordsTextFilter
          - `column_id` string, required — ID of the column to filter.
          - `operator` 'eq' | 'ne' | 'contains' | 'one_of' | 'not_in', required
          - `value` union, required
            - string
            - string[]
          - `case_sensitive` boolean
          - `type` 'text'
        - LogRecordsFullyAnnotatedFilter — Queue-scoped filter for records rated across all queue templates.
          - `column_id` 'fully_annotated' — Queue-scoped filter identifier. This filter only works for annotation-queue searches that provide queue context.
          - `type` 'fully_annotated'
          - `user_ids` string[], nullable — Optional queue member IDs to require for full annotation in a queue-scoped search. If omitted, all tracked queue members visible to the requester are used.
    - AndNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
      - `and` union[], required
        - union
          - FilterLeafAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorType
            - `filter` union, required
              - …
          - AndNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput — recursive
          - OrNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
            - `or` union[], required
              - …
          - NotNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
            - `not` union, required
              - …
    - OrNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
      - `or` union[], required
        - union
          - FilterLeafAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorType
            - `filter` union, required
              - …
          - AndNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
            - `and` union[], required
              - …
          - OrNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput — recursive
          - NotNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
            - `not` union, required
              - …
    - NotNodeAnnotatedUnionLogRecordsIDFilterLogRecordsDateFilterLogRecordsNumberFilterLogRecordsBooleanFilterLogRecordsCollectionFilterLogRecordsTextFilterLogRecordsFullyAnnotatedFilterFieldInfoAnnotationNoneTypeRequiredTrueDiscriminatorTypeInput
      - `not` 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 — recursive

## Response `200`

Successful Response

- LogRecordsQueryCountResponse
  - `total_count` integer, required — Total number of records matching the query

## 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/count/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)
