The Authentication API reports the success or failure of an operation by using on Identity Cloud's Registration error system. This system reports errors by using status codes similar to HTTP status codes. Note, however, that the Registration status codes aren't identical to their HTTP counterparts. Registration error 415 (the authorization code has expired) is not the same as the HTTP status code 415 (unsupported media type). See the table below for information about the Registration error codes and what they mean.

A Registration error response always contains at least the following fields:

  • code: an integer error code.
  • error: a machine-readable string code.
  • error_description: a text description of the error.

Request token

Whenever an operation fails the response includes the request_token field, a generated string of 16 characters. The request token is recorded in Identity Cloud's internal API logs. If you submit a support ticket, you should include the request_token value so support personnel can check logs and find the exact operation and error.

Error codes

Error codes are grouped into the following categories:

  • 100. Missing argument.
  • 200-399. An argument is invalid.
  • 300-399. Occurs when creating, updating or querying records.
  • 340-369. Occurs when a record value violates the schema. Errors 340-359 are for data type errors and 360-379 are for constraint errors.
  • 400-499. Authentication and permission errors, including expired tokens and codes, and OAuth errors.
  • 500+. Unexpected internal errors.

A code that is a multiple of 100 or 10 is a catch-all for the codes below it, and may be split off into more specific codes in the future.

100

missing_argument. A required argument wasn't supplied.

200

invalid_argument. The argument was malformed or its value was invalid.

201

duplicate_argument. Two or more conflicting arguments were included in the same operation. For example, you typically can't use id and uuid in the same operation.

205

invalid_auth_method. The request used an invalid authentication method. Different operations support different authentication methods.

210

invalid_credentials. The supplied email address or password was incorrect.

211

no_password. The user tried to log in with an email address and password, but the account only supports social login.

212

no_such_account. The user tried to log in with an email address and password, but the email address doesn't exist.

213

password_incorrect. The user tried to log in with an email address and password. The email address was valid, but the password wasn't.

214

password_unacceptable. Occurs when password history is enabled and you try to reuse a previously-used password.

221

unknown_application. The application ID doesn't exist.

222

unknown_entity_type. The entity type doesn't exist.

223

unknown_attribute. A specified attribute doesn't exist. This can occur when trying to create or update a record, or when modifying an attribute.

224

application_not_found. The application can't be found on the specified domain.

226

flow_error. The flow is misconfigured and needs to be updated.

232

entity_type_exists. You tried to create an identity type that already exists. Entity type names must be unqiue within an application.

233

attribute_exists. Your to create an attribute that already exists. Attribute names must be unique within an entity type schema.

234

reserved_attribute. You attempted to modify a reserved attribute. Some attributes -- such as uuid and created -- can't be modified.

300

error_creating_record. An error occurred while creating a new record.

310

record_not_found. You referenced an entity or plural element that doesn't exist.

320

id_in_new_record. You tried to add an ID to a new entity or plural element.

330

timestamp_mismatch. The created or lastUpdated value doesn't match the supplied argument.

340

invalid_data_format. A JSON value wasn't formatted correctly.

341

invalid_json_type. A value didn't match the expected JSON type.

342

invalid_date_time. A date or dateTime value wasn't valid. For example, ithe value wasn't formatted correctly or was out of range.

352

unknown_application. Occurs if password history is enabled and you try to reuse a previously-used password.

360

constraint_violation. An attribute constraint was violated. For example, you tried to write string data to an attribute that can only hold integer data.

361

unique_violation. A unique or locally-unique constraint was violated.

362

missing_required_attribute. An attribute with the required constraint was either missing or set to null. Required attributes can't have null values.

363

length_violation. A string value violated an attribute’s length constraint. For example, you tried to save the string ABCD to an attribute that can contain a maximum of 2 characters.

380

email_address_in_use. You tried to register a new user, but an existing user already has that email address.

390

invalid_form_fields. The data submitted did not pass form validation. This error is also generated if you exceed the allowed number of login attempts. In that case, you'll get the error message "Too many attempts. Please try again later."

402

invalid_client_credentials. The client ID doesn't exist or the client secret is wrong.

403

client_permission_error. The client doesn't have permission to perform the action.

413

no_access_grant. The supplied authorization code is not valid because the user’s access grant has been deleted.

414

access_token_expired. The supplied access token has expired.

415

authorization_code_expired. The supplied authorization code has expired.

416

verification_code_expired. The supplied verification code has expired.

417

creation_token_expired. The supplied creation token has expired.

420

redirect_uri_mismatch. The redirect URL is invalid.

480

api_feature_disabled. The operation has been temporarily disabled for maintenance, and should be available again shortly.

500

unexpected_error. An unexpected internal error occurred.

510

api_limit_error. Generated any time your request exceeds rate limits such as the allowed number of registration requests.

540

triggered_error. An error was triggered in the flow.