Get Per-Asset Metric Details
curl --request GET \
--url https://api.example.com/api/data-readiness/metrics/details \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/data-readiness/metrics/details"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/data-readiness/metrics/details', 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.example.com/api/data-readiness/metrics/details",
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.example.com/api/data-readiness/metrics/details"
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.example.com/api/data-readiness/metrics/details")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/data-readiness/metrics/details")
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{
"data": [
{
"asset_fqn": "production_db.analytics.public.customers",
"asset_type": "table",
"asset_id": "550e8400-e29b-41d4-a716-446655440022",
"service": "production_db",
"metric_definition_id": "550e8400-e29b-41d4-a716-446655440020",
"metric_name": "has_description",
"dimension_name": "completeness",
"numerator": 1,
"denominator": 1,
"score": "1.00",
"created_at": "2024-01-15T10:30:00Z",
"workflow_run_id": "550e8400-e29b-41d4-a716-446655440023",
"database_name": "analytics",
"schema_name": "public",
"table_name": "customers"
}
],
"pagination": {
"page": 123,
"per_page": 123,
"total": 123,
"total_pages": 123,
"has_next": true,
"has_prev": true
}
}{
"error": {
"code": "WORKFLOW_NOT_FOUND",
"message": "Workflow configuration with id '123e4567-e89b-12d3-a456-426614174000' not found",
"details": {
"workflow_id": "123e4567-e89b-12d3-a456-426614174000"
}
},
"request_id": "req_abc123xyz"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"error": {
"code": "WORKFLOW_NOT_FOUND",
"message": "Workflow configuration with id '123e4567-e89b-12d3-a456-426614174000' not found",
"details": {
"workflow_id": "123e4567-e89b-12d3-a456-426614174000"
}
},
"request_id": "req_abc123xyz"
}Metrics
Get Per-Asset Metric Details
Returns per-asset metric detail for drill-down analysis.
GET
/
api
/
data-readiness
/
metrics
/
details
Get Per-Asset Metric Details
curl --request GET \
--url https://api.example.com/api/data-readiness/metrics/details \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/data-readiness/metrics/details"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/data-readiness/metrics/details', 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.example.com/api/data-readiness/metrics/details",
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.example.com/api/data-readiness/metrics/details"
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.example.com/api/data-readiness/metrics/details")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/data-readiness/metrics/details")
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{
"data": [
{
"asset_fqn": "production_db.analytics.public.customers",
"asset_type": "table",
"asset_id": "550e8400-e29b-41d4-a716-446655440022",
"service": "production_db",
"metric_definition_id": "550e8400-e29b-41d4-a716-446655440020",
"metric_name": "has_description",
"dimension_name": "completeness",
"numerator": 1,
"denominator": 1,
"score": "1.00",
"created_at": "2024-01-15T10:30:00Z",
"workflow_run_id": "550e8400-e29b-41d4-a716-446655440023",
"database_name": "analytics",
"schema_name": "public",
"table_name": "customers"
}
],
"pagination": {
"page": 123,
"per_page": 123,
"total": 123,
"total_pages": 123,
"has_next": true,
"has_prev": true
}
}{
"error": {
"code": "WORKFLOW_NOT_FOUND",
"message": "Workflow configuration with id '123e4567-e89b-12d3-a456-426614174000' not found",
"details": {
"workflow_id": "123e4567-e89b-12d3-a456-426614174000"
}
},
"request_id": "req_abc123xyz"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"error": {
"code": "WORKFLOW_NOT_FOUND",
"message": "Workflow configuration with id '123e4567-e89b-12d3-a456-426614174000' not found",
"details": {
"workflow_id": "123e4567-e89b-12d3-a456-426614174000"
}
},
"request_id": "req_abc123xyz"
}Authorizations
JWT Bearer token authentication. Include the token in the Authorization header as: Authorization: Bearer <token>. The JWT must contain valid client_id, and project_id claims for tenant isolation and SDK routing.
Query Parameters
Fully qualified name to scope the details (e.g. service.database.schema.table)
Filter by metric definition ID
Filter by dimension ID
Filter by assessment type
Point-in-time snapshot cutoff (ISO 8601)
Filter to a specific workflow run
Page number (1-indexed)
Required range:
x >= 1Items per page
Required range:
1 <= x <= 100Was this page helpful?

