Get Report Data
curl --request GET \
--url https://backend.nebuly.com/api/external/reports/report-data/{report_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://backend.nebuly.com/api/external/reports/report-data/{report_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://backend.nebuly.com/api/external/reports/report-data/{report_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://backend.nebuly.com/api/external/reports/report-data/{report_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://backend.nebuly.com/api/external/reports/report-data/{report_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://backend.nebuly.com/api/external/reports/report-data/{report_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://backend.nebuly.com/api/external/reports/report-data/{report_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"report_data": {
"id": "<string>",
"name": "<string>",
"charts": [
{
"type": "<string>",
"id": "<string>",
"name": "<string>",
"variables": [
"<string>"
],
"visualization_type": {},
"display_type": {},
"x_label_values": [
"<string>"
],
"breakdown": {},
"granularity": {},
"time_range": {
"kind": "<string>",
"start": "<string>",
"end": "<string>"
},
"data": [
{
"label": "<string>",
"data": [
{
"x": 123,
"y": {},
"user": {}
}
]
}
],
"breakdowns": [
"<string>"
],
"columns": [
"<string>"
],
"rows": [
{}
]
}
]
}
}Reports API
Get Report Data
GET
/
api
/
external
/
reports
/
report-data
/
{report_id}
Get Report Data
curl --request GET \
--url https://backend.nebuly.com/api/external/reports/report-data/{report_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://backend.nebuly.com/api/external/reports/report-data/{report_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://backend.nebuly.com/api/external/reports/report-data/{report_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://backend.nebuly.com/api/external/reports/report-data/{report_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://backend.nebuly.com/api/external/reports/report-data/{report_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://backend.nebuly.com/api/external/reports/report-data/{report_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://backend.nebuly.com/api/external/reports/report-data/{report_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"report_data": {
"id": "<string>",
"name": "<string>",
"charts": [
{
"type": "<string>",
"id": "<string>",
"name": "<string>",
"variables": [
"<string>"
],
"visualization_type": {},
"display_type": {},
"x_label_values": [
"<string>"
],
"breakdown": {},
"granularity": {},
"time_range": {
"kind": "<string>",
"start": "<string>",
"end": "<string>"
},
"data": [
{
"label": "<string>",
"data": [
{
"x": 123,
"y": {},
"user": {}
}
]
}
],
"breakdowns": [
"<string>"
],
"columns": [
"<string>"
],
"rows": [
{}
]
}
]
}
}Returns the full data for a report, including the data for each of its charts.
Use List Reports to find report IDs. You need a public API key (
Use List Reports to find report IDs. You need a public API key (
pk-...) to authenticate. See here for more information about API keys.
Path parameters
string
required
The UUID of the report.
Response
object
The report and its chart data.
Show properties
Show properties
string
The unique identifier (UUID) of the report.
string
The display name of the report.
object[]
The list of charts belonging to the report. Each element is either an analytics chart or a table chart, identified by the
**Table chart
type field.Analytics chartShow analytics chart properties
Show analytics chart properties
string
The chart visualization type. Possible values:
line_chart, distributed, metric, horizontal_bar, vertical_bar, pie, scatter.string
The unique identifier (UUID) of the chart.
string
The display name of the chart.
string[]
The metric variable slugs visualized by the chart (e.g.
["n_interactions"]).string | null
The sub-visualization type, if applicable (e.g.
"formula" for metric charts).string | null
How values are displayed. Either
"total" or "percentage".string[]
The labels for the x-axis. For time series charts these are ISO 8601 datetime strings; for categorical charts these are category names.
string | null
The dimension used to split the chart into series, if any (e.g.
"topic", "language").string | null
The time granularity of the chart data. Possible values:
"hour", "day", "week", "month".object
object[]
The datasets for the chart. Each dataset corresponds to one series (e.g. one breakdown value).
Show properties
Show properties
string
The series label (e.g. the breakdown value or the variable name).
object[]
The data points for this series. Each entry corresponds to one x-axis value.
Show table chart properties
Show table chart properties
string
Always
"table" for table charts.string
The unique identifier (UUID) of the chart.
string
The display name of the chart.
string[]
The dimension(s) used to group the table rows (e.g.
["topic"], ["topic", "language"]).string[]
The metric column names present in each row (e.g.
["n_interactions", "n_users"]).object[]
The table rows. Each row contains the breakdown dimension values and the metric values defined in
columns.⌘I