Per-Column Profile Stats
curl --request GET \
--url https://api.woodwide.ai/datasets/{dataset_id}/column-stats \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.woodwide.ai/datasets/{dataset_id}/column-stats"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.woodwide.ai/datasets/{dataset_id}/column-stats', 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.woodwide.ai/datasets/{dataset_id}/column-stats",
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://api.woodwide.ai/datasets/{dataset_id}/column-stats"
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://api.woodwide.ai/datasets/{dataset_id}/column-stats")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.woodwide.ai/datasets/{dataset_id}/column-stats")
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{
"columns": [
{
"name": "<string>",
"dtype": "<string>",
"null_pct": 123,
"distinct": 123,
"min": "<string>",
"max": "<string>",
"mean": 123,
"bins": [
123
]
}
],
"row_count": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Endpoints
Per-Column Profile Stats
Per-column profile (null %, approx distinct, min/max/mean, histograms) for the dataset’s current ready version. Computed lazily from the curated Parquet on first request and cached on the version thereafter.
GET
/
datasets
/
{dataset_id}
/
column-stats
Per-Column Profile Stats
curl --request GET \
--url https://api.woodwide.ai/datasets/{dataset_id}/column-stats \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.woodwide.ai/datasets/{dataset_id}/column-stats"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.woodwide.ai/datasets/{dataset_id}/column-stats', 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.woodwide.ai/datasets/{dataset_id}/column-stats",
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://api.woodwide.ai/datasets/{dataset_id}/column-stats"
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://api.woodwide.ai/datasets/{dataset_id}/column-stats")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.woodwide.ai/datasets/{dataset_id}/column-stats")
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{
"columns": [
{
"name": "<string>",
"dtype": "<string>",
"null_pct": 123,
"distinct": 123,
"min": "<string>",
"max": "<string>",
"mean": 123,
"bins": [
123
]
}
],
"row_count": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
Successful Response
Per-column profile for the dataset's current ready version.
Computed lazily from the materialized Parquet on first request and
cached on the version thereafter. columns is empty when profiling
fails (e.g. the Parquet is unreachable) — the UI degrades gracefully.
Was this page helpful?