---
title: "Get analytics chart data"
method: GET
path: "/analytics/charts/{chart_code}"
tags: ["Analytics"]
---

# Get analytics chart data

`GET /analytics/charts/{chart_code}`

Returns time-series data for a chart. `chart_code` selects the metric; pass query
parameters to constrain the time range and segmentation.

Public chart codes (25 total) — see `enum` for the full machine-readable list:

- **Revenue**: `proceeds` (net), `sales` (gross), `refunds`, `refund-rate`, `arpu`, `arppu`.
- **Recurring revenue**: `mrr`, `arr`, `mrr-movement`, `arr-movement` (new / expansion / contraction / churn).
- **Subscriptions**: `active-subscriptions`, `new-subscriptions`, `paid-subscriptions-movement`, `subscriptions-overview`, `subscription-cancellation`.
- **Trials**: `free-trials`, `active-trials`, `trials-movement`, `trial-cancellation`, `trial-to-paid`.
- **Acquisition / conversion**: `users-overview`, `user-to-trial`, `user-to-paid`.
- **Back-compat aliases** (factory maps to canonical executor): `user-to-trial-conversion` = `user-to-trial`, `subscription-cancellation-rate` = `subscription-cancellation`.

Codes deferred to v4 api 2.0 (currently return 404): `cohort-revenue`,
`cohort-active-subscriptions`, `experiment-new-users`, `experiment-users-to-trials`,
`experiment-users-to-paid`, `refund-keeper`, `events`.

Segmentation codes (pass via `segmentation`) and filter attribute codes
(pass via `filter[<attribute>][]`) are discoverable from
`GET /v4/analytics/charts/{chart_code}/meta`.

## Path parameters

- `chart_code` 'proceeds' | 'active-subscriptions' | 'paid-subscriptions-movement' | 'users-overview' | 'free-trials' | 'active-trials' | 'trials-movement' | 'user-to-trial' | 'trial-to-paid' | 'user-to-paid' | 'sales' | 'refunds' | 'refund-rate' | 'arppu' | 'arpu' | 'trial-cancellation' | 'subscription-cancellation' | 'subscriptions-overview' | 'new-subscriptions' | 'mrr' | 'arr' | 'mrr-movement' | 'arr-movement' | 'user-to-trial-conversion' | 'subscription-cancellation-rate', required

## Query parameters

- `from` integer
- `to` integer
- `unit` 'hour' | 'day' | 'week' | 'month'
- `environment` 0 | 1
- `max_series` integer
- `segmentation` string
- `currency` string
- `filter[<attribute>][]` string[]

## Response `200`

Chart data.

- V4AnalyticsChart
  - `object` 'analytics_chart', required
  - `url` string, required — Canonical URL for this chart query.
  - `code` string, required — Chart code, echoed from the request.
  - `from` integer, required
  - `to` integer, required
  - `unit` 'hour' | 'day' | 'week' | 'month', required
  - `environment` 0 | 1, required
  - `currency` string — ISO 4217 currency code used for monetary values.
  - `measure` 'usd' | 'count' | 'percent', required — Physical unit of `series[].data[].value`.
  - `totalType` 'sum' | 'wavg', required — How `series[].total` is computed.
  - `seriesRelation` 'partsOfWhole' | 'independent', required — * `partsOfWhole` — series add up to a meaningful total (e.g. revenue by country). * `independent` — series are not directly comparable in sum.
  - `maxSeries` integer, required — Max number of series the server may emit.
  - `horizontalLabelType` string — Hint for the UI on how to format X-axis labels.
  - `segmentation` string, nullable — Segmentation dimension used, if any.
  - `summarySeries` V4AnalyticsSeries
    - `label` string, required — Series label (e.g. `"After refunds"` or a segment value).
    - `total` number, double, nullable — Total across `data` for the current range.
    - `totalPrev` number, double, nullable — Total across the previous equal-length range (for comparisons).
    - `totalWeight` number, double, nullable — Weight of `total` — used for weighted-average totals.
    - `totalPrevWeight` number, double, nullable
    - `totalIgnoreInFinal` boolean, nullable
    - `data` V4AnalyticsSeriesDataPoint[], required
      - `start_time` integer, required — Bucket start (Unix seconds).
      - `value` number, double, required — Metric value in the chart's `measure` unit.
  - `series` V4AnalyticsSeries[], required
    - `label` string, required — Series label (e.g. `"After refunds"` or a segment value).
    - `total` number, double, nullable — Total across `data` for the current range.
    - `totalPrev` number, double, nullable — Total across the previous equal-length range (for comparisons).
    - `totalWeight` number, double, nullable — Weight of `total` — used for weighted-average totals.
    - `totalPrevWeight` number, double, nullable
    - `totalIgnoreInFinal` boolean, nullable
    - `data` V4AnalyticsSeriesDataPoint[], required
      - `start_time` integer, required — Bucket start (Unix seconds).
      - `value` number, double, required — Metric value in the chart's `measure` unit.

## Other responses

- `400` — Invalid request parameters
- `401` — Unauthorized
- `403` — Insufficient permissions
- `404` — Chart not found
- `429` — Too many requests
- `500` — Internal error
- `502` — Upstream service failure
- `504` — Upstream timeout

---

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