List Billing Logs
List the credit-denominated billing ledger with source filtering and opaque cursor pagination. period defaults to 30d, so an unqualified request covers only the last 30 days: paginating to nextCursor: null exhausts that window, not the whole ledger. Pass period=all for full history, or period=custom with startDate and endDate for a specific range.
/api/v2/billing/logsAuthorization
apiKey Your Sim API key, personal or workspace-scoped. Generate one from the Sim dashboard under Settings > API Keys. A workspace API key is not accepted everywhere: operations that act on behalf of a specific human — administrative reads, secret access, and irreversible or governance-affecting writes — always reject it, whatever role the key carries. Each such operation says so in its own description, and the rejection surfaces as 403 unless the operation conceals unauthorized resources, in which case it is reported as 404. Use a personal API key for those.
In: header
Query Parameters
Restrict results to one usage source.
"workflow" | "wand" | "sim-chat" | "mcp_copilot" | "mothership_block" | "knowledge-base" | "voice-input" | "enrichment" | "voice-output"Restrict results to one workspace whose payer the caller can inspect.
1 <= lengthRelative window, all history, or a custom date range.
"30d""1d" | "7d" | "30d" | "all" | "custom"Start of a custom window as a Date-parseable string.
1 <= lengthEnd of a custom window as a Date-parseable string; defaults to now.
1 <= lengthMaximum usage events per page, from 1 to 100.
501 <= value <= 100Opaque cursor returned by the previous page.
1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://www.sim.ai/api/v2/billing/logs"{
"data": [
{
"id": "log_1",
"createdAt": "2026-07-29T18:04:11.000Z",
"source": "sim-chat",
"workspaceId": "ws_1",
"workflow": null,
"runId": null,
"creditCost": 12
}
],
"nextCursor": null
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request is invalid."
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request is invalid."
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request is invalid."
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request is invalid."
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request is invalid."
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request is invalid."
}
}{
"error": {
"code": "BAD_REQUEST",
"message": "The request is invalid."
}
}