Every request and response is logged, PII-redacted, and visible in your dashboard and via the analytics API.
OpenDunes logs every API request and its corresponding response. The log is your audit trail, your debugging surface, and your usage analytics — all in one place. Every entry is PII-redacted before it is written to storage.
Browse and export your request log at Settings → Observability — the table shows time, model, tokens, DA cost, latency, and status, with one-click CSV and JSON download of the full stream.
For each request, the following is recorded:
| Field | Description |
|---|---|
request_id | UUID-v7 trace identifier (also in the X-Request-Id response header) |
timestamp | Request received time (timestamptz, UTC) |
model | Model slug used |
messages | The full messages array, after PII redaction |
response | The full completion text, after PII redaction |
prompt_tokens | Input token count |
completion_tokens | Output token count |
cost_da | Billed cost in Algerian Dinars |
finish_reason | How the model stopped (stop, length, tool_calls, error) |
latency_ms | Time to first token (streaming) or full response time |
key_id | Which API key was used (not the key itself) |
ip_country | Country code of the originating request |
Before any message or response content is written to the log, it passes through the OpenDunes PII redaction pipeline. Detected personal data patterns are replaced with typed placeholders:
| Pattern | Placeholder |
|---|---|
| Algerian phone numbers | [PHONE_DZ] |
| National identity numbers (CNI) | [ID_DZ] |
| Email addresses | [EMAIL] |
| IBAN / bank account numbers | [IBAN] |
| Credit card numbers | [CARD] |
| Full names (heuristic) | [NAME] |
Redaction happens at the storage layer. The model receives the original, unmodified content — redaction only affects what is persisted.
Open your activity log to see a paginated list of all requests. You can filter by:
Each row expands to show the full redacted messages array, the completion, token breakdown, and routing metadata.
Pull usage data programmatically with the key-authed activity endpoint — a daily rollup, one row per day × model × provider endpoint, covering the last 30 days by default:
| Parameter | Type | Description |
|---|---|---|
date | date | Narrow to a single day (YYYY-MM-DD) |
usage is DA spend for that day/model/endpoint. Message and response content is never returned by this API — per-request detail, including logged content, lives in the dashboard Activity page.
If your use case involves highly sensitive data, you can disable content logging by enabling Zero Data Retention on your account. With ZDR enabled, no message or response content is stored. Usage metadata (token counts, cost, timestamps) is still recorded for billing purposes.
Logs are retained for 90 days by default. Older entries are automatically deleted. If your compliance requirements need a longer retention window or export to your own storage, contact support@opendunes.com.
X-Request-Id for support#Every response includes the header X-Request-Id with the UUID-v7 request identifier. If you encounter unexpected behavior, include this ID when contacting support — it lets the team retrieve the exact request and routing context instantly.