---
title: "Get the shapes of a strategy by share slug"
method: GET
path: "/strategies/{slug}/shapes"
tags: ["Strategies"]
---

# Get the shapes of a strategy by share slug

`GET /strategies/{slug}/shapes`

## Request

- Base URL: `https://teambattles.gg/api/v1`
- URL: `https://teambattles.gg/api/v1/strategies/{slug}/shapes`
- Auth: HTTP bearer

Returns the canvas shapes of a shareable strategy resolved by its public share slug, ordered by stacking index (zIndex). Hidden working shapes are omitted. The full set is returned in a single response - there is no pagination - and the read is bounded to the first 2000 rows in stacking order, so a board larger than that is truncated. The same visibility gate as the strategy read applies (private returns 404 unless the API key owner owns it; public and unlisted are readable by any key). Requires strategies.read.

## Path parameters

- `slug` string, required: Strategy public share slug.

## Response `200`

The strategy shapes.

- ApiStrategyShapesEnvelope: Strategy shapes, count, and a response timestamp.
  - `shapes` ApiStrategyShape[], required
    - `id` string, required: Shape row ID.
    - `shapeId` string, required: Stable client-side shape id.
    - `stageId` string, required: Stage this shape belongs to.
    - `type` 'ink' | 'line' | 'arrow' | 'rect' | 'ellipse' | 'polygon' | 'text' | 'token' | 'image', required: Shape primitive type.
    - `layer` 'drawing' | 'tokens', required: Canvas layer the shape renders on.
    - `zIndex` number, required: Stacking order within its layer.
    - `data` unknown, required
    - `updatedAt` string, nullable, required: ISO 8601 timestamp.
  - `count` integer, required
  - `timestamp` string, required: ISO 8601 timestamp.

## Other responses

- `401`: Missing or invalid API key.
- `403`: API key lacks the required permission.
- `404`: Resource not found.
- `429`: Rate limited.
- `500`: Internal server error.

## Changes

- **2026-06-08** `33b01a4694a7`: 1 info
  - endpoint added
- **2026-06-04** `f22bd61fd595`: 1 breaking
  - api path removed without deprecation

[Operation history](https://skmtc.dev/teambattles/apis/teambattles-api/changes/strategies/:slug/shapes/get.md)

---

[API](https://skmtc.dev/teambattles/apis/teambattles-api.md) - [All operations](https://skmtc.dev/teambattles/apis/teambattles-api/llms.txt) - [OpenAPI document](https://skmtc.dev/teambattles/apis/teambattles-api/revisions/75b07daef7dc?raw)
