openapi: 3.0.0
info:
  version: '1.0'
  title: Splitpay
servers:
  - url: https://api.solaris-sandbox.de
    description: Sandbox
  - url: https://api.solarisbank.de
    description: Production
paths:
  /v1/anonymous_credit_line_installment_plans:
    post:
      tags:
        - Consumer Credit Line
      summary: Calculate anonymous installment plans for a given amount
      security:
        - oauth2:
            - >-
              solaris_service_consumer_credit_line_anonymous_installment_plan#all
      responses:
        '200':
          description: Anonymous Installment Plans
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLineWeb.ConsumerCreditLines.InstallmentPlans.IndexResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
      requestBody:
        required: false
        description: Anonymous installment plans params
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/ConsumerCreditLineWeb.AnonymousInstallmentPlansRequest
      parameters: []
      operationId: >-
        ConsumerCreditLineWeb.V1.ConsumerCreditLines.AnonymousInstallmentPlans.IndexOperation
      description: >-
        Generates an anonymous credit line installment plan for a specific
        amount, allowing potential customers to receive an initial offer before
        applying for a credit line.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_line_applications:
    post:
      tags:
        - Consumer Credit Line
      summary: Create a consumer credit line application
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_application#create
      responses:
        '201':
          description: Application
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLineWeb.GetApplicationResponse
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolarisToolkit.Web.Json.ErrorBody'
      requestBody:
        required: false
        description: The application attributes
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/ConsumerCreditLineWeb.CreateApplicationRequest
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer applying for the credit line.
      operationId: ConsumerCreditLineWeb.V1.Applications.CreateOperation
      description: >-
        Creates a consumer credit line application and assigns it to the person
        with the `person_id` included in the request URL. The payload of this
        endpoint includes all the required financial information and account
        data about the applicant, which the credit scorer uses to initiate a
        series of credit checks. See the [Consumer Splitpay
        guide](https://docs.solarisgroup.com/guides/lending/splitpay/consumer-splitpay/)
        for the list of mandatory properties. 
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_line_applications/{application_id}:
    get:
      tags:
        - Consumer Credit Line
      summary: Retrieve a consumer credit line application
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_application#find
      responses:
        '200':
          description: Application
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLineWeb.GetApplicationResponse
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer applying for the credit line.
        - schema:
            type: string
          required: true
          name: application_id
          in: path
          description: >-
            The unique credit line application ID assigned to a specific
            customer.
      operationId: ConsumerCreditLineWeb.V1.Applications.ShowOperation
      description: >-
        Returns the current status and details of an existing consumer credit
        line application. Alternatively, you can subscribe to the webhook event
        `CREDIT_LINE_APPLICATION` to receive status updates on the application.
      deprecated: false
      callbacks: {}
  /v1/persons/credit_line_applications:
    get:
      tags:
        - Consumer Credit Line
      summary: Index all credit line applications
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_application#all
      responses:
        '200':
          headers:
            total:
              schema:
                type: integer
          description: ConsumerCreditLineWeb.ListCreditLineApplicationsResponse
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLineWeb.ListCreditLineApplicationsResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
      parameters:
        - schema:
            type: integer
          required: false
          name: page[number]
          in: query
          description: The number of result pages to return.
        - schema:
            type: integer
          required: false
          name: page[size]
          in: query
          description: The size of each result page (maximum amount of results) to return.
        - schema:
            type: string
          required: false
          name: filter[person_id]
          in: query
          description: Filter results by person_id.
        - schema:
            type: string
          required: false
          name: filter[id]
          in: query
          description: Filter results by application_id
        - schema:
            type: string
          required: false
          name: filter[credit_line_id]
          in: query
          description: Filter results by credit_line_id.
        - schema:
            type: string
          required: false
          name: filter[status]
          in: query
          description: Filter results by the application status
        - schema:
            type: string
          required: false
          name: filter[application_date_min]
          in: query
          description: Filter results by the minimum date when the application was created.
        - schema:
            type: string
          required: false
          name: filter[application_date_max]
          in: query
          description: Filter results by the maximum date when the application was created.
        - schema:
            type: integer
          required: false
          name: filter[credit_line_amount]
          in: query
          description: Filter results by the credit_line_amount.
      operationId: ConsumerCreditLineWeb.V1.Applications.IndexOperation
      description: >-
        Returns an array of all credit line applications for all of your
        customers.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_line_applications/{application_id}/credit_record:
    put:
      tags:
        - Consumer Credit Line
      summary: Link a credit record to a consumer credit line application
      description: >-
        Attaches a customer's credit record to their credit line application. A
        credit record is required for the credit scoring process.
      security:
        - oauth2:
            - >-
              solaris_service_consumer_credit_line_application#link_credit_record
      responses:
        '204':
          description: No Content
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
      requestBody:
        required: false
        description: Credit record link
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/ConsumerCreditLineWeb.LinkCreditRecordRequest
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer applying for the credit line.
        - schema:
            type: string
          required: true
          name: application_id
          in: path
          description: >-
            The unique credit line application ID assigned to a specific
            customer.
      operationId: ConsumerCreditLineWeb.V1.Applications.LinkCreditRecordOperation
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_line_applications/{application_id}/account_snapshot:
    put:
      tags:
        - Consumer Credit Line
      summary: Link an account snapshot to a consumer credit line application
      security:
        - oauth2:
            - >-
              solaris_service_consumer_credit_line_application#link_account_snapshot
      responses:
        '204':
          description: No Content
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
      requestBody:
        required: false
        description: Account Snapshot link
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/ConsumerCreditLineWeb.LinkAccountSnapshotRequest
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer applying for the credit line.
        - schema:
            type: string
          required: true
          name: application_id
          in: path
          description: >-
            The unique credit line application ID assigned to a specific
            customer.
      operationId: ConsumerCreditLineWeb.V1.Applications.LinkAccountSnapshotOperation
      description: >-
        Links a customer account snapshot to their existing credit line
        application. You must add the `account_snapshot_id` in the request body.
        <br> The credit scorer uses the account snapshot for the final
        verification check to verify the financial information shared about the
        customer. After the final verification is completed, the credit scorer
        gives the final decision on the credit line application.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_line_applications/{application_id}/identification:
    put:
      tags:
        - Consumer Credit Line
      summary: Link a customer identification to a credit line application
      security:
        - oauth2:
            - >-
              solaris_service_consumer_credit_line_application#link_identification
      responses:
        '204':
          description: No Content
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolarisToolkit.Web.Json.ErrorBody'
      requestBody:
        required: false
        description: The identification id to attach to the application.
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/ConsumerCreditLineWeb.LinkIdentificationRequest
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer applying for the credit line.
        - schema:
            type: string
          required: true
          name: application_id
          in: path
          description: >-
            The unique consumer credit line application ID assigned to a
            specific customer.
      operationId: ConsumerCreditLineWeb.V1.Applications.LinkIdentificationOperation
      description: >-
        Links a customer identification resource to their credit line
        application. You must add the identification_id in the request body. To
        retrieve the identification ID, call the GET Retrieve consumer credit
        line application. It should be included in the payload as soon as the
        identification has been created for the customer.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}/authorization:
    put:
      tags:
        - Consumer Credit Line
      summary: Authorize a credit Line
      security:
        - oauth2:
            - solaris_service_consumer_credit_line#authorize
      responses:
        '204':
          description: No Content
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer who is applying for the credit line.
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: The unique credit line ID, generated after a credit line is created.
      operationId: ConsumerCreditLineWeb.V1.ConsumerCreditLines.AuthorizeOperation
      description: >-
        This endpoint enables an additional authorization flow from your side in
        specific use cases. After Solaris approves the credit line application,
        you can call this endpoint to authorize the credit line internally
        before it can be issued to the customer.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_line_applications/{application_id}/pre_contract:
    get:
      tags:
        - Consumer Credit Line
      summary: Download the pre-contractual information for consumer credit line
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_application_pre_contract#find
      responses:
        '200':
          description: The binary of the pre-contractual information (SECCI)
          content:
            application/pdf:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLineWeb.DownloadPreContractResponse
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer applying for the credit line.
        - schema:
            type: string
          required: true
          name: application_id
          in: path
          description: >-
            The unique consumer credit line application ID assigned to a
            specific customer.
      operationId: ConsumerCreditLineWeb.V1.Applications.DownloadPreContractOperation
      description: >-
        Generates a SECCI form, which is the overview of the final offer and the
        contract. This endpoint downloads the SECCI form as a PDF, which you
        must share with the customer to review the data based on which the final
        contract is generated.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_line_applications/{application_id}/contract:
    get:
      tags:
        - Consumer Credit Line
      summary: Download the final contract for consumer credit line
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_application_contract#find
      responses:
        '200':
          description: The pdf binary of the contract
          content:
            application/pdf:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLineWeb.DownloadContractResponse
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer applying for the credit line.
        - schema:
            type: string
          required: true
          name: application_id
          in: path
          description: >-
            The unique credit line application ID assigned to a specific
            customer.
      operationId: ConsumerCreditLineWeb.V1.Applications.DownloadContractOperation
      description: >-
        Generates the final contract for a consumer credit line, which the
        customer must e-sign during the identification and e-signing process.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}:
    get:
      tags:
        - Credit Line Servicing
      summary: Retrieve a single credit line
      security:
        - oauth2:
            - solaris_service_consumer_credit_line#find
      responses:
        '200':
          description: CreditLine
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLineWeb.ShowConsumerCreditLineResponse
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer for whom the credit line is issued.
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: The unique credit line ID, generated after a credit line is created.
      operationId: ConsumerCreditLineWeb.V1.ConsumerCreditLines.ShowOperation
      description: >-
        Returns the details and status of a credit line associated with a
        specific customer.
      deprecated: false
      callbacks: {}
  /v1/persons/credit_lines:
    get:
      tags:
        - Credit Line Servicing
      summary: Index all credit lines
      security:
        - oauth2:
            - solaris_service_consumer_credit_line#all
      responses:
        '200':
          headers:
            total:
              schema:
                type: integer
          description: ConsumerCreditLine.V1.ListCreditLinesResponse
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLine.V1.ListCreditLinesResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
      parameters:
        - schema:
            type: integer
          required: false
          name: page[number]
          in: query
          description: The number of result pages to return.
        - schema:
            type: integer
          required: false
          name: page[size]
          in: query
          description: The size of each result page (maximum amount of results) to return.
        - schema:
            type: string
          required: false
          name: filter[person_id]
          in: query
          description: Filter result by person_id
        - schema:
            type: string
          required: false
          name: filter[status]
          in: query
          description: Filter results by credit line status.
        - schema:
            type: string
          required: false
          name: filter[granted_at_min]
          in: query
          description: Filter results by the minimum date when the credit line was granted.
        - schema:
            type: string
          required: false
          name: filter[granted_at_max]
          in: query
          description: Filter results by the maximum date when the credit line was granted.
        - schema:
            type: string
          required: false
          name: filter[id]
          in: query
          description: Filter results by credit_line_id.
        - schema:
            type: string
          required: false
          name: filter[eligible_renewal_expires_at_min]
          in: query
          description: Filter by minimal expiration date for eligible renewal
        - schema:
            type: string
          required: false
          name: filter[eligible_renewal_expires_at_max]
          in: query
          description: Filter by maximal expiration date for eligible renewal
      operationId: ConsumerCreditLineWeb.V1.ConsumerCreditLines.IndexOperation
      description: Returns an array of all credit lines for all of your customers.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}/available_installment_plans:
    post:
      tags:
        - Credit Line Servicing
      summary: Calculate all available installment plans for a given amount
      security:
        - oauth2:
            - >-
              solaris_service_consumer_credit_line_available_installment_plan#all
      responses:
        '200':
          description: Available Installment Plans
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLineWeb.ConsumerCreditLines.InstallmentPlans.IndexResponse
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
      requestBody:
        required: false
        description: The criteria for calculating the available installment plans
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/ConsumerCreditLineWeb.CalculateAvailableInstallmentPlanRequest
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer who has the credit line.
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: The unique credit line ID, generated after a credit line is created.
      operationId: >-
        ConsumerCreditLineWeb.V1.ConsumerCreditLines.AvailableInstallmentPlans.IndexOperation
      description: >-
        Creates possible installment plans for a requested amount. The credit
        line must have already been created before calling this endpoint.
        Afterward, you can create a loan for the customer based on one of these
        plans.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}/loans:
    post:
      tags:
        - Credit Line Servicing
      summary: Create a credit line loan
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_loan#create
      responses:
        '201':
          description: Application
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConsumerCreditLineWeb.CreateLoanResponse'
        '400':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
      requestBody:
        required: false
        description: The application attributes
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConsumerCreditLineWeb.CreateLoanRequest'
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer who has the credit line.
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: The unique credit line ID, generated after a credit line is created.
      operationId: ConsumerCreditLineWeb.V1.Loans.CreateOperation
      description: >-
        Creates a credit line loan based on an installment plan. The loan is
        used for bank statements and should include a `purpose` and you must
        assign a `reference` to it. The credit line must have already been
        created without any blocks before creating a loan.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}/revoke:
    put:
      tags:
        - Credit Line Servicing
      summary: Revoke a credit line
      security:
        - oauth2:
            - solaris_service_consumer_credit_line#revoke
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer who has the credit line.
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: The unique credit line ID, generated after a credit line is created.
      operationId: ConsumerCreditLineWeb.V1.ConsumerCreditLines.RevokeOperation
      description: >-
        Revokes a credit line. Revoking a credit line must be done within 14
        days from the issuance date.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}/reference_account:
    patch:
      tags:
        - Credit Line Servicing
      summary: Update the reference account of a credit line
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_reference_account#update
      responses:
        '204':
          description: No Content
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error409'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolarisToolkit.Web.Json.ErrorBody'
      requestBody:
        required: false
        description: Update reference account
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/ConsumerCreditLineWeb.UpdateReferenceAccountRequest
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer who has the credit line.
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: The unique credit line ID, generated after a credit line is created.
      operationId: >-
        ConsumerCreditLineWeb.V1.ConsumerCreditLines.UpdateReferenceAccountOperation
      description: >-
        Updates the external reference account associated with a customer's
        credit line. The account is used for the payout of a credit line loan.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}/payout_account:
    patch:
      tags:
        - Credit Line Servicing
      summary: Add internal payout account to a credit line
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_payout_account#update
      responses:
        '204':
          description: No Content
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
      requestBody:
        required: false
        description: Internal Payout Account Id
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/ConsumerCreditLineWeb.UpdatePayoutAccountRequest
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer who has the credit line.
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: The unique credit line ID, generated after a credit line is created.
      operationId: >-
        ConsumerCreditLineWeb.V1.ConsumerCreditLines.UpdatePayoutAccountOperation
      description: >-
        Links a customer's internal payout account (i.e., an existing Solaris
        account) to their credit line. The account is used for the payout of a
        credit line loan.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}/annual_account_statement:
    get:
      tags:
        - Credit Line Servicing
      summary: Download an annual account statement for a credit line
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_annual_account_statement#find
      responses:
        '200':
          description: The PDF binary of the annual account statement
          content:
            application/pdf:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLineWeb.DownloadAnnualAccountStatementResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer who has the credit line.
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: The unique credit line ID, generated after a credit line is created.
        - schema:
            type: integer
          required: true
          name: year
          in: query
          description: The year for which the annual statement is issued.
      operationId: >-
        ConsumerCreditLineWeb.V1.ConsumerCreditLines.DownloadAnnualAccountStatementOperation
      description: >-
        Downloads an account statement for a credit line for a specific year as
        a PDF.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}/closing_account_statement:
    get:
      tags:
        - Credit Line Servicing
      summary: Download a closing account statement for a credit line
      security:
        - oauth2:
            - >-
              solaris_service_consumer_credit_line_closing_account_statement#find
      responses:
        '200':
          description: The pdf binary of the closing account statement
          content:
            application/pdf:
              schema:
                $ref: >-
                  #/components/schemas/ConsumerCreditLineWeb.DownloadClosingAccountStatementResponse
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer who has the credit line.
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: The unique credit line ID, generated after a credit line is created.
      operationId: >-
        ConsumerCreditLineWeb.V1.ConsumerCreditLines.DownloadClosingAccountStatementOperation
      description: Downloads the closing account statement for a credit line as a PDF.
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}/renewal/customer_notified:
    patch:
      tags:
        - Consumer Credit Line
      summary: Confirm sending the renewal notification to the customer
      description: >-
        (France only) Sends a confirmation to Solaris that you've sent the
        renewal notification to the customer. You have to add the exact date
        when the renewal notification was sent in the request body.
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_renewal#customer_notified
      responses:
        '204':
          description: No Content
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
      requestBody:
        required: false
        description: Receive partner notification about customer renewal notification
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/ConsumerCreditLineWeb.CustomerNotifiedOperationRequest
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: Person ID
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: Credit Line ID
      operationId: >-
        ConsumerCreditLineWeb.V1.ConsumerCreditLines.Renewals.CustomerNotifiedOperation
      deprecated: false
      callbacks: {}
  /v1/persons/{person_id}/credit_lines/{credit_line_id}/renewal/cancel:
    post:
      tags:
        - Consumer Credit Line
      summary: Cancel a consumer credit line renewal
      description: >-
        (France only) Cancels the renewal of an existing credit line after
        receiving a renewal notification. Call this endpoint if the customer
        doesn't wish to renew the credit line.
      security:
        - oauth2:
            - solaris_service_consumer_credit_line_renewal#cancel
      responses:
        '204':
          description: No Content
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
      parameters:
        - schema:
            type: string
          required: true
          name: person_id
          in: path
          description: The person ID of the customer for whom the credit line is issued.
        - schema:
            type: string
          required: true
          name: credit_line_id
          in: path
          description: The unique credit line ID, generated after a credit line is created.
      operationId: ConsumerCreditLineWeb.V1.ConsumerCreditLines.Renewals.CancelOperation
      deprecated: false
      callbacks: {}
  /v1/freelancers/anonymous_credit_line_installment_plans:
    post:
      callbacks: {}
      deprecated: false
      description: >-
        Generates an anonymous credit line installment plan for a specific
        amount, including the monthly installment amount, the loan duration, and
        the applicable interest rates, allowing potential customers to receive
        an initial offer before applying for a credit line.
      operationId: >-
        FreelancerCreditLineWeb.V1.CreditLines.AnonymousInstallmentPlans.IndexOperation
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/FreelancerCreditLineWeb.AnonymousInstallmentPlansRequest
        description: Anonymous installment plans params
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/FreelancerCreditLineWeb.CreditLines.InstallmentPlans.IndexResponse
          description: Anonymous Installment Plans
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
          description: Not found
      security:
        - oauth2:
            - >-
              solaris_service_freelancer_credit_line_anonymous_installment_plan#all
      summary: Calculate anonymous installment plans for a given amount
      tags:
        - Freelancer Credit Line
  /v1/freelancers/persons/{person_id}/credit_line_applications:
    post:
      callbacks: {}
      deprecated: false
      description: >-
        Creates a freelancer credit line application. The payload of this
        endpoint includes all the required financial information and account
        data about the customer, which the credit scorer uses to initiate a
        series of credit checks to determine the customer's credit risk and
        eligibility.
      operationId: FreelancerCreditLineWeb.V1.Applications.CreateOperation
      parameters:
        - description: >-
            The unique person ID, generated after completing the person
            onboarding process.
          in: path
          name: person_id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/FreelancerCreditLineWeb.CreateApplicationRequest
        description: The application attributes
        required: false
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/FreelancerCreditLineWeb.GetApplicationResponse
          description: Application
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
          description: Invalid request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
          description: Not Found
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolarisToolkit.Web.Json.ErrorBody'
          description: Unprocessable Entity
      security:
        - oauth2:
            - solaris_service_freelancer_credit_line_application#create
      summary: Create freelancer credit line application
      tags:
        - Freelancer Credit Line
  /v1/freelancers/persons/{person_id}/credit_line_applications/{application_id}:
    get:
      callbacks: {}
      deprecated: false
      description: >-
        Returns the current status and details of an existing freelancer credit
        line application.
      operationId: FreelancerCreditLineWeb.V1.Applications.ShowOperation
      parameters:
        - description: >-
            The unique person ID, generated after completing the person
            onboarding process.
          in: path
          name: person_id
          required: true
          schema:
            type: string
        - description: Freelancer Credit Line Application ID
          in: path
          name: application_id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/FreelancerCreditLineWeb.GetApplicationResponse
          description: Application
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
          description: Not Found
      security:
        - oauth2:
            - solaris_service_freelancer_credit_line_application#find
      summary: Retrieve freelancer credit line application
      tags:
        - Freelancer Credit Line
  /v1/freelancers/persons/{person_id}/credit_line_applications/{application_id}/credit_record:
    put:
      callbacks: {}
      deprecated: false
      description: >-
        Links a freelancer credit record to their existing credit line
        application. You have to add the unique ID of the credit record in the
        payload of this endpoint.
      operationId: FreelancerCreditLineWeb.V1.Applications.LinkCreditRecordOperation
      parameters:
        - description: >-
            The unique person ID, generated after completing the person
            onboarding process.
          in: path
          name: person_id
          required: true
          schema:
            type: string
        - description: The unique ID of a freelancer credit line application.
          in: path
          name: application_id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/FreelancerCreditLineWeb.LinkCreditRecordRequest
        description: Credit Record link
        required: false
      responses:
        '204':
          description: No Content
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
          description: Invalid request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolarisToolkit.Web.Json.ErrorBody'
          description: Conflict
      security:
        - oauth2:
            - >-
              solaris_service_freelancer_credit_line_application#link_credit_record
      summary: Link credit record to freelancer credit line application
      tags:
        - Freelancer Credit Line
  /v1/freelancers/persons/{person_id}/credit_line_applications/{application_id}/account_snapshot:
    put:
      callbacks: {}
      deprecated: false
      description: >-
        Links a freelancer account snapshot to their existing credit line
        application. You have to add the unique ID of the account snapshot in
        the payload of this endpoint.
      operationId: FreelancerCreditLineWeb.V1.Applications.LinkAccountSnapshotOperation
      parameters:
        - description: >-
            The unique person ID, generated after completing the person
            onboarding process.
          in: path
          name: person_id
          required: true
          schema:
            type: string
        - description: The unique ID of a freelancer credit line application.
          in: path
          name: application_id
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/FreelancerCreditLineWeb.LinkAccountSnapshotRequest
        description: Account snapshot link
        required: false
      responses:
        '204':
          description: No Content
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
          description: Not found
      security:
        - oauth2:
            - >-
              solaris_service_freelancer_credit_line_application#link_account_snapshot
      summary: Link account snapshot to freelancer credit line application
      tags:
        - Freelancer Credit Line
  /v1/freelancers/persons/{person_id}/credit_line_applications/{application_id}/contract_agreement:
    put:
      callbacks: {}
      deprecated: false
      description: >-
        Creates the credit line contract agreement. After a credit application
        passes the credit checks, call this endpoint and collect the customer's
        consent on the credit line contract and terms and conditions.
      operationId: FreelancerCreditLineWeb.V1.Applications.SetContractAgreementOperation
      parameters:
        - description: >-
            The unique person ID, generated after completing the person
            onboarding process.
          in: path
          name: person_id
          required: true
          schema:
            type: string
        - description: The unique ID of a freelancer credit line application.
          in: path
          name: application_id
          required: true
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/FreelancerCreditLineWeb.GetApplicationResponse
          description: Application
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error400'
          description: Invalid request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error403'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error404'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SolarisToolkit.Web.Json.ErrorBody'
          description: Conflict
      security:
        - oauth2:
            - >-
              solaris_service_freelancer_credit_line_application#set_contract_agreement
      summary: Set contract agreement date for a freelancer credit line application
      tags:
        - Freelancer Credit Line
