Defacto Billing API

The Billing API from Defacto — 4 operation(s) for billing.

Operations 4

GET /bills /bills #
GET /referrer/{referrer_id} /referrer/{referrer_id} #
POST /bill/{bill_id}/sent /bill/{bill_id}/sent #
POST /referrer/{referrer_id}/upload-invoice/{revenue_share_id} /referrer/{referrer_id}/upload-invoice/{revenue_share_id} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/defacto-billing-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

defacto-billing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Defacto Accounting Billing API
  version: v1.0.0
  description: Defacto provides instant, embedded financing for SMBs across Europe. This REST API lets partners onboard borrowers, test eligibility and credit limits, upload business/bank data, create invoices, request and manage loans, handle repayments and recollection, issue and manage credit cards, bill fees, and subscribe to webhooks. Reconstructed by API Evangelist from the per-operation OpenAPI fragments published on Defacto's ReadMe developer portal (developers.getdefacto.com/llms.txt). operationId values are the provider's ReadMe reference slugs; summaries are the reference page titles.
  contact:
    email: contact@getdefacto.com
    url: https://developers.getdefacto.com/
servers:
- url: https://api.getdefacto.com
  description: Production
- url: https://api-sandbox.getdefacto.com
  description: Sandbox
security:
- Bearer: []
tags:
- name: Billing
paths:
  /bills:
    get:
      description: 'List your fees invoices (i.e: your Defacto bill) for the loans you performed on the platform.<br/>By default, this endpoint only returns your own bills, but you may request bills for your own specific borrowers (with a business identifier or ID) depending on your contract type.'
      parameters:
      - description: Returns bills with these ids.
        in: query
        name: bill_id
        required: false
        x-nullable: true
        explode: true
        schema:
          type: array
          items:
            format: uuid
            type: string
          default: null
      - description: Return bills for these business ids.
        in: query
        name: business_id
        required: false
        x-nullable: true
        explode: true
        schema:
          type: array
          items:
            format: uuid
            type: string
          default: null
      - description: Return bills for theses business identifiers, such as its SIREN in France.
        in: query
        name: business_identifier
        required: false
        x-nullable: true
        explode: true
        schema:
          type: array
          items:
            type: string
          default: null
      - description: Pagination cursor from the previous response's next_page field. Omit to get the first page.
        in: query
        name: cursor
        required: false
        x-nullable: true
        schema:
          type: string
          default: null
      - description: Returns bills where end_date field is lower to this date.
        in: query
        name: end_date
        required: false
        x-nullable: true
        schema:
          type: string
          format: date-time
          default: null
      - description: Return light bills.
        in: query
        name: light_bills
        required: false
        x-nullable: true
        schema:
          type: boolean
          default: false
      - description: Maximum number of items to return per page.
        in: query
        name: page_size
        required: false
        schema:
          type: integer
          default: 100
      - description: Returns bills where start_date field is greater or equal to this date.
        in: query
        name: start_date
        required: false
        x-nullable: true
        schema:
          type: string
          format: date-time
          default: null
      - in: query
        name: status
        required: false
        explode: true
        schema:
          type: array
          items:
            enum:
            - PAID
            - SENT_TO_PAYER
            - TO_PAY
            - VALIDATED
            type: string
      responses:
        '200':
          description: ''
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/TypedApiPage10'
      security:
      - Bearer: []
      tags:
      - Billing
      operationId: get_bills
      summary: /bills
  /referrer/{referrer_id}:
    get:
      description: Get referrer details by ID
      parameters:
      - in: path
        name: referrer_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiReferrer'
      security:
      - Bearer: []
      tags:
      - Billing
      operationId: get_referrer-referrer-id
      summary: /referrer/{referrer_id}
  /bill/{bill_id}/sent:
    post:
      description: '

        This endpoint enables you to notify Defacto when you sent the bill for the fees of the loans to your user.

        A bill should be sent to the user only when its status is VALIDATED (see GET /bills endpoint).


        It is very important to use this endpoint so that Defacto can proceed to a recollection process

        that will be fair for our users.


        This endpoint is useful only for partners who send the bill themselves.

        By default the bills are sent the the payers of the fees by Defacto.

        If you need to send them by yourself please get in touch with us.

        '
      parameters:
      - in: path
        name: bill_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/APIBillSentByPartnerRequest'
      responses:
        '204':
          description: ''
          content:
            '*/*':
              schema: {}
      security:
      - Bearer: []
      tags:
      - Billing
      operationId: post_bill-bill-id-sent
      summary: /bill/{bill_id}/sent
  /referrer/{referrer_id}/upload-invoice/{revenue_share_id}:
    post:
      description: Upload revenue share invoice for a referrer and update the related revenue share
      parameters:
      - in: path
        name: referrer_id
        required: true
        schema:
          type: string
      - in: path
        name: revenue_share_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ApiRevenueShare'
      security:
      - Bearer: []
      tags:
      - Billing
      operationId: post_referrer-referrer-id-upload-invoice-revenue-share-id
      summary: /referrer/{referrer_id}/upload-invoice/{revenue_share_id}
