openapi: 3.0.1
info:
  title: Persons
  version: '1.0'
servers:
  - url: https://api.solaris-sandbox.de
    description: Sandbox
  - url: https://api.solarisbank.de
    description: Production
paths:
  /v1/persons:
    post:
      tags:
        - Persons
      summary: Create a person
      description: >-
        Creates a person resource for a new customer. <br> The mandatory data
        points you must provide when creating a person vary based on the
        country, product and customer segment (e.g., B2C or freelancers). See
        the [onboarding requirements
        guide](https://docs.solarisgroup.com/guides/get-started/onboarding-requirements/2-data-collection/)
        for information on the required data points in each use case.<br>
        **Important:**<br> <ul><li>Please collect the customer's **tax residence
        country** separately. Do not default to their residence country for
        their tax country.</li><li>Don't use any real personal data when testing
        this endpoint on Sandbox.</li></ul>
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Solaris-Request-Params-Person'
        required: false
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Person'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Error400'
                  - $ref: '#/components/schemas/Error400-Allowed-Residencies'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person#create
      x-codegen-request-body-name: body
    get:
      tags:
        - Persons
      summary: Index persons
      description: Returns an array containing all the persons you have created.
      parameters:
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
        - name: sort
          in: query
          schema:
            type: string
        - name: filter[first_name]
          in: query
          description: Filter the results by first name.
          schema:
            type: string
        - name: filter[last_name]
          in: query
          description: Filter the results by last name.
          schema:
            type: string
        - name: filter[birth_date]
          in: query
          description: Filter the results by birth date.
          schema:
            type: string
        - name: filter[birth_date][min]
          in: query
          description: Filter the results by birth date **starting from** a given date.
          schema:
            type: string
        - name: filter[birth_date][max]
          in: query
          description: Filter the results by birth date **up until** a given date.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solaris-Server-Decorators-Person'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person#all
  /v1/persons/{id}:
    get:
      tags:
        - Persons
      summary: Retrieve a person
      description: Returns the person resource specified in the request URL.
      parameters:
        - name: 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-Person'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person#find
    patch:
      tags:
        - Persons
      summary: Update a person
      description: >-
        Updates one or more properties on a person resource.  <br> **Note:** You
        can update **some and not all** properties using this endpoint. This API
        reference lists only the properties you can update with this call. This
        call triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process (unless the property being updated has a value of `null`).
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Solaris-Request-Params-Person-Update'
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Person'
        '202':
          description: >-
            The request was accepted, and now the customer must confirm the
            change request.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Error400'
                  - $ref: '#/components/schemas/Error400-Allowed-Residencies'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person#update
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/mobile_number:
    post:
      tags:
        - Person mobile numbers
      summary: Create a mobile number for a person
      description: >-
        Registers a new mobile number for a person. Please note the
        following:<br> <ul> <li>Each customer may only have one mobile number at
        a time.</li> <li>The customer cannot use their mobile number until they
        verify it using the POST Request authorization and POST Confirm
        endpoints.</li> <li>The API removes spaces, dashes, underscores, and
        forward slashes from the mobile number value.</li> </ul>
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: with_identification
          in: query
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              required:
                - number
              type: object
              properties:
                number:
                  type: string
                  description: The mobile number to register for the person.
                device_data:
                  type: string
                  description: >-
                    Base64 encoded device data as provided by Seon SDK. Details
                    of Seon SDK integration can be found in the [device
                    monitoring
                    guide](https://docs.solarisgroup.com/guides/kyc/device-monitoring/).
              example:
                number: '+49301234567'
                device_data: >-
                  Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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
        required: false
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-MobileNumber'
        '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'
        '409':
          description: >-
            Mobile number already added for person
            ed97adf7eccaffe55339d397ecde54b0cper.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_mobile_number#create
      x-codegen-request-body-name: body
    get:
      tags:
        - Person mobile numbers
      summary: Retrieve a person's mobile number
      description: >-
        Returns information about a person's registered mobile number. Returns a
        `404` error if no mobile number has been registered.
      parameters:
        - name: person_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-MobileNumber'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_mobile_number#find_by_person
    delete:
      tags:
        - Person mobile numbers
      summary: Deletes a person's mobile number
      description: >-
        Removes a customer's registered mobile number. <br> If the request is
        successful and the mobile number has already been confirmed, then the
        API will trigger the **change request** process. The person who owns the
        mobile number will receive an SMS informing them that the number was
        deleted.<br> If the request is successful but the mobile number has
        **not** been verified, then the mobile number will be deleted without a
        change request.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: The mobile number to delete.
                  example: '+4930123123123'
      responses:
        '200':
          description: The request was successful (if the mobile number was not verified).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-MobileNumber'
        '202':
          description: >-
            The request is accepted, and the customer must confirm the change
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_mobile_number#destroy
  /v1/persons/{person_id}/mobile_number/authorize:
    post:
      tags:
        - Person mobile numbers
      summary: Request authorization for a person's mobile number
      description: >-
        Requests an SMS OTP challenge to authorize a person's mobile number for
        use with 2FA.<br> The API will return a 404 error if no mobile number
        was previously created for the customer or if the number in the request
        does not match the customer's existing mobile number.<br> If the number
        has already been confirmed, then the API will return the confirmed
        mobile number.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: >-
                    The mobile number to be authorized. The API will remove all
                    whitespaces and the + character.
                device_data:
                  type: string
                  description: >-
                    Base64 encoded device data as provided by Seon SDK. Details
                    of Seon SDK integration can be found in the [device
                    monitoring
                    guide](https://docs.solarisgroup.com/guides/kyc/device-monitoring/).
              example:
                number: '+49301234567'
                device_data: >-
                  Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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
        required: false
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-MobileNumber'
        '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'
        '429':
          description: SMS request rate limit exceeded for the given mobile number.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_mobile_number#authorize
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/mobile_number/confirm:
    post:
      tags:
        - Person mobile numbers
      summary: Confirm a customer's mobile number
      description: >-
        Submits the SMS OTP that the customer received on their mobile number to
        confirm it and authorize it for use with 2FA. Please note the
        following:  <ul> <li>The API will respond with a `403` error if the
        token has expired or if an invalid token is provided.</li> <li>The API
        will respond with a `429` error if you exceed the limit of 60 SMS
        messages per hour for a given mobile number.</li> </ul>
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: The person's mobile number to be confirmed.
                token:
                  type: string
                  description: >-
                    The six-digit OTP that the customer received at their mobile
                    number.
                device_data:
                  type: string
                  description: >-
                    Base64 encoded device data as provided by Seon SDK. Details
                    of Seon SDK integration can be found in the [device
                    monitoring
                    guide](https://docs.solarisgroup.com/guides/kyc/device-monitoring/).
              example:
                number: '+49301234567'
                token: '666042'
                device_data: >-
                  Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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
        required: false
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-MobileNumber'
        '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'
        '429':
          description: SMS request rate limit exceeded for the given mobile number.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error429'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_mobile_number#confirm
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/mobile_number/reauthorize:
    post:
      tags:
        - Person mobile numbers
      summary: Reauthorize mobile number
      description: >-
        Request a new authorization challenge for a person's mobile number to
        use with 2FA.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                authorization_text_key:
                  type: string
                  description: >-
                    Key that corresponds with the text to include in the message
                    to the customer. The text will be automatically translated
                    to the customer's preferred language. In this case, use
                    `sms.mobile_number.verify_number`.
                authorization_text_variables:
                  type: object
                  description: >-
                    Customer-specific variables to use in the text of the
                    authorization message. In this case, use `tan`.
                device_data:
                  type: string
                  description: >-
                    Base64 encoded device data as provided by Seon SDK. Details
                    of Seon SDK integration can be found in the [device
                    monitoring
                    guide](https://docs.solarisgroup.com/guides/kyc/device-monitoring/).
              example:
                authorization_text_key: sms.mobile_number.verify_number
                authorization_text_variables:
                  tan: '{tan}'
                device_data: >-
                  Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-MobileNumber'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_mobile_number#reauthorize
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/tax_identifications:
    post:
      tags:
        - Person tax identifications
      summary: Create a tax identification for a person
      description: >-
        Submits a tax identification for a person.<br> The first tax
        identification to be submitted for a person must be their primary tax
        identification. If you add another tax identification with the value of
        `primary` set to `true`, then the previous primary tax identification
        will become a secondary tax identification (i.e., its `primary` value
        will change to `false`).<br> You may only create one tax identification
        per country per customer.<br> **Important:** When creating a tax
        identification for a person, always collect the `country` value from the
        person separately from their residence country in your frontend. Do not
        default to the customer's physical residence (i.e., the `country` value
        of their `person` resource).
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: >-
                    Tax Identification Number (TIN). Must be left empty if
                    `reason_no_tin` is provided.<br>  **Note:** The Solaris API
                    automatically validates the format of the supplied TIN based
                    on [the requirements for the customer's
                    country](https://docs.solarisgroup.com/guides/get-started/digital-banking/onboard-person/#appendix-iii-tax-identification-number-tin-by-country).
                    If the TIN does not follow the proper format, the API will
                    return a `400` error.
                country:
                  type: string
                  description: >-
                    The country that issued the customer's TIN. Use an [ISO 3166
                    two-character
                    code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements).
                primary:
                  type: boolean
                  description: >-
                    Indicates whether the provided TIN is the customer's primary
                    TIN (i.e., their primary tax residence).
                reason_no_tin:
                  type: string
                  description: >-
                    Specifies the reason why the customer has not yet provided
                    their TIN.
                  enum:
                    - NOT_ASSIGNED_BY_COUNTRY
                    - NOT_ASSIGNED_YET
                    - OTHER
                reason_description:
                  type: string
                  description: >-
                    Additional clarification around why the customer has not yet
                    provided their TIN.
              example:
                number: '31659837651'
                country: DE
                primary: true
        required: false
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-TaxIdentification
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_tax_identification#create
      x-codegen-request-body-name: body
    get:
      tags:
        - Person tax identifications
      summary: Index tax identifications for a person
      description: >-
        Returns an array containing all of the given person's tax
        identifications.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/Solaris-Server-Decorators-TaxIdentification
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_tax_identification#all
  /v1/persons/{person_id}/tax_identifications/{id}:
    get:
      tags:
        - Person tax identifications
      summary: Retrieve a person's tax identification
      description: Returns the person tax identification specified in the request URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: 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-TaxIdentification
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_tax_identification#find
    patch:
      tags:
        - Person tax identifications
      summary: Update a person's tax identification
      description: Modifies one or more properties of a person's tax identification.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                number:
                  type: string
                  description: The person's tax identification number (TIN).
                country:
                  type: string
                  description: >-
                    The country that issued the customer's TIN. Use an [ISO 3661
                    two-character
                    code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements).
                primary:
                  type: boolean
                  description: Specifies whether this is the customer's primary TIN.
                reason_no_tin:
                  type: string
                  description: >-
                    Specifies the reason why the customer has not yet provided
                    their TIN.
                  enum:
                    - NOT_ASSIGNED_BY_COUNTRY
                    - NOT_ASSIGNED_YET
                    - OTHER
                reason_description:
                  type: string
                  description: >-
                    Additional clarification around why the customer has not yet
                    provided their TIN.
              example:
                number: '31659837651'
                country: DE
                primary: true
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-TaxIdentification
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_tax_identification#update
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/documents:
    post:
      tags:
        - Person documents
      summary: Create a document for a person
      description: >-
        Uploads a document and links it to the person specified in the request
        URL.<br> Unlike most other endpoints, this request uses the
        `content-type` of `multipart/form-data`. You must submit the parameters
        as `form-data` items instead of a raw JSON body.<br> By default,
        uploaded documents are not accessible to customers (i.e., the
        `customer_accessible` value is set to `false`).
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
                - document_type
                - file
              properties:
                file:
                  type: string
                  description: The binary file to upload.
                  format: binary
                document_type:
                  $ref: '#/components/schemas/Solaris-Enums-DocumentType'
        required: true
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Resources-Document'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_document#create
    get:
      tags:
        - Person documents
      summary: Index a person's documents
      description: >-
        Returns an array containing all documents linked to the person specified
        in the request URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
        - name: customer_accessible
          in: query
          description: >-
            Use this parameter to return only the documents that the customer
            may access.
          schema:
            type: boolean
        - name: include_deleted
          in: query
          description: Use this parameter to include deleted documents in the results.
          schema:
            type: boolean
        - name: sort
          in: query
          description: Sorts the results by the date the document was created.
          schema:
            type: string
            enum:
              - created_at
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Resources-Document'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_document#all
  /v1/persons/{person_id}/documents/{id}/file:
    get:
      tags:
        - Person documents
      summary: Download a document
      description: >-
        Returns the binary file related to the document specified in the request
        URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: 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-DocumentFileResponse
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_document#read
  /v1/persons/{person_id}/documents/{id}:
    get:
      tags:
        - Person documents
      summary: Retrieve metadata about a document
      description: >-
        Returns metadata about a person's document, including the filename and
        type.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Resources-Document'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_document#find
    patch:
      tags:
        - Person documents
      summary: Update a person document's attributes
      description: >-
        Updates the `document_type` and/or `customer_accessible` attributes on a
        document.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                document_type:
                  $ref: '#/components/schemas/Solaris-Enums-DocumentType'
                customer_accessible:
                  type: boolean
                  description: >-
                    Flag that determine whether or not the customer may access
                    the document.
              example:
                document_type: ACCOUNT_SNAPSHOT.FINTECSYSTEMS
                customer_accessible: true
        required: false
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Resources-Document'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_document#update
      x-codegen-request-body-name: body
    delete:
      tags:
        - Person documents
      summary: Delete a document
      description: Marks a document as deleted.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '202':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Resources-Document'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_document#delete
  /v1/persons/{person_id}/identifications/{id}/document_upload:
    post:
      tags:
        - Person documents
      summary: Upload documents for a person identification
      description: >-
        Uploads an identification document for the person identification
        specified in the request URL. Note that this request uses the
        `content-type` of `multipart/form-data` and that the request body must
        be submitted as individual `form-data` items.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
                - document_type
                - file
              properties:
                file:
                  type: string
                  description: The binary file to upload.
                  format: binary
                document_type:
                  $ref: '#/components/schemas/Solaris-Enums-DocumentType'
        required: true
      responses:
        '201':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Resources-Document'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_identification#document_upload
  /v1/persons/{person_id}/identifications/{id}/documents:
    get:
      tags:
        - Person documents
      summary: Index documents for a person identification
      description: >-
        Returns all documents uploaded to the person identification specified in
        the request URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Solaris-Resources-Document'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_document#all_for_identification
  /v1/persons/{id}/test_id_document_update:
    post:
      tags:
        - Person documents
      summary: >-
        (Sandbox only) Trigger account block or send notification due to
        outdated identity document
      description: >-
        Checks the expiration date of a person's identity document and then
        either triggers an account block (if the document has expired) or sends
        a notification that the document is about to expire. Only available on
        Sandbox for testing purposes.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            The customer's identity document is still valid, so no action was
            triggered.
          content:
            application/json:
              schema:
                type: object
                properties:
                  document_valid:
                    type: boolean
                    description: >-
                      Indicates the validity of the customer's identity
                      document.
                    example: true
        '202':
          description: The operation was successful.
          content:
            application/json:
              schema:
                type: object
                properties:
                  document_valid:
                    type: boolean
                    description: >-
                      Indicates the validity of the customer's identity
                      document.
                  action:
                    type: string
                    description: Indicates which action was triggered.
                example:
                  document_valid: false
                  action: triggered potential account blocking
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person#test_id_document_update
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/settings:
    post:
      tags:
        - Person language settings
      summary: Create a language setting for a person
      description: >-
        Specifies the preferred communication language for the person specified
        in the request URL. Note that each call to this endpoint will overwrite
        the previous value.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                language:
                  description: >-
                    Two-character language identifier, formatted according to
                    ISO 639-1.
                  type: string
                  example: DE
                  enum:
                    - EN
                    - DE
                    - FR
                    - IT
                    - ES
        description: The content of the request.
      responses:
        '201':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-Language-Setting
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '404':
          description: The requested resource could not be found.
          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_setting#create
    get:
      tags:
        - Person language settings
      summary: Get a language setting
      description: >-
        Retrieves the preferred communication language for the person specified
        in the request URL.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-Language-Setting
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '404':
          description: The requested resource could not be found.
          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_setting#find
  /v1/persons/{person_id}/accounts/{account_id}/authorized_persons:
    post:
      tags:
        - Authorized persons
      summary: Add authorized person to person account
      description: >-
        Adds an existing person to a person account as an authorized person.
        **Note**: This call triggers the [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                authorized_person_id:
                  type: string
                  description: >-
                    The ID of the person to add to the account as an authorized
                    person.
                skip_2fa:
                  type: boolean
                  description: >-
                    Skip change request, add authorized person without 2fa
                    (Optional). Skipping change request works only if the
                    partner settings are adjusted to allow the skip. 
              example:
                authorized_person_id: 0ba2211cab11af6094d60ead81f2bd9dcper
                skip_2fa: false
        required: true
      responses:
        '201':
          description: >-
            The change request was successfully confirmed, and the authorized
            person is now added to the account.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Server-Decorators-AuthorizedPerson
        '202':
          description: >-
            The request was accepted and now the customer must confirm the
            change request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_authorization#create
      x-codegen-request-body-name: body
    get:
      tags:
        - Authorized persons
      summary: Index authorized persons for a person account
      description: Returns an array containing all authorized persons for a person account.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: page[number]
          in: query
          description: The number of results pages to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: The size of each page in the response.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: >-
                    #/components/schemas/Solaris-Server-Decorators-AuthorizedPerson
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_authorization#all
  /v1/persons/{person_id}/accounts/{account_id}/authorized_persons/{id}:
    get:
      tags:
        - Authorized persons
      summary: Retrieve an authorized person for a person account
      description: >-
        Returns information about an authorized person associated with a person
        account.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: 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-AuthorizedPerson
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_authorization#find
    delete:
      tags:
        - Authorized persons
      summary: Delete authorized person from a person account
      description: >-
        Removes an authorized person from a person account. Note that this
        request will not delete the person resource; it will simply remove the
        authorized person from the account. **Note**: This call triggers the
        [change
        request](https://docs.solarisgroup.com/guides/digital-banking/strong-customer-authentication/#change-request-process)
        process.
      parameters:
        - name: person_id
          in: path
          required: true
          schema:
            type: string
        - name: account_id
          in: path
          required: true
          schema:
            type: string
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              type: object
              properties:
                skip_2fa:
                  type: boolean
                  description: >-
                    Skip change request, remove authorized person without 2fa
                    (Optional). Skipping change request works only if the
                    partner settings are adjusted to allow the skip. 
              example:
                skip_2fa: false
        required: false
      responses:
        '202':
          description: >-
            The request was accepted and now the customer must confirm the
            change request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-ChangeRequest-Start'
        '204':
          description: >-
            The change request was successfully confirmed, and the authorized
            person is deleted from the account.
          content: {}
        '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'
        default:
          description: Unexpected error
          content: {}
      security:
        - oauth2:
            - solaris_service_person_account_authorization#expire
components:
  schemas:
    Solaris-Server-Decorators-CountryEnum:
      type: string
      enum:
        - AD
        - AE
        - AF
        - AG
        - AI
        - AL
        - AM
        - AO
        - AQ
        - AR
        - AS
        - AT
        - AU
        - AW
        - AX
        - AZ
        - BA
        - BB
        - BD
        - BE
        - BF
        - BG
        - BH
        - BI
        - BJ
        - BL
        - BM
        - BN
        - BO
        - BQ
        - BR
        - BS
        - BT
        - BV
        - BW
        - BY
        - BZ
        - CA
        - CC
        - CD
        - CF
        - CG
        - CH
        - CI
        - CK
        - CL
        - CM
        - CN
        - CO
        - CR
        - CU
        - CV
        - CW
        - CX
        - CY
        - CZ
        - DE
        - DJ
        - DK
        - DM
        - DO
        - DZ
        - EC
        - EE
        - EG
        - EH
        - ER
        - ES
        - ET
        - FI
        - FJ
        - FK
        - FM
        - FO
        - FR
        - GA
        - GB
        - GD
        - GE
        - GF
        - GG
        - GH
        - GI
        - GL
        - GM
        - GN
        - GP
        - GQ
        - GR
        - GS
        - GT
        - GU
        - GW
        - GY
        - HK
        - HM
        - HN
        - HR
        - HT
        - HU
        - ID
        - IE
        - IL
        - IM
        - IN
        - IO
        - IQ
        - IR
        - IS
        - IT
        - JE
        - JM
        - JO
        - JP
        - KE
        - KG
        - KH
        - KI
        - KM
        - KN
        - KP
        - KR
        - KW
        - KY
        - KZ
        - LA
        - LB
        - LC
        - LI
        - LK
        - LR
        - LS
        - LT
        - LU
        - LV
        - LY
        - MA
        - MC
        - MD
        - ME
        - MF
        - MG
        - MH
        - MK
        - ML
        - MM
        - MN
        - MO
        - MP
        - MQ
        - MR
        - MS
        - MT
        - MU
        - MV
        - MW
        - MX
        - MY
        - MZ
        - NA
        - NC
        - NE
        - NF
        - NG
        - NI
        - NL
        - 'NO'
        - NP
        - NR
        - NU
        - NZ
        - OM
        - PA
        - PE
        - PF
        - PG
        - PH
        - PK
        - PL
        - PM
        - PN
        - PR
        - PS
        - PT
        - PW
        - PY
        - QA
        - RE
        - RO
        - RS
        - RU
        - RW
        - SA
        - SB
        - SC
        - SD
        - SE
        - SG
        - SH
        - SI
        - SJ
        - SK
        - SL
        - SM
        - SN
        - SO
        - SR
        - SS
        - ST
        - SV
        - SX
        - SY
        - SZ
        - TC
        - TD
        - TF
        - TG
        - TH
        - TJ
        - TK
        - TL
        - TM
        - TN
        - TO
        - TR
        - TT
        - TV
        - TW
        - TZ
        - UA
        - UG
        - UM
        - US
        - UY
        - UZ
        - VA
        - VC
        - VE
        - VG
        - VI
        - VN
        - VU
        - WF
        - WS
        - XK
        - YE
        - YT
        - ZA
        - ZM
        - ZW
    Solaris-Decorators-IndustryEnum:
      type: string
      description: >-
        The business' industry. This field is deprecated; please use `nace_code`
        instead.
      enum:
        - BUILDING_INDUSTRY
        - CHEMICAL_INDUSTRY_COKE_OVEN_MINERAL_OIL
        - CONSUMER_INSTALMENT_CREDITS
        - DEBIT_BALANCE_SALARY_ACCOUNT
        - FARMER_FORESTRY_FISHING_AND_AQUACULTURE
        - FINANCIAL_INSTITUTIONS_INSURANCE
        - FINANCIAL_LEASING_COMPANIES
        - FOOD_INDUSTRY_TOBACCO_PRODUCTS
        - GASTRONOMY
        - HEALTH_CARE_VETERIN_A_WELFARE_FIRM_FREELANCE
        - HOLDING_COMPANIES
        - HOUSING_COMPANIES
        - INFORMATION_AND_COMMUNICATION
        - INSTALMENT_CREDITS
        - LEASING_OF_MOVABLE_OBJECTS
        - LEATHER_TEXTILE_CLOTHES_INDUSTRY
        - MANUFACTURE_DATA_PROC_EQUIPMENT_ELECTRIC_OPTICS
        - MANUFACTURE_PLASTICS_RUBBER_GOODS
        - MECHANICAL_ENGINEERING_VEHICLE_MANUFACTURING
        - METAL_PRODUCTION_PROCESSING
        - NONE
        - OTHER_ECONOMIC_SERVICES
        - OTHER_PROPERTY_MANAGEMENT
        - OTHER_SERVICES
        - POWER_WATER_SUPPLY_DISPOSAL_MINING
        - SCIENTIFIC_TECHNICAL_CONSULTING_SERVICES
        - STONE_SOIL_CERAMICS_GLASS
        - TRADE_MAINTENANCE_AND_REPAIR_OF_VEHICLES
        - TRANSPORT_AND_STORAGE_AND_NEWS_TRANSMISSION
        - WOOD_PAPER_PRINT_INDUSTRY_FURNITURE_ETC
        - NON_PROFIT_ORGANIZATION
        - NON_MARKET_PRODUCERS
        - ORGANIZATION_WITHOUT_ACQUIRING_HOUSE_BUILDING
        - OTHER_INDUSTRY
    Solaris-Decorators-IndustryKeyEnum:
      type: string
      description: >-
        Additional information about the industry in which the business
        operates. This field is deprecated; please use `nace_code` instead.
      enum:
        - ACCOMMODATION
        - >-
          ACTIVITIES_OF_BUSINESS_EMPLOYERS_AND_PROFESSIONAL_MEMBERSHIP_ORGANISATIONS
        - ACTIVITIES_OF_HEAD_OFFICES
        - >-
          ACTIVITIES_OF_INVESTMENT_STOCK_CORPORATIONS_AND_FUNDS_OF_INVESTMENT_MANAGEMENT_COMPANIES_EXCL_MONEY_MARKET_FUNDS
        - ADULT_ENTERTAINMENT_AND_ONLINE_DATING_AND_RELATED
        - ADVERTISING_AND_MARKET_RESEARCH
        - AIR_TRANSPORT
        - >-
          ARCHITECTURAL_AND_ENGINEERING_ACTIVITIES_TECHNICAL_TESTING_AND_ANALYSIS
        - BUYING_AND_SELLING_OF_OWN_NON_RESIDENTIAL_REAL_ESTATE
        - BUYING_AND_SELLING_OF_OWN_RESIDENTIAL_REAL_ESTATE
        - CAPITAL_HOLDING_COMPANY
        - CIVIL_ENGINEERING
        - COMPUTER_PROGRAMMING_CONSULTANCY_AND_RELATED_ACTIVITIES
        - CONSTRUCTION_OF_BUILDINGS
        - CREATIVE_ARTS_AND_ENTERTAINMENT_ACTIVITIES
        - CROP_AND_ANIMAL_PRODUCTION_HUNTING_AND_RELATED_SERVICE_ACTIVITIES
        - ECONOMICALLY_DEPENDENT_INDIVIDUALS
        - EDUCATION
        - ELECTRICITY_GAS_STEAM_AND_AIR_CONDITIONING_SUPPLY
        - EMPLOYMENT_ACTIVITIES
        - IMPORT_EXPORT_OF_RAW_MATERIALS_SUCH_AS_OIL_GAS_MINING_AND_EXPLOITATION
        - INSURANCE_REINSURANCE_EXCEPT_PENSION_FUNDING
        - FINANCIAL_LEASING
        - FISHING_AND_AQUACULTURE
        - FOOD_AND_BEVERAGE_SERVICE_ACTIVITIES
        - FORESTRY_AND_LOGGING
        - GAMBLING_AND_BETTING_ACTIVITIES
        - HOLDING_COMPANIES_WITHOUT_MANAGEMENT_FUNCTION
        - HUMAN_HEALTH_ACTIVITIES
        - INFORMATION_SERVICE_ACTIVITIES
        - LAND_TRANSPORT_AND_TRANSPORT_VIA_PIPELINES
        - LEGAL_AND_ACCOUNTING_ACTIVITIES
        - LIBRARIES_ARCHIVES_MUSEUMS_AND_OTHER_CULTURAL_ACTIVITIES
        - MANAGEMENT_CONSULTANCY_ACTIVITIES
        - MANUFACTURE_OF_BASIC_METALS
        - >-
          MANUFACTURE_OF_BASIC_PHARMACEUTICAL_PRODUCTS_AND_PHARMACEUTICAL_PREPARATIONS
        - MANUFACTURE_OF_BEVERAGES
        - MANUFACTURE_OF_CHEMICALS_AND_CHEMICAL_PRODUCTS
        - MANUFACTURE_OF_COKE_AND_REFINED_PETROLEUM_PRODUCTS
        - MANUFACTURE_OF_COMPUTER_ELECTRONIC_AND_OPTICAL_PRODUCTS
        - MANUFACTURE_OF_ELECTRICAL_EQUIPMENT
        - >-
          MANUFACTURE_OF_FABRICATED_METAL_PRODUCTS_EXCEPT_MACHINERY_AND_EQUIPMENT
        - MANUFACTURE_OF_FOOD_PRODUCTS
        - MANUFACTURE_OF_FURNITURE
        - MANUFACTURE_OF_LEATHER_AND_RELATED_PRODUCTS
        - MANUFACTURE_OF_MACHINERY_AND_EQUIPMENT_N_E_C
        - MANUFACTURE_OF_MOTOR_VEHICLES_TRAILERS_AND_SEMI_TRAILERS
        - MANUFACTURE_OF_PRECIOUS_METALS_OR_STONES
        - MANUFACTURE_OF_OTHER_TRANSPORT_EQUIPMENT
        - MANUFACTURE_OF_PAPER_AND_PAPER_PRODUCTS
        - MANUFACTURE_OF_RUBBER_AND_PLASTIC_PRODUCTS
        - MANUFACTURE_OF_TEXTILES
        - MANUFACTURE_OR_TRADE_OF_ALCOHOL_OR_CIGARETTES
        - MANUFACTURE_OF_WEARING_APPAREL
        - >-
          MANUFACTURE_OF_WOOD_AND_OF_PRODUCTS_OF_WOOD_AND_CORK_EXCEPT_FURNITURE_MANUFACTURE_OF_ARTICLES_OF_STRAW_AND_PLAITING_MATERIALS
        - MINING_OF_COAL_AND_LIGNITE
        - MINING_OF_METAL_ORES
        - >-
          MOTION_PICTURE_VIDEO_AND_TELEVISION_PROGRAMME_PRODUCTION_SOUND_RECORDING_AND_MUSIC_PUBLISHING_ACTIVITIES
        - NONE
        - >-
          OFFICE_ADMINISTRATIVE_OFFICE_SUPPORT_AND_OTHER_BUSINESS_SUPPORT_ACTIVITIES
        - OTHER_MANUFACTURING
        - WHOLESALE_RETAIL_OF_PRECIOUS_METALS_OR_STONES
        - OTHER_CREDIT_GRANTING
        - OTHER_PERSONAL_SERVICE_ACTIVITIES
        - OTHER_PROFESSIONAL_SCIENTIFIC_AND_TECHNICAL_ACTIVITIES
        - OWN_ASSET_MANAGEMENT
        - PENSION_FUNDING_EXCEPT_COMPULSORY_SOCIAL_SECURITY
        - POSTAL_AND_COURIER_ACTIVITIES
        - PRINTING_AND_REPRODUCTION_OF_RECORDED_MEDIA
        - PROGRAMMING_AND_BROADCASTING_ACTIVITIES
        - PUBLISHING_ACTIVITIES
        - REMEDIATION_ACTIVITIES_AND_OTHER_WASTE_MANAGEMENT_SERVICES
        - RENTAL_AND_LEASING_ACTIVITIES
        - REPAIR_AND_INSTALLATION_OF_MACHINERY_AND_EQUIPMENT
        - REPAIR_OF_COMPUTERS_AND_PERSONAL_AND_HOUSEHOLD_GOODS
        - RESIDENTIAL_CARE_ACTIVITIES
        - RETAIL_TRADE_EXCEPT_OF_MOTOR_VEHICLES_AND_MOTORCYCLES
        - SCIENTIFIC_RESEARCH_AND_DEVELOPMENT
        - SECURITY_AND_INVESTIGATION_ACTIVITIES
        - SERVICES_TO_BUILDINGS_AND_LANDSCAPE_ACTIVITIES
        - SEWERAGE
        - SOCIAL_WORK_ACTIVITIES_WITHOUT_ACCOMMODATION
        - SPECIALISED_CONSTRUCTION_ACTIVITIES
        - SPORTS_ACTIVITIES_AND_AMUSEMENT_AND_RECREATION_ACTIVITIES
        - TELECOMMUNICATIONS
        - >-
          TRAVEL_AGENCY_TOUR_OPERATOR_AND_OTHER_RESERVATION_SERVICE_AND_RELATED_ACTIVITIES
        - TRUSTS_FUNDS_AND_SIMILAR_FINANCIAL_ENTITIES
        - VETERINARY_ACTIVITIES
        - WAREHOUSING_AND_SUPPORT_ACTIVITIES_FOR_TRANSPORTATION
        - WASTE_COLLECTION_TREATMENT_AND_DISPOSAL_ACTIVITIES_MATERIALS_RECOVERY
        - WATER_COLLECTION_TREATMENT_AND_SUPPLY
        - WATER_TRANSPORT
        - >-
          WHOLESALE_AND_RETAIL_TRADE_AND_REPAIR_OF_MOTOR_VEHICLES_AND_MOTORCYCLES
        - WHOLESALE_TRADE_EXCEPT_OF_MOTOR_VEHICLES_AND_MOTORCYCLES
        - PRIVATE_NON_PROFIT_ORGANIZATIONS
        - ACTIVITIES_AUXILIARY_TO_FINANCIAL_SERVICES_AND_INSURANCE_ACTIVITIES
        - >-
          ADMINISTRATION_OF_THE_STATE_AND_THE_ECONOMIC_AND_SOCIAL_POLICY_OF_THE_COMMUNITY
        - COMPULSORY_SOCIAL_SECURITY_ACTIVITIES
        - OTHER_INDUSTRY_KE
    Solaris-Decorators-FreelancerNaceCodeEnum:
      type: string
      enum:
        - I 55.10
        - I 55.20
        - I 55.30
        - I 55.90
        - I 56.10
        - I 56.21
        - I 56.29
        - I 56.30
        - J 58.11
        - J 58.12
        - J 58.13
        - J 58.14
        - J 58.19
        - J 58.21
        - J 58.29
        - J 59.11
        - J 59.12
        - J 59.13
        - J 59.14
        - J 59.20
        - J 60.10
        - J 60.20
        - J 61.10
        - J 61.20
        - J 61.30
        - J 61.90
        - J 62.01
        - J 62.02
        - J 62.03
        - J 62.09
        - J 63.11
        - J 63.12
        - J 63.91
        - J 63.99
        - K 64.11
        - K 64.19
        - K 66.22
        - L 68.2
        - L 68.10
        - L 68.20
        - L 68.31
        - L 68.32
        - M 69.10
        - M 69.20
        - M 70.10
        - M 70.21
        - M 70.22
        - M 71.11
        - M 71.12
        - M 71.20
        - M 72.11
        - M 72.19
        - M 72.20
        - M 73.11
        - M 73.12
        - M 73.20
        - M 74.10
        - M 74.20
        - M 74.30
        - M 74.90
        - M 75.00
        - N 77.11
        - N 77.12
        - N 77.21
        - N 77.22
        - N 77.29
        - N 77.31
        - N 77.32
        - N 77.33
        - N 77.34
        - N 77.35
        - N 77.39
        - N 77.40
        - N 78.10
        - N 78.20
        - N 78.30
        - N 80.10
        - N 80.20
        - N 80.30
        - N 81.10
        - N 81.21
        - N 81.22
        - N 81.29
        - N 81.30
        - N 82.11
        - N 82.19
        - N 82.20
        - N 82.30
        - N 82.91
        - N 82.92
        - N 82.99
        - P 85.10
        - P 85.20
        - P 85.31
        - P 85.32
        - P 85.41
        - P 85.42
        - P 85.51
        - P 85.52
        - P 85.53
        - P 85.59
        - P 85.60
        - Q 86.10
        - Q 86.21
        - Q 86.22
        - Q 86.23
        - Q 86.90
        - Q 87.10
        - Q 87.20
        - Q 87.30
        - Q 87.90
        - Q 88.10
        - Q 88.91
        - Q 88.99
        - R 90.01
        - R 90.02
        - R 90.03
        - R 90.04
        - R 91.01
        - R 91.02
        - R 91.03
        - R 91.04
        - R 92.00
        - R 93.11
        - R 93.12
        - R 93.13
        - R 93.19
        - R 93.21
        - R 93.29
        - S 94.11
        - S 94.12
        - S 94.20
        - S 94.91
        - S 94.92
        - S 94.99
        - S 96.01
        - S 96.02
        - S 96.03
        - S 96.04
        - S 96.09
    Solaris-Server-Decorators-Person:
      type: object
      properties:
        id:
          type: string
          description: The unique ID of the person resource created for a customer.
        salutation:
          type: string
          description: The person's salutation. Use `null` to indicate nonbinary.
          enum:
            - MR
            - MS
        title:
          type: string
          description: The person's title.
          enum:
            - DR
            - MAGISTER
            - PROF
            - PROF_DR
            - BOTSCH
            - DIPL_PAD
            - DIPL_BETRIEBSW
            - DIPL_ING
            - DIPL_KFFR
            - DIPL_KFM
            - DIPL_VOLKSW
            - DR_DR
            - DR_E_H
            - DR_H_C
            - DR_ING
            - DR_ING_HAB
            - MAG
            - NOT
            - PROF_DR_DR
            - PROF_DR_H_C
            - PROF_DR_ING
            - PROF_ING
            - RA_U_NOT
            - RAE
            - RA
            - RA_DR
        first_name:
          type: string
          description: The person's first name.
        last_name:
          type: string
          description: The person's last name.
        address:
          type: object
          description: The person's address.
          properties:
            line_1:
              type: string
              description: Address line 1
            line_2:
              type: string
              description: Address line 2
            postal_code:
              type: string
              description: Postal code
            city:
              type: string
              description: City
            country:
              description: Country
              allOf:
                - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
            state:
              type: string
              description: (For German addresses) State/Bundesland
              enum:
                - BE
                - BB
                - BW
                - BY
                - HB
                - HE
                - HH
                - MV
                - NI
                - NW
                - RP
                - SH
                - SL
                - SN
                - ST
                - TH
        contact_address:
          type: object
          description: >-
            The person's contact address. Use this field only if they have lived
            at their current address for less than 2 years.
          properties:
            line_1:
              type: string
              description: Address line 1
            line_2:
              type: string
              description: Address line 2
            postal_code:
              type: string
              description: Postal code
            city:
              type: string
              description: City
            country:
              description: Country
              allOf:
                - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
            state:
              type: string
              description: (For German addresses) State/Bundesland
              enum:
                - BE
                - BB
                - BW
                - BY
                - HB
                - HE
                - HH
                - MV
                - NI
                - NW
                - RP
                - SH
                - SL
                - SN
                - ST
                - TH
        email:
          type: string
          description: The person's email.
        mobile_number:
          type: string
          description: >-
            The person mobile number. Spaces, dashes, underscores, and forward
            slashes are removed. **Important:** This field is only used to pass
            the mobile number to our KYC provider IDnow for the Videoident KYC
            flow. To create and verify a mobile number for your customer, use
            the dedicated [mobile number
            endpoints](https://docs.solarisgroup.com/api-reference/onboarding/persons/#tag/Person-mobile-numbers).
        birth_name:
          type: string
          description: The person's birth name.
        birth_date:
          type: string
          description: The person's date of birth.
        birth_city:
          type: string
          description: The city in which the person was born.
        birth_country:
          description: The country in which the person was born.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
        nationality:
          type: string
          description: The customer's nationality.
        employment_status:
          type: string
          description: The customer's employment status.
          enum:
            - EMPLOYED
            - UNEMPLOYED
            - PUBLIC_SECTOR_EMPLOYEE
            - PROFESSIONAL_SOLDIER
            - FREELANCER
            - HOUSEWORK
            - APPRENTICE
            - MANAGEMENT
            - RETIRED
            - STUDENT
            - SELF_EMPLOYED
            - MILITARY_OR_COMMUNITY_SERVICE
        job_title:
          type: string
          description: The person's job title.
        tax_information:
          type: object
          properties:
            tax_assessment:
              type: string
              description: Indicates whether the person files jointly or separately.
              enum:
                - NONE
                - JOINT
                - SEPARATE
            marital_status:
              type: string
              description: The person's marital status.
              enum:
                - SINGLE
                - MARRIED
                - DIVORCED
                - UNKNOWN
                - WIDOWED
        fatca_relevant:
          type: boolean
          description: Indicates whether or not the person is FATCA relevant.
        fatca_crs_confirmed_at:
          type: string
          description: UTC timestamp from when the person confirmed their FATCA relevance.
        business_purpose:
          type: string
          description: The purpose of the person's freelance business.
        industry:
          description: >-
            The industry in which the person works as a freelancer. This field
            is deprecated; please use `nace_code` instead.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-IndustryEnum'
        industry_key:
          description: >-
            The industry in which the person works as a freelancer. This field
            is deprecated; please use `nace_code` instead.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-IndustryKeyEnum'
        terms_conditions_signed_at:
          type: string
          description: >-
            UTC timestamp from when the person agreed to the Solaris Terms &
            Conditions.
        own_economic_interest_signed_at:
          type: string
          description: >-
            UTC timestamp from when the customer confirmed that they act on
            behalf of their own economic interest.
          format: date-time
        flagged_by_compliance:
          type: boolean
          description: >-
            Indicates whether the person is flagged by compliance and must
            answer any compliance questions.
        expected_monthly_revenue_cents:
          type: integer
          description: >-
            (For freelancers) The person's expected monthly revenue, in Euro
            cents.
        vat_number:
          type: string
          description: (For freelancers) The person's VAT number.
        website_social_media:
          type: string
          description: (For freelancers) The person's business website/social media.
        business_trading_name:
          type: string
          description: (For freelancers) The person's business trading name.
        nace_code:
          description: >-
            (For freelancers) The NACE code that describes the industry in which
            the freelancer works. For a list of values to implement in your
            site, check this
            [site](https://showvoc.op.europa.eu/#/datasets/ESTAT_Statistical_Classification_of_Economic_Activities_in_the_European_Community_Rev._2/data).
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-FreelancerNaceCodeEnum'
        business_address_line_1:
          type: string
          description: (For freelancers) Business address line 1
        business_address_line_2:
          type: string
          description: (For freelancers) Business address line 2
        business_postal_code:
          type: string
          description: (For freelancers) Business postal code
        business_city:
          type: string
          description: (For freelancers) Business city
        business_country:
          description: (For freelancers) The person's business country.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
        screening_progress:
          type: string
          description: The status of the person screening process.
          enum:
            - NOT_SCREENED
            - POTENTIAL_MATCH
            - SCREENED_ACCEPTED
            - SCREENED_DECLINED
        annual_income_range:
          type: string
          description: The person's annual income range.
          enum:
            - RANGE_1
            - RANGE_2
            - RANGE_3
            - RANGE_4
            - RANGE_5
            - RANGE_6
            - RANGE_7
        data_terms_signed_at:
          type: string
          description: >-
            UTC timestamp from when the customer signed Solaris' data processing
            agreement.
          format: date-time
        aml_follow_up_date:
          type: string
          description: The follow-up date for the anti-money laundering department.
          format: date
        aml_confirmed_on:
          type: string
          description: The confirmation date of the anti-money laundering department.
          format: date
        self_declared_as_pep:
          type: boolean
          description: >-
            Indicates whether the person has self-declared their status as a
            politically exposed person (PEP).
        international_operativity_expectation:
          type: array
          description: >-
            (For freelancers) Regions where the person expects to conduct
            business.
          items:
            type: string
            enum:
              - AFRICA
              - ASIA
              - MIDDLE_EAST
              - NORTH_AMERICA
              - SOUTH_AMERICA
              - NATIONAL_ACTIVITY_ONLY
        registration_number:
          type: string
          description: (For freelancers) The person's freelance registration number.
        risk_classification_status:
          type: string
          description: The status of the person's risk classification.
          enum:
            - NOT_SCORED
            - POTENTIAL_RISK
            - NORMAL_RISK
            - INFORMATION_REQUESTED
            - INFORMATION_RECEIVED
            - RISK_ACCEPTED
            - RISK_REJECTED
            - CUSTOMER_UNRESPONSIVE
            - SCORING_NOT_REQUIRED
        customer_vetting_status:
          type: string
          description: The status of the person's vetting process.
          enum:
            - NOT_VETTED
            - NO_MATCH
            - POTENTIAL_MATCH
            - INFORMATION_REQUESTED
            - INFORMATION_RECEIVED
            - RISK_ACCEPTED
            - RISK_REJECTED
            - CUSTOMER_UNRESPONSIVE
            - VETTING_NOT_REQUIRED
        legitimation_valid_until:
          type: string
          description: Date when the legitimation data becomes invalid.
          format: date
      example:
        id: dc1a6812a14f6cc338cd084208535bcdcper
        salutation: MR
        title: DR
        first_name: Peter
        last_name: Mustermann
        address:
          line_1: Musterstrasse
          line_2: Musterstrasse
          postal_code: '10409'
          city: Berlin
          country: DE
          state: BE
        contact_address:
          line_1: Musterstrasse
          line_2: Musterstrasse
          postal_code: '10409'
          city: Berlin
          country: DE
          state: BE
        email: person@example.com
        mobile_number: '49301234567'
        birth_name: Doe
        birth_date: '1972-12-24'
        birth_city: Berlin
        birth_country: DE
        birth_province: BE
        birth_post_code: '10233'
        nationality: DE
        employment_status: FREELANCER
        job_title: Head of everything
        tax_information:
          tax_assessment: SEPARATE
          marital_status: MARRIED
        fatca_relevant: false
        fatca_crs_confirmed_at: '2017-01-01T00:00:00.000Z'
        business_purpose: helping people to find themselves
        industry: OTHER_SERVICES
        industry_key: EDUCATION
        terms_conditions_signed_at: '2017-01-01T00:00:00.000Z'
        own_economic_interest_signed_at: '2017-01-01T00:00:00.000Z'
        expected_monthly_revenue_cents: 20000
        vat_number: DE123456789
        website_social_media: http://social-network.com/my-company
        business_trading_name: My Business
        nace_code: I 56.30
        business_address_line_1: StreetStrasse, 42
        business_address_line_2: 4th floor
        business_postal_code: '12345'
        business_city: Berlin
        business_country: DE
        data_terms_signed_at: '2017-01-01T00:00:00.000Z'
        annual_income_range: RANGE_1
        branch: DE
        main_income_source: PUBLIC_SUBSIDIES
        purpose_of_account_opening: DAILY_EXPENSES
        socioprofessional_category: EMPLOYEES
        work_country: IT
        work_province: VE
        self_declared_as_pep: false
        international_operativity_expectation:
          - AFRICA
          - ASIA
        registration_number: '1234567890'
        flagged_by_compliance: false
        screening_progress: SCREENED_ACCEPTED
        aml_follow_up_date: '2017-01-15'
        aml_confirmed_on: '2017-01-30'
        risk_classification_status: NORMAL_RISK
        customer_vetting_status: NO_MATCH
        legitimation_valid_until: '2025-12-31'
    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.
    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'.
    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.
    Solaris-Request-Params-Person:
      type: object
      properties:
        salutation:
          type: string
          description: >-
            The person's salutation. Use `null` to indicate nonbinary (Germany
            only).
          enum:
            - MR
            - MS
        title:
          type: string
          description: The person's title.
          enum:
            - DR
            - MAGISTER
            - PROF
            - PROF_DR
            - BOTSCH
            - DIPL_PAD
            - DIPL_BETRIEBSW
            - DIPL_ING
            - DIPL_KFFR
            - DIPL_KFM
            - DIPL_VOLKSW
            - DR_DR
            - DR_E_H
            - DR_H_C
            - DR_ING
            - DR_ING_HAB
            - MAG
            - NOT
            - PROF_DR_DR
            - PROF_DR_H_C
            - PROF_DR_ING
            - PROF_ING
            - RA_U_NOT
            - RAE
            - RA
            - RA_DR
        first_name:
          type: string
          description: >-
            The person's first name. (Max 50 characters and must not start with
            any whitespace or include symbols or emojis.)
        last_name:
          type: string
          description: >-
            The person's last name. (Max 50 characters and must not start with
            any whitespace or include symbols or emojis. When no last name is
            available, N/A should be used. This will result in empty last_name
            in all following api calls)
        address:
          type: object
          description: The person's address.
          properties:
            line_1:
              type: string
              description: Address line 1
            line_2:
              type: string
              description: Address line 2
            postal_code:
              type: string
              description: Postal code
            city:
              type: string
              description: City
            country:
              $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
            state:
              type: string
              description: (For German addresses) State/Bundesland
              enum:
                - BE
                - BB
                - BW
                - BY
                - HB
                - HE
                - HH
                - MV
                - NI
                - NW
                - RP
                - SH
                - SL
                - SN
                - ST
                - TH
        contact_address:
          type: object
          description: The person's contact address.
          properties:
            line_1:
              type: string
              description: Address line 1
            line_2:
              type: string
              description: Address line 2
            postal_code:
              type: string
              description: Postal code
            city:
              type: string
              description: City
            country:
              $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
            state:
              type: string
              description: (For German addresses) State/Bundesland
              enum:
                - BE
                - BB
                - BW
                - BY
                - HB
                - HE
                - HH
                - MV
                - NI
                - NW
                - RP
                - SH
                - SL
                - SN
                - ST
                - TH
        email:
          type: string
          description: The person's email.
        mobile_number:
          type: string
          description: >-
            Person mobile number: spaces, dashes, underscores, forward slashes
            are are removed. **Important:** This field is only used to pass the
            mobile number to our KYC provider IDnow for the Videoident KYC flow.
            To create and verify a mobile number for your customer, use the
            dedicated [mobile number
            endpoints](https://docs.solarisgroup.com/api-reference/onboarding/persons/#tag/Person-mobile-numbers).
        birth_name:
          type: string
          description: The person's birth name.
        birth_date:
          type: string
          description: The person's birth date.
        birth_city:
          type: string
          description: The city in which the person was born (must be a valid city).
        birth_country:
          description: The country in which the person was born.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
        birth_province:
          type: string
          description: The province in which the person was born (if applicable).
        birth_post_code:
          type: string
          description: The postal code in which the person was born.
        nationality:
          description: The person's nationality.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
        employment_status:
          type: string
          description: The person's employment status.
          enum:
            - EMPLOYED
            - UNEMPLOYED
            - PUBLIC_SECTOR_EMPLOYEE
            - PROFESSIONAL_SOLDIER
            - FREELANCER
            - HOUSEWORK
            - APPRENTICE
            - MANAGEMENT
            - RETIRED
            - STUDENT
            - SELF_EMPLOYED
            - MILITARY_OR_COMMUNITY_SERVICE
        job_title:
          type: string
          description: The person's job title.
        tax_information:
          type: object
          properties:
            tax_assessment:
              type: string
              description: Indicates whether the person files jointly or separately.
              enum:
                - NONE
                - JOINT
                - SEPARATE
            marital_status:
              type: string
              description: The person's marital status.
              enum:
                - SINGLE
                - MARRIED
                - DIVORCED
                - UNKNOWN
                - WIDOWED
        fatca_relevant:
          type: boolean
          description: Indicates whether or not the person is FATCA relevant.
        fatca_crs_confirmed_at:
          type: string
          description: UTC timestamp from when the person confirmed their FATCA relevance.
        business_purpose:
          type: string
          description: The purpose of the person's freelance business.
        industry:
          description: >-
            The industry in which the person works as a freelancer. This field
            is deprecated; please use `nace_code` instead.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-IndustryEnum'
        industry_key:
          description: >-
            The industry in which the person works as a freelancer. This field
            is deprecated; please use `nace_code` instead.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-IndustryKeyEnum'
        terms_conditions_signed_at:
          type: string
          description: >-
            UTC timestamp from when the person agreed to the Solaris Terms &
            Conditions.
        own_economic_interest_signed_at:
          type: string
          description: >-
            UTC timestamp from when the customer confirmed that they act on
            behalf of their own economic interest.
        expected_monthly_revenue_cents:
          type: integer
          description: >-
            (For freelancers) The person's expected monthly revenue, in Euro
            cents.
        vat_number:
          type: string
          description: (For freelancers) The person's VAT number.
        website_social_media:
          type: string
          description: (For freelancers) The person's business website/social media.
        business_trading_name:
          type: string
          description: (For freelancers) The person's business trading name.
        nace_code:
          description: >-
            (For freelancers) The NACE code that describes the industry in which
            the freelancer works. For more info on how to implement this field,
            see this
            [section](https://docs.solarisgroup.com/guides/get-started/onboarding-requirements/2-data-collection/#nace-code). 
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-FreelancerNaceCodeEnum'
        business_address_line_1:
          type: string
          description: (For freelancers) Business address line 1
        business_address_line_2:
          type: string
          description: (For freelancers) Business address line 2
        business_postal_code:
          type: string
          description: (For freelancers) Business postal code
        business_city:
          type: string
          description: (For freelancers) Business city
        business_country:
          description: (For freelancers) The person's business country.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
        data_terms_signed_at:
          type: string
          description: >-
            The date and time when the person signed the Solaris data processing
            agreement.
        annual_income_range:
          type: string
          description: The person's annual income range.
          enum:
            - RANGE_1
            - RANGE_2
            - RANGE_3
            - RANGE_4
            - RANGE_5
            - RANGE_6
            - RANGE_7
        branch:
          type: string
          description: The Solaris branch under which the person will have an account.
          enum:
            - DE
            - ES
            - FR
            - IT
        main_income_source:
          type: string
          description: The person's main source of income.
          enum:
            - SALARY_INCOME_OR_OWN_BUSINESS
            - REAL_ESTATE_INCOME
            - INCOME_FROM_SAVINGS
            - SALES_OF_ASSETS
            - FAMILY_INCOME
            - DONATIONS
            - INHERITANCE
            - PENSION
            - PUBLIC_SUBSIDIES
        purpose_of_account_opening:
          type: string
          description: The person's purpose for opening the account.
          enum:
            - SAVINGS
            - DAILY_EXPENSES
            - TRAVELLING_AND_RELOCATING
            - FREELANCER_ACTIVITY
            - ONLINE_SHOPPING
            - SALARY_OR_PENSION_ACCREDITATION
            - TRADING
        socioprofessional_category:
          type: string
          description: The person's socio-professional category.
          enum:
            - FARMERS
            - CRAFTSMEN
            - MERCHANTS_AND_COMPANY_MANAGERS
            - MANAGERS_AND_HIGHER_INTELLECTUAL_PROFESSIONS
            - INTERMEDIATE_PROFESSIONS
            - EMPLOYEES
            - WORKERS
        work_country:
          description: The person's country of work.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
        work_province:
          type: string
          description: The person's province of work (if applicable).
        self_declared_as_pep:
          type: boolean
          description: >-
            Indicates whether the person has self-declared their status as a
            politically exposed person (PEP).
        international_operativity_expectation:
          type: array
          description: >-
            (For freelancers) Regions where the person expects to conduct
            business.
          items:
            type: string
            enum:
              - AFRICA
              - ASIA
              - MIDDLE_EAST
              - NORTH_AMERICA
              - SOUTH_AMERICA
              - NATIONAL_ACTIVITY_ONLY
        registration_number:
          type: string
          description: (For freelancers) The person's freelance registration number.
        external_id:
          type: string
          description: >-
            (Internal use only) The id assigned to the person by an external
            source.
        landline:
          type: string
          description: Person's landline number.
        external_business_relationship_start_date:
          type: string
          format: date
          description: Person's external business relationship start date.
      example:
        salutation: MR
        title: DR
        first_name: Peter
        last_name: Mustermann
        address:
          line_1: Musterstrasse
          line_2: Musterstrasse
          postal_code: '10409'
          city: Berlin
          country: DE
          state: BE
        contact_address:
          line_1: Musterstrasse
          line_2: Musterstrasse
          postal_code: '10409'
          city: Berlin
          country: DE
          state: BE
        email: person@example.com
        mobile_number: '49301234567'
        birth_name: Doe
        birth_date: '1972-12-24'
        birth_city: Berlin
        birth_country: DE
        birth_province: BE
        birth_post_code: '10233'
        nationality: DE
        employment_status: FREELANCER
        job_title: Head of everything
        tax_information:
          tax_assessment: SEPARATE
          marital_status: MARRIED
        fatca_relevant: false
        fatca_crs_confirmed_at: '2017-01-01T00:00:00.000Z'
        business_purpose: helping people to find themselves
        industry: OTHER_SERVICES
        industry_key: EDUCATION
        terms_conditions_signed_at: '2017-01-01T00:00:00.000Z'
        own_economic_interest_signed_at: '2017-01-01T00:00:00.000Z'
        expected_monthly_revenue_cents: 20000
        vat_number: DE123456789
        website_social_media: http://social-network.com/my-company
        business_trading_name: My Business
        nace_code: I 56.30
        business_address_line_1: StreetStrasse, 42
        business_address_line_2: 4th floor
        business_postal_code: '12345'
        business_city: Berlin
        business_country: DE
        data_terms_signed_at: '2017-01-01T00:00:00.000Z'
        annual_income_range: RANGE_1
        branch: DE
        main_income_source: PUBLIC_SUBSIDIES
        purpose_of_account_opening: DAILY_EXPENSES
        socioprofessional_category: EMPLOYEES
        work_country: IT
        work_province: VE
        self_declared_as_pep: false
        international_operativity_expectation:
          - AFRICA
          - ASIA
        registration_number: '1234567890'
        external_id: abc123
        external_business_relationship_start_date: '2020-02-02'
    Error400-Allowed-Residencies:
      type: object
      properties:
        id:
          type: string
          example: 24b0e02a-341d-40bc-9e52-0d9f8cc8c6eb
        status:
          type: string
          example: '400'
        code:
          type: string
          example: invalid_model
        title:
          type: string
          example: Invalid Model
        details:
          type: string
          example: >-
            country Residency Country is not allowed for this branch, allowed
            residency country values for branch "null" are ["DE", "FR"]
    Solaris-Request-Params-Person-Update:
      type: object
      properties:
        salutation:
          type: string
          description: >-
            The person's salutation. Use `null` to indicate nonbinary (Germany
            only).
          enum:
            - MR
            - MS
        title:
          type: string
          description: The person's title.
          enum:
            - DR
            - MAGISTER
            - PROF
            - PROF_DR
            - BOTSCH
            - DIPL_PAD
            - DIPL_BETRIEBSW
            - DIPL_ING
            - DIPL_KFFR
            - DIPL_KFM
            - DIPL_VOLKSW
            - DR_DR
            - DR_E_H
            - DR_H_C
            - DR_ING
            - DR_ING_HAB
            - MAG
            - NOT
            - PROF_DR_DR
            - PROF_DR_H_C
            - PROF_DR_ING
            - PROF_ING
            - RA_U_NOT
            - RAE
            - RA
            - RA_DR
        address:
          type: object
          description: The person's address.
          properties:
            line_1:
              type: string
              description: Address line 1
            line_2:
              type: string
              description: Address line 2
            postal_code:
              type: string
              description: Postal code
            city:
              type: string
              description: City
            country:
              $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
            state:
              type: string
              description: (For German addresses) State/Bundesland
              enum:
                - BE
                - BB
                - BW
                - BY
                - HB
                - HE
                - HH
                - MV
                - NI
                - NW
                - RP
                - SH
                - SL
                - SN
                - ST
                - TH
        contact_address:
          type: object
          description: The person's contact address.
          properties:
            line_1:
              type: string
              description: Address line 1
            line_2:
              type: string
              description: Address line 2
            postal_code:
              type: string
              description: Postal code
            city:
              type: string
              description: City
            country:
              $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
            state:
              type: string
              description: (For German addresses) State/Bundesland
              enum:
                - BE
                - BB
                - BW
                - BY
                - HB
                - HE
                - HH
                - MV
                - NI
                - NW
                - RP
                - SH
                - SL
                - SN
                - ST
                - TH
        email:
          type: string
          description: The person's email.
        birth_province:
          type: string
          description: The province in which the person was born (if applicable).
        birth_post_code:
          type: string
          description: The postal code in which the person was born.
        employment_status:
          type: string
          description: The person's employment status.
          enum:
            - EMPLOYED
            - UNEMPLOYED
            - PUBLIC_SECTOR_EMPLOYEE
            - PROFESSIONAL_SOLDIER
            - FREELANCER
            - HOUSEWORK
            - APPRENTICE
            - MANAGEMENT
            - RETIRED
            - STUDENT
            - SELF_EMPLOYED
            - MILITARY_OR_COMMUNITY_SERVICE
        job_title:
          type: string
          description: The person's job title.
        tax_information:
          type: object
          properties:
            tax_assessment:
              type: string
              description: Indicates whether the person files jointly or separately.
              enum:
                - NONE
                - JOINT
                - SEPARATE
            marital_status:
              type: string
              description: The person's marital status.
              enum:
                - SINGLE
                - MARRIED
                - DIVORCED
                - UNKNOWN
                - WIDOWED
        fatca_relevant:
          type: boolean
          description: Indicates whether or not the person is FATCA relevant.
        fatca_crs_confirmed_at:
          type: string
          description: UTC timestamp from when the person confirmed their FATCA relevance.
        business_purpose:
          type: string
          description: The purpose of the person's freelance business.
        industry:
          description: >-
            The industry in which the person works as a freelancer. This field
            is deprecated; please use `nace_code` instead.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-IndustryEnum'
        industry_key:
          description: >-
            The industry in which the person works as a freelancer. This field
            is deprecated; please use `nace_code` instead.
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-IndustryKeyEnum'
        own_economic_interest_signed_at:
          type: string
          description: >-
            UTC timestamp from when the customer confirmed that they act on
            behalf of their own economic interest.
        expected_monthly_revenue_cents:
          type: integer
          description: >-
            (For freelancers) The person's expected monthly revenue, in Euro
            cents.
        vat_number:
          type: string
          description: (For freelancers) The person's VAT number.
        website_social_media:
          type: string
          description: (For freelancers) The person's business website/social media.
        business_trading_name:
          type: string
          description: (For freelancers) The person's business trading name.
        nace_code:
          description: >-
            (For freelancers) The NACE code that describes the industry in which
            the freelancer works. For a list of values to implement in your
            site, check this
            [site](https://showvoc.op.europa.eu/#/datasets/ESTAT_Statistical_Classification_of_Economic_Activities_in_the_European_Community_Rev._2/data).
          allOf:
            - $ref: '#/components/schemas/Solaris-Decorators-FreelancerNaceCodeEnum'
        business_address_line_1:
          type: string
          description: (For freelancers) Business address line 1
        business_address_line_2:
          type: string
          description: (For freelancers) Business address line 2
        business_postal_code:
          type: string
          description: (For freelancers) Business postal code
        business_city:
          type: string
          description: (For freelancers) Business city
        business_country:
          description: (For freelancers) The person's business country.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
        data_terms_signed_at:
          type: string
          description: >-
            The date and time when the person signed the Solaris data processing
            agreement.
        annual_income_range:
          type: string
          description: The person's annual income range.
          enum:
            - RANGE_1
            - RANGE_2
            - RANGE_3
            - RANGE_4
            - RANGE_5
            - RANGE_6
            - RANGE_7
        branch:
          type: string
          description: The Solaris branch under which the person will have an account.
          enum:
            - DE
            - ES
            - FR
            - IT
        main_income_source:
          type: string
          description: The person's main source of income.
          enum:
            - SALARY_INCOME_OR_OWN_BUSINESS
            - REAL_ESTATE_INCOME
            - INCOME_FROM_SAVINGS
            - SALES_OF_ASSETS
            - FAMILY_INCOME
            - DONATIONS
            - INHERITANCE
            - PENSION
            - PUBLIC_SUBSIDIES
        purpose_of_account_opening:
          type: string
          description: The person's purpose for opening the account.
          enum:
            - SAVINGS
            - DAILY_EXPENSES
            - TRAVELLING_AND_RELOCATING
            - FREELANCER_ACTIVITY
            - ONLINE_SHOPPING
            - SALARY_OR_PENSION_ACCREDITATION
            - TRADING
        socioprofessional_category:
          type: string
          description: The person's socio-professional category.
          enum:
            - FARMERS
            - CRAFTSMEN
            - MERCHANTS_AND_COMPANY_MANAGERS
            - MANAGERS_AND_HIGHER_INTELLECTUAL_PROFESSIONS
            - INTERMEDIATE_PROFESSIONS
            - EMPLOYEES
            - WORKERS
        work_country:
          description: The person's country of work.
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
        work_province:
          type: string
          description: The person's province of work (if applicable).
        self_declared_as_pep:
          type: boolean
          description: >-
            Indicates whether the person has self-declared their status as a
            politically exposed person (PEP).
        international_operativity_expectation:
          type: array
          description: >-
            (For freelancers) Regions where the person expects to conduct
            business.
          items:
            type: string
            enum:
              - AFRICA
              - ASIA
              - MIDDLE_EAST
              - NORTH_AMERICA
              - SOUTH_AMERICA
              - NATIONAL_ACTIVITY_ONLY
        registration_number:
          type: string
          description: (For freelancers) The person's freelance registration number.
        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:
        salutation: MR
        title: DR
        address:
          line_1: Musterstrasse
          line_2: Musterstrasse
          postal_code: '10409'
          city: Berlin
          country: DE
          state: BE
        contact_address:
          line_1: Musterstrasse
          line_2: Musterstrasse
          postal_code: '10409'
          city: Berlin
          country: DE
          state: BE
        email: person@example.com
        birth_province: BE
        birth_post_code: '10233'
        employment_status: FREELANCER
        job_title: Head of everything
        tax_information:
          tax_assessment: SEPARATE
          marital_status: MARRIED
        fatca_relevant: true
        fatca_crs_confirmed_at: '2017-01-01T00:00:00.000Z'
        business_purpose: helping people to find themselves
        industry: OTHER_SERVICES
        industry_key: EDUCATION
        own_economic_interest_signed_at: '2017-01-01T00:00:00.000Z'
        expected_monthly_revenue_cents: 20000
        vat_number: DE999999999
        website_social_media: http://social-network.com/my-company
        business_trading_name: My Business
        nace_code: I 56.30
        business_address_line_1: StreetStrasse, 42
        business_address_line_2: 4th floor
        business_postal_code: '12345'
        business_city: Berlin
        business_country: DE
        data_terms_signed_at: '2017-01-01T00:00:00.000Z'
        annual_income_range: RANGE_1
        branch: DE
        main_income_source: PUBLIC_SUBSIDIES
        purpose_of_account_opening: DAILY_EXPENSES
        socioprofessional_category: EMPLOYEES
        work_country: DE
        work_province: ''
        self_declared_as_pep: false
        registration_number: '1234567890'
        device_data: >-
          Web;179ac83968ab42f79e960c1753a4078fdcon;jVl14emA+OcyALb9F+CMFg==;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
    Solaris-Decorators-ChangeRequest-Start:
      type: object
      properties:
        id:
          type: string
          description: ID of the change request.
          example: d6c778822b2d7bd3b778935bcfd0d1d3csc
        status:
          type: string
          description: The current status of the change request.
          example: CONFIRMATION_REQUIRED
          enum:
            - ACCEPTED
            - AUTHORIZATION_REQUIRED
            - CONFIRMATION_REQUIRED
            - COMPLETED
            - FAILED
        updated_at:
          type: string
          description: UTC timestamp from the last time the change request was updated.
          format: date-time
          example: '2022-04-21T13:59:52+00:00'
        url:
          type: string
          description: URL to use to authorize the change request.
          example: https://example.com/authorize
    Solaris-Server-Decorators-MobileNumber:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the mobile number resource.
          example: 303fd0bd4ad5f0f0e999ed0d9539792fcmno
        number:
          type: string
          description: The mobile number to register for the person.
          example: '+49301234567'
        verified:
          type: boolean
          description: Indicates whether the mobile number has been verified.
          example: false
    Error409:
      type: object
      properties:
        id:
          type: string
          example: e948b650-4434-494a-8d53-5580f33fae47
        status:
          type: string
          example: '409'
        code:
          type: string
          example: mobile_number_exists
        title:
          type: string
          example: Mobile Number Exists.
        detail:
          type: string
          example: >-
            Mobile number already added for person
            ed97adf7eccaffe55339d397ecde54b0cper.
    Error429:
      type: object
      properties:
        id:
          type: string
          example: ed5de352-85ea-4ad2-ac5d-3c75e48ef183
        status:
          type: string
          example: '429'
        code:
          type: string
          example: sms_request_rate_limit_exceeded
        title:
          type: string
          example: Sms Request Rate Limit Exceeded
        detail:
          type: string
          example: 'SMS request rate limit exceeded for the number: +491520555555'
    Solaris-Server-Decorators-TaxIdentification:
      type: object
      properties:
        id:
          type: string
          description: Unique ID of the tax identification resource created for a customer.
          example: cba4289c773b7450482ee88a6e5126e9ctin
        country:
          description: >-
            The country in which the customer is taxable. Uses [ISO 3661 alpha-2
            Codes].
          allOf:
            - $ref: '#/components/schemas/Solaris-Server-Decorators-CountryEnum'
        number:
          type: string
          description: The tax identification number (TIN).
          example: '12345678901'
        primary:
          type: boolean
          description: >-
            Indicates whether this is the primary tax residency. In case of
            multiple tax residencies, the customer must have only one primary
            TIN.
          example: true
        reason_no_tin:
          type: string
          description: Provides a reason why the tax identification does not contain a TIN.
          enum:
            - NOT_ASSIGNED_YET
            - NOT_ASSIGNED_BY_COUNTRY
            - OTHER
        reason_description:
          type: string
          description: >-
            Additional context around why there is no TIN. Only required if
            `OTHER` was the value for the `reason_no_tin` field.
        valid_until:
          type: string
          description: Date when the tax identification becomes invalid.
          format: date
        tax_id_type:
          type: string
          description: The type of tax ID document. Only required for Spain.
          enum:
            - NIE
            - NIF
    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'
    Solaris-Server-Decorators-DocumentFileResponse:
      type: object
      properties:
        date:
          type: string
          example: Sun, 13 Aug 2017 20:35:45 GMT
        x-content-type-options:
          type: string
          example: nosniff
        content-disposition:
          type: string
          example: attachment; filename=sample_pdf.pdf
        content-length:
          type: string
          example: '3028'
        x-request-id:
          type: string
          example: fbc2deff-8066-11e7-9271-02420a000109
        content-type:
          type: string
          example: application/pdf
    Solaris-Server-Decorators-Language-Setting:
      type: object
      properties:
        language:
          type: string
          description: >-
            The customer's chosen communication language, formatted according to
            ISO 639-1.
          enum:
            - EN
            - DE
            - IT
            - FR
            - ES
      example:
        language: DE
    Error404-2:
      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 'Account' for id 'DE24112233445566'.
    Solaris-Server-Decorators-AuthorizedPerson:
      type: object
      properties:
        id:
          type: string
          description: ID of the authorized person relationship.
          example: c25ac6d8a4774e0dacb61a70427e0782
        authorized_person_id:
          type: string
          description: Person ID of the authorized person.
          example: 0ba2211cab11af6094d60ead81f2bd9dcper
        valid_from:
          type: string
          description: >-
            The date from which the authorized person has been authorized on the
            account.
          example: '2021-04-01'
        valid_until:
          type: string
          description: >-
            The date until which the authorized person is authorized on the
            account.
          example: '2031-04-01'
