# How to handle errors

This page describes common errors and how to handle them in your integration.

## Most common error codes

- [Error 10068](#error-10068-non-unique-cell-phone-number): Non-unique cell phone number
- [Error 6](#error-6-generic-exception): Generic exception - Internal exception
- [Error 8](#error-8-alphanumeric-symbols-not-allowed-in-the-contacts): Alphanumeric symbols not allowed in the contacts
- [Error 81](#error-81-wrong-tax-code-or-personal-identification-number): Wrong tax code or personal identification number
- [Error 88](#error-88-the-document-type-is-not-valid): The document type is not valid
- [Error 104](#error-104-the-document-type-is-not-enabled): The document type is not enabled
- [Error 2091](#error-2091-name-doesnt-belong-to-the-tax-code): Error due to the name that doesn't belong to the tax code entered
- [Error 10094](#error-10094-product-does-not-exist): Product does not exist
- [Error 11010](#error-11010-the-identification-type-is-not-valid): The identification type defined in the holder is not valid
- [Error 11011](#error-11011-the-identification-type-is-not-enabled): The identification type is not enabled


### Error 10068: Non-unique cell phone number

This error is triggered by the [`checkData`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-checkdata/lean-checkdata-method) and [`enroll`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-enroll/lean-enroll-method) methods. When it occurs, it is not possible to enroll a disposable with the same data.
See [Non-unique phone number](/products/leandisposable/enterprise-documentation/developer-documentation/integration-guide/lean-faq-not-unique-phone-number) for details on how the uniqueness check works.

### Error 6: Generic exception

This is a generic internal exception that should not occur in normal operation.
Open a support request to investigate the issue.

### Error 8: Alphanumeric symbols not allowed in the contacts

This error is triggered when the phone number or email in the [`DisposableContacts`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/data-objects#disposablecontacts) object contain invalid characters or symbols.
You cannot enroll a disposable certificate with this data.

### Error 81: Wrong tax code or personal identification number

This error is triggered when the identification code in the [`DisposableHolder`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/data-objects#disposableholder) object is invalid.
You cannot enroll a disposable certificate with this identification code.

### Error 88: The document type is not valid

This error is triggered when the document type is not valid.
Enroll a new disposable certificate using a valid document type.

### Error 104: The document type is not enabled

This error is triggered when the document type exists but is not enabled.
Enroll a new disposable certificate using an enabled document type.

### Error 2091: Name doesn't belong to the tax code

This error is triggered when there is a mismatch between `firstName`/`lastName` and the identification code in the [`DisposableHolder`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/data-objects#disposableholder) object.
You cannot enroll a disposable certificate with this data.

### Error 10094: Product does not exist

This error is triggered when the disposable type defined in [`DisposableType`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-enum-types#disposabletype) is not valid.
Check the [allowed values](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-enum-types#disposabletype).

### Error 11010: The identification type is not valid

This error is triggered when the identification type in the holder is not valid.
Enroll a new disposable certificate using a valid identification type.

### Error 11011: The identification type is not enabled

This error is triggered when the identification type exists but is not enabled.
Enroll a new disposable certificate using an enabled identification type.

## Issues due to a missing or wrong parameter

- [Error 2](#error-2-empty-field): Empty field
- [Error 3](#error-3-empty-fields-not-allowed-or-wrong-format): Empty field(s), field(s) not allowed or field(s) in wrong format
- [Error 242](#error-242-input-parameter-invalid): Input parameter invalid
- [Error 248](#error-248-aml-input-parameter-invalid): AML input parameter invalid
- [Error 2084](#error-2084-language-not-found): The language was not found


### Error 2: Empty field

This error is triggered when a required field is empty.
Check the documentation of the specific method for the required fields.

### Error 3: Empty fields, not allowed or wrong format

This error is triggered when a required field is empty or a parameter contains a value that is not allowed.
Check the documentation of the specific method for the allowed and required values.

### Error 242: Input parameter invalid

This error is triggered when an input parameter is not valid.
Check the documentation of the specific method for the allowed values.

### Error 248: AML input parameter invalid

This error is triggered when an AML input parameter is not valid.
Check the documentation of the specific method for the allowed values.

### Error 2084: Language not found

This error is triggered when an API (such as [`getErrors`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-errors/lean-geterrors-method) or [`getDisposableContract`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-documents/lean-getdisposablecontract-method)) requires a `languageCode` parameter and the specified value is not allowed.
Check the documentation for the allowed language codes.

## OTP issues

- [Error 99](#error-99-otp-was-not-sent): OTP was not sent
- [Error 100](#error-100-the-mobile-phone-number-is-not-valid): The mobile phone number is not valid
- [Error 101](#error-101-sms-blocked-by-the-watchlist): SMS blocked by the watchlist
- [Error 102](#error-102-the-email-address-is-not-valid): The email address is not valid
- [Error 103](#error-103-the-otp-service-has-exceeded-the-timeout): The OTP service has exceeded the timeout
- [Error 231](#error-231-otp-is-blocked): OTP is blocked


### Error 99: OTP was not sent

This is a generic error triggered when the OTP cannot be sent, with a root cause different from errors 100, 101, and 102.
Open a support request to investigate the reason.

### Error 100: The mobile phone number is not valid

This error is triggered when the mobile phone number is not valid and the SMS cannot be sent.
Enroll a new disposable certificate using a valid phone number.

### Error 101: SMS blocked by the watchlist

This error is triggered when the mobile phone number is in the watchlist used by the disposable service.
It is not possible to send an SMS to that phone number. Enroll a new disposable certificate using a different phone number.

### Error 102: The email address is not valid

This error is triggered when the email address is not valid and the OTP cannot be sent by email.
Enroll a new disposable certificate using a valid email address.

### Error 103: The OTP service has exceeded the timeout

This error is triggered when the OTP gateway is not available.
Retry the [`sendOtp`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-send-otp/lean-sendotp-method) call.

### Error 231: OTP is blocked

This error is triggered when the OTP device (identified by `certIdOtp`) is blocked after 10 consecutive failed validation attempts.
To resolve this issue you can:

- Enroll a new disposable certificate with the same data.
- Use the `errorReset` method in the OTP Services to force a reset of the error count.


## Authentication issues

- [Error 11001](#error-11001-client-authentication-failed): Client authentication failed
- [Error 11002](#error-11002-basic-authentication-failed): Basic authentication failed
- [Error 15000](#error-15000-on-behalf-of-not-valid): Authentication error, on-behalf-of not valid


### Error 11001: Client authentication failed

This error is triggered when the client certificate authentication fails.
Verify that you are using a valid SSL certificate for the target environment.

### Error 11002: Basic authentication failed

This error is triggered when the basic authentication fails.
Verify that you are using the correct credentials for the target environment.

### Error 15000: On-behalf-of not valid

This error is triggered when the on-behalf-of parameter does not match a valid user, or the account used for basic authentication is not authorized to use this parameter.
Contact Namirial support to verify the configuration.

## Issues due to a missing or bad configuration

- [Error 41](#error-41-enroll-process-error): Enroll process error
- [Error 74](#error-74-lra-not-authorized-for-this-otp-type): LRA not authorized to use this OTP type for the specific identification type
- [Error 80](#error-80-pcs-error): PCS error - Error with the certificate type
- [Error 232](#error-232-template-dn-not-found): Template DN not found for the requested certificate
- [Error 240](#error-240-template-otp-error): Template OTP error
- [Error 241](#error-241-lra-not-authorized-to-use-this-otp-type): LRA not authorized to use this OTP type
- [Error 244](#error-244-lra-not-authorized-for-eid): LRA not authorized for the specified eID
- [Error 245](#error-245-lra-not-authorized-to-use-this-service): LRA not authorized to use this service
- [Error 247](#error-247-lra-not-authorized-for-aml): LRA not authorized for AML identification
- [Error 2083](#error-2083-contract-template-not-found): Contract template not found


### Error 41: Enroll process error

This error is triggered when there is a configuration mismatch in the certificate type table — the category code does not match the `disposableType` specified in the `DisposableCertificate` object.
Open a high-priority support request to investigate the configuration.

### Error 74: LRA not authorized for this OTP type

This error is triggered when there is a configuration mismatch in the OTP type table — the OTP type does not match the identification type in the configuration.
Open a high-priority support request to investigate the configuration.

### Error 80: PCS error

This error is triggered when the certificate type is not enabled for the LRA.
Open a support request to enable the certificate type for the LRA.

### Error 232: Template DN not found

This error is triggered when the DN template is missing for the `disposableType` specified in the `DisposableCertificate` object.
Open a high-priority support request to investigate the configuration.

### Error 240: Template OTP error

This error is triggered when the OTP template is not configured for the LRA.
Open a support request to add the OTP template for the LRA.

### Error 241: LRA not authorized to use this OTP type

This error is triggered when the [`OtpType`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-enum-types#disposableotptype) specified in [`DisposableCertificate`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/data-objects#disposablecertificate) is not authorized for the LRA.
Open a support request to add the OTP authorization for the LRA.

### Error 244: LRA not authorized for the specified eID

This error is triggered when the country/eIDType pair used in [`enrollDisposableWitheIDAssertion`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-enroll/lean-enroll-eid-assertion-method) is not authorized for the LRA.
Open a support request to add the eID authorization for the LRA.

### Error 245: LRA not authorized to use this service

This error is triggered when the service used in [`getAwsParameter`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-documents/lean-getawsparameter-method) is not authorized for the LRA.
Open a support request to add the service authorization for the LRA.

### Error 247: LRA not authorized for AML identification

This error is triggered when the LRA is not authorized to use AML identification.
Open a support request to add the AML authorization for the LRA.

### Error 2083: Contract template not found

This error is triggered when the document templates (NAMCA22D, privacy, and T&C) are not configured for the LRA.
Open a high-priority support request to investigate the missing templates.

## eID assertion issues

- [Error 235](#error-235-wrong-assertion): Wrong assertion
- [Error 237](#error-237-the-assertion-is-expired): The assertion is expired
- [Error 238](#error-238-the-assertion-signature-is-invalid): The assertion signature is invalid
- [Error 246](#error-246-the-saving-assertion-process-returned-an-error): The saving assertion process returned an error


### Error 235: Wrong assertion

This error is triggered when the provided assertion is not valid.
Verify that the identity provider and the relying party are authorized.

### Error 237: The assertion is expired

This error is triggered when the provided assertion has expired.
Request a new assertion from the identity provider and retry.

### Error 238: The assertion signature is invalid

This error is triggered when the provided assertion has an invalid signature.
Verify the assertion integrity and retry.

### Error 246: The saving assertion process returned an error

This error is triggered when a problem occurs during the assertion saving process.
This is usually a temporary error — retry the enroll method with the same data.

## FRA Service errors

- [Error 97](#error-97-certificate-expired): Certificate expired (Timeout superato)


### Error 97: Certificate expired

This error is triggered when a signature request is made using an expired certificate.

When a disposable certificate is issued, it can only be used for signing within a limited time window after enrollment:

- **DISPOSABLE**: 60 minutes
- **DISPOSABLE_30_DAYS**: 30 days
- **LONG_LIVED**: depends on configuration


This limit also applies to long-lived disposable certificates.

If this error occurs, a new certificate must be issued.

> **Note**: Do not confuse the certificate validity window with the validity of the signatures themselves (60 minutes or 30 days after creation time, depending on the type).


## Upload document errors

- [Error 85](#error-85-device-type-missing-or-not-allowed): Device type missing or not allowed
- [Error 1027](#error-1027-the-document-is-duplicated): The document is duplicated
- [Error 1028](#error-1028-the-file-exceeds-the-maximum-size-limit): The file exceeds the maximum size limit


### Error 85: Device type missing or not allowed

This error is triggered when the `deviceCode`/`idOtp` pair is invalid or not associated to an issued disposable certificate.
Verify that you are using the correct `deviceCode` and `idOtp` values returned by the `enroll` method.

### Error 1027: The document is duplicated

A document with the same content already exists. Change the document content and retry.

### Error 1028: The file exceeds the maximum size limit

The document exceeds the maximum allowed size. Use a smaller file.

## Issues with data previously stored in the registration authority

- [Error 11003](#error-11003-no-results-found-for-the-holder): No results found for the holder
- [Error 11004](#error-11004-mismatch-in-identification-holder-data): Mismatch in identification holder data
- [Error 11006](#error-11006-mismatch-in-document-type): Mismatch in document type
- [Error 11007](#error-11007-mismatch-in-document-number): Mismatch in document number
- [Error 11008](#error-11008-mismatch-in-contacts): Mismatch in contacts


### Error 11003: No results found for the holder

This error is triggered when the holder data in the [`DisposableHolder`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/data-objects#disposableholder) object does not match any record previously stored in the registration authority database.
You cannot enroll a disposable certificate with this data.

### Error 11004: Mismatch in identification holder data

This error is triggered when the holder data in the [`DisposableHolder`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/data-objects#disposableholder) object does not match the data previously stored in the registration authority database.
You cannot enroll a disposable certificate with this data.

### Error 11006: Mismatch in document type

This error is triggered when the `documentType` in the [`DisposableDoc`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/data-objects#disposabledoc) object does not match the data previously stored in the registration authority database.
You cannot enroll a disposable certificate with this data.

### Error 11007: Mismatch in document number

This error is triggered when the `documentNumber` in the [`DisposableDoc`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/data-objects#disposabledoc) object does not match the data previously stored in the registration authority database.
You cannot enroll a disposable certificate with this data.

### Error 11008: Mismatch in contacts

This error is triggered when the contacts in the [`DisposableContacts`](/products/leandisposable/enterprise-documentation/developer-documentation/api-references/data-objects#disposablecontacts) object do not match the data previously stored in the registration authority database.
You cannot enroll a disposable certificate with this data.