Skip to content
qibdo qibdo
Theme
Book a demo

Errors

Every IAM error carries a stable numeric error_code and a machine-readable reason. This page lists the logical error codes IAM can return, across its domain groups (6_3xx) and infrastructure groups (6_6xx). For the full error envelope (the google.rpc.Status shape, the reason and metadata fields, and how codes are structured) see Errors.

IAM codes begin with 6 (for example 6308004, read as 6_308_004: service, group, specific error). The wire value is always the flat integer; you can match on either error_code or reason, both are stable.

The first two codes (6000001 and 6000002) are reserved framework authentication results raised by the platform gateway before a request reaches a service. The rest are domain codes raised by IAM itself.

The Status column is the canonical gRPC status the error maps to, which the gateway renders as the matching HTTP status (see the status codes table).

CodeReasonStatusDescription
6000001UNAUTHENTICATEDUNAUTHENTICATEDUser is not authenticated.
6000002ACCESS_DENIEDPERMISSION_DENIEDUser is not authorized.
6300001INVALID_CREDENTIALSUNAUTHENTICATEDInvalid email or password.
6300002SELF_SERVICE_SUBJECT_UNRESOLVEDUNAUTHENTICATEDThe request acts on the caller, but no caller could be resolved.
6300003CREDENTIAL_NOT_RECOGNISEDUNAUTHENTICATEDCredential is not recognised.
6302001ROLE_NAME_IS_BLANKINVALID_ARGUMENTRole name must not be blank.
6302002ROLE_NOT_FOUNDNOT_FOUNDRole not found.
6302003SYSTEM_ROLE_IMMUTABLEINVALID_ARGUMENTSystem roles cannot be modified or deleted.
6302004ROLE_NAME_ALREADY_EXISTSALREADY_EXISTSA role with this name already exists.
6302005ROLE_IS_DISABLEDINVALID_ARGUMENTDisabled roles cannot be assigned to bindings.
6302006CUSTOM_ROLE_SCOPE_ID_IS_NOT_VALIDINVALID_ARGUMENTCustom role scope ID is required and must be a valid ID.
6302007ROLE_NAME_TOO_LONGINVALID_ARGUMENTRole name must not exceed 128 characters.
6302008ROLE_NOT_MARKED_FOR_DELETIONFAILED_PRECONDITIONRole must be marked for deletion before removal.
6302009ROLE_DISPLAY_NAME_IS_BLANKINVALID_ARGUMENTRole display name is required.
6302010ROLE_DISPLAY_NAME_TOO_LONGINVALID_ARGUMENTRole display name must not exceed 128 characters.
6302011ROLE_DISPLAY_NAME_NOT_VALIDINVALID_ARGUMENTRole display name must not contain control characters.
6302012ROLE_NAME_NOT_VALIDINVALID_ARGUMENTRole name must be valid: lowercase letters, digits and hyphens, starting with a letter and ending with a letter or digit.
6302013ROLE_PERMISSION_ALREADY_GRANTEDALREADY_EXISTSThe role already grants this permission.
6302014ROLE_DESCRIPTION_NOT_VALIDINVALID_ARGUMENTRole description must be at most 1024 characters and carry no control or bidirectional characters.
6303001POLICY_NAME_IS_BLANKINVALID_ARGUMENTPolicy name must not be blank.
6303002POLICY_CONDITIONS_EMPTYINVALID_ARGUMENTPolicy must have at least one condition.
6303003POLICY_NOT_FOUNDNOT_FOUNDPolicy not found.
6303004POLICY_WORKSPACE_ID_IS_NOT_VALIDINVALID_ARGUMENTPolicy workspace ID must be a valid UUID.
6303005POLICY_HAS_ACTIVE_BINDINGSINVALID_ARGUMENTCannot delete a policy that has active IAM bindings referencing it.
6303006SOURCE_IP_CONDITION_CIDRS_EMPTYINVALID_ARGUMENTSource IP condition must have at least one CIDR range.
6303007ROLE_CONDITION_SERVICES_EMPTYINVALID_ARGUMENTRole condition must have at least one service.
6303008POLICY_NAME_TOO_LONGINVALID_ARGUMENTPolicy name must not exceed 128 characters.
6303009POLICY_NOT_MARKED_FOR_DELETIONFAILED_PRECONDITIONPolicy must be marked for deletion before removal.
6303010LOCATION_CONDITION_IDS_EMPTYINVALID_ARGUMENTLocation condition must have at least one allowed location id.
6303011POLICY_DESCRIPTION_NOT_VALIDINVALID_ARGUMENTPolicy description must be at most 1024 characters and carry no control or bidirectional characters.
6304001IAM_BINDING_NOT_FOUNDNOT_FOUNDIAM binding not found.
6304002IAM_BINDING_ADMIN_NON_REMOVABLEINVALID_ARGUMENTAdmin binding for the organisation owner cannot be removed.
6304003IAM_BINDING_ALREADY_EXISTSALREADY_EXISTSAn IAM binding for this principal, role, and scope already exists.
6304004IAM_BINDING_PRINCIPAL_ID_NOT_VALIDINVALID_ARGUMENTIAM binding principal ID must be a valid UUID.
6304005IAM_BINDING_ROLE_ID_IS_NOT_VALIDINVALID_ARGUMENTIAM binding role ID must be a valid UUID.
6304006IAM_BINDING_SCOPE_ID_IS_NOT_VALIDINVALID_ARGUMENTIAM binding scope ID must be a valid UUID.
6304007IAM_BINDING_NOT_MARKED_FOR_DELETIONFAILED_PRECONDITIONIAM binding must be marked for deletion before removal.
6305001IAM_OPERATION_PROGRESS_OUT_OF_RANGEINVALID_ARGUMENTOperation progress must be between 0 and 100.
6305002IAM_OPERATION_END_TIME_BEFORE_START_TIMEINVALID_ARGUMENTOperation end time must not be before start time.
6305003IAM_OPERATION_NOT_FOUNDNOT_FOUNDIAM operation not found.
6305004OPERATION_SCOPE_TYPE_NOT_VALIDINVALID_ARGUMENTOperation scope type is not valid.
6306001AUTHENTICATION_TOKEN_IS_BLANKINVALID_ARGUMENTAuthentication token must not be blank.
6306002AUTHENTICATION_TOKEN_EXPIRY_IS_NOT_VALIDINVALID_ARGUMENTAuthentication token expiry must be after creation time.
6306003AUTHENTICATION_TOKEN_IS_EXPIREDUNAUTHENTICATEDAuthentication token has expired.
6306004AUTHENTICATION_TOKEN_NOT_FOUNDNOT_FOUNDAuthentication token was not found.
6306006AUTHENTICATION_TOKEN_TOKEN_HASH_NOT_VALIDINVALID_ARGUMENTAuthentication token hash is not valid.
6306007AUTHENTICATION_TOKEN_FAMILY_ID_NOT_VALIDINVALID_ARGUMENTAuthentication token family identifier is not valid.
6306008REFRESH_TOKEN_NOT_FOUNDNOT_FOUNDRefresh token was not found.
6306009REFRESH_TOKEN_IS_EXPIREDUNAUTHENTICATEDRefresh token has expired.
6306010REFRESH_TOKEN_TYPE_NOT_VALIDUNAUTHENTICATEDToken is not a valid refresh token.
6307001PERMISSION_OPERATION_NOT_IMPLEMENTEDUNIMPLEMENTEDPermission operation is not yet implemented.
6307002PERMISSION_NOT_FOUNDINVALID_ARGUMENTPermission not found.
6307003PERMISSION_NAME_NOT_VALIDINVALID_ARGUMENTPermission name is not valid.
6308001PERSON_EMAIL_IS_BLANKINVALID_ARGUMENTPerson email is required.
6308002PERSON_EMAIL_INVALID_FORMATINVALID_ARGUMENTPerson email format is not valid.
6308004PERSON_NOT_FOUNDNOT_FOUNDPerson not found.
6308005PERSON_EMAIL_ALREADY_EXISTSALREADY_EXISTSA person with this email already exists.
6308006PERSON_IS_INACTIVEINVALID_ARGUMENTPerson account is inactive.
6308008AVATAR_NOT_FOUNDNOT_FOUNDThis account has no avatar.
6309001SERVICE_ACCOUNT_EMAIL_NOT_VALIDINVALID_ARGUMENTService account email is not valid.
6309002SERVICE_ACCOUNT_BOUNDED_CONTEXT_IS_BLANKINVALID_ARGUMENTService account context is required.
6309003SERVICE_ACCOUNT_NOT_FOUNDNOT_FOUNDService account not found.
6309004SERVICE_ACCOUNT_IS_INACTIVEINVALID_ARGUMENTService account is inactive.
6310001PERSON_DEACTIVATEDFAILED_PRECONDITIONPerson account is deactivated.
6310002PERSON_NOT_INVITEDFAILED_PRECONDITIONPerson is not in the invited state.
6310003PERSON_NOT_DEACTIVATEDFAILED_PRECONDITIONPerson is not in the deactivated state.
6310004PERSON_ALREADY_DEACTIVATEDFAILED_PRECONDITIONPerson is already deactivated.
6310005PERSON_ACTIVE_REQUIRES_PASSWORDINVALID_ARGUMENTAn active person requires a password.
6310006PERSON_NAME_IS_REQUIREDINVALID_ARGUMENTPerson name and surname are required.
6310007AVATAR_REFERENCE_NOT_VALIDINVALID_ARGUMENTAvatar reference is not valid.
6310008PRINCIPAL_NOT_FOUNDNOT_FOUNDPrincipal not found.
6310009INHERITED_ROLE_NOT_REVOCABLEFAILED_PRECONDITIONAn inherited role cannot be revoked at this scope.
6310010PRINCIPAL_TYPE_NOT_VALIDINVALID_ARGUMENTPrincipal type is not valid.
6310011AVATAR_IMAGE_NOT_ACCEPTABLEINVALID_ARGUMENTAvatar image type is not in the allowed set or its content does not match the declared type.
6310012AVATAR_IMAGE_TOO_LARGEINVALID_ARGUMENTAvatar image exceeds the maximum allowed size.
6310013PERSON_NOT_ACTIVEFAILED_PRECONDITIONPerson is not in the active state.
6310014AVATAR_IMAGE_DIMENSIONS_NOT_ACCEPTABLEINVALID_ARGUMENTAvatar image dimensions exceed the maximum allowed, or its header does not declare readable dimensions.
6311001UNSUPPORTED_ACCESS_SCOPEINVALID_ARGUMENTThe scope type and scope id are not a valid combination.
6311002UNKNOWN_TEST_PERMISSIONINVALID_ARGUMENTA candidate permission does not exist in the catalogue.
6311003CALLER_NOT_AUTHENTICATEDINVALID_ARGUMENTThe calling principal could not be resolved.
6311004BINDING_DRAIN_INCOMPLETERESOURCE_EXHAUSTEDThe bindings could not be read within the drain ceiling.
6312001ACCESSIBLE_SCOPE_ID_IS_NOT_VALIDDATA_LOSSPersisted binding scope id is not a valid identifier.
6312002CONDITION_CONTEXT_SOURCE_IP_IS_NOT_VALIDINVALID_ARGUMENTThe asserted condition context source ip is not a valid address.
6313001CREDENTIAL_TOKEN_NOT_VALIDINVALID_ARGUMENTCredential token is not valid.
6313002CREDENTIAL_TOKEN_EXPIREDINVALID_ARGUMENTCredential token has expired.
6313003CREDENTIAL_TOKEN_ALREADY_USEDINVALID_ARGUMENTCredential token has already been used.
6313004CREDENTIAL_TOKEN_NOT_FOUNDNOT_FOUNDCredential token not found.
6313005CREDENTIAL_TOKEN_ISSUE_CONFLICTABORTEDAnother credential token was issued concurrently.
6313006CREDENTIAL_TOKEN_TYPE_MISMATCHINVALID_ARGUMENTCredential token is not valid for this operation.
6314001PASSWORD_TOO_SHORTINVALID_ARGUMENTPassword does not meet the minimum length.
6314002PASSWORD_TOO_LONGINVALID_ARGUMENTPassword exceeds the maximum length.
6314003PASSWORD_EFFECTIVELY_EMPTYINVALID_ARGUMENTPassword must not be empty.
6314004PASSWORD_IS_COMMONINVALID_ARGUMENTPassword is too common.
6314006PASSWORD_RECENTLY_USEDINVALID_ARGUMENTPassword matches a recently used password.
6314007BOOTSTRAP_ADMIN_PASSWORD_NOT_COMPLIANTFAILED_PRECONDITIONThe platform-admin password supplied to bootstrap does not meet the password policy.
6314008PASSWORD_MISSING_UPPERCASEINVALID_ARGUMENTPassword must contain an uppercase letter.
6314009PASSWORD_MISSING_LOWERCASEINVALID_ARGUMENTPassword must contain a lowercase letter.
6314010PASSWORD_MISSING_DIGITINVALID_ARGUMENTPassword must contain a digit.
6314011PASSWORD_MISSING_LETTERINVALID_ARGUMENTPassword must contain a letter.
6314012PASSWORD_MISSING_SPECIAL_CHARACTERINVALID_ARGUMENTPassword must contain a special character.
6314013PASSWORD_RESEMBLES_IDENTITYINVALID_ARGUMENTPassword must not be based on your name, email or the service name.
6314014PASSWORD_HISTORY_DEPTH_NOT_CONFIGUREDFAILED_PRECONDITIONiam.password-policy.history-depth must be at least 1, or password reuse is not enforced.
6315001CREDENTIAL_ENCODING_NOT_RECOGNISEDDATA_LOSSThe stored credential was produced by an algorithm this platform does not recognise.
6316001ANONYMOUS_REQUEST_BUDGET_EXCEEDEDRESOURCE_EXHAUSTEDToo many anonymous requests.
6317001SCOPE_IS_NOT_VALIDINVALID_ARGUMENTA requested scope string is not valid.
6600001AUTHENTICATION_CACHE_UNAVAILABLEUNAVAILABLEThe authentication cache is unavailable; refused to leave stale credentials in cache.
6600002JWT_GENERATE_TOKEN_GRANT_NOT_SUPPORTEDUNIMPLEMENTEDJwtTokenService cannot issue service-account JWTs directly. Call IssueServiceAccountJwtHandler.handle(…) instead.
6601001UNKNOWN_SCHEMA_VERSIONDATA_LOSSSchema version is not recognized.
6601002USER_NOT_FOUNDNOT_FOUNDThe user was not found.
6601003ROLE_NOT_FOUNDNOT_FOUNDThe role was not found.
6601004IAM_BINDING_NOT_FOUNDNOT_FOUNDThe IAM binding was not found.
6601005POLICY_NOT_FOUNDNOT_FOUNDThe policy was not found.
6601006IAM_OPERATION_NOT_FOUNDNOT_FOUNDThe IAM operation was not found.
6601007TOKEN_TYPE_NOT_VALIDDATA_LOSSThe token type is not recognized.
6601008ROLE_TYPE_NOT_VALIDDATA_LOSSThe role type is not recognized.
6602001UNSUPPORTED_SCOPE_TYPEINVALID_ARGUMENTThe scope type is not supported.
6602002UNSUPPORTED_PRINCIPAL_TYPEINVALID_ARGUMENTThe principal type is not supported.
6602003UNKNOWN_TAXONOMY_EVENTINVALID_ARGUMENTThe taxonomy event type is not recognized.
6602004UNKNOWN_INTEGRATION_VERSIONINVALID_ARGUMENTThe integration version is not recognized.
6602005UNKNOWN_MESSAGE_TYPEINVALID_ARGUMENTThe message type is not recognized.
6602006CONDITION_TYPE_NOT_SPECIFIEDINVALID_ARGUMENTCondition type must be specified.
6602007UNSUPPORTED_SOURCE_IP_OPERATORINVALID_ARGUMENTThe source IP operator is not supported.
6602008UNSUPPORTED_TIME_WINDOW_OPERATORINVALID_ARGUMENTThe time window operator is not supported.
6602009UNSUPPORTED_ROLE_CONDITION_OPERATORINVALID_ARGUMENTThe role condition operator is not supported.
6602010INVALID_TIMEZONEINVALID_ARGUMENTThe timezone is not valid.
6602011INVALID_TIME_OF_DAYINVALID_ARGUMENTThe time of day is not valid.
6602012CIDR_PREFIX_NOT_VALIDINVALID_ARGUMENTThe CIDR prefix is not valid.
6602013UNSUPPORTED_LOCATION_CONDITION_OPERATORINVALID_ARGUMENTThe location condition operator is not supported.
6603001RSA_PRIVATE_KEY_NOT_VALIDFAILED_PRECONDITIONThe RSA private key PEM content is not valid or empty. Set the IAM_JWT_PRIVATE_KEY environment variable to a PKCS#8 RSA PEM (matching iam.jwt.private-key). For local development run scripts/generate-dev-keys.sh and then source .dev-keys before starting the application.
6603002RSA_PUBLIC_KEY_NOT_VALIDFAILED_PRECONDITIONThe RSA public key PEM content is not valid or empty. Set the IAM_JWT_PUBLIC_KEY environment variable to an X.509 RSA PEM (matching iam.jwt.public-key). For local development run scripts/generate-dev-keys.sh and then source .dev-keys before starting the application.
6604001COMMON_PASSWORD_BLOCKLIST_NOT_AVAILABLEFAILED_PRECONDITIONThe bundled common-password corpus is missing or truncated, so the common-password check cannot be enforced. Rebuild the iam module so common-passwords.txt.gz is packaged.

Codes that reach you on an operation, not on a call

Section titled “Codes that reach you on an operation, not on a call”

These never appear as the status of a request. They record why a long-running operation did not finish, so they arrive in the operation record’s errors list while the call that started it succeeded.

CodeReasonDescription
6306005AUTHENTICATION_TOKEN_USER_ID_NOT_VALIDAuthentication token user identifier is not valid.

None of these is ever a request’s error_code. They say why something further down refused, and they surface in one of two places: the errors list of an operation record, or the detail of the error actually returned, written as code:reason. Read them as the cause behind the status you were given.

CodeReasonDescription
6306005AUTHENTICATION_TOKEN_USER_ID_NOT_VALIDAuthentication token user identifier is not valid.