openapi: 3.0.0 info: title: Defacto Accounting Loan 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: Loan paths: /loan/{loan_id}/events: get: description: Get the activity eligibility_request of a loan. parameters: - in: path name: loan_id required: true schema: type: string responses: '200': description: '' content: '*/*': schema: $ref: '#/components/schemas/TypedApiPage2' security: - Bearer: [] tags: - Loan operationId: get_loan-loan-id-events summary: /loan/{loan_id}/events /loan/{loan_id}: get: description: Retrieve a loan by its ID. Returns the full loan details including status, amounts, repayment schedule, borrower information, and related documents. parameters: - in: path name: loan_id required: true schema: type: string responses: '200': description: '' content: '*/*': schema: $ref: '#/components/schemas/LoanAPI' security: - Bearer: [] tags: - Loan operationId: get_loan-loan-id summary: /loan/{loan_id} patch: description: ' Updates a loan. - When the loan is SUBMITTED or TO_VALIDATE, all the below fields can be updated. - When the loan is VALIDATED or SCHEDULED, the references and to_repay_at fields can be updated. - When the loan is TO_REPAY, only the to_repay_at change be changed. The earliest acceptable date being loan.earliest_to_repay_at. This operation is not available when the loan is in another status. ' parameters: - in: path name: loan_id required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/APIPatchLoan' responses: '200': description: '' content: '*/*': schema: $ref: '#/components/schemas/LoanAPI' security: - Bearer: [] tags: - Loan operationId: patch_loan-loan-id summary: /loan/{loan_id} /loans: get: description: List loans with pagination. Returns a paginated list of loans filterable by borrower, status, dates, and loan type. parameters: - description: Search by borrower company number (e.g. SIREN or NIF) in: query name: borrower required: false explode: true schema: type: array items: type: string - description: Returns loans where contractual_repayment_date field is greater or equal to this date. in: query name: contractual_repayment_date_from required: false x-nullable: true schema: type: string format: date-time default: null - description: Returns loans where contractual_repayment_date field is lower to this date. in: query name: contractual_repayment_date_to required: false x-nullable: true schema: type: string format: date-time 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 loans for which the guarantee was called in: query name: guarantee_called required: false x-nullable: true schema: type: boolean default: null - description: Entity legally responsible to payback the loan in: query name: guarantor required: false x-nullable: true schema: type: string default: null - description: Filter by one or more loan UUIDs. in: query name: id required: false explode: true schema: type: array items: format: uuid type: string - in: query name: loan_type required: false explode: true schema: type: array items: enum: - CREDIT_CARD_FINANCING - FUNDING_OBLIGATION_CONSOLIDATION - INVENTORY_FINANCING - INVOICE_BASED_FINANCING - WALLET_FINANCING type: string - description: Maximum number of items to return per page. in: query name: page_size required: false schema: type: integer default: 100 - description: Returns loans that have been postponed in: query name: postponed required: false x-nullable: true schema: type: boolean default: null - description: 'Search for loans based on one or more of the following fields: loan ID, invoice number, amount, estimated fees, status, or counterparty name.' in: query name: query required: false x-nullable: true schema: type: string default: null - description: 'Specify the sorting field and order. Default sorting: created_at DESC. Possible values: [''created_at:asc'', ''created_at:desc'', ''to_repay_at:asc'', ''to_repay_at:desc'', ''to_pay_at:asc'', ''to_pay_at:desc'']' in: query name: sort_by required: false x-nullable: true schema: type: string enum: - created_at:asc - created_at:desc - to_pay_at:asc - to_pay_at:desc - to_repay_at:asc - to_repay_at:desc - null default: null - description: 'Loan statuses. Possible values: [''SUBMITTED'', ''PENDING_VALIDATION'', ''TO_VALIDATE'', ''DECLINED'', ''VALIDATED'', ''CANCELED'', ''SCHEDULED'', ''INITIATED'', ''TO_REPAY'', ''TO_REPAY_FEES'', ''CLOSED'', ''ISSUE_DETECTED'', ''DELETED'']' in: query name: status required: false explode: true schema: type: array items: enum: - CANCELED - CLOSED - DECLINED - DELETED - INITIATED - ISSUE_DETECTED - PENDING_VALIDATION - SCHEDULED - SUBMITTED - TO_REPAY - TO_REPAY_FEES - TO_VALIDATE - VALIDATED type: string - description: Returns loans where pay_at field is greater or equal to this date. in: query name: to_pay_at_from required: false x-nullable: true schema: type: string format: date-time default: null - description: Returns loans where pay_at field is lower to this date. in: query name: to_pay_at_to required: false x-nullable: true schema: type: string format: date-time default: null - description: Returns loans where repay_at field is greater or equal to this date. in: query name: to_repay_at_from required: false x-nullable: true schema: type: string format: date-time default: null - description: Returns loans where repay_at field is lower to this date. in: query name: to_repay_at_to required: false x-nullable: true schema: type: string format: date-time default: null - description: Shorthand alias for to_repay_at_from=now() and to_repay_at_to=now().plus(x, 'days'). Mutually exclusive with to_repay_at_from & to_repay_at_to. in: query name: to_repay_at_within_days required: false x-nullable: true schema: type: integer default: null responses: '200': description: '' content: '*/*': schema: $ref: '#/components/schemas/TypedApiPage1' security: - Bearer: [] tags: - Loan operationId: get_loans summary: /loans post: description: ' ## Request a new loan. If you haven''t visited the guide: [how to make your first loan?](https://developers.getdefacto.com/reference/make-your-first-loan) we recommend you to visit it first. **Key Parameters**: As the loan request is a complex operation, it has many parameters. The most important ones are: - borrower - amount - to_pay_at - to_repay_at - salt_id: ⚠️ In order to avoid accidental duplication in requested loans we recommend you to set the salt_id parameter to a unique value for each request. **Timeout after**: 30 seconds (status code will be 504 in such a case) For loan related to invoices, at the moment, we don''t support multiple-invoices financing. - You can either request a loan for an existing invoice, in which case you should set invoice_ids. - Or you can create the invoice and request a loan with a single call to this API. - If you pass an invoice in invoices, the base64-encoded value of the PDF of the invoice is required under the document property. You can for example use base64guru. ### Behavior When you send this API request, our system will: 1. Create a loan (you will get its id in the response) 2. Start evaluating your loan request. Here you should choose between 2 behaviors: a. (default) Getting the decision asynchronously. The status of the returned loan will always be PENDING_VALIDATION. Webhooks will tell you if it goes approved or declined. In can happen from a few seconds after the request up to a few days after it. b. Getting the decision synchronously. This is recommended if this endpoint is called directly from a frontend. To activate this option, set "wait_for_validation": true. In such a case, the returned loan status will be: i. if the loan is automatically accepted by Defacto -> the status of the loan will be TO_VALIDATE if you set "auto_validate": false, or one of: VALIDATED, SCHEDULED, INITIATED, TO_REPAY. Fore more information on this, see section "Why the status of the loan in the response vary?" below. ii. if the loan is automatically declined by Defacto -> the status of the loan will be DECLINED and the denial_reason will be set. iii. if the loan validation takes longer than 20s (max response time is 2 business days) -> the status of the loan will be PENDING_VALIDATION. It is therefore very important to think about how to communicate with the end-user. While its not an issue for validated loans, it can get frustrating for declined loans. Users must be alerted of loans that gets declined few hours after their request. 3. If the loan is accepted by Defacto, it will then move forward and its status will be updated regularly. Subscribe to webhooks to get live notifications of this. **Why the status of the loan in the response vary?** The status vary because our system is asynchronous and the steps moving the loan forward may be executed immediately or not depending on the current load on our system. **What should I do if the status of the loan is __TO_VALIDATE__?** TO_VALIDATE means that Defacto accepted the loan as is. The next step is to get the user consent for this loan offer. When obtained, call [POST /loan/{loan_id}/validate](https://developers.getdefacto.com/reference/post_loan-loan-id-validate). Most of the time the user does not want to do this manual consent. To avoid requiring this, you can set "auto_validate": true in your request. When setting this option, please ensure that its very explicit for the user that the loan may be automatically accepted and paid so that they won''t be able to cancel it. Users can cancel the loan only before Defacto sends the money to the beneficiary, which happens 24 to 48 hours before the "to_pay_at" date. ' requestBody: content: application/json: schema: $ref: '#/components/schemas/APIPostLoan' responses: '201': description: '' content: '*/*': schema: $ref: '#/components/schemas/LoanAPI' security: - Bearer: [] tags: - Loan operationId: post_loans summary: /loans /loan/documents/{document_type}: post: description: Generates a link to an archive of loan documents parameters: - in: path name: document_type required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ApiFetchLoanDocuments' responses: '200': description: '' content: '*/*': schema: $ref: '#/components/schemas/ApiLoanDocuments' security: - Bearer: [] tags: - Loan operationId: post_loan-documents-document-type summary: /loan/documents/{document_type} /loan/{loan_id}/cancel: post: description: Use this function to cancel a loan proposal. Available for TO_VALIDATE,VALIDATED and SCHEDULED loans. parameters: - in: path name: loan_id required: true schema: type: string responses: '200': description: '' content: '*/*': schema: $ref: '#/components/schemas/LoanAPI' security: - Bearer: [] tags: - Loan operationId: post_loan-loan-id-cancel summary: /loan/{loan_id}/cancel /loan/{loan_id}/validate: post: description: Use this function to accept a loan proposal. Available for TO_VALIDATE loans only. parameters: - in: path name: loan_id required: true schema: type: string responses: '200': description: '' content: '*/*': schema: $ref: '#/components/schemas/LoanAPI' security: - Bearer: [] tags: - Loan operationId: post_loan-loan-id-validate summary: /loan/{loan_id}/validate /loan/repayment-terms: put: description: "\n
\n

