# Request an identification

This endpoint requests Solaris to begin the process for the person identification specified in the URL. The status of the identification will change to pending.  Once the identification process finishes, you will receive a notification from the IDENTIFICATION webhook and the status will change to completed or failed depending on the outcome.

Endpoint: PATCH /v1/persons/{person_id}/identifications/{id}/request
Version: 1.0

## Path parameters:

  - `person_id` (string, required)
    The unique ID of the person resource created for a customer.
    Example: "dc1a6812a14f6cc338cd084208535bcdcper"

  - `id` (string, required)
    The unique ID of the identification resource created for a customer.
    Example: "6dc54352d6793a892e0702850d07b831cidt"

## Request fields (application/json):

  - `secret` (string)
    Identification secret.

  - `device_data` (string)
    Encoded device fingerprint generated using the [Seon SDK](https://seon.io). See the [device monitoring guide](https://docs.solarisgroup.com/guides/kyc/device-monitoring)  for more information about generating this value.
    Example: "Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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"

## Response 200 fields (application/json):

  - `id` (string)
    ID of the person identification.
    Example: "9dfe2f4edaa67138be0c0c1cd3a7d849cidt"

  - `reference` (string)
    Reference generated by the identification provider.
    Example: "TST-ELCCJ"

  - `url` (string)
    (IDnow only) Redirect URL used to start the identification process.
    Example: "https://go.test.idnow.de/company_id/identifications/identification_id"

  - `status` (string)
    The current status of the identification. Note The status value depends on the identification method, check the [KYC guides](https://docs.solarisgroup.com/guides/kyc) for more information.
    Enum: "aborted", "authorization_required", "confirmation_required", "confirmed", "created", "canceled", "expired", "failed", "identification_data_required", "pending", "pending_successful", "pending_failed", "processed", "rejected", "successful", "signed"

  - `completed_at` (string)
    Date and time when the identification was completed.
    Example: "2021-09-14T18:18:28.000Z"

  - `method` (string)
    The method used for the identification.
    Enum: "bank", "bank_id", "bank_plus", "fourthline", "idnow", "idnow_autoident", "idnow_custom", "manual", "postident"

  - `proof_of_address_type` (string)
    The type of document submitted by the customer as a proof of address if their identification document did not include their address.
    Enum: "BANK_ACCOUNT_STATEMENT", "CERTIFICATE_OF_REGISTRATION", "ELECTRICITY_BILL", "GAS_BILL", "HEATING_BILL", "INTERNET_BILL", "TELEPHONE_BILL", "WATER_BILL"

  - `proof_of_address_issued_at` (string)
    The date when the proof of address document was issued.
    Example: "2021-12-03"

  - `iban` (string)
    Optional IBAN provided for bank and bank_id identifications.
    Example: "DE11010101010101010100"

  - `authorization_expires_at` (string,null)
    The date and time by which the authorization for the end customer must be requested.

  - `confirmation_expires_at` (string,null)
    The date and time by which the customer must input the OTP sent to their mobile number for the QES process.

  - `terms_and_conditions_signed_at` (string)
    The date and time when the customer signed the terms and conditions.

## Response 400 fields (application/json):

  - `id` (string)
    Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86"

  - `status` (string)
    Example: "400"

  - `code` (string)
    Example: "idnow_error"

  - `title` (string)
    Example: "IDnow Error"

  - `detail` (string)
    Example: "Request to IDnow failed: [{\"cause\"=>\"BAD_REQUEST\", \"errorType\"=>nil, \"id\"=>\"44893509\", \"key\"=>nil, \"message\"=>nil, \"translationKey\"=>nil}]"

## Response 403 fields (application/json):

  - `id` (string)
    Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86"

  - `status` (string)
    Example: "403"

  - `code` (string)
    Example: "unauthorized_action"

  - `title` (string)
    Example: "Unauthorized Action"

  - `detail` (string)
    Example: "Unauthorized action is not allowed."

## Response 404 fields (application/json):

  - `id` (string)
    Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86"

  - `status` (string)
    Example: "404"

  - `code` (string)
    Example: "model_not_found"

  - `title` (string)
    Example: "Model Not Found"

  - `detail` (string)
    Example: "Couldn't find 'Solaris::Identification' for id 'bbbcccfff388923eb899a5852df6cidt'."

## Response 412 fields (application/json):

  - `id` (string)
    Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86"

  - `status` (string)
    Example: "412"

  - `code` (string)
    Example: "identification_attempts_exceeded"

  - `title` (string)
    Example: "Identification Attempts Exceeded"

  - `details` (string)
    Example: "There are more than 19 unsuccessful attempts"

## Response 422 fields (application/json):

  - `id` (string)
    Example: "a95f2aaf-4e0c-4d49-8021-8a16a884ed86"

  - `status` (string)
    Example: "422"

  - `code` (string)
    Example: "invalid_secret"

  - `title` (string)
    Example: "Invalid Secret"

  - `details` (string)
    Example: "Invalid Secret submitted"

## Response 500 fields (application/json):

  - `id` (string)
    Example: "e8915041-9d8c-4d96-9dd1-04e8522ecdbf"

  - `status` (string)
    Example: "500"

  - `code` (string)
    Example: "generic_error"

  - `title` (string)
    Example: "Generic Error"

  - `detail` (string)
    Example: "There was an error."


