Oper Credits Webhooks API

Your Webhooks tag description

OpenAPI Specification

oper-credits-webhooks-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Oper Credits Agent Documents Webhooks API
  version: ''
  description: Your Webhooks tag description
tags:
- name: Webhooks
  description: Your Webhooks tag description
paths:
  /your-webhook-endpoint:
    post:
      tags:
      - Webhooks
      summary: Your endpoint implementation for handling Oper Connect's webhooks
      description: This path represents the path to your API implementation of the end point that is configured in Oper Connect. It describes what Oper Connect will send to your endpoint, and what it expects in response.
      requestBody:
        description: Post information about the loan request
        content:
          application/json:
            schema:
              discriminator:
                propertyName: payload_type
                mapping:
                  loan_request: '#/components/schemas/LoanRequestEvent'
                  loan_request_data_connection: '#/components/schemas/LoanRequestDataConnectionEvent'
                  client_onboarding: '#/components/schemas/ClientOnboardingEvent'
                  realty_valuation: '#/components/schemas/RealtyValuationEvent'
                  loan_request_status: '#/components/schemas/LoanRequestStatusEvent'
                  insurance_simulation: '#/components/schemas/InsuranceSimulationEvent'
              oneOf:
              - $ref: '#/components/schemas/LoanRequestEvent'
              - $ref: '#/components/schemas/LoanRequestDataConnectionEvent'
              - $ref: '#/components/schemas/ClientOnboardingEvent'
              - $ref: '#/components/schemas/RealtyValuationEvent'
              - $ref: '#/components/schemas/LoanRequestStatusEvent'
              - $ref: '#/components/schemas/InsuranceSimulationEvent'
        required: true
      responses:
        '201':
          description: created
        '202':
          description: Updated
        '400':
          description: Generic error
        '422':
          description: Invalid input
