curl --request GET \
--url 'https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result' \
--header 'Authorization: Bearer <api-key>'import requests
url = "https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result"
headers = {"Authorization": "Bearer <api-key>"}
response = requests.get(url, headers=headers)
print(response.json())const url = "https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result";
const options = {
method: "GET",
headers: { Authorization: "Bearer <api-key>" },
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data);<?php
$ch = curl_init("https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer <api-key>"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result", nil)
req.Header.Set("Authorization", "Bearer <api-key>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result"))
.header("Authorization", "Bearer <api-key>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());require "net/http"
require "uri"
uri = URI("https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <api-key>"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.body{
"status": "<string>",
"definition_id": "<string>",
"run_id": "<string>",
"message": "<string>",
"effective_controls": "<unknown>",
"data_through": "<string>",
"computed_at": "<string>",
"retryable": true,
"retry_after_seconds": 123,
"poll_after_seconds": 123,
"route_to_refine": "<unknown>",
"summary": "<unknown>",
"detailed_data": [
"<unknown>"
],
"total_rows": 123,
"truncated": true,
"column_units": "<unknown>",
"row_label": "<unknown>",
"row_grain": "<unknown>",
"presentation": "<unknown>",
"url": "<string>"
}{
"detail": {
"detail": "No active subscription with API access found.",
"code": "missing_entitlement"
}
}{
"detail": "Custom report not found."
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}custom report latest result
read a saved custom report’s latest successful persisted result, with the inputs it actually used, its timestamps and every row. never starts a run; returns status no_result when the report has no successful saved run yet. works with writes off.
curl --request GET \
--url 'https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result' \
--header 'Authorization: Bearer <api-key>'import requests
url = "https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result"
headers = {"Authorization": "Bearer <api-key>"}
response = requests.get(url, headers=headers)
print(response.json())const url = "https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result";
const options = {
method: "GET",
headers: { Authorization: "Bearer <api-key>" },
};
const response = await fetch(url, options);
const data = await response.json();
console.log(data);<?php
$ch = curl_init("https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer <api-key>"]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result", nil)
req.Header.Set("Authorization", "Bearer <api-key>")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result"))
.header("Authorization", "Bearer <api-key>")
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());require "net/http"
require "uri"
uri = URI("https://api.edgeful.com/v1/custom-reports/<definition_id>/latest-result")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer <api-key>"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts response.body{
"status": "<string>",
"definition_id": "<string>",
"run_id": "<string>",
"message": "<string>",
"effective_controls": "<unknown>",
"data_through": "<string>",
"computed_at": "<string>",
"retryable": true,
"retry_after_seconds": 123,
"poll_after_seconds": 123,
"route_to_refine": "<unknown>",
"summary": "<unknown>",
"detailed_data": [
"<unknown>"
],
"total_rows": 123,
"truncated": true,
"column_units": "<unknown>",
"row_label": "<unknown>",
"row_grain": "<unknown>",
"presentation": "<unknown>",
"url": "<string>"
}{
"detail": {
"detail": "No active subscription with API access found.",
"code": "missing_entitlement"
}
}{
"detail": "Custom report not found."
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Send your Edgeful API key in the Authorization header as Bearer <api-key> (for example, Bearer ef_live_<random>).
Path Parameters
the saved custom report's id, from the list.
Response
Successful Response
running, the run's outcome such as succeeded or failed, or no_result when the report has no successful run.
saved custom report id.
the run that produced the result.
a note about the run.
the inputs the run actually used.
the last date the data covers.
when the run finished.
whether a failed run may be retried.
seconds to wait before retrying.
while running: seconds to wait before reading the run again.
where to refine the report.
the result's summary values.
the result's rows, every one the run stored.
rows in the result.
true when the response does not carry every row.
units per column.
what a row represents.
the row grain.
presentation hints.
the report in Edgeful.
Was this page helpful?