Performance Report API

Use the Performance Report API to analyze distribution performance and review KPI by reporter and media outlet.

Authentication

All API requests require an API key in the PULITZER-API-KEY header.

Header Setup

PULITZER-API-KEY: YOUR_API_KEY
curl -X GET "https://api.pulitzer.ai/live/openapi/performance/summary" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"

Performance Report

Get a comprehensive performance report. Supports grouping by release, reporter, media, or campaign period.

GET https://api.pulitzer.ai/live/openapi/performance/report

Query Parameters

ParameterTypeRequiredDescription
release_idsstringNoRelease IDs (comma separated, e.g., 1,2,3)
start_datestringNoStart date (YYYY-MM-DD)
end_datestringNoEnd date (YYYY-MM-DD)
group_bystringNoGrouping: release(default) | reporter | media | campaign

Response

{
  "status": "SUCCESS",
  "success": true,
  "message": "성과 리포트 조회 성공",
  "data": {
    "summary": {
      "total_releases": 5,
      "total_sent": 150,
      "total_coverage": 23,
      "avg_coverage_rate": 15.3
    },
    "items": [
      {
        "release_id": 101,
        "press_title": "신제품 출시 보도자료",
        "sent_date": "2026-05-20",
        "total_sent": 30,
        "coverage_count": 5,
        "coverage_rate": 16.7
      }
    ]
  }
}
curl -X GET "https://api.pulitzer.ai/live/openapi/performance/report?release_ids=101,102&group_by=release&start_date=2026-05-01&end_date=2026-05-31" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"

Performance Summary

Returns only the key KPI summary.

GET https://api.pulitzer.ai/live/openapi/performance/summary

Query Parameters

ParameterTypeDescription
start_datestringStart date (YYYY-MM-DD)
end_datestringEnd date (YYYY-MM-DD)

Response

{
  "status": "SUCCESS",
  "success": true,
  "message": "KPI 요약 조회 성공",
  "data": {
    "total_releases": 12,
    "total_sent": 450,
    "total_coverage": 67,
    "avg_coverage_rate": 14.9
  }
}
curl -X GET "https://api.pulitzer.ai/live/openapi/performance/summary?start_date=2026-05-01&end_date=2026-05-31" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"

Reporter Performance

Get reporter-level performance for a specific release.

GET https://api.pulitzer.ai/live/openapi/performance/release/{`{release_id}`}/reporters

Response

{
  "status": "SUCCESS",
  "success": true,
  "message": "기자별 성과 조회 성공",
  "data": [
    {
      "reporter_id": 201,
      "reporter_name": "김기자",
      "reporter_email": "ki***",
      "media_name": "한국경제",
      "total_sent": 3,
      "coverage_count": 1,
      "coverage_rate": 33.3
    }
  ]
}
curl -X GET "https://api.pulitzer.ai/live/openapi/performance/release/101/reporters" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"

Media Performance

Get media-level performance for a specific release.

GET https://api.pulitzer.ai/live/openapi/performance/release/{`{release_id}`}/media

Response

{
  "status": "SUCCESS",
  "success": true,
  "message": "매체별 성과 조회 성공",
  "data": [
    {
      "media_name": "한국경제",
      "total_reporters": 5,
      "total_sent": 15,
      "coverage_count": 3,
      "coverage_rate": 20
    }
  ]
}
curl -X GET "https://api.pulitzer.ai/live/openapi/performance/release/101/media" \
  -H "PULITZER-API-KEY: YOUR_API_KEY"

Error Responses

HTTP StatusDescription
404User or release not found
400Invalid parameters
500Report generation failed