Usage API

POST /api/usage/ingest

  • Purpose: Ingest usage events from the edge/proxy layer.
  • Auth: X-Ingest-Key shared secret.
  • Request shape: Usage payload (tenant, bytes, request metadata).
  • Response shape: { ok: true }.
  • Key errors: 401/403 invalid ingest key, 400 invalid payload.
  • Example: POST /api/usage/ingest with ingest key header.

GET /api/usage/check

  • Purpose: Internal usage limit/status check.
  • Auth: X-Ingest-Key shared secret.
  • Request shape: Query for tenant/period (as defined in handler).
  • Response shape: Limit/check result.
  • Key errors: 401/403, 400.
  • Example: GET /api/usage/check?....

GET /api/stats

  • Purpose: Return aggregated public/platform stats overview.
  • Auth: Public or internal read (depends on deployment policy).
  • Request shape: Optional query filters.
  • Response shape: Stats object.
  • Key errors: 400.
  • Example: GET /api/stats.

GET /api/demos/{provider}

  • Purpose: Return demo payload for supported providers.
  • Auth: Public read.
  • Request shape: Path {provider}.
  • Response shape: Demo data for requested provider.
  • Key errors: 404 provider not found, 400 invalid provider.
  • Example: GET /api/demos/prismic.

POST /api/admin/ingest-diagnostic

  • Purpose: Temporary diagnostic endpoint — tests the full ingest write path step-by-step (D1 connectivity, table existence, upsert/insert, runtime config). Delete after regression is resolved.
  • Auth: X-Ingest-Key shared secret (same as /api/usage/ingest).
  • Request shape: No body required.
  • Response shape: { steps: { auth, d1Connect, usageBucketsTable, requestLogsTable, usageUpsert, requestLogInsert, requestLogReadBack, runtimeConfig } } with "OK" / "FAIL: …" values per step.
  • Key errors: 401/403 invalid ingest key.
  • Example: POST /api/admin/ingest-diagnostic with ingest key header.

GET /api/playground/tenant-config

  • Purpose: Return public-safe tenant config used by playground UI bootstrap.
  • Auth: Public read.
  • Request shape: Query slug (required).
  • Response shape: { slug, cms, identifierField, identifierValue, apiOrigin, origin, videoOrigin }; on missing tenant returns same shape with null fields and error.
  • Key errors: 400 when slug query param is missing.
  • Example: GET /api/playground/tenant-config?slug=demo.
Need help understanding this?Ask Orinami Copilot about features, setup, or integrations.
Ask Copilot →