Skip to main content
GET
/
project-health-reports
List project health reports
curl --request GET \
  --url https://www.ruddr.io/api/workspace/project-health-reports \
  --header 'Authorization: Bearer <token>'
{
  "results": [
    {
      "id": "a3f8c1d2-7b4e-4f9a-bc12-8e5d3a2f1c90",
      "date": "2026-02-17",
      "createdAt": "2026-02-17T15:20:21.386Z",
      "useBudget": true,
      "budgetHealthId": "excellent",
      "budgetHealthNotes": "Budget is tracking well against plan.",
      "clientSatisfactionId": "excellent",
      "clientSatisfactionNotes": "Client confirmed satisfaction in last steering committee.",
      "scheduleHealthId": "fair",
      "scheduleHealthNotes": "Two milestones slipped by one week.",
      "teamSatisfactionId": "excellent",
      "teamSatisfactionNotes": "Team morale is high after successful sprint.",
      "score": 10,
      "billableHours": 758,
      "budgetBillableHours": 760,
      "budgetExpensesCost": 0,
      "budgetExpensesRevenue": 0,
      "budgetInternalHours": 50,
      "budgetNonBillableHours": 50,
      "budgetServicesCost": 130000,
      "budgetServicesGrossMargin": 0.35,
      "budgetServicesGrossProfit": 70000,
      "budgetServicesRevenue": 200000,
      "budgetTotalCost": 130000,
      "budgetTotalGrossMargin": 0.35,
      "budgetTotalGrossProfit": 70000,
      "budgetTotalHours": 810,
      "budgetTotalRevenue": 200000,
      "expensesCost": 950,
      "expensesRevenue": 950,
      "internalHours": 42,
      "nonBillableHours": 40.5,
      "servicesCost": 102560,
      "servicesGrossMargin": 0.4838,
      "servicesGrossProfit": 96112.8,
      "servicesRevenue": 198672.8,
      "totalCost": 103510,
      "totalGrossMargin": 0.4815,
      "totalGrossProfit": 96112.8,
      "totalHours": 798.5,
      "totalRevenue": 199622.8,
      "notes": "Overall the project is on track with minor schedule concerns.",
      "createdBy": {
        "id": "51a1b20a-8661-4809-be68-ebaa413f7951",
        "name": "Landon Toney"
      },
      "modifiedBy": {
        "id": "51a1b20a-8661-4809-be68-ebaa413f7951",
        "name": "Landon Toney"
      },
      "project": {
        "id": "9f40edff-4975-4d45-9867-aee92921cbc5",
        "name": "HealthPlus - Enterprise Technology Modernization",
        "client": {
          "id": "ab6f38e8-28b2-4c43-8aa6-a04da88d14ca",
          "name": "HealthPlus"
        }
      }
    }
  ],
  "hasMore": true
}
A scorecard for a project’s health with respect to the budget, schedule, client satisfaction, and team satisfaction.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

startingAfter
string

A cursor ID (uuid) used to request the next page of results. If not provided, defaults to the first page of results.

endingBefore
string

A cursor ID (uuid) used to request the previous page of results. Is mutually exclusive with startingAfter.

limit
string

The maximum number of results to be returned. Can be any number from 1 to 100. Defaults to 10, if not provided.

projectId
string

A project ID (uuid) used to filter objects for a specific project.

Response

200

results
object[]
hasMore
boolean

Whether there are more results available after this page.