Service Accounts data models

getServiceAccounts — 200 response

Successful retrieval of list of service accounts.

Represents a project-scoped, machine-to-machine API credential. Its permissions come from access control group memberships and direct permission statements, the same as a user. It is available only in projects with fine-grained access control enabled.

An array of objects with the following shape:

PropertyTypeRequiredConstraintsDescription
createdAtstringYesread-only (server-generated)Time the service account was created, in RFC3339 format.
idintegerYesread-only (server-generated)Unique ID assigned at time of creation.
namestringYesDisplay name of the service account.
projectIdintegerYesread-only (server-generated)Project that this service account belongs to.
suspendedbooleanYesWhen true, the service account is suspended and all of its tokens are rejected.
updatedAtstringYesread-only (server-generated)Time the service account was last updated, in RFC3339 format.

getServiceAccounts — 401 response

Authorization is required to access this resource.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccounts — 403 response

Request failed because of denied permission.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccounts — 429 response

Request failed because of rate limit.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccounts — 500 response

An unexpected error has occurred.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccounts — 503 response

The service is temporarily unavailable.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

createServiceAccount — request

Request body for Create a service account.

PropertyTypeRequiredConstraintsDescription
namestringYesThe display name of the service account.
projectIdintegerYesThe project the service account belongs to.

createServiceAccount — 201 response

Successfully created a new service account and its first token. The raw token secret is returned exactly once.

PropertyTypeRequiredConstraintsDescription
serviceAccountobjectYesRepresents a project-scoped, machine-to-machine API credential. Its permissions come from access control group memberships and direct permission statements, the same as a user. It is available only in projects with fine-grained access control enabled.
Properties of serviceAccount
PropertyTypeRequiredConstraintsDescription
createdAtstringYesread-only (server-generated)Time the service account was created, in RFC3339 format.
idintegerYesread-only (server-generated)Unique ID assigned at time of creation.
namestringYesDisplay name of the service account.
projectIdintegerYesread-only (server-generated)Project that this service account belongs to.
suspendedbooleanYesWhen true, the service account is suspended and all of its tokens are rejected.
updatedAtstringYesread-only (server-generated)Time the service account was last updated, in RFC3339 format.
tokenstringYesread-only (server-generated)Raw secret of the first token. Returned exactly once at creation and never again. Send it in the Authorization header. It is rejected if presented in a query string.
tokenMetadataobjectYesStored metadata for a single service account token. The raw token secret is never persisted or returned in this record. Only a short display suffix is kept.
Properties of tokenMetadata
PropertyTypeRequiredConstraintsDescription
createdAtstringYesread-only (server-generated)Time the token was created, in RFC3339 format.
expiresAtstringNoread-only (server-generated)Time the token expires, in RFC3339 format. Absent if the token does not expire.
idintegerYesread-only (server-generated)Unique ID assigned at time of creation.
projectIdintegerYesread-only (server-generated)Project that this token belongs to.
serviceAccountIdintegerYesread-only (server-generated)Service account that this token belongs to.
statusstringYesread-only (server-generated); one of: active, suspendedLifecycle state of the token.
suffixstringYesread-only (server-generated)Trailing characters of the raw token, kept for display only.

createServiceAccount — 401 response

Authorization is required to access this resource.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

createServiceAccount — 403 response

Request failed because of invalid data or denied permission.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

createServiceAccount — 429 response

Request failed because of rate limit.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

createServiceAccount — 500 response

An unexpected error has occurred.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

createServiceAccount — 503 response

The service is temporarily unavailable.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

deleteServiceAccount — 401 response

Authorization is required to access this resource.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

deleteServiceAccount — 403 response

Request failed because of invalid data or denied permission.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

deleteServiceAccount — 404 response

The required serviceAccount does not exist or is not accessible.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

deleteServiceAccount — 409 response

The serviceAccount cannot be deleted because it is being used by another part of the system.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

deleteServiceAccount — 429 response

Request failed because of rate limit.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

deleteServiceAccount — 500 response

An unexpected error has occurred.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

deleteServiceAccount — 503 response

The service is temporarily unavailable.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccount — 200 response

Successfully retrieved service account with specified ID.

