Update project status

Runs one explicit project lifecycle status command. Status changes do not implicitly reschedule delivery work.

POST/api/v1/projects/:id/status

Authorization

projects:writeapi key scoperequired
Required scope when calling with an API key.

Path parameters

idstringrequired
Project ID

Example: proj_abc123

Request body

statusstringrequired
draft, active, or archived
confirmbooleanrequired
Must be true
Example request
{
  "status": "active",
  "confirm": true
}

Request

curl -X POST "https://www.digitalstack360.com/api/v1/projects/proj_abc123/status" \
  -H "Authorization: Bearer $DS_API_KEY" \
  -H "Idempotency-Key: project-status-acme-v1" \
  -H "Content-Type: application/json" \
  -d '{"status":"active","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,
    "project": {
      "id": "proj_abc123",
      "status": "active"
    },
    "changed_fields": [
      "status"
    ],
    "event_type": "project.status_changed",
    "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
invalid_project_status

Status is not in the supported project status catalog