Get a case using the compatibility path
curl --request GET \
--url http://localhost:8000/dev/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}import requests
url = "http://localhost:8000/dev/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:8000/dev/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"evalId": "<string>",
"conversation": [
{
"userContent": {
"parts": [
{
"mediaResolution": {
"level": "MEDIA_RESOLUTION_UNSPECIFIED",
"numTokens": 123
},
"codeExecutionResult": {
"outcome": "OUTCOME_UNSPECIFIED",
"output": "<string>",
"id": "<string>"
},
"executableCode": {
"code": "<string>",
"language": "LANGUAGE_UNSPECIFIED",
"id": "<string>"
},
"fileData": {
"displayName": "<string>",
"fileUri": "<string>",
"mimeType": "<string>"
},
"functionCall": {
"id": "<string>",
"args": {},
"name": "<string>",
"partialArgs": [
{
"boolValue": true,
"jsonPath": "<string>",
"nullValue": "NULL_VALUE",
"numberValue": 123,
"stringValue": "<string>",
"willContinue": true
}
],
"willContinue": true
},
"functionResponse": {
"willContinue": true,
"scheduling": "SCHEDULING_UNSPECIFIED",
"parts": [
{
"inlineData": {
"mimeType": "<string>",
"data": "<string>",
"displayName": "<string>"
},
"fileData": {
"fileUri": "<string>",
"mimeType": "<string>",
"displayName": "<string>"
}
}
],
"id": "<string>",
"name": "<string>",
"response": {}
},
"inlineData": {
"data": "<string>",
"displayName": "<string>",
"mimeType": "<string>"
},
"text": "<string>",
"thought": true,
"thoughtSignature": "<string>",
"videoMetadata": {
"endOffset": "<string>",
"fps": 123,
"startOffset": "<string>"
},
"toolCall": {
"id": "<string>",
"toolType": "TOOL_TYPE_UNSPECIFIED",
"args": {}
},
"toolResponse": {
"id": "<string>",
"toolType": "TOOL_TYPE_UNSPECIFIED",
"response": {}
},
"partMetadata": {}
}
],
"role": "<string>"
},
"invocationId": "",
"finalResponse": {
"parts": [
{
"mediaResolution": {
"level": "MEDIA_RESOLUTION_UNSPECIFIED",
"numTokens": 123
},
"codeExecutionResult": {
"outcome": "OUTCOME_UNSPECIFIED",
"output": "<string>",
"id": "<string>"
},
"executableCode": {
"code": "<string>",
"language": "LANGUAGE_UNSPECIFIED",
"id": "<string>"
},
"fileData": {
"displayName": "<string>",
"fileUri": "<string>",
"mimeType": "<string>"
},
"functionCall": {
"id": "<string>",
"args": {},
"name": "<string>",
"partialArgs": [
{
"boolValue": true,
"jsonPath": "<string>",
"nullValue": "NULL_VALUE",
"numberValue": 123,
"stringValue": "<string>",
"willContinue": true
}
],
"willContinue": true
},
"functionResponse": {
"willContinue": true,
"scheduling": "SCHEDULING_UNSPECIFIED",
"parts": [
{
"inlineData": {
"mimeType": "<string>",
"data": "<string>",
"displayName": "<string>"
},
"fileData": {
"fileUri": "<string>",
"mimeType": "<string>",
"displayName": "<string>"
}
}
],
"id": "<string>",
"name": "<string>",
"response": {}
},
"inlineData": {
"data": "<string>",
"displayName": "<string>",
"mimeType": "<string>"
},
"text": "<string>",
"thought": true,
"thoughtSignature": "<string>",
"videoMetadata": {
"endOffset": "<string>",
"fps": 123,
"startOffset": "<string>"
},
"toolCall": {
"id": "<string>",
"toolType": "TOOL_TYPE_UNSPECIFIED",
"args": {}
},
"toolResponse": {
"id": "<string>",
"toolType": "TOOL_TYPE_UNSPECIFIED",
"response": {}
},
"partMetadata": {}
}
],
"role": "<string>"
},
"intermediateData": {
"toolUses": [],
"toolResponses": [],
"intermediateResponses": []
},
"creationTimestamp": 0,
"rubrics": [
{
"rubricId": "<string>",
"rubricContent": {
"textProperty": "<string>"
},
"description": "<string>",
"type": "<string>"
}
],
"appDetails": {
"agentDetails": {}
}
}
],
"conversationScenario": {
"startingPrompt": "<string>",
"conversationPlan": "<string>",
"userPersona": {
"id": "<string>",
"description": "<string>",
"behaviors": [
{
"name": "<string>",
"description": "<string>",
"behavior_instructions": [
"<string>"
],
"violation_rubrics": [
"<string>"
]
}
]
}
},
"sessionInput": {
"appName": "<string>",
"userId": "<string>",
"state": {}
},
"creationTimestamp": 0,
"rubrics": [
{
"rubricId": "<string>",
"rubricContent": {
"textProperty": "<string>"
},
"description": "<string>",
"type": "<string>"
}
],
"finalSessionState": {}
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Compatibility endpoints
Get a case using the compatibility path
Equivalent to the hyphenated Get an evaluation case endpoint
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
GET
/
dev
/
apps
/
{app_name}
/
eval_sets
/
{eval_set_id}
/
evals
/
{eval_case_id}
Get a case using the compatibility path
curl --request GET \
--url http://localhost:8000/dev/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}import requests
url = "http://localhost:8000/dev/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('http://localhost:8000/dev/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"evalId": "<string>",
"conversation": [
{
"userContent": {
"parts": [
{
"mediaResolution": {
"level": "MEDIA_RESOLUTION_UNSPECIFIED",
"numTokens": 123
},
"codeExecutionResult": {
"outcome": "OUTCOME_UNSPECIFIED",
"output": "<string>",
"id": "<string>"
},
"executableCode": {
"code": "<string>",
"language": "LANGUAGE_UNSPECIFIED",
"id": "<string>"
},
"fileData": {
"displayName": "<string>",
"fileUri": "<string>",
"mimeType": "<string>"
},
"functionCall": {
"id": "<string>",
"args": {},
"name": "<string>",
"partialArgs": [
{
"boolValue": true,
"jsonPath": "<string>",
"nullValue": "NULL_VALUE",
"numberValue": 123,
"stringValue": "<string>",
"willContinue": true
}
],
"willContinue": true
},
"functionResponse": {
"willContinue": true,
"scheduling": "SCHEDULING_UNSPECIFIED",
"parts": [
{
"inlineData": {
"mimeType": "<string>",
"data": "<string>",
"displayName": "<string>"
},
"fileData": {
"fileUri": "<string>",
"mimeType": "<string>",
"displayName": "<string>"
}
}
],
"id": "<string>",
"name": "<string>",
"response": {}
},
"inlineData": {
"data": "<string>",
"displayName": "<string>",
"mimeType": "<string>"
},
"text": "<string>",
"thought": true,
"thoughtSignature": "<string>",
"videoMetadata": {
"endOffset": "<string>",
"fps": 123,
"startOffset": "<string>"
},
"toolCall": {
"id": "<string>",
"toolType": "TOOL_TYPE_UNSPECIFIED",
"args": {}
},
"toolResponse": {
"id": "<string>",
"toolType": "TOOL_TYPE_UNSPECIFIED",
"response": {}
},
"partMetadata": {}
}
],
"role": "<string>"
},
"invocationId": "",
"finalResponse": {
"parts": [
{
"mediaResolution": {
"level": "MEDIA_RESOLUTION_UNSPECIFIED",
"numTokens": 123
},
"codeExecutionResult": {
"outcome": "OUTCOME_UNSPECIFIED",
"output": "<string>",
"id": "<string>"
},
"executableCode": {
"code": "<string>",
"language": "LANGUAGE_UNSPECIFIED",
"id": "<string>"
},
"fileData": {
"displayName": "<string>",
"fileUri": "<string>",
"mimeType": "<string>"
},
"functionCall": {
"id": "<string>",
"args": {},
"name": "<string>",
"partialArgs": [
{
"boolValue": true,
"jsonPath": "<string>",
"nullValue": "NULL_VALUE",
"numberValue": 123,
"stringValue": "<string>",
"willContinue": true
}
],
"willContinue": true
},
"functionResponse": {
"willContinue": true,
"scheduling": "SCHEDULING_UNSPECIFIED",
"parts": [
{
"inlineData": {
"mimeType": "<string>",
"data": "<string>",
"displayName": "<string>"
},
"fileData": {
"fileUri": "<string>",
"mimeType": "<string>",
"displayName": "<string>"
}
}
],
"id": "<string>",
"name": "<string>",
"response": {}
},
"inlineData": {
"data": "<string>",
"displayName": "<string>",
"mimeType": "<string>"
},
"text": "<string>",
"thought": true,
"thoughtSignature": "<string>",
"videoMetadata": {
"endOffset": "<string>",
"fps": 123,
"startOffset": "<string>"
},
"toolCall": {
"id": "<string>",
"toolType": "TOOL_TYPE_UNSPECIFIED",
"args": {}
},
"toolResponse": {
"id": "<string>",
"toolType": "TOOL_TYPE_UNSPECIFIED",
"response": {}
},
"partMetadata": {}
}
],
"role": "<string>"
},
"intermediateData": {
"toolUses": [],
"toolResponses": [],
"intermediateResponses": []
},
"creationTimestamp": 0,
"rubrics": [
{
"rubricId": "<string>",
"rubricContent": {
"textProperty": "<string>"
},
"description": "<string>",
"type": "<string>"
}
],
"appDetails": {
"agentDetails": {}
}
}
],
"conversationScenario": {
"startingPrompt": "<string>",
"conversationPlan": "<string>",
"userPersona": {
"id": "<string>",
"description": "<string>",
"behaviors": [
{
"name": "<string>",
"description": "<string>",
"behavior_instructions": [
"<string>"
],
"violation_rubrics": [
"<string>"
]
}
]
}
},
"sessionInput": {
"appName": "<string>",
"userId": "<string>",
"state": {}
},
"creationTimestamp": 0,
"rubrics": [
{
"rubricId": "<string>",
"rubricContent": {
"textProperty": "<string>"
},
"description": "<string>",
"type": "<string>"
}
],
"finalSessionState": {}
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}This underscore path uses the same request and response as its hyphenated counterpart and remains available to existing clients
See the corresponding evaluation endpoint for the replacement and its complete requirements
Path Parameters
Application name
Evaluation set ID
Evaluation case ID
Response
Successful response
Evaluation case ID
Conversation invocations used in the evaluation
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Application, user, and initial state for the evaluation session
Show child attributes
Show child attributes
Creation time as a Unix timestamp in seconds
Show child attributes
Show child attributes
Expected final session state
Last modified on September 19, 2026