openapi: 3.0.1
info:
  title: Compliance features
  version: '1.0'
servers:
  - url: https://api.solaris-sandbox.de
    description: Sandbox
  - url: https://api.solarisbank.de
    description: Production
paths:
  /v1/persons/{id}/update_for_development:
    patch:
      tags:
        - AML follow-up
      summary: (Sandbox only) Update person's AML follow-up date
      description: >-
        Updates the AML follow-up date for a person. Only available on Sandbox
        for testing purposes.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        description: The content of the request
        content:
          application/json:
            schema:
              type: object
              properties:
                aml_follow_up_date:
                  type: string
                  description: A new AML follow-up date for the person.
                aml_confirmed_on:
                  type: string
                  description: A new AML confirmed on date for the person.
                birth_city:
                  type: string
                  description: A new birth_city for the person.
              example:
                aml_follow_up_date: '2021-09-27T00:00:00.000Z'
                aml_confirmed_on: '2021-07-27T00:00:00.000Z'
                birth_city: Berlin
        required: false
      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#update_for_development
      x-codegen-request-body-name: body
  /v1/persons/{person_id}/postbox:
    post:
      tags:
        - Testing endpoints for Postbox API
      summary: Upload a document and create a Postbox item for a person
      description: >-
        Uploads a document and creates a Postbox item for the person specified
        in the request URL. <br>  To pass the Postbox item details, you may use
        either the `metadata` object or separate request parts (i.e., the
        request properties `document_name`, `document_type`, etc.) If you use
        the second option, you must set the `Content-Type` of boolean properties
        to `application/json`.
      operationId: solaris_person_postbox#create
      parameters:
        - name: person_id
          in: path
          description: ID of the person.
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: The file to upload.
                metadata:
                  description: Object containing metadata related to the document.
                  allOf:
                    - $ref: '#/components/schemas/ItemWithDocumentMetadataRequest'
                document_name:
                  description: Name of the document.
                  type: string
                  example: account_statement_01_04_2023_12365.pdf
                document_description:
                  description: Description of the document.
                  type: string
                  example: Account statement for 01_04_2023 for the customer 12365
                document_type:
                  type: string
                  description: The type of document associated with the Postbox item.
                  enum:
                    - ACCOUNT_STATEMENT
                    - ASSETS_ACQUISITION_COSTS
                    - ASSETS_ACQUISITION
                    - BALANCE_CONFIRMATION
                    - CREDIT_CARD_CONTRACT_SIGNED
                    - CREDIT_CARD_CONTRACT
                    - CREDIT_CARD_SECCI
                    - CREDIT_CARD_STATEMENT
                    - CUSTOMER_INFORMATION
                    - DEPOT_STATEMENT_MIFID
                    - DEPOT_STATEMENT
                    - DUNNING_INFORMATION
                    - EX_POST_COST_INFORMATION
                    - FEE_SUMMARY_STATEMENT
                    - LOAN_SCHEDULE
                    - PROFIT_TAX_STATEMENT
                    - RELATIONSHIP_TERMINATION
                    - SECURITIES_INVOICE
                    - SECURITIES_EVENT
                    - SECURITIES_EVENT_NOTIFICATION
                    - SINGLE_FEE_STATEMENT
                    - SINGLE_TRANSACTION_STATEMENT
                    - TAX_SETTLEMENT_CALCULATION
                    - YEARLY_TAX_STATEMENT
                document_date:
                  type: string
                  description: The date of the document associated with the Postbox item.
                  example: '2024-07-30'
                idempotency_key:
                  type: string
                  description: >-
                    Optional property you may supply to prevent the execution of
                    duplicate requests. If the API receives a request with a
                    previously used idempotency key, then it will return the
                    previously created entity.
                sign_document:
                  type: boolean
                  description: >-
                    (Optional) If set to true, then the document will be signed.
                    Please note that you must use `Content-Type:
                    application/json` for boolean properties in this request.
                customer_notification:
                  type: boolean
                  description: >-
                    Boolean value to indicate whether or not customers should
                    receive a notification when the Postbox item is created. 
                    Please note that you must use `Content-Type:
                    application/json` for boolean properties in this request.
                customer_confirmation:
                  type: boolean
                  description: >-
                    Boolean value to indicate whether or not customers must
                    confirm the Postbox item.  Please note that you must use
                    `Content-Type: application/json` for boolean properties in
                    this request.
        required: true
      responses:
        '200':
          description: The Postbox document and its item were created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemResponse'
              example:
                id: c072c6e43f4d486cb553e9cd9fc1bae7pbxi
                belongs_to: '12345'
                created_at: '2021-10-22T05:23:30Z'
                document_date: '2021-06-30'
                document_type: BALANCE_CONFIRMATION
                name: Balance confirmation for June 2021
                description: Balance confirmation
                customer_notification: false
                customer_confirmation: false
                document_size: 66092
                document_content_type: image/jpeg
                document_id: e953cbf8af064839b3e3bf2568d1130fpbxd
                has_been_read: false
                has_been_confirmed: false
        '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 provided partner ID could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Partner was not found for person/business with id
                      c072c6e43f4d486cb553e9cd9fc1bae7parc
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_person_postbox#create
  /v1/businesses/{business_id}/postbox:
    post:
      tags:
        - Testing endpoints for Postbox API
      summary: Upload a document and create a Postbox item for a business
      description: >-
        Uploads a document and creates a Postbox item for the business specified
        in the request URL. <br>  To pass the Postbox item details, you may use
        either the `metadata` object or separate request parts (i.e., the
        request properties `document_name`, `document_type`, etc.) If you use
        the second option, you must set the `Content-Type` of boolean properties
        to `application/json`.
      operationId: solaris_business_postbox#create
      parameters:
        - name: business_id
          in: path
          description: ID of the business.
          required: true
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: The file to upload.
                metadata:
                  description: Object containing metadata related to the document.
                  allOf:
                    - $ref: '#/components/schemas/ItemWithDocumentMetadataRequest'
                document_name:
                  description: Name of the document.
                  type: string
                  example: account_statement_01_04_2023_12365.pdf
                document_description:
                  description: Description of the document.
                  type: string
                  example: Account statement for 01_04_2023 for the customer 12365
                document_type:
                  type: string
                  description: The type of document associated with the Postbox item.
                  enum:
                    - ACCOUNT_STATEMENT
                    - ASSETS_ACQUISITION_COSTS
                    - ASSETS_ACQUISITION
                    - BALANCE_CONFIRMATION
                    - CREDIT_CARD_CONTRACT_SIGNED
                    - CREDIT_CARD_CONTRACT
                    - CREDIT_CARD_SECCI
                    - CREDIT_CARD_STATEMENT
                    - CUSTOMER_INFORMATION
                    - DEPOT_STATEMENT_MIFID
                    - DEPOT_STATEMENT
                    - DUNNING_INFORMATION
                    - EX_POST_COST_INFORMATION
                    - FEE_SUMMARY_STATEMENT
                    - LOAN_SCHEDULE
                    - PROFIT_TAX_STATEMENT
                    - RELATIONSHIP_TERMINATION
                    - SECURITIES_INVOICE
                    - SECURITIES_EVENT
                    - SECURITIES_EVENT_NOTIFICATION
                    - SINGLE_FEE_STATEMENT
                    - SINGLE_TRANSACTION_STATEMENT
                    - TAX_SETTLEMENT_CALCULATION
                    - YEARLY_TAX_STATEMENT
                document_date:
                  type: string
                  description: The date of the document associated with the Postbox item.
                  example: '2024-07-30'
                idempotency_key:
                  type: string
                  description: >-
                    Optional property you may supply to prevent the execution of
                    duplicate requests. If the API receives a request with a
                    previously used idempotency key, then it will return the
                    previously created entity.
                sign_document:
                  type: boolean
                  description: >-
                    (Optional) If set to true, then the document will be signed.
                    Please note that you must use `Content-Type:
                    application/json` for boolean properties in this request.
                customer_notification:
                  type: boolean
                  description: >-
                    Boolean value to indicate whether or not customers should
                    receive a notification when the Postbox item is created. 
                    Please note that you must use `Content-Type:
                    application/json` for boolean properties in this request.
                customer_confirmation:
                  type: boolean
                  description: >-
                    Boolean value to indicate whether or not customers must
                    confirm the Postbox item.  Please note that you must use
                    `Content-Type: application/json` for boolean properties in
                    this request.
        required: true
      responses:
        '200':
          description: The Postbox document and its item were created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemResponse'
              example:
                id: c072c6e43f4d486cb553e9cd9fc1bae7pbxi
                belongs_to: '12345'
                created_at: '2021-10-22T05:23:30Z'
                document_date: '2021-06-30'
                document_type: BALANCE_CONFIRMATION
                name: Balance confirmation for June 2021
                description: Balance confirmation
                customer_notification: false
                customer_confirmation: false
                document_size: 66092
                document_content_type: image/jpeg
                document_id: e953cbf8af064839b3e3bf2568d1130fpbxd
                has_been_read: false
                has_been_confirmed: false
        '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 provided partner ID could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Partner was not found for person/business with id
                      c072c6e43f4d486cb553e9cd9fc1bae7parc
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_business_postbox#create
  /v1/persons/{person_id}/postbox/items:
    post:
      deprecated: true
      tags:
        - Testing endpoints for Postbox API
      summary: Create a Postbox item for a person
      description: >-
        Deprecated! Use `POST /v1/persons/{person_id}/postbox` instead.<br>
        Creates a Postbox item for the person specified in the request URL. Note
        that you can only use this endpoint for testing purposes on the testing,
        staging, and sandbox environments.
      operationId: solaris_postbox_person_items_emulation#create
      parameters:
        - name: person_id
          in: path
          description: Person Id.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemRequest'
        required: true
      responses:
        '200':
          description: The Postbox item was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemResponse'
              example:
                id: c072c6e43f4d486cb553e9cd9fc1bae7pbxi
                belongs_to: '12345'
                created_at: '2021-10-22T05:23:30Z'
                document_date: '2021-06-30'
                document_type: BALANCE_CONFIRMATION
                name: Balance confirmation for June 2021
                description: Balance confirmation
                customer_notification: false
                customer_confirmation: false
                document_size: 66092
                document_content_type: image/jpeg
                document_id: e953cbf8af064839b3e3bf2568d1130fpbxd
                has_been_read: false
                has_been_confirmed: false
        '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 partner was not found for provided person/business.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Partner was not found for person/business with id
                      c072c6e43f4d486cb553e9cd9fc1bae7parc
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_postbox_person_items_emulation#create
    get:
      tags:
        - Postbox Items
      summary: Index Postbox items for a person
      description: >-
        Returns an array containing all Postbox items associated with the person
        specified in the request URL.<br> Note that you can filter the results
        by `created_at` (`min` or `max`) and `document_type`—see the
        descriptions below.
      operationId: solaris_postbox_person_items#all
      parameters:
        - name: person_id
          in: path
          description: ID of the person.
          required: true
          schema:
            type: string
        - name: filter[document_type]
          in: query
          description: >-
            Filters the response by the Postbox item type. You can supply
            multiple `document_type` values separated by commas.
          required: false
          schema:
            type: array
            anyOf:
              - type: string
                enum:
                  - ACCOUNT_STATEMENT
                  - BALANCE_CONFIRMATION
                  - CUSTOMER_INFORMATION
                  - DUNNING_INFORMATION
                  - LOAN_SCHEDULE
                  - SECURITIES_INVOICE
                  - SECURITIES_EVENT
                  - SECURITIES_EVENT_NOTIFICATION
                  - DEPOT_STATEMENT_MIFID
                  - EX_POST_COST_INFORMATION
                  - DEPOT_STATEMENT
                  - ASSETS_ACQUISITION
                  - ASSETS_ACQUISITION_COSTS
                  - PROFIT_TAX_STATEMENT
                  - YEARLY_TAX_STATEMENT
                  - TAX_SETTLEMENT_CALCULATION
                  - CREDIT_CARD_STATEMENT
                  - RELATIONSHIP_TERMINATION
                  - CREDIT_CARD_SECCI
                  - CREDIT_CARD_CONTRACT
                  - CREDIT_CARD_CONTRACT_SIGNED
                  - FEE_SUMMARY_STATEMENT
                  - SINGLE_FEE_STATEMENT
                  - SINGLE_TRANSACTION_STATEMENT
        - name: filter[created_at][min]
          in: query
          description: >-
            Filters the response by Postbox items created **from** a certain
            date (i.e., the minimum date in the past when the document was
            created).
          required: false
          schema:
            type: string
            format: date-time
        - name: filter[created_at][max]
          in: query
          description: >-
            Filters the response by Postbox items created **up until** a certain
            date (i.e., the maximum date in the past when the document was
            created).
          required: false
          schema:
            type: string
            format: date-time
        - name: page[number]
          in: query
          description: The number of pages of results to load.
          required: false
          schema:
            type: integer
            default: 0
        - name: page[size]
          in: query
          description: Amount of entries to return in a single page.
          required: false
          schema:
            type: integer
            default: 10
      responses:
        '200':
          description: The Postbox items were fetched successfully.
          headers:
            per-page:
              description: Amount of Postbox items in a single page.
              style: simple
              schema:
                type: string
            total:
              description: Total amount of Postbox items for the given request.
              style: simple
              schema:
                type: string
            link:
              description: Links to first/previous/next/last pages.
              style: simple
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ItemResponse'
              example:
                - id: c072c6e43f4d486cb553e9cd9fc1bae7pbxi
                  belongs_to: '12345'
                  owner_type: Person
                  created_at: '2021-10-22T05:23:30Z'
                  document_date: '2021-06-30'
                  document_type: BALANCE_CONFIRMATION
                  name: Balance confirmation for June 2021
                  description: >-
                    This account statement includes all bookings from the given
                    period of time
                  customer_notification: false
                  customer_confirmation: false
                  document_size: 66092
                  document_content_type: image/jpeg
                  document_id: e953cbf8af064839b3e3bf2568d1130fdocc
                - id: c072c6e43f4d486cb553e9cd9fc1bae7pbxi
                  belongs_to: '12345'
                  owner_type: Person
                  created_at: '2021-10-22T05:23:30Z'
                  document_date: '2021-06-30'
                  document_type: BALANCE_CONFIRMATION
                  name: Balance confirmation for June 2021
                  description: >-
                    This account statement includes all bookings from the given
                    period of time
                  customer_notification: false
                  customer_confirmation: false
                  document_size: 66092
                  document_content_type: image/jpeg
                  document_id: e953cbf8af064839b3e3bf2568d1130fdocc
        '400':
          description: Incorrect date parameter was provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: c3a1ff40c31e428d8deaf77c71fe606eex
                    status: 400
                    code: type_error
                    title: Request parameter error
                    detail: Incorrect request parameter was provided
                    source:
                      field: filter[created_at][min]
                      message: 'Incorrect value: 2021-10-20T00:00:00Zf'
      security:
        - oauth2:
            - solaris_postbox_person_items#all
  /v1/businesses/{business_id}/postbox/items:
    post:
      deprecated: true
      tags:
        - Testing endpoints for Postbox API
      summary: Create a Postbox item for a business
      description: >-
        Deprecated! Use `POST /v1/businesses/{business_id}/postbox` instead.<br>
        Creates a Postbox item for the business specified in the request URL.
        Note that you can only use this endpoint for testing purposes on the
        testing, staging, and sandbox environments.
      operationId: solaris_postbox_business_items_emulation#create
      parameters:
        - name: business_id
          in: path
          description: ID of the business.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemRequest'
        required: true
      responses:
        '200':
          description: The Postbox item was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemResponse'
              example:
                id: c072c6e43f4d486cb553e9cd9fc1bae7pbxi
                belongs_to: '12345'
                created_at: '2021-10-22T05:23:30Z'
                document_date: '2021-06-30'
                document_type: BALANCE_CONFIRMATION
                name: Balance confirmation for June 2021
                description: Balance confirmation
                customer_notification: false
                customer_confirmation: false
                document_size: 66092
                document_content_type: image/jpeg
                document_id: e953cbf8af064839b3e3bf2568d1130fpbxd
                has_been_read: false
                has_been_confirmed: false
        '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 provided business could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Partner was not found for person/business with id
                      c072c6e43f4d486cb553e9cd9fc1bae7parc
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_postbox_business_items_emulation#create
    get:
      tags:
        - Postbox Items
      summary: Index Postbox items for a business
      description: >-
        Returns an array containing all Postbox items associated with the
        business specified in the request URL.<br> Note that you can filter the
        results by `created_at` (`min` or `max`) and `document_type`—see the
        descriptions below.
      operationId: solaris_postbox_business_items#all
      parameters:
        - name: business_id
          in: path
          description: ID of the business.
          required: true
          schema:
            type: string
        - name: filter[document_type]
          in: query
          description: >-
            Filters the response by the Postbox item type. You can supply
            multiple `document_type` values separated by commas.
          required: false
          schema:
            type: array
            anyOf:
              - type: string
                enum:
                  - ACCOUNT_STATEMENT
                  - BALANCE_CONFIRMATION
                  - CUSTOMER_INFORMATION
                  - DUNNING_INFORMATION
                  - LOAN_SCHEDULE
                  - SECURITIES_INVOICE
                  - SECURITIES_EVENT
                  - SECURITIES_EVENT_NOTIFICATION
                  - DEPOT_STATEMENT_MIFID
                  - EX_POST_COST_INFORMATION
                  - DEPOT_STATEMENT
                  - ASSETS_ACQUISITION
                  - ASSETS_ACQUISITION_COSTS
                  - PROFIT_TAX_STATEMENT
                  - YEARLY_TAX_STATEMENT
                  - TAX_SETTLEMENT_CALCULATION
                  - CREDIT_CARD_STATEMENT
                  - RELATIONSHIP_TERMINATION
                  - CREDIT_CARD_SECCI
                  - CREDIT_CARD_CONTRACT
                  - CREDIT_CARD_CONTRACT_SIGNED
                  - FEE_SUMMARY_STATEMENT
                  - SINGLE_FEE_STATEMENT
                  - SINGLE_TRANSACTION_STATEMENT
        - name: filter[created_at][min]
          in: query
          description: >-
            Filters the response by Postbox items created **from** a certain
            date (i.e., the minimum date in the past when the document was
            created).
          required: false
          schema:
            type: string
            format: date-time
        - name: filter[created_at][max]
          in: query
          description: >-
            Filters the response by Postbox items created **up until** a certain
            date (i.e., the maximum date in the past when the document was
            created).
          required: false
          schema:
            type: string
            format: date-time
        - name: page[number]
          in: query
          description: The number of pages of results to load.
          required: false
          schema:
            type: integer
            default: 0
        - name: page[size]
          in: query
          description: Amount of entries to return in a single page.
          required: false
          schema:
            type: integer
            default: 10
      responses:
        '200':
          description: The Postbox items were fetched successfully.
          headers:
            per-page:
              description: Amount of Postbox items in a single page.
              style: simple
              schema:
                type: string
            total:
              description: Total amount of Postbox items for the given request.
              style: simple
              schema:
                type: string
            link:
              description: Links to first/previous/next/last pages.
              style: simple
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ItemResponse'
              example:
                - id: c072c6e43f4d486cb553e9cd9fc1bae7pbxi
                  belongs_to: '12345'
                  owner_type: Business
                  created_at: '2021-10-22T05:23:30Z'
                  document_date: '2021-06-30'
                  document_type: BALANCE_CONFIRMATION
                  name: Balance confirmation for June 2021
                  description: >-
                    This account statement includes all bookings from the given
                    period of time
                  customer_notification: false
                  customer_confirmation: false
                  document_size: 66092
                  document_content_type: image/jpeg
                  document_id: e953cbf8af064839b3e3bf2568d1130fdocc
                - id: c072c6e43f4d486cb553e9cd9fc1bae7pbxi
                  belongs_to: '12345'
                  owner_type: Business
                  created_at: '2021-10-22T05:23:30Z'
                  document_date: '2021-06-30'
                  document_type: BALANCE_CONFIRMATION
                  name: Balance confirmation for June 2021
                  description: >-
                    This account statement includes all bookings from the given
                    period of time
                  customer_notification: false
                  customer_confirmation: false
                  document_size: 66092
                  document_content_type: image/jpeg
                  document_id: e953cbf8af064839b3e3bf2568d1130fdocc
        '400':
          description: An invalid request parameter was provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
              example:
                errors:
                  - id: c3a1ff40c31e428d8deaf77c71fe606eex
                    status: 400
                    code: type_error
                    title: Request parameter error
                    detail: Incorrect request parameter was provided
                    source:
                      field: filter[created_at][min]
                      message: 'Incorrect value: 2021-10-20T00:00:00Zf'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_postbox_business_items#all
  /v1/postbox/items/{item_id}:
    get:
      tags:
        - Postbox Items
      summary: Retrieve a Postbox item
      description: Returns the Postbox item specified in the request URL.
      operationId: solaris_postbox_items#find
      parameters:
        - name: item_id
          in: path
          description: ID of the Postbox item.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The Postbox item was fetched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemResponse'
              example:
                id: c072c6e43f4d486cb553e9cd9fc1bae7pbxi
                belongs_to: '12345'
                owner_type: Person
                created_at: '2021-10-22T05:23:30Z'
                document_date: '2021-06-30'
                document_type: BALANCE_CONFIRMATION
                name: Balance confirmation for June 2021
                description: Balance confirmation
                customer_notification: false
                customer_confirmation: false
                document_size: 66092
                document_content_type: image/jpeg
                document_id: e953cbf8af064839b3e3bf2568d1130fpbxd
                has_been_read: false
                has_been_confirmed: false
        '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 Postbox item specified in the request could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: c3a1ff40c31e428d8deaf77c71fe606eex
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Model with id c072c6e43f4d486cb553e9cd9fc1bae7pbxi was not
                      found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_postbox_items#find
  /v1/postbox/items/{item_id}/document:
    get:
      tags:
        - Postbox Items
      summary: Download document for a Postbox item
      description: >-
        Downloads the document associated with the Postbox item specified in the
        request URL. The only supported media type is `application/pdf`.
      operationId: solaris_postbox_item_document#find
      parameters:
        - name: item_id
          in: path
          description: ID of the Postbox item.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The document was downloaded successfully.
          content:
            application/pdf:
              schema:
                type: string
                format: byte
        '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 Postbox item with the provided ID could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: c3a1ff40c31e428d8deaf77c71fe606eex
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Model with id c072c6e43f4d486cb553e9cd9fc1bae7pbxi was not
                      found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_postbox_item_document#find
  /v1/postbox/items/{item_id}/confirmations:
    post:
      tags:
        - Postbox Confirmations
      summary: Create a confirmation for a Postbox item
      description: >-
        Creates a confirmation for the Postbox item specified in the request URL
        and sets 'has_been_confirmed' to  true for the item
      operationId: solaris_postbox_item_confirmations#create
      parameters:
        - name: item_id
          in: path
          description: ID of the Postbox item.
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmationRequest'
        required: true
      responses:
        '200':
          description: The confirmation was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmationResponse'
              example:
                id: c072c6e43f4d486cb553e9cd9fc1bae7pbxc
                person_id: cd5b907fd34e21044f0421a430c9b640cper
        '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 Postbox item with the provided ID could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Model with id c072c6e43f4d486cb553e9cd9fc1bae7pbxi was not
                      found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_postbox_item_confirmations#create
    get:
      tags:
        - Postbox Confirmations
      summary: Index confirmations associated with a Postbox item
      description: >-
        Returns an array containing all confirmations associated with the
        Postbox item specified in the request URL.<br> Note that you can filter
        the results by `created_at` (`min` or `max`) and `document_type`—see the
        descriptions below.
      operationId: solaris_postbox_item_confirmations#all
      parameters:
        - name: item_id
          in: path
          description: ID of the item whose confirmations should be returned.
          required: true
          schema:
            type: string
        - name: filter[created_at][min]
          in: query
          description: >-
            Filters the response by Postbox items created **from** a certain
            date (i.e., the minimum date in the past when the document was
            created).
          required: false
          schema:
            type: string
            format: date-time
        - name: filter[created_at][max]
          in: query
          description: >-
            Filters the response by Postbox items created **up until** a certain
            date (i.e., the maximum date in the past when the document was
            created).
          required: false
          schema:
            type: string
            format: date-time
        - name: page[number]
          in: query
          description: The number of pages of results to return.
          required: false
          schema:
            type: integer
            default: 0
        - name: page[size]
          in: query
          description: The amount of entries to return on a single page.
          required: false
          schema:
            type: integer
            default: 10
      responses:
        '200':
          description: The confirmations were fetched successfully.
          headers:
            per-page:
              description: The amount of confirmations in a single page.
              style: simple
              schema:
                type: string
            total:
              description: >-
                The total amount of confirmations returned for the given
                request.
              style: simple
              schema:
                type: string
            link:
              description: Links to first/previous/next/last pages.
              style: simple
              schema:
                type: string
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ConfirmationResponse'
              example:
                - id: c072c6e43f4d486cb553e9cd9fc1bae7pbxc
                  person_id: cd5b907fd34e21044f0421a430c9b640cper
                  confirmed_at: '2021-10-23T00:00:00Z'
                - id: c072c6e43f4d486cb553e9cd9fc1bae7pbxc
                  person_id: cd5b907fd34e21044f0421a430c9b640cper
                  confirmed_at: '2021-10-23T00:00:00Z'
        '400':
          description: An incorrect request parameter was provided.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: c3a1ff40c31e428d8deaf77c71fe606eex
                    status: 400
                    code: type_error
                    title: Request parameter error
                    detail: Incorrect request parameter was provided
                    source:
                      field: filter[created_at][min]
                      message: 'Incorrect value: 2021-10-20T00:00:00Zf'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: The resource could not be found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_postbox_item_confirmations#all
  /v1/postbox/items/{item_id}/confirmations/{confirmation_id}:
    get:
      tags:
        - Postbox Confirmations
      summary: Retrieve a confirmation
      description: Returns the confirmation specified in the request URL.
      operationId: solaris_postbox_item_confirmations#find
      parameters:
        - name: item_id
          in: path
          description: ID of the Postbox item with which the confirmation is associated.
          required: true
          schema:
            type: string
        - name: confirmation_id
          in: path
          description: ID of the confirmation.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The confirmation was fetched successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmationResponse'
              example:
                id: c072c6e43f4d486cb553e9cd9fc1bae7pbxc
                person_id: cd5b907fd34e21044f0421a430c9b640cper
                confirmed_at: '2021-10-23T00:00:00Z'
        '403':
          description: You do not have permission to access the requested confirmation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 403
                    code: validation_error
                    title: Validation Error
                    detail: >-
                      Model c072c6e43f4d486cb553e9cd9fc1bae7pbxc does not belong
                      to partner 
        '404':
          description: >-
            The item/confirmation specified in the request URL could not be
            found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Errors'
              example:
                errors:
                  - id: de430446-1da7-4adf-b440-be6005b5cf9f
                    status: 404
                    code: model_not_found
                    title: Model Not Found
                    detail: >-
                      Model with id c072c6e43f4d486cb553e9cd9fc1bae7pbxi was not
                      found
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_postbox_item_confirmations#find
  /v1/postbox/documents:
    post:
      tags:
        - Testing endpoints for Postbox API
      summary: Generate a PDF document
      description: >-
        Generates an empty PDF document on Solaris' servers for use as a Postbox
        item. Please note the following: <ul><li>The `Content-Type` header for
        this request must be `application/json`.</li><li>This endpoint can only
        be used for testing purposes on the testing, staging, and sandbox
        environments.</li></ul> 
      operationId: solaris_postbox_documents_emulation#create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UploadDocumentSimulationData'
        required: true
      responses:
        '200':
          description: The document was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IdResponse'
              example:
                id: cd5b907fd34e21044f0421a430c9b640psbd
        '400':
          description: >-
            The request was invalid due to one of the following cases: <ul>
            <li>the provided content type is not supported,</li> <li>the request
            lacks the required properties, or</li> <li>the file size exceeds the
            maximum upload size.</li> </ul>
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_postbox_documents_emulation#create
  /v1/psd2/challenges/{psd2_challenge_id}:
    patch:
      tags:
        - PSD2 account payment and consent
      summary: Update challenge ID
      description: >-
        This endpoint updates the status of a `psd2_challenge_id`. After a
        customer enters their credentials on your login screen, use this
        endpoint to update the status of the `psd2_challenge_id` and include the
        `person_id` in the payload.<br> If successful, the API returns a
        `redirect_URL` for the second-factor authentication (done by Solaris).
        You have to redirect the customer to this URL to perform the 2FA.<br>
        Expected error messages: <ol> <li>401 - Unauthorized: The ChallengeID is
        expired.</li> <li>404 - Not found: The ChallengeID doesn't exist.</li>
        <li>400 - General Bad Request: The IBAN requested by the TPP does not
        belong to the specified person.</li> </ol>
      requestBody:
        $ref: '#/components/requestBodies/Solaris-Decorators-PSD2Challenge-Patch'
      parameters:
        - name: psd2_challenge_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Solaris-Decorators-PSD2Challenge-Patch-Response
        '400':
          description: Invalid request.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '401':
          description: The challenge expired.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorChallengeExpired'
        '403':
          description: You are not authorized to perform this action.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '404':
          description: The requested resource could not be found.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InternalServerError'
      security:
        - oauth2:
            - solaris_service_psd2_challenge#update
    get:
      tags:
        - PSD2 account payment and consent
      summary: Verify PSD2 challenge ID
      description: >-
        This endpoint validates the `psd2_challenge_id` for a customer. Before
        allowing the customer to log in, you can use this endpoint to verify
        that the customer is coming from Solaris and that the session is still
        valid.<br> If the request fails, the customer should see an error
        message and must restart the process from the TTP's application.<br>
        Expected error messages: <ol> <li>401 - Unauthorized: The Challenge ID
        is expired.</li> <li>404 - Not found: The Challenge ID doesn't
        exist.</li> </ol>
      parameters:
        - name: psd2_challenge_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Decorators-PSD2Challenge'
        '400':
          description: Invalid request.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InvalidRequestError'
        '401':
          description: The challenge expired.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/UnauthorizedErrorChallengeExpired'
        '403':
          description: You are not authorized to perform this action.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '404':
          description: The requested resource could not be found.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ModelNotFound'
        '500':
          description: Internal server error.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/InternalServerError'
      security:
        - oauth2:
            - solaris_service_psd2_challenge#verify
  /v1/question_set/{question_set_id}/questions/{question_id}/answer:
    patch:
      tags:
        - Questions and Answers
      summary: Create an answer to a question
      description: >-
        Creates an answer to the question specified in the request URL by its
        ID. <br> Please note the following: <ul> <li>You must call this method
        for **each question** in a question set.</li> <li>If the question has an
        `answer_type` value of `TEXT_AND_FILES`, then you must upload the
        documents using [POST Create a document for a
        person](https://docs.solarisgroup.com/api-reference/onboarding/persons/#tag/Person-documents/paths/~1v1~1persons~1{person_id}~1documents/post)
        or [POST Create a document for a
        business](https://docs.solarisgroup.com/api-reference/onboarding/businesses/#tag/Business-documents/paths/~1v1~1businesses~1{business_id}~1documents/post).</li>
        <li>Solaris will not review the answers to the questions in the question
        set until **all** of them have been marked as
        <code>ready_for_review</code>.</li> </ul>
      parameters:
        - $ref: '#/components/parameters/question_id'
        - $ref: '#/components/parameters/question_set_id'
      requestBody:
        description: The content of the request.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Answer'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-Answer'
        '400':
          description: Invalid request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400-2'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_questions_and_answers_service_answer#update
  /v1/question_set/{question_set_id}:
    get:
      tags:
        - Questions and Answers
      summary: List questions in a question set
      description: >-
        Returns an array containing all of the questions in a question set
        (specified in the request URL by its ID).
      parameters:
        - $ref: '#/components/parameters/question_set_id'
      responses:
        '200':
          description: The operation was successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Solaris-Server-Decorators-QuestionSet'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
        default:
          description: Unexpected error
      security:
        - oauth2:
            - solaris_questions_and_answers_service_question_set#show
  /v1/terms_and_conditions_events:
    get:
      tags:
        - Terms and Conditions events
      summary: Index Terms and Conditions events
      description: >-
        Returns an array containing all instances of customer agreements to the
        Solaris Terms and Conditions.
      parameters:
        - name: filter[id]
          in: query
          description: Filter the results by `id`.
          schema:
            type: string
        - name: filter[document_id]
          in: query
          description: >-
            Filter the results by the specific document that was agreed to
            (`document_id`).
          schema:
            type: string
        - name: filter[signed_by]
          in: query
          description: >-
            Filter the results by the customer who agreed to the Terms &
            Conditions (using their `person_id`).
          schema:
            type: string
        - name: filter[signed_on_behalf_of]
          in: query
          description: >-
            Filter the results by the business on whose behalf the authorized
            person or legal representative agreed to the Terms & Conditions
            (using its `business_id`).
          schema:
            type: string
        - name: filter[product_name]
          in: query
          description: >-
            Filter the results by the product whose Terms & Conditions were
            agreed to.
          schema:
            $ref: '#/components/schemas/ProductName'
        - name: filter[event_type]
          in: query
          description: Filter the results by the type of Terms & Conditions event.
          schema:
            type: string
            enum:
              - APPROVED
              - REJECTED
        - name: filter[event_timestamp][min]
          in: query
          description: >-
            Filter the results by the date and time when the Terms & Conditions
            event occurred. The `[min]` parameter specifies the **minimum date**
            in the past when the event should have occurred (i.e., the oldest
            possible date to return).
          schema:
            type: string
        - name: filter[event_timestamp][max]
          in: query
          description: >-
            Filter the results by the date and time when the Terms & Conditions
            event occurred. The `[max]` parameter specifies the **maximum date**
            in the past when the event should have occurred (i.e., the latest
            possible date to return).
          schema:
            type: string
        - name: page[number]
          in: query
          description: Specifies the number of pages of results to return.
          schema:
            type: string
        - name: page[size]
          in: query
          description: Specifies the size of each page of results.
          schema:
            type: string
      responses:
        '200':
          description: Successful result of the operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Terms-And-Conditions-Event'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_terms_and_conditions_event#all
    post:
      tags:
        - Terms and Conditions events
      summary: Create Terms and Conditions event
      description: >-
        Records an instance of a customer (i.e., a person or a person on behalf
        of a business) accepting or rejecting a Solaris Terms and Conditions
        document.
      requestBody:
        content:
          application/json:
            schema:
              required:
                - document_id
                - event_timestamp
                - event_type
                - product_name
                - signed_by
              properties:
                document_id:
                  type: string
                  description: >-
                    A 36-character hex encoded UID that corresponds with the
                    relevant document. Solaris will provide these IDs.
                event_timestamp:
                  type: string
                  description: >-
                    UTC timestamp of when the customer approved/rejected the
                    document. Format: YYYY-MM-DDTHH:MM:SSS
                  format: date-time
                event_type:
                  type: string
                  description: >-
                    The type of action that the customer took on the Terms &
                    Conditions document.
                  enum:
                    - APPROVED
                    - REJECTED
                signed_by:
                  type: string
                  description: ID of the person who signed the Terms & Conditions document.
                signed_on_behalf_of:
                  type: string
                  description: >-
                    (For business customers) ID of the business on whose behalf
                    the authorized person or legal representative is
                    approving/rejecting the Terms & Conditions.
                product_name:
                  $ref: '#/components/schemas/ProductName'
            example:
              document_id: 3f31dd950cb6e2b28ac4b31d1b4bb321tcdc
              event_timestamp: '2020-02-12T17:28:53Z'
              event_type: APPROVED
              signed_by: 52054909a5d149b2a7430eee4ba6cc22
              signed_on_behalf_of: ebf7d72aec7ab75006aa164b3e0af893cbiz
              product_name: DIGITAL_BANKING
          application/x-www-form-urlencoded:
            schema:
              required:
                - document_id
                - event_timestamp
                - event_type
                - product_name
                - signed_by
              properties:
                document_id:
                  type: string
                  description: >-
                    A 36-character hex encoded UID that corresponds with the
                    relevant document. Solaris will provide these IDs.
                event_timestamp:
                  type: string
                  description: >-
                    UTC timestamp of when the customer approved/rejected the
                    document. Format: YYYY-MM-DDTHH:MM:SSS
                  format: date-time
                event_type:
                  type: string
                  description: The type of Terms & Conditions event.
                  enum:
                    - APPROVED
                    - REJECTED
                signed_by:
                  type: string
                  description: ID of the person who signed the Terms & Conditions document.
                signed_on_behalf_of:
                  type: string
                  description: >-
                    (For business customers) ID of the business on whose behalf
                    the authorized person or legal representative is
                    approving/rejecting the Terms & Conditions.
                product_name:
                  $ref: '#/components/schemas/ProductName'
            example:
              document_id: 3f31dd950cb6e2b28ac4b31d1b4bb321tcdc
              event_timestamp: '2020-02-12T17:28:53Z'
              event_type: APPROVED
              signed_by: 52054909a5d149b2a7430eee4ba6cc22
              signed_on_behalf_of: ebf7d72aec7ab75006aa164b3e0af893cbiz
              product_name: DIGITAL_BANKING
        required: true
      responses:
        '201':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Terms-And-Conditions-Event'
        '400':
          description: An error occurred on the client side.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: You are not authorized to perform this action.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '409':
          description: >-
            The customer has already approved the Terms & Conditions document
            (i.e., idempotency conflict).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error500'
      security:
        - oauth2:
            - solaris_terms_and_conditions_event#create
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.
    ItemWithDocumentMetadataRequest:
      type: object
      properties:
        document_name:
          description: Name of the document.
          type: string
          example: account_statement_01_04_2023_12365.pdf
        document_description:
          description: Description of the document.
          type: string
          example: Account statement for 01_04_2023 for the customer 12365
        document_type:
          type: string
          description: The type of document associated with the Postbox item.
          enum:
            - ACCOUNT_STATEMENT
            - ASSETS_ACQUISITION_COSTS
            - ASSETS_ACQUISITION
            - BALANCE_CONFIRMATION
            - CREDIT_CARD_CONTRACT_SIGNED
            - CREDIT_CARD_CONTRACT
            - CREDIT_CARD_SECCI
            - CREDIT_CARD_STATEMENT
            - CUSTOMER_INFORMATION
            - DEPOT_STATEMENT_MIFID
            - DEPOT_STATEMENT
            - DUNNING_INFORMATION
            - EX_POST_COST_INFORMATION
            - FEE_SUMMARY_STATEMENT
            - LOAN_SCHEDULE
            - PROFIT_TAX_STATEMENT
            - RELATIONSHIP_TERMINATION
            - SECURITIES_INVOICE
            - SECURITIES_EVENT
            - SECURITIES_EVENT_NOTIFICATION
            - SINGLE_FEE_STATEMENT
            - SINGLE_TRANSACTION_STATEMENT
            - TAX_SETTLEMENT_CALCULATION
            - YEARLY_TAX_STATEMENT
          example: CREDIT_CARD_STATEMENT
        document_date:
          type: string
          description: The date of the document associated with the Postbox item.
          example: '2024-07-30'
        idempotency_key:
          type: string
          description: >-
            Optional property you may supply to prevent the execution of
            duplicate requests. If the API receives a request with a previously
            used idempotency key, then it will return the previously created
            entity.
        sign_document:
          type: boolean
          description: (Optional) If set to true, then the document will be signed.
        customer_notification:
          type: boolean
          description: >-
            Boolean value to indicate whether or not customers should receive a
            notification when the Postbox item is created.
        customer_confirmation:
          type: boolean
          description: >-
            Boolean value to indicate whether or not customers must confirm the
            Postbox item.
    ItemResponse:
      type: object
      properties:
        id:
          type: string
          description: ID of the Postbox item.
        belongs_to:
          type: string
          description: >-
            ID of the person or business with whom the Postbox item is
            associated.
        owner_type:
          type: string
          description: Indicates whether the Postbox item is owned by a person or business.
          enum:
            - Person
            - Business
        created_at:
          type: string
          description: UTC timestamp from when the Postbox item was created.
        document_date:
          type: string
          description: The date of the document associated with the Postbox item.
        document_type:
          type: string
          description: The type of document associated with the Postbox item.
          enum:
            - ACCOUNT_STATEMENT
            - BALANCE_CONFIRMATION
            - CUSTOMER_INFORMATION
            - DUNNING_INFORMATION
            - LOAN_SCHEDULE
            - SECURITIES_INVOICE
            - SECURITIES_EVENT
            - SECURITIES_EVENT_NOTIFICATION
            - DEPOT_STATEMENT_MIFID
            - EX_POST_COST_INFORMATION
            - DEPOT_STATEMENT
            - ASSETS_ACQUISITION
            - ASSETS_ACQUISITION_COSTS
            - PROFIT_TAX_STATEMENT
            - YEARLY_TAX_STATEMENT
            - TAX_SETTLEMENT_CALCULATION
            - CREDIT_CARD_STATEMENT
            - RELATIONSHIP_TERMINATION
            - CREDIT_CARD_SECCI
            - CREDIT_CARD_CONTRACT
            - CREDIT_CARD_CONTRACT_SIGNED
            - FEE_SUMMARY_STATEMENT
            - SINGLE_FEE_STATEMENT
            - SINGLE_TRANSACTION_STATEMENT
        name:
          type: string
          description: The name of the Postbox item.
        description:
          type: string
          description: A description for the Postbox item.
        customer_notification:
          type: boolean
          description: >-
            Boolean value to indicate whether or not customers should receive a
            notification when the Postbox item is created. 
        customer_confirmation:
          type: boolean
          description: >-
            Boolean value to indicate whether or not customers must confirm the
            Postbox item. 
        document_size:
          type: integer
          format: int64
          description: The file size of the associated document.
        document_content_type:
          type: string
          description: The content type of the associated document.
        document_id:
          type: string
          description: The ID of the associated document.
        has_been_read:
          type: boolean
          description: The item was marked as read via patch endpoint.
        has_been_confirmed:
          type: boolean
          description: The item has at least 1 confirmation.
        reference_id:
          type: string
          description: >-
            Reference of original source of a document, e.g. bill_id for credit
            card statement
    Source:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
    Error:
      type: object
      properties:
        id:
          type: string
        status:
          type: integer
          format: int32
        code:
          type: string
        title:
          type: string
        detail:
          type: string
        source:
          $ref: '#/components/schemas/Source'
    Errors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
    ItemRequest:
      type: object
      properties:
        name:
          type: string
          description: The name to apply to the Postbox item.
        description:
          type: string
          description: A description for the Postbox item.
        customer_notification:
          type: boolean
          description: >-
            Boolean value to indicate whether or not customers should receive a
            notification when the Postbox item is created.
        customer_confirmation:
          type: boolean
          description: >-
            Boolean value to indicate whether or not customers must confirm the
            Postbox item.
        document_id:
          type: string
          description: >-
            ID of a document to associate with the Postbox item. Use the `POST
            /v1/postbox_documents` endpoint to upload test documents.
        idempotency_key:
          type: string
          description: >-
            Optional property you may supply to prevent the execution of
            duplicate requests. If the API receives a request with a previously
            used idempotency key, then it will return the previously created
            entity.
    ConfirmationResponse:
      type: object
      properties:
        id:
          type: string
          description: ID of the confirmation.
        person_id:
          type: string
          description: ID of the person who confirmed the Postbox item.
        confirmed_at:
          type: string
          description: UTC timestamp from when the person confirmed the Postbox item.
    ConfirmationRequest:
      type: object
      properties:
        person_id:
          type: string
          description: ID of the person who is confirming the Postbox item.
          example: 28a2197ff6e04a05b6316f83a38ccper
        idempotency_key:
          type: string
          description: >-
            Optional property you may supply to prevent the execution of
            duplicate requests. If the API receives a request with a previously
            used idempotency key, then it will return the previously created
            confirmation.
    UploadDocumentSimulationData:
      required:
        - document_date
        - document_type
      type: object
      properties:
        document_type:
          type: string
          description: The type of document.
          enum:
            - ACCOUNT_STATEMENT
            - BALANCE_CONFIRMATION
            - CUSTOMER_INFORMATION
            - DUNNING_INFORMATION
            - LOAN_SCHEDULE
            - SECURITIES_INVOICE
            - SECURITIES_EVENT
            - SECURITIES_EVENT_NOTIFICATION
            - DEPOT_STATEMENT_MIFID
            - EX_POST_COST_INFORMATION
            - DEPOT_STATEMENT
            - ASSETS_ACQUISITION
            - ASSETS_ACQUISITION_COSTS
            - PROFIT_TAX_STATEMENT
            - YEARLY_TAX_STATEMENT
            - TAX_SETTLEMENT_CALCULATION
            - CREDIT_CARD_STATEMENT
            - RELATIONSHIP_TERMINATION
            - CREDIT_CARD_SECCI
            - CREDIT_CARD_CONTRACT
            - CREDIT_CARD_CONTRACT_SIGNED
            - FEE_SUMMARY_STATEMENT
            - SINGLE_FEE_STATEMENT
            - SINGLE_TRANSACTION_STATEMENT
        document_date:
          type: string
          description: The date of the document.
        sign_document:
          type: boolean
          description: (Optional) If set to true, then the document will be signed.
    IdResponse:
      type: object
      properties:
        id:
          type: string
    Solaris-Decorators-PSD2Challenge:
      type: object
      properties:
        person_id:
          type: string
          description: The Solaris person ID associated with the PSD2 request.
          example: 'null'
        redirect_url:
          type: string
          description: >-
            The redirect URL where you must send the customer after
            authentication.
          example: 'null'
    InvalidRequestError:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        code:
          type: string
          example: invalid_request
        title:
          type: string
          example: Invalid Request
        details:
          type: string
          example: Request is invalid
    UnauthorizedErrorChallengeExpired:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: integer
          example: 401
        code:
          type: string
          example: unauthorized_psd2_challenge
        title:
          type: string
          example: Unauthorized PSD2 challenge
        details:
          type: string
          example: Challenge expired.
    UnauthorizedError:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: integer
          example: 403
        code:
          type: string
          example: unauthorized_action
        title:
          type: string
          example: Unauthorized Action
        details:
          type: string
          example: Unauthorized action is not allowed.
    ModelNotFound:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        code:
          type: string
          example: model_not_found
        title:
          type: string
          example: Model Not Found
        details:
          type: string
          example: Model was not found
    InternalServerError:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: integer
          example: 500
        code:
          type: string
          example: generic_error
        title:
          type: string
          example: Generic Error
        details:
          type: string
          example: There was an error.
    Solaris-Decorators-PSD2Challenge-Patch-Request:
      example:
        person_id: dc1a6812a14f6cc338cd084208535bcdcper
      required:
        - person_id
      type: object
      properties:
        person_id:
          description: The Solaris person ID associated with the PSD2 challenge.
          type: string
          format: string
    Solaris-Decorators-PSD2Challenge-Patch-Response:
      type: object
      properties:
        person_id:
          type: string
          description: The Solaris person ID associated with the PSD2 request.
          example: dc1a6812a14f6cc338cd084208535bcdcper
        redirect_url:
          type: string
          description: >-
            The redirect URL where you must send the customer after
            authentication.
          example: http://my.sb.de/consent?consent_challenge=cc1234
    Answer:
      type: object
      properties:
        response:
          type: string
          description: The answer text collected from the customer in your frontend.
        partner_notes:
          type: string
          description: >-
            Optional notes that you may add to the answer for Solaris to take
            into consideration.
        attachments:
          type: array
          items:
            type: string
          description: >-
            An array of Solaris document IDs related to documents provided by
            the customer for the answer. Only required if the question has an
            `answer_type` value of `TEXT_AND_FILES`.
        ready_for_review:
          type: boolean
          default: false
          description: >-
            Indicates whether the answer is ready for review by Solaris. **All
            questions** in the question set must have a value of `true` for this
            property before Solaris will review them.
      example:
        response: Here is my answer to the question
        partner_notes: Optional notes
        attachments:
          - 4c9464a1a29cbb5cf6090463ef7f49b9cdoc
          - 876464a1a29cbb5cf6090463ef7f49a6cdoc
        ready_for_review: true
    Solaris-Server-Decorators-Answer:
      type: object
      properties:
        id:
          type: string
          description: ID of the question.
        deadline:
          type: string
          format: date-time
          description: UTC timestamp indicating the deadline for answering the question.
        question:
          type: string
          description: The question.
        answer_type:
          type: string
          description: The type of answer required from the recipient.
          enum:
            - TEXT_ONLY
            - TEXT_AND_FILES
        allowed_document_types:
          type: array
          items:
            type: string
            enum:
              - ANNUAL_FINANCIAL_STATEMENT
              - KYC_REPORT
              - ID_DOCUMENT
              - SIGNATURE
              - PICTURE
              - QES_DOCUMENT
              - SIGNED_CONTRACT
              - SIGNED_QES_DOCUMENT
              - REGISTER_CHECK
              - REGISTER_EXTRACT
              - FOUNDATION_DOCUMENT
              - SCHUFA_COMPACT_REPORT
              - SCHUFA_GWG_REPORT
              - SCHUFA_FULL_REPORT
              - SCHUFA_SHORT_REPORT
              - CREDIT_AGENCY_REPORT
              - SHARE_HOLDERS_AGREEMENT
              - SHAREHOLDERS_LIST
              - TRADING_LICENSE
              - TRANSPARENCY_REGISTER_EXTRACT
              - INVOICE
              - OTHER
              - VIDEO
          description: >-
            Indicates the allowed document types that the recipient may provide
            (if the question has an `answer_type` value of `TEXT_AND_FILES`).
        created_at:
          type: string
          format: date-time
          example: '2022-09-15T11:20:16.920885Z'
          description: UTC timestamp from when the question was created.
        updated_at:
          type: string
          format: date-time
          example: '2022-09-15T11:20:16.920914Z'
          description: UTC timestamp from when the question was last updated.
        answer:
          type: object
          description: Object containing data related to the recipient's answer.
          properties:
            response:
              type: string
              description: The answer text provided by the recipient.
            partner_notes:
              type: string
              description: Optional partner notes regarding the answer.
              example: optional notes
            attachments:
              type: array
              description: >-
                An array of Solaris document IDs related to documents provided
                by the recipient for the answer. Only required if the question
                has an `answer_type` value of `TEXT_AND_FILES`.
              items:
                type: string
              example:
                - 4c9464a1a29cbb5cf6090463ef7f49b9cdoc
                - 876464a1a29cbb5cf6090463ef7f49a6cdoc
            ready_for_review:
              type: boolean
              description: Indicates whether the answer is ready for Solaris to review.
              example: true
      example:
        id: 1f0130f81d84ed3c75b32c428d5d7d93cqst
        question: Provide your annual KYC report.
        answer_type: TEXT_AND_FILES
        deadline: '2022-09-15T11:20:16.840208Z'
        allowed_document_types:
          - KYC_REPORT
        created_at: '2022-09-15T11:20:16.920885Z'
        updated_at: '2022-09-15T11:20:16.920914Z'
        answer:
          response: Here is my annual KYC report
          partner_notes: Optional partner notes
          attachments:
            - 4c9464a1a29cbb5cf6090463ef7f49b9cdoc
          ready_for_review: true
    Error400-2:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '400'
        code:
          type: string
          example: constraint_violation
        title:
          type: string
          example: The request violated data integrity constraints
        detail:
          type: string
          example: entity_id --> recipient id {entity_id} is invalid.
    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-Server-Decorators-Question:
      type: object
      properties:
        id:
          type: string
          description: ID of the question.
        deadline:
          type: string
          format: date-time
          description: UTC timestamp indicating the deadline for answering the question.
        question:
          type: string
          description: The question.
        answer_type:
          type: string
          description: The type of answer required from the recipient.
          enum:
            - TEXT_ONLY
            - TEXT_AND_FILES
        allowed_document_types:
          type: array
          description: Indicates array of allowed_document_types.
          items:
            $ref: '#/components/schemas/Solaris-Enums-DocumentType'
      example:
        id: 1f0130f81d84ed3c75b32c428d5d7d93cqst
        question: Provide your current address.
        answer_type: TEXT_AND_FILES
        deadline: '2022-09-15T11:20:16.840208Z'
        allowed_document_types:
          - KYC_REPORT
    Solaris-Server-Decorators-QuestionSet:
      type: object
      properties:
        id:
          type: string
          description: ID of the question set.
        entity_id:
          type: string
          description: >-
            ID of the entity (person or business) to whom the question set is
            assigned.
        context_id:
          type: string
          description: >-
            The ID of an additional Solaris resource related to the question set
            (e.g., an identification).
        deadline:
          type: string
          format: date-time
          description: The deadline for answering all questions in the set.
        recipient:
          type: object
          description: Object containing information about the question set recipient.
          properties:
            recipient_id:
              type: string
              description: >-
                ID of the question set recipient. If the `entity_id` corresponds
                with a business, then the `recipient_id` will correspond with a
                person associated with the business.
            recipient_type:
              description: >-
                Indicates who should answer the questions (either you or the
                customer).
              enum:
                - CUSTOMER
                - PARTNER
        questions:
          type: array
          description: Array containing all the questions in the question set.
          items:
            $ref: '#/components/schemas/Solaris-Server-Decorators-Question'
      example:
        id: b4897de4ad4142faa0a7822b84edf597cqset
        entity_id: 1fa130f81d84ed3c75b32c428d5d7d93cper
        context_id: 1fa130f81d84ed3c75b32c428d5d7d93ccnt
        description: some description
        deadline: '2023-12-07T00:00:00Z'
        recipient:
          recipient_id: 1fa130f81d84ed3c75b32c428d5d7d93cper
          recipient_type: CUSTOMER
        questions:
          - id: 1f0130f81d84ed3c75b32c428d5d7d93cqst
            question: Provide your current address.
            answer_type: TEXT_AND_FILES
            deadline: '2022-09-15T11:20:16.840208Z'
            allowed_document_types:
              - KYC_REPORT
    ProductName:
      type: string
      description: >-
        The name of the relevant product to which the Terms & Conditions
        document applies.
      enum:
        - DIGITAL_BANKING
        - OVERDRAFT
        - VIACASH
        - SECURITIES_BROKERAGE
        - IDENTIFICATION_FOURTHLINE
      example: DIGITAL_BANKING
    Terms-And-Conditions-Event:
      type: object
      properties:
        id:
          type: string
          description: ID of the Terms & Conditions event.
        event_timestamp:
          type: string
          description: >-
            Timestamp when the customer approved/rejected the Terms & Conditions
            document.
          format: date-time
        created_at:
          type: string
          description: >-
            Timestamp when the Terms & Conditions event was created using the
            API.
          format: date-time
        event_type:
          type: string
          description: >-
            The type of action that the customer took on the Terms & Conditions
            document.
          enum:
            - APPROVED
            - REJECTED
        signed_by:
          type: string
          description: >-
            ID of the person who approved/rejected the Terms & Conditions
            document.
        signed_on_behalf_of:
          type: string
          description: >-
            ID of the business on whose behalf the authorized person or legal
            representative approved/rejected the Terms & Conditions document.
        product_name:
          $ref: '#/components/schemas/ProductName'
        document_id:
          type: string
          description: >-
            ID of the Terms & Conditions document that the customer
            approved/rejected.
        document_name:
          type: string
          description: >-
            Name of the Terms & Conditions document that the customer
            approved/rejected.
      example:
        id: 2b5423a061514901a5a8791f2cb18266
        document_id: 3f31dd950cb6e2b28ac4b31d1b4bb321tcdc
        document_name: Customer T&C on Data Processing
        event_timestamp: '2020-02-12T17:28:53Z'
        created_at: '2020-02-12T17:28:53Z'
        event_type: APPROVED
        signed_by: 52054909a5d149b2a7430eee4ba6cc22
        signed_on_behalf_of: 52054909a5d149b2a7430eee4ba6cc22
        product_name: DIGITAL_BANKING
    Error409:
      type: object
      properties:
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        status:
          type: string
          example: '409'
        code:
          type: string
          example: record_not_unique
        title:
          type: string
          example: Record Not Unique
        detail:
          type: string
          example: Could not save `terms_and_conditions_event`
  requestBodies:
    Solaris-Decorators-PSD2Challenge-Patch:
      content:
        application/json:
          schema:
            $ref: >-
              #/components/schemas/Solaris-Decorators-PSD2Challenge-Patch-Request
  parameters:
    question_id:
      in: path
      name: question_id
      description: Solaris UID of question
      required: true
      allowEmptyValue: false
      schema:
        type: string
    question_set_id:
      in: path
      name: question_set_id
      description: Solaris UID of question set
      required: true
      allowEmptyValue: false
      schema:
        type: string
