---
title: "List brand report annotations"
method: GET
path: "/v1/reports/brand/{reportId}/annotations"
tags: ["Brand Reports"]
---

# List brand report annotations

`GET /v1/reports/brand/{reportId}/annotations`

## Request

- Base URL: `https://data.otterly.ai`
- URL: `https://data.otterly.ai/v1/reports/brand/{reportId}/annotations`
- Auth: HTTP bearer

Returns every annotation on the brand report, notes and recommendation markers, most recently created first. Send `startDate` and `endDate` together to return only annotations dated in that range (inclusive), ordered by annotation date, latest first; a lone bound or a `startDate` after `endDate` is a 400. Annotations may not show in the dashboard until annotations are enabled there for your account; they are stored and returned by the API either way.

## Path parameters

- `reportId` string, required: Brand report identifier.

## Query parameters

- `startDate` string: Optional. First day to include (inclusive), YYYY-MM-DD. Send together with `endDate`.
- `endDate` string: Optional. Last day to include (inclusive), YYYY-MM-DD. Send together with `startDate`.

## Response `200`

The annotations on the brand report.

- PublicApiBrandReportAnnotationsList
  - `items` PublicApiBrandReportAnnotation[], required
    - `id` string, required: Annotation identifier.
    - `brandReportId` string, required: Brand report the annotation belongs to.
    - `date` string, required: Marked calendar day, YYYY-MM-DD.
    - `type` 'note' | 'recommendation', required: `note` for a free-text note; `recommendation` for a recommendation marked as done in the app. Only notes can be created or edited through the API.
    - `text` string, required: Annotation text.
    - `recommendationId` string: Recommendation the annotation marks. Present only when `type` is `recommendation`.
    - `createdBy` string, required: Opaque identifier of the user who created the annotation.
    - `createdDate` string, required: Creation timestamp (ISO 8601).
    - `updatedDate` string, required: Last update timestamp (ISO 8601).
  - `paging` PublicApiCursorPageInfo, required
    - `nextCursor` string, nullable, required
    - `hasMore` boolean, required

## Other responses

- `400`: Validation failed.
- `401`: Unauthorized.
- `403`: Forbidden.
- `404`: Report not found.
- `429`: Quota exhausted.

## Changes

- **2026-11-03** `b5dc4bea6d45`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/otterly/apis/otterly-public-api/changes/v1/reports/brand/:reportId/annotations/get.md)

---

[API](https://skmtc.dev/otterly/apis/otterly-public-api.md) - [All operations](https://skmtc.dev/otterly/apis/otterly-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/otterly/apis/otterly-public-api/revisions/333e3100f0b4?raw)
