# Enroll disposable certificate with eID assertion

Enrolls a disposable certificate using an eID assertion. Returns certificate details and OTP identifier (if otpType=SMS or otpType=EMAIL). See enrollDisposableWitheIDAssertion and How to enroll with eID assertion.

Endpoint: POST /api/certificate/{lraId}/enrollDisposableWitheIDAssertion
Version: 26.1.0.3
Security: basicAuth, sslCertificate

## Path parameters:

  - `lraId` (string, required)
    Local Registration Authority (LRA) identifier.

## Request fields (application/json):

  - `eidAssertionHolder` (object, required)
    eID assertion holder data. Contains the eID type, country, and base64-encoded assertion.

  - `eidAssertionHolder.country` (string, required)
    Country code of the eID provider. ISO 3166-1 alpha-2 code. Together with eIDType identifies the eID method (e.g., IT-SPID, IT-EIDNAMIRIAL, AT-EID).
    Example: "IT"

  - `eidAssertionHolder.eIDType` (string, required)
    Type of eID assertion. Together with country identifies the eID method (e.g., IT-SPID, IT-EIDNAMIRIAL, AT-EID). Allowed values depend on LRA configuration.
    Example: "SPID"

  - `eidAssertionHolder.assertion` (string, required)
    Base64-encoded eID assertion. The format depends on eIDType.

  - `certificate` (object, required)
    Certificate configuration. Specifies password, security code, certificate type, and OTP type.

  - `certificate.password` (string, required)
    Certificate PIN.

  - `certificate.securityCode` (string, required)
    Certificate security code.

  - `certificate.fullData` (boolean)
    Enroll with full profile. Default: false.

  - `certificate.withoutUsageLimitLRA` (boolean)
    Omit LRA limitation of use (LoU). Default: false.

  - `certificate.type` (string)
    Disposable certificate type.
    Enum: "DISPOSABLE", "DISPOSABLE_30_DAYS", "LONG_LIVED", "DISPOSABLE_FEA"

  - `certificate.otpType` (string)
    OTP delivery method. See [allowed values](https://docs.namirial.app/products/leandisposable/enterprise-documentation/developer-documentation/api-references/lean-enum-types#disposableotptype). Default: SMS.
    Enum: "SMS", "EMAIL", "NO_OTP", "EXTERNAL_OTP"

  - `certificate.transactionLimit` (object)

  - `certificate.transactionLimit.value` (integer)
    Maximum transaction value.

  - `certificate.transactionLimit.currency` (string)
    Currency code. ISO 4217.

  - `certificate.limitationOfUse` (object)

  - `certificate.limitationOfUse.withoutUsageLimitLRA` (boolean)
    Omit LRA limitation of use. Default: false.

  - `certificate.limitationOfUse.language` (string)
    Language of the limitation of use text. ISO 639-1 alpha-2 code.

  - `contacts` (object)
    Contact information. Required if certificate.otpType=SMS (provide mobile) or certificate.otpType=EMAIL (provide email).

  - `contacts.email` (string)
    Email address of the holder. Required if otpType=EMAIL.

  - `contacts.mobile` (string)
    Mobile phone number in E.164 format with + prefix (e.g. +390000000000). Required if otpType=SMS.

  - `buReId` (string)
    Business relation identifier (optional).

## Response 200 fields (application/json):

  - `cert` (string)
    Base64-encoded DER certificate.

  - `certType` (string)
    Certificate type, as specified in disposableCertificate.type.
    Enum: "DISPOSABLE", "DISPOSABLE_30_DAYS", "LONG_LIVED", "DISPOSABLE_FEA"

  - `certUsageLimit` (string)
    Limitation of use (LoU) text embedded in the certificate.

  - `certSerialNumber` (string)
    Certificate serial number (hex).
    Example: "60F2373BFCEB569E"

  - `certIdOtp` (integer,null)
    OTP certificate identifier. Pass this value to sendOtp and validate. null if otpType=NO_OTP or otpType=EXTERNAL_OTP.
    Example: 1234567

  - `deviceCode` (string)
    Device code associated with the issued certificate. Pass this value to sendOtp and validate.
    Example: "RHIDP0000000000000"

## Response 500 fields (application/json):

  - `code` (integer, required)
    Application error code.
    Example: 242

  - `message` (string, required)
    Human-readable error description. For validation errors (code 242), includes field-level details in the format Input parameter invalid: [{field=..., message=...}].
    Example: "Input parameter invalid: [{field=disposableHolder, message=must not be null}]"


