SumoRouter
SumoRouter Admin API

Request logs

Server

Request logs across all users. Prompt and response content are never stored.


List request logs

GET
https://ai.brandkamu.id/api/admin
/logs

AI requests across every user, newest first. The period defaults to the 24 hours before to (default now) and can span at most 366 days. counts cover every filter except status.

List request logs › query Parameters

from
​string · date-time

Start of the period (inclusive), RFC 3339.

to
​string · date-time

End of the period (exclusive), RFC 3339. Defaults to now.

user
​string · uuid

User id.

key
​

An API key id, or playground for requests made from the dashboard playground.

model
​string

Exact model slug.

provider
​string

Exact provider slug.

status
​string · enum

success (HTTP status < 400) or error (>= 400). All when absent or all.

Enum values:
all
success
error
error_type
​string

Exact error type (see GET /logs/filters).

q
​string

Case-insensitive substring of the user's email or name, the key name or prefix; or exactly a request id or upstream id.

limit
​integer · min: 1 · max: 200

Page size (clamped to 1-200).

Default: 50
offset
​integer · min: 0

Rows to skip.

Default: 0

List request logs › Responses

A page of requests.

​RequestLog[] · required
total
​integer · required

Matches for all filters including status.

​object · required

For every filter except status.


Get filter options

GET
https://ai.brandkamu.id/api/admin
/logs/filters

Models, providers and error types seen in the period (default the 24 hours before to; clamped to 366 days), plus the filtered user with their keys and the filtered key, for filter dropdowns.

Get filter options › query Parameters

from
​string · date-time

Start of the period (inclusive), RFC 3339.

to
​string · date-time

End of the period (exclusive), RFC 3339. Defaults to now.

user
​string · uuid
key
​string

An API key id (playground is accepted and ignored).

Get filter options › Responses

Filter options.

models
​string[] · required

Model slugs seen in the period.

providers
​string[] · required
error_types
​string[] · required
​object | null · required

The filtered user, if any.

​KeyRef[] · required

The filtered user's keys (revoked included); empty without a user filter.

​KeyRef | null · required

The filtered key, if any.


Get a request

GET
https://ai.brandkamu.id/api/admin
/logs/{id}

One request with owner, key, tokens, cost and upstream cost, timing, parameters, error and client details.

Get a request › path Parameters

id
​string · uuid · required

Request id.

Get a request › Responses

The request.

id
​string · uuid · required
user_id
​string · uuid · required
user_email
​string · required
upstream_id
​string | null · required

The provider's response id.

model_slug
​string · required
provider_slug
​string · required
api_key_id
​string | null · uuid · required
api_key_name
​string | null · required
api_key_prefix
​string | null · required
source
​RequestSource · enum · required
Enum values:
api
playground
streamed
​boolean · required
status_code
​integer · required
finish_reason
​string | null · required
prompt_tokens
​integer · required
completion_tokens
​integer · required
cached_tokens
​integer · required
cache_write_tokens
​integer · required
reasoning_tokens
​integer · required
cost_nano
​integer · int64 · required

Billed cost, nano-USD.

upstream_cost_nano
​integer | null · int64 · required

What Sumopod charged, nano-USD, when recorded.

cost_breakdown
​required

Per-component cost details (JSON), when recorded.

latency_ms
​integer · required
ttft_ms
​integer | null · required
tps
​number | null · required
request_params
​required

Request parameters (JSON, e.g. temperature, max_tokens); never prompt content. May be cleared by retention.

error_type
​string | null · required
error_message
​string | null · required
client_ip
​string | null · required
user_agent
​string | null · required
started_at
​string · date-time · required

created_at minus the latency.

created_at
​string · date-time · required