New: pagination on person search, fuzzy matching, and more. See what's changed →
Whitepages
ReferencesInternal Ledger

Raw access events for a single API key in a time window

Return one page of access-event rows for ``api_key_id`` in ``[start, end)``. Pages are capped at ``access_events_service.PAGE_LIMIT`` as a runaway-query backstop, not a date-range restriction. There is no date-range cap; callers (staff tooling and, after Tranche 3 cutover, the api-management service) set the window themselves. Stable ordering and paging use ``(event_ts, id)``. Rows are returned raw — no aggregation, no billing interpretation.

GET
/internal/access-events/by-key

Authorization

InternalBearerAuth

AuthorizationBearer <token>

Shared bearer token gating /internal/access-events/*. Issued only to known callers (staff tooling, the in-house ledger->Zuora cron, and api-management); rotated annually.

In: header

Query Parameters

api_key_id*string

API key whose events to fetch.

Length1 <= length
start*string

Inclusive lower bound on event_ts (UTC).

Formatdate-time
end*string

Exclusive upper bound on event_ts (UTC).

Formatdate-time
cursor?Cursor|Cursor

Opaque cursor from the prior response's next_cursor; omit for the first page.

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://api.whitepages.com/internal/access-events/by-key?api_key_id=string&start=2019-08-24T14%3A15%3A22Z&end=2019-08-24T14%3A15%3A22Z"
{
  "events": [
    {
      "id": 0,
      "event_ts": "2019-08-24T14:15:22Z",
      "trace_id": "string",
      "api_key_id": "string",
      "http_method": "string",
      "route": "string",
      "status_code": 0,
      "duration_ms": 0,
      "billable": true
    }
  ],
  "next_cursor": "string"
}
{
  "message": "Forbidden"
}
{
  "detail": [
    {
      "loc": [
        "string"
      ],
      "msg": "string",
      "type": "string",
      "input": null,
      "ctx": {}
    }
  ]
}
{
  "error": {
    "code": 400,
    "message": "Short error message",
    "long_message": "The request was malformed",
    "meta": {
      "field": "email",
      "validation_error": "Invalid email format"
    }
  },
  "wp_trace_id": "550e8400-e29b-41d4-a716-446655440000"
}