SDK and API errors

When using ReachFive’s API or SDK, there are certain errors that you may encounter. Typically, you’ll find the error response associated with a particular method or API operation with the operation in the Identity or Management API or of course, with the method, if using the SDK.

If you want to dig deeper, this page provides you with the error types in one location. See the table below for that information.

ReachFive Error formatting

Error format for API
{
    "error_id": "2hNBbvYecw", (1)
    "error_description": "Invalid email or password", (2)
    "error_message_key": "error.invalidEmailOrPassword", (3)
    "error": "invalid_grant", (4)
    "error_user_msg": "Invalid email or password" (5)
}
1 The error_id is auto-generated for each error.
2 The error_description contains the message associated with the error_message_key.
3 The error_message_key contains the error key which is typically error.<error>.
4 The error is the general error category.
5 The error_user_msg is the user-friendly message based on the error_description.
Error format for SDK
{
"message": "<error_message>", (1)
"code": "<HTTP or WebAuthn Library code>", (2)
"exception": "<string>", (3)
"data": {
        "error_id": "2hNBbvYecw", (4)
        "error_description": "Invalid email or password", (5)
        "error_message_key": "error.invalidEmailOrPassword", (6)
        "error": "invalid_grant", (7)
        "error_user_msg": "Invalid email or password" (8)
    }
}
1 The error message.
2 The HTTP status code. For WebAuthn, instead of an HTTP status code, the code comes from the underlying WebAuthn library.
3 A string showing any exceptions.
4 The error_id is auto-generated for each error.
5 The error_description contains the message associated with the error_message_key.
6 The error_message_key contains the error key which is typically error.<error>.
7 The error is the general error category.
8 The error_user_msg is the user-friendly message based on the error_description.

ReachFive errors

The table below contains the error key (first column) and the error message (second column) for ReachFive errors.

Error key Error message

error.invalidEmailOrPassword

Invalid email or password

error.invalidPhoneNumberOrPassword

Invalid phone number or password

error.invalidOldPassword

Invalid old password

error.updateSamePassword

Password should be different from old password

error.notHaveOldPassword

Not have old password

error.email.notFound

Email not found {0}

error.email.required

Email is required

error.email.alreadyInUse

Email already in use

error.phoneNumber

The phone number is invalid

error.phoneNotFound

No account found with phone number {0}

error.phoneNumberAlreadyInUse

Another account with the same phone number already exists

error.invalidVerificationCode

Invalid verification code

error.expiredVerificationCode

Expired verification code

error.accountBlockedAfterMultipleLoginAttempts

Your account has been locked after multiple consecutive login attempts

error.socialAccountAlreadyInUse

Another user is already linked to this {0} account

error.socialAccountEmailAlreadyInUse

The email address associated with this {0} account is already used by an other account

error.socialAccountPhoneNumberAlreadyInUse

The phone number associated with this {0} account is already used by an other account

error.socialAccountEmailUnverified

The email address associated with this {0} account is unverified for the profile ID: {1}

error.invalidForm

Invalid form

error.unexpected

An unexpected error occurred. Please try again later.

error.path.missing

This field is required

error.emptyPayload

Empty payload

error.requestDeserialization

Cannot deserialize the request body

error.accessDenied

Access denied

error.password.policy

Password requirements not met

error.password.weak

Password too weak

error.password.length

Minimum length is {0}

error.password.max.length

Maximum length is {0}

error.password.special.characters

Minimum special characters required is {0}

error.password.lowercase.characters

Minimum lowercase characters required is {0}

error.password.uppercase.characters

Minimum uppercase characters required is {0}

error.password.digit.characters

Minimum digit characters required is {0}

error.custom_identifier.notFound

Custom identifier not found valeur du custom_identifier

error.hostedpages.auth

Authentication

error.hostedpages.authFailure

Authentication failed:

error.hostedpages.emailConfirmation

Email confirmation

error.hostedpages.emailConfirmationFailure

Email confirmation failed:

error.hostedpages.emailVerified

Your email is now verified.

error.hostedpages.goHome

Go home

error.hostedpages.passwordEdit

Edit password

error.hostedpages.passwordEditFailure

Password edition failed:

