Capabilities

Project Health

A one-call view of delivery status, alerts, phase/milestone progress, and directional financial and staffing signals for a project.

Interfaces

RESTAvailable

Project health snapshot, alert acknowledgement, delivery summary, financial health, staffing status, and burn projection are all live REST endpoints.

MCPAvailable

MCP can read the project-health snapshot and record confirmed alert acknowledgements through the public API.

GraphQLAvailable

GraphQL exposes projectHealth plus a confirmed acknowledgeProjectHealthAlert mutation over the same services used by REST.

WebhooksAvailable

Project Health emits a durable alert acknowledgement event when a confirmed acknowledgement command runs.

Required scopes

projects:readAPI key scoperequired
Read project and engagement identity, lifecycle state, membership, and settings without financial details.
project-health:writeAPI key scoperequired
Acknowledge advisory Project Health alerts through confirmed, idempotent commands.
financials:readAPI key scoperequired
Read project financial health: budget, margin, burn rate, and forecasts. Equivalent to the revops:view_margin session permission.
staffing:readAPI key scoperequired
Read project staffing status: role coverage, discipline gaps, open requests, and delivery risk signals. Equivalent to the revops:view_capacity session permission.
agent:readAPI key scoperequired
Read agent-optimized project delivery, sprint, and risk read models via the Agent API (/api/agent/v1). Directional signals only — no rates, invoice data, or personal metadata.

Examples

Project health view in REST API reference

curl -X GET "https://www.digitalstack360.com/api/v1/projects/proj_abc123/health" \
  -H "Authorization: Bearer $DS_API_KEY"

Acknowledge project-health alert view in REST API reference

curl -X POST "https://www.digitalstack360.com/api/v1/projects/proj_abc123/health/alerts/delivery_risk{blocked_items}/acknowledge" \
  -H "Authorization: Bearer $DS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"note":"Reviewed with the delivery lead.","idempotency_key":"ack-project-health-alert-20260715-001","confirm":true}'

Project delivery summary view in REST API reference

curl -X GET "https://www.digitalstack360.com/api/v1/projects/proj_abc123/delivery-summary" \
  -H "Authorization: Bearer $DS_API_KEY"

Project financial health view in REST API reference

curl -X GET "https://www.digitalstack360.com/api/v1/projects/proj_abc123/financial-health" \
  -H "Authorization: Bearer $DS_API_KEY"

Project staffing status view in REST API reference

curl -X GET "https://www.digitalstack360.com/api/v1/projects/proj_abc123/staffing-status" \
  -H "Authorization: Bearer $DS_API_KEY"

Project burn projection view in REST API reference

curl -X GET "https://www.digitalstack360.com/api/v1/projects/proj_abc123/burn-projection" \
  -H "Authorization: Bearer $DS_API_KEY"
Give me the delivery health and current alerts for project {project_id}.
Acknowledge Project Health alert delivery_risk:blocked_items for project {project_id}.

GraphQL examples

Read project healthAvailableprojects:read

Read the advisory project-health snapshot. Financial/staffing sections are null unless the credential can see those signals.

query ProjectHealth($projectId: ID!) {
  projectHealth(projectId: $projectId) {
    project { id name deliveryStatus deliveryRisk }
    progress
    execution
    alerts { source type severity message }
    phases { id name status startDate endDate }
    workstreams { id name status completionPercent blockedItems highRiskItems }
    financial { health healthScore burnPct budgetRemainingPct timelineRisk staffingRisk scopeRisk }
    staffing { status risk coveragePercent openRequestsCount daysUntilEarliestGap }
  }
}
Acknowledge project-health alertAvailableproject-health:write

Record a confirmed acknowledgement and emit project_health.alert_acknowledged.

mutation AcknowledgeProjectHealthAlert($input: AcknowledgeProjectHealthAlertInput!) {
  acknowledgeProjectHealthAlert(input: $input) {
    ok
    eventType
    acknowledgement { id projectId alertKey status acknowledgedAt }
    errors { code message path }
  }
}

Webhook emits

project_health.alert_acknowledgedAvailable

A Project Health alert was acknowledged through a confirmed command.

Resource: project_health

project_idalert_keyacknowledgement_idstatusacknowledged_at

All webhook events use the shared v1 envelope, signed delivery, and minimal payload rule. Fetch by resource id for expanded data.

System boundaries

Systems commonly integrated with this capability. Each row states the boundary and its native status; it does not transfer canonical authority to the connected system.

DigitalStack owns

  • Delivery status, alerts, and phase/milestone progress
  • Directional financial health signals (budget, margin, burn)
  • Staffing coverage and discipline-gap detection

Source systems own

  • Time tracking and timesheets
  • General ledger, invoicing, and revenue recognition
  • HRIS employee and role records

Typical integration patterns

NetSuite
ERP source for cost and financial master dataNo native DigitalStack connector currently exists for this system.
Workday
HRIS source for staffing and role dataNo native DigitalStack connector currently exists for this system.

Related guides