API ReferenceMetrics API

Metrics API

Pull performance metrics for supply sources (Publishers), demand sources (DSPs), or your entire platform.

Base URL: https://api.praevis.com Auth: X-API-Key: {YOUR_KEY}


Common query parameters

All metrics endpoints accept:

ParamValuesDefaultDescription
period1h, 6h, today, 24h, 7d, 30d24hTime range
regionfra, nyc, lonAll regionsFilter to one region
sandboxtrue, falsefalseSandbox vs live data

Platform-wide metrics

GET /api/metrics

Returns aggregate metrics across all supply sources and demand sources in your account.

Response:

{
  "period": "24h",
  "generated_at": "2026-02-17T14:30:00Z",
  "auctions": 1847200,
  "impressions": 1564890,
  "fill_rate": 0.847,
  "revenue_cents": 231540,
  "bid_requests_sent": 4290000,
  "rps_current": 1359,
  "p50_ms": 3,
  "p95_ms": 15,
  "p99_ms": 28,
  "regions": {
    "fra": { "rps": 812, "fill_rate": 0.861 },
    "nyc": { "rps": 347, "fill_rate": 0.829 },
    "lon": { "rps": 200, "fill_rate": 0.851 }
  }
}

Partner metrics

GET /api/metrics/partner
X-User-Partner-ID: {PARTNER_UUID}

Aggregate metrics for all supply sources and demand sources under a specific platform partner.

Response: Same structure as platform-wide, scoped to the partner.


Supply source metrics

GET /api/metrics/publisher/{publisher_id}

Response:

{
  "publisher_id": "pub-uuid",
  "publisher_name": "Example CTV Publisher",
  "period": "24h",
  "impressions": 142580,
  "fill_rate": 0.847,
  "revenue_cents": 21087,
  "ecpm_cents": 1478,
  "bid_requests": 168450,
  "dsp_breakdown": [
    {
      "dsp_id": "dsp-uuid",
      "dsp_name": "Example DSP",
      "wins": 28400,
      "spend_cents": 12850,
      "avg_cpm_cents": 1524
    }
  ],
  "p50_ms": 3,
  "p95_ms": 14,
  "p99_ms": 28
}

Demand source metrics

GET /api/metrics/dsp/{dsp_id}

Response:

{
  "dsp_id": "dsp-uuid",
  "dsp_name": "Example DSP",
  "period": "24h",
  "bid_requests": 284500,
  "bids": 97200,
  "wins": 42100,
  "impressions": 41850,
  "win_rate": 0.1480,
  "spend_cents": 61983,
  "avg_cpm_cents": 1481,
  "publisher_breakdown": [
    {
      "publisher_id": "pub-uuid",
      "publisher_name": "Example CTV Publisher",
      "wins": 28400,
      "spend_cents": 12850
    }
  ]
}

Time-series data

All metrics endpoints support breakdown=time to get hourly/daily buckets:

GET /api/metrics?period=7d&breakdown=time

Response:

{
  "period": "7d",
  "buckets": [
    { "timestamp": "2026-02-11T00:00:00Z", "impressions": 198400, "revenue_cents": 29340 },
    { "timestamp": "2026-02-12T00:00:00Z", "impressions": 214200, "revenue_cents": 31820 },
    ...
  ]
}

Bucket size: 1h for 1h/6h/today/24h; 1 day for 7d/30d.


Real-time metrics (WebSocket)

For live dashboard feeds, connect to the WebSocket endpoint:

wss://api.praevis.com/ws/metrics
Authorization: Bearer {API_KEY}

Pushes updates every 5 seconds:

{
  "type": "metrics_update",
  "timestamp": "2026-02-17T14:30:05Z",
  "rps": 1359,
  "fill_rate_1m": 0.863,
  "revenue_cents_1m": 4820
}

Data freshness

EndpointLag
GET /api/metrics~60 seconds (stream aggregator)
WebSocket push5 seconds (live Redis)
GET .../publisher/{id}/stats~60 seconds
GET .../dsp/{id}/health5 seconds (live)