> ## Documentation Index
> Fetch the complete documentation index at: https://docs.avidoai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List human annotation queues

> Retrieves a paginated list of human annotation queues with pending/completed counts. Supports filtering by topic and assignee



## OpenAPI

````yaml https://app.stainless.com/api/spec/documented/avido/openapi.documented.yml get /v0/human-annotation-queues
openapi: 3.1.1
info:
  title: Avido API
  description: >-
    Avido's API for LLM usage events, tool calls, trace management, webhook
    validation, and more. See each endpoint's request/response schema for
    details.
  version: 0.1.0
  contact:
    name: Avido Support
    email: support@avidoai.com
    url: https://avidoai.com/support
servers:
  - url: https://api.avidoai.com
    description: Production API
security:
  - ApiKey: []
    ApplicationId: []
paths:
  /v0/human-annotation-queues:
    get:
      tags:
        - Human Annotations
      summary: List human annotation queues
      description: >-
        Retrieves a paginated list of human annotation queues with
        pending/completed counts. Supports filtering by topic and assignee
      operationId: listHumanAnnotationQueues
      parameters:
        - in: query
          name: skip
          schema:
            description: Number of items to skip before starting to collect the result set.
            example: 0
            default: 0
            type: integer
            minimum: 0
            maximum: 9007199254740991
          description: Number of items to skip before starting to collect the result set.
        - in: query
          name: limit
          schema:
            description: Number of items to include in the result set.
            example: 25
            type: integer
            minimum: 1
            maximum: 100
          description: Number of items to include in the result set.
        - in: query
          name: orderBy
          schema:
            description: Field to order the result set by.
            example: createdAt
            default: createdAt
            type: string
            enum:
              - createdAt
              - id
          description: Field to order the result set by.
        - in: query
          name: orderDir
          schema:
            description: Order direction.
            example: desc
            default: desc
            type: string
            enum:
              - asc
              - desc
          description: Order direction.
        - in: query
          name: topicId
          schema:
            description: Filter queues by topic ID
            example: 789e4567-e89b-12d3-a456-426614174000
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: Filter queues by topic ID
        - in: query
          name: assignedToCurrentUser
          schema:
            description: >-
              When true, only return queues whose topic is assigned to the
              calling user (powers the 'Your Topics' tab)
            example: true
            type: boolean
          description: >-
            When true, only return queues whose topic is assigned to the calling
            user (powers the 'Your Topics' tab)
        - in: query
          name: excludeAssignedToOthers
          schema:
            description: >-
              When true, hide queues whose topic is assigned to a user other
              than the caller. Unassigned queues and queues assigned to the
              caller are still returned. Powers the default 'All' tab
            example: true
            type: boolean
          description: >-
            When true, hide queues whose topic is assigned to a user other than
            the caller. Unassigned queues and queues assigned to the caller are
            still returned. Powers the default 'All' tab
        - in: query
          name: includeEmpty
          schema:
            description: >-
              Include queues with zero pending items. Defaults to false,
              matching the PRD's sidebar behaviour where empty queues are hidden
            example: false
            type: boolean
          description: >-
            Include queues with zero pending items. Defaults to false, matching
            the PRD's sidebar behaviour where empty queues are hidden
      responses:
        '200':
          description: Successfully retrieved annotation queues
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HumanAnnotationQueueListResponse'
              examples:
                success:
                  summary: List of annotation queues
                  value:
                    data:
                      - id: 11112222-3333-4444-5555-666677778888
                        orgId: org_123456
                        applicationId: 456e7890-e89b-12d3-a456-426614174000
                        topicId: 789e4567-e89b-12d3-a456-426614174000
                        topicTitle: Code Quality
                        assigneeId: user_789012
                        assigneeName: John Doe
                        assigneeEmail: john@example.com
                        pendingCount: 12
                        completedCount: 8
                        createdAt: '2024-01-05T12:34:56.789Z'
                    pagination:
                      skip: 0
                      limit: 25
                      total: 1
                      totalPages: 1
        '400':
          description: bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: invalid input
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationErrorResponse'
        '500':
          description: internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    HumanAnnotationQueueListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/HumanAnnotationQueueOutput'
        pagination:
          type: object
          properties:
            skip:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Number of items skipped.
              example: 0
            limit:
              type: integer
              minimum: 1
              maximum: 9007199254740991
              description: Number of items per page.
              example: 25
            total:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Total number of items available.
              example: 100
            totalPages:
              type: integer
              minimum: 0
              maximum: 9007199254740991
              description: Total number of pages available.
              example: 4
            totalCount:
              description: >-
                Total number of items without filters applied. Used to
                distinguish between truly empty results and empty filtered
                results.
              example: 100
              type: integer
              minimum: 0
              maximum: 9007199254740991
          required:
            - skip
            - limit
            - total
            - totalPages
          additionalProperties: false
          title: PaginationResponse
          description: Pagination metadata returned in a paginated response.
      required:
        - data
        - pagination
      additionalProperties: false
      title: HumanAnnotationQueueListResponse
      description: Paginated response containing human annotation queues
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: A human-readable error message explaining the error.
          example: Resource not found
      required:
        - message
      additionalProperties: false
      title: ErrorResponse
      description: Standard error format for failed API operations.
    ValidationErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: A human-readable error message indicating what went wrong.
          example: Invalid request data
        issues:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              message:
                type: string
              path:
                type: array
                items:
                  type: string
            required:
              - code
              - message
              - path
            additionalProperties: false
          description: Array of detailed validation error objects.
          example:
            - code: invalid_string
              message: Invalid UUID
              path:
                - id
      required:
        - message
        - issues
      additionalProperties: false
      title: ValidationErrorResponse
      description: Details about validation errors in incoming requests.
    HumanAnnotationQueueOutput:
      type: object
      properties:
        id:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: Unique identifier of the queue
          example: 11112222-3333-4444-5555-666677778888
        orgId:
          type: string
          minLength: 1
          maxLength: 256
          description: Organization ID that owns this queue
          example: org_123456
        applicationId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: Application this queue belongs to
          example: 456e7890-e89b-12d3-a456-426614174000
        topicId:
          type: string
          format: uuid
          pattern: >-
            ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
          description: Topic this queue is scoped to
          example: 789e4567-e89b-12d3-a456-426614174000
        topicTitle:
          type: string
          minLength: 1
          maxLength: 2048
          description: Display title of the topic this queue is scoped to
          example: Code Quality
        assigneeId:
          description: >-
            User ID assigned to the queue, inferred from Topic.assignedTo. Null
            if the topic is unassigned
          example: user_789012
          nullable: true
          anyOf:
            - type: string
              minLength: 1
              maxLength: 256
            - type: 'null'
        assigneeName:
          description: >-
            Full name of the assigned user, joined for display. Null if the
            topic is unassigned
          example: John Doe
          nullable: true
          anyOf:
            - type: string
              minLength: 1
              maxLength: 256
            - type: 'null'
        assigneeEmail:
          description: >-
            Email of the assigned user, joined for display. Null if the topic is
            unassigned
          example: john@example.com
          nullable: true
          anyOf:
            - type: string
              minLength: 1
              maxLength: 256
              format: email
              pattern: >-
                ^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$
            - type: 'null'
        assigneeImage:
          description: >-
            Profile image URL of the assigned user. Null if unassigned or the
            user has no profile image
          example: https://lh3.googleusercontent.com/a/example
          nullable: true
          anyOf:
            - type: string
              minLength: 1
              maxLength: 2048
            - type: 'null'
        pendingCount:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          description: Number of queue items pending annotation in the last 30 days
          example: 12
        completedCount:
          type: integer
          minimum: 0
          maximum: 9007199254740991
          description: Number of queue items completed (annotated) in the last 30 days
          example: 8
        createdAt:
          description: When the queue was created
          example: '2024-01-05T12:34:56.789Z'
          type: string
          format: date-time
          pattern: >-
            ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
      required:
        - id
        - orgId
        - applicationId
        - topicId
        - topicTitle
        - pendingCount
        - completedCount
        - createdAt
      additionalProperties: false
      title: HumanAnnotationQueue
      description: >-
        A long-lived per-topic queue of traces sampled for human annotation.
        Counts and the assignee are derived (not stored on the queue row itself)
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Your unique Avido API key
    ApplicationId:
      type: apiKey
      in: header
      name: x-application-id
      description: Your unique Avido Application ID

````