# generated: '2026-07-18' # method: generated # source: https://developers.getdefacto.com/reference/webhooks-at-defacto asyncapi: 2.6.0 info: title: Defacto Webhooks version: 1.0.0 description: Event surface for the Defacto API. Defacto POSTs a JSON notification to the URL registered on a webhook subscription (POST /webhooks). Generated by API Evangelist from Defacto's documented webhook event-type catalog and notification data model (developers.getdefacto.com/reference/webhooks-at-defacto). defaultContentType: application/json channels: subscriberCallback: description: Your endpoint. Defacto always calls the POST method of the to_url you register. Subscribe/manage via POST /webhooks, GET /webhooks, PATCH /webhook/{webhook_id}, DELETE /webhook/{webhook_id}. subscribe: operationId: receiveDefactoEvent summary: Receive a Defacto webhook notification. message: oneOf: - $ref: '#/components/messages/BorrowerFinancialProductCreated' - $ref: '#/components/messages/BorrowerFinancialProductUpdated' - $ref: '#/components/messages/CounterpartyCreditLimitCREATED' - $ref: '#/components/messages/CounterpartyCreditLimitUPDATED' - $ref: '#/components/messages/CreditLimitUPDATED' - $ref: '#/components/messages/CreditLineBALANCEUPDATED' - $ref: '#/components/messages/CreditLineCREATED' - $ref: '#/components/messages/CreditLinePOOLAMOUNTUPDATED' - $ref: '#/components/messages/InvoiceDECLINED' - $ref: '#/components/messages/InvoiceDELETED' - $ref: '#/components/messages/InvoiceSUBMITTED' - $ref: '#/components/messages/InvoiceTOEDIT' - $ref: '#/components/messages/InvoiceVERIFIED' - $ref: '#/components/messages/LoanCANCELED' - $ref: '#/components/messages/LoanCLOSED' - $ref: '#/components/messages/LoanDECLINED' - $ref: '#/components/messages/LoanDELETED' - $ref: '#/components/messages/LoanINITIATED' - $ref: '#/components/messages/LoanISSUEDETECTED' - $ref: '#/components/messages/LoanPENDINGVALIDATION' - $ref: '#/components/messages/LoanSCHEDULED' - $ref: '#/components/messages/LoanSUBMITTED' - $ref: '#/components/messages/LoanTOREPAY' - $ref: '#/components/messages/LoanTOREPAYFEES' - $ref: '#/components/messages/LoanTOVALIDATE' - $ref: '#/components/messages/LoanVALIDATED' - $ref: '#/components/messages/PaymentCANCELED' - $ref: '#/components/messages/PaymentFAILED' - $ref: '#/components/messages/PaymentINSTRUCTED' - $ref: '#/components/messages/PaymentINTRANSIT' - $ref: '#/components/messages/PaymentPAID' - $ref: '#/components/messages/PaymentSCHEDULED' components: messages: BorrowerFinancialProductCreated: name: BorrowerFinancialProductCreated title: BorrowerFinancialProductCreated summary: Emitted when a BorrowerFinancialProductCreated reaches state BorrowerFinancialProductCreated. payload: $ref: '#/components/schemas/WebhookNotification' BorrowerFinancialProductUpdated: name: BorrowerFinancialProductUpdated title: BorrowerFinancialProductUpdated summary: Emitted when a BorrowerFinancialProductUpdated reaches state BorrowerFinancialProductUpdated. payload: $ref: '#/components/schemas/WebhookNotification' CounterpartyCreditLimitCREATED: name: CounterpartyCreditLimit.CREATED title: CounterpartyCreditLimit.CREATED summary: Emitted when a CounterpartyCreditLimit reaches state CounterpartyCreditLimit.CREATED. payload: $ref: '#/components/schemas/WebhookNotification' CounterpartyCreditLimitUPDATED: name: CounterpartyCreditLimit.UPDATED title: CounterpartyCreditLimit.UPDATED summary: Emitted when a CounterpartyCreditLimit reaches state CounterpartyCreditLimit.UPDATED. payload: $ref: '#/components/schemas/WebhookNotification' CreditLimitUPDATED: name: CreditLimit.UPDATED title: CreditLimit.UPDATED summary: Emitted when a CreditLimit reaches state CreditLimit.UPDATED. payload: $ref: '#/components/schemas/WebhookNotification' CreditLineBALANCEUPDATED: name: CreditLine.BALANCE_UPDATED title: CreditLine.BALANCE_UPDATED summary: Emitted when a CreditLine reaches state CreditLine.BALANCE_UPDATED. payload: $ref: '#/components/schemas/WebhookNotification' CreditLineCREATED: name: CreditLine.CREATED title: CreditLine.CREATED summary: Emitted when a CreditLine reaches state CreditLine.CREATED. payload: $ref: '#/components/schemas/WebhookNotification' CreditLinePOOLAMOUNTUPDATED: name: CreditLine.POOL_AMOUNT_UPDATED title: CreditLine.POOL_AMOUNT_UPDATED summary: Emitted when a CreditLine reaches state CreditLine.POOL_AMOUNT_UPDATED. payload: $ref: '#/components/schemas/WebhookNotification' InvoiceDECLINED: name: Invoice.DECLINED title: Invoice.DECLINED summary: Emitted when a Invoice reaches state Invoice.DECLINED. payload: $ref: '#/components/schemas/WebhookNotification' InvoiceDELETED: name: Invoice.DELETED title: Invoice.DELETED summary: Emitted when a Invoice reaches state Invoice.DELETED. payload: $ref: '#/components/schemas/WebhookNotification' InvoiceSUBMITTED: name: Invoice.SUBMITTED title: Invoice.SUBMITTED summary: Emitted when a Invoice reaches state Invoice.SUBMITTED. payload: $ref: '#/components/schemas/WebhookNotification' InvoiceTOEDIT: name: Invoice.TO_EDIT title: Invoice.TO_EDIT summary: Emitted when a Invoice reaches state Invoice.TO_EDIT. payload: $ref: '#/components/schemas/WebhookNotification' InvoiceVERIFIED: name: Invoice.VERIFIED title: Invoice.VERIFIED summary: Emitted when a Invoice reaches state Invoice.VERIFIED. payload: $ref: '#/components/schemas/WebhookNotification' LoanCANCELED: name: Loan.CANCELED title: Loan.CANCELED summary: Emitted when a Loan reaches state Loan.CANCELED. payload: $ref: '#/components/schemas/WebhookNotification' LoanCLOSED: name: Loan.CLOSED title: Loan.CLOSED summary: Emitted when a Loan reaches state Loan.CLOSED. payload: $ref: '#/components/schemas/WebhookNotification' LoanDECLINED: name: Loan.DECLINED title: Loan.DECLINED summary: Emitted when a Loan reaches state Loan.DECLINED. payload: $ref: '#/components/schemas/WebhookNotification' LoanDELETED: name: Loan.DELETED title: Loan.DELETED summary: Emitted when a Loan reaches state Loan.DELETED. payload: $ref: '#/components/schemas/WebhookNotification' LoanINITIATED: name: Loan.INITIATED title: Loan.INITIATED summary: Emitted when a Loan reaches state Loan.INITIATED. payload: $ref: '#/components/schemas/WebhookNotification' LoanISSUEDETECTED: name: Loan.ISSUE_DETECTED title: Loan.ISSUE_DETECTED summary: Emitted when a Loan reaches state Loan.ISSUE_DETECTED. payload: $ref: '#/components/schemas/WebhookNotification' LoanPENDINGVALIDATION: name: Loan.PENDING_VALIDATION title: Loan.PENDING_VALIDATION summary: Emitted when a Loan reaches state Loan.PENDING_VALIDATION. payload: $ref: '#/components/schemas/WebhookNotification' LoanSCHEDULED: name: Loan.SCHEDULED title: Loan.SCHEDULED summary: Emitted when a Loan reaches state Loan.SCHEDULED. payload: $ref: '#/components/schemas/WebhookNotification' LoanSUBMITTED: name: Loan.SUBMITTED title: Loan.SUBMITTED summary: Emitted when a Loan reaches state Loan.SUBMITTED. payload: $ref: '#/components/schemas/WebhookNotification' LoanTOREPAY: name: Loan.TO_REPAY title: Loan.TO_REPAY summary: Emitted when a Loan reaches state Loan.TO_REPAY. payload: $ref: '#/components/schemas/WebhookNotification' LoanTOREPAYFEES: name: Loan.TO_REPAY_FEES title: Loan.TO_REPAY_FEES summary: Emitted when a Loan reaches state Loan.TO_REPAY_FEES. payload: $ref: '#/components/schemas/WebhookNotification' LoanTOVALIDATE: name: Loan.TO_VALIDATE title: Loan.TO_VALIDATE summary: Emitted when a Loan reaches state Loan.TO_VALIDATE. payload: $ref: '#/components/schemas/WebhookNotification' LoanVALIDATED: name: Loan.VALIDATED title: Loan.VALIDATED summary: Emitted when a Loan reaches state Loan.VALIDATED. payload: $ref: '#/components/schemas/WebhookNotification' PaymentCANCELED: name: Payment.CANCELED title: Payment.CANCELED summary: Emitted when a Payment reaches state Payment.CANCELED. payload: $ref: '#/components/schemas/WebhookNotification' PaymentFAILED: name: Payment.FAILED title: Payment.FAILED summary: Emitted when a Payment reaches state Payment.FAILED. payload: $ref: '#/components/schemas/WebhookNotification' PaymentINSTRUCTED: name: Payment.INSTRUCTED title: Payment.INSTRUCTED summary: Emitted when a Payment reaches state Payment.INSTRUCTED. payload: $ref: '#/components/schemas/WebhookNotification' PaymentINTRANSIT: name: Payment.IN_TRANSIT title: Payment.IN_TRANSIT summary: Emitted when a Payment reaches state Payment.IN_TRANSIT. payload: $ref: '#/components/schemas/WebhookNotification' PaymentPAID: name: Payment.PAID title: Payment.PAID summary: Emitted when a Payment reaches state Payment.PAID. payload: $ref: '#/components/schemas/WebhookNotification' PaymentSCHEDULED: name: Payment.SCHEDULED title: Payment.SCHEDULED summary: Emitted when a Payment reaches state Payment.SCHEDULED. payload: $ref: '#/components/schemas/WebhookNotification' schemas: WebhookNotification: type: object description: Notification body POSTed to your callback URL. properties: entity_type: type: string example: invoice transition_name: type: string example: SUBMIT status: type: string example: SUBMITTED timestamp: type: string format: date-time id: type: string format: uuid event_type: type: string enum: - BorrowerFinancialProductCreated - BorrowerFinancialProductUpdated - CounterpartyCreditLimit.CREATED - CounterpartyCreditLimit.UPDATED - CreditLimit.UPDATED - CreditLine.BALANCE_UPDATED - CreditLine.CREATED - CreditLine.POOL_AMOUNT_UPDATED - Invoice.DECLINED - Invoice.DELETED - Invoice.SUBMITTED - Invoice.TO_EDIT - Invoice.VERIFIED - Loan.CANCELED - Loan.CLOSED - Loan.DECLINED - Loan.DELETED - Loan.INITIATED - Loan.ISSUE_DETECTED - Loan.PENDING_VALIDATION - Loan.SCHEDULED - Loan.SUBMITTED - Loan.TO_REPAY - Loan.TO_REPAY_FEES - Loan.TO_VALIDATE - Loan.VALIDATED - Payment.CANCELED - Payment.FAILED - Payment.INSTRUCTED - Payment.IN_TRANSIT - Payment.PAID - Payment.SCHEDULED entity_state: type: object description: The same payload as returned by the corresponding GET endpoint for the entity. required: - entity_type - status - timestamp - id - event_type