@@ -55849,6 +55849,10 @@ components:
5584955849 items:
5585055850 $ref: "#/components/schemas/LLMObsAnnotationItem"
5585155851 type: array
55852+ can_annotate:
55853+ description: Whether the current caller can annotate this interaction.
55854+ example: true
55855+ type: boolean
5585255856 content_id:
5585355857 description: Upstream entity identifier (trace ID, session ID, or deterministic display_block ID).
5585455858 example: "trace-abc-123"
@@ -55887,6 +55891,7 @@ components:
5588755891 - modified_at
5588855892 - queue_id
5588955893 - queue_name
55894+ - can_annotate
5589055895 - annotations
5589155896 type: object
5589255897 LLMObsAnnotatedInteractionItem:
@@ -55951,6 +55956,7 @@ components:
5595155956 description: List of interactions with their annotations.
5595255957 example:
5595355958 - annotations: []
55959+ can_annotate: true
5595455960 content_id: trace-abc-123
5595555961 id: "interaction-456"
5595655962 type: trace
@@ -56009,6 +56015,8 @@ components:
5600956015 description: ID of the annotation that failed, if applicable.
5601056016 example: "00000000-0000-0000-0000-000000000000"
5601156017 type: string
56018+ code:
56019+ $ref: "#/components/schemas/LLMObsAnnotationErrorCode"
5601256020 error:
5601356021 description: Error message.
5601456022 example: "interaction not found"
@@ -56021,6 +56029,14 @@ components:
5602156029 - interaction_id
5602256030 - error
5602356031 type: object
56032+ LLMObsAnnotationErrorCode:
56033+ description: Stable error code. `permission_denied` indicates the item was rejected by queue access rules.
56034+ enum:
56035+ - permission_denied
56036+ example: permission_denied
56037+ type: string
56038+ x-enum-varnames:
56039+ - PERMISSION_DENIED
5602456040 LLMObsAnnotationItem:
5602556041 description: A single annotation on an interaction.
5602656042 properties:
@@ -56199,6 +56215,21 @@ components:
5619956215 description: Identifier of the project this queue belongs to.
5620056216 example: "00000000-0000-0000-0000-000000000002"
5620156217 type: string
56218+ restrict_to_assignees:
56219+ description: Whether annotation access is restricted to assigned users.
56220+ example: false
56221+ type: boolean
56222+ restrict_to_reviewers:
56223+ description: Whether annotation access is restricted to queue reviewers.
56224+ example: true
56225+ type: boolean
56226+ reviewer_emails:
56227+ description: Email addresses of reviewers who can access the annotation queue.
56228+ example:
56229+ - "reviewer@example.com"
56230+ items:
56231+ type: string
56232+ type: array
5620256233 required:
5620356234 - name
5620456235 - project_id
@@ -56208,6 +56239,11 @@ components:
5620856239 properties:
5620956240 annotation_schema:
5621056241 $ref: "#/components/schemas/LLMObsAnnotationSchema"
56242+ can_manage_access:
56243+ description: Whether the current caller can manage access for the annotation queue.
56244+ example: true
56245+ readOnly: true
56246+ type: boolean
5621156247 created_at:
5621256248 description: Timestamp when the queue was created.
5621356249 example: "2024-01-15T10:30:00Z"
@@ -56242,6 +56278,23 @@ components:
5624256278 description: Identifier of the project this queue belongs to.
5624356279 example: "00000000-0000-0000-0000-000000000002"
5624456280 type: string
56281+ restrict_to_assignees:
56282+ description: Whether annotation access is restricted to assigned users.
56283+ example: false
56284+ type: boolean
56285+ restrict_to_reviewers:
56286+ description: Whether annotation access is restricted to queue reviewers.
56287+ example: true
56288+ type: boolean
56289+ reviewer_emails:
56290+ description: |-
56291+ Email addresses of reviewers for the annotation queue. Returned only
56292+ when the caller can manage queue access.
56293+ example:
56294+ - "reviewer@example.com"
56295+ items:
56296+ type: string
56297+ type: array
5624556298 required:
5624656299 - name
5624756300 - project_id
@@ -56251,6 +56304,9 @@ components:
5625156304 - modified_by
5625256305 - modified_at
5625356306 - owned_by
56307+ - restrict_to_reviewers
56308+ - restrict_to_assignees
56309+ - can_manage_access
5625456310 type: object
5625556311 LLMObsAnnotationQueueDataRequest:
5625656312 description: Data object for creating an Agent Observability annotation queue.
@@ -56467,6 +56523,21 @@ components:
5646756523 description: Updated name of the annotation queue.
5646856524 example: "Updated queue name"
5646956525 type: string
56526+ restrict_to_assignees:
56527+ description: Whether annotation access is restricted to assigned users.
56528+ example: false
56529+ type: boolean
56530+ restrict_to_reviewers:
56531+ description: Whether annotation access is restricted to queue reviewers.
56532+ example: true
56533+ type: boolean
56534+ reviewer_emails:
56535+ description: Updated email addresses of reviewers who can access the annotation queue.
56536+ example:
56537+ - "reviewer@example.com"
56538+ items:
56539+ type: string
56540+ type: array
5647056541 type: object
5647156542 LLMObsAnnotationQueueUpdateDataRequest:
5647256543 description: Data object for updating an Agent Observability annotation queue.
@@ -58351,6 +58422,10 @@ components:
5835158422 items:
5835258423 $ref: "#/components/schemas/LLMObsAnnotationItem"
5835358424 type: array
58425+ can_annotate:
58426+ description: Whether the current caller can annotate this interaction.
58427+ example: true
58428+ type: boolean
5835458429 content_id:
5835558430 description: Server-generated deterministic identifier derived from the block list.
5835658431 example: "9a87f3e2b1d4c5a6f8b3e2d1c4a7b5f6e3d2a1c4b7e5f8a3d6c2e1b4a7d5f8c2"
@@ -58367,6 +58442,7 @@ components:
5836758442 - id
5836858443 - type
5836958444 - content_id
58445+ - can_annotate
5837058446 - annotations
5837158447 - display_block
5837258448 type: object
@@ -62357,6 +62433,10 @@ components:
6235762433 items:
6235862434 $ref: "#/components/schemas/LLMObsAnnotationItem"
6235962435 type: array
62436+ can_annotate:
62437+ description: Whether the current caller can annotate this interaction.
62438+ example: true
62439+ type: boolean
6236062440 content_id:
6236162441 description: Upstream entity identifier supplied by the caller.
6236262442 example: "trace-abc-123"
@@ -62383,6 +62463,7 @@ components:
6238362463 - content_id
6238462464 - created_at
6238562465 - modified_at
62466+ - can_annotate
6238662467 - annotations
6238762468 type: object
6238862469 LLMObsTraceInteractionItem:
@@ -164695,6 +164776,7 @@ paths:
164695164776 value: good
164696164777 modified_at: "0001-01-01T00:00:00Z"
164697164778 modified_by: "00000000-0000-0000-0000-000000000002"
164779+ can_annotate: true
164698164780 content_id: trace-abc-123
164699164781 created_at: "2025-06-01T12:00:00Z"
164700164782 id: interaction-456
@@ -164772,6 +164854,7 @@ paths:
164772164854 value:
164773164855 data:
164774164856 - attributes:
164857+ can_manage_access: true
164775164858 created_at: "2024-01-15T10:30:00Z"
164776164859 created_by: 00000000-0000-0000-0000-000000000002
164777164860 description: Queue for annotating customer support traces
@@ -164780,6 +164863,10 @@ paths:
164780164863 name: My annotation queue
164781164864 owned_by: 00000000-0000-0000-0000-000000000002
164782164865 project_id: 00000000-0000-0000-0000-000000000002
164866+ restrict_to_assignees: false
164867+ restrict_to_reviewers: true
164868+ reviewer_emails:
164869+ - reviewer@example.com
164783164870 id: 00000000-0000-0000-0000-000000000001
164784164871 type: queues
164785164872 schema:
@@ -164818,6 +164905,7 @@ paths:
164818164905 description: |-
164819164906 Create an annotation queue. The `name` and `project_id` fields are required.
164820164907 An optional `annotation_schema` can be provided to define the labels for the queue.
164908+ Optional access-control fields can restrict annotation access to reviewers or assignees.
164821164909 Fields such as `created_by`, `owned_by`, `created_at`, `modified_by`,
164822164910 and `modified_at` are inferred by the backend.
164823164911 operationId: CreateLLMObsAnnotationQueue
@@ -164833,6 +164921,19 @@ paths:
164833164921 name: My annotation queue
164834164922 project_id: 00000000-0000-0000-0000-000000000002
164835164923 type: queues
164924+ with_access_controls:
164925+ summary: Create queue with access controls
164926+ value:
164927+ data:
164928+ attributes:
164929+ description: Queue for annotating customer support traces
164930+ name: Restricted annotation queue
164931+ project_id: 00000000-0000-0000-0000-000000000002
164932+ restrict_to_assignees: false
164933+ restrict_to_reviewers: true
164934+ reviewer_emails:
164935+ - reviewer@example.com
164936+ type: queues
164836164937 with_schema:
164837164938 summary: Create queue with annotation schema
164838164939 value:
@@ -164868,6 +164969,7 @@ paths:
164868164969 value:
164869164970 data:
164870164971 attributes:
164972+ can_manage_access: true
164871164973 created_at: "2024-01-15T10:30:00Z"
164872164974 created_by: 00000000-0000-0000-0000-000000000002
164873164975 description: Queue for annotating customer support traces
@@ -164876,6 +164978,10 @@ paths:
164876164978 name: My annotation queue
164877164979 owned_by: 00000000-0000-0000-0000-000000000002
164878164980 project_id: 00000000-0000-0000-0000-000000000002
164981+ restrict_to_assignees: false
164982+ restrict_to_reviewers: true
164983+ reviewer_emails:
164984+ - reviewer@example.com
164879164985 id: 00000000-0000-0000-0000-000000000001
164880164986 type: queues
164881164987 schema:
@@ -164950,7 +165056,9 @@ paths:
164950165056 If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
164951165057 patch:
164952165058 description: |-
164953- Partially update an annotation queue. The `name`, `description`, and `annotation_schema` fields can be updated.
165059+ Partially update an annotation queue. The `name`, `description`,
165060+ `annotation_schema`, `reviewer_emails`, `restrict_to_reviewers`, and
165061+ `restrict_to_assignees` fields can be updated.
164954165062 operationId: UpdateLLMObsAnnotationQueue
164955165063 parameters:
164956165064 - $ref: "#/components/parameters/LLMObsAnnotationQueueIDPathParameter"
@@ -164964,6 +165072,10 @@ paths:
164964165072 attributes:
164965165073 description: Updated description
164966165074 name: Updated queue name
165075+ restrict_to_assignees: false
165076+ restrict_to_reviewers: true
165077+ reviewer_emails:
165078+ - reviewer@example.com
164967165079 type: queues
164968165080 schema:
164969165081 $ref: "#/components/schemas/LLMObsAnnotationQueueUpdateRequest"
@@ -164978,6 +165090,7 @@ paths:
164978165090 value:
164979165091 data:
164980165092 attributes:
165093+ can_manage_access: true
164981165094 created_at: "2024-01-15T10:30:00Z"
164982165095 created_by: 00000000-0000-0000-0000-000000000002
164983165096 description: Queue for annotating customer support traces
@@ -164986,6 +165099,10 @@ paths:
164986165099 name: My annotation queue
164987165100 owned_by: 00000000-0000-0000-0000-000000000002
164988165101 project_id: 00000000-0000-0000-0000-000000000002
165102+ restrict_to_assignees: false
165103+ restrict_to_reviewers: true
165104+ reviewer_emails:
165105+ - reviewer@example.com
164989165106 id: 00000000-0000-0000-0000-000000000001
164990165107 type: queues
164991165108 schema:
@@ -165043,6 +165160,7 @@ paths:
165043165160 attributes:
165044165161 annotated_interactions:
165045165162 - annotations: []
165163+ can_annotate: true
165046165164 content_id: trace-abc-123
165047165165 id: interaction-456
165048165166 type: trace
@@ -165093,6 +165211,7 @@ paths:
165093165211 by `interaction_id` and the requesting user's identity.
165094165212 Results and errors in the response are linked to request items by `interaction_id`.
165095165213 Errors for individual items are returned in the `errors` field without blocking the rest of the batch.
165214+ Requests where every item is denied by queue access rules return `403`.
165096165215 operationId: UpsertLLMObsAnnotations
165097165216 parameters:
165098165217 - $ref: "#/components/parameters/LLMObsAnnotationQueueIDPathParameter"
@@ -165137,9 +165256,31 @@ paths:
165137165256 modified_by: 00000000-0000-0000-0000-000000000002
165138165257 id: 00000000-0000-0000-0000-000000000001
165139165258 type: annotations
165259+ mixed_access_denied:
165260+ summary: Some annotations were denied by queue access rules
165261+ value:
165262+ data:
165263+ attributes:
165264+ annotations:
165265+ - created_at: "2024-01-15T10:30:00Z"
165266+ created_by: 00000000-0000-0000-0000-000000000002
165267+ id: 00000000-0000-0000-0000-000000000000
165268+ interaction_id: 00000000-0000-0000-0000-000000000001
165269+ label_values:
165270+ - label_schema_id: abc-123
165271+ value: good
165272+ modified_at: "2024-01-15T10:30:00Z"
165273+ modified_by: 00000000-0000-0000-0000-000000000002
165274+ errors:
165275+ - code: permission_denied
165276+ error: permission denied
165277+ interaction_id: 00000000-0000-0000-0000-000000000003
165278+ id: 00000000-0000-0000-0000-000000000001
165279+ type: annotations
165140165280 schema:
165141165281 $ref: "#/components/schemas/LLMObsAnnotationsResponse"
165142- description: OK — annotations created or updated. Per-item errors are listed in `errors`.
165282+ description: >-
165283+ OK — annotations created or updated. For mixed batches, denied items and other per-item errors are listed in `errors`.
165143165284 "400":
165144165285 content:
165145165286 application/json:
@@ -165157,7 +165298,7 @@ paths:
165157165298 application/json:
165158165299 schema:
165159165300 $ref: "#/components/schemas/JSONAPIErrorResponse"
165160- description: Forbidden
165301+ description: Forbidden — all request items were denied by queue access rules
165161165302 "404":
165162165303 content:
165163165304 application/json:
0 commit comments