API reference
Resume a suspended project
Requires a current project approver other than the suspender. Workforce access must be granted again through the normal reviewed workflow.
POST/v1/projects/{project_id}/lifecycle/resume
Authentication Bearer access token with audience taifa-management. Roles and local eligibility are reviewed separately from the OpenAPI bearer scheme.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
project_id | path | string | Yes | |
idempotency-key | header | string | Yes |
Request body
application/jsonRequiredidentity__owned_client_router__Reason
| Field | Type | Required | Description |
|---|---|---|---|
reason | string | Yes | Validation: min length 8; max length 500 |
Responses
200Successful Response
Content type: application/jsonActionResult
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
project_id | string | Yes | |
kind | suspend | resume | decommission | Yes | |
status | requested | effective | cancelled | Yes | |
requested_by | string | Yes | |
decided_by | string | null | Yes | |
reason | string | Yes | |
created_at | string | Yes | |
expires_at | string | null | Yes | |
effective_at | string | null | Yes | |
completed_at | string | null | Yes | |
project_status | string | Yes | |
access_revoked | integer | Yes | |
lifecycle_head | integer | Yes | |
revocations | RevocationRead[] | Yes |
Other responses
| Status | Description | Schema |
|---|---|---|
| 403 | Current scoped authority, independent review or recent strong authentication required | |
| 409 | Current project state, target set or idempotency conflict | |
| 422 | Invalid exact request |
Request example
Illustrative only. TypeScript runs in Node.js on the server. Keep management tokens out of browser bundles. Replace the host, token, path values, and any header or required body placeholders before use. Examples do not send requests.
curl -X POST 'https://YOUR_IDENTITY_HOST/v1/projects/REPLACE_WITH_PROJECT_ID/lifecycle/resume' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
-H 'idempotency-key: REPLACE_WITH_IDEMPOTENCY_KEY' \
-H 'Content-Type: application/json' \
--data '{
"reason": "REPLACE_WITH_REASON"
}'Response example
No response example in the current specification.