Reporting

Get team report

Daily performance metrics across every publisher in your team.

GET/api/publishers/report

Returns one row per day in the requested range — queries, impressions, clicks, revenue, and derived metrics like fill rate, CTR, eCPC and eCPM. For what each metric means, see Reporting. To scope the same metrics to a single publisher, use Get publisher report.

Query parameters

  • Name
    starts_at
    Type
    string
    Required
    required
    Description

    First day of the range as an ISO 8601 date, e.g. 2026-01-01.

  • Name
    ends_at
    Type
    string
    Required
    required
    Description

    Last day of the range as an ISO 8601 date, e.g. 2026-01-31. The range can span at most 90 days.

  • Name
    inventory_types
    Type
    string[]
    Description

    Filter metrics by environment: web or app. Separate multiple values with commas, e.g. inventory_types=web,app. Omit to include all traffic. See environment filtering.

  • Name
    slots
    Type
    string[]
    Description

    Names of slots to filter to, comma-separated. Omit to include every slot.

Headers

  • Name
    Authorization
    Type
    string
    Required
    required
    Description

    Bearer [YOUR_API_TOKEN], using an API token generated from your Koah dashboard under Settings › API Tokens. Only publisher accounts can access this endpoint.

Response

  • Name
    report
    Type
    object[]
    Description

    One entry per day in the range, each with the fields below.

  • Name
    report[].date
    Type
    string
    Description

    ISO 8601 date for the row.

  • Name
    report[].queries
    Type
    integer
    Description

    Total number of ad queries received.

  • Name
    report[].queries_with_ad
    Type
    integer
    Description

    Number of queries that returned at least one ad.

  • Name
    report[].fill_rate
    Type
    float
    Description

    Percentage of queries that returned an ad (queries_with_ad / queries * 100).

  • Name
    report[].impressions
    Type
    integer
    Description

    Total ad impressions rendered.

  • Name
    report[].clicks
    Type
    integer
    Description

    Total ad clicks.

  • Name
    report[].ctr
    Type
    float
    Description

    Click-through rate (clicks / impressions * 100).

  • Name
    report[].ecpc
    Type
    float
    Description

    Effective cost per click.

  • Name
    report[].ecpm
    Type
    float
    Description

    Effective cost per mille (1,000 impressions).

  • Name
    report[].revenue
    Type
    float
    Description

    Total revenue for the day in USD.

Errors

StatusError
400starts_at and ends_at must be valid dates
401Unauthorized — missing or invalid API token
422Date range must be positive and not exceed 90 days
429Rate limit exceeded — max 10 requests per minute
curl "https://app.koah.ai/api/publishers/report?starts_at=2026-01-01&ends_at=2026-01-31&slots=in-article,homepage-hero&inventory_types=web" \
  -H "Authorization: Bearer [YOUR_API_TOKEN]"

Response

{
  "report": [
    {
      "date": "2026-01-01",
      "queries": 1000,
      "queries_with_ad": 650,
      "fill_rate": 65.0,
      "impressions": 650,
      "clicks": 32,
      "ctr": 4.92,
      "ecpc": 0.25,
      "ecpm": 12.31,
      "revenue": 8.0
    }
  ]
}
Was this helpful?