PropertyTypeRequiredConstraintsDescription
serviceAccountobjectYesRepresents a project-scoped, machine-to-machine API credential. Its permissions come from access control group memberships and direct permission statements, the same as a user. It is available only in projects with fine-grained access control enabled.
Properties of serviceAccount
PropertyTypeRequiredConstraintsDescription
createdAtstringYesread-only (server-generated)Time the service account was created, in RFC3339 format.
idintegerYesread-only (server-generated)Unique ID assigned at time of creation.
namestringYesDisplay name of the service account.
projectIdintegerYesread-only (server-generated)Project that this service account belongs to.
suspendedbooleanYesWhen true, the service account is suspended and all of its tokens are rejected.
updatedAtstringYesread-only (server-generated)Time the service account was last updated, in RFC3339 format.
tokensarray<object>YesStored metadata for the account's tokens. Empty if the account has no tokens.
Properties of tokens
PropertyTypeRequiredConstraintsDescription
createdAtstringYesread-only (server-generated)Time the token was created, in RFC3339 format.
expiresAtstringNoread-only (server-generated)Time the token expires, in RFC3339 format. Absent if the token does not expire.
idintegerYesread-only (server-generated)Unique ID assigned at time of creation.
projectIdintegerYesread-only (server-generated)Project that this token belongs to.
serviceAccountIdintegerYesread-only (server-generated)Service account that this token belongs to.
statusstringYesread-only (server-generated); one of: active, suspendedLifecycle state of the token.
suffixstringYesread-only (server-generated)Trailing characters of the raw token, kept for display only.

getServiceAccount — 401 response

Authorization is required to access this resource.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccount — 403 response

Request failed because of denied permission.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccount — 404 response

The requested serviceAccount does not exist or is not accessible.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccount — 429 response

Request failed because of rate limit.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccount — 500 response

An unexpected error has occurred.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccount — 503 response

The service is temporarily unavailable.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

updateServiceAccount — request

Request body for Update a service account.

PropertyTypeRequiredConstraintsDescription
namestringNoThe new display name.
suspendedbooleanNoWhether the service account is suspended.

updateServiceAccount — 200 response

Successfully updated service account with specified ID.

PropertyTypeRequiredConstraintsDescription
createdAtstringYesread-only (server-generated)Time the service account was created, in RFC3339 format.
idintegerYesread-only (server-generated)Unique ID assigned at time of creation.
namestringYesDisplay name of the service account.
projectIdintegerYesread-only (server-generated)Project that this service account belongs to.
suspendedbooleanYesWhen true, the service account is suspended and all of its tokens are rejected.
updatedAtstringYesread-only (server-generated)Time the service account was last updated, in RFC3339 format.

updateServiceAccount — 401 response

Authorization is required to access this resource.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

updateServiceAccount — 403 response

Request failed because of invalid data or denied permission.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

updateServiceAccount — 404 response

The requested serviceAccount does not exist or is not accessible.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

updateServiceAccount — 429 response

Request failed because of rate limit.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

updateServiceAccount — 500 response

An unexpected error has occurred.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

updateServiceAccount — 503 response

The service is temporarily unavailable.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccountTokens — 200 response

Successful retrieval of list of token metadata.

Stored metadata for a single service account token. The raw token secret is never persisted or returned in this record. Only a short display suffix is kept.

An array of objects with the following shape:

PropertyTypeRequiredConstraintsDescription
createdAtstringYesread-only (server-generated)Time the token was created, in RFC3339 format.
expiresAtstringNoread-only (server-generated)Time the token expires, in RFC3339 format. Absent if the token does not expire.
idintegerYesread-only (server-generated)Unique ID assigned at time of creation.
projectIdintegerYesread-only (server-generated)Project that this token belongs to.
serviceAccountIdintegerYesread-only (server-generated)Service account that this token belongs to.
statusstringYesread-only (server-generated); one of: active, suspendedLifecycle state of the token.
suffixstringYesread-only (server-generated)Trailing characters of the raw token, kept for display only.

getServiceAccountTokens — 401 response

Authorization is required to access this resource.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccountTokens — 403 response

