Add a session as an evaluation case
curl --request POST \
--url http://localhost:8000/dev/apps/{app_name}/eval-sets/{eval_set_id}/add-session \
--header 'Content-Type: application/json' \
--data '
{
"evalId": "case-001",
"sessionId": "session-001",
"userId": "user-001"
}
'import requests
url = "http://localhost:8000/dev/apps/{app_name}/eval-sets/{eval_set_id}/add-session"
payload = {
"evalId": "case-001",
"sessionId": "session-001",
"userId": "user-001"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({evalId: 'case-001', sessionId: 'session-001', userId: 'user-001'})
};
fetch('http://localhost:8000/dev/apps/{app_name}/eval-sets/{eval_set_id}/add-session', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));null{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Evaluation · development server
Add a session as an evaluation case
Convert an existing session into a case identified by evalId; success returns JSON null
Available only with the development UI enabled, such as veadk web or adk api_server --with_ui; the default adk api_server does not expose this endpoint
POST
/
dev
/
apps
/
{app_name}
/
eval-sets
/
{eval_set_id}
/
add-session
Add a session as an evaluation case
curl --request POST \
--url http://localhost:8000/dev/apps/{app_name}/eval-sets/{eval_set_id}/add-session \
--header 'Content-Type: application/json' \
--data '
{
"evalId": "case-001",
"sessionId": "session-001",
"userId": "user-001"
}
'import requests
url = "http://localhost:8000/dev/apps/{app_name}/eval-sets/{eval_set_id}/add-session"
payload = {
"evalId": "case-001",
"sessionId": "session-001",
"userId": "user-001"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({evalId: 'case-001', sessionId: 'session-001', userId: 'user-001'})
};
fetch('http://localhost:8000/dev/apps/{app_name}/eval-sets/{eval_set_id}/add-session', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));null{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Create the target evaluation set and confirm that the session identified by
userId and sessionId exists. The service converts that conversation into a new case identified by evalId, allowing a debugging session to become a regression sample
This operation copies conversation content into the evaluation set, which can include user messages and tool results. Review the sample before adding it, then retrieve the case to confirm the saved content
Last modified on September 19, 2026