---
title: "Compute one built in study over a symbol, timeframe and range"
method: POST
path: "/v1/indicators/compute"
---

# Compute one built in study over a symbol, timeframe and range

`POST /v1/indicators/compute`

## Request

- Base URL: `https://app.texttoquant.com/api`
- URL: `https://app.texttoquant.com/api/v1/indicators/compute`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Request body

- object
  - `type` string, required: Study id, e.g. rsi, ema, macd, bollinger_bands
  - `params` object: Study parameters, e.g. {"period": 21}
  - `symbol` string, required
  - `timeframe` string, required
  - `chartTimeframe` string: Step the series onto this timeframe's bars (no lookahead)
  - `startDate` string, required
  - `endDate` string, required

## Response `200`

Answers {success, type, params, paneType, series: {<key>: [{t, v}]}, barCount} at the top level (no data wrapper), plus notes when the pane has something to say about its data

- object
  - `success` true, required
  - `type` string, required
  - `params` object: The parameters the study was computed with.
  - `paneType` 'overlay' | 'oscillator', required
  - `series` object, required: One array of {t, v} per output, keyed by output name or period.
  - `barCount` integer, required
  - `graphics` object: Present only for zone studies: the boxes and labels to draw.
  - `sourceTimeframe` string: Present only when chartTimeframe stepped the series onto other bars.
  - `warmupBars` integer: Bar index where the warm up ends (the largest over the outputs).
  - `warmupBarsByOutput` object: The same boundary per output.
  - `notes` object[]: Present only when the pane has something to say about its data. ORDER_FLOW_PREPARING: an order flow study (cvd, volume_delta) over a period whose trade archives are not stored yet. The series is empty, nothing is charged, and the period is queued for preparation: ask again after retryAfterMinutes.
    - `code` 'ORDER_FLOW_PREPARING', required
    - `message` string, required: Plain words for the person looking at the pane.
    - `retryAfterMinutes` integer, required

## Other responses

- `402`: feature_not_included — chartStudies
- `404`: No candle data for the range
- `413`: Range too large for this timeframe

---

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