API Reference
Reports API
API reference for time, utilization, and budget reports via the Dime.Sheets public API.
Reports API
The Reports public API provides three report endpoints for time tracking analytics.
Time report
GET /api/v1/reportsReturns an aggregated time report with project breakdowns and status summaries.
Query parameters
| Parameter | Type | Description |
|---|---|---|
startDate | string (ISO 8601) | Filter from this date |
endDate | string (ISO 8601) | Filter until this date |
projectId | int? | Filter by project |
taskId | int? | Filter by task |
Example request
curl "https://app.dimesheets.com/api/v1/reports?startDate=2026-04-01&endDate=2026-04-30" \
-H "X-API-KEY: {your-api-key}"Example response
{
"totalHours": 160.5,
"billableHours": 132.0,
"overtimeHours": 8.5,
"projects": [
{
"projectId": 3,
"projectName": "Website Redesign",
"hours": 80.0,
"billableHours": 72.0
}
],
"timeEntries": [],
"hoursByStatus": [
{ "status": "Approved", "hours": 120.0, "billableHours": 100.0, "entryCount": 45 },
{ "status": "Draft", "hours": 40.5, "billableHours": 32.0, "entryCount": 15 }
]
}ReportData model
| Field | Type | Description |
|---|---|---|
totalHours | number | Total hours in the range |
billableHours | number | Total billable hours |
overtimeHours | number | Total overtime hours |
projects | ProjectBreakdown[] | Per-project breakdown |
timeEntries | TimeEntry[] | Matching time entries |
hoursByStatus | StatusBreakdown[] | Hours grouped by status |
Utilization report
GET /api/v1/reports/utilizationReturns per-user utilization metrics for the given date range.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
startDate | string (ISO 8601) | Yes | Start of the range |
endDate | string (ISO 8601) | Yes | End of the range |
Example response
[
{
"userId": 5,
"userName": "Jane Smith",
"actualHours": 152.0,
"capacity": 168.0,
"utilizationPercent": 90.48
}
]UtilizationReportItem model
| Field | Type | Description |
|---|---|---|
userId | int | User ID |
userName | string | User display name |
actualHours | number | Hours logged in the range |
capacity | number | Available capacity based on work schedule |
utilizationPercent | number | actualHours / capacity * 100 |
Budget report
GET /api/v1/reports/budgetReturns budget consumption for all projects that have a budget configured.
Example response
[
{
"projectId": 3,
"projectName": "Website Redesign",
"budget": 50000.0,
"hourBudget": 500.0,
"actualCost": 22500.0,
"actualHours": 180.0,
"budgetConsumedPercent": 45.0,
"hourBudgetConsumedPercent": 36.0
}
]BudgetConsumptionReportItem model
| Field | Type | Description |
|---|---|---|
projectId | int | Project ID |
projectName | string | Project name |
budget | number? | Financial budget |
hourBudget | number? | Hour budget |
actualCost | number | Actual cost consumed |
actualHours | number | Actual hours logged |
budgetConsumedPercent | number | Percentage of financial budget consumed |
hourBudgetConsumedPercent | number | Percentage of hour budget consumed |