error.hostedpages.passwordReset

Reset password

error.hostedpages.passwordResetFailure

Password reset failed:

error.hostedpages.passwordSuccessfullyChanged

Your password has been successfully changed! You will be redirected in a few seconds …

error.hostedpages.passwordless

Passwordless

error.hostedpages.passwordlessFailure

Passwordless failed:

error.hostedpages.webauthnDevices

Registered Devices

error.hostedpages.webauthnDevicesFailure

Backing up your devices failed

error.hostedpages.thankYou

Thank you!

error.hostedpages.redirectUrl.invalid

Invalid redirect URL

error.hostedpages.redirectUrl.notWhitelisted

URL not whitelisted

error.hostedpages.returnTo.notWhitelisted

Return to URL not whitelisted

error.hostedpages.invalidConfiguration

Invalid configuration

error.hostedpages.clientNotFound

Couldn''t find hosted pages client

error.hostedpages.oidc.relyingPartyNeedsPermission

<strong>{0}</strong> needs your permission to access your {0} account.

error.hostedpages.oidc.thisWillAllowRelyingParty

This will allow <strong>{0}</strong> to:

error.hostedpages.oidc.accessYourScope

View your {0}

error.account.contextPath.notFound

No account found with contextPath [{0}]

error.account.notFound

Account not found

error.account.notExistAnymore

This account does not exist anymore.

error.account.settingsId.missing

Missing account settings id

error.account.id.notFound

No account found with id [{0}]

error.account.externalId.notFound

No account found with external_id [{0}]

error.account.email.notFound

No account found with email [{0}]

error.account.id.required

Missing account id

error.account.id.alreadyExists

An account already exists with the same id

error.account.ids.invalid

Invalid account ids

error.account.alreadyExists

Account already exists

error.account.accessDenied

You have no access to any account

error.account.noAccessSpecified

No global role nor account access specified

error.account.sourceNotFound

Source Account [{0}] not found

error.account.destinationNotFound

Destination Account [{0}] not found

error.account.esHostNotFound

Cannot find ES host for cluster [{0}]

error.account.alreadyActivated

This account have already been activated

error.account.unknown

Unknown account

error.account.anonymization.notAuthorized

Anonymization not authorized on this account

error.account.name.alreadyExists

Account {0} ({0}) already exists

error.account.inMaintenance

Account {0} is in maintenance

error.account.temporarilySuspended

Your account has been disabled for security reasons. Please reset your password by clicking the link sent by email or SMS or contact the site administrator to reactivate it. You can receive a new password reset link by clicking on "Forgot Password".

error.account.permanentlySuspended

Your account has been disabled for security reasons. Please contact the site administrator to reactivate it.

error.cluster.unknown

Unknown cluster

error.missingBody

Missing body

error.userAccessRequired

User access required

error.unknownTask

Unknown task

error.notFound

Not found

error.featureNotEnabled

This feature is not enabled

error.credentialsInvalid

Invalid client credentials

error.phoneNumberOrEmailRequired

A valid phone number or email is mandatory

error.criteriaPhoneOrEmailOnly

Only one criteria is allowed: phone or email

error.tooManyAttempts

Too many attempts

error.invalidDataType

Invalid data type

error.sortField.invalid

Invalid sort field

error.parsingFieldSelection

Field selection parsing error: Unexpected char at {0}

error.resultWindowTooLarge

Result window is too large. See export API for a more efficient way to extract a large dataset.

error.userEmail.notFound

Unable to find the user {0} email

error.invalidEventName

Invalid event name

error.decodeTokenIncorrectSecret

Failed to decode token due to incorrect secret

error.resource.notFound

No resource found at ''{0}'' for method {0}

error.identifier.mustBeValidEmail

The identifier must be a valid email.

error.identifier.mustBeValidEmailOrPhoneNumber

The identifier must be a valid email or a valid phone number.

error.interest.usedCantBeDeleted

Interest can''t be deleted while it is used in a segment

error.openGraphTags.fetchFailed

Could not fetch open graph tags

error.emailVerification.notConfigured

Verification email settings not configured

error.requestBody.parameters.required

Parameters must be passed in the request body

error.requestToken.notDelivered

