@@ -55263,6 +55263,10 @@ components:
5526355263 items:
5526455264 $ref: "#/components/schemas/LLMObsAnnotationItem"
5526555265 type: array
55266+ can_annotate:
55267+ description: Whether the current caller can annotate this interaction.
55268+ example: true
55269+ type: boolean
5526655270 content_id:
5526755271 description: Upstream entity identifier (trace ID, session ID, or deterministic display_block ID).
5526855272 example: "trace-abc-123"
@@ -55301,6 +55305,7 @@ components:
5530155305 - modified_at
5530255306 - queue_id
5530355307 - queue_name
55308+ - can_annotate
5530455309 - annotations
5530555310 type: object
5530655311 LLMObsAnnotatedInteractionItem:
@@ -55365,6 +55370,7 @@ components:
5536555370 description: List of interactions with their annotations.
5536655371 example:
5536755372 - annotations: []
55373+ can_annotate: true
5536855374 content_id: trace-abc-123
5536955375 id: "interaction-456"
5537055376 type: trace
@@ -55423,6 +55429,8 @@ components:
5542355429 description: ID of the annotation that failed, if applicable.
5542455430 example: "00000000-0000-0000-0000-000000000000"
5542555431 type: string
55432+ code:
55433+ $ref: "#/components/schemas/LLMObsAnnotationErrorCode"
5542655434 error:
5542755435 description: Error message.
5542855436 example: "interaction not found"
@@ -55435,6 +55443,14 @@ components:
5543555443 - interaction_id
5543655444 - error
5543755445 type: object
55446+ LLMObsAnnotationErrorCode:
55447+ description: Stable error code. `permission_denied` indicates the item was rejected by queue access rules.
55448+ enum:
55449+ - permission_denied
55450+ example: permission_denied
55451+ type: string
55452+ x-enum-varnames:
55453+ - PERMISSION_DENIED
5543855454 LLMObsAnnotationItem:
5543955455 description: A single annotation on an interaction.
5544055456 properties:
@@ -55613,6 +55629,21 @@ components:
5561355629 description: Identifier of the project this queue belongs to.
5561455630 example: "00000000-0000-0000-0000-000000000002"
5561555631 type: string
55632+ restrict_to_assignees:
55633+ description: Whether annotation access is restricted to assigned users.
55634+ example: false
55635+ type: boolean
55636+ restrict_to_reviewers:
55637+ description: Whether annotation access is restricted to queue reviewers.
55638+ example: true
55639+ type: boolean
55640+ reviewer_emails:
55641+ description: Email addresses of reviewers who can access the annotation queue.
55642+ example:
55643+ - "reviewer@example.com"
55644+ items:
55645+ type: string
55646+ type: array
5561655647 required:
5561755648 - name
5561855649 - project_id
@@ -55622,6 +55653,11 @@ components:
5562255653 properties:
5562355654 annotation_schema:
5562455655 $ref: "#/components/schemas/LLMObsAnnotationSchema"
55656+ can_manage_access:
55657+ description: Whether the current caller can manage access for the annotation queue.
55658+ example: true
55659+ readOnly: true
55660+ type: boolean
5562555661 created_at:
5562655662 description: Timestamp when the queue was created.
5562755663 example: "2024-01-15T10:30:00Z"
@@ -55656,6 +55692,21 @@ components:
5565655692 description: Identifier of the project this queue belongs to.
5565755693 example: "00000000-0000-0000-0000-000000000002"
5565855694 type: string
55695+ restrict_to_assignees:
55696+ description: Whether annotation access is restricted to assigned users.
55697+ example: false
55698+ type: boolean
55699+ restrict_to_reviewers:
55700+ description: Whether annotation access is restricted to queue reviewers.
55701+ example: true
55702+ type: boolean
55703+ reviewer_emails:
55704+ description: Email addresses of reviewers for the annotation queue. Returned only when the caller can manage queue access.
55705+ example:
55706+ - "reviewer@example.com"
55707+ items:
55708+ type: string
55709+ type: array
5565955710 required:
5566055711 - name
5566155712 - project_id
@@ -55665,6 +55716,9 @@ components:
5566555716 - modified_by
5566655717 - modified_at
5566755718 - owned_by
55719+ - restrict_to_reviewers
55720+ - restrict_to_assignees
55721+ - can_manage_access
5566855722 type: object
5566955723 LLMObsAnnotationQueueDataRequest:
5567055724 description: Data object for creating an LLM Observability annotation queue.
@@ -55881,6 +55935,21 @@ components:
5588155935 description: Updated name of the annotation queue.
5588255936 example: "Updated queue name"
5588355937 type: string
55938+ restrict_to_assignees:
55939+ description: Whether annotation access is restricted to assigned users.
55940+ example: false
55941+ type: boolean
55942+ restrict_to_reviewers:
55943+ description: Whether annotation access is restricted to queue reviewers.
55944+ example: true
55945+ type: boolean
55946+ reviewer_emails:
55947+ description: Updated email addresses of reviewers who can access the annotation queue.
55948+ example:
55949+ - "reviewer@example.com"
55950+ items:
55951+ type: string
55952+ type: array
5588455953 type: object
5588555954 LLMObsAnnotationQueueUpdateDataRequest:
5588655955 description: Data object for updating an LLM Observability annotation queue.
@@ -57765,6 +57834,10 @@ components:
5776557834 items:
5776657835 $ref: "#/components/schemas/LLMObsAnnotationItem"
5776757836 type: array
57837+ can_annotate:
57838+ description: Whether the current caller can annotate this interaction.
57839+ example: true
57840+ type: boolean
5776857841 content_id:
5776957842 description: Server-generated deterministic identifier derived from the block list.
5777057843 example: "9a87f3e2b1d4c5a6f8b3e2d1c4a7b5f6e3d2a1c4b7e5f8a3d6c2e1b4a7d5f8c2"
@@ -57781,6 +57854,7 @@ components:
5778157854 - id
5778257855 - type
5778357856 - content_id
57857+ - can_annotate
5778457858 - annotations
5778557859 - display_block
5778657860 type: object
@@ -61771,6 +61845,10 @@ components:
6177161845 items:
6177261846 $ref: "#/components/schemas/LLMObsAnnotationItem"
6177361847 type: array
61848+ can_annotate:
61849+ description: Whether the current caller can annotate this interaction.
61850+ example: true
61851+ type: boolean
6177461852 content_id:
6177561853 description: Upstream entity identifier supplied by the caller.
6177661854 example: "trace-abc-123"
@@ -61797,6 +61875,7 @@ components:
6179761875 - content_id
6179861876 - created_at
6179961877 - modified_at
61878+ - can_annotate
6180061879 - annotations
6180161880 type: object
6180261881 LLMObsTraceInteractionItem:
@@ -159315,6 +159394,7 @@ paths:
159315159394 value: good
159316159395 modified_at: "0001-01-01T00:00:00Z"
159317159396 modified_by: "00000000-0000-0000-0000-000000000002"
159397+ can_annotate: true
159318159398 content_id: trace-abc-123
159319159399 created_at: "2025-06-01T12:00:00Z"
159320159400 id: interaction-456
@@ -159392,6 +159472,7 @@ paths:
159392159472 value:
159393159473 data:
159394159474 - attributes:
159475+ can_manage_access: true
159395159476 created_at: "2024-01-15T10:30:00Z"
159396159477 created_by: 00000000-0000-0000-0000-000000000002
159397159478 description: Queue for annotating customer support traces
@@ -159400,6 +159481,10 @@ paths:
159400159481 name: My annotation queue
159401159482 owned_by: 00000000-0000-0000-0000-000000000002
159402159483 project_id: 00000000-0000-0000-0000-000000000002
159484+ restrict_to_assignees: false
159485+ restrict_to_reviewers: true
159486+ reviewer_emails:
159487+ - reviewer@example.com
159403159488 id: 00000000-0000-0000-0000-000000000001
159404159489 type: queues
159405159490 schema:
@@ -159438,6 +159523,7 @@ paths:
159438159523 description: |-
159439159524 Create an annotation queue. The `name` and `project_id` fields are required.
159440159525 An optional `annotation_schema` can be provided to define the labels for the queue.
159526+ Optional access-control fields can restrict annotation access to reviewers or assignees.
159441159527 Fields such as `created_by`, `owned_by`, `created_at`, `modified_by`,
159442159528 and `modified_at` are inferred by the backend.
159443159529 operationId: CreateLLMObsAnnotationQueue
@@ -159453,6 +159539,19 @@ paths:
159453159539 name: My annotation queue
159454159540 project_id: 00000000-0000-0000-0000-000000000002
159455159541 type: queues
159542+ with_access_controls:
159543+ summary: Create queue with access controls
159544+ value:
159545+ data:
159546+ attributes:
159547+ description: Queue for annotating customer support traces
159548+ name: Restricted annotation queue
159549+ project_id: 00000000-0000-0000-0000-000000000002
159550+ restrict_to_assignees: false
159551+ restrict_to_reviewers: true
159552+ reviewer_emails:
159553+ - reviewer@example.com
159554+ type: queues
159456159555 with_schema:
159457159556 summary: Create queue with annotation schema
159458159557 value:
@@ -159488,6 +159587,7 @@ paths:
159488159587 value:
159489159588 data:
159490159589 attributes:
159590+ can_manage_access: true
159491159591 created_at: "2024-01-15T10:30:00Z"
159492159592 created_by: 00000000-0000-0000-0000-000000000002
159493159593 description: Queue for annotating customer support traces
@@ -159496,6 +159596,10 @@ paths:
159496159596 name: My annotation queue
159497159597 owned_by: 00000000-0000-0000-0000-000000000002
159498159598 project_id: 00000000-0000-0000-0000-000000000002
159599+ restrict_to_assignees: false
159600+ restrict_to_reviewers: true
159601+ reviewer_emails:
159602+ - reviewer@example.com
159499159603 id: 00000000-0000-0000-0000-000000000001
159500159604 type: queues
159501159605 schema:
@@ -159570,7 +159674,7 @@ paths:
159570159674 If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
159571159675 patch:
159572159676 description: |-
159573- Partially update an annotation queue. The `name`, `description`, and `annotation_schema ` fields can be updated.
159677+ Partially update an annotation queue. The `name`, `description`, `annotation_schema`, `reviewer_emails`, `restrict_to_reviewers`, and `restrict_to_assignees ` fields can be updated.
159574159678 operationId: UpdateLLMObsAnnotationQueue
159575159679 parameters:
159576159680 - $ref: "#/components/parameters/LLMObsAnnotationQueueIDPathParameter"
@@ -159584,6 +159688,10 @@ paths:
159584159688 attributes:
159585159689 description: Updated description
159586159690 name: Updated queue name
159691+ restrict_to_assignees: false
159692+ restrict_to_reviewers: true
159693+ reviewer_emails:
159694+ - reviewer@example.com
159587159695 type: queues
159588159696 schema:
159589159697 $ref: "#/components/schemas/LLMObsAnnotationQueueUpdateRequest"
@@ -159598,6 +159706,7 @@ paths:
159598159706 value:
159599159707 data:
159600159708 attributes:
159709+ can_manage_access: true
159601159710 created_at: "2024-01-15T10:30:00Z"
159602159711 created_by: 00000000-0000-0000-0000-000000000002
159603159712 description: Queue for annotating customer support traces
@@ -159606,6 +159715,10 @@ paths:
159606159715 name: My annotation queue
159607159716 owned_by: 00000000-0000-0000-0000-000000000002
159608159717 project_id: 00000000-0000-0000-0000-000000000002
159718+ restrict_to_assignees: false
159719+ restrict_to_reviewers: true
159720+ reviewer_emails:
159721+ - reviewer@example.com
159609159722 id: 00000000-0000-0000-0000-000000000001
159610159723 type: queues
159611159724 schema:
@@ -159663,6 +159776,7 @@ paths:
159663159776 attributes:
159664159777 annotated_interactions:
159665159778 - annotations: []
159779+ can_annotate: true
159666159780 content_id: trace-abc-123
159667159781 id: interaction-456
159668159782 type: trace
@@ -159713,6 +159827,7 @@ paths:
159713159827 by `interaction_id` and the requesting user's identity.
159714159828 Results and errors in the response are linked to request items by `interaction_id`.
159715159829 Errors for individual items are returned in the `errors` field without blocking the rest of the batch.
159830+ Requests where every item is denied by queue access rules return `403`.
159716159831 operationId: UpsertLLMObsAnnotations
159717159832 parameters:
159718159833 - $ref: "#/components/parameters/LLMObsAnnotationQueueIDPathParameter"
@@ -159757,9 +159872,30 @@ paths:
159757159872 modified_by: 00000000-0000-0000-0000-000000000002
159758159873 id: 00000000-0000-0000-0000-000000000001
159759159874 type: annotations
159875+ mixed_access_denied:
159876+ summary: Some annotations were denied by queue access rules
159877+ value:
159878+ data:
159879+ attributes:
159880+ annotations:
159881+ - created_at: "2024-01-15T10:30:00Z"
159882+ created_by: 00000000-0000-0000-0000-000000000002
159883+ id: 00000000-0000-0000-0000-000000000000
159884+ interaction_id: 00000000-0000-0000-0000-000000000001
159885+ label_values:
159886+ - label_schema_id: abc-123
159887+ value: good
159888+ modified_at: "2024-01-15T10:30:00Z"
159889+ modified_by: 00000000-0000-0000-0000-000000000002
159890+ errors:
159891+ - code: permission_denied
159892+ error: permission denied
159893+ interaction_id: 00000000-0000-0000-0000-000000000003
159894+ id: 00000000-0000-0000-0000-000000000001
159895+ type: annotations
159760159896 schema:
159761159897 $ref: "#/components/schemas/LLMObsAnnotationsResponse"
159762- description: OK — annotations created or updated. Per -item errors are listed in `errors`.
159898+ description: OK — annotations created or updated. Mixed batches list denied items and other per -item errors in `errors`
159763159899 "400":
159764159900 content:
159765159901 application/json:
@@ -159777,7 +159913,7 @@ paths:
159777159913 application/json:
159778159914 schema:
159779159915 $ref: "#/components/schemas/JSONAPIErrorResponse"
159780- description: Forbidden
159916+ description: Forbidden — all request items were denied by queue access rules
159781159917 "404":
159782159918 content:
159783159919 application/json:
0 commit comments