Reports

Analytics endpoints for recruiting overview and time-to-hire metrics.

Overview

The Reports API provides aggregated analytics about your recruiting pipeline. Use these endpoints to build dashboards or integrate metrics into your business intelligence tools.

Recruiting overview

GET/wp-json/recruiting/v1/reports/overview

Query parameters

ParameterTypeDescription
date_fromdateStart date (ISO 8601)
date_todateEnd date (ISO 8601)
job_idintFilter by job (optional)

Response

{
  "period": {
    "from": "2025-01-01",
    "to": "2025-01-31"
  },
  "jobs": {
    "total": 12,
    "active": 8,
    "new_this_period": 3
  },
  "applications": {
    "total": 156,
    "new_this_period": 45,
    "by_status": {
      "new": 12,
      "screening": 18,
      "interview": 8,
      "offer": 3,
      "hired": 4,
      "rejected": 110,
      "withdrawn": 1
    }
  },
  "conversion": {
    "application_to_screening": 0.72,
    "screening_to_interview": 0.44,
    "interview_to_offer": 0.38,
    "offer_to_hire": 0.80
  },
  "avg_time_to_hire_days": 23
}

Response fields

FieldDescription
periodThe date range for the report
jobs.totalTotal number of job listings
jobs.activeCurrently published jobs
jobs.new_this_periodJobs created in the reporting period
applications.totalTotal applications across all jobs
applications.new_this_periodApplications received in the period
applications.by_statusBreakdown by current status
conversionStage-to-stage conversion rates (0-1)
avg_time_to_hire_daysAverage days from application to hire

Time-to-hire

GET/wp-json/recruiting/v1/reports/time-to-hire

Query parameters

ParameterTypeDescription
date_fromdateStart date (ISO 8601)
date_todateEnd date (ISO 8601)
job_idintFilter by job (optional)

Response

{
  "overall": {
    "average_days": 23,
    "median_days": 19,
    "min_days": 5,
    "max_days": 67
  },
  "by_stage": {
    "new_to_screening": 2.3,
    "screening_to_interview": 5.1,
    "interview_to_offer": 8.7,
    "offer_to_hire": 6.9
  },
  "by_job": [
    {
      "job_id": 123,
      "job_title": "Pflegefachkraft (m/w/d)",
      "average_days": 18,
      "hires": 3
    }
  ],
  "trend": [
    { "month": "2024-11", "average_days": 28 },
    { "month": "2024-12", "average_days": 25 },
    { "month": "2025-01", "average_days": 23 }
  ]
}

Response fields

FieldDescription
overallAggregate statistics across all jobs
overall.average_daysMean time from application to hire
overall.median_daysMedian time (less sensitive to outliers)
by_stageAverage days spent in each pipeline stage
by_jobPer-job breakdown with hire counts
trendMonthly averages for trend analysis

The trend array returns the last 12 months by default, or the months within the specified date range.