components:
  schemas:
    SolarisToolkit.Web.Money:
      example:
        currency: EUR
        unit: cents
        value: 1000
      properties:
        currency:
          description: The currency of the given value. Only EURO is currently supported.
          type: string
        unit:
          description: The unit of the given value.
          enum:
            - cents
          type: string
        value:
          description: The amount value
          type: integer
      required:
        - value
        - currency
        - unit
      title: SolarisToolkit.Web.Money
      type: object
    ConsumerCreditLineWeb.AnonymousInstallmentPlansRequest:
      type: object
      title: ConsumerCreditLineWeb.AnonymousInstallmentPlansRequest
      required:
        - amount
      properties:
        loan_type:
          type: string
          nullable: true
          enum:
            - bullet
            - installment_plan
          description: The loan type, which defines your product category.
          default: installment_plan
          example: installment_plan
        interest_rate:
          type: number
          nullable: true
          format: float
          example: 0.11
          description: The interest rate to apply to the installment loan.
        bullet_loan_repayment_date:
          type: string
          nullable: true
          format: date
          description: The repayment date of the bullet loan.
          example: '2022-02-22'
        amount:
          type: object
          description: >-
            The requested credit line amount for which the installment plan is
            created.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
            - type: object
              properties:
                value:
                  type: integer
                  minimum: 1
                  description: The amount value.
      description: Anonymous installment plans params
    ConsumerCreditLineWeb.ConsumerCreditLines.InstallmentPlans.Item:
      type: object
      title: ConsumerCreditLineWeb.ConsumerCreditLines.InstallmentPlans.Item
      required:
        - term
        - monthly_installment
        - total
        - interest_rate
        - effective_interest_rate
      properties:
        total:
          description: >-
            The total amount of the installment loan (principal + interest) the
            customer must repay.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        term:
          type: integer
          example: 6
          description: The number of months over which the installment loan will be repaid.
        monthly_installment:
          description: The monthly installment amount the customer has to pay.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        interest_rate:
          type: number
          example: 0.11
          description: >-
            The interest rate to apply to the installment loan. Optional field
            only if there's a specific interest rate that should apply to the
            loan.
        effective_interest_rate:
          type: number
          example: 0.1157
          description: The effective interest rate to apply to the installment loan.
    ConsumerCreditLineWeb.ConsumerCreditLines.InstallmentPlans.IndexResponse:
      type: object
      title: ConsumerCreditLineWeb.ConsumerCreditLines.InstallmentPlans.IndexResponse
      required:
        - installment_plans
      properties:
        installment_plans:
          type: array
          items:
            $ref: >-
              #/components/schemas/ConsumerCreditLineWeb.ConsumerCreditLines.InstallmentPlans.Item
    Error400:
      properties:
        code:
          example: build_pagination_headers_failure
          type: string
        detail:
          example: Cannot connect to database.
          type: string
        id:
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
          type: string
        status:
          example: '400'
          type: string
        title:
          example: Failed to build pagination headers.
          type: string
      title: Error400
      type: object
    ConsumerCreditLineWeb.CreateApplicationRequest:
      type: object
      title: ConsumerCreditLineWeb.CreateApplicationRequest
      properties:
        requested_credit_limit:
          type: object
          title: SolarisToolkit.Web.Money.Optional
          nullable: true
          description: The requested credit line amount.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        repayment_day_of_month:
          type: integer
          nullable: true
          enum:
            - 1
            - 15
          description: >-
            The day of the month when the customer repays the monthly
            installment.
          default: 1
          example: 1
        recipient_iban:
          type: string
          nullable: true
          description: The IBAN of the customer's account to use for the account snapshot.
          example: DE92370601930002130041
        private_insurance_amount:
          type: object
          title: SolarisToolkit.Web.Money.Optional
          nullable: true
          description: The amount of the private insurance the customer pays monthly.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        pre_selected_by_partner:
          type: boolean
          nullable: true
          description: >-
            Field to indicate whether the customer is already pre-selected based
            on your internal scoring flow.
          example: false
        partner_score:
          type: string
          nullable: true
          description: Field to enter your internal scoring of the customer.
        partner_reference_number:
          type: string
          nullable: true
          description: Field to enter your internal reference number for the customer.
          example: AGHD02130041
        number_of_dependents:
          type: integer
          nullable: true
          description: >-
            The number of persons depending on the customer's income, e.g.,
            family members.
          example: 2
        net_income_amount:
          type: object
          title: SolarisToolkit.Web.Money.Optional
          nullable: true
          description: The customer's monthly net income after deducting taxes.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        moved_in_last_two_years:
          type: boolean
          nullable: true
          description: >-
            Field to indicate whether the customer has moved and changed
            addresses in the last two years.
          example: false
        marriage_status:
          type: string
          nullable: true
          enum:
            - MARRIED
            - UNMARRIED
            - DIVORCED
            - UNKNOWN
          description: The customer's marital status.
          example: MARRIED
        living_situation_amount:
          type: object
          title: SolarisToolkit.Web.Money.Optional
          nullable: true
          description: >-
            The amount of the customer's living expenses, e.g., rent, mortgage,
            etc.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        living_situation:
          type: string
          nullable: true
          enum:
            - LIVING_WITH_PARENTS
            - LIVING_IN_RENTED_HOUSE
            - LIVING_IN_OWN_HOUSE
          description: The customer's living situation.
          example: LIVING_IN_RENTED_HOUSE
        identification_id:
          type: string
          nullable: true
          description: The unique ID of a customer's identification resource.
          example: 9dfe2f4edaa67138be0c0c1cd3a7d849cidt
        existing_credit_repayment_excluding_mortgage:
          type: object
          title: SolarisToolkit.Web.Money.Optional
          nullable: true
          description: >-
            The amount of existing credit repayment the customer pays, excluding
            mortgage.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        employment_since:
          type: string
          nullable: true
          format: date
          description: The date when the customer began their current employment.
          example: '2019-11-01'
        credit_record_id:
          type: string
          nullable: true
          example: fbb7d15fa4c54ba0b077592665ef04a4ccrd
          description: The unique ID of a customer's credit record.
      description: >-
        The exact list of required attributes depends on your product
        configurations. Please note that you need a valid `credit_record_id` to
        create a credit line application.
    ConsumerCreditLineWeb.GetApplicationResponse:
      type: object
      title: ConsumerCreditLineWeb.GetApplicationResponse
      required:
        - id
        - decision
        - status
        - person_id
      properties:
        status_description:
          type: string
          nullable: true
          description: Additional details about the credit line application status.
        status:
          type: string
          example: account_snapshot_pending
          enum:
            - initial_scoring_pending
            - account_snapshot_pending
            - account_snapshot_verification_pending
            - identification_pending
            - offered
            - esign_pending
            - esign_complete
            - esign_failed
            - credit_line_creation_pending
            - credit_line_created
            - expired
            - deleted
            - rejected
            - scoring_pending
          description: The status of a consumer credit line application.
        signing_id:
          type: string
          nullable: true
          example: 7c63600ddddec4f2668893af39c1b814csig
          description: >-
            The ID of the signing resource, created after the customer's
            identification and e-signing process has been triggered.
        scoring_workflow:
          description: >-
            An object containing certain actions required for the scoring
            process.
          type: object
          properties:
            required_actions:
              type: array
              description: Actions you must complete for the scoring process.
              items:
                type: object
                properties:
                  required:
                    type: string
                    nullable: true
          nullable: true
        recipient_iban:
          type: string
          nullable: true
          example: DE92370601930002130041
          description: The IBAN of the customer's account to use for the account snapshot.
        reason:
          type: string
          nullable: true
          description: The reason(s) for rejecting a credit line application.
        person_id:
          type: string
          example: dc1a6812a14f6cc338cd084208535bcdcper
          description: The person ID of the customer applying for the credit line.
        partner_reference_number:
          type: string
          nullable: true
          description: The partner reference number.
          example: ABHP244919
        offered_limit:
          type: object
          title: SolarisToolkit.Web.Money.Optional
          nullable: true
          description: The offered credit line limit.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        offered_interest_rate:
          type: number
          nullable: true
          description: The offered interest rate to apply to the credit line.
          example: 2.5
        net_disposable_income:
          type: object
          title: SolarisToolkit.Web.Money.Optional
          nullable: true
          description: >-
            The net disposable income available to the customer after deducting
            all taxes.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        marriage_status:
          type: string
          nullable: true
          enum:
            - MARRIED
            - UNMARRIED
            - DIVORCED
            - UNKNOWN
          description: The customer's marital status.
          example: UNMARRIED
        identification_id:
          type: string
          nullable: true
          example: 9e2e85c62230a652325964282c84559fcidt
          description: The unique ID of a customer's identification resource.
        id:
          type: string
          example: 35eee37033c5436f9cbff6df1f88e097ccla
          description: The unique ID of a consumer credit line application.
        employment_status:
          type: string
          nullable: true
          enum:
            - EMPLOYED
            - UNEMPLOYED
            - PUBLIC_SECTOR_EMPLOYEE
            - PROFESSIONAL_SOLDIER
            - FREELANCER
            - HOUSEWORK
            - APPRENTICE
            - MANAGEMENT
            - RETIRED
            - STUDENT
            - SELF_EMPLOYED
            - MILITARY_OR_COMMUNITY_SERVICE
          description: The customer's employment status.
          example: EMPLOYED
        decision:
          type: string
          nullable: true
          enum:
            - REJECTED
            - OFFERED
          description: Solaris' decision on the credit line application.
          example: OFFERED
        credit_line_id:
          type: string
          nullable: true
          example: 1908331fb8384edcbfe63067366c4b6accln
          description: >-
            The unique ID of a credit line, generated after a credit line is
            created.
    Error403:
      properties:
        code:
          example: unauthorized_action
          type: string
        detail:
          example: Unauthorized action is not allowed.
          type: string
        id:
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
          type: string
        status:
          example: '403'
          type: string
        title:
          example: Unauthorized Action
          type: string
      title: Error403
      type: object
    Error404:
      properties:
        code:
          example: model_not_found
          type: string
        detail:
          example: Couldn't find 'Account' for id 'DE24112233445566'.
          type: string
        id:
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
          type: string
        status:
          example: '404'
          type: string
        title:
          example: Model Not Found
          type: string
      title: Error404
      type: object
    Error409:
      type: object
      title: Error409
      properties:
        title:
          type: string
          example: Record Not Unique
        status:
          type: string
          example: '409'
        id:
          type: string
          example: a95f2aaf-4e0c-4d49-8021-8a16a884ed86
        detail:
          type: string
          example: Could not save `terms_and_conditions_event`.
        code:
          type: string
          example: record_not_unique
    SolarisToolkit.Web.Json.Error:
      properties:
        backtrace:
          description: Optional array of backtrace lines
          items:
            type: string
          nullable: true
          type: array
        code:
          description: some_computer_friendly_string
          type: string
        detail:
          description: 'Some human friendly-ish detail: field is required'
          type: string
        id:
          description: A UUID, preferably the request ID
          type: string
        source:
          description: Optional computer-friendly error source description
          example:
            field: name
            message: is_required
          nullable: true
          properties:
            field:
              type: string
            message:
              type: string
          required:
            - field
            - message
          type: object
        status:
          description: The HTTP status
          type: integer
        title:
          description: Some short human friendly string
          type: string
      required:
        - id
        - status
        - code
        - title
        - detail
      title: SolarisToolkit.Web.Json.Error
      type: object
    SolarisToolkit.Web.Json.ErrorBody:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/SolarisToolkit.Web.Json.Error'
          type: array
      required:
        - errors
      title: SolarisToolkit.Web.Json.ErrorBody
      type: object
    ConsumerCreditLineWeb.ListCreditLineApplicationItem:
      type: object
      title: ConsumerCreditLineWeb.ListCreditLineApplicationItem
      required:
        - id
        - person_id
        - status
        - created_at
      properties:
        status:
          type: string
          example: credit_line_created
          enum:
            - initial_scoring_pending
            - account_snapshot_pending
            - account_snapshot_verification_pending
            - identification_pending
            - offered
            - esign_pending
            - esign_complete
            - esign_failed
            - credit_line_creation_pending
            - credit_line_created
            - expired
            - deleted
            - rejected
          description: The status of a consumer credit line application.
        person_id:
          type: string
          example: dc1a6812a14f6cc338cd084208535bcdcper
          description: The person ID of the customer applying for the credit line.
        limit:
          type: object
          title: SolarisToolkit.Web.Money.Optional
          nullable: true
          description: The limit of the credit line.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        id:
          type: string
          example: 35eee37033c5436f9cbff6df1f88e097ccla
          description: The unique ID of a consumer credit line application.
        credit_line_id:
          type: string
          example: 1908331fb8384edcbfe63067366c4b6accln
          description: >-
            The unique ID of a credit line, generated after a credit line is
            created.
        created_at:
          type: string
          example: '2022-02-07T11:57:42'
          description: The timestamp from when the credit line was created.
      additionalProperties: false
    ConsumerCreditLineWeb.ListCreditLineApplicationsResponse:
      type: array
      title: ConsumerCreditLineWeb.ListCreditLineApplicationsResponse
      items:
        $ref: >-
          #/components/schemas/ConsumerCreditLineWeb.ListCreditLineApplicationItem
    ConsumerCreditLineWeb.LinkCreditRecordRequest:
      type: object
      title: ConsumerCreditLineWeb.LinkCreditRecordRequest
      required:
        - credit_record_id
      properties:
        credit_record_id:
          type: string
          example: fbb7d15fa4c54ba0b077592665ef04a4ccrd
          description: The unique ID of a customer's credit record.
      description: >-
        The details of the customer's credit record to be attached to the credit
        line application.
    ConsumerCreditLineWeb.LinkAccountSnapshotRequest:
      type: object
      title: ConsumerCreditLineWeb.LinkAccountSnapshotRequest
      required:
        - account_snapshot_id
      properties:
        account_snapshot_id:
          type: string
          example: 6c8f81a234df4052a9cde197577347b7snap
          description: The unique ID of a customer's account snapshot.
      description: >-
        The details of the customer's account snapshot to be attached to the
        credit line application.
    ConsumerCreditLineWeb.LinkIdentificationRequest:
      type: object
      title: ConsumerCreditLineWeb.LinkIdentificationRequest
      required:
        - identification_id
      properties:
        identification_id:
          type: string
          example: 9e2e85c62230a652325964282c84559fcidt
          description: The unique ID of a customer's identification resource.
      description: >-
        The details of the customer's identification resource to be attached to
        the credit line application.
    ConsumerCreditLineWeb.DownloadPreContractResponse:
      type: string
      title: ConsumerCreditLineWeb.DownloadPreContractResponse
      format: binary
    ConsumerCreditLineWeb.DownloadContractResponse:
      type: string
      title: ConsumerCreditLineWeb.DownloadContractResponse
      format: binary
    ConsumerCreditLineWeb.ShowConsumerCreditLineResponse:
      type: object
      title: ConsumerCreditLineWeb.ShowConsumerCreditLineResponse
      required:
        - id
        - person_id
        - recipient_iban
        - disposable_income
        - latest_disposable_income
        - created_at
        - interest_rate
        - annual_percentage_rate
        - limit
        - status
        - locking_status
        - utilized_amount
        - active_loans
        - application_id
      properties:
        utilized_amount:
          description: The utilized amount of the credit line limit.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        termination_type:
          type: string
          nullable: true
          example: ORDINARY_BY_CUSTOMER
          enum:
            - ORDINARY_BY_BANK
            - ORDINARY_BY_CUSTOMER
          description: The type of the credit line termination.
        termination_requested_at:
          type: string
          nullable: true
          format: date
          example: '2022-02-07'
          description: The date when the credit line termination was requested.
        termination_date:
          type: string
          nullable: true
          format: date
          example: '2022-02-08'
          description: The date when the credit line termination was effective.
        status:
          type: string
          example: mandate_creation_pending
          enum:
            - authorization_pending
            - account_creation_pending
            - mandate_creation_pending
            - open
            - closed
          description: The status of the credit line.
        renewal:
          type: object
          properties:
            status_description:
              type: string
              description: Additional information about the status.
            status:
              type: string
              description: Status of the credit line renewal.
              enum:
                - planned
                - scoring_pending
                - scoring_successful
                - customer_notified
                - cancelled
                - renewed
              example: customer_notified
            rejection_date:
              type: string
              description: The date the renewal was rejected.
              nullable: true
              format: date
              example: '2022-10-31'
            notification_sent_date:
              type: string
              description: The date the renewal notification was sent to the customer.
              nullable: true
              format: date
              example: '2021-01-20'
            id:
              type: string
              description: ID of the credit line renewal.
              example: 0696599d-7f0a-434b-b480-ebe5a1e20cc4
            effective_until_date:
              type: string
              description: The date until which the renewal will be effective.
              format: date
              example: '2022-04-10'
            effective_from_date:
              type: string
              description: The date from which the renewal will be effective.
              format: date
              example: '2022-04-10'
            credit_line_id:
              type: string
              description: The ID of the credit line.
              example: 1908331fb8384edcbfe63067366c4b6accln
          nullable: true
        recipient_iban:
          type: string
          example: DE92370601930002130041
          description: The IBAN of the customer's account to use for the account snapshot.
        product_type:
          type: string
          example: consumer
          enum:
            - freelancer
            - consumer
          description: The type of the credit line product.
        person_id:
          type: string
          example: dc1a6812a14f6cc338cd084208535bcdcper
          description: The person ID of the customer applying for the credit line.
        locking_status:
          type: string
          example: NO_BLOCK
          enum:
            - BLOCK
            - NO_BLOCK
          description: >-
            The locking status, which indicates whether it's possible to create
            a loan against the credit line or it's blocked.
        limit:
          description: The limit of the credit line.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        latest_disposable_income:
          type: object
          title: SolarisToolkit.Web.Money.Optional
          nullable: true
          description: The amount of the customer's latest disposable income.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        interest_rate:
          type: number
          example: 0.11
          description: >-
            The interest rate to apply to the credit line. This field is used if
            there's a specific interest rate to be applied for a partner.
        id:
          type: string
          example: 1908331fb8384edcbfe63067366c4b6accln
          description: >-
            The unique ID of a credit line, generated after a credit line is
            created.
        granted_at:
          type: string
          format: datetime
          example: '2022-02-07T11:57:42Z'
          description: The timestamp from when the credit line was granted to a customer.
        disposable_income:
          type: object
          title: SolarisToolkit.Web.Money.Optional
          nullable: true
          description: The total amount of the customer's disposable income.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
        created_at:
          type: string
          format: datetime
          example: '2022-02-07T11:57:42'
          description: The timestamp from when the credit line was created.
        application_id:
          type: string
          example: 35eee37033c5436f9cbff6df1f88e097ccla
          description: The unique ID of a consumer credit line application.
        annual_percentage_rate:
          type: number
          example: 0.11
          description: The annual interest rate applied to the credit line.
        active_loans:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                example: e0167a47f385443a835050d1d9274b45cloa
                description: The unique ID of a loan.
          description: >-
            An array containing the details of all active loans related to the
            customer's credit line.
        account_id:
          type: string
          nullable: true
          example: adc123a45d6d7cf8fbfeed537ba919d5cacc
          description: The unique ID of the customer's Solaris account.
        account_iban:
          type: string
          nullable: true
          example: DE25110101002910133758
          description: The IBAN of the customer's account.
    ConsumerCreditLine.V1.ListCreditLineItem:
      type: object
      title: ConsumerCreditLine.V1.ListCreditLineItem
      required:
        - id
        - limit
        - person_id
        - status
      properties:
        status:
          type: string
          example: open
          enum:
            - authorization_pending,
            - account_creation_pending
            - mandate_creation_pending
            - open
            - closed
          description: The status of the credit line.
        person_id:
          type: string
          example: dc1a6812a14f6cc338cd084208535bcdcper
          description: The person ID of the customer who has the credit line.
        limit:
          type: object
          oneOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
          description: The limit of the credit line.
        id:
          type: string
          example: 1908331fb8384edcbfe63067366c4b6accln
          description: >-
            The unique ID of a credit line, generated after a credit line is
            created.
        granted_at:
          type: string
          nullable: true
          format: datetime
          example: '2022-02-07T11:57:42Z'
          description: The timestamp from when the credit line was granted to the customer.
      additionalProperties: false
    ConsumerCreditLine.V1.ListCreditLinesResponse:
      type: array
      title: ConsumerCreditLine.V1.ListCreditLinesResponse
      items:
        $ref: '#/components/schemas/ConsumerCreditLine.V1.ListCreditLineItem'
    ConsumerCreditLineWeb.CalculateAvailableInstallmentPlanRequest:
      type: object
      title: ConsumerCreditLineWeb.CalculateAvailableInstallmentPlanRequest
      required:
        - amount
      properties:
        loan_type:
          type: string
          nullable: true
          enum:
            - bullet
            - installment_plan
          description: The loan type, which defines your product category.
          default: installment_plan
          example: installment_plan
        interest_rate:
          type: number
          nullable: true
          format: float
          example: 0.11
          description: The interest rate to apply to the installment loan.
        bullet_loan_repayment_date:
          type: string
          nullable: true
          format: date
          description: The repayment date of the bullet loan.
          example: '2022-06-22'
        amount:
          type: object
          description: The requested amount for which the installment plan is created.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
            - type: object
              properties:
                value:
                  type: integer
                  minimum: 1
                  description: The amount value.
      description: The criteria for calculating the available installment plans
    ConsumerCreditLineWeb.CreateLoanRequest:
      type: object
      title: ConsumerCreditLineWeb.CreateLoanRequest
      required:
        - amount
        - reference
        - purpose
      properties:
        type:
          type: string
          enum:
            - bullet
            - installment_plan
          description: The type of the loan.
          default: installment_plan
          example: installment_plan
        term:
          type: integer
          nullable: true
          example: 6
          description: The number of months over which the loan will be repaid.
        reference:
          type: string
          description: The reference number you internally assigned for the loan.
          example: ABH244919
        purpose:
          type: string
          maxLength: 255
          description: The purpose of the loan.
          example: Buying an iphone
        interest_rate:
          type: number
          nullable: true
          format: float
          example: 0.11
          description: The interest rate applied to the loan.
        bullet_repayment_date:
          type: string
          nullable: true
          format: date
          description: The repayment date of the bullet loan.
          example: '2023-06-30'
        amount:
          description: The loan amount.
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
      description: Allow creating a valid loan for credit lines
    ConsumerCreditLineWeb.CreateLoanResponse:
      type: object
      title: ConsumerCreditLineWeb.CreateLoanResponse
      properties:
        type:
          type: string
          example: installment_plan
          enum:
            - bullet
            - installment_plan
          description: The type of the loan.
        status:
          type: string
          example: payout_pending
          enum:
            - payout_pending
            - payout_triggered
            - created
            - repaid
          description: The status of the loan.
        interest_rate:
          type: number
          example: 0.11
          description: >-
            The interest rate to apply to the loan. Only to be used if a special
            interest rate should apply.
        id:
          type: string
          example: f8930e8d3dfa48e4a898d7a97c0d78b4cloa
          description: The unique ID of a loan, generated after creating a loan.
        effective_interest_rate:
          type: number
          example: 0.0111
          description: The effective interest rate to apply to the loan.
        bullet_repayment_date:
          type: string
          nullable: true
          format: date
          example: '2001-01-01'
          description: The repayment date of the bullet loan.
    ConsumerCreditLineWeb.UpdateReferenceAccountRequest:
      type: object
      title: ConsumerCreditLineWeb.UpdateReferenceAccountRequest
      required:
        - iban
        - mandate_number
        - mandate_signature_date
      properties:
        name:
          type: string
          nullable: true
          maxLength: 255
          description: The name of the account holder.
          example: Lisa Hermann
        mandate_signature_date:
          type: string
          format: date
          example: '2022-02-07'
          description: The date on which the mandate was signed.
        mandate_number:
          type: string
          maxLength: 255
          example: LUUJZMGP2IWIIE
          description: The mandate number.
        iban:
          type: string
          maxLength: 34
          example: DE87110101001000057123
          description: >-
            The IBAN of the external reference account to be linked to the
            credit line.
    ConsumerCreditLineWeb.UpdatePayoutAccountRequest:
      type: object
      title: ConsumerCreditLineWeb.UpdatePayoutAccountRequest
      required:
        - account_id
      properties:
        account_id:
          type: string
          example: adc123a45d6d7cf8fbfeed537ba919d5cacc
          description: >-
            The customer's internal bank account ID to be linked to the credit
            line.
    ConsumerCreditLineWeb.DownloadAnnualAccountStatementResponse:
      type: string
      title: ConsumerCreditLineWeb.DownloadAnnualAccountStatementResponse
      format: binary
    ConsumerCreditLineWeb.DownloadClosingAccountStatementResponse:
      type: string
      title: ConsumerCreditLineWeb.DownloadClosingAccountStatementResponse
      format: binary
    ConsumerCreditLineWeb.CustomerNotifiedOperationRequest:
      type: object
      title: ConsumerCreditLineWeb.CustomerNotifiedOperationRequest
      required:
        - notification_sent_date
      properties:
        notification_sent_date:
          type: string
          description: The date the renewal notification was sent to the customer.
          format: date
          example: '2022-02-25'
    FreelancerCreditLineWeb.AnonymousInstallmentPlansRequest:
      description: Anonymous installment plans params
      properties:
        amount:
          example:
            currency: EUR
            unit: cents
            value: 100000
          properties:
            currency:
              description: The currency of the given value
              type: string
            unit:
              description: The unit of the given value
              enum:
                - cents
              type: string
            value:
              description: The amount value
              minimum: 1
              type: integer
          required:
            - value
            - currency
            - unit
          type: object
        interest_rate:
          description: >-
            The interest rate applicable on the credit line. This rate is fixed
            for each partner depending on contractual and commercial agreements
            with Solaris.
          example: 1
          format: float
          nullable: true
          type: number
        loan_type:
          default: installment_plan
          description: Loan type which defines partner's product category
          enum:
            - installment_plan
            - bullet
          nullable: true
          type: string
      required:
        - amount
      title: FreelancerCreditLineWeb.AnonymousInstallmentPlansRequest
      type: object
    FreelancerCreditLineWeb.CreditLines.InstallmentPlans.Item:
      properties:
        effective_interest_rate:
          description: The effective interest rate on the credit line charged monthly.
          example: 3
          type: number
        interest_rate:
          description: >-
            The interest rate applicable on the credit line. This rate is fixed
            for each partner depending on contractual and commercial agreements
            with Solaris.
          example: 1
          type: number
        monthly_installment:
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
          description: The monthly installment amount.
        term:
          description: The duration of the installment loan.
          example: 3
          type: integer
        total:
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
          description: The total amount due.
      required:
        - term
        - monthly_installment
        - total
        - interest_rate
        - effective_interest_rate
      title: FreelancerCreditLineWeb.CreditLines.InstallmentPlans.Item
      type: object
    FreelancerCreditLineWeb.CreditLines.InstallmentPlans.IndexResponse:
      properties:
        installment_plans:
          items:
            $ref: >-
              #/components/schemas/FreelancerCreditLineWeb.CreditLines.InstallmentPlans.Item
          type: array
      required:
        - installment_plans
      title: FreelancerCreditLineWeb.CreditLines.InstallmentPlans.IndexResponse
      type: object
    FreelancerCreditLineWeb.CreateApplicationRequest:
      properties:
        annual_turnover:
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
          description: >-
            The total annual income generated by the freelancer's business
            before deducting any expenses.
        corporate_name:
          description: The corporate name of the freelancer's business.
          type: string
        foundation_date:
          description: The date on which the freelancer's business was founded.
          example: '2019-08-24'
          format: date
          type: string
        legal_form:
          description: The legal form of the freelancer's business.
          enum:
            - FREE_OCCUPATION
            - COMMERCIAL_ENTERPRISE
            - OTHER
          example: FREE_OCCUPATION
          type: string
        monthly_net_profit:
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
          description: >-
            The monthly net profit generated by the freelancer's business after
            deducting all recurring business expenses.
        monthly_non_mortgage_credit_expense:
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
          description: >-
            The total monthly amount of credit expenses incurred by the
            freelancer, excluding mortgage-related expenses.
        monthly_private_fixed_cost:
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
          description: >-
            The total monthly amount of private fixed costs for the freelancer.
            Private costs include expenses not related to the business
            activities, such as rent or health insurance.
        pre_selected_by_partner:
          default: false
          description: >-
            Value to be set when customer is pre selected by own risk
            assessment.
          type: boolean
        recipient_iban:
          description: The IBAN of the beneficiary's account.
          example: DE13110101014386274299
          type: string
        tax_id:
          description: The tax ID associated with the freelancer's legal entity.
          example: '3012034567890'
          type: string
      required:
        - recipient_iban
        - annual_turnover
        - monthly_net_profit
        - monthly_private_fixed_cost
        - monthly_non_mortgage_credit_expense
        - legal_form
        - foundation_date
        - corporate_name
        - tax_id
      title: FreelancerCreditLineWeb.CreateApplicationRequest
      type: object
    FreelancerCreditLineWeb.GetApplicationResponse:
      properties:
        credit_line_id:
          description: The unique ID of a credit line.
          example: c5f22b00baa845869ceb3a7d90d59bffccln
          nullable: true
          type: string
        decision:
          description: Solaris' decision on the credit line request.
          enum:
            - OFFERED
            - PENDING
            - REJECTED
          example: REJECTED
          type: string
        id:
          description: The unique ID of a freelancer credit line application.
          example: 7d903b7483294e3b902b89097d699dbdccla
          type: string
        identification_id:
          description: >-
            The unique identification ID of a freelancer, generated after
            completing the freelancer identification process.
          example: 51462340e8653f8e2864801e8ebb4131cidt
          nullable: true
          type: string
        mandate_reference_number:
          description: The reference number of the mandate applicable on the credit line.
          example: LXD3RGLRTP6HHM
          nullable: true
          type: string
        net_disposable_income:
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
          description: >-
            The net disposable income amount available after deducting taxes and
            all other expenses.
          nullable: true
          title: SolarisToolkit.Web.Money.Optional
          type: object
        offered_interest_rate:
          description: Solaris' offered interest rate on the installment loan.
          example: 0.11
          nullable: true
          type: number
        offered_limit:
          allOf:
            - $ref: '#/components/schemas/SolarisToolkit.Web.Money'
          description: The amount of the credit line limit offered to the freelancer.
          nullable: true
          title: SolarisToolkit.Web.Money.Optional
          type: object
        person_id:
          description: >-
            The unique person ID, generated after completing the person
            onboarding process.
          example: ad8f5cefdc73035f17973fecb4fa2ebccper
          type: string
        reason:
          description: Solaris' decision on the credit line request.
          nullable: true
          type: string
        recipient_iban:
          description: The IBAN of the beneficiary's account.
          example: DE13110101014386274299
          nullable: true
          type: string
        status:
          description: The status of the credit line application.
          enum:
            - credit_record_pending
            - initial_scoring_pending
            - account_snapshot_pending
            - account_snapshot_verification_pending
            - offered
            - identification_creation_pending
            - identification_pending
            - identification_completed
            - rejected
            - expired
            - credit_line_creation_pending
            - credit_line_created
          example: rejected
          type: string
        status_description:
          description: The description of the credit line application's status.
          example: Rejected by Scorer
          nullable: true
          type: string
      required:
        - id
        - decision
        - status
      title: FreelancerCreditLineWeb.GetApplicationResponse
      type: object
    FreelancerCreditLineWeb.LinkCreditRecordRequest:
      properties:
        credit_record_id:
          description: >-
            The unique ID of a credit record, generated after creating a
            freelancer credit record.
          example: fbb7d15fa4c54ba0b077592665ef04a4ccrd
          type: string
      required:
        - credit_record_id
      title: FreelancerCreditLineWeb.LinkCreditRecordRequest
      type: object
    FreelancerCreditLineWeb.LinkAccountSnapshotRequest:
      properties:
        account_snapshot_id:
          description: The unique ID of a customer account snapshot.
          example: 0a3f28733f9a4842842aae2804f80eb4snap
          type: string
      required:
        - account_snapshot_id
      title: FreelancerCreditLineWeb.LinkAccountSnapshotRequest
      type: object
