Skip to content

API referenceAccount

Get usage

GET/v1/account/usage

The spend log, newest first: one row per charged Run (its charge ledger entry). Top-ups and other credits are not spend and are not listed; the Balance itself is GET /v1/account/balance. Each row is { id, kind, amount_credits, balance_after_credits, created_at, run }; amount_credits is signed as stored (a charge is negative) and balance_after_credits is the Balance once it applied. run is { id, kind, status, charge_credits, list_price_credits, cached }, so list price against charged price can be audited per Run. total_charged_credits is every charge on the account, not just this page. Amounts are whole numbers of Credits.

Price

Free.

Parameters

NameInTypeRequiredDefaultDescription
limitqueryintegermin 1; max 100Optional25Items per page.
cursorquerystringOptional—Opaque next_cursor from the previous page.

Responses

200 OK

{ items, next_cursor, total_charged_credits }, one item per charge with the Run behind it.

object

  • itemsarray of objectrequired
    • idstringrequired
    • kindstringrequiredAlways charge: top-ups and other credits are not spend.
    • amount_creditsintegerrequiredSigned as stored: a charge is negative.
    • balance_after_creditsintegerrequired
    • created_atstringrequired
    • runobjectrequirednullable
      • idstringrequired
      • kindstringrequired
      • statusstringrequired
      • charge_creditsintegerrequired
      • list_price_creditsintegerrequired
      • cachedbooleanrequired
  • next_cursorstringrequirednullable
  • total_charged_creditsintegerrequiredEvery charge on the account, not just this page.

200 · `{ items, next_cursor, total_charged_credits }`, one item per charge with the Run behind it.

{
  "items": [
    {
      "id": "led_71b0c93f4a",
      "kind": "charge",
      "amount_credits": -3,
      "balance_after_credits": 42310,
      "created_at": "2026-09-08T09:14:04.930Z",
      "run": {
        "id": "run_8f2c1ad04b",
        "kind": "video_lookup",
        "status": "completed",
        "charge_credits": 3,
        "list_price_credits": 3,
        "cached": true
      }
    },
    {
      "id": "led_71b0c93e18",
      "kind": "charge",
      "amount_credits": -6,
      "balance_after_credits": 42313,
      "created_at": "2026-09-07T16:40:12.207Z",
      "run": {
        "id": "run_7d1e0bc3a2",
        "kind": "creator_lookup",
        "status": "completed",
        "charge_credits": 6,
        "list_price_credits": 6,
        "cached": false
      }
    }
  ],
  "next_cursor": null,
  "total_charged_credits": 7689
}

400 Bad Request

invalid_request for a limit out of range or a cursor this API did not issue.

object

RFC 9457 problem document, served as application/problem+json. Branch on code, never on the prose.

  • typestringrequired
  • titlestringrequired
  • statusintegerrequired
  • codestringrequiredone of missing_authorization, invalid_key, key_revoked, invalid_token, organization_not_selected, organization_access_revoked, connection_revoked, forbidden, invalid_request, unsupported_platform, unsupported_kind, kind_deprecated, not_found, video_too_long, idempotency_conflict, run_not_ready, advertiser_ambiguous, insufficient_balance, rate_limit_exceeded, concurrency_limit_exceeded, tracker_limit_exceeded, webhook_limit_exceeded, webhook_rotation_in_progress, collection_limit_exceeded, collection_name_taken, collection_kind_mismatch, media_unavailable, vendor_error, source_unavailable, service_unavailable, internal_errorStable machine-readable code.
  • detailstring

400 · Example

{
  "type": "https://www.shortsintel.com/docs/reference/errors/invalid_request",
  "title": "Invalid request",
  "status": 400,
  "code": "invalid_request",
  "detail": "`cursor` is not a cursor this API issued. Pass back the `next_cursor` from the previous page."
}

401 Unauthorized

missing_authorization, invalid_key, key_revoked or invalid_token.

object

RFC 9457 problem document, served as application/problem+json. Branch on code, never on the prose.

  • typestringrequired
  • titlestringrequired
  • statusintegerrequired
  • codestringrequiredone of missing_authorization, invalid_key, key_revoked, invalid_token, organization_not_selected, organization_access_revoked, connection_revoked, forbidden, invalid_request, unsupported_platform, unsupported_kind, kind_deprecated, not_found, video_too_long, idempotency_conflict, run_not_ready, advertiser_ambiguous, insufficient_balance, rate_limit_exceeded, concurrency_limit_exceeded, tracker_limit_exceeded, webhook_limit_exceeded, webhook_rotation_in_progress, collection_limit_exceeded, collection_name_taken, collection_kind_mismatch, media_unavailable, vendor_error, source_unavailable, service_unavailable, internal_errorStable machine-readable code.
  • detailstring

401 · Example

{
  "type": "https://www.shortsintel.com/docs/reference/errors/invalid_key",
  "title": "Invalid key",
  "status": 401,
  "code": "invalid_key",
  "detail": "That API key does not exist. Keys look like `sk_live_...` and are created in the console."
}

Request samples

curl "https://www.shortsintel.com/v1/account/usage?limit=25" \
  -H "Authorization: Bearer sk_live_YOUR_KEY"