---
title: "Get Canvas Item"
method: GET
path: "/v1/replica/{id}/canvas/{filename}"
tags: ["Replica"]
---

# Get Canvas Item

`GET /v1/replica/{id}/canvas/{filename}`

Reads a single Canvas item by filename. Text kinds (`markdown`, `html`) return UTF-8 text in `content`. Binary kinds (`image`, `video`, `audio`, `other`) return base64 in `base64`. Items over the 5 MB per-file cap return `tooLarge: true` with neither payload; callers should reach for `replicas media upload` for those.

## Path parameters

- `id` string, uuid, required
- `filename` string, required

## Response `200`

Successful response

- CanvasContentResponse — A single Canvas item's content. Text kinds populate `content`; binary kinds populate `base64`. Items over the 5 MB per-file cap return `tooLarge: true` with neither payload populated.
  - `filename` string, required
  - `kind` 'markdown' | 'html' | 'image' | 'video' | 'audio' | 'other', required — The kind of Canvas item, inferred from its file extension.
  - `sizeBytes` integer, required
  - `mimeType` string, required — MIME type to render the content with (e.g. `text/markdown; charset=utf-8`, `image/png`).
  - `content` string — UTF-8 text for `markdown` / `html` kinds.
  - `base64` string — Base64 payload for `image` / `video` / `audio` / `other` kinds.
  - `tooLarge` boolean — Present and `true` when the file exceeded the engine's per-file size cap.

## Other responses

- `401` — Unauthorized - Invalid or missing API key
- `404` — Resource not found
- `500` — Internal server error
- `502` — Bad gateway - The workspace is unreachable or returned an invalid response

---

[API](https://skmtc.net/tryreplicas/apis/replica-api.md) · [All operations](https://skmtc.net/tryreplicas/apis/replica-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryreplicas/replica-api/versions/aa3b4c932f7a/schema)
