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

# PNG of one current setup

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

## Request

- Base URL: `https://api.tradingpal.io/api/v1`
- URL: `https://api.tradingpal.io/api/v1/tickers/{symbol}/chart.png`
- Auth: one of:
  - 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 a PNG of one current setup: candles, both lines, trigger, stop and target. setup_id must come from the patterns route for the same ticker; a setup that is no longer current answers 404 setup_not_found, so re-read the patterns when that happens. The image is rendered once per setup per session and then served from storage; the response is cacheable for an hour. The ticker does not need to be tracked.

## Path parameters

- `symbol` string, required

## Query parameters

- `setup_id` string, required

## Headers

- `X-TradingPal-Client` string

## Response `200`

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

## Other responses

- `400`: bad_request (setup_id missing)
- `401`: missing_api_key (no Authorization: Bearer tp_live_… header) or invalid_api_key (unknown, revoked, or the account is inactive)
- `403`: forbidden (the account is not on Premium+, the plan with API access)
- `404`: setup_not_found (not a current setup on this symbol) or chart_unavailable (the setup cannot be drawn)
- `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)
