Reports API
Access the same powerful reports available in the Vantage dashboard via API. Generate utilization reports, profitability analysis, revenue summaries, and more.
Available Reports
| Report | Endpoint | Description |
|---|---|---|
| Dashboard | /v1/reports/dashboard | Key metrics overview |
| Utilization | /v1/reports/utilization | Team utilization rates |
| Profitability | /v1/reports/profitability | Project and client profitability |
| Revenue | /v1/reports/revenue | Revenue by period, client, project |
| Time | /v1/reports/time | Detailed time analysis |
| Aging | /v1/reports/aging | Accounts receivable aging |
| Forecast | /v1/reports/forecast | Revenue and capacity forecasts |
Dashboard Report
GET
/v1/reports/dashboardKey metrics overviewReturns the same data shown on the Vantage dashboard.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
period | string | this_month | Time period (see below) |
compare_to | string | Comparison period |
Periods
today,yesterdaythis_week,last_weekthis_month,last_monththis_quarter,last_quarterthis_year,last_yearcustom(requiresfromandto)
Request
curl "https://api.govantage.co/v1/reports/dashboard?period=this_month&compare_to=last_month" \
-H "Authorization: Bearer vnt_sk_live_xxxxx"Response
{
"data": {
"period": {
"from": "2026-01-01",
"to": "2026-01-31",
"label": "January 2026"
},
"revenue": {
"invoiced": 125000.00,
"collected": 98000.00,
"outstanding": 45000.00,
"change_percent": 12.5
},
"time": {
"total_hours": 1250.5,
"billable_hours": 1025.0,
"utilization_percent": 82,
"change_percent": 5.2
},
"projects": {
"active": 24,
"completed": 3,
"at_risk": 2
},
"clients": {
"active": 45,
"new": 3,
"churned": 0
},
"comparison": {
"revenue_change": 12.5,
"time_change": 5.2,
"utilization_change": 3.1
}
}
}Utilization Report
GET
/v1/reports/utilizationTeam utilization analysisQuery Parameters
| Parameter | Type | Description |
|---|---|---|
period | string | Time period |
from | date | Custom start date |
to | date | Custom end date |
user_ids | string | Filter to specific users |
department | string | Filter by department |
group_by | string | user, department, week |
Request
curl "https://api.govantage.co/v1/reports/utilization?period=this_month&group_by=user" \
-H "Authorization: Bearer vnt_sk_live_xxxxx"Response
{
"data": {
"period": {
"from": "2026-01-01",
"to": "2026-01-31"
},
"summary": {
"target_utilization": 75,
"actual_utilization": 78,
"total_capacity_hours": 1600,
"total_billable_hours": 1248,
"total_non_billable_hours": 352
},
"by_user": [
{
"user_id": "usr_xxxxx",
"user_name": "John Smith",
"capacity_hours": 160,
"billable_hours": 142,
"non_billable_hours": 18,
"utilization_percent": 89,
"target": 75,
"status": "exceeding"
},
{
"user_id": "usr_yyyyy",
"user_name": "Jane Doe",
"capacity_hours": 160,
"billable_hours": 98,
"non_billable_hours": 42,
"utilization_percent": 61,
"target": 75,
"status": "below"
}
]
}
}Profitability Report
GET
/v1/reports/profitabilityProject and client profitabilityQuery Parameters
| Parameter | Type | Description |
|---|---|---|
period | string | Time period |
view | string | projects, clients, both |
client_id | string | Filter to specific client |
min_revenue | decimal | Minimum revenue threshold |
Request
curl "https://api.govantage.co/v1/reports/profitability?period=this_quarter&view=projects" \
-H "Authorization: Bearer vnt_sk_live_xxxxx"Response
{
"data": {
"period": {
"from": "2026-01-01",
"to": "2026-03-31"
},
"summary": {
"total_revenue": 450000.00,
"total_cost": 285000.00,
"gross_profit": 165000.00,
"gross_margin_percent": 36.7,
"average_hourly_revenue": 156.25,
"average_hourly_cost": 98.96
},
"by_project": [
{
"project_id": "prj_xxxxx",
"project_title": "Website Redesign",
"client_name": "Acme Corp",
"revenue": 45000.00,
"cost": 27000.00,
"profit": 18000.00,
"margin_percent": 40.0,
"hours": 300,
"effective_rate": 150.00
},
{
"project_id": "prj_yyyyy",
"project_title": "Mobile App",
"client_name": "Beta Inc",
"revenue": 85000.00,
"cost": 62000.00,
"profit": 23000.00,
"margin_percent": 27.1,
"hours": 620,
"effective_rate": 137.10
}
]
}
}Revenue Report
GET
/v1/reports/revenueRevenue analysisQuery Parameters
| Parameter | Type | Description |
|---|---|---|
period | string | Time period |
group_by | string | month, quarter, client, project, service_type |
include_forecast | boolean | Include future projections |
Request
curl "https://api.govantage.co/v1/reports/revenue?period=this_year&group_by=month" \
-H "Authorization: Bearer vnt_sk_live_xxxxx"Response
{
"data": {
"period": {
"from": "2026-01-01",
"to": "2026-12-31"
},
"summary": {
"total_revenue": 125000.00,
"mrr": 45000.00,
"arr": 540000.00,
"growth_rate": 15.2
},
"by_month": [
{ "month": "2026-01", "invoiced": 125000.00, "collected": 118000.00 },
{ "month": "2026-02", "invoiced": null, "collected": null, "forecast": 130000.00 }
],
"by_type": {
"time_and_materials": 75000.00,
"fixed_fee": 25000.00,
"retainer": 25000.00
}
}
}Time Report
GET
/v1/reports/timeDetailed time analysisQuery Parameters
| Parameter | Type | Description |
|---|---|---|
period | string | Time period |
group_by | string | user, client, project, ticket, day, week |
user_ids | string | Filter to specific users |
client_id | string | Filter to specific client |
billable_only | boolean | Only billable time |
Request
curl "https://api.govantage.co/v1/reports/time?period=this_month&group_by=client" \
-H "Authorization: Bearer vnt_sk_live_xxxxx"Response
{
"data": {
"summary": {
"total_hours": 1250.5,
"billable_hours": 1025.0,
"non_billable_hours": 225.5,
"billable_value": 153750.00
},
"by_client": [
{
"client_id": "cli_xxxxx",
"client_name": "Acme Corporation",
"hours": 245.5,
"billable_hours": 230.0,
"value": 34500.00,
"projects": 3
}
]
}
}Aging Report
GET
/v1/reports/agingAccounts receivable agingRequest
curl "https://api.govantage.co/v1/reports/aging" \
-H "Authorization: Bearer vnt_sk_live_xxxxx"Response
{
"data": {
"as_of": "2026-01-25",
"total_outstanding": 85000.00,
"buckets": {
"current": 25000.00,
"1_30_days": 35000.00,
"31_60_days": 15000.00,
"61_90_days": 5000.00,
"over_90_days": 5000.00
},
"by_client": [
{
"client_id": "cli_xxxxx",
"client_name": "Acme Corporation",
"total": 15000.00,
"current": 10000.00,
"1_30_days": 5000.00,
"oldest_invoice_date": "2025-12-15"
}
],
"trends": {
"dso": 32,
"dso_change": -3,
"collection_rate": 94.5
}
}
}Forecast Report
GET
/v1/reports/forecastRevenue and capacity forecastsRequest
curl "https://api.govantage.co/v1/reports/forecast?months=6" \
-H "Authorization: Bearer vnt_sk_live_xxxxx"Response
{
"data": {
"generated_at": "2026-01-25T10:00:00Z",
"revenue_forecast": [
{ "month": "2026-02", "projected": 135000.00, "confidence": 0.92 },
{ "month": "2026-03", "projected": 142000.00, "confidence": 0.85 },
{ "month": "2026-04", "projected": 138000.00, "confidence": 0.78 }
],
"capacity_forecast": [
{
"month": "2026-02",
"available_hours": 1600,
"committed_hours": 1200,
"utilization_forecast": 75
}
],
"pipeline": {
"proposals_pending": 125000.00,
"weighted_value": 62500.00
}
}
}Export Reports
Export to CSV
Add format=csv to any report endpoint:
curl "https://api.govantage.co/v1/reports/time?period=this_month&format=csv" \
-H "Authorization: Bearer vnt_sk_live_xxxxx" \
-o time-report.csvExport to PDF
Add format=pdf for a formatted PDF report:
curl "https://api.govantage.co/v1/reports/profitability?period=this_quarter&format=pdf" \
-H "Authorization: Bearer vnt_sk_live_xxxxx" \
-o profitability-report.pdfScheduled Reports
Create Scheduled Report
POST
/v1/reports/scheduledSchedule automated reportscurl -X POST "https://api.govantage.co/v1/reports/scheduled" \
-H "Authorization: Bearer vnt_sk_live_xxxxx" \
-H "Content-Type: application/json" \
-d '{
"report_type": "utilization",
"schedule": "weekly",
"day_of_week": 1,
"recipients": ["manager@company.com"],
"parameters": {
"group_by": "user"
}
}'List Scheduled Reports
GET
/v1/reports/scheduledList scheduled reportsDelete Scheduled Report
DELETE
/v1/reports/scheduled/:idDelete scheduled reportNext Steps
- Time Entries API - Raw time data
- Invoices API - Invoice data for revenue
- Best Practices - Efficient API usage