Skip to content
VoxaDocs
Navigation
Open console →

Account

Logs

The console's Logs page shows what happened in your workspace in one place: every call, every webhook delivery, every request your API keys and connected apps made, and the server logs, each with filters you can share as a link and an export to CSV.

In the console

Logs has four tabs. Each one has a time range (last hour, 24 hours, 7 days, 30 days, or a custom range), filters kept in the page URL, Refresh, and Export (a CSV of the tab with the filters on screen). The header says when the data was last updated; the open tab refreshes itself every few seconds.

TabShowsNeeds
CallsEvery call: id, agent, the agent’s number, the customer’s number, type, how it ended, start time, duration and cost. Filter by call id, agents, phone numbers, call types, customer number and status; sort by start time, duration or cost. Click a row for the transcript, recording and timeline.calls.view
WebhooksWebhook deliveries: event, endpoint, status, response code, attempts, time and latency. Click a row for the request body and your server’s response, and retry it.keys.manage
APIRequests made with your API keys and connected apps (OAuth): method, path, status, key, latency and request id.keys.manage
SystemThe server logs of your workspace: the API, the call engine and the providers.logs.view

The Calls export uses GET /api/v1/calls/export with the same filters. The other tabs export at most 5,000 rows.

API request log

Every request made with one of your workspace’s API keys (vx_...) or a connected app’s OAuth token (vxo_...) is recorded, so you can see what your integrations call and spot failing requests. Requests made from the console by people signed in are not recorded here (changes they make are in the audit log).

Each record keeps:

FieldMeaning
idThe record’s id (req_...).
atWhen the request ended.
methodGET, POST, …
pathThe path, for example /api/v1/calls/5b0e3c1f.... The query string is never stored, and a path segment that looks like a secret is replaced with {redacted}.
statusThe HTTP status the API answered with, including 403, 422 and 429.
latency_msHow long the API took to answer.
kindkey for an API key, app for a connected app.
key_id, key_nameThe key’s id and name, or app:<connection id> and “<person> via <app>” for a connected app.
request_idThe X-Request-ID of the response; quote it when you ask for support.

Request and response bodies, headers and keys are never stored. Records are kept for 30 days. Recording happens after the response is sent and never slows a request down.

List requests

GET /api/v1/logs/requests (keys.manage), newest first:

curl "https://voxa.abhinavyadav.in/api/v1/logs/requests?status=4xx&since=2026-10-01T00:00:00%2B05:30&limit=20" \
  -H "X-API-Key: $VOXA_API_KEY"
{
  "items": [
    {
      "id": "req_8f2c1d0e9b7a46d5a3c2b1e0f9d8c7b6",
      "at": "2026-10-02T11:04:09.412000+05:30",
      "method": "POST",
      "path": "/api/v1/agents/a1b2c3d4e5f60718293a4b5c6d7e8f90/call",
      "status": 402,
      "latency_ms": 18,
      "kind": "key",
      "key_id": "4c1f0e2d3b4a5968778695a4b3c2d1e0",
      "key_name": "CRM",
      "request_id": "0c7ca00a5e1b4f2d"
    }
  ],
  "total": 1
}
Query parameterDefaultNotes
since, untilRequests at or after since and before until (ISO 8601).
methodOne method, or several separated by commas.
statusA code (404), a class (2xx, 4xx, 5xx) or error (every status from 400).
key_idOne key id (or app:<id>), or several separated by commas.
qText to find in the path.
limit501 to 200.
skip0For paging.

GET /api/v1/logs/requests/keys lists the keys and apps that appear in the log (key_id, key_name, kind), for a filter.

Webhook deliveries and server logs

  • Webhook deliveries: GET /api/v1/webhooks/deliveries, with since, until, event_type, status, endpoint_id and call_id. See Delivery log.
  • Server logs: GET /api/v1/logs (logs.view), with level (a level and everything above it), source, call_id, q (text in the message), since and until. Kept for 14 days.
Esc