openapi: 3.0.1
info:
  title: Customer Identification (KYC)
  description: All endpoints related to customer identifications (KYC).
  version: '1.0'
servers:
  - url: https://api.solaris-sandbox.de
    description: Sandbox
  - url: https://api.solarisbank.de
    description: Production
paths:
  /v1/persons/{person_id}/identification_eligibility_checks:
    post:
      tags:
        - Person identifications
      summary: (Bankident only) Check identification eligibility
      description: >-
        Validates whether the person specified in the request URL is eligible to
        complete a given identification method.
      parameters:
        - $ref: '#/components/parameters/person_id'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                method:
                  description: >-
                    The identification method to check for eligibility for the
                    given person. Currently only works for Bankident. 
                  type: string
                  enum:
                    - bank
                  example: bank
        description: the content of the request
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-Eligibility-Check
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification_eligibility_check#create
  /v1/persons/{person_id}/identifications:
    post:
      tags:
        - Person identifications
      summary: Create an identification
      description: >-
        Creates an identification for the person specified in the request URL.
        Note that this endpoint does **not** send a request to the
        identification provider to start the identification process.
      parameters:
        - $ref: '#/components/parameters/person_id'
      requestBody:
        $ref: '#/components/requestBodies/Solaris-Request-Params-Identification'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Identification'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#create
    get:
      tags:
        - Person identifications
      summary: Index identifications for a person
      description: Returns all identifications for the person specified in the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/Solaris-Server-Decorators-Identification
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#all
  /v1/persons/{person_id}/identifications/{id}/supported_documents:
    get:
      tags:
        - Person identifications
      summary: List supported documents for a person identification
      description: >-
        Returns an array of document types that a customer may use to identify
        themselves along with a list of allowed issuing countries. The
        `issuing_countries` are provided as ISO country codes (ISO-3166-1 alpha
        2). If the customer does not provide a supported document type in the
        identification process, then their identification will eventually fail.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      description: Document type
                      example: Passport
                    issuing_countries:
                      type: array
                      description: Array of country codes
                      items:
                        type: string
                        example: ES
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#supported_documents
  /v1/persons/{person_id}/identifications/{id}/supported_documents_from_fourthline:
    get:
      tags:
        - Person identifications
      summary: List supported documents from Fourthline for a person identification
      description: >-
        Returns an array of document types as returned from Fourthline that a
        customer may use to identify themselves along with a list of allowed
        issuing countries. The `issuingCountry` is provided as ISO country code
        (ISO-3166-1 alpha 2). If the customer does not provide a supported
        document type in the identification process, then their identification
        will eventually fail.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    issuingCountry:
                      type: string
                      description: Country code
                      example: ES
                    idDocuments:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            description: Document Type
                            example: Passport
                          nationalities:
                            type: array
                            description: Array of Country codes
                            items:
                              type: string
                              description: Country code
                              example: ES
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#supported_documents_from_fourthline
  /v1/persons/{person_id}/identifications/{id}/request:
    patch:
      tags:
        - Person identifications
      summary: Request an identification
      description: >-
        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.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                secret:
                  description: Identification secret.
                  type: string
                device_data:
                  type: string
                  description: >-
                    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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
        description: The content of the request.
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IdentificationWithWaitingTime
        '400':
          description: IDnow error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400IDnow'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Model not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '412':
          description: >-
            There are more than 19 unsuccessful identification attempts for this
            customer.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error412'
        '422':
          description: Client error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_service_identification#request
  /v1/persons/{person_id}/identifications/{id}:
    get:
      tags:
        - Person identifications
      summary: Retrieve a person identification
      description: >-
        Returns a completed person identification (i.e., the person
        identification process was successful). If you use the
        `include_documents` filter, this method will also return the documents
        submitted by the customer during the identification process. 
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
        - name: include_documents
          in: query
          description: >-
            Specifies whether this method should include the documents submitted
            during the identification process in the response.
          required: false
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Identification'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#find
  /v1/identifications:
    get:
      tags:
        - Person identifications
      summary: Index all person identifications
      description: Returns all identifications for all of your customers.
      parameters:
        - name: page[number]
          in: query
          description: Page Number
          required: false
          schema:
            type: string
        - name: page[size]
          in: query
          description: Determines the size of each page of results.
          required: false
          schema:
            type: string
        - name: filter[reference]
          in: query
          description: Filters the returned identifications by a specific reference.
          required: false
          schema:
            type: string
        - name: filter[id]
          in: query
          description: >-
            Filters the returned identifications by a specific identification
            ID.
          required: false
          schema:
            type: string
        - name: filter[status]
          in: query
          description: Filters the returned identifications by a specific status.
          required: false
          schema:
            type: string
        - name: filter[person_id]
          in: query
          description: Filters the returned identifications by a specific person ID.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Identification'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_service_identification#all_for_partner
  /v1/persons/{person_id}/identifications/{id}/authorize:
    patch:
      tags:
        - Person identifications
      summary: Start e-signing authorization process
      description: >-
        This method begins the authorization process for a person identification
        via BankIdent. When called, it triggers a Swisscom iframe and it also
        prompts Swisscom to send an SMS OTP to the customer. Call this endpoint
        when an identification reaches the `authorization_required` status.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: >-
            The QES process has been triggered. The customer must confirm by
            entering the received SMS OTP.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-Start-Esigning-Process-Response
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#authorize
  /v1/persons/{person_id}/identifications/{id}/confirm:
    patch:
      tags:
        - Person identifications
      summary: Confirm QES e-signing
      description: >-
        Use this endpoint to send the SMS OTP from the customer to Swisscom to
        confirm the e-signing for a person identification via BankIdent. Call
        this endpoint when the person identification reaches the status
        `confirmation_required`.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      requestBody:
        description: The content of the request.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  type: string
                  description: The OTP the customer received from Swisscom.
                  example: '1234'
      responses:
        '200':
          description: >-
            The customer has successfully entered the SMS OTP. The QES process
            is complete.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-Confirm-QES-Esigning-Response
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
                  status:
                    type: string
                    example: '403'
                  code:
                    type: string
                    example: duplicate_confirm_error
                  title:
                    type: string
                    example: Duplicate Confirm Error
                  detail:
                    type: string
                    example: Confirm token has been submitted twice.
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#confirm
  /v1/persons/{person_id}/bank_identification_attempts:
    get:
      tags:
        - Person identifications
      summary: (Bankident only) Index person bank identification attempts
      description: >-
        Returns all bank identifications attempts for the person specified in
        the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/Solaris-Server-Decorators-BankIdentificationAttempt
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_bank_identification_attempt#all
  /v1/persons/{person_id}/identifications/{id}/idnow_attempts:
    get:
      tags:
        - Person identifications
      summary: (IDnow only) List the IDnow attempts of a person identification
      description: >-
        Returns a list of IDnow attempts within a person identification. Each
        returned attempt includes the result, the reason (if the attempt was
        aborted), and the payload from the webhook related to that attempt.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-IdnowAttempt'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#list_idnow_attempts
  /v1/persons/{person_id}/identifications/{id}/legitimation_data:
    get:
      tags:
        - Person identifications
      summary: (IDnow only) Get legitimation data
      description: >-
        Returns information about the document that was used for legitimating an
        identification (e.g., passport, national ID).
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IdentificationLegitimation
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#read_legitimation
    patch:
      tags:
        - Person identifications
      summary: Update legitimation data
      description: Update the legitimation data of an identification
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              example:
                legitimation_document_number: '12345678910'
                legitimation_type: PASSPORT
                legitimation_issuer: Stadt Heidelberg
                legitimation_country: GERMANY
                legitimation_issued_at: '2010-01-01'
                legitimation_valid_until: '2020-01-01'
              required:
                - legitimation_document_number
              type: object
              properties:
                legitimation_document_number:
                  description: The document number of the legitimation
                  type: string
                legitimation_type:
                  description: Legitimation type
                  type: string
                legitimation_issuer:
                  description: Issuer of the legitimation
                  type: string
                legitimation_country:
                  description: Country that issued legitimation
                  type: string
                legitimation_issued_at:
                  description: >-
                    The date at which the legitimation was issued at. **Note**
                    Not required for Spanish ID cards.
                  type: string
                  format: date
                legitimation_valid_until:
                  description: The date until which the legitimation is valid
                  type: string
                  format: date
        description: the content of the request
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IdentificationLegitimation
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#update_legitimation
  /v1/persons/{person_id}/identifications/{id}/zip:
    post:
      tags:
        - Person identifications
      summary: >-
        (Fourthline only) Upload .zip file with required identification
        documents
      description: >-
        Uploads a .zip file to the person identification specified in the
        request URL (if the identification method requires it). The
        identification must have already been requested. This method is only
        relevant for identifications using **Fourthline.**
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                document:
                  description: The .zip file to upload.
                  type: string
                  format: binary
              required:
                - document
        required: true
      responses:
        '200':
          description: Successful result of the operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Resources-Document'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#zip
  /v1/persons/{person_id}/identifications/{id}/pdf:
    get:
      tags:
        - Person identifications
      summary: (PostIdent only) Retrieve PostIdent identification PDF
      description: >-
        Returns the PDF file generated from a PostIdent identification. The
        identification must have already been requested.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      responses:
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#pdf
  /v1/persons/{person_id}/device_consents:
    post:
      tags:
        - Device Monitoring
      summary: Create user consent for device monitoring
      description: >-
        Records consent from the given person (specified in the request URL) to
        collect device fingerprints on their registered device. Each consent is
        tied to a specific device.
      parameters:
        - $ref: '#/components/parameters/person_id-2'
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceConsent'
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-DeviceConsent'
        '400':
          description: You sent invalid data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-2'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Person with the given ID does not exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404-2'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_device_consent#create
  /v1/persons/{person_id}/device_consents/{device_consent_id}:
    patch:
      tags:
        - Device Monitoring
      summary: Update user consent for device monitoring
      description: >-
        Records change of consent from the given person (specified in the
        request URL) to collect device fingerprints on their registered device.
        Each consent is tied to a specific device.
      parameters:
        - $ref: '#/components/parameters/person_id-2'
        - $ref: '#/components/parameters/device_consent_id'
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceConsent'
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solaris-Server-Decorators-DeviceConsent'
        '400':
          description: You sent invalid data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-2'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Consent with the given ID does not exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404-2'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_device_consent#update
  /v1/persons/{person_id}/device_activities:
    post:
      tags:
        - Device Monitoring
      summary: Create user activity for device monitoring
      description: Records activity from the given person (specified in the request URL).
      parameters:
        - $ref: '#/components/parameters/person_id-2'
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceActivity'
      responses:
        '201':
          description: Successful result of the operation
        '400':
          description: You sent invalid data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-2'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Person with the given ID does not exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404-2'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_device_activity#create
  /v1/persons/{person_id}/identifications/for_mobile_change:
    post:
      tags:
        - Person identifications
      summary: >-
        (AutoIdent only) Create identification that allows for a mobile number
        change
      description: >-
        This endpoint creates a new identification for the customer specified in
        the request URL and returns the `identification_id`. Use this endpoint
        if the customer has lost access to their existing mobile phone number. 
        After calling this endpoint, supply the returned `identification_id` in
        the URL of the `PATCH
        /persons/{person_id}/identifications/{identification_id}/request`
        method.
      parameters:
        - $ref: '#/components/parameters/person_id'
      responses:
        '201':
          description: Successful result of the operation.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-Identification-Mobile-Change
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - >-
              solaris_service_identification_for_mobile_change#create_identification
  /v1/persons/{person_id}/identifications/{id}/mark_as_successful:
    patch:
      tags:
        - Person identifications
      summary: (Manual KYC) Set identification to successful
      description: >-
        This endpoint sets the `status` of an identification to `successful`.
        Use this endpoint if you are implementing the manual KYC flow in your
        solution.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              required:
                - completed_at
              type: object
              properties:
                completed_at:
                  description: >-
                    The date and time that the identification was completed
                    (maximum 18 months in the past).
                  type: string
                  format: date-time
        description: The content of the request.
      responses:
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#mark_as_successful
  /v1/persons/{person_id}/identifications/{id}/mark_as_failed:
    patch:
      tags:
        - Person identifications
      summary: Set identification to failed
      description: >-
        This endpoint sets the `status` of an identification to `failed`. Use
        this endpoint if the identification is still is in pending status and
        you want to fail it with a reason.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              required:
                - reason
              type: object
              properties:
                reason:
                  description: The reason of failing the identification.
                  type: string
                  example: Customer abandoned the SDK flow
        description: The content of the request.
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Identification'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#mark_as_failed
  /v1/persons/{person_id}/identifications/{id}/request_with_robot:
    patch:
      tags:
        - Person identifications
      summary: (IDnow only) Request person identification with robot testing
      description: >-
        This endpoint requests an identification for the person specified in the
        URL. You can pass a custom value to the testing robot using the
        parameter `custom5`.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                custom5:
                  description: >-
                    Parameter for passing a custom testing string to the IDnow
                    robot.
                  type: string
                  example: X-AUTOTEST-HAPPYPATH
      responses:
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#request_with_robot
  /v1/persons/{person_id}/identifications/{id}/account_snapshot:
    get:
      tags:
        - Person identifications
      summary: Retrieve person identification account snapshot
      description: Returns an account snapshot that was added to a person identification.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: AccountSnapshot
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountSnapshotWeb'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification_account_information#find
  /v1/persons/{person_id}/identifications/{id}/whitelist:
    post:
      tags:
        - Person identifications
      summary: (Fourthline only) Whitelist a person identification
      description: >-
        This endpoint whitelists a person identification to enable the customer
        with the `person_id` specified in the request URL to identify again for
        one of your services using Fourthline. <br>**Note** You can only use
        this endpoint if a person has been previously identified successfully
        for one of your services using Fourthline and there's a need to identify
        again. However, you cannot use this endpoint to whitelist a failed
        identification.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: The customer identification has been successfully whitelisted.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: >-
                      The unique ID of the customer's identification resource at
                      Solaris' side.
                    example: 6dc54352d6793a892e0702850d07b831cidt
                  client:
                    type: string
                    description: The person UID on Fourthline's side.
                    example: 55fdc915-29ec-49db-9a2c-de09eb8176e7
                  status:
                    type: string
                    description: The status of the operation.
                    example: completed
                  message:
                    type: string
                    description: Additional context explaining the status.
                    example: Client has been whitelisted.
        '400':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message
                  status:
                    type: string
                    description: status of the operation
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#whitelist
  /v1/persons/{person_id}/identification_sessions:
    post:
      tags:
        - Identification sessions
      summary: Create an identification session
      description: >-
        -> "Creates an identification session for the person specified in the
        request URL based on the identification method(s) supplied in the
        request. Note that if the customer is not eligible for one of the
        identification methods, then this endpoint will return an error. Use the
        eligibility checking endpoint to verify this beforehand:" + `GET
        /v1/persons/{person_id}/identification_eligibility_checks`
      parameters:
        - $ref: '#/components/parameters/person_id'
      requestBody:
        content:
          application/json:
            schema:
              example:
                callback_url: someurl.com
                identification_methods:
                  - idnow
              type: object
              properties:
                callback_url:
                  description: >-
                    The callback URL to call when the identification session is
                    completed.
                  type: string
                identification_methods:
                  description: Identification methods to use to identify the customer.
                  type: array
                  items:
                    type: string
                    enum:
                      - bank
                      - bank_id
                      - fourthline
                      - idnow
        description: The content of the request.
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IdentificationSession
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification_session#create
  /v1/persons/{person_id}/identification_sessions/{identification_session_id}:
    get:
      tags:
        - Identification sessions
      summary: Get an identification session
      description: >-
        Returns a specific identification session for the person specified in
        the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/identification_session_id'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IdentificationSession
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification_session#find
  /v1/persons/{person_id}/identification_sessions/{identification_session_id}/configuration:
    get:
      tags:
        - Identification sessions
      summary: Get the configuration of an identification session
      description: >-
        Returns the configuration data for a specific person identification
        session.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/identification_session_id'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IdentificationSession-Configuration
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification_session#partner_setting
  /v1/persons/{person_id}/identification_sessions/{identification_session_id}/identifications:
    post:
      tags:
        - Identification sessions
      summary: Create an identification within an identification session
      description: >-
        Creates a person identification within an existing person identification
        session.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/identification_session_id'
      requestBody:
        $ref: >-
          #/components/requestBodies/Solaris-Request-Params-Identification-Session
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IdentificationSession-Identification
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#create_with_session
  /v1/persons/{person_id}/identification_sessions/{identification_session_id}/identifications/{id}:
    get:
      tags:
        - Identification sessions
      summary: Retrieve a single identification within an identification session
      description: >-
        Returns the details of a person's identification. In the request URL,
        you must specify the identification session within which the
        identification was created.
      parameters:
        - $ref: '#/components/parameters/identification_session_id'
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
        - name: include_documents
          in: query
          description: >-
            Specifies whether the response should include the documents
            submitted during identification.
          required: false
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IdentificationSession-Identification
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#find_with_session
  /v1/persons/{person_id}/identification_sessions/{identification_session_id}/simulate_bank_until_authorization:
    post:
      tags:
        - Identification sessions
      summary: >-
        (Sandbox only) Simulate a bank identification until the authorization
        stage
      description: >-
        Simulates a bank identification for the given person until the
        authorization stage.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/identification_session_id'
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IdentificationSession-Identification
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - >-
              solaris_service_identification_session#simulate_bank_until_authorization
  /v1/persons/{person_id}/identification_sessions/{identification_session_id}/simulate_bank_id_until_identification_data_required:
    post:
      tags:
        - Identification sessions
      summary: >-
        (Sandbox only) Simulate bank identification until the
        identification_data_required stage
      description: >-
        Simulates the bank identification process for the given person until the
        identification reaches the status `identification_data_required`.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/identification_session_id'
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-IdentificationSession-Identification
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - >-
              solaris_service_identification_session#simulate_bank_id_until_identification_data_required
  /v1/persons/{person_id}/signings:
    get:
      tags:
        - Person signings
      summary: (IDnow only) Index person signings
      description: >-
        Returns all of the IDnow signature packages for the person specified in
        the request URL.
      parameters:
        - $ref: '#/components/parameters/person_id'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solaris-Server-Decorators-Signing'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_signing#all
    post:
      tags:
        - Person signings
      summary: Upload documents for the e-signature process
      description: >-
        Uploads documents that are required for the e-signature process in an
        IDnow identification. You must specify the position of the signature in
        the document and the type of document in the request. The options for
        document type are `cdoc` (for contracts) and `ldoc` (for SDD mandates).
      parameters:
        - $ref: '#/components/parameters/person_id'
      requestBody:
        content:
          application/json:
            schema:
              example:
                method: idnow
                language: EN
                documents:
                  - data:
                      type: base64
                      value: ''
                    identifier: cdoc
                    definition:
                      signatures:
                        mysignature1:
                          position:
                            page: '1'
                            left: 50
                            width: 50
                            bottom: 50
                            height: 50
              required:
                - method
              type: object
              properties:
                method:
                  description: >-
                    The identification method for which the documents are being
                    uploaded.
                  enum:
                    - idnow
                    - postident
                  type: string
                language:
                  description: The customer's preferred language for the IDnow agent.
                  enum:
                    - DE
                    - EN
                  type: string
                documents:
                  type: array
                  items:
                    type: object
                    properties:
                      identifier:
                        description: Specifies the type of document being uploaded.
                        type: string
                        enum:
                          - cdoc
                          - ldoc
                      data:
                        required:
                          - type
                          - value
                        type: object
                        properties:
                          type:
                            description: Type of document data
                            enum:
                              - base64
                            type: string
                          value:
                            description: Document data
                            type: string
                      definition:
                        description: Custom document definition
                        type: object
                        properties: {}
                    required:
                      - identifier
                      - data
        description: The content of the request
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Signing'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_signing#create
  /v1/persons/{person_id}/signings/{signing_id}/idnow_attempts:
    get:
      tags:
        - Person signings
      summary: List the IDnow attempts of the IDnow identification used for a signing
      description: >-
        Returns a list of IDnow attempts within a person signing. Each returned
        attempt includes the result, the reason (if the attempt was aborted),
        and the payload from the webhook related to that attempt.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - name: signing_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-IdnowAttempt'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_signing#list_idnow_attempts
  /v1/persons/{person_id}/signings/{signing_id}:
    get:
      tags:
        - Person signings
      summary: (IDnow only) Retrieve a signing
      description: >-
        Returns an IDnow e-signature package. Use this endpoint to check the
        status of a signing. The response includes an array of `documents` that
        the customer signed. The `document_type` property of signed contracts
        will contain the value `SIGNED_CONTRACT`.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - name: signing_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Signing'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_signing#find
  /idnow/sign_with_robot:
    get:
      tags:
        - IDnow
      summary: Test the signing process using a robot
      description: >-
        This endpoint runs through a test of the signing process using a robot.
        Please refer to the identification of a person with first name or last
        name using `X-AUTOTEST-your_robot_name`.
      parameters:
        - name: identification_id
          in: query
          description: The identification_id of the signing
          required: false
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#idnow_testing_helpers
  /idnow/identify_with_robot:
    get:
      tags:
        - IDnow
      summary: Test the identification process using a robot
      description: >-
        This endpoint runs through a test of the person identification process
        using a robot. Please refer to the identification of a person with first
        name or last name using `X-AUTOTEST-your_robot_name`.
      parameters:
        - name: id
          in: query
          required: false
          schema:
            type: string
      responses:
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#idnow_testing_helpers
  /v1/persons/{person_id}/identifications/{id}/identify_with_status:
    post:
      tags:
        - Person identifications
      summary: (Sandbox only) Update Fourthline identification status
      description: >-
        Testing endpoint that updates the status of a Fourthline identification.
        See the [Fourthline
        guide](https://docs.solarisgroup.com/guides/kyc/fourthline/#testing) for
        a full list of test values.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              example:
                provider_status_code: '10'
              required:
                - provider_status_code
              type: object
              properties:
                provider_status_code:
                  description: >-
                    A Fourthline status code. See the documentation linked above
                    for a full list of possible values.
                  type: string
        description: The content of the request.
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: string
                    description: Message stating that the identification was started
                    example: Identification {id} successfully started
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#identify_with_status
  /v1/persons/{person_id}/identifications/{id}/register_verification_outcome:
    post:
      tags:
        - Person identifications
      summary: (Sandbox only) Assign outcome of a Fourthline identification
      description: >-
        Testing endpoint to set the outcome of a Fourthline identification once
        it reaches a specified status. This endpoint forwards the received
        payload to Fourthline's "Register a Verification Outcome" endpoint. For
        a full description and specification of the request parameters see
        Fourthline's online documentation.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/Solaris-Request-Params-FourthlineRegisterVerificationOutcome
        description: The expectations payload to forward to Fourthline.
      externalDocs:
        url: https://dx.fourthline.com/reference/assign-verification-outcome-v2
        description: Fourthline's "Register a Verification Outcome" endpoint documentation
      responses:
        '200':
          description: Successful result of the operation.
          content:
            application/json:
              schema:
                type: object
                properties:
                  result:
                    type: string
                    description: Message stating that the identification was started
                    example: Fourthline verification status updated successfully
                required:
                  - result
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '422':
          description: Unprocessable entity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error.
      security:
        - oauth2:
            - solaris_service_identification#register_verification_outcome
  /v1/businesses/{business_id}/identifications:
    post:
      tags:
        - Business identifications
      summary: Create a business identification
      description: >-
        Creates the business identification resource (BKYC) for a business,
        which automatically triggers both the legal identification of the
        business (handled by Solaris) and the video identification of all
        applicable natural person(s), such as legal representative(s). 
      parameters:
        - name: business_id
          in: path
          description: >-
            The unique business ID, generated after completing the business
            onboarding process.
          required: true
          schema:
            type: string
      requestBody:
        description: the content of the request
        content:
          application/json:
            schema:
              type: object
              properties:
                method:
                  type: string
                  description: The identification method. Default value is `idnow`.
                  enum:
                    - idnow
                    - itm
                    - import
                original_completed_at:
                  type: string
                  description: >-
                    The date and time when the original identification was
                    completed. This field is only relevant if the identification
                    method is `import`.
                  format: date-time
              example:
                method: idnow
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-BusinessIdentification
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-3'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403-2'
        '500':
          description: Generic Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500-2'
      security:
        - oauth2:
            - business_identification/itm_write
      x-codegen-request-body-name: body
    get:
      tags:
        - Business identifications
      summary: Index business identifications for a business
      description: >-
        Retrieves all identifications for a business. You can filter the results
        by page number, page size, identification status, legal identification
        status, etc.
      parameters:
        - name: business_id
          in: path
          description: >-
            Your unique business ID, generated after completing the business
            onboarding process.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-BusinessIdentification
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-3'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403-2'
        '500':
          description: Generic Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500-2'
      security:
        - oauth2:
            - business_identification/itm_read
  /v1/businesses/{business_id}/identifications/{business_identification_id}/approvals:
    post:
      tags:
        - Business identifications
      summary: Create an approval for business identification
      description: >-
        Creates an additional final verification step to allow partners to
        approve or reject the business identification based on their internal
        compliance assessments. This is an optional endpoint for partners with
        this specific use case.
      parameters:
        - name: business_id
          in: path
          description: >-
            The unique business ID, generated after completing the business
            onboarding process.
          required: true
          schema:
            type: string
        - name: business_identification_id
          in: path
          description: The unique ID of the business identification resource.
          required: true
          schema:
            type: string
      requestBody:
        description: the content of the request
        content:
          application/json:
            schema:
              required:
                - approved
              type: object
              properties:
                approved:
                  type: boolean
                  description: The partner identification approval status.
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-PartnerApproval'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-3'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403-2'
        '500':
          description: Generic Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500-2'
      security:
        - oauth2:
            - solaris_biz_ident_service_partner_approval#create
      x-codegen-request-body-name: body
  /v1/businesses/{business_id}/identifications/{business_identification_id}:
    get:
      tags:
        - Business identifications
      summary: Retrieve a single business identification
      description: >-
        Retrieves the details of a single business identification, including the
        status of the overall business identification process, video
        identification status and the URLs for the business's
        legal_representatives, and the legal identification status. You can use
        this endpoint to check status updates or any changes to the fields. 
      parameters:
        - name: business_id
          in: path
          description: >-
            The unique business ID, generated after completing the business
            onboarding process.
          required: true
          schema:
            type: string
        - name: business_identification_id
          in: path
          description: The unique ID of the business identification resource.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-BusinessIdentification
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-3'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403-2'
        '500':
          description: Generic Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500-2'
      security:
        - oauth2:
            - business_identification/itm_read
  /v1/businesses/identifications:
    get:
      tags:
        - Business identifications
      summary: Index business identifications of a partner
      description: >-
        Returns all business identifications for all of your customers. You can
        add filters to your query to filter results.
      parameters:
        - name: page[number]
          in: query
          description: The number of pages to be returned.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size to apply to each page of the API response.
          schema:
            type: string
        - name: filter[provider]
          in: query
          description: Filter by identification providers.
          schema:
            type: string
        - name: filter[reference]
          in: query
          description: Filter by identification reference numbers.
          schema:
            type: string
        - name: filter[status]
          in: query
          description: Filter by the business identification status.
          schema:
            type: string
        - name: filter[completed_at]
          in: query
          description: >-
            Filter by the date and time when the business identification was
            completed.
          schema:
            type: string
        - name: filter[created_at]
          in: query
          description: >-
            Filter by the date and time when the business identification was
            created.
          schema:
            type: string
        - name: filter[updated_at]
          in: query
          description: >-
            Filter by the date and time when the business identification was
            last updated.
          schema:
            type: string
        - name: filter[legal_identification_status]
          in: query
          description: Filter by the business legal identification status.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-BusinessIdentification
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-3'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403-2'
        '500':
          description: Generic Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500-2'
      security:
        - oauth2:
            - business_identification#all_for_partner
  /v1/businesses/{business_id}/identifications/{business_identification_id}/legal_identification/questions:
    get:
      tags:
        - Business identifications
      summary: List all legal identification compliance questions
      description: >-
        Returns all the compliance questions raised by Solaris in relation to a
        business legal identification. The API response returns the compliance
        questions' IDs and texts. Each question has its own unique ID. You have
        to redirect these questions to your customers and collect their answers
        and submit them to Solaris.
      parameters:
        - name: business_id
          in: path
          description: >-
            The unique business ID, generated after completing the business
            onboarding process.
          required: true
          schema:
            type: string
        - name: business_identification_id
          in: path
          description: The unique ID of the business identification resource.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Question'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-3'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403-2'
        '500':
          description: Generic Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500-2'
      security:
        - oauth2:
            - solaris_biz_ident_service_question#all
  /v1/businesses/{business_id}/identifications/{business_identification_id}/legal_identification/questions/{question_id}/answers:
    post:
      tags:
        - Business identifications
      summary: Create an answer to a compliance question
      description: >-
        Creates an answer to a compliance question raised by Solaris in relation
        to a business legal identification. You have to add the question's
        unique `id` in the request URL. Please note that you can only create one
        answer to a single question per request.
      parameters:
        - name: business_id
          in: path
          description: >-
            The unique business ID, generated after completing the business
            onboarding process.
          required: true
          schema:
            type: string
        - name: business_identification_id
          in: path
          description: The unique ID of the business identification resource.
          required: true
          schema:
            type: string
        - name: question_id
          in: path
          description: The unique ID of the compliance question.
          required: true
          schema:
            type: string
      requestBody:
        description: the content of the request
        content:
          application/json:
            schema:
              type: object
              properties:
                text:
                  type: string
                  description: The text of the answer to the compliance question.
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Question'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-3'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403-2'
        '500':
          description: Generic Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500-2'
      security:
        - oauth2:
            - solaris_biz_ident_service_answer#create
      x-codegen-request-body-name: body
  /v1/businesses/{business_id}/identifications/{business_identification_id}/legal_identification/mark_as_ready:
    patch:
      tags:
        - Business identifications
      summary: Mark legal_identification as ready for review
      description: >-
        Updates the legal identification status from `information_required` to
        `pending` and removes the `missing_information` flag. Call this endpoint
        after collecting and submitting the required documents and/or answers to
        the compliance questions from your customers to Solaris. Afterward,
        Solaris will review the submitted information and resume the legal
        identification process.
      parameters:
        - name: business_id
          in: path
          description: >-
            The unique business ID, generated after completing the business
            onboarding process.
          required: true
          schema:
            type: string
        - name: business_identification_id
          in: path
          description: The unique ID of the business identification resource.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-LegalIdentification
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-3'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403-2'
        '500':
          description: Generic Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500-2'
      security:
        - oauth2:
            - business_identification/itm_write
  /v1/businesses/{business_id}/identifications/{business_identification_id}/legal_identification:
    patch:
      tags:
        - Business identifications
      summary: >-
        (Sandbox only) Update the legal identification status of a business
        identification
      description: >-
        Updates the legal identification status of a business identification.
        This endpoint is only for testing and not available on production
        systems. You can use it to update the status of the business
        identification for testing purposes.
      parameters:
        - name: business_id
          in: path
          description: >-
            The unique business ID, generated after completing the business
            onboarding process.
          required: true
          schema:
            type: string
        - name: business_identification_id
          in: path
          description: The unique ID of the business identification resource.
          required: true
          schema:
            type: string
      requestBody:
        description: the content of the request
        content:
          application/json:
            schema:
              type: object
              properties:
                status:
                  type: string
                  description: The status of the business legal identification process.
                  enum:
                    - created
                    - pending
                    - successful
                    - failed
                    - blocked_internally
                    - information_required
                    - expired
                reason:
                  type: string
                  description: The reasons for a failed legal identification.
                missing_information:
                  type: array
                  description: >-
                    Missing information or documents that Solaris needs from the
                    business to complete the legal identification process. 
                  items:
                    type: string
                    enum:
                      - COMPLIANCE_QUESTIONS
                      - FOUNDATION_DOCUMENT
                      - OTHER
                      - REGISTER_APPLICATION
                      - SCHUFA_EXTRACT
                      - SEALED_FOUNDATION_DOCUMENT
                      - SHAREHOLDERS_AGREEMENT
                      - SHAREHOLDERS_LIST
                      - SHAREHOLDERS_LIST_MOTHER_COMPANY
                      - SIGNED_FOUNDATION_DOCUMENT
                      - VAT_CERTIFICATE
                missing_information_details:
                  type: string
                  description: >-
                    Field that includes extra details or clarification on the
                    missing information and/or documents Solaris requires.
              example:
                status: information_required
                missing_information:
                  - COMPLIANCE_QUESTIONS
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-LegalIdentification
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-3'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403-2'
        '500':
          description: Generic Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500-2'
      security:
        - oauth2:
            - business_identification/itm_write
      x-codegen-request-body-name: body
  /v1/businesses/{business_id}/hits:
    get:
      tags:
        - Business screener hits
      summary: Index business hits
      description: Returns an array containing all screener hits for a business.
      parameters:
        - name: business_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Hit'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_service_business_screener_hit#find
  /v1/persons/{person_id}/identifications/{id}/identification/identification_account:
    get:
      tags:
        - Person identifications
      summary: >-
        (BankPlus only) Retrieve the identification account for a person
        identification
      description: Returns the account details for a bank_plus identification.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-Identification-Account
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404-3'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification_account#find
  /v1/persons/{person_id}/identifications/{id}/simulate_outcome:
    patch:
      tags:
        - Person identifications
      summary: (Sanbox only) Simulate outcome for BankPlusIdent
      description: >-
        This endpoint allows you to easily test different scenarios while
        integrating BankPlusIdent, such as pre_successful, failed, aborted, or
        canceled statuses. It requires the identification to be in a
        pending/aborted/canceled status to simulate the desired scenario.
      parameters:
        - $ref: '#/components/parameters/person_id'
        - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              required:
                - scenario
              type: object
              properties:
                scenario:
                  description: The scenario to simulate the outcome.
                  type: string
                  example: SUCCESSFUL_PRE_IDENT
                  enum:
                    - SUCCESSFUL_PRE_IDENT
                    - FAILED_PRE_IDENT
                    - ABORTED_PRE_IDENT
                    - CANCELED_PRE_IDENT
                    - SUCCESSFUL_ACCOUNT_OPENING
                    - FAILED_ACCOUNT_OPENING
                    - SUCCESSFUL_REFERENCE_TRANSFER
                    - FAILED_REFERENCE_TRANSFER_NAME_CHECK
        description: The content of the request.
      responses:
        '204':
          description: Successful result of the operation
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '409':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
        '422':
          description: Unprocessable entity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error422'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_service_identification#simulate_outcome
components:
  parameters:
    person_id:
      name: person_id
      in: path
      required: true
      schema:
        type: string
        description: The unique ID of the person resource created for a customer.
        example: dc1a6812a14f6cc338cd084208535bcdcper
    id:
      name: id
      in: path
      required: true
      schema:
        type: string
        description: The unique ID of the identification resource created for a customer.
        example: 6dc54352d6793a892e0702850d07b831cidt
    person_id-2:
      name: person_id
      in: path
      required: true
      schema:
        type: string
    device_consent_id:
      name: device_consent_id
      in: path
      required: true
      schema:
        type: string
    identification_session_id:
      name: identification_session_id
      in: path
      required: true
      schema:
        type: string
  schemas:
    Solaris-Server-Decorators-Eligibility-Check:
      type: object
      properties:
        method:
          type: string
          description: >-
            Identification method to check for eligibility. Currently, only
            Bankident (`bank`) is supported.
          example: bank
        eligible:
          type: boolean
          description: >-
            Indicates whether the customer is eligible for the identification
            method.
          example: true
        reasons:
          type: array
          description: >-
            Array of reasons why the customer is not eligible for the
            identification method.
          example:
            - match_for_person_data_not_found
    Solaris-Server-Decorators-Identification:
      type: object
      properties:
        id:
          type: string
          description: ID of the person identification.
          example: 9dfe2f4edaa67138be0c0c1cd3a7d849cidt
        reference:
          type: string
          description: Reference generated by the identification provider.
          example: TST-ELCCJ
        url:
          type: string
          description: (IDnow only) Redirect URL used to start the identification process.
          example: >-
            https://go.test.idnow.de/company_id/identifications/identification_id
        status:
          type: string
          description: >-
            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.
          example: successful
          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:
          type: string
          description: Date and time when the identification was completed.
          example: '2021-09-14T18:18:28.000Z'
        method:
          type: string
          description: The method used for the identification.
          example: idnow
          enum:
            - bank
            - bank_id
            - bank_plus
            - fourthline
            - idnow
            - idnow_autoident
            - idnow_custom
            - manual
            - postident
        proof_of_address_type:
          type: string
          description: >-
            The type of document submitted by the customer as a proof of address
            if their identification document did not include their address.
          example: GAS_BILL
          enum:
            - BANK_ACCOUNT_STATEMENT
            - CERTIFICATE_OF_REGISTRATION
            - ELECTRICITY_BILL
            - GAS_BILL
            - HEATING_BILL
            - INTERNET_BILL
            - TELEPHONE_BILL
            - WATER_BILL
        proof_of_address_issued_at:
          type: string
          description: The date when the proof of address document was issued.
          example: '2021-12-03'
        language:
          type: string
          description: >-
            (IDnow only) The customer's preferred language for the
            identification process.
          example: EN
          enum:
            - DE
            - EN
        person_id:
          type: string
          description: ID of the person for whom the identification was initiated.
          example: 992de312a545bb24a88ddbf57ae8b1ffcper
        address:
          type: object
          description: The customer's address.
          properties:
            line_1:
              type: string
              description: Address line 1.
              example: BERLINER STR. 45
            line_2:
              type: string
              description: Address line 2.
              example: Erste Etage
            postal_code:
              type: string
              description: Customer's postal code.
              example: '14169'
            city:
              type: string
              description: Customer's city.
              example: Berlin
            country:
              type: string
              description: Customer's country.
              example: DE
            state:
              type: string
              description: Customer's state.
              example: BE
        documents:
          type: array
          description: >-
            Documents provided by the customer during the identification
            process.
          items:
            type: object
            properties:
              id:
                type: string
                description: ID of the document.
              name:
                type: string
                description: The filename of the document.
              content_type:
                type: string
                description: Formatting type of the document.
              document_type:
                type: string
                description: The type of document submitted.
                enum:
                  - ID_DOCUMENT
                  - KYC_REPORT
                  - OTHER
                  - PICTURE
                  - SIGNATURE
                  - SIGNED_CONTRACT
                  - QES_DOCUMENT
                  - SIGNED_QES_DOCUMENT
              size:
                type: integer
                description: The file size (in bytes).
          example:
            - id: 448b75fa1c57eecda41d91c66c22faa6cdoc
              name: file1.pdf
              content_type: application/json
              document_type: KYC_REPORT
              size: 803580
            - id: 94eb22a9311be9a1fbb698c448b0b337cdoc
              name: file2.jpg
              content_type: image/jpeg
              document_type: SIGNATURE
              size: 25349
        failure_reason:
          type: string
          description: >-
            Additional context around why the identification failed. Value
            depends on the identification method.
          nullable: true
        iban:
          type: string
          example: DE11010101010101010100
          description: >-
            Optional IBAN provided for `bank` and `bank_id` identifications.
            Please note that Solaris only accepts certain banks for the
            Bankident KYC flow. See the full list
            [here](https://docs.solarisgroup.com/guides/kyc/bankident/#allowed-banks).
        authorization_expires_at:
          type: string
          nullable: true
          description: >-
            The date and time by which the authorization for the end customer
            must be requested.
        confirmation_expires_at:
          type: string
          nullable: true
          description: >-
            The date and time by which the customer must input the OTP sent to
            their mobile number for the QES process.
        provider_status_code:
          type: integer
          nullable: true
          description: >-
            (Fourthline only) Status code returned by the identification
            provider.
          enum:
            - 1000
            - 1001
            - 1002
            - 1003
            - 1004
            - 1005
            - 1006
            - 1007
            - 1008
            - 1009
            - 1010
            - 1011
            - 1012
            - 1013
            - 1014
            - 1015
            - 1016
            - 1017
            - 1018
            - 1019
            - 1020
            - 1021
            - 1022
            - 1023
            - 1024
            - 1030
            - 1031
            - 1032
            - 1033
            - 1034
            - 1035
            - 1036
            - 1037
            - 1038
            - 1100
            - 2001
            - 2002
            - 2003
            - 3001
            - 3002
            - 3003
            - 3004
            - 3005
            - 3100
            - 3101
            - 3102
            - 3103
            - 3104
            - 3105
            - 3106
            - 3107
            - 3200
            - 3201
            - 3202
            - 3203
            - 3204
            - 3205
            - 3206
            - 3207
            - 3208
            - 3209
            - 3210
            - 3211
            - 3250
            - 3300
            - 3304
            - 3305
            - 3306
            - 3307
            - 3308
            - 3400
            - 3401
            - 3402
            - 3403
            - 3404
            - 3405
            - 3406
            - 3407
            - 3408
            - 3500
            - 3510
            - 3520
            - 3540
            - 3600
            - 3601
            - 3602
            - 3603
            - 3610
            - 3620
        account_verification_error:
          type: string
          nullable: true
          description: >-
            Session Error returned by Tink in the account verification process.
            Will only be populated when failure_reason is account_snaphot_failed
            or account_snapshot_expired. Only present for identifications within
            identification session.
          enum:
            - accounts_failed
            - client_aborted
            - init_failed
            - login_failed
            - login_next_failed
            - max_login_tries
            - max_tan_tries
            - no_compatible_accounts
            - pinned_iban_not_found
            - security_setting_rejection
            - session_expired
            - tech_error
            - transaction_failed
            - turnovers_failed
            - validation_failed
        idnow_process_type:
          type: string
          description: >-
            When method idnow is selected, the process type will reflect which
            idnow process was chosen.
          example: eid
    Error400:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '400'
        code:
          type: string
          example: build_pagination_headers_failure
        title:
          type: string
          example: Failed to build pagination headers.
        detail:
          type: string
          example: Cannot connect to database.
    Error403:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '403'
        code:
          type: string
          example: unauthorized_action
        title:
          type: string
          example: Unauthorized Action
        detail:
          type: string
          example: Unauthorized action is not allowed.
    Error500:
      type: object
      properties:
        id:
          type: string
          example: e8915041-9d8c-4d96-9dd1-04e8522ecdbf
        status:
          type: string
          example: '500'
        code:
          type: string
          example: generic_error
        title:
          type: string
          example: Generic Error
        detail:
          type: string
          example: There was an error.
    account_opening_product_names_enum:
      type: string
      description: >-
        The product name for which you want to open an account. Check the
        [account opening
        guide](https://docs.solarisgroup.com/guides/digital-banking/account-opening/#fields-mapping)
        for more information about this field.
      example: CURRENT_ACCOUNT_CONSUMER_GERMANY
      enum:
        - CURRENT_ACCOUNT_BUSINESS_FRANCE
        - CURRENT_ACCOUNT_BUSINESS_GERMANY
        - CURRENT_ACCOUNT_BUSINESS_ITALY
        - CURRENT_ACCOUNT_BUSINESS_SPAIN
        - CURRENT_ACCOUNT_CONSUMER_FRANCE
        - CURRENT_ACCOUNT_CONSUMER_GERMANY
        - CURRENT_ACCOUNT_CONSUMER_ITALY
        - CURRENT_ACCOUNT_CONSUMER_SPAIN
        - CURRENT_ACCOUNT_FREELANCER_FRANCE
        - CURRENT_ACCOUNT_FREELANCER_GERMANY
        - CURRENT_ACCOUNT_FREELANCER_ITALY
        - CURRENT_ACCOUNT_FREELANCER_SPAIN
        - CUSTOMER_CARD_SETTLEMENT
        - DECOUPLED_CARD_CONSUMER_GERMANY
        - EMONEY_ACCOUNT_BUSINESS_GERMANY
        - EMONEY_ACCOUNT_CONSUMER_GERMANY
        - EMONEY_ACCOUNT_FREELANCER_GERMANY
        - RESTRICTED_ACCOUNT_BUSINESS_GERMANY
        - RESTRICTED_ACCOUNT_CONSUMER_GERMANY
        - RESTRICTED_ACCOUNT_CONSUMER_ITALY
        - SAVINGS_ACCOUNT_CONSUMER_FRANCE
        - SAVINGS_ACCOUNT_BUSINESS_FRANCE
        - SAVINGS_ACCOUNT_FREELANCER_FRANCE
        - SAVINGS_ACCOUNT_CONSUMER_GERMANY
        - SAVINGS_ACCOUNT_BUSINESS_GERMANY
        - SAVINGS_ACCOUNT_FREELANCER_GERMANY
        - SAVINGS_ACCOUNT_CONSUMER_ITALY
        - SAVINGS_ACCOUNT_BUSINESS_ITALY
        - SAVINGS_ACCOUNT_FREELANCER_ITALY
        - SAVINGS_ACCOUNT_CONSUMER_SPAIN
        - SAVINGS_ACCOUNT_BUSINESS_SPAIN
        - SAVINGS_ACCOUNT_FREELANCER_SPAIN
        - SAVINGS_ACCOUNT_EXTERNAL_REFERENCE_CONSUMER_GERMANY
        - SOFT_CURRENCY_ACCOUNT
        - SUBACCOUNT_CONSUMER_FRANCE
        - SUBACCOUNT_CONSUMER_GERMANY
        - SUBACCOUNT_CONSUMER_ITALY
        - SUBACCOUNT_CONSUMER_SPAIN
        - SUBACCOUNT_BUSINESS_FRANCE
        - SUBACCOUNT_BUSINESS_GERMANY
        - SUBACCOUNT_BUSINESS_ITALY
        - SUBACCOUNT_BUSINESS_SPAIN
        - SUBACCOUNT_FREELANCER_FRANCE
        - SUBACCOUNT_FREELANCER_GERMANY
        - SUBACCOUNT_FREELANCER_ITALY
        - SUBACCOUNT_FREELANCER_SPAIN
    account_opening_account_types:
      type: string
      description: >-
        The type of account you want to open. Must correspond to the
        `product_name` and `customer_type`. Check the [account opening
        guide](https://docs.solarisgroup.com/guides/digital-banking/account-opening/#fields-mapping)
        for more information about this field.
      example: CHECKING_PERSONAL
      enum:
        - CALL_MONEY
        - CARD_SETTLEMENT_PARTNER
        - CHECKING_BUSINESS
        - CHECKING_PERSONAL
        - CHECKING_PERSONAL_OVERDRAFT
        - CHECKING_SOLE_PROPRIETOR
        - CHECKING_SUBACCOUNT
        - CUSTOMER_CURRENCY_ACCOUNT
        - DECOUPLED_CARD_BUSINESS
        - DECOUPLED_CARD_PERSONAL
        - EMONEY_PARKING
        - EMONEY_PREPAID
        - SAVINGS_BUSINESS
        - SAVINGS_PERSONAL
        - SAVINGS_PERSONAL_EXTERNAL_REFERENCE
        - SAVINGS_SOLE_PROPRIETOR
        - WALLET_BUSINESS
        - WALLET_INSTITUTIONAL
        - WALLET_LIQUIDITY_PROVIDER
        - WALLET_PERSONAL
        - WALLET_PERSONAL_PAYMENT_ACC
    Solaris-Request-Params-Identification:
      example:
        method: idnow
        language: EN
        proof_of_address_type: GAS_BILL
        proof_of_address_issued_at: '2021-12-03'
        device_data: >-
          Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;NU7aFh0jdzM15wj8hQtqbA5LbzEFWDI1bUwZf/zbau0P2MIEUE+LsifBKvxjCYNUyz647bpSjnQ6Tu8IK22sxFlTGEFaHKBigzmP8Nc8FvVSWKzslmSWTFJM5AYc+EGTZLprlcdrLldsZLS5PpHfPMmvtqCXVTnGhYV7GvutI1w5/67yK7pCQDxDicKjqlMg1naMiwCuqP1U1lUtf+lTdmJ1T1lXMPARffTn4XAr66vUxN++sy7qytkdcOeCsaxZnLspUEvqu+2ILHF8pOJFG7gYC11rqWOyHG3Ns1E1dZ57ybrgGTKfctFOdx2IMXnz1/i/pDC5QokRr2BTIZZ/9Tj+xXzWpzNwHtRWWK5VEufyVRPyMXQdmry7UYKrouAzlLCYSMv7GcPwOZz+gDjCkrNia7/DGBBFLOvtlufDztPpvkH2jmN32/oJHl1Qu6zpxG3Lyl8RNdyukuNYfiPw0ECoXsXObwQc7Ja8R+V5S7QZeV1VV9aavlH1+Xl9v0OlOJ1XujO7izWESMIfzAuaL6ACYhdkmkC3kicjOWUjaY3OJYrrXxQ+MScnJOQ9neMRWij7YqNxP8F259zVjqqyaL6hN8EZU/pi+cZUVkfFvMYT5ugE9JXjkFfyy4UQeSmNRjDXRzu40LyweqUns8u3GOIFzfZ9eVOv+q7OV+RpVLOJLz1Za8RPIh3UKltCzOTmO8OpDz2aGoqNdL4zAaLl4EKRoarEiSG9K2/GoyHchi6xdHYA6DqQg5xQM4s50RUySGwWLxBB3ZlMpZpdZAVBrLSyl1SWqYTosdyURtiiX0So+kdik5XJ5Vsh0v75rNP5Yrv3t5/u94wx51zKlpDH8Uiap7kP0eibRmmN196kxMcOf8Q50JM1Yt8cJiawTWdGHzGRcNtEkpon5VLp/kwDU+4IPwlW976hKsom0PTB/EVxo5CWuL6kPiaEWUrWOL7BZ2jkuebHT2jBAJuFBaeac7IYnrAMoLgfY33Vs3EtVk8H12iDX3O9JmGsDGXP0/vBx0uFEgrTt6HjwabWGRHpPPPCorSrjfuySwKlnZtp1KkeNrOso8K8DBW6e+6j1YYaxTjBUZSLl1qgzd1dpz85vB/trWdyS3i+APHw/AsP/Y4cmu/CFZqpe1Sgye1+YNP3Hs3LpxJKM3prnAoaCmrHp5aUKo5KdicAnilBTzBAV2zGBWHrBwWLWHl+RDQpncyWD2/ZCswxtXbQAhlmVD7FvBXnT0Yyg5gaFo5GVBcURzBYtwbdl3+6sqKtR3XC22GBw0OOqZ9/QvMHmCO/K89rEjfLEaVX4eKhrdzjxOwOxmE5lXrLqfscV90Yo9Uj1awvpF5TL5vW85asT2iVHYjZ1JsQ5oLp3VUfIAqTNmpcjRk763hMsTUIrn3VfpLkGajZbtxD2FuNNMoRZQBfiOAxPUDFmspxWagNSbmUZ8FqPX/6asQIJIyvAk4cvzgV9OjzdkoEcFP2OGjFnddZtLmBh9BZDWtS3VOL98lp+cH/JAn8pDab2l6zIwHRccePbuBcGZZgU39FOVpI+sbHZJ6QEhiUA8SdT7SLcTf4P1tBbdN5+dpjaWfTph1cgZyW8EsAIFc81vR6tBqSSpxmS164ADWZW+PYz4b4SRVklT3Cs2tJ/TTMM240pnkNJUd3G/0PbBGVPea5+XUs1bF5cT0fiHWA032Dm87biMEU89fdPkvnSlIsN/MbLT2kj2tPZqhOrqTxCg26jimd+2kNdZ2fwvT8JQfO0hVidnPDPLXH5aA6T6+bKqfpvJE6USAif8fPQ0rW4+315LKH5wG8Qj0omO2Ynii0IE6cR0lAGrtoLsXMf3kDqFms+Z2h79pYQrnhUSntZ3tjt3pwgejJ8ZKXdN7kYWT8UiQnLnkfLJnh1e8a4UURe7GU9UwnqqFXeHrstb8XXxiIX7syFG5iLdN9IExi5BefYnAikCTU+ssMWnnhppX6jFV43u+KEaa1/7AqibMc3Kt+kUxHlQsAo2TCg+u/39rsgNs5eWym7YptvBCN6L4Q4QRoKNFo8CJerS4dTxksD2zeGL4BLIsvMbcm6rlHrKCR5PeWRiFpK8QwwaOyiTGL5NN2Xl6F0M4vf5gnWikZTrppv7bLUYZhrU1uGiv968ZGEq+A7w2oLvbZS7l+DZuN4rPF5SzPWq94jC1NiYjaPrGyTQIISRiBLXil5puqCobYHAIeVQzHBgki3/N+Pwk4iCrxf3pqnUSNmtrmvphmo9Vp3xAaPSFsUYfIyOPiO5gcNUoGQ1kHZ3Yoksqh6U1hRCzlkMSbX6kzDYUNEgc47t2AKxLM5IpYCWAv+uefNAAb/4+f7Qh4sMqtXHc5lGK3GN8ABTIVeFphtJg36Y6xg8OTrBR5ItS/tdy6zyfTLfZFocRbfjsLfoiCeHJO0sEZIWgHsu80FVZmo4G84N6zNZkdjnFDZkgRYP9OSqMbPCXyb5Xj1H6g67rNjtY67B3613uGJ0pHCQpl0Lmz2apUMq9EVRz5tZT+RA8sCRcK4mkBEWzdC7ngI5+dfX2dEqu157rsc0yU4OWNElLWC3F1TXOsB2/n1+LBHpjKLIMok2afui1H9+eof1zLAba4hrnYEFI4WjvEAvcsyPI/eONNdxk7liVNNaD7j6vvwYKOxTZoriKwvGxeNApC+Z8xQ8HpnEaRIUqb2Eh1SfpyDta8J1dXnRF1HTq2pOvfitomb701g0diB7+StEpCxiRLCx3TEJcroqBiCE3szXdc9VSVyfklkHmbJE33CY8tGm1YEvaXAY7a5yWLHWHzqQvNuZkQ1DNbJAkP9dt1t8Fv3njG2lXFmAOJkZwpvm9qEHZTmuUmflIMhu9nMsgZd5VMjalTmHqZdy7zmnAz8LhYiUDMbPDNOd4UTehvTanDEBBYTJB6CYv6QnBYwuAPsZwRnZdHbpl6lIXStmgsxV3DLtKAUy8eoqCdDOMyep9L4ArSWEJstEBNkZ5zgk7bOspvF1V8HrhFzJCiwR7WC+GHJTHLH1S8FfmHFTXJHecvq6tpMncaJFbo4jSfm9ozBAVAAN2mCn/yBbmX9tPmXdGEsTSpdp6vVWKEdHZ1rjCqmgDENxh75H5uT9DeZ0mAKwkP5Ai+bN3hT0y1XGE44b/aJ7PEObogYAioej/Z690zKx+fHxP50juTgt+UIQ+l/mpcYnbcYe4lkXrqGpwxFU8OrRzzfJX/s90VVlzrQVAPNW/mvYkt+MqSVwI1EP62faXlXnDqbmVFUmMGeoquP58cwqSBaNL/oi2Rg7GVvdvus+i2Qpm1SHtnPVUhTwWFigiWw/T2ZZeUs4nk+Q/xOFa/
      type: object
      properties:
        method:
          description: The identification method to use for the person identification.
          enum:
            - bank
            - bank_id
            - bank_plus
            - fourthline
            - idnow
            - idnow_autoident
            - idnow_custom
            - manual
            - postident
          type: string
        language:
          description: >-
            (IDnow only) The customer's preferred language for the
            identification process.
          enum:
            - DE
            - EN
          type: string
        reference:
          type: string
          description: A reference supplied by the identification provider.
        proof_of_address_type:
          description: >-
            The type of document submitted by the customer as a proof of
            address. This field is **mandatory** if the customer's
            identification document does not include their address.
          example: GAS_BILL
          enum:
            - BANK_ACCOUNT_STATEMENT
            - CERTIFICATE_OF_REGISTRATION
            - ELECTRICITY_BILL
            - GAS_BILL
            - HEATING_BILL
            - INTERNET_BILL
            - TELEPHONE_BILL
            - WATER_BILL
          type: string
        proof_of_address_issued_at:
          description: >-
            The date when the proof of address document was issued. This field
            is **mandatory** if the customer's identification document does not
            include their address.
          type: string
          format: date
        iban:
          description: >-
            The customer's IBAN. This field is mandatory if the identification
            method is `bank` or `bank_id`. Please note that Solaris only accepts
            certain banks for the Bankident KYC flow. See the full list
            [here](https://docs.solarisgroup.com/guides/kyc/bankident/#allowed-banks).
          type: string
        device_data:
          type: string
          description: >-
            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.
        product_name:
          description: >-
            (bank_plus only) The product name for which you want to open an
            account. Check the [account opening
            guide](https://docs.solarisgroup.com/guides/digital-banking/account-opening/#fields-mapping)
            for more information about this field. 
          allOf:
            - $ref: '#/components/schemas/account_opening_product_names_enum'
        account_type:
          description: >-
            (bank_plus only) The type of account you want to open. Must
            correspond to the `product_name` and `customer_type`. Check the
            [account opening
            guide](https://docs.solarisgroup.com/guides/digital-banking/account-opening/#fields-mapping)
            for more information about this field.
          allOf:
            - $ref: '#/components/schemas/account_opening_account_types'
        account_purpose:
          type: string
          description: >-
            (bank_plus only) The purpose of the account. Use primary unless
            otherwise instructed.
          example: primary
        account_bic:
          type: string
          description: >-
            (bank_plus only) The BIC to apply to the account. Choose the BIC
            that corresponds with the branch in which you want to open the
            account.
          example: SOBKDEB2XXX
        account_currency:
          type: string
          description: (bank_plus only) The currency of the account.
          example: EUR
          enum:
            - CAD
            - CHF
            - CNY
            - DKK
            - EUR
            - GBP
            - HKD
            - JPY
            - NOK
            - SEK
            - SGD
            - USD
            - AED
            - ALL
            - AMD
            - ANG
            - AOA
            - ARS
            - AUD
            - AZN
            - BAM
            - BBD
            - BDT
            - BGN
            - BHD
            - BMD
            - BND
            - BOB
            - BRL
            - BTN
            - BZD
            - CLP
            - COP
            - CRC
            - CUP
            - CVE
            - CZK
            - DJF
            - DOP
            - DZD
            - ETB
            - FJD
            - GEL
            - GTQ
            - GYD
            - HNL
            - HRK
            - HTG
            - HUF
            - IDR
            - ILS
            - INR
            - JMD
            - JOD
            - KES
            - KRW
            - KWD
            - KYD
            - KZT
            - LAK
            - LKR
            - LRD
            - LSL
            - MAD
            - MDL
            - MGA
            - MKD
            - MOP
            - MUR
            - MVR
            - MWK
            - MXN
            - MYR
            - MZN
            - NAD
            - NPR
            - NZD
            - OMR
            - PEN
            - PGK
            - PHP
            - PLN
            - PYG
            - QAR
            - RON
            - RSD
            - RUB
            - RWF
            - SAR
            - SCR
            - SLL
            - SRD
            - STN
            - SVC
            - SZL
            - THB
            - TJS
            - TRY
            - TWD
            - TZS
            - UAH
            - UGX
            - UYU
            - UZS
            - VND
            - XPF
            - ZAR
            - ZMW
            - EMONEY_EUR
    Solaris-Server-Decorators-IdentificationWithWaitingTime:
      type: object
      properties:
        id:
          type: string
          description: ID of the person identification.
          example: 9dfe2f4edaa67138be0c0c1cd3a7d849cidt
        reference:
          type: string
          description: Reference generated by the identification provider.
          example: TST-ELCCJ
        url:
          type: string
          description: (IDnow only) Redirect URL used to start the identification process.
          example: >-
            https://go.test.idnow.de/company_id/identifications/identification_id
        status:
          type: string
          description: >-
            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.
          example: successful
          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:
          type: string
          description: Date and time when the identification was completed.
          example: '2021-09-14T18:18:28.000Z'
        method:
          type: string
          description: The method used for the identification.
          example: idnow
          enum:
            - bank
            - bank_id
            - bank_plus
            - fourthline
            - idnow
            - idnow_autoident
            - idnow_custom
            - manual
            - postident
        proof_of_address_type:
          type: string
          description: >-
            The type of document submitted by the customer as a proof of address
            if their identification document did not include their address.
          example: GAS_BILL
          enum:
            - BANK_ACCOUNT_STATEMENT
            - CERTIFICATE_OF_REGISTRATION
            - ELECTRICITY_BILL
            - GAS_BILL
            - HEATING_BILL
            - INTERNET_BILL
            - TELEPHONE_BILL
            - WATER_BILL
        proof_of_address_issued_at:
          type: string
          description: The date when the proof of address document was issued.
          example: '2021-12-03'
        iban:
          type: string
          example: DE11010101010101010100
          description: Optional IBAN provided for `bank` and `bank_id` identifications.
        authorization_expires_at:
          type: string
          nullable: true
          description: >-
            The date and time by which the authorization for the end customer
            must be requested.
        confirmation_expires_at:
          type: string
          nullable: true
          description: >-
            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:
          type: string
          description: The date and time when the customer signed the terms and conditions.
    Error400IDnow:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '400'
        code:
          type: string
          example: idnow_error
        title:
          type: string
          example: IDnow Error
        detail:
          type: string
          example: >-
            Request to IDnow failed: [{"cause"=>"BAD_REQUEST", "errorType"=>nil,
            "id"=>"44893509", "key"=>nil, "message"=>nil,
            "translationKey"=>nil}]
    Error404:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '404'
        code:
          type: string
          example: model_not_found
        title:
          type: string
          example: Model Not Found
        detail:
          type: string
          example: >-
            Couldn't find 'Solaris::Identification' for id
            'bbbcccfff388923eb899a5852df6cidt'.
    Error412:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '412'
        code:
          type: string
          example: identification_attempts_exceeded
        title:
          type: string
          example: Identification Attempts Exceeded
        details:
          type: string
          example: There are more than 19 unsuccessful attempts
    Error422:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '422'
        code:
          type: string
          example: invalid_secret
        title:
          type: string
          example: Invalid Secret
        details:
          type: string
          example: Invalid Secret submitted
    Solaris-Server-Decorators-Start-Esigning-Process-Response:
      type: object
      properties:
        id:
          type: string
          description: The unique ID of the identification resource.
        reference:
          type: string
          description: A reference supplied by the identification provider.
        url:
          type: string
          description: >-
            The URL returned from FinTechSystem to which you must redirect the
            customer for the bank account login and payment authorization.
        status:
          type: string
          description: >-
            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:
          type: string
          description: Date and time when the identification process was completed.
        method:
          description: The identification method to use for the person identification.
          enum:
            - bank
            - bank_id
            - fourthline
            - idnow
            - manual
            - postident
          type: string
        proof_of_address_type:
          description: >-
            The type of document submitted by the customer as a proof of
            address. This field is **mandatory** if the customer's
            identification document does not include their address.
          enum:
            - BANK_ACCOUNT_STATEMENT
            - CERTIFICATE_OF_REGISTRATION
            - ELECTRICITY_BILL
            - GAS_BILL
            - HEATING_BILL
            - INTERNET_BILL
            - TELEPHONE_BILL
            - WATER_BILL
          type: string
          nullable: true
        proof_of_address_issued_at:
          description: >-
            The date when the proof of address document was issued. This field
            is **mandatory** if the customer's identification document does not
            include their address.
          type: string
          format: date
          nullable: true
        iban:
          description: >-
            The customer's IBAN. This field is mandatory if the identification
            method is `bank` or `bank_id`.
          type: string
        terms_and_conditions_signed_at:
          type: string
          nullable: true
          description: >-
            The date and time from when the customer signed Swisscom's terms and
            conditions.
        authorization_expires_at:
          type: string
          nullable: true
          description: >-
            The date and time by which the authorization for the end customer
            must be requested.
        confirmation_expires_at:
          type: string
          nullable: true
          description: >-
            The date and time by which the customer must input the OTP sent to
            their mobile number for the QES process.
        current_reference_token:
          type: string
        estimated_waiting_time:
          type: string
          description: (IDnow only) Estimated waiting time until an agent is available.
      example:
        id: a7a57dadfcc83117b5c3b72f4113be25cidt
        reference: 'null'
        url: >-
          https://fts-payment-initiation-wizard.solaris-sandbox.de/index.html?wizard_session_key=bfo5r16AMLlt6ZEX9Oh3JUWIkTelorupBwzIlJRR&interface_id=da05
        status: confirmation_required
        completed_at: 'null'
        method: bank
        iban: DE11110101010100000020
        terms_and_conditions_signed_at: '2020-07-07T11:36:29.000Z'
        authorization_expires_at: '2022-08-11T08:38:21.000Z'
        confirmation_expires_at: '2022-08-11T08:37:23.000Z'
        current_reference_token: 1234-5678
        estimated_waiting_time: 'null'
    Solaris-Server-Decorators-Confirm-QES-Esigning-Response:
      type: object
      properties:
        id:
          type: string
          description: The unique ID of the identification resource.
        reference:
          type: string
          description: A reference supplied by the identification provider.
        url:
          type: string
          description: >-
            The URL returned from FinTechSystem to which you must redirect the
            customer for the bank account login and payment authorization.
        status:
          type: string
          description: >-
            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:
          type: string
          description: Date and time when the identification process was completed.
        method:
          description: The identification method to use for the person identification.
          enum:
            - bank
            - bank_id
            - fourthline
            - idnow
            - manual
            - postident
          type: string
        proof_of_address_type:
          description: >-
            The type of document submitted by the customer as a proof of
            address. This field is **mandatory** if the customer's
            identification document does not include their address.
          enum:
            - BANK_ACCOUNT_STATEMENT
            - CERTIFICATE_OF_REGISTRATION
            - ELECTRICITY_BILL
            - GAS_BILL
            - HEATING_BILL
            - INTERNET_BILL
            - TELEPHONE_BILL
            - WATER_BILL
          type: string
          nullable: true
        proof_of_address_issued_at:
          description: >-
            The date when the proof of address document was issued. This field
            is **mandatory** if the customer's identification document does not
            include their address.
          type: string
          format: date
          nullable: true
        iban:
          description: >-
            The customer's IBAN. This field is mandatory if the identification
            method is `bank` or `bank_id`.
          type: string
        terms_and_conditions_signed_at:
          type: string
          nullable: true
          description: >-
            The date and time from when the customer signed Swisscom's terms and
            conditions.
        authorization_expires_at:
          type: string
          nullable: true
          description: >-
            The date and time by which the authorization for the end customer
            must be requested.
        confirmation_expires_at:
          type: string
          nullable: true
          description: >-
            The date and time by which the customer must input the OTP sent to
            their mobile number for the QES process.
        current_reference_token:
          type: string
      example:
        id: a7a57dadfcc83117b5c3b72f4113be25cidt
        reference: 'null'
        url: >-
          https://fts-payment-initiation-wizard.solaris-sandbox.de/index.html?wizard_session_key=bfo5r16AMLlt6ZEX9Oh3JUWIkTelorupBwzIlJRR&interface_id=da05
        status: confirmed
        completed_at: 'null'
        method: bank
        iban: DE11110101010100000020
        terms_and_conditions_signed_at: '2020-07-07T11:36:29.000Z'
        authorization_expires_at: '2022-08-11T08:38:21.000Z'
        confirmation_expires_at: '2022-08-11T08:37:23.000Z'
        current_reference_token: 1234-5678
    Solaris-Server-Decorators-BankIdentificationAttempt:
      type: object
      properties:
        id:
          type: string
          example: 17a7389adaf83145770d8e6c00a398dfiatm
          description: ID of the bank identification attempt.
        person_id:
          type: string
          example: e2bbc86268e9a4667861b73f31dba03bcper
          description: ID of the person undergoing the bank identification attempt.
        identification_id:
          type: string
          example: efa83e0d8a9f33be3aeb5b5122d759adcidt
          description: ID of the associated person identification.
        successful:
          type: boolean
          example: true
          description: Indicates whether or not the bank identification attempt succeeded.
        failure_reason:
          type: string
          description: >-
            If the bank identification attempt failed, then this property will
            contain a string explaining the reason for the failure.
        iban:
          type: string
          example: DE11110101010100000020
          description: >-
            The customer's IBAN. Use this field for the identification methods
            `bank` and `bank_id`.
        created_at:
          type: string
          example: '2021-06-25T09:44:25.000Z'
          description: Date and time when the bank identification attempt was created.
    Solaris-Server-Decorators-IdnowAttempt:
      type: object
      properties:
        id:
          type: string
          description: ID of the IDnow attempt.
        result:
          type: string
          description: Result of the IDnow attempt.
        reason:
          type: string
          description: The reason why the IDnow attempt failed.
          nullable: true
        payload:
          type: object
          description: Payload received from the IDnow webhook for this IDnow attempt.
          properties:
            identificationprocess:
              type: object
              description: Metadata related to the identification attempt.
              properties:
                result:
                  type: string
                  description: The result of the identification attempt.
                companyid:
                  type: string
                  description: ID of the company performing the identification.
                filename:
                  type: string
                  description: The name of the documents file.
                agentname:
                  type: string
                  description: Name of the agent performing the identification.
                identificationtime:
                  type: string
                  description: Date and time when the identification was performed.
                id:
                  type: string
                  description: ID of the attempt.
                href:
                  type: string
                  description: URL of the documentation from the attempt.
                type:
                  type: string
                  description: The type of IDnow identification performed.
                transactionnumber:
                  type: string
                  description: Reference number for the attempt.
            customdata:
              type: object
              description: Custom data parameters attached to the IDnow attempt.
              properties:
                custom1:
                  type: string
                  nullable: true
                custom2:
                  type: string
                  nullable: true
                custom3:
                  type: string
                  nullable: true
                custom4:
                  type: string
                  nullable: true
                custom5:
                  type: string
                  nullable: true
            contactdata:
              type: object
              description: The customer's contact data.
              properties:
                mobilephone:
                  type: string
                  description: The customer's mobile phone number.
                email:
                  type: string
                  description: The customer's email address.
            userdata:
              type: object
              description: Indicates customer data parameters for which a match was found.
              properties:
                birthday:
                  type: object
                  description: Indicates a match on the customer's birthday.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                firstname:
                  type: object
                  description: Indicates a match on the customer's first name.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                address:
                  type: object
                  description: Indicates a match on the customer's address.
                  properties:
                    zipcode:
                      type: object
                      properties:
                        status:
                          type: string
                        value:
                          type: string
                    country:
                      type: object
                      properties:
                        status:
                          type: string
                        value:
                          type: string
                    city:
                      type: object
                      properties:
                        status:
                          type: string
                        value:
                          type: string
                    street:
                      type: object
                      properties:
                        status:
                          type: string
                        value:
                          type: string
                birthplace:
                  type: object
                  description: Indicates a match on the customer's birthplace.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                nationality:
                  type: object
                  description: Indicates a match on the customer's nationality.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                birthname:
                  type: object
                  description: Indicates a match on the customer's birth name.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                title:
                  type: object
                  description: Indicates a match on the customer's title.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                lastname:
                  type: object
                  description: Indicates a match on the customer's last name.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
            identificationdocument:
              type: object
              description: >-
                Indicates matches for data parameters related to the customer's
                identification document.
              properties:
                country:
                  type: object
                  description: Indicates a match on the country of the customer document.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                number:
                  type: object
                  description: Indicates a match on the number of the customer document.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                issuedby:
                  type: object
                  description: >-
                    Indicates a match on the issuing authority of the customer
                    document.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                dateissued:
                  type: object
                  description: >-
                    Indicates a match on the issue date of the customer
                    document.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                type:
                  type: object
                  description: Indicates a match on the type of the customer document.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
                validuntil:
                  type: object
                  description: >-
                    Indicates a match on the expiration date of the customer
                    document.
                  properties:
                    status:
                      type: string
                    value:
                      type: string
            attachments:
              type: object
              description: Files attached to the IDnow attempt.
              properties:
                pdf:
                  type: string
                signature:
                  type: string
                xml:
                  type: string
                videolog:
                  type: string
                idbackside:
                  type: string
                idfrontside:
                  type: string
                security1:
                  type: string
                userface:
                  type: string
                security2:
                  type: string
                security_covered:
                  type: string
                security3:
                  type: string
      example:
        id: e1eeb07262b695dc0ee5d4ab9350c12dcida
        result: SUCCESS
        reason: null
        payload:
          identificationprocess:
            result: SUCCESS
            companyid: solarisbankvideoidenttesting
            filename: b2d949eb12ecd6798fa8e2ae66fc4a5acidt.zip
            agentname: TROBOT
            identificationtime: '2019-03-27T16:47:59+01:00'
            id: TST-EABTZ
            href: >-
              /api/v1/solarisbankvideoidenttesting/identifications/b2d949eb12ecd6798fa8e2ae66fc4a5acidt.zip
            type: WEB
            transactionnumber: b2d949eb12ecd6798fa8e2ae66fc4a5acidt
          customdata:
            custom1: null
            custom2: null
            custom3: null
            custom4: null
            custom5: null
          contactdata:
            mobilephone: '+49301234567'
            email: person@example.com
          userdata:
            birthday:
              status: MATCH
              value: '1972-12-24'
            firstname:
              status: MATCH
              value: X-MANUALTEST-HAPPYPATH
            address:
              zipcode:
                status: MATCH
                value: '10409'
              country:
                status: MATCH
                value: DE
              city:
                status: MATCH
                value: BERLIN
              street:
                status: NEW
                value: STREET
            birthplace:
              status: MATCH
              value: BERLIN
            nationality:
              status: NEW
              value: DE
            birthname:
              status: MATCH
              value: DOE
            title:
              status: NEW
              value: TITLE
            lastname:
              status: MATCH
              value: MUSTERMANN
          identificationdocument:
            country:
              status: NEW
              value: DE
            number:
              status: NEW
              value: T01008921
            issuedby:
              status: NEW
              value: ISSUER
            dateissued:
              status: NEW
              value: '2010-11-01'
            type:
              status: NEW
              value: IDCARD
            validuntil:
              status: NEW
              value: '2020-10-31'
          attachments:
            pdf: b2d949eb12ecd6798fa8e2ae66fc4a5acidt.pdf
            signature: b2d949eb12ecd6798fa8e2ae66fc4a5acidt_signature.jpg
            xml: b2d949eb12ecd6798fa8e2ae66fc4a5acidt.xml
            videolog: b2d949eb12ecd6798fa8e2ae66fc4a5acidt.mp4
            idbackside: b2d949eb12ecd6798fa8e2ae66fc4a5acidt_idbackside.jpg
            idfrontside: b2d949eb12ecd6798fa8e2ae66fc4a5acidt_idfrontside.jpg
            security1: b2d949eb12ecd6798fa8e2ae66fc4a5acidt_security1.jpg
            userface: b2d949eb12ecd6798fa8e2ae66fc4a5acidt_userface.jpg
            security2: b2d949eb12ecd6798fa8e2ae66fc4a5acidt_security2.jpg
            security_covered: b2d949eb12ecd6798fa8e2ae66fc4a5acidt_security_covered.jpg
            security3: b2d949eb12ecd6798fa8e2ae66fc4a5acidt_security3.jpg
    Solaris-Server-Decorators-IdentificationLegitimation:
      type: object
      properties:
        legitimation_document_number:
          type: string
          description: The document number of the legitimation document.
          example: '123456789'
        legitimation_type:
          type: string
          description: The type of the legitimation document.
          example: PASSPORT
          enum:
            - IDCARD
            - PASSPORT
        legitimation_issuer:
          type: string
          description: Issuer of the legitimation document.
          example: Stadt Heidelberg
        legitimation_country:
          type: string
          description: Country that issued the legitimation document.
          example: GERMANY
        legitimation_issued_at:
          type: string
          format: date
          description: >-
            The date when the legitimation document was issued. **Note** Not
            required for Spanish ID cards.
          example: '2015-10-15'
        legitimation_valid_until:
          type: string
          format: date
          description: The date when the legitimation document expires.
          example: '2025-10-14'
    Solaris-Enums-DocumentType:
      type: string
      description: The type of document.
      enum:
        - ACCOUNT_SNAPSHOT.FINTECSYSTEMS
        - ACCOUNT_STATEMENT
        - AML_POLICY
        - ANNUAL_FINANCIAL_STATEMENT
        - B2B_MANDATE
        - BALANCE_REPORT
        - BANK_REFERENCE
        - BUSINESS_ASSESSMENT
        - BUSINESS_FINANCIALS_XBRL
        - CREDIT_AGENCY_REPORT
        - CREDIT_RECORD.SCHUFA
        - CUSTOMER_COMMUNICATION
        - FATCA_SELF_DECLARATION
        - FOUNDATION_DOCUMENT
        - ID_DOCUMENT
        - INVOICE
        - KYC_BENEFICIAL_OWNER
        - KYC_CORPORATE_DOCUMENT
        - KYC_FORM
        - KYC_LEGAL_REPRESENTATIVE
        - KYC_RELIABILITY_CHECK
        - KYC_REPORT
        - LOAN_MANDATE_CONTRACT
        - OTHER
        - PAYMENT_CONFIRMATION
        - PICTURE
        - POWER_OF_ATTORNEY
        - PROOF_OF_ADDRESS
        - PROOF_OF_PHONE_CHANGE
        - PROOF_OF_PROFESSION
        - PROOF_OF_SALARY
        - PROOF_OF_TAX_ID
        - REFERENCE_LETTER
        - REGISTER_APPLICATION
        - REGISTER_EXTRACT
        - SALARY_INFORMATION
        - SCHUFA_COMPACT_REPORT
        - SCHUFA_FULL_REPORT
        - SCHUFA_GWG_REPORT
        - SCHUFA_SHORT_REPORT
        - SCORE_CARD.SOLARIS
        - SCREENING_REPORT
        - SHAREHOLDERS_LIST
        - SHARE_HOLDERS_AGREEMENT
        - SIGNATURE
        - SIGNED_CONTRACT
        - SIGNED_LOAN_MANDATE_CONTRACT
        - TRADING_LICENSE
        - TRANSACTIONAL_DOCUMENT
        - TRANSFER_CANCELLATION
        - VAT_CERTIFICATE
        - VIDEO
    Solaris-Resources-Document:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of the document.
          example: 69ec2a9d8dbaf5ea1b13124098a34ea3cdoc
        name:
          type: string
          description: The name of the file associated with the document.
          example: Operation_authorization.png
        content_type:
          type: string
          description: The content type of the file associated with the document.
          example: image/png
        document_type:
          allOf:
            - $ref: '#/components/schemas/Solaris-Enums-DocumentType'
          example: PICTURE
        size:
          type: integer
          description: The file size, in bytes.
          example: 10187
        customer_accessible:
          type: boolean
          description: Indicates whether the customer has access to the document.
          example: false
        created_at:
          type: string
          description: UTC timestamp from when the document was created in Solaris' system.
          example: '2022-05-20T12:46:09Z'
        deleted_at:
          type: string
          description: UTC timestamp from when the document was deleted (if applicable).
          example: 'null'
    DeviceConsent:
      type: object
      properties:
        event_type:
          type: string
          description: >-
            Indicates whether the customer approved or rejected device
            monitoring.
          enum:
            - APPROVED
            - REJECTED
        confirmed_at:
          type: string
          description: >-
            UTC timestamp from when the customer consented/refused to consent to
            device monitoring.
      example:
        event_type: APPROVED
        confirmed_at: '2021-06-25T09:44:25.000Z'
    Solaris-Server-Decorators-DeviceConsent:
      type: object
      properties:
        id:
          type: string
          example: 17a7389adaf83145770d8e6c00a398ddcon
          description: ID of the device consent.
        person_id:
          type: string
          example: e2bbc86268e9a4667861b73f31dba03bcper
          description: ID of the person that gave the consent.
        event_type:
          type: string
          description: >-
            Indicates whether the customer approved or rejected device
            monitoring.
          enum:
            - APPROVED
            - REJECTED
        confirmed_at:
          type: string
          example: '2021-06-25T09:44:25.000Z'
          description: >-
            UTC timestamp from when the customer consented/refused to consent to
            device monitoring.
        created_at:
          type: string
          example: '2021-06-25T09:44:25.000Z'
          description: >-
            UTC timestamp from when the consent event was created on Solaris'
            backend.
    Error400-2:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '400'
        code:
          type: string
          example: constraint_violation
        title:
          type: string
          example: The request violated data integrity constraints
        detail:
          type: string
          example: confirmedAt --> Date mustn't be in the future.
    Error404-2:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '404'
        code:
          type: string
          example: person_not_found
        title:
          type: string
          example: Person Not Found
        detail:
          type: string
          example: Couldn't find person for id 'bbbcccfff388923eb899a5852df6cper'.
    DeviceActivity:
      type: object
      properties:
        device_data:
          type: string
          description: Base64-encoded data collected by the Seon SDK.
          example: >-
            Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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
        activity_type:
          type: string
          description: >-
            The type of activity recorded by the Seon SDK, mapped to a change
            request- or MFA-related action.
          enum:
            - APP_START
            - PASSWORD_RESET
            - CONSENT_PROVIDED
    Solaris-Server-Decorators-Identification-Mobile-Change:
      type: object
      properties:
        identification_id:
          type: string
          description: >-
            The ID of the generated identification. Call the `PATCH
            /persons/{person_id}/identifications/{identification_id}/request`
            method using this ID.
    AccountSnapshotWeb:
      properties:
        iban:
          type: string
          description: >-
            Optional IBAN used to initiate the FinTecSystems account snapshot
            process.
          nullable: true
          example: DE92370601930002130041
        id:
          type: string
          description: ID of the account snapshot.
          example: d42a2dfcf32c4550bd1e1fe373bb953bsnap
        location:
          type: string
          description: >-
            (FINREACH only) The URL to which you must redirect the customer to
            enter their bank credentials for the account snapshot.
          example: https://ui.solaris-i.prod.finleap.cloud?token=xxxxxx
          nullable: true
        provider:
          type: string
          example: FIN_TEC_SYSTEMS
          enum:
            - FIN_TEC_SYSTEMS
            - FINREACH
            - SOLARISBANK
            - PARTNER
        status:
          type: string
          description: The current status of the account snapshot session.
          example: available
          enum:
            - available
            - expired
            - failed
            - pending
        status_description:
          type: string
          description: >-
            Provides additional context around the account snapshot's status
            value.
          nullable: true
        wizard_session_key:
          type: string
          nullable: true
          description: >-
            (FIN_TECH_SYSTEMS only) The key which you must enter in the
            FIN_TECH_SYSTEMS wizard container to start the account snapshot
            session.
          example: wiz04852083740
      required:
        - id
        - status
        - provider
      title: AccountSnapshotWeb.AccountSnapshot.ShowAccountSnapshotResponse
      type: object
      x-struct: >-
        Elixir.AccountSnapshotWeb.V1.AccountSnapshots.ShowOperationView.ShowAccountSnapshotResponse
    Solaris-Server-Decorators-IdentificationSession:
      type: object
      properties:
        id:
          type: string
          description: ID of the identification session.
          example: acdede097f821bd8037465d691f69506ises
        url:
          type: string
          description: The URL of the identification session.
          example: >-
            https://person-onboarding.solaris-staging.de/9AXlUH0ptsZoFef2n8LKiqpEAizdJTjVQ4tzZeu1LpvqbK201REXFG_EBwiGTw0PLlHWCaA7NLOOcUh1u_a7HUpp7wYMNlGnzALka-v_9MVOxOIfN73lFjFg7JMtBdJO
        callback_url:
          type: string
          description: The callback URL of the identification session.
          example: https://www.callbackurl.com
        identification_methods:
          description: The allowed identification methods for the session.
          type: array
          items:
            type: string
            example: idnow
            enum:
              - bank
              - bank_id
              - fourthline
              - idnow
              - manual
              - postident
        status:
          type: string
          description: The current status of the identification session.
          example: created
          enum:
            - authorization_required
            - confirmation_required
            - confirmed
            - created
            - expired
            - identification_data_required
            - pending
            - pending_successful
            - rejected
            - successful
    Solaris-Server-Decorators-IdentificationSession-Configuration:
      type: object
      properties:
        terms_and_conditions_pre_accepted:
          type: boolean
          description: >-
            Indicates whether or not the terms and conditions had been accepted
            prior to the beginning of the identification session.
        fourthline_provider:
          type: string
          description: The Fourthline provider for the identification session.
          example: fourthline
    Solaris-Request-Params-Identification-Session:
      example:
        method: idnow
        language: EN
        proof_of_address_type: GAS_BILL
        proof_of_address_issued_at: '2021-12-03'
        device_data: >-
          Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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
      type: object
      properties:
        method:
          description: The identification method to use for the person identification.
          enum:
            - bank
            - bank_id
            - fourthline
            - idnow
            - manual
            - postident
          type: string
        language:
          description: >-
            (IDnow only) The customer's preferred language for the
            identification process.
          enum:
            - DE
            - EN
          type: string
        reference:
          type: string
          description: A reference supplied by the identification provider.
        proof_of_address_type:
          description: >-
            The type of document submitted by the customer as a proof of
            address. This field is **mandatory** if the customer's
            identification document does not include their address.
          example: GAS_BILL
          enum:
            - BANK_ACCOUNT_STATEMENT
            - CERTIFICATE_OF_REGISTRATION
            - ELECTRICITY_BILL
            - GAS_BILL
            - HEATING_BILL
            - INTERNET_BILL
            - TELEPHONE_BILL
            - WATER_BILL
          type: string
        proof_of_address_issued_at:
          description: >-
            The date when the proof of address document was issued. This field
            is **mandatory** if the customer's identification document does not
            include their address.
          type: string
          format: date
        iban:
          description: >-
            The customer's IBAN. This field is mandatory if the identification
            method is `bank` or `bank_id`. Please note that Solaris only accepts
            certain banks for the Bankident KYC flow. See the full list
            [here](https://docs.solarisgroup.com/guides/kyc/bankident/#allowed-banks).
          type: string
        device_data:
          type: string
          description: >-
            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.
    Solaris-Server-Decorators-IdentificationSession-Identification:
      type: object
      properties:
        id:
          type: string
          description: ID of the person identification.
          example: 9dfe2f4edaa67138be0c0c1cd3a7d849cidt
        reference:
          type: string
          description: Reference generated by the identification provider.
          example: TST-ELCCJ
        url:
          type: string
          description: (IDnow only) Redirect URL used to start the identification process.
          example: >-
            https://go.test.idnow.de/company_id/identifications/identification_id
        status:
          type: string
          description: >-
            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.
          example: successful
          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:
          type: string
          description: Date and time when the identification was completed.
          example: '2021-09-14T18:18:28.000Z'
        method:
          type: string
          description: The method used for the identification.
          example: idnow
          enum:
            - bank
            - bank_id
            - fourthline
            - idnow
            - manual
            - postident
        proof_of_address_type:
          type: string
          description: >-
            The type of document submitted by the customer as a proof of address
            if their identification document did not include their address.
          example: GAS_BILL
          enum:
            - BANK_ACCOUNT_STATEMENT
            - CERTIFICATE_OF_REGISTRATION
            - ELECTRICITY_BILL
            - GAS_BILL
            - HEATING_BILL
            - INTERNET_BILL
            - TELEPHONE_BILL
            - WATER_BILL
        proof_of_address_issued_at:
          type: string
          description: The date when the proof of address document was issued.
          example: '2021-12-03'
        language:
          type: string
          description: >-
            (IDnow only) The customer's preferred language for the
            identification process.
          example: EN
          enum:
            - DE
            - EN
        person_id:
          type: string
          description: ID of the person for whom the identification was initiated.
          example: 992de312a545bb24a88ddbf57ae8b1ffcper
        address:
          type: object
          description: The customer's address.
          properties:
            line_1:
              type: string
              description: Address line 1.
              example: BERLINER STR. 45
            line_2:
              type: string
              description: Address line 2.
              example: Erste Etage
            postal_code:
              type: string
              description: Customer's postal code.
              example: '14169'
            city:
              type: string
              description: Customer's city.
              example: Berlin
            country:
              type: string
              description: Customer's country.
              example: DE
            state:
              type: string
              description: Customer's state.
              example: BE
        documents:
          type: array
          description: >-
            Documents provided by the customer during the identification
            process.
          items:
            type: object
            properties:
              id:
                type: string
                description: ID of the document.
              name:
                type: string
                description: The filename of the document.
              content_type:
                type: string
                description: Formatting type of the document.
              document_type:
                type: string
                description: The type of document submitted.
                enum:
                  - ID_DOCUMENT
                  - KYC_REPORT
                  - OTHER
                  - PICTURE
                  - SIGNATURE
                  - SIGNED_CONTRACT
                  - QES_DOCUMENT
                  - SIGNED_QES_DOCUMENT
              size:
                type: integer
                description: The file size (in bytes).
          example:
            - id: 448b75fa1c57eecda41d91c66c22faa6cdoc
              name: file1.pdf
              content_type: application/json
              document_type: KYC_REPORT
              size: 803580
            - id: 94eb22a9311be9a1fbb698c448b0b337cdoc
              name: file2.jpg
              content_type: image/jpeg
              document_type: SIGNATURE
              size: 25349
        failure_reason:
          type: string
          description: >-
            Additional context around why the identification failed. Value
            depends on the identification method.
          nullable: true
        iban:
          type: string
          example: DE11010101010101010100
          description: >-
            Optional IBAN provided for `bank` and `bank_id` identifications.
            Please note that Solaris only accepts certain banks for the
            Bankident KYC flow. See the full list
            [here](https://docs.solarisgroup.com/guides/kyc/bankident/#allowed-banks).
        authorization_expires_at:
          type: string
          nullable: true
          description: >-
            The date and time by which the authorization for the end customer
            must be requested.
        confirmation_expires_at:
          type: string
          nullable: true
          description: >-
            The date and time by which the customer must input the OTP sent to
            their mobile number for the QES process.
        provider_status_code:
          type: integer
          nullable: true
          description: >-
            (Fourthline only) Status code returned by the identification
            provider.
          enum:
            - 1000
            - 1001
            - 1002
            - 1003
            - 1004
            - 1005
            - 1006
            - 1007
            - 1008
            - 1009
            - 1010
            - 1011
            - 1012
            - 1013
            - 1014
            - 1015
            - 1016
            - 1017
            - 1018
            - 1019
            - 1020
            - 1021
            - 1022
            - 1023
            - 1024
            - 1030
            - 1031
            - 1032
            - 1033
            - 1034
            - 1035
            - 1036
            - 1037
            - 1038
            - 1100
            - 2001
            - 2002
            - 2003
            - 3001
            - 3002
            - 3003
            - 3004
            - 3005
            - 3100
            - 3101
            - 3102
            - 3103
            - 3104
            - 3105
            - 3106
            - 3107
            - 3200
            - 3201
            - 3202
            - 3203
            - 3204
            - 3205
            - 3206
            - 3207
            - 3208
            - 3209
            - 3210
            - 3211
            - 3250
            - 3300
            - 3304
            - 3305
            - 3306
            - 3307
            - 3308
            - 3400
            - 3401
            - 3402
            - 3403
            - 3404
            - 3405
            - 3406
            - 3407
            - 3408
            - 3500
            - 3510
            - 3520
            - 3540
            - 3600
            - 3601
            - 3602
            - 3603
            - 3610
            - 3620
        account_verification_error:
          type: string
          nullable: true
          description: >-
            Session Error returned by Tink in the account verification process.
            Will only be populated when failure_reason is account_snaphot_failed
            or account_snapshot_expired. Only present for identifications within
            identification session.
          enum:
            - accounts_failed
            - client_aborted
            - init_failed
            - login_failed
            - login_next_failed
            - max_login_tries
            - max_tan_tries
            - no_compatible_accounts
            - pinned_iban_not_found
            - security_setting_rejection
            - session_expired
            - tech_error
            - transaction_failed
            - turnovers_failed
            - validation_failed
        idnow_process_type:
          type: string
          description: >-
            When method idnow is selected, the process type will reflect which
            idnow process was chosen.
          example: eid
    Solaris-Server-Decorators-Signing:
      type: object
      properties:
        id:
          type: string
          description: ID of the signing.
        reference:
          type: string
          description: Reference provided for the signing.
        url:
          type: string
          description: URL of the signing.
        state:
          type: string
          description: The current state of the signing.
          enum:
            - created
            - expired
            - failed
            - pending
            - successful
        status:
          type: string
          description: The current status of the signing.
          enum:
            - created
            - expired
            - failed
            - finished
            - pending
        completed_at:
          type: string
          description: Date and time when the signing was completed.
        method:
          type: string
          description: Method used to complete the signing.
        identification_id:
          type: string
          description: ID of the related person identification.
        documents:
          type: array
          description: Documents signed by the customer.
          items:
            type: object
            properties:
              id:
                type: string
                description: ID of the signed document.
              name:
                type: string
                description: Filename of the signed document.
              content_type:
                type: string
                description: File format of the signed document.
              document_type:
                type: string
                description: The type of the signed document.
              size:
                type: integer
                description: The file size of the signed document (in bytes).
              customer_accessible:
                type: boolean
                description: >-
                  Indicates whether or not the customer has access to the
                  document.
              created_at:
                type: string
                description: Date and time when the document was uploaded.
      example:
        id: 7da925f612600ee0a2c386afe1cac4bccsig
        reference: TST-QMNBB
        url: >-
          https://go.test.idnow.de/solarisbankesignsandbox/identifications/155b0818593319dd718e2ec139718973cidt/webcam
        state: successful
        status: finished
        completed_at: '2020-04-08T12:53:42.000Z'
        method: idnow
        identification_id: 155b0818593319dd718e2ec139718973cidt
        documents:
          - id: 99167f972843c1bd4db0b55719e70df9cdoc
            name: 155b0818593319dd718e2ec139718973cidt_ldoc_signed.pdf
            content_type: application/pdf
            document_type: SIGNED_CONTRACT
            size: 210012
            customer_accessible: false
            created_at: '2020-04-08T12:53:56.000Z'
          - id: d3e6e5552009db11ca0b004836d53512cdoc
            name: 155b0818593319dd718e2ec139718973cidt_cdoc_signed.pdf
            content_type: application/pdf
            document_type: SIGNED_CONTRACT
            size: 210012
            customer_accessible: false
            created_at: '2020-04-08T12:53:57.000Z'
          - id: 5d4cbca60126f0e25503b0332f10ead8cdoc
            name: 155b0818593319dd718e2ec139718973cidt.xml
            content_type: application/xml
            document_type: OTHER
            size: 2894
            customer_accessible: false
            created_at: '2020-04-08T12:53:57.000Z'
          - id: 03bfa749ce3b9e6ad41f398c32d7c1eecdoc
            name: 155b0818593319dd718e2ec139718973cidt.xml.sig
            content_type: application/pgp-signature
            document_type: SIGNATURE
            size: 256
            customer_accessible: false
            created_at: '2020-04-08T12:53:58.000Z'
    Solaris-Request-Params-FourthlineRegisterVerificationOutcome:
      type: object
      properties:
        expectations:
          description: The expectations to register for this identification.
          type: object
          additionalProperties:
            type: object
            description: >-
              Expectation to execute when the Fourthline identification reaches
              the status specified as property key (e.g. `pending`).
            properties:
              responseDetails:
                type: array
                items:
                  type: object
                  properties:
                    statusCode:
                      type: string
                      description: >-
                        Fourthline verification status code to set when the
                        expectation is execute (see [Fourthline Verification
                        Status](https://dx.fourthline.com/reference/verification-status)).
                      example: '10'
                  required:
                    - statusCode
              targetStatus:
                type: string
                enum:
                  - user_consent_required
                description: >-
                  A valid Fourthline identification status to transition to
                  (currently only `user_consent_required` supported).
                example: user_consent_required
            example:
              responseDetails:
                - statusCode: '10'
          example:
            pending:
              targetStatus: user_consent_required
            user_consent_required:
              responseDetails:
                - statusCode: '10'
      required:
        - expectations
    Solaris-Server-Decorators-BusinessIdentification:
      type: object
      properties:
        id:
          type: string
          description: The unique ID of the business identification resource.
          example: 4c74c804eaea5d2a2d64ef400a27a4d3bid
        method:
          type: string
          description: The identification method. Default value is `idnow`.
          example: idnow
          enum:
            - idnow
            - itm
            - import
        reference:
          type: string
          description: >-
            The reference of the itm identification request. Empty when the
            identification method is idnow.
          example: TST-VWKRA
        status:
          type: string
          description: The status of the business identification process.
          example: pending
          enum:
            - created
            - pending
            - successful
            - failed
            - expired
        completed_at:
          type: string
          description: The date and time when the business identification was completed.
          example: 'null'
        legal_representatives:
          type: array
          description: >-
            The legal representatives with their video identification details,
            such as idnow URLs, status, and timestamps of creation and
            completion.
          items:
            type: string
        legal_identification_status:
          type: string
          description: The status of the business legal identification.
          example: information_required
          enum:
            - created
            - information_required
            - blocked_internally
            - successful
            - failed
            - expired
        legal_identification_reason:
          type: string
          description: The reasons for a failed legal identification.
          example: 'null'
        legal_identification_missing_information:
          type: array
          description: >-
            Missing information or documents that Solaris needs from the
            business to complete the legal identification process.
          items:
            type: string
            enum:
              - COMPLIANCE_QUESTIONS
              - FOUNDATION_DOCUMENT
              - OTHER
              - REGISTER_APPLICATION
              - SCHUFA_EXTRACT
              - SCHUFA_GWG_REPORT
              - SEALED_FOUNDATION_DOCUMENT
              - SHAREHOLDERS_AGREEMENT
              - SHAREHOLDERS_LIST
              - SHAREHOLDERS_LIST_MOTHER_COMPANY
              - SIGNED_FOUNDATION_DOCUMENT
              - SOURCE_OF_FUNDS
              - VAT_CERTIFICATE
            example: COMPLIANCE_QUESTIONS
        legal_identification_missing_information_details:
          type: string
          description: >-
            Field that includes extra details or clarification on the missing
            information and/or documents Solaris requires.
        business_id:
          type: string
          description: >-
            The unique business ID, generated after completing the business
            onboarding process.
          example: 880bbac68a34add190786b9c74f4c82fcbiz
    Error400-3:
      type: object
      title: Error400
      properties:
        title:
          type: string
          example: Failed to build pagination headers.
        status:
          type: string
          example: '400'
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        detail:
          type: string
          example: Cannot connect to database.
        code:
          type: string
          example: build_pagination_headers_failure
    Error403-2:
      type: object
      title: Error403
      properties:
        title:
          type: string
          example: Unauthorized Action
        status:
          type: string
          example: '403'
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        detail:
          type: string
          example: Unauthorized action is not allowed.
        code:
          type: string
          example: unauthorized_action
    Error500-2:
      type: object
      title: Error500
      properties:
        title:
          type: string
          example: Generic Error
        status:
          type: string
          example: '500'
        id:
          type: string
          example: e8915041-9d8c-4d96-9dd1-04e8522ecdbf
        detail:
          type: string
          example: There was an error.
        code:
          type: string
          example: generic_error
    Solaris-Server-Decorators-PartnerApproval:
      type: object
      properties:
        business_identification_id:
          type: string
          description: The unique ID of the business identification resource.
          example: 4c74c804eaea5d2a2d64ef400a27a4d3bid
        approved:
          type: boolean
          description: The partner approval status.
          example: true
    Solaris-Server-Decorators-Question:
      type: object
      properties:
        question_id:
          type: string
          description: The unique ID of the compliance question created by Solaris.
          example: ebb463137becc09788dfe21fc066e670qstn
        question_text:
          type: string
          description: The text of the compliance question.
          example: >-
            Please provide the license for security / guarding services
            (Bewachungsgewerbe): § 34a GewO
        legal_identification_id:
          type: string
          description: The unique ID of the business legal identification.
          example: 14eb210435e09ab7f6a06c8b9b86ce27lid
        business_identification_id:
          type: string
          description: The unique ID of the business identification resource.
          example: 4c74c804eaea5d2a2d64ef400a27a4d3bid
        business_id:
          type: string
          description: >-
            The unique business ID, generated after completing the business
            onboarding process.
          example: 880bbac68a34add190786b9c74f4c82fcbiz
        answer_id:
          type: string
          description: The unique ID of the customer's answer to the compliance question.
          example: db5482ee94c5a091e93f36496562d5ffansr
        answer_text:
          type: string
          description: The text of the answer to the compliance question.
        asked_at:
          type: string
          description: >-
            The date and time when the compliance question was created by
            Solaris.
          format: date-time
          example: '2021-07-16T13:38:06.000Z'
        answered_at:
          type: string
          description: >-
            The date and time when the answer to the compliance question was
            created.
          format: date-time
          example: '2021-07-16T13:53:18.000Z'
    Solaris-Server-Decorators-LegalIdentification:
      type: object
      properties:
        id:
          type: string
          description: The unique ID of the business legal identification.
          example: 14eb210435e09ab7f6a06c8b9b86ce27lid
        identification_id:
          type: string
          description: The unique of ID the business identification resource.
          example: 4c74c804eaea5d2a2d64ef400a27a4d3bid
        business_id:
          type: string
          description: >-
            The unique business ID, generated after completing the business
            onboarding process.
          example: 880bbac68a34add190786b9c74f4c82fcbiz
        status:
          type: string
          description: The status of the business legal identification.
          example: information_required
          enum:
            - created
            - information_required
            - blocked_internally
            - successful
            - failed
            - expired
        reason:
          type: string
          description: The reasons for a failed legal identification.
          example: 'null'
        missing_information:
          type: string
          description: >-
            Missing information or documents that Solaris needs from the
            business to complete the legal identification process.
          example: COMPLIANCE_QUESTIONS
          enum:
            - COMPLIANCE_QUESTIONS
            - FOUNDATION_DOCUMENT
            - OTHER
            - REGISTER_APPLICATION
            - SCHUFA_EXTRACT
            - SCHUFA_GWG_REPORT
            - SEALED_FOUNDATION_DOCUMENT
            - SHAREHOLDERS_AGREEMENT
            - SHAREHOLDERS_LIST
            - SHAREHOLDERS_LIST_MOTHER_COMPANY
            - SIGNED_FOUNDATION_DOCUMENT
            - SOURCE_OF_FUNDS
            - VAT_CERTIFICATE
        missing_information_details:
          type: string
          description: >-
            Field that includes extra details or clarification on the missing
            information and/or documents Solaris requires.
    Solaris-Server-Decorators-Hit:
      type: object
      properties:
        id:
          type: string
          description: ID of the hit.
        status:
          type: string
          description: Current status of the hit.
        check_phrase:
          type: string
          description: check phrase submitted
        check_event:
          type: string
          description: check initiating event
        similarity:
          type: number
          description: match percentage to phrase
          format: float
        first_name:
          type: string
          description: first name of match
        last_name:
          type: string
          description: last name of match
        threshold:
          type: number
          description: threshold of match
          format: float
        aliases_raw:
          type: string
          description: match aliases
        alternative_spelling:
          type: string
          description: match alternate spellings
        category:
          type: string
          description: match category
        title:
          type: string
          description: match title
        sub_category:
          type: string
          description: match subtitle
        age:
          type: string
          description: match age
        date_of_birth:
          type: string
          description: YYYY/MM/DD
        place_of_birth:
          type: string
          description: YYYY/MM/DD
        deceased_date:
          type: string
          description: YYYY/MM/DD
        locations:
          type: string
          description: associated location
        countries:
          type: string
          description: associated countries
        companies:
          type: string
          description: associated companies
        gender:
          type: string
          description: gender
        further_information:
          type: string
          description: further info
        keywords:
          type: string
          description: keywords
        entered:
          type: string
          description: date entered in World Checker
        updated:
          type: string
          description: date updated in World Checker
        deleted:
          type: string
          description: date deleted in World Checker
        passports:
          type: string
          description: known passports
        position:
          type: string
          description: currently held position
        remaining_data:
          type: string
          description: miscellaneous data
        created_at:
          type: string
          description: hit created at
          format: date
        updated_at:
          type: string
          description: hit updated at
          format: date
        external_sources:
          type: string
          description: list of all public sources used
        age_recorded_at:
          type: string
          description: date when age was recorded
        worldcheck_id:
          type: string
          description: id of worldcheck entry
    Solaris-Server-Decorators-Identification-Account:
      type: object
      properties:
        iban:
          type: string
          description: The account's IBAN.
          example: DE05011010100000000043
        account_currency:
          type: string
          description: 'Currency: ''EUR'''
          example: EUR
        account_bic:
          type: string
          description: The account's BIC.
          example: SOBKDEB2XXX
        product_name:
          allOf:
            - $ref: '#/components/schemas/account_opening_product_names_enum'
        account_type:
          allOf:
            - $ref: '#/components/schemas/account_opening_account_types'
        account_purpose:
          type: string
          description: The purpose of the account. Use primary unless otherwise instructed.
          example: primary
        account_id:
          type: string
          description: >-
            The ID of the account that was created for the customer. This is
            null if account check is not successful.
          example: c5a0e32369e9372e0fdf490294cecd8dcacc
    Error404-3:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '404'
        code:
          type: string
          example: model_not_found
        title:
          type: string
          example: Model Not Found
        detail:
          type: string
          example: Record not found
    Error409:
      type: object
      title: Error409
      properties:
        title:
          type: string
          example: Record Not Unique
        status:
          type: string
          example: '409'
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        detail:
          type: string
          example: Record Not Unique.
        code:
          type: string
          example: record_not_unique
  requestBodies:
    Solaris-Request-Params-Identification:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Solaris-Request-Params-Identification'
      description: The content of the request.
    Solaris-Request-Params-Identification-Session:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Solaris-Request-Params-Identification-Session'
      description: The content of the request.
