Preview — pending review
This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.
List OpenStack API credentials in the project
Lists the OpenStack application credentials minted for this project: the caller's
own credentials always; service-account credentials when the caller holds tokens: manage; every
credential in the project when the caller holds iam: manage. The secret is NEVER returned here — it
exists only in the create/rotate 201 response. Revoked/expired credentials stay listed with
revokeReason so the console can explain why a credential stopped working (e.g. role_change: a role
change on the project made the cloud delete every credential of that owner there).
access describes what the CALLER may do here: whether direct API access is enabled for the
organisation, the Keystone roles projected from the caller's portal permissions, the profiles available,
the portal-side limits, and the public identity endpoint + OpenStack region a clouds.yaml needs
(identityUrl / regionName, null when not known yet -- endpoint card).
Authorization: compute, network and storage at least read on the project (the edge floor is
compute read).
Pagination: {data, meta, access}; page / pageSize (max 200, default 50), newest
first; meta.total counts what the caller may see. Retention: a revoked or expired credential
stays listed for 90 days after it stopped working, then its row is deleted (audit records are kept
separately).
Errors: 401; 403; 404 unknown/unreachable scope.
bearerTokenAuthorizationBearer <token>An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.
scopeId*stringOpaque ownership+authorization scope resolving to tenant + subscription + project.
status?stringFilter by lifecycle status.
"active""revoked""expired"page?integer1-based page number.
1 <= value1pageSize?integerItems per page (max 200).
1 <= value <= 20050Credentials visible to the caller in this project (secrets omitted) plus the caller's access.
application/json- response
data*array<>meta*Pagination envelope metadata. List responses are always { data, meta } — never a naked array.
access*What the caller may do with OpenStack API credentials on this project.
curl -X GET "https://example.com/scopes/string/iam/openstack-credentials"{ "data": [ { "id": "string", "name": "string", "projectId": "string", "owner": { "kind": "user", "id": "string" }, "profile": "full", "roles": [ "string" ], "status": "active", "applicationCredentialId": "string", "expiresAt": "2019-08-24T14:15:22Z", "createdAt": "2019-08-24T14:15:22Z", "createdBy": "string", "lastUsedAt": "2019-08-24T14:15:22Z", "revokedAt": "2019-08-24T14:15:22Z", "revokeReason": "user", "rotatedFromId": "string", "replacedById": "string", "deleteAfter": "2019-08-24T14:15:22Z" } ], "meta": { "page": 1, "pageSize": 1, "total": 0, "hasNext": true }, "access": { "apiAccessEnabled": true, "operatorLocked": true, "projectedRoles": [ "string" ], "availableProfiles": [ "full" ], "canManageServiceAccounts": true, "canManageAll": true, "maxActivePerOwner": 0, "maxActivePerProject": 0, "activeInProject": 0, "maxLifetimeDays": 0, "defaultLifetimeDays": 0, "identityUrl": "string", "regionName": "string" }}