GET
/api/v1/usageUsage
Every call you've made, and a summary by capability.
The log is newest first and capped per request. For totals use /usage/summary, which counts your whole history, so summing the log never under-reports.
- Newest firstUp to 500 per request
- Totals live in /usage/summaryIt counts your whole history
- Every call is hereIncluding the free failures
curl https://api.kreatorsfactory.com/api/v1/usage?limit=100 \ -H "Authorization: Bearer $KREATORSFACTORY_API_KEY"How it works
The log is newest first and capped per request. For totals use /usage/summary, which counts your whole history, so summing the log never under-reports.
Request parameters
| Field | Type | Required | Description |
|---|---|---|---|
limit | int | No | How many calls to return, newest first. Default 100, at most 500. |
from | datetime | No | Only calls at or after this time (ISO 8601). |
to | datetime | No | Only calls before this time. |
Totals: GET /usage/summary
GET
/api/v1/usage/summaryResponse200
{ "total_calls": 412, "succeeded": 400, "failed": 9, "in_flight": 3, "total_spent_usd": 128.44, "per_feature": [ { "feature": "face_swap_image", "calls": 380, "spend_usd": 22.80 } ]}Takes from and to. in_flight is work still queued or running, so the three counts add up to total_callsand running calls aren’t counted as successes.
What reason means
reason explains; status decides
It’s a short slug for why a call ended:
session_limit_reached, no_stream, render_failed, timed_out, cancelled. A live session that ended cleanly at its funded limit succeeded and still carries one. Read status for the outcome.Response
Response200
[ { "id": "…", "endpoint": "face-swap-image", "feature": "face_swap_image", "status": "succeeded", "charged_usd": 0.06, "reason": null, "created_at": "2026-09-26T09:31:07Z" }]Money is in US dollars. Times are ISO 8601, in UTC.
Errors
Every error arrives as {"error": {"code", "message"}}. Branch on code; the message may change. All errors.
| HTTP | Code | What it means |
|---|---|---|
| 401 | unauthorized | Missing, unknown or revoked key. |
| 400 | invalid_input | A field failed validation, or a file_key doesn't start with api/. |