Change repayment terms of some loans

\n

Changing the payment method and / or date is only possible on loans that are TO_REPAY or\n TO_REPAY_FEES.\n

\n

Postponing loan repayment date is only possible once.

\n

If loan is supposed to be repaid using a sepa direct-debit, you may not be able to change the\n debited account number less than 3 days before the scheduled payment date because payment has already\n been instructed. In such case you'll get a 400 error telling you that the payment cannot be\n cancelled anymore.\n

\n
\n" requestBody: content: application/json: schema: $ref: '#/components/schemas/APILoanSetRepaymentTerms' responses: '200': description: '' content: '*/*': schema: $ref: '#/components/schemas/TypedApiPage3' security: - Bearer: [] tags: - Loan operationId: put_loan-repayment-terms summary: /loan/repayment-terms components: schemas: APITimeSheetInformation: properties: document_binary_base64: description: Base64 encoded content of the document type: string document_name: description: Name of the document with the file extension type: string required: - document_binary_base64 - document_name type: object LoanAPI: properties: amount: description: 'Loan amount in cents. Maximum: 200,000 €.' type: integer beneficiary: allOf: - $ref: '#/components/schemas/LightBusiness' description: Entity receiving the money borrower: allOf: - $ref: '#/components/schemas/LightBusiness' description: Entity legally contracting the loan borrower_financial_product_id: default: null description: Specify your borrower financial product to use. This field is required only if you propose multiple financial products (which is rare) format: uuid type: string nullable: true closed_at: default: null description: Loan full repayment date format: date-time type: string nullable: true contract_url: default: null type: string nullable: true contractual_repayment_date: default: null description: Loan repayment date at the time the loan contract was signed format: date-time type: string nullable: true currency: description: ISO 4217 currency code. enum: - EUR - GBP type: string denial_reason: default: null enum: - ACTIVITY_DOCUMENTS_REQUIRED - ACTIVITY_NOT_ELIGIBLE_BORROWER - ALREADY_USING_FACTORING_OR_DAILLY - AMOUNT_SUPERIOR_TO_AVAILABLE_BALANCE - AVERAGE_INVOICE_SIZE_TOO_HIGH - BLACKLISTED_FACTORED_COUNTERPARTY - BORROWER_AND_COUNTERPARTY_HAVE_COMMON_DIRECTOR - BORROWER_CHURNED - BORROWER_DEFAULTED - BORROWER_STATUS - BORROWER_TO_SIGN - BUSINESS_AGE_BELOW_THRESHOLD - BUSINESS_AML_EXTREME_RISK - BUSINESS_COMPLIANCE_ISSUE_DETECTED - BUSINESS_HARD_COLLECTION - BUSINESS_HAS_NO_PROFESSIONAL_EMAIL - BUSINESS_INSOLVENCY_PROCEDURE_EXISTS - BUSINESS_INSOLVENCY_PROCEDURE_UNKNOWN_STATUS - BUSINESS_LEGAL_FORM_NOT_ELIGIBLE - BUSINESS_MISSING_INFORMATION - BUSINESS_NOT_DIFFUSIBLE - BUSINESS_NOT_REGISTERED - BUSINESS_NOT_REGISTERED_TO_RCS - BUSINESS_NOT_REGISTERED_TO_RCS_OR_RNE - BUSINESS_RADIATED - BUSINESS_REGION_NOT_COVERED - BUSINESS_UNKNOWN - BUSINESS_UNKNOWN_BUYER - BUSINESS_UNKNOWN_SELLER - CAPPING_EXCEEDED - CASHED_IN_NOT_REPAID - CCSF_TRANSACTION_DETECTED - CCSF_TRANSACTION_PENDING_DATA_REQUEST - CCSF_TRANSACTION_WAITING_END_INSTALLMENT_PLAN - COUNTERPARTY_DATA_MISSING - COUNTERPARTY_INSOLVENCY_PROCEDURE_EXISTS - COUNTERPARTY_INSOLVENCY_PROCEDURE_UNKNOWN_STATUS - COUNTERPARTY_KPI_MISSING - COUNTERPARTY_NOT_REGISTERED - COUNTERPARTY_NOT_SELECTED_FOR_FINANCING - COUNTRY_CAPPING_EXCEEDED - COUNTRY_NOT_ELIGIBLE_BORROWER - COUNTRY_NOT_ELIGIBLE_COUNTERPARTY - CREDIT_RISK_NOT_ELIGIBLE - CREDIT_RISK_NOT_ELIGIBLE_COUNTERPARTY - DATA_STILL_REFRESHING - DEBT_ARREARS_PENDING_GRACE_PERIOD - DEPRECATED_LATE_REPAYMENT - DOES_NOT_MATCH_ELIGIBILITY_CRITERIA - DOUBLE_MOBILIZATION - DPD_15_LATE_REPAYMENT_BORROWER - DPD_15_LATE_REPAYMENT_BUYER - DPD_15_LATE_REPAYMENT_SELLER - ELLISPHERE_RISK_INDEX - EXCEEDED_PARTNER_CREDIT_LINE - EXCESSIVE_AMOUNT_LOAN_REQUEST - EXCESSIVE_DURATION_LOAN_REQUEST - EXPOSURE_TOO_OLD - FILL_INVOICE_BUYER_INFORMATION - FILL_INVOICE_SELLER_INFORMATION - FINANCIAL_PRODUCT_DEACTIVATED - FINANCIAL_PRODUCT_NOT_IN_RELEASE - FINANCIAL_STATEMENT_BAD_KPI - FINANCIAL_STATEMENT_PARSING_ISSUE - HIGH_BUSINESS_RISK_INDEX - HIGH_LOAN_DEFAULT_INDEX - HIGH_LYSTA_RISK_INDEX - INDUSTRY_CODE_NOT_ELIGIBLE_BORROWER - INDUSTRY_CODE_NOT_ELIGIBLE_COUNTERPARTY - INSOLVENCY_EARLY_SIGNAL_DETECTED - INSOLVENCY_PROCEDURE_EXISTS_BORROWER - INSOLVENCY_PROCEDURE_EXISTS_BUYER - INSOLVENCY_PROCEDURE_EXISTS_SELLER - INSTALLMENT_PLAN_DETECTED_FOR_TAX - INSTALLMENT_PLAN_DETECTED_FOR_URSSAF - INSURANCE_QUOTE_EXPIRED - INVOICE_ALREADY_FINANCED - INVOICE_AUTO_LIQUIDATION - INVOICE_BLACKLIST_WORDS - INVOICE_COMPLIANCE_ISSUE_DETECTED - INVOICE_DOES_NOT_MATCH_ELIGIBILITY_CRITERIA - INVOICE_LME_NON_COMPLIANT - INVOICE_MISSING_ACCOUNT_NUMBER - INVOICE_MISSING_LEGAL_MENTION - INVOICE_MULTIPLE_STAGE - INVOICE_NON_ELIGIBLE_USE_CASE - INVOICE_NOT_ELIGIBLE_TO_CREDIT_INSURANCE - INVOICE_NOT_ISSUED_YET - INVOICE_NOT_RELATED_TO_WCR - INVOICE_OVERDUE - INVOICE_PAYABLE_BORROWER_IS_ACCOUNT_HOLDER - INVOICE_RECEIVABLE_ACCOUNT_MISSING_LIVE_CONNECTION - INVOICE_RECEIVABLE_ACCOUNT_MISSING_MANDATE - INVOICE_RECEIVABLE_BORROWER_IS_NOT_ACCOUNT_HOLDER - INVOICE_REPAYMENT_DATE_TOO_FAR_60D - KPI_MISSING - KPI_SCREENING_NOT_ELIGIBLE_BORROWER - KYB_PENDING - KYB_PENDING_USER_ACTION - KYC_PENDING - KYC_PENDING_USER_ACTION - LATE_REPAYMENT_BORROWER - LEGAL_FORM_NOT_ELIGIBLE_BORROWER - LEGAL_FORM_NOT_ELIGIBLE_BUYER - LEGAL_FORM_NOT_ELIGIBLE_COUNTERPARTY - LINKED_BUSINESS_IS_BLOCKED - LOAN_REQUEST_EXPIRED - LOW_CASH_BALANCE - LOW_FREE_CASH_FLOW - MAX_AMOUNT_EXCEEDED - MAX_AMOUNT_EXCEEDED_BORROWER - MAX_AMOUNT_EXCEEDED_BUYER - MAX_AMOUNT_EXCEEDED_SELLER - MISSING_COUNTERPARTY_CONTACT_INFORMATION - MISSING_PUBLIC_PROCUREMENT_DOCUMENT - NEED_BANKING_INTEGRATION - NOT_AN_INVOICE - NOT_DIFFUSIBLE_BUYER - NOT_DIFFUSIBLE_SELLER - NOT_ENOUGH_DATA - NOT_PRE_ELIGIBLE_SPV - NOT_REGISTERED_BUYER - NOT_REGISTERED_SELLER - NO_TAX_PAYMENT_FOUND - NO_URSSAF_PAYMENTS_FOUND - NO_URSSAF_PAYMENT_FOUND - OFFBOARDED - ORANGE_FLAG_TRANSACTIONS - OTHER_BUSINESS_FROM_DIRECTOR_HAS_INSOLVENCY_PROCEDURE - OUTDATED_DATA - OUTDATED_INVOICE - OUTDATED_INVOICE_2WEEKS - OUTDATED_INVOICE_3WEEKS - OVERDRAFT_REQUIRED - PLEASE_RECONNECT_BANK_ACCOUNTS - POSTAL_CODE_NOT_ELIGIBLE_BORROWER - POSTAL_CODE_NOT_ELIGIBLE_COUNTERPARTY - PROACTIVE_RECOLLECTION - PRUDENTIAL_EXPOSURE_EXCEEDED - QONTO_INTEGRATION_GERMAN_USER_DOES_NOT_HAVE_4_MONTHS_OF_HISTORY - QONTO_INTEGRATION_USER_DOES_NOT_HAVE_6_MONTHS_OF_HISTORY - QONTO_INTEGRATION_USER_DOES_NOT_MEET_MINIMUM_REQUIREMENT_FOR_CREDIT_LINE - RECENT_DEBT_ARREARS_KO - RECENT_DEBT_ARREARS_PENDING_DATA_REQUEST - RECENT_REVENUE_DROP - RECENT_SEIZURE_DETECTED - RECENT_TAX_ARREARS_PENDING_DATA_REQUEST - RECENT_UNPAID_PRIVILEGED_TRANSACTIONS - RECENT_UNPAID_PRIVILEGED_TRANSACTIONS_PENDING_DATA_REQUEST - RECENT_URSSAF_ARREARS_PENDING_DATA_REQUEST - RED_FLAG_TRANSACTIONS - RELATED_COUNTERPARTY_HAS_FLAG - RELATED_COUNTERPARTY_IS_LATE - REMOVED_FROM_COMMERCIAL_REGISTER_BORROWER - REMOVED_FROM_COMMERCIAL_REGISTER_BUSINESS - REMOVED_FROM_COMMERCIAL_REGISTER_BUYER - REMOVED_FROM_COMMERCIAL_REGISTER_SELLER - REPAYMENT_CONCENTRATION_IS_TOO_HIGH - REQUIRED_FINANCIAL_STATEMENT - RISK_SCORE_DOWNGRADING - SMALL_RECURRING_AMOUNT_DETECTED_FOR_URSSAF - TOO_LONG - UNAUTHORIZED_LOAN_PAYMENT_ACCOUNT - UNAUTHORIZED_LOAN_PAYMENT_ACCOUNT_BANK_IDENTIFIER - UNAUTHORIZED_LOAN_PAYMENT_BENEFICIARY - URSSAF_PAYMENTS_STOPPED - USER_DOES_NOT_MEET_MINIMUM_MAX_AMOUNT_SIZE - USER_DOES_NOT_MEET_MINIMUM_REQUIREMENT_FOR_CREDIT_LINE - WAITING_FOR_THIRD_PARTY_PROVIDER - WAIT_FOR_REPAYMENT - null type: string nullable: true deposits: additionalProperties: $ref: '#/components/schemas/LoanDepositedAmounts' description: List of deposits made and/or pending on the loan. Deposits can be funded by borrower, loan beneficiary or guarantor and serves as safety measures in case of default. type: object documents: description: Attach documents to your loan request. Depending on the type of loan you are requesting some documents may be required. Check with the Defacto team if you are not sure of which documents to share. You can provide additional structured data with the document you attach. The field to fulfill is the one corresponding to the specified document_type. For example if you use document_type = invoice you should fulfill the document.invoice object. items: $ref: '#/components/schemas/APIReadLoanDocument' type: array earliest_to_repay_at: description: Loan reimbursement earliest possible date format: date-time type: string fees_estimated: default: null description: In cents (estimated loan duration * interest * amount) type: integer nullable: true fees_ongoing: default: null description: Fees if you repay today. In cents (current duration * interest * amount) type: integer nullable: true guarantor: allOf: - $ref: '#/components/schemas/LightBusiness' default: null description: Entity legally responsible to payback the loan nullable: true id: format: uuid type: string invoice_ids: description: Invoices already uploaded that the loan should finance items: format: uuid type: string type: array loan_from: allOf: - $ref: '#/components/schemas/APILightAccountDetails' description: Bank account used to transfer the amount of the loan to the borrower loan_from_references: description: References in the transfer of the loan payment, on the account sending the money items: type: string type: array loan_to: allOf: - $ref: '#/components/schemas/APILightAccountDetails' description: Bank account receiving the money of the loan loan_to_references: description: References in the transfer of the loan payment, on the account receiving the money items: type: string type: array loan_type: enum: - CREDIT_CARD_FINANCING - FUNDING_OBLIGATION_CONSOLIDATION - INVENTORY_FINANCING - INVOICE_BASED_FINANCING - WALLET_FINANCING type: string metadata: additionalProperties: nullable: true default: null type: object nullable: true notification_emails: items: format: email type: string type: array paid_at: default: null description: Loan disbursement date format: date-time type: string nullable: true paid_interests_amount: description: Amount of interests that has been paid in cents. type: integer repaid_amount: description: Sum of all amounts repaid by the borrower for both principal and interests, in cents type: integer repaid_nominal_amount: description: Amount of the loan principal that has been repaid in cents. type: integer repaid_nominal_at: default: null format: date-time type: string nullable: true repayment_from: allOf: - $ref: '#/components/schemas/APILightAccountDetails' default: null description: Bank account repaying the loan nullable: true repayment_from_references: description: References in the transfer of the loan repayment, on the account sending the money items: type: string type: array repayment_method: enum: - DIRECT_DEBIT - P2P - SCT type: string repayment_to: allOf: - $ref: '#/components/schemas/APILightAccountDetails' description: Bank account to send the loan repayment to repayment_to_references: description: References in the transfer of the loan repayment, on the account receiving the money items: type: string type: array status: enum: - CANCELED - CLOSED - DECLINED - DELETED - INITIATED - ISSUE_DETECTED - PENDING_VALIDATION - SCHEDULED - SUBMITTED - TO_REPAY - TO_REPAY_FEES - TO_VALIDATE - VALIDATED type: string submitted_at: format: date-time type: string to_pay_at: description: Loan disbursement estimated date format: date-time type: string to_repay_at: description: Loan reimbursement estimated date format: date-time type: string transfer_contract_url: default: null type: string nullable: true required: - amount - beneficiary - borrower - currency - deposits - documents - earliest_to_repay_at - id - invoice_ids - loan_from - loan_from_references - loan_to - loan_to_references - loan_type - paid_interests_amount - repaid_amount - repaid_nominal_amount - repayment_from_references - repayment_method - repayment_to - repayment_to_references - status - submitted_at - to_pay_at - to_repay_at type: object AccountCreation: properties: account_holder: allOf: - $ref: '#/components/schemas/BusinessIdentifierRequired' default: null nullable: true account_number: type: string account_number_type: default: iban enum: - account_number - iban - internal_id type: string bank_identifier: default: null type: string nullable: true bank_identifier_type: default: bic enum: - bic - name - routing_number - undefined type: string source: allOf: - $ref: '#/components/schemas/AccountSourceInformation' default: null nullable: true required: - account_number type: object APILoanSetRepaymentTerms: properties: repayment_terms: items: $ref: '#/components/schemas/RepaymentTerms' type: array required: - repayment_terms type: object CreditedAccountNumber: properties: account_number: type: string account_number_type: enum: - account_number - iban - internal_id type: string bank_identifier: type: string bank_identifier_type: enum: - bic - name - routing_number - undefined type: string required: - account_number - account_number_type - bank_identifier - bank_identifier_type type: object LoanApiEvent: properties: entity_type: enum: - account - account_detail_verification - bill - borrower - borrower_financial_product - business - business_exposure - business_financial_product - contract - counterparty - country - credit_card - credit_line - data_request - deposit - due_interest - eligibility_request - enrollment - entity_eligibility - financial_product - flag - installment - invoice - loan - loan_log - mandate - max_exposure_deployment - onboarding - onboarding_financial_product - payment - people - rac - raw_data - recollection_document - revenue_share - sandbox_invoice - underwriting_check type: string payload: additionalProperties: nullable: true type: object status: enum: - CANCELED - CLOSED - DECLINED - DELETED - INITIATED - ISSUE_DETECTED - PENDING_VALIDATION - SCHEDULED - SUBMITTED - TO_REPAY - TO_REPAY_FEES - TO_VALIDATE - VALIDATED type: string timestamp: format: date-time type: string transition_name: default: null type: string nullable: true required: - entity_type - status type: object RepaymentTerms: properties: direct_debit: allOf: - $ref: '#/components/schemas/DirectDebitRepaymentMethod' default: null description: SEPA Direct Debit account information. Required if repayment method is set to DIRECT_DEBIT - must be left to null otherwise. nullable: true loan_id: format: uuid type: string reason: default: null description: reason for the repayment terms change enum: - LOAN_REPAYMENT_BY_PAY_BY_LINK - null type: string nullable: true repayment_date: description: Loan reimbursement estimated date format: date-time type: string repayment_method: description: 'Payment method that should be used to repay this loan. Possible values: [''DIRECT_DEBIT'', ''SCT'']' enum: - DIRECT_DEBIT - P2P - SCT type: string sct: allOf: - $ref: '#/components/schemas/SCTRepaymentMethod' default: null description: SEPA Credit Transfer account information. Required if repayment method is set to SCT - must be left to null otherwise. Replacement of the SCT account number is limited to super users. nullable: true required: - loan_id - repayment_date - repayment_method type: object APIInvoiceAttachmentInformation: properties: buyer: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' default: null nullable: true currency: default: EUR description: Currency of the invoice. Use ISO 4217 currency code. enum: - EUR - GBP type: string nullable: true document_binary_base64: description: Base64 encoded content of the document type: string document_name: description: Name of the document with the file extension type: string due_at: default: null format: date-time type: string nullable: true invoice_number: default: null description: Invoice number as displayed on the invoice type: string nullable: true issued_at: default: null format: date-time type: string nullable: true net_amount: default: null description: Amount before tax, in cents type: integer nullable: true seller: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' default: null nullable: true tax_amount: default: null description: Amount of tax, in cents type: integer nullable: true to_account: allOf: - $ref: '#/components/schemas/APIAccountCreation' default: null description: Beneficiary account as mentioned on the invoice. Note that this does not determine the account where the loan payment will be made.That is done separately when calling the POST /loans endpoint. nullable: true to_pay_amount: default: null description: Remaining amount due by buyer to seller, in cents. Set at 0 for fully paid invoices. type: integer nullable: true total_amount: default: null description: Sum of net amount and tax amount, in cents type: integer nullable: true required: - document_binary_base64 - document_name type: object APICounterpartyContact: properties: email: format: email type: string first_name: type: string last_name: type: string phone_number: type: string required: - email - first_name - last_name - phone_number type: object AmountWithCurrency: properties: amount: type: integer currency: enum: - EUR - GBP type: string required: - amount - currency type: object APIPublicProcurementSingleCopyInformation: properties: contract_identifier: description: Identifier of the public procurement single copy contract type: string contract_publication_date: default: null description: Publication date of the public procurement single copy contract format: date-time type: string nullable: true contract_undertaking_date: description: Date the public procurement contract was undertaken. format: date-time type: string document_binary_base64: default: null description: Base64 encoded content of the document type: string nullable: true document_name: default: null description: Name of the document with the file extension type: string nullable: true required: - contract_identifier - contract_undertaking_date type: object APILoanDocumentToCreate: properties: additional_document_data: additionalProperties: nullable: true default: null description: Any additional structured data about the provided document type: object nullable: true description: default: null description: A human readable description of the document type: string nullable: true document_binary_base64: type: string document_name: description: Name of the document with the file extension type: string document_type: enum: - credit_card_expenses - invoice - pro_forma - public_procurement_ownership_act - public_procurement_single_copy - sale_purchase_agreement - time_sheet type: string invoice: allOf: - $ref: '#/components/schemas/APIInvoiceInformationAllOptional' default: null nullable: true pro_forma: allOf: - $ref: '#/components/schemas/APIInvoiceInformationAllOptional' default: null nullable: true public_procurement_single_copy: allOf: - $ref: '#/components/schemas/APIPublicProcurementSingleCopyInformation' default: null nullable: true sale_purchase_agreement: allOf: - $ref: '#/components/schemas/APISalePurchaseAgreementInformation' default: null nullable: true required: - document_binary_base64 - document_name - document_type type: object APISalePurchaseAgreementAttachmentInformation: properties: asset_description: default: null description: A human readable description of the asset sold type: string nullable: true buyer: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' default: null nullable: true document_binary_base64: description: Base64 encoded content of the document type: string document_name: description: Name of the document with the file extension type: string sale_date: default: null description: When the final sale is to occur format: date-time type: string nullable: true seller: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' default: null nullable: true third_party: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' default: null nullable: true transaction_price: allOf: - $ref: '#/components/schemas/AmountWithCurrency' default: null description: Amount of the transaction in cents nullable: true required: - document_binary_base64 - document_name type: object TypedApiPage3: properties: count: type: integer data: items: $ref: '#/components/schemas/LoanAPI' type: array next_page: default: null type: string nullable: true page_size: type: integer previous_page: default: null type: string nullable: true total: default: null type: integer nullable: true required: - count - page_size type: object ApiLoanDocuments: properties: link: type: string required: - link type: object DebitedAccountNumber: properties: account_number: type: string account_number_type: enum: - account_number - iban - internal_id type: string bank_identifier: type: string bank_identifier_type: enum: - bic - name - routing_number - undefined type: string required: - account_number - account_number_type - bank_identifier - bank_identifier_type type: object APIRequiredInvoiceCreation: properties: address: allOf: - $ref: '#/components/schemas/Address' default: null nullable: true buyer: $ref: '#/components/schemas/CounterpartyCreation' currency: default: EUR description: Currency of the invoice. Use ISO 4217 currency code. enum: - EUR - GBP type: string nullable: true document: description: PDF binary (format base64 string) type: string due_at: format: date-time type: string invoice_number: description: Invoice number as displayed on the invoice type: string invoice_type: default: USER enum: - DEFACTO - USER type: string nullable: true issued_at: format: date-time type: string metadata: additionalProperties: nullable: true default: null description: This object is yours, it enables you to add custom data. type: object nullable: true net_amount: default: null description: Amount before tax, in cents type: integer nullable: true seller: $ref: '#/components/schemas/CounterpartyCreation' tax_amount: default: null description: Amount of tax, in cents type: integer nullable: true to_account: allOf: - $ref: '#/components/schemas/APIAccountCreation' default: null description: Beneficiary account as mentioned on the invoice. Note that this does not determine the account where the loan payment will be made.That is done separately when calling the POST /loans endpoint. nullable: true to_pay_amount: default: null description: Remaining amount due by buyer to seller, in cents. Set at 0 for fully paid invoices. type: integer nullable: true total_amount: description: Sum of net amount and tax amount, in cents type: integer required: - buyer - document - due_at - invoice_number - issued_at - seller - total_amount type: object TypedApiPage2: properties: count: type: integer data: items: $ref: '#/components/schemas/LoanApiEvent' type: array next_page: default: null type: string nullable: true page_size: type: integer previous_page: default: null type: string nullable: true total: default: null type: integer nullable: true required: - count - page_size type: object Address: properties: address_line_1: type: string nullable: true address_line_2: type: string nullable: true city: type: string nullable: true country: type: string nullable: true postal_code: type: string nullable: true state: type: string nullable: true type: object LightBusiness: properties: activity_description: default: null type: string nullable: true activity_type: default: null type: string nullable: true address: allOf: - $ref: '#/components/schemas/Address' default: null nullable: true capital: default: null type: integer nullable: true creation_date: default: null format: date type: string nullable: true has_ongoing_insolvency_procedure: default: null type: boolean nullable: true id: default: null format: uuid type: string nullable: true 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 nullable: true is_active: default: null type: boolean nullable: true is_diffusible: default: null type: boolean nullable: true last_insolvency_procedure_closing_date: default: null format: date type: string nullable: true last_insolvency_procedure_open_date: default: null format: date type: string nullable: true last_insolvency_procedure_type: default: null type: string nullable: true legal_form: default: null description: Legal form of the business. type: string nullable: true nace_code: default: null type: string nullable: true name: default: null description: Legal name of the business. type: string nullable: true registration_body: default: null description: Name of the national organization where the business is registered. For example the RCS of Paris in France type: string nullable: true registration_date: default: null format: date type: string nullable: true registry_radiation_date: default: null format: date type: string nullable: true share_capital: default: null description: The part of the capital of a company that comes from the issue of shares, in cents. type: integer nullable: true termination_date: default: null format: date type: string nullable: true vat_number: default: null description: VatNumber type: string nullable: true required: - identifier type: object AccountSourceInformation: properties: datasource_unique_id: default: null type: string nullable: true id: type: string name: enum: - AXONAUT_DEFACTO_API - BRIDGE - CEFIN_DEFACTO_API - FINAPI - IRMA_DEFACTO_API - LEANO_DEFACTO_API - LIBEO_DEFACTO_API - PENNYLANE_DEFACTO_API - PENNYLANE_REDSHIFT - QONTO - STEMSCAPE_DEFACTO_API - SUPER_DEFACTO_API type: string required: - id - name 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 APICreditCardExpensesInformation: properties: counterparty: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' description: 'Counterparty associated with the credit card expenses. Note: all expenses must be related to the same counterparty.' expenses: description: List of individual credit card expense details. items: $ref: '#/components/schemas/APICreditCardExpenseDetail' type: array required: - counterparty - expenses type: object ApiFetchLoanDocuments: properties: loan_ids: items: format: uuid type: string type: array to_pay_at_from: default: null description: Returns loans where pay_at field is greater or equal to this date. format: date-time type: string nullable: true to_pay_at_to: default: null description: Returns loans where pay_at field is lower to this date. format: date-time type: string nullable: true type: object CounterpartyCreation: properties: address: allOf: - $ref: '#/components/schemas/Address' default: null nullable: true contact: allOf: - $ref: '#/components/schemas/APICounterpartyContact' default: null nullable: true identifier: default: null description: Legal identifier of the business, such as its SIRET or SIREN in France. Must not contain spaces. type: string nullable: true 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 nullable: true name: default: null description: Legal name of the business. type: string nullable: true vat_number: default: null description: VatNumber type: string nullable: true type: object APIBusinessIdentifier: properties: identifier: description: Legal identifier of the business, such as its SIRET or SIREN in France. Must not contain spaces. type: string identifier_type: 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 type: string required: - identifier - identifier_type type: object APIInvoiceInformationAllOptional: properties: buyer: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' default: null nullable: true currency: default: EUR description: Currency of the invoice. Use ISO 4217 currency code. enum: - EUR - GBP type: string nullable: true due_at: default: null format: date-time type: string nullable: true invoice_number: default: null description: Invoice number as displayed on the invoice type: string nullable: true issued_at: default: null format: date-time type: string nullable: true net_amount: default: null description: Amount before tax, in cents type: integer nullable: true seller: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' default: null nullable: true tax_amount: default: null description: Amount of tax, in cents type: integer nullable: true to_account: allOf: - $ref: '#/components/schemas/APIAccountCreation' default: null description: Beneficiary account as mentioned on the invoice. Note that this does not determine the account where the loan payment will be made.That is done separately when calling the POST /loans endpoint. nullable: true to_pay_amount: default: null description: Remaining amount due by buyer to seller, in cents. Set at 0 for fully paid invoices. type: integer nullable: true total_amount: default: null description: Sum of net amount and tax amount, in cents type: integer nullable: true type: object LoanDepositedAmounts: properties: amount: type: integer deposit_id: default: null format: uuid type: string nullable: true paid_amount: type: integer required: - amount - paid_amount type: object APISalePurchaseAgreementInformation: properties: asset_description: default: null description: A human readable description of the asset sold type: string nullable: true buyer: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' default: null nullable: true sale_date: default: null description: When the final sale is to occur format: date-time type: string nullable: true seller: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' default: null nullable: true third_party: allOf: - $ref: '#/components/schemas/APICounterpartyCreation' default: null nullable: true transaction_price: allOf: - $ref: '#/components/schemas/AmountWithCurrency' default: null description: Amount of the transaction in cents nullable: true type: object APIReadLoanDocument: properties: about_business: allOf: - $ref: '#/components/schemas/BusinessIdentifierRequired' default: null nullable: true document_name: default: null description: Name of the document with the file extension type: string nullable: true document_type: enum: - credit_card_expenses - invoice - pro_forma - public_procurement_ownership_act - public_procurement_single_copy - sale_purchase_agreement - time_sheet type: string document_url: type: string uploaded_at: default: null format: date-time type: string nullable: true user_input: additionalProperties: nullable: true default: null type: object nullable: true required: - document_type - document_url type: object TypedApiPage1: properties: count: type: integer data: items: $ref: '#/components/schemas/MinimalLoanAPI' type: array next_page: default: null type: string nullable: true page_size: type: integer previous_page: default: null type: string nullable: true total: default: null type: integer nullable: true required: - count - page_size 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 nullable: true required: - identifier type: object APICounterpartyCreation: properties: address: allOf: - $ref: '#/components/schemas/Address' default: null nullable: true contact: allOf: - $ref: '#/components/schemas/APICounterpartyContact' default: null nullable: true identifier: default: null description: Legal identifier of the business, such as its SIRET or SIREN in France. Must not contain spaces. type: string nullable: true 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 nullable: true name: default: null description: Legal name of the business. type: string nullable: true vat_number: default: null description: VatNumber type: string nullable: true type: object APICreditCardExpenseDetail: properties: amount: description: Amount of the credit card expense in cents. type: integer card_identification: additionalProperties: nullable: true default: null description: 'Identification details of the credit card used for the expense (e.g. masked card number, card reference). Format might be {"last_four_digits": "1234", "card_reference": "Corporate Card"}' type: object nullable: true date_time: description: Date and time when the credit card expense was incurred. format: date-time type: string merchant: additionalProperties: nullable: true default: null description: Information identifying the place where the credit card expense was made. type: object nullable: true user: additionalProperties: nullable: true default: null description: 'Information about the user who made the credit card expense. Format might be {"name": "John Doe", "email": "john.doe@example.com"}' type: object nullable: true required: - amount - date_time type: object SCTRepaymentMethod: properties: to_account: allOf: - $ref: '#/components/schemas/CreditedAccountNumber' description: Bank account to send the loan repayment to required: - to_account type: object MinimalLoanAPI: properties: amount: description: 'Loan amount in cents. Maximum: 200,000 €.' type: integer beneficiary: allOf: - $ref: '#/components/schemas/LightBusiness' description: Entity receiving the money borrower: allOf: - $ref: '#/components/schemas/LightBusiness' description: Entity legally contracting the loan borrower_financial_product_id: default: null description: Specify your borrower financial product to use. This field is required only if you propose multiple financial products (which is rare) format: uuid type: string nullable: true closed_at: default: null description: Loan full repayment date format: date-time type: string nullable: true contract_url: default: null type: string nullable: true contractual_repayment_date: default: null description: Loan repayment date at the time the loan contract was signed format: date-time type: string nullable: true currency: description: ISO 4217 currency code. enum: - EUR - GBP type: string denial_reason: default: null enum: - ACTIVITY_DOCUMENTS_REQUIRED - ACTIVITY_NOT_ELIGIBLE_BORROWER - ALREADY_USING_FACTORING_OR_DAILLY - AMOUNT_SUPERIOR_TO_AVAILABLE_BALANCE - AVERAGE_INVOICE_SIZE_TOO_HIGH - BLACKLISTED_FACTORED_COUNTERPARTY - BORROWER_AND_COUNTERPARTY_HAVE_COMMON_DIRECTOR - BORROWER_CHURNED - BORROWER_DEFAULTED - BORROWER_STATUS - BORROWER_TO_SIGN - BUSINESS_AGE_BELOW_THRESHOLD - BUSINESS_AML_EXTREME_RISK - BUSINESS_COMPLIANCE_ISSUE_DETECTED - BUSINESS_HARD_COLLECTION - BUSINESS_HAS_NO_PROFESSIONAL_EMAIL - BUSINESS_INSOLVENCY_PROCEDURE_EXISTS - BUSINESS_INSOLVENCY_PROCEDURE_UNKNOWN_STATUS - BUSINESS_LEGAL_FORM_NOT_ELIGIBLE - BUSINESS_MISSING_INFORMATION - BUSINESS_NOT_DIFFUSIBLE - BUSINESS_NOT_REGISTERED - BUSINESS_NOT_REGISTERED_TO_RCS - BUSINESS_NOT_REGISTERED_TO_RCS_OR_RNE - BUSINESS_RADIATED - BUSINESS_REGION_NOT_COVERED - BUSINESS_UNKNOWN - BUSINESS_UNKNOWN_BUYER - BUSINESS_UNKNOWN_SELLER - CAPPING_EXCEEDED - CASHED_IN_NOT_REPAID - CCSF_TRANSACTION_DETECTED - CCSF_TRANSACTION_PENDING_DATA_REQUEST - CCSF_TRANSACTION_WAITING_END_INSTALLMENT_PLAN - COUNTERPARTY_DATA_MISSING - COUNTERPARTY_INSOLVENCY_PROCEDURE_EXISTS - COUNTERPARTY_INSOLVENCY_PROCEDURE_UNKNOWN_STATUS - COUNTERPARTY_KPI_MISSING - COUNTERPARTY_NOT_REGISTERED - COUNTERPARTY_NOT_SELECTED_FOR_FINANCING - COUNTRY_CAPPING_EXCEEDED - COUNTRY_NOT_ELIGIBLE_BORROWER - COUNTRY_NOT_ELIGIBLE_COUNTERPARTY - CREDIT_RISK_NOT_ELIGIBLE - CREDIT_RISK_NOT_ELIGIBLE_COUNTERPARTY - DATA_STILL_REFRESHING - DEBT_ARREARS_PENDING_GRACE_PERIOD - DEPRECATED_LATE_REPAYMENT - DOES_NOT_MATCH_ELIGIBILITY_CRITERIA - DOUBLE_MOBILIZATION - DPD_15_LATE_REPAYMENT_BORROWER - DPD_15_LATE_REPAYMENT_BUYER - DPD_15_LATE_REPAYMENT_SELLER - ELLISPHERE_RISK_INDEX - EXCEEDED_PARTNER_CREDIT_LINE - EXCESSIVE_AMOUNT_LOAN_REQUEST - EXCESSIVE_DURATION_LOAN_REQUEST - EXPOSURE_TOO_OLD - FILL_INVOICE_BUYER_INFORMATION - FILL_INVOICE_SELLER_INFORMATION - FINANCIAL_PRODUCT_DEACTIVATED - FINANCIAL_PRODUCT_NOT_IN_RELEASE - FINANCIAL_STATEMENT_BAD_KPI - FINANCIAL_STATEMENT_PARSING_ISSUE - HIGH_BUSINESS_RISK_INDEX - HIGH_LOAN_DEFAULT_INDEX - HIGH_LYSTA_RISK_INDEX - INDUSTRY_CODE_NOT_ELIGIBLE_BORROWER - INDUSTRY_CODE_NOT_ELIGIBLE_COUNTERPARTY - INSOLVENCY_EARLY_SIGNAL_DETECTED - INSOLVENCY_PROCEDURE_EXISTS_BORROWER - INSOLVENCY_PROCEDURE_EXISTS_BUYER - INSOLVENCY_PROCEDURE_EXISTS_SELLER - INSTALLMENT_PLAN_DETECTED_FOR_TAX - INSTALLMENT_PLAN_DETECTED_FOR_URSSAF - INSURANCE_QUOTE_EXPIRED - INVOICE_ALREADY_FINANCED - INVOICE_AUTO_LIQUIDATION - INVOICE_BLACKLIST_WORDS - INVOICE_COMPLIANCE_ISSUE_DETECTED - INVOICE_DOES_NOT_MATCH_ELIGIBILITY_CRITERIA - INVOICE_LME_NON_COMPLIANT - INVOICE_MISSING_ACCOUNT_NUMBER - INVOICE_MISSING_LEGAL_MENTION - INVOICE_MULTIPLE_STAGE - INVOICE_NON_ELIGIBLE_USE_CASE - INVOICE_NOT_ELIGIBLE_TO_CREDIT_INSURANCE - INVOICE_NOT_ISSUED_YET - INVOICE_NOT_RELATED_TO_WCR - INVOICE_OVERDUE - INVOICE_PAYABLE_BORROWER_IS_ACCOUNT_HOLDER - INVOICE_RECEIVABLE_ACCOUNT_MISSING_LIVE_CONNECTION - INVOICE_RECEIVABLE_ACCOUNT_MISSING_MANDATE - INVOICE_RECEIVABLE_BORROWER_IS_NOT_ACCOUNT_HOLDER - INVOICE_REPAYMENT_DATE_TOO_FAR_60D - KPI_MISSING - KPI_SCREENING_NOT_ELIGIBLE_BORROWER - KYB_PENDING - KYB_PENDING_USER_ACTION - KYC_PENDING - KYC_PENDING_USER_ACTION - LATE_REPAYMENT_BORROWER - LEGAL_FORM_NOT_ELIGIBLE_BORROWER - LEGAL_FORM_NOT_ELIGIBLE_BUYER - LEGAL_FORM_NOT_ELIGIBLE_COUNTERPARTY - LINKED_BUSINESS_IS_BLOCKED - LOAN_REQUEST_EXPIRED - LOW_CASH_BALANCE - LOW_FREE_CASH_FLOW - MAX_AMOUNT_EXCEEDED - MAX_AMOUNT_EXCEEDED_BORROWER - MAX_AMOUNT_EXCEEDED_BUYER - MAX_AMOUNT_EXCEEDED_SELLER - MISSING_COUNTERPARTY_CONTACT_INFORMATION - MISSING_PUBLIC_PROCUREMENT_DOCUMENT - NEED_BANKING_INTEGRATION - NOT_AN_INVOICE - NOT_DIFFUSIBLE_BUYER - NOT_DIFFUSIBLE_SELLER - NOT_ENOUGH_DATA - NOT_PRE_ELIGIBLE_SPV - NOT_REGISTERED_BUYER - NOT_REGISTERED_SELLER - NO_TAX_PAYMENT_FOUND - NO_URSSAF_PAYMENTS_FOUND - NO_URSSAF_PAYMENT_FOUND - OFFBOARDED - ORANGE_FLAG_TRANSACTIONS - OTHER_BUSINESS_FROM_DIRECTOR_HAS_INSOLVENCY_PROCEDURE - OUTDATED_DATA - OUTDATED_INVOICE - OUTDATED_INVOICE_2WEEKS - OUTDATED_INVOICE_3WEEKS - OVERDRAFT_REQUIRED - PLEASE_RECONNECT_BANK_ACCOUNTS - POSTAL_CODE_NOT_ELIGIBLE_BORROWER - POSTAL_CODE_NOT_ELIGIBLE_COUNTERPARTY - PROACTIVE_RECOLLECTION - PRUDENTIAL_EXPOSURE_EXCEEDED - QONTO_INTEGRATION_GERMAN_USER_DOES_NOT_HAVE_4_MONTHS_OF_HISTORY - QONTO_INTEGRATION_USER_DOES_NOT_HAVE_6_MONTHS_OF_HISTORY - QONTO_INTEGRATION_USER_DOES_NOT_MEET_MINIMUM_REQUIREMENT_FOR_CREDIT_LINE - RECENT_DEBT_ARREARS_KO - RECENT_DEBT_ARREARS_PENDING_DATA_REQUEST - RECENT_REVENUE_DROP - RECENT_SEIZURE_DETECTED - RECENT_TAX_ARREARS_PENDING_DATA_REQUEST - RECENT_UNPAID_PRIVILEGED_TRANSACTIONS - RECENT_UNPAID_PRIVILEGED_TRANSACTIONS_PENDING_DATA_REQUEST - RECENT_URSSAF_ARREARS_PENDING_DATA_REQUEST - RED_FLAG_TRANSACTIONS - RELATED_COUNTERPARTY_HAS_FLAG - RELATED_COUNTERPARTY_IS_LATE - REMOVED_FROM_COMMERCIAL_REGISTER_BORROWER - REMOVED_FROM_COMMERCIAL_REGISTER_BUSINESS - REMOVED_FROM_COMMERCIAL_REGISTER_BUYER - REMOVED_FROM_COMMERCIAL_REGISTER_SELLER - REPAYMENT_CONCENTRATION_IS_TOO_HIGH - REQUIRED_FINANCIAL_STATEMENT - RISK_SCORE_DOWNGRADING - SMALL_RECURRING_AMOUNT_DETECTED_FOR_URSSAF - TOO_LONG - UNAUTHORIZED_LOAN_PAYMENT_ACCOUNT - UNAUTHORIZED_LOAN_PAYMENT_ACCOUNT_BANK_IDENTIFIER - UNAUTHORIZED_LOAN_PAYMENT_BENEFICIARY - URSSAF_PAYMENTS_STOPPED - USER_DOES_NOT_MEET_MINIMUM_MAX_AMOUNT_SIZE - USER_DOES_NOT_MEET_MINIMUM_REQUIREMENT_FOR_CREDIT_LINE - WAITING_FOR_THIRD_PARTY_PROVIDER - WAIT_FOR_REPAYMENT - null type: string nullable: true deposits: additionalProperties: $ref: '#/components/schemas/LoanDepositedAmounts' description: List of deposits made and/or pending on the loan. Deposits can be funded by borrower, loan beneficiary or guarantor and serves as safety measures in case of default. type: object earliest_to_repay_at: description: Loan reimbursement earliest possible date format: date-time type: string fees_estimated: default: null description: In cents (estimated loan duration * interest * amount) type: integer nullable: true fees_ongoing: default: null description: Fees if you repay today. In cents (current duration * interest * amount) type: integer nullable: true guarantor: allOf: - $ref: '#/components/schemas/LightBusiness' default: null description: Entity legally responsible to payback the loan nullable: true id: format: uuid type: string invoice_ids: description: Invoices already uploaded that the loan should finance items: format: uuid type: string type: array loan_from: allOf: - $ref: '#/components/schemas/APILightAccountDetails' description: Bank account used to transfer the amount of the loan to the borrower loan_from_references: description: References in the transfer of the loan payment, on the account sending the money items: type: string type: array loan_to: allOf: - $ref: '#/components/schemas/APILightAccountDetails' description: Bank account receiving the money of the loan loan_to_references: description: References in the transfer of the loan payment, on the account receiving the money items: type: string type: array loan_type: enum: - CREDIT_CARD_FINANCING - FUNDING_OBLIGATION_CONSOLIDATION - INVENTORY_FINANCING - INVOICE_BASED_FINANCING - WALLET_FINANCING type: string metadata: additionalProperties: nullable: true default: null type: object nullable: true notification_emails: items: format: email type: string type: array paid_at: default: null description: Loan disbursement date format: date-time type: string nullable: true paid_interests_amount: description: Amount of interests that has been paid in cents. type: integer repaid_amount: description: Sum of all amounts repaid by the borrower for both principal and interests, in cents type: integer repaid_nominal_amount: description: Amount of the loan principal that has been repaid in cents. type: integer repaid_nominal_at: default: null format: date-time type: string nullable: true repayment_from: allOf: - $ref: '#/components/schemas/APILightAccountDetails' default: null description: Bank account repaying the loan nullable: true repayment_from_references: description: References in the transfer of the loan repayment, on the account sending the money items: type: string type: array repayment_method: enum: - DIRECT_DEBIT - P2P - SCT type: string repayment_to: allOf: - $ref: '#/components/schemas/APILightAccountDetails' description: Bank account to send the loan repayment to repayment_to_references: description: References in the transfer of the loan repayment, on the account receiving the money items: type: string type: array status: enum: - CANCELED - CLOSED - DECLINED - DELETED - INITIATED - ISSUE_DETECTED - PENDING_VALIDATION - SCHEDULED - SUBMITTED - TO_REPAY - TO_REPAY_FEES - TO_VALIDATE - VALIDATED type: string submitted_at: format: date-time type: string to_pay_at: description: Loan disbursement estimated date format: date-time type: string to_repay_at: description: Loan reimbursement estimated date format: date-time type: string transfer_contract_url: default: null type: string nullable: true required: - amount - beneficiary - borrower - currency - deposits - earliest_to_repay_at - id - invoice_ids - loan_from - loan_from_references - loan_to - loan_to_references - loan_type - paid_interests_amount - repaid_amount - repaid_nominal_amount - repayment_from_references - repayment_method - repayment_to - repayment_to_references - status - submitted_at - to_pay_at - to_repay_at type: object DirectDebitRepaymentMethod: properties: from_account: allOf: - $ref: '#/components/schemas/DebitedAccountNumber' description: Bank account repaying the loan required: - from_account type: object APIPostLoan: properties: amount: description: 'Loan amount in cents. Maximum: 200,000 €.' type: integer attachments: description: Attach context and/or files to your loan request. Depending on the type of loan you are requesting some extra context may be required. Check with the Defacto team if you are not sure of which to share. You can provide additional structured data with the attachment you attach. The field to fulfill is the one corresponding to the specified attachment_type. For example if you use attachment_type = credit_card_expenses you should fulfill the attachment.credit_card_expenses object. items: $ref: '#/components/schemas/APILoanAttachmentToCreate' type: array auto_validate: default: false description: Automatically validate the loan type: boolean borrower: allOf: - $ref: '#/components/schemas/BusinessIdentifier' default: null description: Entity legally contracting the loan nullable: true borrower_financial_product_id: default: null description: Specify your borrower financial product to use. This field is required only if you propose multiple financial products (which is rare) format: uuid type: string nullable: true currency: default: EUR description: ISO 4217 currency code. enum: - EUR - GBP type: string documents: description: Attach documents to your loan request. Depending on the type of loan you are requesting some documents may be required. Check with the Defacto team if you are not sure of which documents to share. You can provide additional structured data with the document you attach. The field to fulfill is the one corresponding to the specified document_type. For example if you use document_type = invoice you should fulfill the document.invoice object. items: $ref: '#/components/schemas/APILoanDocumentToCreate' type: array installment_plan_type: default: IN_FINE description: 'Type of installment plan to create for the loan. Only ''INSTALLMENTS'' or ''IN_FINE'' possible for now (see ''installments'' to specify a custom installment plan). ' enum: - INSTALLMENTS - IN_FINE type: string installments: default: null description: 'List of installments to create for the loan. Only used when installment_plan_type is set to ''INSTALLMENTS''. installments must respect that 1) the sum of installments equals the amount of the loan and 2) the last installment date is equal to ''to_repay_at''. ' items: $ref: '#/components/schemas/LoanInstallment' type: array nullable: true invoice_ids: description: Invoices already uploaded that the loan should finance items: format: uuid type: string type: array invoices: description: Invoices to create that the loan finances items: $ref: '#/components/schemas/APIRequiredInvoiceCreation' maxItems: 1 type: array loan_to: allOf: - $ref: '#/components/schemas/APIAccountCreation' description: Bank account receiving the money of the loan loan_to_references: description: References in the transfer of the loan payment, on the account receiving the money items: type: string type: array loan_type: default: INVOICE_BASED_FINANCING description: '[DEPRECATED] if you are using this field, please switch to `borrower_financial_product_id`.Type of loan to request. For example, INVOICE_BASED_FINANCING to finance invoices. Depending on the value of this field, another field with a name matching this value may be to complete. For example, for INVOICE_BASED_FINANCING either invoice_ids or invoices should be set. For WALLET_FINANCING or CREDIT_CARD_FINANCING, no specific field needs to be set. For INVENTORY_FINANCING, at least one document must be provided in the documents field.' enum: - CREDIT_CARD_FINANCING - FUNDING_OBLIGATION_CONSOLIDATION - INVENTORY_FINANCING - INVOICE_BASED_FINANCING - WALLET_FINANCING type: string metadata: additionalProperties: nullable: true default: null description: This object is yours, it enables you to add custom data. type: object nullable: true notification_emails: items: format: email type: string type: array repayment_from_references: description: References in the transfer of the loan repayment, on the account sending the money items: type: string type: array salt_id: default: null description: Unique key to ensure idempotency of the creation request. type: string nullable: true to_pay_at: description: Loan disbursement estimated date format: date-time type: string to_repay_at: description: Loan reimbursement estimated date format: date-time type: string wait_for_validation: default: false description: Configure the behaviour of the endpoint. When false, the returned loan will always be PENDING_VALIDATION or DECLINED, never accepted right away. When true (recommended if called from a frontend), the API will wait up to 30 seconds to get the final decision for the financing, so the returned loan may be approved right away. type: boolean required: - amount - loan_to - to_pay_at - to_repay_at type: object APIPublicProcurementOwnershipActInformation: properties: act_date: description: Date the public procurement ownership act was emitted. format: date-time type: string contract_identifier: description: Identifier of the public procurement ownership act contract type: string document_binary_base64: default: null description: Base64 encoded content of the document type: string nullable: true document_name: default: null description: Name of the document with the file extension type: string nullable: true required: - act_date - contract_identifier type: object APILoanAttachmentToCreate: properties: additional_document_data: additionalProperties: nullable: true default: null description: Any additional structured data about the provided document type: object nullable: true credit_card_expenses: allOf: - $ref: '#/components/schemas/APICreditCardExpensesInformation' default: null nullable: true description: default: null description: A human readable description of the document type: string nullable: true document_type: enum: - credit_card_expenses - invoice - pro_forma - public_procurement_ownership_act - public_procurement_single_copy - sale_purchase_agreement - time_sheet type: string invoice: allOf: - $ref: '#/components/schemas/APIInvoiceAttachmentInformation' default: null nullable: true pro_forma: allOf: - $ref: '#/components/schemas/APIInvoiceAttachmentInformation' default: null nullable: true public_procurement_ownership_act: allOf: - $ref: '#/components/schemas/APIPublicProcurementOwnershipActInformation' default: null nullable: true public_procurement_single_copy: allOf: - $ref: '#/components/schemas/APIPublicProcurementSingleCopyInformation' default: null nullable: true sale_purchase_agreement: allOf: - $ref: '#/components/schemas/APISalePurchaseAgreementAttachmentInformation' default: null nullable: true time_sheet: allOf: - $ref: '#/components/schemas/APITimeSheetInformation' default: null nullable: true required: - document_type type: object APIAccountCreation: properties: account_holder: allOf: - $ref: '#/components/schemas/APIBusinessIdentifier' default: null description: The business owning the account. nullable: true account_number: description: The account identifier. Only IBANs are supported at the moment. type: string account_number_type: default: iban description: The type of account number (e.g. IBAN). enum: - account_number - iban - internal_id type: string bank_identifier: default: null description: The identifier of the bank. type: string nullable: true bank_identifier_type: default: bic description: The type of bank identifier (e.g. BIC). enum: - bic - name - routing_number - undefined type: string required: - account_number 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 APIPatchLoan: properties: amount: default: null description: 'Loan amount in cents. Maximum: 200,000 €.' type: integer nullable: true lender_id: default: null description: Defacto ID for the entity lending the money nullable: true loan_to: allOf: - $ref: '#/components/schemas/AccountCreation' default: null description: Bank account receiving the money of the loan nullable: true loan_to_references: default: null description: References in the transfer of the loan payment, on the account receiving the money items: type: string type: array nullable: true metadata: additionalProperties: nullable: true default: null type: object nullable: true repayment_method: default: null description: 'Payment method that should be used to repay this loan. Possible values: [''DIRECT_DEBIT'', ''SCT'']' enum: - DIRECT_DEBIT - SCT - null type: string nullable: true repayment_to_references: description: References in the transfer of the loan repayment, on the account receiving the money items: type: string type: array to_pay_at: default: null description: Loan disbursement estimated date format: date-time type: string nullable: true to_repay_at: default: null description: Loan reimbursement estimated date format: date-time type: string nullable: true transfer_contract_url: default: null description: URL of the contract for loans that have been transferred to another lender type: string nullable: true type: object LoanInstallment: properties: amount: type: integer date: format: date-time type: string required: - amount - date type: object securitySchemes: Bearer: in: header name: Authorization type: apiKey