> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.labric.co/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.labric.co/_mcp/server.

# List annotations on an image

GET https://platform.labric.co/api/v1/images/{file_id}/annotations

List the masks saved on an image, oldest first.

Each annotation has a label, an is_human_vetted flag, and a signed mask_url
for the binary mask PNG. Signed URLs expire, so download masks soon after
listing them. Results include unvetted masks from automated saves. Only
human-vetted masks feed training. The file must be a processed image.

Requires an API key with the `read` scope.

Reference: https://docs.labric.co/api-reference/labric-api/images/list-annotations

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Path parameters

- `file_id` (string, required)

## Response

### 200

OK

- `list of AnnotationSchema`

## Errors

### 400 Bad Request Error

Bad Request

- `detail` (string, required)

### 401 Unauthorized Error

Unauthorized

- `detail` (string, required)

### 403 Forbidden Error

Forbidden

- `detail` (string, required)

### 404 Not Found Error

Not Found

- `detail` (string, required)

### 422 Unprocessable Entity Error

Unprocessable Content

- `detail` (list of map from string to any, required)

### 500 Internal Server Error

Internal Server Error

- `detail` (string, required)

## Types

### AnnotationSchema

- `id` (string, required)
- `label` (string, required)
- `mask_url` (string, optional, nullable)
- `width` (integer, optional, nullable)
- `height` (integer, optional, nullable)
- `is_human_vetted` (boolean, optional, default: false)
- `foreground_fraction` (double, optional, nullable)
- `bbox` (MaskBoundingBoxSchema, optional, nullable) — Bounding box of a mask's visible pixels, in mask pixel coordinates.
- `user` (ActivityActorSchema, optional, nullable)

### MaskBoundingBoxSchema

Bounding box of a mask's visible pixels, in mask pixel coordinates.

- `x` (integer, required)
- `y` (integer, required)
- `width` (integer, required)
- `height` (integer, required)

### ActivityActorSchema

- `id` (string, required)
- `name` (string, required)
- `image_url` (string, required, nullable)

## Examples

**Response**

```json
[
  {
    "id": "string",
    "label": "string",
    "mask_url": "string",
    "width": 1,
    "height": 1,
    "is_human_vetted": false,
    "foreground_fraction": 1.1,
    "bbox": {
      "x": 1,
      "y": 1,
      "width": 1,
      "height": 1
    },
    "user": {
      "id": "string",
      "name": "string",
      "image_url": "string"
    }
  }
]
```

**SDK Code**

```python
import requests

url = "https://platform.labric.co/api/v1/images/file_id/annotations"

headers = {"Authorization": "Bearer <api_key>"}

response = requests.get(url, headers=headers)

print(response.json())
```