Request failed because of denied permission.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccountTokens — 429 response

Request failed because of rate limit.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccountTokens — 500 response

An unexpected error has occurred.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

getServiceAccountTokens — 503 response

The service is temporarily unavailable.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

createServiceAccountToken — request

Request body for Create a service account token.

PropertyTypeRequiredConstraintsDescription
expiresAtstringNoOptional time the token expires, in RFC3339 format. Must be in the future. If omitted, the token does not expire.

createServiceAccountToken — 201 response

Successfully created a new token. The raw token secret is returned exactly once.

PropertyTypeRequiredConstraintsDescription
metadataobjectYesStored metadata for a single service account token. The raw token secret is never persisted or returned in this record. Only a short display suffix is kept.
Properties of metadata
PropertyTypeRequiredConstraintsDescription
createdAtstringYesread-only (server-generated)Time the token was created, in RFC3339 format.
expiresAtstringNoread-only (server-generated)Time the token expires, in RFC3339 format. Absent if the token does not expire.
idintegerYesread-only (server-generated)Unique ID assigned at time of creation.
projectIdintegerYesread-only (server-generated)Project that this token belongs to.
serviceAccountIdintegerYesread-only (server-generated)Service account that this token belongs to.
statusstringYesread-only (server-generated); one of: active, suspendedLifecycle state of the token.
suffixstringYesread-only (server-generated)Trailing characters of the raw token, kept for display only.
tokenstringYesread-only (server-generated)Raw token secret. Returned exactly once at creation and never again. Send it in the Authorization header. It is rejected if presented in a query string.

createServiceAccountToken — 401 response

Authorization is required to access this resource.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

createServiceAccountToken — 403 response

Request failed because of invalid data or denied permission.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

createServiceAccountToken — 429 response

Request failed because of rate limit.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

createServiceAccountToken — 500 response

An unexpected error has occurred.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

createServiceAccountToken — 503 response

The service is temporarily unavailable.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

revokeServiceAccountToken — 401 response

Authorization is required to access this resource.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

revokeServiceAccountToken — 403 response

Request failed because of invalid data or denied permission.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

revokeServiceAccountToken — 404 response

The required token does not exist or is not accessible.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

revokeServiceAccountToken — 409 response

The token cannot be deleted because it is being used by another part of the system.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

revokeServiceAccountToken — 429 response

Request failed because of rate limit.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

revokeServiceAccountToken — 500 response

An unexpected error has occurred.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

revokeServiceAccountToken — 503 response

The service is temporarily unavailable.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

suspendReactivateServiceAccountToken — request

Request body for Suspend or reactivate a service account token.

PropertyTypeRequiredConstraintsDescription
statusstringYesThe new token status, either "active" or "suspended".

suspendReactivateServiceAccountToken — 200 response

Successfully updated the token status.

PropertyTypeRequiredConstraintsDescription
createdAtstringYesread-only (server-generated)Time the token was created, in RFC3339 format.
expiresAtstringNoread-only (server-generated)Time the token expires, in RFC3339 format. Absent if the token does not expire.
idintegerYesread-only (server-generated)Unique ID assigned at time of creation.
projectIdintegerYesread-only (server-generated)Project that this token belongs to.
serviceAccountIdintegerYesread-only (server-generated)Service account that this token belongs to.
statusstringYesread-only (server-generated); one of: active, suspendedLifecycle state of the token.
suffixstringYesread-only (server-generated)Trailing characters of the raw token, kept for display only.

suspendReactivateServiceAccountToken — 401 response

Authorization is required to access this resource.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

suspendReactivateServiceAccountToken — 403 response

Request failed because of invalid data or denied permission.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

suspendReactivateServiceAccountToken — 404 response

The requested token does not exist or is not accessible.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

suspendReactivateServiceAccountToken — 429 response

Request failed because of rate limit.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

suspendReactivateServiceAccountToken — 500 response

An unexpected error has occurred.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.

suspendReactivateServiceAccountToken — 503 response

The service is temporarily unavailable.

PropertyTypeRequiredConstraintsDescription
dataobjectNoread-only (server-generated)Any relevant data related to error.
reasonstringYesread-only (server-generated)Reason of error.