---
title: "Create an LLM Observability annotation queue"
method: POST
path: "/api/v2/llm-obs/v1/annotation-queues"
tags: ["LLM Observability"]
---

# Create an LLM Observability annotation queue

`POST /api/v2/llm-obs/v1/annotation-queues`

Create an annotation queue. The `name` and `project_id` fields are required.
An optional `annotation_schema` can be provided to define the labels for the queue.
Fields such as `created_by`, `owned_by`, `created_at`, `modified_by`,
and `modified_at` are inferred by the backend.

## Request body

- LLMObsAnnotationQueueRequest — Request to create an LLM Observability annotation queue.
  - `data` LLMObsAnnotationQueueDataRequest, required — Data object for creating an LLM Observability annotation queue.
    - `attributes` LLMObsAnnotationQueueDataAttributesRequest, required — Attributes for creating an LLM Observability annotation queue.
      - `annotation_schema` LLMObsAnnotationSchema — Schema defining the labels for an annotation queue.
        - `label_schemas` LLMObsLabelSchema[], required — List of label schema definitions.
          - `description` string — Description of the label.
          - `has_assessment` boolean — Whether this label includes an assessment field.
          - `has_reasoning` boolean — Whether this label includes a reasoning field.
          - `id` string — Unique identifier of the label schema. Assigned by the server if not provided.
          - `is_assessment` boolean — Whether the boolean label represents an assessment. Requires `has_assessment` to be true.
          - `is_integer` boolean — Whether score values must be integers. Applicable to score-type labels.
          - `is_required` boolean — Whether this label is required for an annotation.
          - `max` number, double — Maximum value for score-type labels.
          - `min` number, double — Minimum value for score-type labels.
          - `name` string, required — Name of the label. Must match the pattern `^[a-zA-Z0-9_-]+$` and be unique within the queue.
          - `type` 'score' | 'categorical' | 'boolean' | 'text', required — Type of a label in an annotation queue label schema.
          - `values` string[] — Allowed values for categorical-type labels. Must contain at least one non-empty, unique value.
      - `description` string — Description of the annotation queue.
      - `name` string, required — Name of the annotation queue.
      - `project_id` string, required — Identifier of the project this queue belongs to.
    - `type` 'queues', required — Resource type of an LLM Observability annotation queue.

## Response `201`

Created

- LLMObsAnnotationQueueResponse — Response containing a single LLM Observability annotation queue.
  - `data` LLMObsAnnotationQueueDataResponse, required — Data object for an LLM Observability annotation queue.
    - `attributes` LLMObsAnnotationQueueDataAttributesResponse, required — Attributes of an LLM Observability annotation queue.
      - `annotation_schema` LLMObsAnnotationSchema — Schema defining the labels for an annotation queue.
        - `label_schemas` LLMObsLabelSchema[], required — List of label schema definitions.
          - `description` string — Description of the label.
          - `has_assessment` boolean — Whether this label includes an assessment field.
          - `has_reasoning` boolean — Whether this label includes a reasoning field.
          - `id` string — Unique identifier of the label schema. Assigned by the server if not provided.
          - `is_assessment` boolean — Whether the boolean label represents an assessment. Requires `has_assessment` to be true.
          - `is_integer` boolean — Whether score values must be integers. Applicable to score-type labels.
          - `is_required` boolean — Whether this label is required for an annotation.
          - `max` number, double — Maximum value for score-type labels.
          - `min` number, double — Minimum value for score-type labels.
          - `name` string, required — Name of the label. Must match the pattern `^[a-zA-Z0-9_-]+$` and be unique within the queue.
          - `type` 'score' | 'categorical' | 'boolean' | 'text', required — Type of a label in an annotation queue label schema.
          - `values` string[] — Allowed values for categorical-type labels. Must contain at least one non-empty, unique value.
      - `created_at` string, date-time, required — Timestamp when the queue was created.
      - `created_by` string, required — Identifier of the user who created the queue.
      - `description` string, required — Description of the annotation queue.
      - `modified_at` string, date-time, required — Timestamp when the queue was last modified.
      - `modified_by` string, required — Identifier of the user who last modified the queue.
      - `name` string, required — Name of the annotation queue.
      - `owned_by` string, required — Identifier of the user who owns the queue.
      - `project_id` string, required — Identifier of the project this queue belongs to.
    - `id` string, required — Unique identifier of the annotation queue.
    - `type` 'queues', required — Resource type of an LLM Observability annotation queue.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `429` — Too many requests

---

[API](https://skmtc.net/datadog/apis/api-v2.md) · [All operations](https://skmtc.net/datadog/apis/api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/datadog/api-v2/revisions/da68bf029e4c/schema)
