Session Data
Access session-level data including token counts, costs, and context window metrics
Authorization
bearerAuth AuthorizationBearer <token>
API key via Authorization: Bearer <API_KEY>
In: header
Query Parameters
agentId?string
taskId?string
startDate?string
endDate?string
limit?integer
Range
1 <= valueResponse Body
application/json
curl -X GET "http://localhost:3013/api/session-costs"{
"costs": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"sessionId": "string",
"taskId": "e6e9d88a-9b63-468a-aec3-b7a11de27af8",
"agentId": "string",
"totalCostUsd": 0,
"inputTokens": 0,
"outputTokens": 0,
"cacheReadTokens": 0,
"cacheWriteTokens": 0,
"reasoningOutputTokens": 0,
"thinkingTokens": 0,
"durationMs": 0,
"numTurns": 1,
"model": "string",
"isError": false,
"costSource": "harness",
"harnessCostUsd": 0,
"cacheWrite5mTokens": 0,
"cacheWrite1hTokens": 0,
"modelBreakdown": [
{
"model": "string",
"inputTokens": 0,
"outputTokens": 0,
"cacheReadTokens": 0,
"cacheWriteTokens": 0,
"webSearchRequests": 0,
"costUsd": 0,
"harnessCostUsd": 0
}
],
"createdAt": "2019-08-24T14:15:22Z"
}
]
}Authorization
bearerAuth AuthorizationBearer <token>
API key via Authorization: Bearer <API_KEY>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "http://localhost:3013/api/session-costs" \ -H "Content-Type: application/json" \ -d '{ "sessionId": "string", "agentId": "string", "totalCostUsd": 0 }'{
"success": true,
"cost": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"sessionId": "string",
"taskId": "e6e9d88a-9b63-468a-aec3-b7a11de27af8",
"agentId": "string",
"totalCostUsd": 0,
"inputTokens": 0,
"outputTokens": 0,
"cacheReadTokens": 0,
"cacheWriteTokens": 0,
"reasoningOutputTokens": 0,
"thinkingTokens": 0,
"durationMs": 0,
"numTurns": 1,
"model": "string",
"isError": false,
"costSource": "harness",
"harnessCostUsd": 0,
"cacheWrite5mTokens": 0,
"cacheWrite1hTokens": 0,
"modelBreakdown": [
{
"model": "string",
"inputTokens": 0,
"outputTokens": 0,
"cacheReadTokens": 0,
"cacheWriteTokens": 0,
"webSearchRequests": 0,
"costUsd": 0,
"harnessCostUsd": 0
}
],
"createdAt": "2019-08-24T14:15:22Z"
}
}{
"error": "string",
"property1": null,
"property2": null
}Authorization
bearerAuth AuthorizationBearer <token>
API key via Authorization: Bearer <API_KEY>
In: header
Response Body
application/json
curl -X GET "http://localhost:3013/api/session-costs/dashboard"{
"costToday": 0,
"costMtd": 0
}Authorization
bearerAuth AuthorizationBearer <token>
API key via Authorization: Bearer <API_KEY>
In: header
Query Parameters
groupBy?string
Value in
"day" | "agent" | "both" | "user"startDate?string
endDate?string
agentId?string
userId?string
Response Body
application/json
application/json
curl -X GET "http://localhost:3013/api/session-costs/summary"{
"totals": {
"totalCostUsd": 0,
"totalInputTokens": 0,
"totalOutputTokens": 0,
"totalCacheReadTokens": 0,
"totalCacheWriteTokens": 0,
"totalDurationMs": 0,
"totalSessions": 0,
"avgCostPerSession": 0,
"attributedCostUsd": 0
},
"daily": [
{
"date": "string",
"costUsd": 0,
"inputTokens": 0,
"outputTokens": 0,
"sessions": 0
}
],
"byAgent": [
{
"agentId": "string",
"costUsd": 0,
"inputTokens": 0,
"outputTokens": 0,
"sessions": 0,
"durationMs": 0
}
],
"byUser": [
{
"userId": "string",
"costUsd": 0,
"inputTokens": 0,
"outputTokens": 0,
"tasks": 0,
"durationMs": 0
}
]
}{
"error": "string",
"property1": null,
"property2": null
}Authorization
bearerAuth AuthorizationBearer <token>
API key via Authorization: Bearer <API_KEY>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "http://localhost:3013/api/session-logs" \ -H "Content-Type: application/json" \ -d '{ "sessionId": "string", "iteration": 1, "lines": [ "string" ] }'{
"success": true,
"count": 0
}{
"error": "string",
"property1": null,
"property2": null
}Authorization
bearerAuth AuthorizationBearer <token>
API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
taskId*string
Query Parameters
limit?integer
Range
1 <= value <= 1000Response Body
application/json
application/json
curl -X GET "http://localhost:3013/api/tasks/string/session-logs"{
"logs": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"taskId": "e6e9d88a-9b63-468a-aec3-b7a11de27af8",
"sessionId": "string",
"iteration": 1,
"cli": "claude",
"content": "string",
"lineNumber": 0,
"createdAt": "2019-08-24T14:15:22Z"
}
]
}{
"error": "string",
"property1": null,
"property2": null
}