No request token delivered by {0}

error.webhook.key.alreadyExists

Webhook key already exists.

error.pub-sub-hook.key.alreadyExists

Pub/Sub hook key already exists.

error.email.signup.notConfigured

Signup email not configured

error.filter.invalid

Invalid filter: {0}

error.filter.argumentOnField.invalid

Invalid filter: invalid argument on field ''{0}''

error.filter.operator.invalid

Invalid filter: invalid operator associated with field ''{0}''

error.filter.boolean.invalid

Invalid filter: boolean value expected with field ''{0}''

error.objectStorageTransfer.clientNotFound

Could not get ObjectStorageTransfer client from protocol: {0} with settings: {0}

error.objectStorageTransfer.upload

Could not upload data: {0}

error.objectStorageTransfer.couldNotDelete

Could not delete data: {0}

error.customField.invalid

Invalid custom field type

error.customField.notFound

Custom field not found

error.index.accountType.notFound

Account index type not found

error.index.type.notFound

Index type not found

error.index.template.notFound

Index template not found

error.index.notFound

Index not found

error.database.update

Unable to update database for account {0}

error.accessToken.missing

Access token missing

error.accessToken.expired

Access token expired

error.accessToken.invalid

Invalid access token

error.accessToken.freshness

Access token is not fresh enough.

error.accessToken.unexpected

Unexpected token response: ({0}) {0}

error.accessToken.scope.required

The token does not contain the required scope: {0}

error.accessToken.scope.insufficient

Scope insufficient. Expected: [{0}]

error.state.missing

Missing state

error.state.invalid

Invalid state

error.email.invalid

Invalid email

error.idToken.expired

ID token expired

error.idToken.invalid

Invalid id token

error.idToken.invalidIssuer

Invalid id token issuer

error.idToken.invalidAudience

Invalid id token audience

error.idToken.invalidNonce

Invalid id token nonce

error.authn.mfa.tkn.invalidFactor

Invalid authentication token type

error.authn.mfa.stepup.unavailable

This action is unavailable

error.authn.mfa.sms.unavailable

This action is not available

error.authn.mfa.stepup.unavailable

This action is unavailable

error.authn.mfa.stepup.invalidToken

Invalid token

error.authn.mfa.stepup.expiredToken

Expired token

error.mfa.noLiteOnly

A lite profile cannot register a mfa credential

error.oidc.authorize.access_denied.authServer

The request has been denied by the server.

error.oidc.authorize.access_denied.user

The request has been denied by the user.

error.oidc.authorize.consent_required

Consent is required by the user.

error.oidc.authorize.complete.missingRequest

Missing request form parameter.

error.oidc.authCode.missing

Missing authorization code

error.pkce.unsupportedAlgo

Unsupported PKCE algo {0}

error.pkce.codeVerifier.required

code_verifier is required

error.pkce.challenges.required

code_challenge and code_challenge_method are mandatory for this client.

error.pkce.implicitFlow.forbidden

Implicit flow is forbidden when PKCE is enforced.

error.pkce.request.notFound

Request pkce id not found

error.pkce.request.emptyCodeChallenge

Empty code_challenge.

error.pkce.request.invalidCodeChallenge

code_challenge must be between 43 and 128 characters long.

error.pkce.request.invalidOrExpired

PKCE code invalid or expired

error.client.implicitFlow.forbidden

Implicit flow forbidden for this client.

error.client.notFound

The client could not be found.

error.client.notIdentity

Not a first-party identity client

error.client.notFirstParty

Not a first-party identity client

error.client.notThirdParty

Not a third-party identity client

error.client.nameEmpty

Empty client name.

error.client.clientIdEmpty

Empty client ID.

error.client.redirectUrlNotAllowed

The redirect url is not allowed.

error.client.allowed_callback_urls.forbidden

allowed_callback_urls field not allowed on management client.

error.client.unauthorizedAPI

This client is not authorized to use Management API.

error.client.unauthorizedScope

This client is not allowed to use the requested scope(s): {0}

error.client.refreshToken.notEnabled

Refresh tokens cannot be enabled if no authentication method is required and PKCE is not enabled.

error.client.refreshToken.identityClientOnly

