API reference
Lifecycle service authority
5 management API operations for Lifecycle service authority.
/v1/projects/{project_id}/lifecycle-service-grantsPropose
GET/v1/projects/{project_id}/lifecycle-service-grantsListing
POST/v1/projects/{project_id}/lifecycle-service-grants/{grant_id}/approveApprove
POST/v1/projects/{project_id}/lifecycle-service-grants/{grant_id}/revokeRevoke
GET/v1/projects/{project_id}/lifecycle-service-grants/{grant_id}Detail
POST/v1/projects/{project_id}/lifecycle-service-grants
Propose
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/jsonRequiredLifecycleServiceProposal
| Field | Type | Required | Description |
|---|---|---|---|
reason | string | Yes | Validation: min length 8; max length 500 |
issuer | string | Yes | Validation: min length 1; max length 2048 |
subject | string | Yes | Validation: min length 1; max length 255 |
Responses
201Successful Response
Content type: application/jsonGrantRead
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
project_id | string | Yes | |
issuer | string | Yes | |
subject | string | Yes | |
capability | lifecycle-consumer | Yes | |
status | pending_review | effective | revoked | Yes | |
active | boolean | Yes | |
version | integer | Yes | Validation: minimum 1; maximum 3 |
proposal_digest | string | Yes | Validation: pattern ^[a-f0-9]{64}$ |
proposer | string | Yes | |
approver | string | null | Yes | |
proposal_audit_id | string | Yes | |
approval_audit_id | string | null | Yes | |
revocation_audit_id | string | null | Yes | |
created_at | string · date-time | Yes | |
approved_at | string | null | Yes | |
revoked_at | string | null | Yes |
Other responses
| Status | Description | Schema |
|---|---|---|
| 422 | Validation Error | HTTPValidationError |
GET/v1/projects/{project_id}/lifecycle-service-grants
Listing
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 | |
limit | query | string | No | Validation: pattern ^(?:[1-9]|[1-9][0-9]|100)$ |
after_id | query | string · uuid | null | No |
Request body
This operation has no request body.
Responses
200Successful Response
Content type: application/jsonGrantRead[]
| Field | Type | Required | Description |
|---|---|---|---|
[].id | string | Yes | |
[].project_id | string | Yes | |
[].issuer | string | Yes | |
[].subject | string | Yes | |
[].capability | lifecycle-consumer | Yes | |
[].status | pending_review | effective | revoked | Yes | |
[].active | boolean | Yes | |
[].version | integer | Yes | Validation: minimum 1; maximum 3 |
[].proposal_digest | string | Yes | Validation: pattern ^[a-f0-9]{64}$ |
[].proposer | string | Yes | |
[].approver | string | null | Yes | |
[].proposal_audit_id | string | Yes | |
[].approval_audit_id | string | null | Yes | |
[].revocation_audit_id | string | null | Yes | |
[].created_at | string · date-time | Yes | |
[].approved_at | string | null | Yes | |
[].revoked_at | string | null | Yes |
Other responses
| Status | Description | Schema |
|---|---|---|
| 422 | Validation Error | HTTPValidationError |
POST/v1/projects/{project_id}/lifecycle-service-grants/{grant_id}/approve
Approve
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 | |
grant_id | path | string | Yes | |
idempotency-key | header | string | Yes |
Request body
application/jsonRequiredLifecycleServiceApproval
| Field | Type | Required | Description |
|---|---|---|---|
reason | string | Yes | Validation: min length 8; max length 500 |
expected_version | integer | Yes | Validation: minimum 1 |
proposal_digest | string | Yes | Validation: pattern ^[a-f0-9]{64}$ |
Responses
200Successful Response
Content type: application/jsonGrantRead
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
project_id | string | Yes | |
issuer | string | Yes | |
subject | string | Yes | |
capability | lifecycle-consumer | Yes | |
status | pending_review | effective | revoked | Yes | |
active | boolean | Yes | |
version | integer | Yes | Validation: minimum 1; maximum 3 |
proposal_digest | string | Yes | Validation: pattern ^[a-f0-9]{64}$ |
proposer | string | Yes | |
approver | string | null | Yes | |
proposal_audit_id | string | Yes | |
approval_audit_id | string | null | Yes | |
revocation_audit_id | string | null | Yes | |
created_at | string · date-time | Yes | |
approved_at | string | null | Yes | |
revoked_at | string | null | Yes |
Other responses
| Status | Description | Schema |
|---|---|---|
| 422 | Validation Error | HTTPValidationError |
POST/v1/projects/{project_id}/lifecycle-service-grants/{grant_id}/revoke
Revoke
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 | |
grant_id | path | string | Yes | |
idempotency-key | header | string | Yes |
Request body
application/jsonRequiredLifecycleServiceRevocation
| Field | Type | Required | Description |
|---|---|---|---|
reason | string | Yes | Validation: min length 8; max length 500 |
expected_version | integer | Yes | Validation: minimum 1 |
Responses
200Successful Response
Content type: application/jsonGrantRead
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
project_id | string | Yes | |
issuer | string | Yes | |
subject | string | Yes | |
capability | lifecycle-consumer | Yes | |
status | pending_review | effective | revoked | Yes | |
active | boolean | Yes | |
version | integer | Yes | Validation: minimum 1; maximum 3 |
proposal_digest | string | Yes | Validation: pattern ^[a-f0-9]{64}$ |
proposer | string | Yes | |
approver | string | null | Yes | |
proposal_audit_id | string | Yes | |
approval_audit_id | string | null | Yes | |
revocation_audit_id | string | null | Yes | |
created_at | string · date-time | Yes | |
approved_at | string | null | Yes | |
revoked_at | string | null | Yes |
Other responses
| Status | Description | Schema |
|---|---|---|
| 422 | Validation Error | HTTPValidationError |
GET/v1/projects/{project_id}/lifecycle-service-grants/{grant_id}
Detail
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 | |
grant_id | path | string | Yes |
Request body
This operation has no request body.
Responses
200Successful Response
Content type: application/jsonGrantRead
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
project_id | string | Yes | |
issuer | string | Yes | |
subject | string | Yes | |
capability | lifecycle-consumer | Yes | |
status | pending_review | effective | revoked | Yes | |
active | boolean | Yes | |
version | integer | Yes | Validation: minimum 1; maximum 3 |
proposal_digest | string | Yes | Validation: pattern ^[a-f0-9]{64}$ |
proposer | string | Yes | |
approver | string | null | Yes | |
proposal_audit_id | string | Yes | |
approval_audit_id | string | null | Yes | |
revocation_audit_id | string | null | Yes | |
created_at | string · date-time | Yes | |
approved_at | string | null | Yes | |
revoked_at | string | null | Yes |
Other responses
| Status | Description | Schema |
|---|---|---|
| 422 | Validation Error | HTTPValidationError |