> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ruddr.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a project health report

A scorecard for a project's health with respect to the budget, schedule, client satisfaction, and team satisfaction.


## OpenAPI

````yaml openapi.json GET /project-health-reports/{id}
openapi: 3.1.0
info:
  title: Ruddr API
  version: '1.0'
  license:
    name: Proprietary
    url: https://www.ruddr.com/master-subscription-agreement
servers:
  - url: https://www.ruddr.io/api/workspace
security:
  - bearerAuth: []
tags:
  - name: Allocations
    description: Manage resource allocations for scheduling team members to projects.
  - name: Availability Periods
    description: Manage member availability periods for capacity planning.
  - name: Business Units
    description: >-
      Manage business units for organizing invoice settings and grouping clients
      and projects.
  - name: Client Roles
    description: Manage client roles and their billing terms.
  - name: Client Tags
    description: Manage tags for categorizing clients.
  - name: Clients
    description: Manage clients and their billing settings.
  - name: Companies
    description: Manage companies in the CRM pipeline.
  - name: Company Spend Tiers
    description: Manage spend tier classifications for companies.
  - name: Company Types
    description: Manage type classifications for companies.
  - name: Contact Tags
    description: Manage tags for categorizing contacts.
  - name: Contacts
    description: Manage contacts associated with clients, companies, and opportunities.
  - name: Cost Periods
    description: Manage member cost rate periods for profitability tracking.
  - name: Credit Notes
    description: View credit notes issued against invoices.
  - name: Disciplines
    description: Manage disciplines for classifying member skill areas.
  - name: Exchange Rate
    description: Get exchange rates for multi-currency workspaces.
  - name: Exchange Rate Periods
    description: Manage custom exchange rate periods for currency conversion.
  - name: Expense Categories
    description: Manage expense categories for tracking and reporting.
  - name: Expense Items
    description: Manage individual expense line items.
  - name: Expense Reports
    description: Manage expense reports submitted by members.
  - name: Holiday Schedules
    description: Manage holiday schedules for capacity and availability planning.
  - name: Holidays
    description: Manage individual holidays within holiday schedules.
  - name: Industries
    description: Manage industry classifications for clients and companies.
  - name: Invoice Items
    description: Manage invoice line item types for billing.
  - name: Invoices
    description: View invoices and their line items.
  - name: Job Titles
    description: Manage job title classifications for members.
  - name: Locations
    description: Manage office locations for members and projects.
  - name: Member Certifications
    description: Manage certification types that can be assigned to members.
  - name: Member Levels
    description: Manage member level classifications for career tracking.
  - name: Member Tags
    description: Manage tags for categorizing members.
  - name: Members
    description: Manage workspace members and their profiles.
  - name: Opportunities
    description: Manage sales opportunities in the CRM pipeline.
  - name: Opportunity Pipelines
    description: Manage pipelines for tracking opportunity stages.
  - name: Opportunity Lead Sources
    description: Manage lead source classifications for opportunities.
  - name: Opportunity Stages
    description: Manage pipeline stage definitions for opportunities.
  - name: Opportunity Tags
    description: Manage tags for categorizing opportunities.
  - name: Opportunity Types
    description: Manage type classifications for opportunities.
  - name: Payment Methods
    description: Manage payment method options for invoices.
  - name: Payments
    description: View payments received against invoices.
  - name: Pipeline Activities
    description: >-
      Manage pipeline activities associated with companies, contacts, members,
      and opportunities.
  - name: Pipeline Activity Types
    description: Manage activity type classifications for pipeline activities.
  - name: Practices
    description: Manage practice area classifications for organizing projects and members.
  - name: Project Budget Expenses
    description: Manage expense budget line items on projects.
  - name: Project Budget Other Items
    description: Manage other budget line items on projects.
  - name: Project Budget Product Items
    description: Manage product budget line items on projects.
  - name: Project Budget Service Items
    description: Manage additional service budget line items on projects.
  - name: Project Expenses
    description: Manage project-level expense line items.
  - name: Project Groups
    description: View project groups for organizing related projects.
  - name: Project Health Reports
    description: Manage project health status reports.
  - name: Project Invoice Milestones
    description: Manage invoice milestones for fixed-fee project billing.
  - name: Project Members
    description: Manage team member assignments on projects.
  - name: Project Monthly Budget Expenses
    description: Manage monthly expense budget line items on projects.
  - name: Project Monthly Budget Other Items
    description: Manage monthly other budget line items on projects.
  - name: Project Monthly Budget Product Items
    description: Manage monthly product budget line items on projects.
  - name: Project Monthly Budget Service Items
    description: Manage monthly additional service budget line items on projects.
  - name: Project Other Items
    description: Manage project-level other item line items.
  - name: Project Product Items
    description: Manage project-level product line items.
  - name: Project Revenue Adjustments
    description: Manage earned revenue adjustments for projects.
  - name: Project Revenue Recognition Entries
    description: Manage revenue recognition entries for projects.
  - name: Project Roles
    description: Manage roles defined on projects for billing and staffing.
  - name: Project Service Items
    description: Manage project-level additional service line items.
  - name: Project Tags
    description: Manage tags for categorizing projects.
  - name: Project Tasks
    description: Manage tasks on projects for time tracking and planning.
  - name: Project Types
    description: Manage type classifications for projects.
  - name: Projects
    description: Manage projects and their settings.
  - name: Resource Placeholders
    description: Manage placeholder resources for allocation planning.
  - name: Security Roles
    description: View security roles for assigning member permissions.
  - name: Skills
    description: Manage skill classifications for members and resource planning.
  - name: Task Categories
    description: Manage task category classifications for project tasks.
  - name: Task Tags
    description: Manage tags for categorizing project tasks.
  - name: Task Templates
    description: Manage reusable task templates for projects.
  - name: Tax Rates
    description: Manage tax rates for invoicing.
  - name: Time Entries
    description: Manage time entries for tracking hours on projects.
  - name: Time Off Types
    description: Manage time off type classifications.
  - name: Timesheet Attestations
    description: Manage attestation statements members sign when submitting timesheets.
  - name: Timesheets
    description: Manage timesheet submissions for tracking hours across a period.
  - name: Utilization Target Periods
    description: Manage member utilization target periods for capacity planning.
  - name: Workspace Roles
    description: Manage workspace-level roles for billing rate configuration.