Refresh tokens are available only for identity clients.

error.client.consentPageSettings.empty

Empty consent page settings.

error.client.rsaKeyPair.jwtAlgorithmNotAllowed

RSA key pair management action unauthorized for non RS256 JWT algorithm: {0}.

error.client.thirdparty.mustEnforceScope

Third-party clients must enforce scope.

error.client.thirdparty.noFullWrite

Third-party clients cannot request the full_write scope.

error.client.thirdparty.noLoginUrl

Third-party clients cannot have login URLs.

error.clientSecret.missing

Missing client secret

error.clientSecret.invalid

Invalid client secret

error.clientId.missing

Missing client id

error.provider.unknown

Unknown provider

error.provider.unknownWithName

Unknown provider: {0}

error.provider.notSupported

Provider {0} is not supported.

error.provider.notSupportedForFakeLogins

Provider {0} not supported for fake logins

error.provider.authcode.missing

''provider_authcode'' param missing

error.provider.twitterError

Twitter error: {0}

error.provider.token.missing

''provider_token'' parameter missing

error.provider.secret.missing

''provider_secret'' parameter missing

error.provider.requestToken.notFound

No request token delivered by {0}

error.provider.profileLoading

Error during {0} profile loading: status={0} and body={0}

error.provider.tokenOrCode.required

One of ''provider_token'' or ''provider_code'' parameter is required.

error.provider.callback.unexpected

[{0}] Unexpected oauth callback: {0}

error.provider.identity.notFound

Identity provider {0} not found

error.provider.mailRu.noProfile

Mailru profile retrieving failed.

error.provider.unexpectedResponse

Unexpected {0} response

error.facebook.accessToken.invalid

Invalid OAuth access token.

error.facebook.accessToken.expired

Access token expired

error.facebook.authCode.alreadyUsed

Authorization code already used

error.facebook.authCode.expired

Authorization code expired

error.facebook.authCode.invalid.expired

Authorization code invalid or expired

error.facebook.authCode.invalid

Authorization code invalid

error.facebook.mustBeAdmin

You must be admin or developer of your Facebook application to use this feature.

error.facebook.audienceExportFail

Audience export failed

error.facebook.termsOfService.notAccepted

Terms of service of your ads account have not been accepted.

error.azureAd.noAccessToken

No access token delivered by Azure AD: [{0}] {0}

error.invalidFilter.boolean

Invalid filter: boolean value expected with field ''{0}''

error.invalidFilter.invalidOperator

Invalid filter: invalid operator associated with field ''{0}''

error.role.notAllowedAsGlobal

Role {0} is not allowed as a global role

error.role.notAllowedAsAccount

Role {0} is not allowed as an account role

error.roles.notAllowedAsAccount

Roles [{0}] are not allowed as account roles

error.user.notFound

User not found

error.user.alreadyHasGlobalAccess

User already has global access.

error.user.alreadyLinked

User is already linked to your account.

error.user.resource.accessNotGranted

You are not granted to access this resource

error.audience.notFound

Audience not found

error.webhook.key.notFound

Webhook key does not exist.

error.pub-sub-hook.key.notFound

Pub/Sub hook key does not exist.

error.interest.notFound

Interest not found

error.interest.ids.notFound

Interests {0} not found

error.twilio.notConfigured

Twilio not configured

error.smtp.notConfigured

SMTP provider not configured

error.smtpProvider.notConfigured

Email [{0}] not configured

error.sms.passwordReset

Password reset SMS not configured

error.sms.accountSuspension

Account suspension SMS not configured

error.sms.verificationNotConfigured

Verification SMS not configured

error.sms.passwordlessTemplate.notConfigured

Passwordless template not configured for SMS

error.passwordless.email.notConfigured

Passwordless email not configured

error.passwordless.sms.notConfigured

Passwordless SMS not configured

error.emailService.sendNotConfigured

Found no valid ''{0}'' configuration to send email

error.emailService.templateNotConfigured

Email [{0} - {0}] not configured

error.emailService.template.invalid

Invalid template [{0} - {0}]: {0}

error.emailService.redirectUrlMissing

Missing redirect url in ''{0}'' configuration

error.emailService.templateDisabled

