Defacto · AsyncAPI Specification

Defacto Webhooks

Version 1.0.0

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).

View Spec View on GitHub CompanyFintechEmbedded FinanceLendingWorking CapitalInvoice FinancingCreditB2B PaymentsSMBFranceEuropeAsyncAPIWebhooksEvents

Channels

subscriberCallback
subscribe receiveDefactoEvent
Receive a Defacto webhook notification.
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}.

Messages

BorrowerFinancialProductCreated
BorrowerFinancialProductCreated
Emitted when a BorrowerFinancialProductCreated reaches state BorrowerFinancialProductCreated.
BorrowerFinancialProductUpdated
BorrowerFinancialProductUpdated
Emitted when a BorrowerFinancialProductUpdated reaches state BorrowerFinancialProductUpdated.
CounterpartyCreditLimitCREATED
CounterpartyCreditLimit.CREATED
Emitted when a CounterpartyCreditLimit reaches state CounterpartyCreditLimit.CREATED.
CounterpartyCreditLimitUPDATED
CounterpartyCreditLimit.UPDATED
Emitted when a CounterpartyCreditLimit reaches state CounterpartyCreditLimit.UPDATED.
CreditLimitUPDATED
CreditLimit.UPDATED
Emitted when a CreditLimit reaches state CreditLimit.UPDATED.
CreditLineBALANCEUPDATED
CreditLine.BALANCE_UPDATED
Emitted when a CreditLine reaches state CreditLine.BALANCE_UPDATED.
CreditLineCREATED
CreditLine.CREATED
Emitted when a CreditLine reaches state CreditLine.CREATED.
CreditLinePOOLAMOUNTUPDATED
CreditLine.POOL_AMOUNT_UPDATED
Emitted when a CreditLine reaches state CreditLine.POOL_AMOUNT_UPDATED.
InvoiceDECLINED
Invoice.DECLINED
Emitted when a Invoice reaches state Invoice.DECLINED.
InvoiceDELETED
Invoice.DELETED
Emitted when a Invoice reaches state Invoice.DELETED.
InvoiceSUBMITTED
Invoice.SUBMITTED
Emitted when a Invoice reaches state Invoice.SUBMITTED.
InvoiceTOEDIT
Invoice.TO_EDIT
Emitted when a Invoice reaches state Invoice.TO_EDIT.
InvoiceVERIFIED
Invoice.VERIFIED
Emitted when a Invoice reaches state Invoice.VERIFIED.
LoanCANCELED
Loan.CANCELED
Emitted when a Loan reaches state Loan.CANCELED.
LoanCLOSED
Loan.CLOSED
Emitted when a Loan reaches state Loan.CLOSED.
LoanDECLINED
Loan.DECLINED
Emitted when a Loan reaches state Loan.DECLINED.
LoanDELETED
Loan.DELETED
Emitted when a Loan reaches state Loan.DELETED.
LoanINITIATED
Loan.INITIATED
Emitted when a Loan reaches state Loan.INITIATED.
LoanISSUEDETECTED
Loan.ISSUE_DETECTED
Emitted when a Loan reaches state Loan.ISSUE_DETECTED.
LoanPENDINGVALIDATION
Loan.PENDING_VALIDATION
Emitted when a Loan reaches state Loan.PENDING_VALIDATION.
LoanSCHEDULED
Loan.SCHEDULED
Emitted when a Loan reaches state Loan.SCHEDULED.
LoanSUBMITTED
Loan.SUBMITTED
Emitted when a Loan reaches state Loan.SUBMITTED.
LoanTOREPAY
Loan.TO_REPAY
Emitted when a Loan reaches state Loan.TO_REPAY.
LoanTOREPAYFEES
Loan.TO_REPAY_FEES
Emitted when a Loan reaches state Loan.TO_REPAY_FEES.
LoanTOVALIDATE
Loan.TO_VALIDATE
Emitted when a Loan reaches state Loan.TO_VALIDATE.
LoanVALIDATED
Loan.VALIDATED
Emitted when a Loan reaches state Loan.VALIDATED.
PaymentCANCELED
Payment.CANCELED
Emitted when a Payment reaches state Payment.CANCELED.
PaymentFAILED
Payment.FAILED
Emitted when a Payment reaches state Payment.FAILED.
PaymentINSTRUCTED
Payment.INSTRUCTED
Emitted when a Payment reaches state Payment.INSTRUCTED.
PaymentINTRANSIT
Payment.IN_TRANSIT
Emitted when a Payment reaches state Payment.IN_TRANSIT.
PaymentPAID
Payment.PAID
Emitted when a Payment reaches state Payment.PAID.
PaymentSCHEDULED
Payment.SCHEDULED
Emitted when a Payment reaches state Payment.SCHEDULED.

AsyncAPI Specification

Raw ↑
# 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