Skip to main content
Skip to Content

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

ReportEndpointDescription
Dashboard/v1/reports/dashboardKey metrics overview
Utilization/v1/reports/utilizationTeam utilization rates
Profitability/v1/reports/profitabilityProject and client profitability
Revenue/v1/reports/revenueRevenue by period, client, project
Time/v1/reports/timeDetailed time analysis
Aging/v1/reports/agingAccounts receivable aging
Forecast/v1/reports/forecastRevenue and capacity forecasts

Dashboard Report

GET/v1/reports/dashboardKey metrics overview

Returns the same data shown on the Vantage dashboard.

Query Parameters

ParameterTypeDefaultDescription
periodstringthis_monthTime period (see below)
compare_tostringComparison period

Periods

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 analysis

Query Parameters

ParameterTypeDescription
periodstringTime period
fromdateCustom start date
todateCustom end date
user_idsstringFilter to specific users
departmentstringFilter by department
group_bystringuser, 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 profitability

Query Parameters

ParameterTypeDescription
periodstringTime period
viewstringprojects, clients, both
client_idstringFilter to specific client
min_revenuedecimalMinimum 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 analysis

Query Parameters

ParameterTypeDescription
periodstringTime period
group_bystringmonth, quarter, client, project, service_type
include_forecastbooleanInclude 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 analysis

Query Parameters

ParameterTypeDescription
periodstringTime period
group_bystringuser, client, project, ticket, day, week
user_idsstringFilter to specific users
client_idstringFilter to specific client
billable_onlybooleanOnly 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 aging

Request

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 forecasts

Request

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.csv

Export 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.pdf

Scheduled Reports

Create Scheduled Report

POST/v1/reports/scheduledSchedule automated reports
curl -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 reports

Delete Scheduled Report

DELETE/v1/reports/scheduled/:idDelete scheduled report

Next Steps