curl --request GET \
--url https://api.moonbounce.ai/v1/evaluations/{evaluation_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.moonbounce.ai/v1/evaluations/{evaluation_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.moonbounce.ai/v1/evaluations/{evaluation_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://api.moonbounce.ai/v1/evaluations/{evaluation_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://api.moonbounce.ai/v1/evaluations/{evaluation_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://api.moonbounce.ai/v1/evaluations/{evaluation_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moonbounce.ai/v1/evaluations/{evaluation_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{
"environment": "production",
"id": "<string>",
"decision_id": "<string>",
"version": {
"structure": "<string>",
"weights": "<string>",
"weights_source": "pinned",
"weights_fitted": true,
"binding": 2,
"engine_profile": "<string>"
},
"status": "scored",
"nodes": {},
"engines": {},
"usage": {
"input_tokens": 123,
"output_tokens": 123
},
"item_id": "<string>",
"assignment_mode": "primary",
"score": 123,
"outcome": "<string>",
"outcomes": {
"below": "<string>",
"cuts": [
{
"at": 123,
"outcome": "<string>"
}
],
"abstain": "<string>"
},
"cost": {
"engine_calls": 1,
"cache_hits": 1,
"input_tokens": 1,
"usd_micros": 1
},
"summary": "<string>",
"metadata": {},
"warnings": [
{
"code": "<string>",
"message": "<string>",
"param": "<string>"
}
],
"subject": [
{
"type": "text",
"text": "<string>",
"name": "<string>",
"sensitive": true
}
]
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}Get a past evaluation
Reads only. Returns an evaluation of this organization and the key’s environment, including assignment_mode and the submitted subject when stored. Subject is absent when content was not stored (store_content: false); another environment’s evaluation is 404, so a test key never reads production traffic. The web app (WebApi) may not read evaluations (403): a blind spot-check card carries the id.
curl --request GET \
--url https://api.moonbounce.ai/v1/evaluations/{evaluation_id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.moonbounce.ai/v1/evaluations/{evaluation_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.moonbounce.ai/v1/evaluations/{evaluation_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://api.moonbounce.ai/v1/evaluations/{evaluation_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://api.moonbounce.ai/v1/evaluations/{evaluation_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://api.moonbounce.ai/v1/evaluations/{evaluation_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moonbounce.ai/v1/evaluations/{evaluation_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{
"environment": "production",
"id": "<string>",
"decision_id": "<string>",
"version": {
"structure": "<string>",
"weights": "<string>",
"weights_source": "pinned",
"weights_fitted": true,
"binding": 2,
"engine_profile": "<string>"
},
"status": "scored",
"nodes": {},
"engines": {},
"usage": {
"input_tokens": 123,
"output_tokens": 123
},
"item_id": "<string>",
"assignment_mode": "primary",
"score": 123,
"outcome": "<string>",
"outcomes": {
"below": "<string>",
"cuts": [
{
"at": 123,
"outcome": "<string>"
}
],
"abstain": "<string>"
},
"cost": {
"engine_calls": 1,
"cache_hits": 1,
"input_tokens": 1,
"usd_micros": 1
},
"summary": "<string>",
"metadata": {},
"warnings": [
{
"code": "<string>",
"message": "<string>",
"param": "<string>"
}
],
"subject": [
{
"type": "text",
"text": "<string>",
"name": "<string>",
"sensitive": true
}
]
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}{
"error": {
"type": "invalid_request",
"message": "<string>",
"reason": "<string>",
"param": "<string>",
"details": {}
}
}Authorizations
An API key, sent as Authorization: Bearer <key>. Each operation lists the scope its key needs: decisions:evaluate (evaluate and read evaluations), decisions:feedback (your app's feedback) or decisions:develop (everything else, including owner feedback and the review queue). An operation listing no scope takes any scoped key. A key with no scope, or without the operation's, gets 403 INSUFFICIENT_SCOPE.
Path Parameters
^evl_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$Response
The evaluation
The environment of the key that made the call: production or test. Evaluations, feedback, reviews and suggestions are separate per environment; registered structures are shared.
production, test ^evl_[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$^[a-z][a-z0-9_.-]{0,127}$Show child attributes
Show child attributes
scored, no_outcomes, abstained The value of each of the spec's named nodes, features and aggregators alike, keyed by node name. Every value carries its type; a node with an answer has value, one without has abstained or failed.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
primary, shadow, backtest, seed ^[a-z][a-z0-9_]{0,63}$Show child attributes
Show child attributes
absent if no spend was recorded for this evaluation
Show child attributes
Show child attributes
Caller key-values, stored with the evaluation and never shown to the model. Keys starting mb. are reserved for Moonbounce provenance: mb.commit, mb.branch, mb.service and mb.release, which say where a call came from.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The subject as submitted. Absent when content was not stored (store_content: false).
- Option 1
- Option 2
Show child attributes
Show child attributes