Acknowledge project-health alert

Records a confirmed acknowledgement for one advisory Project Health alert and emits project_health.alert_acknowledged. This does not mutate project schedules, milestones, staffing plans, or financial records.

POST/api/v1/projects/:id/health/alerts/:alertKey/acknowledge

Authorization

project-health:writeapi key scoperequired
Required scope when calling with an API key.
project:delivery_readsession capabilityoptional
Required capability when calling with a signed-in session.

Path parameters

idstringrequired
Project ID

Example: proj_abc123

alertKeystringrequired
Stable alert key from the health snapshot.

Example: delivery_risk:blocked_items

Request body

notestringoptional
Optional operator note. The webhook payload does not include note content.
idempotency_keystringrequired
Stable idempotency key for this acknowledgement command.
confirmbooleanrequired
Must be true.
Example request
{
  "note": "Reviewed with the delivery lead.",
  "idempotency_key": "ack-project-health-alert-20260715-001",
  "confirm": true
}

Request

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}'

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

Response

200 OK
{
  "data": {
    "ok": true,
    "acknowledgement": {
      "id": "ack_01k2...",
      "project_id": "proj_abc123",
      "alert_key": "delivery_risk:blocked_items",
      "status": "acknowledged",
      "note": "Reviewed with the delivery lead.",
      "acknowledged_by": "user_123",
      "acknowledged_at": "2026-07-15T21:35:00Z"
    },
    "event_type": "project_health.alert_acknowledged",
    "idempotency_replayed": false,
    "errors": []
  }
}

Errors

401
missing_auth

No credentials provided

401
invalid_api_key

API key is invalid or revoked

400
bad_request

Missing or invalid request fields

403
scope_insufficient

Key lacks the required write scope

400
confirmation_required

confirm must be true

403
scope_insufficient

Key lacks project-health:write scope

404
not_found

Project not found or not in your workspace