---
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`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/llm-obs/v1/annotation-queues`
- Auth: API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`

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.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/da68bf029e4c?raw)