paths:
  /project-health-reports/{id}:
    get:
      tags:
        - Project Health Reports
      summary: Get a project health report
      operationId: get-a-project-health-report
      parameters:
        - name: id
          in: path
          description: The project health report `uuid`
          schema:
            type: string
          required: true
      responses:
        '200':
          description: '200'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectHealthReport'
              examples:
                Result:
                  value:
                    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
        '400':
          description: '400'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                InvalidId:
                  value:
                    status: 400
                    message: Parameter 'id' is not a valid UUID.
        '403':
          description: '403'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                Feature:
                  value:
                    status: 403
                    message: Feature 'Project Health' is not enabled.
        '404':
          description: '404'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                NotFound:
                  value:
                    status: 404
                    message: >-
                      Object with id 'b7e4d1a9-3c8f-4a2b-9e1d-5f6c7a8b9d0e' not
                      found.
      deprecated: false
components:
  schemas:
    ProjectHealthReport:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for the object.
        date:
          type: string
          format: date
          description: The date of the health report. Will be in the form YYYY-MM-DD.
        createdAt:
          type: string
          format: date-time
          description: The timestamp when the object was created.
        useBudget:
          type: boolean
          description: Whether budget metrics are included in this report.
        budgetHealthId:
          type: string
          description: The budget health status of the project.
          enum:
            - excellent
            - fair
            - poor
        budgetHealthNotes:
          type:
            - string
            - 'null'
          description: Notes providing details about the budget health.
        clientSatisfactionId:
          type: string
          description: The client satisfaction level of the project.
          enum:
            - excellent
            - fair
            - poor
        clientSatisfactionNotes:
          type:
            - string
            - 'null'
          description: Notes providing details about client satisfaction.
        scheduleHealthId:
          type: string
          description: The schedule health status of the project.
          enum:
            - excellent
            - fair
            - poor
        scheduleHealthNotes:
          type:
            - string
            - 'null'
          description: Notes providing details about the schedule health.
        teamSatisfactionId:
          type: string
          description: The team satisfaction level for the project.
          enum:
            - excellent
            - fair
            - poor
        teamSatisfactionNotes:
          type:
            - string
            - 'null'
          description: Notes providing details about the team's satisfaction.
        score:
          type: number
          description: The overall score for the health report.
        billableHours:
          type: number
          description: The actual billable hours logged against the project in this period.
        budgetBillableHours:
          type: number
          description: The budgeted billable hours for the project.
        budgetExpensesCost:
          type: number
          description: The budgeted cost of expenses for the project.
        budgetExpensesRevenue:
          type: number
          description: The budgeted revenue from expenses for the project.
        budgetInternalHours:
          type:
            - number
            - 'null'
          description: The budgeted internal (non-client-facing) hours for the project.
        budgetNonBillableHours:
          type: number
          description: The budgeted non-billable hours for the project.
        budgetServicesCost:
          type: number
          description: The budgeted cost of services for the project.
        budgetServicesGrossMargin:
          type: number
          description: >-
            The budgeted gross margin for services, expressed as a decimal
            (e.g., 0.35 = 35%).
        budgetServicesGrossProfit:
          type: number
          description: The budgeted gross profit from services for the project.
        budgetServicesRevenue:
          type: number
          description: The budgeted services revenue for the project.
        budgetTotalCost:
          type: number
          description: The total budgeted cost for the project (services + expenses).
        budgetTotalGrossMargin:
          type: number
          description: >-
            The total budgeted gross margin for the project, expressed as a
            decimal (e.g., 0.35 = 35%).
        budgetTotalGrossProfit:
          type: number
          description: The total budgeted gross profit for the project.
        budgetTotalHours:
          type: number
          description: >-
            The total budgeted hours for the project (billable + non-billable +
            internal).
        budgetTotalRevenue:
          type: number
          description: The total budgeted revenue for the project (services + expenses).
        expensesCost:
          type: number
          description: >-
            The actual cost of expenses logged against the project in this
            period.
        expensesRevenue:
          type: number
          description: >-
            The actual revenue from expenses logged against the project in this
            period.
        internalHours:
          type:
            - number
            - 'null'
          description: The actual internal hours logged against the project in this period.
        nonBillableHours:
          type: number
          description: >-
            The actual non-billable hours logged against the project in this
            period.
        servicesCost:
          type: number
          description: >-
            The actual cost of services logged against the project in this
            period.
        servicesGrossMargin:
          type: number
          description: >-
            The actual gross margin for services, expressed as a decimal (e.g.,
            0.4838 = 48.38%).
        servicesGrossProfit:
          type: number
          description: >-
            The actual gross profit from services for the project in this
            period.
        servicesRevenue:
          type: number
          description: The actual services revenue for the project in this period.
        totalCost:
          type: number
          description: >-
            The actual total cost for the project in this period (services +
            expenses).
        totalGrossMargin:
          type: number
          description: >-
            The actual total gross margin for the project, expressed as a
            decimal (e.g., 0.4815 = 48.15%).
        totalGrossProfit:
          type: number
          description: The actual total gross profit for the project in this period.
        totalHours:
          type: number
          description: The actual total hours logged against the project in this period.
        totalRevenue:
          type: number
          description: >-
            The actual total revenue for the project in this period (services +
            expenses).
        notes:
          type:
            - string
            - 'null'
          description: General commentary for the health report.
        createdBy:
          type: object
          description: The member who created the record.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the member.
        modifiedBy:
          type: object
          description: The member who last modified the record.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the member.
        project:
          type: object
          description: The project this health report belongs to.
          properties:
            id:
              type: string
              description: The unique identifier for the object.
            name:
              type: string
              description: The name of the project.
            client:
              type: object
              description: The client associated with the project.
              properties:
                id:
                  type: string
                  description: The unique identifier for the object.
                name:
                  type: string
                  description: The name of the client.
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code.
        message:
          type: string
          description: A human-readable error message.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````