Visibility: public · internal ( OpenAPI Custom Extension: x-visibility )
Create a new service account scoped to a level in the resource hierarchy. Only tenant administrators can create service accounts.
The service account is created with a server-generated clientId but no credentials. Use the credential sub-resource endpoints to create a client_secret after the service account exists.
The scope level may be constrained by org-level policy.
Bearer token authentication using OAuth2/OIDC tokens
Human-readable display name.
1 - 255"Production CI/CD Pipeline"
The hierarchy level this service account is scoped to. Subject to org-level policy.
organization, project "project"
Resource identifier for the scope target. Must be a resource the caller has access to.
"proj-abc123"
Optional description of purpose.
1024Roles to assign to the service account. Each must be a valid org-defined role slug that the calling administrator holds within the requested scope (scope-down principle).
["compute.deployer", "storage.writer"]Service account created. No credentials are included — use POST /iam/service-accounts/{id}/credentials to create a client_secret.
Service account for machine-to-machine and infrastructure access. Service accounts are independent principals with their own identity and role bindings. They are scoped to a level in the resource hierarchy (organization, or project) and survive the off-boarding of the user who created them.
Authentication uses client_id (on this resource) combined with a client_secret (from a credential sub-resource) via the grant_type=client_credentials flow.
Only tenant administrators can create and manage service accounts.
Server-generated UUID. Immutable.
Human-readable display name for the service account.
1 - 255"Production CI/CD Pipeline"
Unique client identifier for OAuth2 client_credentials flow. Server-generated, immutable. Used together with a credential's client_secret to authenticate at the token endpoint.
"sa-pipeline-prod@myorg.iam"
The level in the resource hierarchy this service account operates within:
Subject to org-level policy constraints.
organization, project "project"
Resource identifier corresponding to the scope level:
"proj-abc123"
Current service account status.
active, disabled "active"
User ID of the tenant administrator who created this service account.
"user-admin-001"
Timestamp when the service account was created.
Server-defined URL for this resource.
"/v1/iam/service-accounts/sa-pipeline-prod"
Optional description of the service account's purpose.
1024Role bindings assigned directly to this service account. Unlike API keys, service account roles are not inherited from a user — they are explicitly granted. Each role must be a valid org-defined role slug.
The assigning administrator can only grant roles they themselves hold within the service account's scope (scope-down principle). Effective privileges are bounded by the scope.
["compute.deployer", "storage.writer"]Timestamp of the last metadata change.
Number of active (non-expired) credentials on this service account. Maximum of 5 credentials allowed.
2