SignalShelf · Developer documentation

Understand your requests and balance

Review recent profile events and account-wide totals, including cache hits, customer credits used, and errors.

Read the usage endpoint

GET /api/usage returns events, totals, and credits_remaining for your account. events contains at most the latest 100 lookup events, newest first. totals aggregates all retained account lookup events, so it can exceed the visible list. There is no pagination or date filter in this beta.

Response example

This abbreviated illustrative response shows a single successful fresh lookup. Real event entries also include account/profile fields and timestamps.

EXAMPLE
{
  "events": [
    {
      "id": "example-event-id",
      "platform": "bluesky",
      "handle": "bsky.app",
      "mode": "live",
      "cache_status": "MISS",
      "credits": 1,
      "status": 200,
      "duration_ms": 850,
      "created_at": "2026-10-19T12:00:00.000Z"
    }
  ],
  "totals": {
    "requests": 1,
    "credits_used": 1,
    "cache_hits": 0,
    "errors": 0,
    "live_requests": 1
  },
  "credits_remaining": 7499
}

What the totals measure

requests counts recorded lookup events, including demo events. live_requests includes live cache hits, misses, and recorded errors. cache_hits counts HIT events. errors counts recorded lookup events with status 400 or higher. credits_used sums customer lookup charges; it is not an engine-cost invoice or a payment receipt. Authentication failures and invalid input rejected before lookup execution do not all appear as usage events.

One-time Explore allowance

New accounts start with 1,000 free credits + 5,000 to earn, not a monthly refill. Credits never expire. A successful fresh lookup spends one. Samples, eligible cache hits, and failed lookups spend zero. An exhausted balance blocks new fresh lookups but can still serve eligible cache hits.

Concurrent requests and interrupted connections

Balance checks and reservations prevent concurrent overspend. Usage reflects completed recorded work; a browser disconnect does not prove that no lookup ran. After a timeout, check usage and balance before retrying live requests. A stale pending reservation can be reconciled by server maintenance, so recovery may not be immediate.

Explore the API in your workspace. Sample results and accepted cache hits cost zero credits. Open the playground →