Eval runs
Persist advisory case-run evaluations
Persist advisory case-run evaluations. Uses the SDK reporting transport and the same tenant/project authorization as eval ingestion. Unsupported capabilities remain absent.
POST
/
projects
/
{projectId}
/
eval-ingest
/
runs
/
evaluations
Persist advisory case-run evaluations
curl --request POST \
--url https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"runId": "<string>",
"externalRunId": "<string>",
"evaluations": [
{}
]
}
'import requests
url = "https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations"
payload = {
"runId": "<string>",
"externalRunId": "<string>",
"evaluations": [{}]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({runId: '<string>', externalRunId: '<string>', evaluations: [{}]})
};
fetch('https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations', 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://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'runId' => '<string>',
'externalRunId' => '<string>',
'evaluations' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations"
payload := strings.NewReader("{\n \"runId\": \"<string>\",\n \"externalRunId\": \"<string>\",\n \"evaluations\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"runId\": \"<string>\",\n \"externalRunId\": \"<string>\",\n \"evaluations\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"runId\": \"<string>\",\n \"externalRunId\": \"<string>\",\n \"evaluations\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"ok": true,
"runId": "<string>",
"persistedCases": 1
}
Authorizations
MCPJam API key (sk_…). Create one at Settings → API keys. Guest sessions cannot use the API, and API keys cannot manage other API keys.
Path Parameters
Project id, or the literal default for the key org's Default project.
Body
application/json
Was this page helpful?
⌘I
Persist advisory case-run evaluations
curl --request POST \
--url https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"runId": "<string>",
"externalRunId": "<string>",
"evaluations": [
{}
]
}
'import requests
url = "https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations"
payload = {
"runId": "<string>",
"externalRunId": "<string>",
"evaluations": [{}]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({runId: '<string>', externalRunId: '<string>', evaluations: [{}]})
};
fetch('https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations', 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://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'runId' => '<string>',
'externalRunId' => '<string>',
'evaluations' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations"
payload := strings.NewReader("{\n \"runId\": \"<string>\",\n \"externalRunId\": \"<string>\",\n \"evaluations\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"runId\": \"<string>\",\n \"externalRunId\": \"<string>\",\n \"evaluations\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.mcpjam.com/api/v1/projects/{projectId}/eval-ingest/runs/evaluations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"runId\": \"<string>\",\n \"externalRunId\": \"<string>\",\n \"evaluations\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"ok": true,
"runId": "<string>",
"persistedCases": 1
}

