agent-swarm.devagent-swarm.dev

Session Data

Access session-level data including token counts, costs, and context window metrics

GET
/api/session-costs

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
Range1 <= value

Response 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"
    }
  ]
}
POST
/api/session-costs

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
}
GET
/api/session-costs/dashboard

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
}
GET
/api/session-costs/summary

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
}
POST
/api/session-logs

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
}
GET
/api/tasks/{taskId}/session-logs

Authorization

bearerAuth
AuthorizationBearer <token>

API key via Authorization: Bearer <API_KEY>

In: header

Path Parameters

taskId*string

Query Parameters

limit?integer
Range1 <= value <= 1000

Response 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
}