---
title: "PNG of one demo setup"
method: GET
path: "/demo/{symbol}/chart.png"
tags: ["demo"]
---

# PNG of one demo setup

`GET /demo/{symbol}/chart.png`

## Request

- Base URL: `https://api.tradingpal.io/api/v1`
- URL: `https://api.tradingpal.io/api/v1/demo/{symbol}/chart.png`
- Auth: one of:
  - none
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.tradingpal.io/oauth/authorize`, token URL `https://api.tradingpal.io/oauth/token`, scopes: `patterns`)

Returns the PNG of one current setup on a demo symbol, as the keyed chart route would. setup_id comes from the demo patterns route; symbols outside the demo set answer 404 not_a_demo_symbol. No key is needed; keyless calls are limited per IP. The demo MCP tool returns the first setup's chart inline instead of taking a setup_id.

## Path parameters

- `symbol` string, required

## Query parameters

- `setup_id` string, required

## Response `200`

PNG image of the setup: candles, both lines, trigger, stop and target.

## Other responses

- `400`: bad_request (setup_id missing)
- `404`: not_a_demo_symbol, setup_not_found or chart_unavailable
- `429`: rate_limited; wait details.retry_after_seconds

---

[API](https://skmtc.dev/tradingpal/apis/tradingpal-pattern-api.md) · [All operations](https://skmtc.dev/tradingpal/apis/tradingpal-pattern-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tradingpal/apis/tradingpal-pattern-api/revisions/e96e1f20c1ce?raw)