components:
  schemas:
    SourceType:
      type: object
      properties:
        id:
          type: integer
          description: Unique identifier of the source type.
        definition:
          type: string
          description: Description of the source type.
        order:
          type: integer
          nullable: true
          description: Optional order of the type.
      required:
      - id
      - definition
    Liability:
      type: object
      discriminator:
        propertyName: liability_type
        mapping:
          rent: '#/components/schemas/RentalLiability'
          alimony: '#/components/schemas/AlimonyLiability'
          additional_liabilities: '#/components/schemas/OtherLiability'
          general_credit_expense: '#/components/schemas/CreditLiability'
          consumer_loan_immovable: '#/components/schemas/CreditLiability'
          consumer_loan_movable: '#/components/schemas/CreditLiability'
          mortgage_immovable: '#/components/schemas/CreditLiability'
          mortgage_movable: '#/components/schemas/CreditLiability'
          purchase_credit: '#/components/schemas/CreditLiability'
          credit_expense: '#/components/schemas/CreditLiability'
          credit_card: '#/components/schemas/CreditLiability'
          credit_line: '#/components/schemas/CreditLiability'
          leasing: '#/components/schemas/CreditLiability'
      properties:
        liability_type:
          type:
          - string
          - 'null'
          description: The type of liability.
        oper_reference:
          type:
          - string
          description: Oper reference
          examples:
          - 092117b8-8c7e-4fd8-827c-cbadc3b037b9
        id:
          type: integer
          description: Oper Liability ID
          examples:
          - 1
          - 123
        amount:
          type:
          - number
          - 'null'
          format: valuta
          description: The amount of the liability based upon the defined periodicity.
          example: 1234.56
        periodicity:
          type:
          - string
          - 'null'
          description: The periodicity to which the liability is being paid or calculated
          enum:
          - null
          - yearly
          - semestrial
          - quarterly
          - monthly
          - one_shot
      required:
      - oper_reference
      - id
      - liability_type
      - amount
      - periodicity
    DocumentDescription:
      allOf:
      - $ref: '#/components/schemas/DocumentDescriptionBase'
      unevaluatedProperties: false
    NewDataInsuranceSimulation:
      type: object
      properties:
        loan_request:
          $ref: '#/components/schemas/LoanRequestInsuranceSimulation'
        insurance_simulation:
          $ref: '#/components/schemas/InsuranceSimulation'
        action:
          type: string
          description: Action that triggered the webhook
          enum:
          - updated
      required:
      - action
      - loan_request
      - insurance_simulation
      additionalProperties: false
    SourceComparison:
      type: object
      properties:
        source_data_id:
          type: integer
          description: ID of the source data record.
        source_data_field_id:
          type: integer
          description: ID of the source data field.
        document_proof_object_id:
          type:
          - integer
          - 'null'
          description: ID of the document proof object.
        ai_verification_id:
          type:
          - integer
          - 'null'
          description: ID of the AI verification.
        source_value:
          type: string
          description: Value extracted from the source.
        status:
          type: string
          description: Comparison status.
      required:
      - source_data_id
      - source_data_field_id
      - source_value
      - status
    APUser:
      type:
      - object
      - 'null'
      properties:
        oper_reference:
          type:
          - string
          description: Oper reference
          examples:
          - 092117b8-8c7e-4fd8-827c-cbadc3b037b9
        first_name:
          type:
          - string
          - 'null'
          description: The first name (i.e. surname) of the advisor.
          example: John
        middle_name:
          type:
          - string
          - 'null'
          description: The middle name of the advisor.
          example: Mary
        last_name:
          type:
          - string
          - 'null'
          description: The last name (i.e. family name) of the advisor.
          example: Doe
        mother_maiden_name:
          type:
          - string
          - 'null'
          description: The mother's maiden name of the advisor.
          example: Jane
        birth_date:
          type:
          - string
          - 'null'
          format: date
          description: The birth date of the advisor.
        birth_city:
          type:
          - string
          - 'null'
          description: The city of birth of the advisor.
          example: Brussels
        language:
          type:
          - string
          - 'null'
          enum:
          - null
          - nl-BE
          - fr-BE
          - en-UK
          - de-CH
          - it-CH
          description: The preferred language of the advisor, which is also the language in which the Oper platform appears to the advisor after log-in.
        role:
          type:
          - string
          - 'null'
          description: The role of the advisor within its company.
          enum:
          - null
          - decider
          - account_manager
          - broker_manager
          - analyst
          - broker
          - upload
          - senior_decider
          - head_decider
          - operations_manager
          - client
        external_reference:
          type:
          - string
          - 'null'
          example: 211698
          description: External reference of the advisor.
        lender_identifier:
          type:
          - string
          - 'null'
          example: '12345678'
          description: The advisor's identifier at the lender (credit provider) associated with the loan request. Sourced from the advisor's per-lender bank ID configuration.
        is_available:
          type:
          - boolean
          - 'null'
          example: true
          description: Whether the user has marked themselves as available. Defaults to true.
        emails:
          type: array
          items:
            $ref: '#/components/schemas/Email'
        phones:
          type: array
          items:
            $ref: '#/components/schemas/PhoneNumber'
      required:
      - oper_reference
      - first_name
      - middle_name
      - last_name
      - mother_maiden_name
      - birth_date
      - birth_city
      - emails
      - language
      - role
      additionalProperties: false
    ObjectComparison:
      type: object
      properties:
        model_name:
          type: string
          description: Name of the compared model.
        object_id:
          type: integer
          description: ID of the compared object.
        fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldComparison'
      required:
      - model_name
      - object_id
      - fields
    FinancialPlan:
      type:
      - object
      - 'null'
      properties:
        cost:
          $ref: '#/components/schemas/Cost'
        investment:
          $ref: '#/components/schemas/Investment'
        financing:
          $ref: '#/components/schemas/Financing'
      required:
      - cost
      - investment
      - financing
      additionalProperties: false
    Cost:
      type:
      - object
      - 'null'
      properties:
        amount_incl_vat:
          type:
          - number
          - 'null'
          format: valuta
          example: 10.0
        amount_excl_vat:
          type:
          - number
          - 'null'
          format: valuta
          example: 80.0
        amount_vat:
          type:
          - number
          - 'null'
          format: valuta
          example: 2.0
        amount_aprc_costs_incl_vat:
          type:
          - number
          - 'null'
          format: valuta
          description: All costs (incl. VAT) that are included in the APRC calculation.
          example: 3.5
        cost_items:
          type: array
          items:
            $ref: '#/components/schemas/CostItem'
      required:
      - amount_incl_vat
      - amount_excl_vat
      - amount_vat
      - amount_aprc_costs_incl_vat
      - cost_items
      additionalProperties: false
    QualityAdjustment:
      type: object
      properties:
        name:
          type: string
          description: The name of the quality adjustment applied, values depend on the tenant
        interest_rate:
          type: number
          description: Interest rate related to the quality adjustment of the offer item
          examples:
          - -0.001
      required:
      - name
      - interest_rate
    Insurance:
      type:
      - object
      - 'null'
      properties:
        oper_reference:
          type:
          - string
          description: Oper reference
          examples:
          - 092117b8-8c7e-4fd8-827c-cbadc3b037b9
        id:
          type: integer
          description: Oper Insurance ID
          examples:
          - 1
          - 123
        amount:
          type:
          - number
          - 'null'
          format: valuta
          description: The insured amount.
          example: 85000.0
        periodicity:
          type:
          - string
          - 'null'
          description: The periodicity of the insurance payment
          enum:
          - null
          - monthly
          - yearly
          - one_shot
          - quarterly
          - semestrial
        premium:
          type:
          - number
          - 'null'
          format: valuta
          description: The premium to pay for the insurance
          example: 5200.0
        policy_number:
          type:
          - string
          - 'null'
          description: The number of the contract at the insurer company for the insurance in question
          example: 345345345
        insurance_provider:
          allOf:
          - $ref: '#/components/schemas/Company'
          - type: object
            properties:
              external_reference:
                type:
                - string
                - 'null'
                example: '1234456'
                description: Partner Insurance Provider ID
      required:
      - oper_reference
      - id
      - insurance_provider
      - amount
      - periodicity
      - premium
      - policy_number
    Property:
      type:
      - object
      - 'null'
      properties:
        oper_reference:
          type:
          - string
          description: Oper reference
          examples:
          - 092117b8-8c7e-4fd8-827c-cbadc3b037b9
        id:
          type: integer
          description: Oper Property ID
          examples:
          - 1
          - 123
        acquisition_source:
          type:
          - string
          - 'null'
          description: How the property was acquired.
          enum:
          - null
          - buy_out
          - definitive_allocation
          - gift
          - heritage
          - other
          - purchase
        property_type:
          type:
          - string
          - 'null'
          description: The type of building that the property represents.
          enum:
          - null
          - terraced_house
          - investment_property
          - natural_reserve
          - warehouse
          - studio
          - villa
          - mixed_building
          - apartment_complex
          - agricultural_land
          - house
          - construction_land
          - apartment
          - chalet_no_domicile
          - other
          - chalet
        is_main_first_residence:
          type: boolean
          description: If the property is a main first residence or not.
        condition_of_property:
          type:
          - string
          - 'null'
          description: In which condition the property is.
          enum:
          - null
          - renovated
          - run_down
          - to_be_demolished
          - in_good_condition
          - medium_condition
          - like_new
          - new_build
        building_permit:
          type: boolean
          description: Whether a building permit has been obtained for the property.
        building_year:
          type:
          - number
          - 'null'
          format: integer
          description: The building year of the property.
        land_register:
          type:
          - string
          - 'null'
          description: The reference of the property in the land register.
        district_court:
          type:
          - string
          - 'null'
          description: Which district court the property belongs to.
        plot_number:
          type:
          - string
          - 'null'
          description: Which plot number the property has.
        property_number:
          type:
          - string
          - 'null'
          description: The property number.
        cadastral_location:
          type:
          - string
          - 'null'
          description: The cadastral location of the property.
        surface_area:
          type:
          - number
          - 'null'
          description: The surface area of the property in square meters.
        number_of_rooms:
          type:
          - number
          - 'null'
          description: The number of rooms in the property.
        housing_units:
          type:
          - number
          - 'null'
          description: The number of housing units in the property.
        epc_before_renovation:
          type:
          - integer
          - 'null'
          description: The EPC-value of the property before renovation.
        epc_after_renovation:
          type:
          - integer
          - 'null'
          description: The EPC-value of the property after renovation.
        energy_rating_before_renovations:
          type:
          - string
          - 'null'
          description: The energy rating of the property before renovation.
          enum:
          - null
          - a3
          - a2
          - a1
          - a0
          - b
          - c
          - d
        energy_rating_after_renovations:
          type:
          - string
          - 'null'
          description: The energy rating of the property after renovation.
          enum:
          - null
          - a3
          - a2
          - a1
          - a0
          - b
          - c
          - d
        comfort_type:
          type:
          - string
          - 'null'
          description: The comfort type classification of the property.
          enum:
          - null
          - comfortable
          - semi_comfortable
          - without_comfortable
          - all_comfort
          - double_comfort
          - emergency_housing
        energy_demand_before_renovations:
          type:
          - integer
          - 'null'
          description: The energy demand of the property before renovation.
          minimum: 0
        energy_demand_after_renovations:
          type:
          - integer
          - 'null'
          description: The energy demand of the property after renovation.
          minimum: 0
        epc_contract_number:
          type:
          - string
          - 'null'
          description: The number of the contract stating the EPC values.
        epc_date:
          type:
          - string
          - 'null'
          format: date
          description: The date on which the EPC has been defined.
        epc_date_valid_until:
          type:
          - string
          - 'null'
          format: date
          description: The date on which the EPC certificate expires.
        epc_missing_reason:
          type:
          - string
          - 'null'
          description: The reason why an EPC certificate is missing from the loan request.
        e_level:
          type:
          - number
          - 'null'
          format: integer
          description: The E-level of the property.
        has_energetic_renovation:
          type: boolean
          description: If any energetic renovation has taken place.
        has_small_cadastral_income:
          type: boolean
          description: If the property has a small cadastral income.
        has_lift:
          type: boolean
          description: If the property contains a lift.
        cadastral_income:
          type:
          - number
          - 'null'
          format: valuta
          description: Cadastral income of the property
        price:
          type:
          - number
          - 'null'
          format: valuta
          description: The actual price of the property.
        price_building:
          type:
          - number
          - 'null'
          format: valuta
          description: The price of building a new property. This datapoint is necessary only when building a new property from scratch.
        price_land_purchase:
          type:
          - number
          - 'null'
          format: valuta
          description: The price of the land to be bought. This datapoint is most often used when wanting to build a new property on land to buy.
        fair_value:
          type:
          - number
          - 'null'
          format: valuta
          description: The fair value of the property.
        fair_value_after_renovation:
          type:
          - number
          - 'null'
          format: valuta
          description: The fair value of the renovated property.
        forced_sale_value_before_renovation:
          type:
          - number
          - 'null'
          format: valuta
          description: The forced sale fair value of the property before renovation.
        forced_sale_value_after_renovation:
          type:
          - number
          - 'null'
          format: valuta
          description: The forced sale fair value of the property.
        reference_value:
          type:
          - number
          - 'null'
          format: valuta
          description: Reference value of the property.
        is_reference_value_overridden:
          type: boolean
          description: True if the reference value was overridden by the user.
        pro_fisco_value:
          type:
          - number
          - 'null'
          format: valuta
          description: Pro fisco value of the property.
        acquisition_type:
          type:
          - string
          - 'null'
          description: The way the property was acquired.
          enum:
          - null
          - other
          - Definitive allocation
          - heritage
          - buy out
          - purchase
          - gift
        living_percentage:
          type:
          - number
          - 'null'
          format: percentage
          description: The percentage of the property that is attributed to living, compared to the share of the property that is attributed to another purpose (such as commercial use).
        architect_fees:
          type:
          - number
          - 'null'
          format: valuta
          description: The amount of the architect fees for new build.
        purchase_sale_type:
          type:
          - string
          - 'null'
          description: Type of the sale when purchasing realty.
          enum:
          - null
          - private_sale
          - public_auction
          - vat_regime
        realty_valuation_type:
          type:
          - string
          - 'null'
          description: Type of the realty valuation.
          enum:
          - desktop
          - onsite
        land_purchase_type:
          type:
          - string
          - 'null'
          description: Type of the land purchase.
          enum:
          - null
          - registration
          - under_vat_regime
        estimation_expiration_date:
          type:
          - string
          - 'null'
          format: date
          description: The expiration date of the valuation.
        total_parcel_area:
          type:
          - number
          - 'null'
          format: decimal
          description: The total surface of the parcel.
        living_area:
          type:
          - number
          - 'null'
          format: decimal
          description: The surface that serves as a living area.
        commercial_area:
          type:
          - number
          - 'null'
          format: decimal
          description: The surface that serves as a commercial area.
        flood_risk:
          type:
          - string
          - 'null'
          description: The risk level of flooding.
          enum:
          - null
          - low
          - medium
          - high
        nearest_flood_zone:
          type:
          - number
          - 'null'
          format: decimal
          description: The distance from parcel to the nearest flood zone, expressed in m.
        mobi_score:
          type:
          - number
          - 'null'
          format: decimal
          description: The Mobiscore indicates the environmental impact for trips from your home to the nearest point of interest, e.g. school, public transport...
          minimum: 0
          maximum: 10
          multipleOf: 0.1
        co2_emission_per_year:
          type:
          - number
          - 'null'
          format: decimal
          description: The CO² emission of the property in kg.
        address:
          $ref: '#/components/schemas/Address'
        fire_insurance:
          $ref: '#/components/schemas/FireInsurance'
        valuation:
          $ref: '#/components/schemas/Valuation'
        features:
          type: array
          description: Property features attached to the realty.
          items:
            type:
            - string
            enum:
            - null
            - lift
            - basement
            - balcony
            - garage
            - loggia
            - attic
            - terrace
            - pool
        usage_types:
          type: array
          description: What the property will be used for once inhabited.
          items:
            type:
            - string
            enum:
            - null
            - co_living_inclusion
            - investment_property
            - co_living
            - other
            - private_rent
            - professional_rent
            - second_stay
            - living
            - commercial
        purposes:
          type: array
          description: The purpose of the property in the loan request.
          items:
            type:
            - string
            enum:
            - null
            - buy
            - refinance
            - collateral
            - buy_out
            - renovate
            - build
            - sell
        participant_authorization:
          type:
          - string
          - 'null'
          description: The participant authorization status for the property.
        community_property_involvement:
          type:
          - string
          - 'null'
          description: Whether community property is involved for the property.
          enum:
          - null
          - 'yes'
          - 'no'
          - no_but_agreement_exists
        renovations:
          type: array
          items:
            $ref: '#/components/schemas/Renovation'
        mortgage_ranks:
          type: array
          items:
            $ref: '#/components/schemas/MortgageRank'
        ownership_scheme:
          type: array
          items:
            $ref: '#/components/schemas/Ownership'
      required:
      - oper_reference
      - id
      - purposes
      - property_type
      - usage_types
      - is_main_first_residence
      - condition_of_property
      - building_year
      - land_register
      - district_court
      - plot_number
      - property_number
      - cadastral_location
      - surface_area
      - number_of_rooms
      - epc_before_renovation
      - epc_after_renovation
      - epc_contract_number
      - epc_date
      - e_level
      - has_energetic_renovation
      - has_small_cadastral_income
      - has_lift
      - price
      - architect_fees
      - purchase_sale_type
      - land_purchase_type
      - address
      - renovations
      - mortgage_ranks
      - ownership_scheme
      additionalProperties: false
    OfferItem:
      type: object
      properties:
        oper_reference:
          type:
          - string
          description: Oper reference
          examples:
          - 092117b8-8c7e-4fd8-827c-cbadc3b037b9
        external_reference_base_product:
          type:
          - string
          description: External reference
        end_payment:
          type:
          - number
          - 'null'
          format: valuta
          description: Last monthly installment of the offer item.
          example: 890.0
        monthly_installment:
          type:
          - number
          - 'null'
          format: valuta
          description: First monthly installment of the offer item.
          example: 750.0
        aprc:
          type:
          - number
          - 'null'
          format: percentage
          description: APRC related to the offer item.
          example: 0.0394
        max_aprc:
          type:
          - number
          - 'null'
          format: percentage
          description: The APRC based upon the max interest rate in case of a variable interest rate.
          example: 0.049
        base_rate:
          type:
          - number
          - 'null'
          format: percentage
          description: Base interest rate related to the offer item, not taking into account any add-ons/quality adjustments.
          example: 0.034
        delta_adjustment:
          type:
          - number
          - 'null'
          format: percentage
          description: Computes the manual correction (delta) between the final rate and the expected rate (base + quality + conditional adjustments)
          example: 0.04
        applied_add_ons_rate:
          type:
          - number
          - 'null'
          format: percentage
          description: Sum of the interest rate of all add-ons of the offer item.
          example: -0.005
        adjusted_rate:
          type:
          - number
          - 'null'
          format: percentage
          description: Sum of base rate and quality adjustments.
          example: 0.036
        final_rate:
          type:
          - number
          - 'null'
          format: percentage
          description: Interest rate related to the offer item.
          example: 0.036
        amount:
          type:
          - number
          - 'null'
          format: valuta
          description: Amount allocated to the offer item.
          example: 456000.0
        duration:
          type:
          - number
          - 'null'
          format: integer
          description: Duration of the offer item. (In months)
          example: 240
        financed_items:
          type: array
          items:
            oneOf:
            - $ref: '#/components/schemas/PropertyFinancedItem'
            - $ref: '#/components/schemas/CreditFinancedItem'
          description: A list of items (realty/credit) that are going to be financed
        tax_deductability:
          type: boolean
          description: Indicates whether the credit qualifies for tax deducibility.
          example: true
        waive_early_repayment_fee:
          type: boolean
          description: Indicates whether the early repayment fee is waived.
          example: true
        attestation_amount:
          type:
          - number
          - 'null'
          format: valuta
          description: Registration amount that qualifies for tax deducibility.
        deductable_amount:
          type:
          - number
          - 'null'
          format: valuta
          description: Actual fiscal deductible amount of the credit.
        fiscal_purpose_type:
          type:
          - string
          - 'null'
          description: The fiscal purpose of the credit.
          enum:
          - purchase_residential_property
          - other_purpose
          - home_construction
          - inheritance_donation_rights
          - conversion_of_og_into_residential
          - loan_repayment
          - home_renovation
          - renovation
        grace_period_applicable:
          type: boolean
          description: Indicates whether a grace period is applicable.
          example: true
        payout_at_deed:
          type:
          - number
          - 'null'
          format: valuta
          description: Amount that has to be paid to the notary at deed date.
        drawdown:
          type:
          - number
          - 'null'
          format: valuta
          description: The amount of the credit that can be drawn down later in case of renovation or new construction.
        variability:
          type:
          - string
          - 'null'
          description: Variability of the offer item.
          enum:
          - null
          - 10-10-cap+2/-5
          - 20-5-5
          - 20-fix
          - 10-5-5-cap3
          - 16-5-5
          - 20-5
          - 10-5-5
          - 13-1-1-cap3
          - 10-3-3
          - 20-5-5-cap3
          - 5-5-5-cap3
          - 20-3-3
          - 15-3-3
          - 13-5-5
          - 6-1-1-cap3
          - 20-1-1-cap3
          - 3-3-3-cap2
          - 5-5-5
          - 1-1-1-cap4
          - 5-5-5-cap2
          - 5-5-5-cap5
          - 10-5-5-cap5
          - 10-5-5-cap+2/-5
          - 3-3-3-cap5
          - 15-5-5-cap+2/-5
          - fix
          - 1-1-1-cap3
          - 1-1-1-acc
          - 10-5-5-cap2
          - 5-5-5-cap4
          - 1-1-1
          - 3-3-3
          - 15-5-5-cap5
          - 12-5-5-cap3
          - 15-5-5-cap3
        product:
          type:
          - string
          - 'null'
          description: Product name allocated to the offer item.
          example: Variable Mortgage Credit
        loan_type:
          type:
          - string
          - 'null'
          description: Loan type relating to the offer item.
          enum:
          - null
          - mensuality
          - bridge_loan
          - crescendo
          - balloon_credit
          - balloon_credit_no_payment
          -

# --- truncated at 32 KB (139 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/oper-credits/refs/heads/main/openapi/oper-credits-webhooks-api-openapi.yml