Template ''{0}'' is disabled

error.responseType.unsupported

Unsupported response type

error.job.notFound

Job not found

error.job.definitionTypeChange

Job definition''s type can''t be changed, create a new job

error.job.couldNotCancelNonRunning

Could not cancel a non running job. Current status: {0}

error.job.notConfigured

Job type {0} not configured

error.job.settings.invalid

Settings are invalid for job {0}

error.auth.header.missing

Missing authorization header

error.auth.header.invalid

Invalid authentication header

error.auth.header.notExpected

Authorization header not expected

error.auth.method.unexpected

Unexpected authentication method: {0}

error.session.expired

Session expired

error.token.expired

Token expired

error.token.alreadyUsed

Token already used

error.token.clientId.invalid

Token client id is invalid

error.token.notAssociatedWithClient

The access token is not associated with this client

error.freshLogin.required

Fresh login required

error.user.notExistAnymore

This user does not exist anymore.

error.refreshToken.expired

Refresh token expired

error.refreshToken.revoked

Revoked refresh token

error.authCode.expired

Authorization code expired

error.authCode.alreadyUsed

Authorization code already used

error.redirectUri.missingParam

Missing ''redirect_uri'' param

error.redirectUri.invalid

Invalid redirect uri

error.token.invalid

Invalid token

error.redirectUri.missing

Missing ''redirect_uri'' param

error.email.updateNotConfigured

Email update verification not configured

error.emailOrPhoneNumber.required

Email or phone number is required

error.acs.sendEvent

ACS: Failed to send event using email: {0} and url: {0}, got {0}

error.acs.exchangeJwt

ACS: Failed to exchange jwt for an accessToken. ClientId: {0}

error.acs.failed

ACS failed: {0}

error.dialogInsight.userId.missing

Missing user Id in the My Dialog Insight merge response

error.dialogInsight.sendEmailStatus

Can''t read My Dialog Insight sendEmail status response

error.consent.notFound

Consent not found

error.consent.date.invalid

Consent date of ''{0}'' is not valid

error.consent.key.inexistent

Consent ''{0}'' is not valid doesn''t exist

error.consent.version.id.invalid

Consent version ID of ''{0}'' is not valid

error.consent.version.language.invalid

Consent version language of ''{0}'' is not valid

error.consent.archived.cannotBeUpdated

Archived consent ''{0}'' cannot be updated

error.consent.archived.cannotBeGranted

Archived consent ''{0}'' cannot be granted

error.consent.type.required

Consent type is mandatory for granted consents

error.consent.key.alreadyUse

Consent key ''{0}'' is already in use

error.consent.default.language.required

The translation of the version ''{0}'' in the account''s default language ({0}) is required

error.consent.group.nature.immutability

Consent’s nature (group | standalone) is set at creation time and can''t be modified afterward

error.consent.group.invalid.associated.keys

Consent group defined with invalid associated consents keys: {0}

error.feature.notAvailable

This feature is not available

error.feature.notEnabled

This feature is not enabled

error.recommendation.notFound

Recommendation not found

error.scope.insufficient

Scope insufficient. Requested values not validated by the user: [{0}]

error.scope.unknown

Unknown scope value(s): {0}

error.scope.missing

Missing scope: {0}

error.phoneNumber.invalid

The phone number is invalid

error.loginAs.noSettings

No settings for login-as feature

error.validation.url

Must be a valid URL.

error.validation.uri

Must be a valid URI.

error.oidc.grants.clientNotFound

No grant exists for this client ID

error.profile.defaultAddress.onlyOne

Only a single address can be a default address

error.profile.defaultAddress.required

A default address is required

error.profile.consents.invalid

Invalid consents

error.profile.phoneNumber.invalid

Invalid phone number

error.profile.emailOrPhoneNumber.shouldBePresent

valid email or phoneNumber should be present

error.profile.multipleMatching

Multiple matching profiles found: {0}

error.profile.externalIdMismatch

External ID mismatch.

error.profile.unifiedIdMismatch

Unified ID mismatch.

error.profile.tooManyMatching

Too many matching profile: {0}

error.profile.ids.identical

The two user ids are identical

error.profile.identity.notFound

