Skip to main content
GET
https://dashboard.laburen.com
/
api
/
annotations
curl --location --request GET 'https://dashboard.laburen.com/api/annotations?agentId=clxxxxxxxxxxxxxxxxx&status=pending' \
--header 'Authorization: Bearer <API_KEY>'
[
  {
    "id": "clxxxxxxxxxxxxxxxxx",
    "messageId": "clxxxxxxxxxxxxxxxxx",
    "conversationId": "clxxxxxxxxxxxxxxxxx",
    "agentId": "clxxxxxxxxxxxxxxxxx",
    "organizationId": "clxxxxxxxxxxxxxxxxx",
    "comment": "The agent provided incorrect information about pricing",
    "sentiment": "bad",
    "status": "pending",
    "createdById": "clxxxxxxxxxxxxxxxxx",
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-15T10:30:00.000Z",
    "createdBy": {
      "email": "user@example.com"
    },
    "tags": [
      {
        "tag": {
          "id": "clxxxxxxxxxxxxxxxxx",
          "name": "bug"
        }
      }
    ]
  },
  {
    "id": "clxxxxxxxxxxxxxxxxx",
    "messageId": "clxxxxxxxxxxxxxxxxx",
    "conversationId": "clxxxxxxxxxxxxxxxxx",
    "agentId": "clxxxxxxxxxxxxxxxxx",
    "organizationId": "clxxxxxxxxxxxxxxxxx",
    "comment": "Great response, very helpful!",
    "sentiment": "good",
    "status": "completed",
    "createdById": "clxxxxxxxxxxxxxxxxx",
    "createdAt": "2024-01-15T09:15:00.000Z",
    "updatedAt": "2024-01-15T09:15:00.000Z",
    "createdBy": {
      "email": "user@example.com"
    },
    "tags": []
  }
]
This endpoint retrieves a paginated list of annotations with optional filters. It supports:
  • Filtering by agent, sentiment, conversation, message, or status
  • Cursor-based pagination (20 items per page)
  • Public agent access (no authentication required for public agents)
  • Optimized response with minimal includes for performance
Authentication is optional. If no session is provided, you must include a messageId or agentId query parameter referencing a public agent to resolve the organization.

Query Parameters

agentId
string
Filter annotations by agent ID (CUID format). Also used to resolve organization for public agents when no session is provided.
sentiment
string
Filter annotations by sentiment. Valid values: good, bad (case-insensitive).
conversationId
string
Filter annotations by conversation ID (CUID format).
messageId
string
Filter annotations by message ID (CUID format). Also used to resolve organization for public agents when no session is provided.
status
string
Filter annotations by status. Valid values depend on your organization’s configuration.
cursor
string
Cursor for pagination. Use the id of the last item from the previous page to fetch the next page.

Response

The response is an array of annotation objects (up to 20 items per page).
id
string
Unique identifier of the annotation (CUID format).
messageId
string
ID of the message this annotation refers to.
conversationId
string
ID of the conversation this annotation belongs to.
agentId
string
ID of the agent associated with this annotation.
organizationId
string
ID of the organization the annotation belongs to.
comment
string
Comment or feedback text for the annotation.
sentiment
string
Sentiment of the annotation (e.g., good, bad).
status
string
Current status of the annotation.
createdById
string
ID of the user who created the annotation.
createdAt
string
ISO 8601 timestamp of when the annotation was created.
updatedAt
string
ISO 8601 timestamp of when the annotation was last updated.
createdBy
object
Information about the user who created the annotation (minimal includes for performance).
tags
array
Tags associated with the annotation.
This endpoint returns minimal data for performance. For full annotation details including complete conversation context, use the Get Annotation endpoint.

Error Responses

Status CodeTypeDescription
401UNAUTHORIZEDNo valid session and no public agent agentId or messageId provided, or the agent is not public.
curl --location --request GET 'https://dashboard.laburen.com/api/annotations?agentId=clxxxxxxxxxxxxxxxxx&status=pending' \
--header 'Authorization: Bearer <API_KEY>'
[
  {
    "id": "clxxxxxxxxxxxxxxxxx",
    "messageId": "clxxxxxxxxxxxxxxxxx",
    "conversationId": "clxxxxxxxxxxxxxxxxx",
    "agentId": "clxxxxxxxxxxxxxxxxx",
    "organizationId": "clxxxxxxxxxxxxxxxxx",
    "comment": "The agent provided incorrect information about pricing",
    "sentiment": "bad",
    "status": "pending",
    "createdById": "clxxxxxxxxxxxxxxxxx",
    "createdAt": "2024-01-15T10:30:00.000Z",
    "updatedAt": "2024-01-15T10:30:00.000Z",
    "createdBy": {
      "email": "user@example.com"
    },
    "tags": [
      {
        "tag": {
          "id": "clxxxxxxxxxxxxxxxxx",
          "name": "bug"
        }
      }
    ]
  },
  {
    "id": "clxxxxxxxxxxxxxxxxx",
    "messageId": "clxxxxxxxxxxxxxxxxx",
    "conversationId": "clxxxxxxxxxxxxxxxxx",
    "agentId": "clxxxxxxxxxxxxxxxxx",
    "organizationId": "clxxxxxxxxxxxxxxxxx",
    "comment": "Great response, very helpful!",
    "sentiment": "good",
    "status": "completed",
    "createdById": "clxxxxxxxxxxxxxxxxx",
    "createdAt": "2024-01-15T09:15:00.000Z",
    "updatedAt": "2024-01-15T09:15:00.000Z",
    "createdBy": {
      "email": "user@example.com"
    },
    "tags": []
  }
]