Project staffing status

Returns aggregated staffing coverage for a project: planned vs. allocated hours by discipline, open role gaps, timeline signals, and delivery risk. Not a raw staffing CRUD endpoint — designed for dashboards, BI tools, and capacity alerts.

GET/api/v1/projects/:id/staffing-status

Authorization

staffing:readapi key scoperequired
Required scope when calling with an API key.
project:staffing_readsession capabilityoptional
Required capability when calling with a signed-in session.

Path parameters

idstringrequired
Project ID

Example: proj_abc123

Request

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

Examples use a placeholder key from your environment. Store your key in $DS_API_KEY — never commit it.

Response

200 OK
{
  "data": {
    "project_id": "proj_abc123",
    "project_name": "Website Replatform",
    "staffing_status": "watch",
    "staffing_risk": "medium",
    "coverage": {
      "planned_hours": 1200,
      "allocated_hours": 1020,
      "coverage_percent": 85,
      "open_role_line_count": 4
    },
    "by_discipline": [
      {
        "discipline": "engineering",
        "planned_hours": 600,
        "allocated_hours": 480,
        "gap_hours": 120,
        "coverage_percent": 80,
        "risk": "medium"
      }
    ],
    "open_requests": {
      "count": 2,
      "open_role_line_count": 4,
      "total_gap_hours": 180,
      "pending_count": 1,
      "by_discipline": [
        {
          "discipline": "engineering",
          "role_line_count": 2,
          "gap_hours": 120
        }
      ]
    },
    "timeline": {
      "earliest_unfilled_start": "2026-06-18",
      "days_until_earliest_gap": 21
    },
    "alerts": [
      {
        "type": "role_gap",
        "severity": "warning",
        "message": "Engineering allocation is 120 hours short of plan (80% covered)."
      }
    ],
    "updated_at": "2026-05-13T09:00:00.000Z"
  }
}

Errors

401
missing_auth

No credentials provided

401
invalid_api_key

API key is invalid or revoked

403
scope_insufficient

Key lacks staffing:read scope

404
not_found

Project not found or not in your workspace