Skip to main content
The Management API gives your organization programmatic, read-only access to its own gateway activity. It is authenticated by a dedicated management key — a separate key type that cannot run inference.

Management keys

Each organization gets one management key, issued by Consus on request (contact sales@consusindustries.co). It uses the same x-api-key header and rate limits as your other keys, but:
  • It is read-only: GET /v1/logs is the only endpoint it can call. Every other endpoint — including all inference endpoints (/v1/chat/completions, /v1/messages, /v1/messages/count_tokens, /v1/responses) and GET /v1/models — returns 403 management_key_not_permitted. Use your standard API keys for model requests and for listing models.
  • It reads org-wide: GET /v1/logs returns request logs for every API key in your organization, not just one key.
  • It never spends and is not subject to monthly spend caps — it keeps working even when your organization has hit its budget, so you can always see why.
Treat the key value like any credential: it is shown once at issuance and can be rotated or revoked by Consus on request.

Get request logs

GET /v1/logs Returns your organization’s per-request usage logs, newest first. Logs are metadata only. The gateway never stores prompt or response content (zero data retention), so log rows contain token counts, cost, latency, and status — never message text.

Headers

Query parameters

Response

Pagination

When has_more is true, pass next_cursor back as cursor to fetch the next (older) page. The cursor freezes the query window, so results are stable even while new traffic arrives — new requests appear when you start a fresh query, never in the middle of one. Keep the other parameters identical between pages; changing status or the window invalidates the cursor. Always drive the loop from has_more, not from the size of data: when a narrow filter matches nothing in a stretch of history, a page can come back empty while has_more is still true. Stop only when has_more is false.

What’s not in logs

A request is logged once it reaches a model-serving endpoint, so the log includes provider errors and malformed-request rejections (4xx/5xx rows) alongside successful calls. Two classes of rejection are not recorded, because they are refused before the request is ever metered:
  • Rejected at the edge — invalid or missing API keys, WAF blocks, and rate limiting. These are visible only in Consus’s edge audit logs.
  • Rejected by key policy — a key over its monthly spend cap (402), an expired trial (403), or a management key attempting inference (403). These are refused before the request is billed or recorded, so an absence of rows during an outage can itself be the signal: if a key stopped producing log entries entirely, check its spend cap and expiry.

Errors