Skip to main content

Invalid credentials

The 8x8 Connect portal API returns this problem when it refuses a sign-in because the email address or password was not accepted. The response is the same whether the email address is not recognized or the password is wrong, and it does not say which.

For the response format and the other problem types that the portal API returns, see Connect portal error types.

MemberValue
typehttps://developer.8x8.com/connect/errors/invalid-credentials
titleInvalid credentials
codeinvalid_credentials
status401, or 400 when a single sign-on (SAML) sign-in cannot start

What causes itโ€‹

When it happensStatusCause
Signing in with an email address and password401The email address and password were not accepted.
Completing a social sign-in401The social sign-in was verified, but the account cannot sign in.
Signing in with single sign-on400The email address was not accepted for single sign-on.
Two-factor sign-in (requesting or entering a verification code)401Rarely, the sign-in can no longer be completed.

๐Ÿ“˜

The HTTP status alone does not identify this problem. It is 400 when signing in with single sign-on and 401 in the other cases, and other problem types use the same statuses. Identify it by its code or type.


What to doโ€‹

  1. Do not resend the same credentials.
  2. Ask the user to check the email address and password, then try again. Each new sign-in attempt needs a new security-check token; see Security check required.
  3. If the user does not remember the password, have them reset it with Forgot Password on the 8x8 Connect sign-in page.
  4. For a single sign-on sign-in, ask the user to check the email address.
  5. If the user is sure that the details are correct, they should contact their workspace administrator.
  6. If the problem came from a two-factor step, start the sign-in again from the email and password step.

๐Ÿšง

Repeated failed sign-ins can block further sign-ins to the account, answered with Too many attempts. Never retry a refused sign-in automatically or in a loop.


Example responseโ€‹

For a sign-in with an email address and password, the API returns this problem with HTTP 401 and the content type application/problem+json:

{
"type": "https://developer.8x8.com/connect/errors/invalid-credentials",
"title": "Invalid credentials",
"status": 401,
"instance": "/api/โ€ฆ",
"timestamp": "2026-10-26T03:14:15.926Z",
"code": "invalid_credentials"
}

The response can carry other members, such as the legacy error member and an errorId. Branch only on code or type.