components:
  schemas:
    InsuranceRiskMitigator:
      properties:
        delay_to_call_insurance_after_chargeback:
          default: null
          description: Delay in hours before calling the insurance provider after a chargeback. If None, insurance is not called after chargeback.
          type:
          - integer
          - 'null'
        delay_to_call_insurance_on_insolvency_procedure_opening:
          default: null
          description: Delay in hours before calling the insurance provider when an insolvency procedure is opened. If None, insurance is not called on insolvency procedure opening.
          type:
          - integer
          - 'null'
        insurance_provider:
          description: The insurance provider to use for risk mitigation
          enum:
          - ALLIANZ_TRADE
          - CREDIT_360
          - SANDBOX
          type: string
        triggers:
          items:
            enum:
            - BORROWER_DEFAULT
            - BORROWER_INSOLVENCY
            type: string
          type: array
      required:
      - insurance_provider
      - triggers
      type: object
    LoanPaymentIntent:
      properties:
        amount:
          type: integer
        bill_id:
          default: null
          format: uuid
          type:
          - string
          - 'null'
        deposit_id:
          default: null
          format: uuid
          type:
          - string
          - 'null'
        loan_id:
          format: uuid
          type: string
        payment_intent_id:
          format: uuid
          type: string
        payment_type:
          enum:
          - CHANNEL_VERIFICATION
          - CHARGEBACK
          - DEPOSIT_FUNDING
          - DEPOSIT_RELEASE
          - DEPOSIT_WITHDRAWAL
          - EXTRA
          - INTERNAL
          - LENDER_DEBT_RESOLUTION
          - LENDER_PREFUNDING
          - LENDER_REPURCHASE
          - LOAN_PAYMENT
          - LOAN_PURCHASE
          - PAYMENT_PROVIDER_FEES
          - PLATFORM
          - REFUND
          - REPAYMENT_FEES
          - REPAYMENT_FULL
          - REPAYMENT_NOMINAL
          - RETURNED
          - REVENUE_SHARE
          - REVERT
          - SUBSCRIPTION
          type: string
      required:
      - amount
      - loan_id
      - payment_intent_id
      - payment_type
      type: object
    ReferrerConfig:
      properties:
        override_financial_products_ids:
          default: null
          items:
            format: uuid
            type: string
          type:
          - array
          - 'null'
        referral_code:
          description: Main referral code for the referrer
          type: string
        referral_codes:
          description: All list of referral codes ever used by the referrer
          items:
            type: string
          type: array
        referrer_type:
          default: null
          enum:
          - BROKER
          - CORE_POC
          - DISTRIBUTOR
          - LIQUID_BROKERS_CAB
          - LIQUID_BROKER_NETWORK
          - LIQUID_CORPORATE_FINANCE
          - LIQUID_DAF_CONSULTANT
          - LIQUID_EC
          - TECH_HYBRID
          - TECH_LIQUID
          - TECH_PARTNER
          - null
          type:
          - string
          - 'null'
        revenue_share_config:
          allOf:
          - $ref: '#/components/schemas/ReferrerRevenueShareConfig'
          default: null
      required:
      - referral_code
      type: object
    DueInterestXPaymentIntent:
      properties:
        due_interest_id:
          format: uuid
          type: string
        payment_intent_id:
          format: uuid
          type: string
      required:
      - due_interest_id
      - payment_intent_id
      type: object
    DirectDebitConfiguration:
      properties:
        from_account_details_id:
          default: null
          description: Account that gets debited by the SDD. Can only be None when the DepositingRule debits the borrower (the borrower account is then resolved from the loan). Required for SDD rules debiting a fixed counterparty (e.g. partner).
      type: object
    FPUXConfiguration:
      properties:
        aggregation_scenarios:
          default: null
          items:
            $ref: '#/components/schemas/FinancialProductUxAggregationScenarioConfiguration'
          type:
          - array
          - 'null'
        fp_status_on_manual_review_eligibility:
          default: READY
          enum:
          - BLOCKED
          - CHURN
          - CLOSED_BY_USER
          - CREATED
          - CUT
          - DEACTIVATED
          - PENDING_USER_ACTION
          - PRODUCT_DISCONTINUED
          - READY
          - TO_SIGN
          type: string
        loan_request:
          $ref: '#/components/schemas/FPLoanRequestConfiguration'
      type: object
    PaymentXPaymentIntentApi:
      properties:
        amount:
          type: integer
        payment_intent_id:
          format: uuid
          type: string
        payment_type:
          enum:
          - CHANNEL_VERIFICATION
          - CHARGEBACK
          - DEPOSIT_FUNDING
          - DEPOSIT_RELEASE
          - DEPOSIT_WITHDRAWAL
          - EXTRA
          - INTERNAL
          - LENDER_DEBT_RESOLUTION
          - LENDER_PREFUNDING
          - LENDER_REPURCHASE
          - LOAN_PAYMENT
          - LOAN_PURCHASE
          - PAYMENT_PROVIDER_FEES
          - PLATFORM
          - REFUND
          - REPAYMENT_FEES
          - REPAYMENT_FULL
          - REPAYMENT_NOMINAL
          - RETURNED
          - REVENUE_SHARE
          - REVERT
          - SUBSCRIPTION
          type: string
      required:
      - amount
      - payment_intent_id
      - payment_type
      type: object
    BusinessIdentifierRequired:
      properties:
        identifier:
          type: string
        identifier_type:
          enum:
          - belgium_registration_number
          - bsn
          - cif
          - hr_nummer
          - kvk
          - name
          - nif
          - siren
          - siret
          - steuernummer
          - vat_number
          type: string
      required:
      - identifier
      - identifier_type
      type: object
    FinancialProductTcsDocument:
      properties:
        country:
          default: null
          enum:
          - AUT
          - BEL
          - BGR
          - CHE
          - CYP
          - CZE
          - DEU
          - DNK
          - ESP
          - EST
          - FIN
          - FRA
          - GBR
          - GRC
          - GUF
          - HRV
          - HUN
          - IRL
          - ISL
          - ITA
          - LTU
          - LUX
          - LVA
          - MAF
          - MLT
          - NLD
          - POL
          - PRT
          - REU
          - ROU
          - SVK
          - SVN
          - SWE
          - null
          type:
          - string
          - 'null'
        document_url:
          type: string
        is_default:
          default: false
          type: boolean
        language:
          default: null
          type:
          - string
          - 'null'
      required:
      - document_url
      type: object
    APIBillSentByPartnerRequest:
      properties:
        sent_on:
          format: date-time
          type: string
        to_email_addresses:
          items:
            format: email
            type: string
          minItems: 1
          type: array
      required:
      - sent_on
      - to_email_addresses
      type: object
    LoanPaymentApi:
      properties:
        amount:
          type: integer
        deposit_id:
          default: null
        loan_id:
          format: uuid
          type: string
        payment_type:
          enum:
          - CHANNEL_VERIFICATION
          - CHARGEBACK
          - DEPOSIT_FUNDING
          - DEPOSIT_RELEASE
          - DEPOSIT_WITHDRAWAL
          - EXTRA
          - INTERNAL
          - LENDER_DEBT_RESOLUTION
          - LENDER_PREFUNDING
          - LENDER_REPURCHASE
          - LOAN_PAYMENT
          - LOAN_PURCHASE
          - PAYMENT_PROVIDER_FEES
          - PLATFORM
          - REFUND
          - REPAYMENT_FEES
          - REPAYMENT_FULL
          - REPAYMENT_NOMINAL
          - RETURNED
          - REVENUE_SHARE
          - REVERT
          - SUBSCRIPTION
          type: string
      required:
      - amount
      - loan_id
      - payment_type
      type: object
    FinancialProductUxAggregationScenarioConfiguration:
      properties:
        payment_aggregation_scenario:
          default: null
          description: Processing type for aggregation scenario
          enum:
          - MERGE_ONLY
          - NET_THEN_MERGE
          - null
          type:
          - string
          - 'null'
        payment_aggregation_timing:
          default: null
          description: When does the aggregation happens
          enum:
          - DAILY
          - LOAN_SCHEDULE
          - null
          type:
          - string
          - 'null'
        payment_types_to_net_and_merge:
          default: null
          description: If payment_aggregation_scenario is NET_AND_MERGE, this should contain the list of payment types
          items:
            enum:
            - CHANNEL_VERIFICATION
            - CHARGEBACK
            - DEPOSIT_FUNDING
            - DEPOSIT_RELEASE
            - DEPOSIT_WITHDRAWAL
            - EXTRA
            - INTERNAL
            - LENDER_DEBT_RESOLUTION
            - LENDER_PREFUNDING
            - LENDER_REPURCHASE
            - LOAN_PAYMENT
            - LOAN_PURCHASE
            - PAYMENT_PROVIDER_FEES
            - PLATFORM
            - REFUND
            - REPAYMENT_FEES
            - REPAYMENT_FULL
            - REPAYMENT_NOMINAL
            - RETURNED
            - REVENUE_SHARE
            - REVERT
            - SUBSCRIPTION
            type: string
          type:
          - array
          - 'null'
      type: object
    TypedApiPage10:
      properties:
        count:
          type: integer
        data:
          items:
            $ref: '#/components/schemas/APIBill'
          type: array
        next_page:
          default: null
          type:
          - string
          - 'null'
        page_size:
          type: integer
        previous_page:
          default: null
          type:
          - string
          - 'null'
        total:
          default: null
          type:
          - integer
          - 'null'
      required:
      - count
      - page_size
      type: object
    FinancialProductContractTemplate:
      properties:
        country_code:
          type: string
        is_default:
          default: false
          type: boolean
        language_code:
          type: string
        signature_config:
          allOf:
          - $ref: '#/components/schemas/SignatureConfig'
          default: null
        template_id:
          type: string
      required:
      - country_code
      - language_code
      - template_id
      type: object
    AutomaticSigner:
      properties:
        email:
          type: string
        first_name:
          type: string
        ip_address:
          type: string
        last_name:
          type: string
      required:
      - email
      - first_name
      - ip_address
      - last_name
      type: object
    SigningField:
      properties:
        height:
          default: null
          type:
          - integer
          - 'null'
        mention:
          default: null
          type:
          - string
          - 'null'
        page:
          type: integer
        position_x:
          type: integer
        position_y:
          type: integer
        type:
          default: signature
          enum:
          - mention
          - signature
        width:
          type: integer
      required:
      - page
      - position_x
      - position_y
      - width
      type: object
    PaymentIntent:
      properties:
        amount:
          type: integer
        currency:
          default: EUR
          enum:
          - EUR
          - GBP
          type: string
        failure_reason:
          default: null
          type:
          - string
          - 'null'
        from_account_details:
          allOf:
          - $ref: '#/components/schemas/AccountDetails'
          default: null
        from_business_id:
          format: uuid
          type: string
        id:
          format: uuid
          type: string
        identity_salt:
          default: null
          type:
          - string
          - 'null'
        invoice_id:
          default: null
          format: uuid
          type:
          - string
          - 'null'
        is_instant:
          default: false
          type: boolean
        paid_amount:
          type: integer
        paid_at:
          default: null
          format: date-time
          type:
          - string
          - 'null'
        payment_method:
          enum:
          - DIRECT_DEBIT
          - P2P
          - SCT
          type: string
        payment_type:
          enum:
          - CHANNEL_VERIFICATION
          - CHARGEBACK
          - DEPOSIT_FUNDING
          - DEPOSIT_RELEASE
          - DEPOSIT_WITHDRAWAL
          - EXTRA
          - INTERNAL
          - LENDER_DEBT_RESOLUTION
          - LENDER_PREFUNDING
          - LENDER_REPURCHASE
          - LOAN_PAYMENT
          - LOAN_PURCHASE
          - PAYMENT_PROVIDER_FEES
          - PLATFORM
          - REFUND
          - REPAYMENT_FEES
          - REPAYMENT_FULL
          - REPAYMENT_NOMINAL
          - RETURNED
          - REVENUE_SHARE
          - REVERT
          - SUBSCRIPTION
          type: string
        reference:
          type: string
        related_to:
          $ref: '#/components/schemas/PaymentIntentRelation'
        scheduled_at:
          format: date-time
          type: string
        status:
          enum:
          - CANCELED
          - DRAFT
          - INSTRUCTED
          - IN_TRANSIT
          - ISSUE_DETECTED
          - PAID
          - PARTIALLY_PAID
          - PROPOSED
          - SCHEDULED
          - WAITING
          type: string
        to_account_details:
          $ref: '#/components/schemas/AccountDetails'
        to_business_id:
          format: uuid
          type: string
      required:
      - amount
      - from_business_id
      - id
      - paid_amount
      - payment_method
      - payment_type
      - reference
      - related_to
      - scheduled_at
      - status
      - to_account_details
      - to_business_id
      type: object
    ApiRevenueShare:
      properties:
        document_url:
          default: null
          type:
          - string
          - 'null'
        email_sent_on:
          default: null
          format: date-time
          type:
          - string
          - 'null'
        email_sent_to:
          default: null
          items:
            format: email
            type: string
          type:
          - array
          - 'null'
        end_date:
          format: date-time
          type: string
        id:
          format: uuid
          type: string
        payment:
          allOf:
          - $ref: '#/components/schemas/PaymentApi'
          default: null
        payment_intent:
          allOf:
          - $ref: '#/components/schemas/PaymentIntent'
          default: null
        revenue_shared_with_business:
          $ref: '#/components/schemas/BusinessIdentifierWithName'
        start_date:
          format: date-time
          type: string
        status:
          enum:
          - CREATED
          - DELETED
          - PAID
          - SENT_BY_EMAIL
          type: string
      required:
      - end_date
      - id
      - revenue_shared_with_business
      - start_date
      - status
      type: object
    APILightAccountDetails:
      properties:
        account_number:
          description: The account identifier. Only IBANs are supported at the moment.
          type: string
        account_number_type:
          description: The type of account number (e.g. IBAN).
          enum:
          - account_number
          - iban
          - internal_id
          type: string
        bank_identifier:
          description: The identifier of the bank.
          type: string
        bank_identifier_type:
          description: The type of bank identifier (e.g. BIC).
          enum:
          - bic
          - name
          - routing_number
          - undefined
          type: string
      required:
      - account_number
      - account_number_type
      - bank_identifier
      - bank_identifier_type
      type: object
    AccountProvider:
      properties:
        id:
          type: string
        provider:
          enum:
          - LEMONWAY
          - MEMOBANK
          - NUMERAL
          - SANDBOX
          - SWAN
          - TEST
          type: string
      required:
      - id
      - provider
      type: object
    PaymentXPaymentIntent:
      properties:
        amount:
          type: integer
        payment_id:
          format: uuid
          type: string
        payment_intent_id:
          format: uuid
          type: string
        payment_type:
          enum:
          - CHANNEL_VERIFICATION
          - CHARGEBACK
          - DEPOSIT_FUNDING
          - DEPOSIT_RELEASE
          - DEPOSIT_WITHDRAWAL
          - EXTRA
          - INTERNAL
          - LENDER_DEBT_RESOLUTION
          - LENDER_PREFUNDING
          - LENDER_REPURCHASE
          - LOAN_PAYMENT
          - LOAN_PURCHASE
          - PAYMENT_PROVIDER_FEES
          - PLATFORM
          - REFUND
          - REPAYMENT_FEES
          - REPAYMENT_FULL
          - REPAYMENT_NOMINAL
          - RETURNED
          - REVENUE_SHARE
          - REVERT
          - SUBSCRIPTION
          type: string
      required:
      - amount
      - payment_id
      - payment_intent_id
      - payment_type
      type: object
    AccountDetails:
      properties:
        account_id:
          default: null
        account_number:
          description: The account identifier. Only IBANs are supported at the moment.
          type: string
        account_number_type:
          description: The type of account number (e.g. IBAN).
          enum:
          - account_number
          - iban
          - internal_id
          type: string
        bank_identifier:
          description: The identifier of the bank.
          type: string
        bank_identifier_type:
          description: The type of bank identifier (e.g. BIC).
          enum:
          - bic
          - name
          - routing_number
          - undefined
          type: string
        id:
          default: null
        providers:
          additionalProperties:
            $ref: '#/components/schemas/AccountProvider'
          default: null
          type:
          - object
          - 'null'
        type:
          default: null
          enum:
          - DEFAULT
          - STRIPE_CONNECTED_ACCOUNT
          - TECHNICAL_WALLET
          - VIRTUAL
          - null
          type:
          - string
          - 'null'
      required:
      - account_number
      - account_number_type
      - bank_identifier
      - bank_identifier_type
      type: object
    SignatureConfig:
      properties:
        automatic_signer:
          allOf:
          - $ref: '#/components/schemas/AutomaticSigner'
          default: null
        contract_template_name:
          enum:
          - DAILLY_CREDIT_AGREEMENT_TEMPLATE
          - DAILLY_ESCOMPTE_TEMPLATE
          - DIRECT_MASTER_LOAN_AGREEMENT_TEMPLATE
          - TERMS_AND_CONDITIONS
          type: string
        signing_fields:
          items:
            $ref: '#/components/schemas/SigningField'
          type: array
      required:
      - contract_template_name
      - signing_fields
      type: object
    DepositingRule:
      properties:
        base_amount:
          enum:
          - DUE_INTERESTS
          - ESTIMATED_FEES
          - FIXED_AMOUNT
          - LOAN_AMOUNT
          - LOAN_AMOUNT_WITH_DUE_INTERESTS
          - LOAN_AMOUNT_WITH_ESTIMATED_FEES
          type: string
        depositor_role:
          enum:
          - BENEFICIARY
          - BORROWER
          - FEES_PAYER
          - PARTNER
          type: string
        payment_method:
          $ref: '#/components/schemas/PaymentMethodConfiguration'
        purpose:
          enum:
          - FEES_DEPOSIT
          - GUARANTEE_DEPOSIT
          - RECOLLECTION_FEES_DEPOSIT
          type: string
        value:
          type: string
      required:
      - base_amount
      - depositor_role
      - purpose
      - value
      type: object
    BusinessIdentifierWithName:
      properties:
        identifier:
          type: string
        identifier_type:
          enum:
          - belgium_registration_number
          - bsn
          - cif
          - hr_nummer
          - kvk
          - name
          - nif
          - siren
          - siret
          - steuernummer
          - vat_number
          type: string
        name:
          type: string
      required:
      - identifier
      - identifier_type
      - name
      type: object
    BusinessIdentifier:
      properties:
        identifier:
          description: Legal identifier of the business, such as its SIRET or SIREN in France. Must not contain spaces.
          type: string
        identifier_type:
          default: null
          description: Type of legal business identifier of the business, such as the SIRET in France.
          enum:
          - belgium_registration_number
          - bsn
          - cif
          - hr_nummer
          - kvk
          - name
          - nif
          - siren
          - siret
          - steuernummer
          - vat_number
          - null
          type:
          - string
          - 'null'
      required:
      - identifier
      type: object
    PaymentRelationApi:
      properties:
        bills:
          items:
            $ref: '#/components/schemas/BillPayment'
          type: array
        invoices:
          items:
            format: uuid
            type: string
          type: array
        loans:
          items:
            $ref: '#/components/schemas/LoanPaymentApi'
          type: array
        payment_intents:
          items:
            $ref: '#/components/schemas/PaymentXPaymentIntentApi'
          type: array
        subscriptions:
          items:
            $ref: '#/components/schemas/SubscriptionPaymentRelation'
          type: array
      type: object
    RiskMitigationConfig:
      properties:
        automatically_compute_and_deploy_max_exposure_frequency_in_days:
          default: null
          type:
          - integer
          - 'null'
        guarantee_configs:
          default: null
          description: List of guarantee configurations with optional conditions to match loans
          items:
            $ref: '#/components/schemas/LoanGuaranteeConfiguration'
          type:
          - array
          - 'null'
        insurance_config:
          allOf:
          - $ref: '#/components/schemas/InsuranceRiskMitigator'
          default: null
          description: Configuration for insurance-based risk mitigation
        invoice_collateralization_config:
          allOf:
          - $ref: '#/components/schemas/InvoiceCollateralizationRiskMitigator'
          default: null
          description: Configuration for invoice collateralization-based risk mitigation
      type: object
    SubscriptionPaymentRelation:
      properties:
        amount_cents:
          type: integer
        subscription_id:
          format: uuid
          type: string
      required:
      - amount_cents
      - subscription_id
      type: object
    InvoiceCollateralizationRiskMitigator:
      properties:
        triggers:
          items:
            enum:
            - BORROWER_DEFAULT
            - BORROWER_INSOLVENCY
            type: string
          type: array
      required:
      - triggers
      type: object
    FPLoanRequestConfiguration:
      properties:
        display_available_balance:
          default: true
          type: boolean
        mandatory_options:
          items:
            enum:
            - beneficiaries
            - contract
            - counterparty
            - payable_invoice
            - payment_terms
            - receivable_invoice
            type: string
          type: array
        maximum_duration_in_days:
          default: 120
          type: integer
        maximum_loan_amount_in_cents:
          default: 20000000
          type: integer
        minimum_duration_in_days:
          default: 3
          type: integer
      type: object
    BrokerTrack:
      properties:
        tier:
          enum:
          - BRONZE
          - GOLD
          - SILVER
          type: string
        track:
          enum:
          - PRICING
          - VOLUME
          type: string
        value:
          readOnly: true
          type: number
      required:
      - tier
      - track
      type: object
    FinancialProductConfiguration:
      properties:
        billing:
          $ref: '#/components/schemas/FinancialProductBillingConfiguration'
        contract_generation_settings:
          allOf:
          - $ref: '#/components/schemas/ContractGenerationSettings'
          default: null
        contract_templates:
          default: null
          items:
            $ref: '#/components/schemas/FinancialProductContractTemplate'
          type:
          - array
          - 'null'
        contract_type:
          default: CREDIT_OPERATION
          enum:
          - CREDIT_OPERATION
          - CREDIT_OPERATION_WITH_TRADE_RECEIVABLE_GUARANTEE
          - EQUITY_LOAN
          - TRADE_RECEIVABLE
          type: string
        depositing_rules:
          default: null
          items:
            $ref: '#/components/schemas/DepositingRule'
          type:
          - array
          - 'null'
        installments:
          $ref: '#/components/schemas/FinancialProductInstallmentsConfiguration'
        risk_mitigation_config:
          allOf:
          - $ref: '#/components/schemas/RiskMitigationConfig'
          default: null
        subscription:
          $ref: '#/components/schemas/SubscriptionConfig'
        tcs

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/defacto/refs/heads/main/openapi/defacto-billing-api-openapi.yml