Usage Logs
Inspect per-request token usage, cost, and errors in the console; export CSV for offline analysis.
The Usage Logs panel records every request that hits CanalAPI. It is the primary tool for monitoring activity and debugging unexpected charges or failures. Logs are retained for 30 days by default.
Where to find it
Open Console → Usage Logs. By default the most recent requests are shown first.
Available fields
Each log entry typically includes:
| Field | Notes |
|---|---|
| Timestamp | When the request was processed |
| API Key name | The key used for the request (the secret is never shown) |
| Model | The model the request was routed to |
| Input tokens | Token count of the prompt portion |
| Output tokens | Token count of the completion portion |
| Cost | Amount deducted, in the account's display currency |
| Latency | Server-side processing latency in milliseconds |
| Status | Success / failure; failed rows include error code and a short message |
| Request ID | Identifier used in support tickets and programmatic reconciliation |
Click any row to open the detail drawer with:
- Full request ID (one-click copy)
- Endpoint path and model
- Input / output tokens, cost, latency
- Error code and short summary on failure
- Whether streaming was used
Prompt / completion content is never shown — CanalAPI does not retain request / response bodies. See Privacy below.
Filtering
The toolbar provides these filter dimensions:
- Time range — Today / Yesterday / Last 7 / 30 / 90 days / This month / Last month / This quarter / This year / Last 2 years / All, or a custom range
- API key — single or all
- Model — single or all, with search
- Status — All / Success / Failed / Errors
- Keyword — exact match on request ID and similar fields
Filter state is persisted in the URL for easy sharing.
Export
Click Export CSV to stream out the rows matching your current filters.
- Large result sets stream in chunks; no need to wait for a fully-built file.
- Exports are rate-limited per account (5 per hour by default); excess requests return
429. - Column order matches the list view, so the file imports cleanly into Excel / BigQuery / Snowflake.
For deeper reconciliation, combine with the OpenAI-compatible GET /v1/dashboard/billing/credit_grants balance endpoint.
Dashboard analytics
Console → Dashboard aggregates the same data into:
- Today / this-month spend with previous-period comparison
- Cost breakdown by model / key
- Usage trend (per hour / day)
- Per-key usage trend comparison
Use it to forecast spend, spot anomalies, and attribute cost.
Troubleshooting
Failed requests appear in usage logs as Status = Failed. Open the detail drawer to see:
- HTTP status code and platform error code
- A short upstream message (sanitized) where applicable
- Whether the request was billed (most failures are not; some upstream failures after generation begins may still be)
Full error catalog and handling guidance: Errors.
Privacy
User-facing usage logs show metadata only (tokens, model, timestamp, status, error code):
- No full prompt / completion content
- No tool-call arguments or results
- No upstream API keys
For the authoritative description of what is collected and retained, see the Privacy Policy in the console.