API ReferenceSource Reporting API

Source Reporting API

Individual publishers (supply sources) and DSPs (demand sources) can access their own performance and billing data using their source-level API key. This allows partners to share API access with their publishers and DSPs without exposing other sources’ data.

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

Source API keys are scoped to a single publisher or DSP. They can only access data for that specific source. Find your key in the dashboard under Supply/Demand > Settings.


Publisher Endpoints

Get publisher report

GET /api/source/report?period={period}

Returns performance metrics for the authenticated publisher.

Query params:

ParamValuesDefaultDescription
period24h, 7d, 14d, 30d7dReporting period

Response:

{
  "publisher": "Example Publisher",
  "publisher_id": "84a75615-...",
  "period": "7d",
  "month": "2026-05",
  "impressions": 15395,
  "revenue_cents": 7599,
  "auctions": 38740996,
  "fill_rate": 0.04,
  "avg_cpm": 4.94
}

Get publisher billing

GET /api/source/billing?month={YYYY-MM}

Returns the payout statement for the authenticated publisher.

Query params:

ParamFormatDefaultDescription
monthYYYY-MMCurrent monthBilling period

Response:

{
  "publisher": "Example Publisher",
  "publisher_id": "84a75615-...",
  "month": "2026-05",
  "status": "in_progress",
  "payout": {
    "gross_revenue_cents": 7599,
    "fee_percent": 20,
    "fee_cents": 1520,
    "net_payout_cents": 6079,
    "impressions": 15395,
    "currency": "USD"
  }
}
FieldDescription
statusin_progress (current month) or finalized (past months)
gross_revenue_centsTotal revenue earned before fees
fee_percentPublisher platform fee percentage
fee_centsFee deducted
net_payout_centsAmount to be paid out

DSP Endpoints

Get DSP report

GET /api/demand/report?period={period}

Returns performance metrics for the authenticated DSP.

Query params:

ParamValuesDefaultDescription
period24h, 7d, 14d, 30d7dReporting period

Response:

{
  "dsp": "Example DSP",
  "dsp_id": "c0eee8be-...",
  "period": "7d",
  "month": "2026-05",
  "spend_cents": 5799,
  "wins": 46710,
  "avg_cpm": 1.24
}

Get DSP billing

GET /api/demand/billing?month={YYYY-MM}

Returns the invoice for the authenticated DSP.

Query params:

ParamFormatDefaultDescription
monthYYYY-MMCurrent monthBilling period

Response:

{
  "dsp": "Example DSP",
  "dsp_id": "c0eee8be-...",
  "month": "2026-05",
  "status": "in_progress",
  "invoice": {
    "spend_cents": 5799,
    "fee_percent": 30,
    "fee_cents": 1740,
    "total_due_cents": 7539,
    "wins": 46710,
    "currency": "USD"
  }
}
FieldDescription
statusin_progress (current month) or finalized (past months)
spend_centsTotal ad spend for the period
fee_percentDSP platform fee percentage
fee_centsPlatform fee charged
total_due_centsTotal amount to be invoiced (spend + fee)

API Key Management

Source API keys are generated per publisher and per DSP. They are visible in the dashboard:

  • Publishers: Supply > [Publisher Name] > Settings
  • DSPs: Demand > [DSP Name] > Settings

Partners can share these keys with their publishers/DSPs for self-serve access. Each key only grants access to that specific source’s data.

Key format

Publisher: pub_{timestamp}_{hash}
DSP:       dsp_{timestamp}_{hash}
⚠️

API keys should be treated as secrets. If compromised, regenerate the key from the dashboard Settings page.


Example: Publisher integration

# Get your monthly payout
curl https://api.praevis.com/api/source/billing?month=2026-05 \
  -H "X-API-Key: pub_XXXXXXXXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
 
# Get performance report
curl https://api.praevis.com/api/source/report?period=30d \
  -H "X-API-Key: pub_XXXXXXXXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

Example: DSP integration

# Get your monthly invoice
curl https://api.praevis.com/api/demand/billing?month=2026-05 \
  -H "X-API-Key: dsp_XXXXXXXXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
 
# Get performance report
curl https://api.praevis.com/api/demand/report?period=30d \
  -H "X-API-Key: dsp_XXXXXXXXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"