Identity {0} not found

error.profile.identity.illegalState

Profile does not have the proper identification configured (email or phone)

error.profile.identity.missingEmail

Profile does not have an email address configured

error.profile.identity.missingPhoneNumber

Profile does not have a phone number configured

error.profile.identifier.atLeastOne.required

At least one identifier (external_id, email, phone number or provider ID) is required

error.profile.identity.unlink.notAuthorized

Local identity unlink is not authorized.

error.profile.provider.unlink.notAuthorized

Local provider unlink is not authorized.

error.profile.identifier.invalid

No valid identifier. An unique identifier (email{0}, unified ReachFive ID or external ID) should be provided.

error.lite.accounts.alreadyExist

2 Lite accounts already exist

error.profile.lite.unifiedId.invalid

Invalid unified ID provided: no matching existing profile with ID {0}

error.profile.lite.tooManyMatching

Too many matching lite profile: {0}

error.profile.lite.multipleMatching

Multiple matching lite profiles found: {0}

error.profile.lite.identifier.invalid

Invalid lite profile identifier(s). A lite profile can''t add identifiers if the profile has already one identifier.

error.profile.lite.id.notFound

Unable to find the Lite Profile with id: {0}

error.profile.lite.unableUpdateWithoutUnifiedId

Unable to update a LiteProfile without unifiedId

error.profile.lite.unableFindWithUnifiedId

Unable to find a LiteProfile with the unifiedId: {0}

error.profile.lite.identifiers.invalid

liteProfileInvalidIdentifiers

error.profile.ageFilter.forbiddenOperation

Invalid filter: ''{0}'' operator not authorized with field ''age''

error.profile.ageFilter.withInt

Invalid filter: integer value expected with field ''age''

error.profile.unknownProfileFilter

You are not allowed to filter with this fields: {0}

error.profile.emailModificationImpossible

An existing email cannot be modified with this endpoint

error.profile.phoneNumberModificationImpossible

An existing phone number cannot be modified with this endpoint

error.profile.cannotDecipher

Cannot decipher the hash

error.consoleUser.thirdPartyAlreadyUsed

A ReachFive account linked to the same third-party account already exists

error.consoleUser.deleted

Your account have been deleted. Please ask to your team to be granted access again.

error.consoleUser.alreadyActivated

Your account have already been activated.

error.consoleUser.accessRevoked

Your access have been revoked. Please ask to your team to be granted access again.

error.consoleUser.noSocialLogin

Unknown account. To enable social login access to an existing account, configure it in your account settings.

error.emailMessagingService.required

Email is required

error.emailMessagingService.sendFailed

Email sending failed

error.emailMessagingService.serviceUnavailable

The email provider is currently unavailable

error.smsMessagingService.noPhoneNumber

Can''t send SMS. Empty phone number for the profile {0}

error.smsMessagingService.noTemplate.updatePhone

Update phone number template not configured

error.smsMessagingService.noTemplate.updatePassword

Update password template not configured

error.es.resharding.incorrectNumberOfIndex

Incorrect number of index for alias {0} ({0} instead of 1)

error.webauthn.friendlyNameAlreadyAssociated

Friendly name ''{0}'' already associated with another device.

error.webauthn.credentialsNotFound

Your account is not associated with the provided credentials.

error.crypto.magento.invalidHashFormat

Invalid Magento hash format

error.crypto.magento.invalidAlgorithm

Invalid Magento hashing algorithm version: {0}

error.crypto.magento.emptyVersionsList

Empty Magento algorithm versions list

error.unverifiedLogin

Unverified identifier account

User message is typically:

Unverified identifier account. To login, please verify your identifier with the email or the SMS that you received.

error.invalidLoginType

Invalid login type. Occurs when an unapproved identifier attempts to log in.

You cannot authenticate using {0}

Useful tips

The -1 error for SDKs

If you get an error code of -1 in the code field for SDK response errors, this is due to an unexpected error that has occurred.

We will need to work with you specifically on your deployment here as perhaps something was not set up properly. Contact support@reach5.co for more help.

Automated testing

If you are creating automated tests to test for errors, do not use the error message. You should only use the error_message_key for testing purposes.