Page through usage events, including zero-cost reporting. Requires organization administrator access and Usage Monitoring. Defaults to 30 days. Cursors retain the initial reporting window; keep filters and sort unchanged while paging. The sim-chat source covers both chat surfaces. Per-event rounding can produce credits=0 with hasCost=true. Workspace API keys return 403; use a personal API key or scoped OAuth token.
OAuth scope: api:read.
/api/v2/organizations/{organizationId}/usage/eventsYour Sim API key, personal or workspace-scoped. Generate one under Settings, then API Keys. Operations that reject workspace keys say so in their own description.
In: header
Path Parameters
Organization identifier.
1 <= lengthQuery Parameters
Reporting window. Custom requires startDate and endDate and is capped at 92 days; other presets reject those bounds. Resolved billing windows are capped at 366 days.
"30d""current-period" | "previous-period" | "7d" | "30d" | "custom"First calendar date included, in the selected timezone. Requires preset=custom.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$dateLast calendar date included, in the selected timezone. Requires preset=custom.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$dateIANA timezone for calendar boundaries; defaults to UTC.
"UTC"1 <= lengthRestrict events to one product surface.
"workflow" | "wand" | "sim-chat" | "mcp_copilot" | "mothership_block" | "knowledge-base" | "voice-input" | "enrichment" | "voice-output" | "api-tool"Maximum usage events per page. Must be a whole number from 1 to 100. Defaults to 50.
501 <= value <= 100Opaque cursor from the previous page. Send it back with the same sort and filters; only limit may change. Change anything else and pagination must restart without a cursor.
1 <= lengthField used to sort the result.
"createdAt""createdAt"Sort direction.
"desc""asc" | "desc"Response 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/organizations/string/usage/events" \ -H "X-API-Key: YOUR_API_KEY"{
"data": [
{
"id": "event-123",
"createdAt": "2026-06-01T09:00:00.000Z",
"source": "sim-chat",
"description": "Model usage",
"workflowName": null,
"credits": 200,
"hasCost": true
}
],
"nextCursor": null
}{
"error": {
"code": "BAD_REQUEST",
"message": "Invalid request"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication required"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "Insufficient workspace permissions",
"details": {
"code": "INSUFFICIENT_WORKSPACE_ROLE"
}
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Not found"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "API rate limit exceeded",
"details": {
"retryAfter": "2026-01-01T00:00:30.000Z"
}
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Internal server error"
}
}{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "Service temporarily unavailable"
}
}