---
title: "Chart Data"
method: POST
path: "/insights/chart-data"
tags: ["API Endpoints"]
---

# Chart Data

`POST /insights/chart-data`

This endpoint retrieves metrics data to plot the chart.

## Request body

- object
  - `metrics` string[], required — Get data for one or more `metrics` in the same request. Please add any of these metrics. `views`, `unique_views`, `downscale_percentage`,`upscale_percentage`, `rebuffer_percentage`, `startup_time`, `player_startup_time`, `seek_latency`, `exits_before_startup`, `playback_failure_percentage`, `completion_percent`, `completion_percent_by_views`, `rebuffer_duration`, `playing_time`, `rebuffer_count`, `rebuffer_frequency`, `average_bitrate`, `concurrent_users`, `playback_rate`
  - `property_id` string, required — The five to ten character unique identifier of the Gumlet Insight Property available on the dashboard.
  - `timeframe` object, required — The timeframe to get the data for. Currently we only support a maximum of *60 days* between `start_at` and `end_at`. If `group_by` parameter is set as `hourly` then maximum difference between `start_at` and `end_at` can be *seven days*.
    - `start_at` string, date-time, required — Use <b>yyyy-MM-ddThh:mm:ss</b> format
    - `end_at` string, date-time, required — Use <b>yyyy-MM-ddThh:mm:ss</b> format
  - `filters` object[] — Build *segments* of users using multiple filters on the data, `value` should be an *exact match*
    - `name` 'meta_browser' | 'meta_operating_system' | 'meta_operating_system_version' | 'meta_device_category' | 'meta_device_manufacturer' | 'meta_device_is_touchscreen' | 'meta_connection_type' | 'meta_connection_speed' | 'meta_device_name' | 'meta_device_display_width' | 'meta_device_display_height' | 'meta_country' | 'meta_continent_code' | 'meta_city' | 'meta_region' | 'player_software' | 'player_software_version' | 'player_height_pixels' | 'player_width_pixels' | 'player_language_code' | 'player_name' | 'player_integration_version' | 'meta_page_url' | 'meta_asn' | 'custom_user_id' | 'user_name' | 'user_email' | 'user_phone' | 'user_city' | 'user_state' | 'user_country' | 'user_zipcode' | 'custom_video_id' | 'custom_video_title' | 'video_source_url' | 'video_source_hostname' | 'video_source_format' | 'custom_encoding_variant' | 'custom_video_variant_name' | 'custom_video_producer' | 'custom_video_series' | 'custom_video_language' | 'custom_video_variant' | 'custom_content_type' | 'custom_data_1' | 'custom_data_2' | 'custom_data_3' | 'custom_data_4' | 'custom_data_5' | 'custom_data_6' | 'custom_data_7' | 'custom_data_8' | 'custom_data_9' | 'custom_data_10', required — Name of the breakdown to filter data on.
    - `value` string, required — Value to be matched for the given filter name. Currently we support exact matches.
    - `operator` 'equals' | 'does not equal' | 'contains' | 'does not contain' | 'is set' | 'is not set' — Operator to be used while filtering the data
  - `group_by` 'daily' | 'hourly' — Data can be grouped by `daily` or `hourly`. Metrics with histogram response (`completion_percent`, `completion_percent_by_views`) can not be grouped hourly

## Response `200`

200

- object
  - `views` object[]
    - `x` integer
    - `y` unknown
    - `unit` string
  - `unique_views` object[]
    - `x` integer
    - `y` unknown
    - `unit` string

## Other responses

- `400` — 400
- `401` — 401

---

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