GET/api/v1/usage

Usage

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

FieldTypeRequiredDescription
limitintNoHow many calls to return, newest first. Default 100, at most 500.
fromdatetimeNoOnly calls at or after this time (ISO 8601).
todatetimeNoOnly calls before this time.

Totals: GET /usage/summary

GET/api/v1/usage/summary
Response200
{  "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.

HTTPCodeWhat it means
401unauthorizedMissing, unknown or revoked key.
400invalid_inputA field failed validation, or a file_key doesn't start with api/.