curl --request GET \
--url https://api.extole.io/v6/report-types/{id}/schema \
--header 'Authorization: <api-key>'import requests
url = "https://api.extole.io/v6/report-types/{id}/schema"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.extole.io/v6/report-types/{id}/schema', 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://api.extole.io/v6/report-types/{id}/schema",
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: <api-key>"
],
]);
$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://api.extole.io/v6/report-types/{id}/schema"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.extole.io/v6/report-types/{id}/schema")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v6/report-types/{id}/schema")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"columns": [
{
"name": "<string>",
"note": "<string>",
"sample_value": "<string>"
}
],
"context_parameters": {},
"report_type_id": "<string>",
"sample_rows": [
{}
]
}Get report type schema
Returns the schema a report type produces - ordered columns for flat output, or representative sample_rows for nested JSON output. For report types with fixed columns, these are the report type’s preview columns. For configurable report types, they are the client-named columns defined by the report type’s column mapping parameters. Report types whose schema depends on the client’s own configuration resolve it against the report type’s declared parameter defaults, which the response echoes as context_parameters. To resolve the schema against your own parameter values instead, post them to this same path. Use this to discover a report type’s output shape without running the report.
curl --request GET \
--url https://api.extole.io/v6/report-types/{id}/schema \
--header 'Authorization: <api-key>'import requests
url = "https://api.extole.io/v6/report-types/{id}/schema"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.extole.io/v6/report-types/{id}/schema', 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://api.extole.io/v6/report-types/{id}/schema",
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: <api-key>"
],
]);
$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://api.extole.io/v6/report-types/{id}/schema"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.extole.io/v6/report-types/{id}/schema")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.extole.io/v6/report-types/{id}/schema")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"columns": [
{
"name": "<string>",
"note": "<string>",
"sample_value": "<string>"
}
],
"context_parameters": {},
"report_type_id": "<string>",
"sample_rows": [
{}
]
}Authorizations
Path Parameters
The Extole unique report type identifier.
Response
Schema the report type produces, with output columns or representative nested JSON row shapes, alongside the parameter values it was resolved against.
Columns the report type produces, in output order.
Show child attributes
Show child attributes
Report parameters this schema was resolved against, keyed by parameter name. Each one can change the schema; supply report parameter values in the POST request body to resolve the schema against a different context. A value is what the caller supplied, otherwise the report type's declared default; parameters with neither are absent, and leaving one out resolves the schema against the report type's own default behavior rather than making the answer partial. Run the report with these same parameter values to get these same columns and representative rows. Empty for report types whose schema does not depend on context.
Show child attributes
Show child attributes
Id of the report type this schema belongs to. Pass it to GET /v6/report-types/{id}/schema to fetch this schema on its own.
Representative nested JSON output row shapes for this context. These are mock shapes, not report data and not a JSON Schema.
