1. Outbound Webhooks
marketplace-doc
  • Data Ingestion
  • Errors
  • Introduction
  • Loan API & Deduction Lifecycle
  • Getting Started
  • OAuth
  • Webhooks
  • Embedded Journey
  • OpenSylo Marketplace Integration API
    • OAuth 2.0
      • Start OAuth authorization
      • Exchange authorization code or refresh token
      • Revoke a token
      • Discover OAuth capabilities
    • Data Ingestion
      • Submit single merchant data
      • Submit bulk merchant data
      • Poll batch processing status
      • Get merchant credit score
      • Data ingestion health check
    • Sales & Events
      • Submit a sales event
      • Submit a repayment event
      • Submit an account flag
    • Loan API
      • Get active loans for a merchant
      • Get loan status
      • Validate deduction amounts
      • Bulk loan status
    • Inbound Webhooks
      • Repayment events
      • Settlement events
    • Outbound Webhooks
      • loan.approved
        POST
      • loan.disbursed
        POST
      • loan.repayment_updated
        POST
      • loan.nearly_complete
        POST
      • loan.completed
        POST
      • loan.defaulted
        POST
      • merchant.created
        POST
      • kyc.submitted
        POST
      • kyc.approved
        POST
      • kyc.rejected
        POST
      • funding_request.created
        POST
      • funding_request.fulfilled
        POST
      • funding_request.rejected
        POST
    • Embedded Journey (Marketplace API)
      • Create (or fetch) a merchant
      • Get merchant status (KYC, credit score, funding requests)
      • Update business KYC information
      • Add directors (bulk)
      • Attach a KYC document
      • Submit KYC for review
      • Submit sales data for credit scoring
      • Create a funding request
      • Mint an embed token for the hosted journey
    • Schemas
      • TokenRequest
      • TokenResponse
      • OAuthError
      • ClientMetadataResponse
      • MerchantIdentity
      • SalesPerformance
      • RevenueConsistency
      • FulfillmentMetrics
      • PayoutCashFlow
      • PlatformDependency
      • HistoricalCredit
      • BehavioralRisk
      • MonthlyHistoryEntry
      • MerchantDataRequest
      • CreditScore
      • LoanEligibilityResult
      • MerchantDataResponse
      • BulkMerchantDataRequest
      • AsyncBulkProcessingResponse
      • BatchStatusResponse
      • SalesEventRequest
      • RepaymentEventRequest
      • AccountFlagRequest
      • MerchantInfo
      • LenderInfo
      • RepaymentInfo
      • LoanTermsInfo
      • ActiveLoan
      • ActiveLoansSummary
      • ActiveLoansResponse
      • LoanStatusRepayment
      • LoanStatusResponse
      • ValidateDeductionsRequest
      • DeductionItem
      • DeductionSummary
      • ValidateDeductionsResponse
      • BulkLoanStatusRequest
      • BulkLoanStatusItem
      • BulkStatusSummary
      • BulkLoanStatusResponse
      • WebhookMarketplace
      • WebhookMerchant
      • WebhookLoan
      • DeductionDetails
      • SourceTransaction
      • LoanBalance
      • RepaymentDeductedWebhook
      • FailureDetails
      • RepaymentFailedWebhook
      • ReversalDetails
      • RepaymentReversedWebhook
      • SettlementDetails
      • SettlementSummaryByStatus
      • SettlementSummary
      • SettlementLoanIncluded
      • BankTransferDetails
      • SettlementCreatedWebhook
      • SettlementTransferredWebhook
      • TransferDetails
      • WebhookAckResponse
      • OutboundLoan
      • OutboundMerchant
      • OutboundLender
      • LoanTerms
      • RepaymentTerms
      • ScheduleInstallment
      • LoanApprovedPayload
      • DisbursementDetails
      • DisbursedRepayment
      • LoanDisbursedPayload
      • ChangeDetail
      • LoanRepaymentUpdatedPayload
      • RepaymentStatus
      • NearlyCompleteRecommendation
      • LoanNearlyCompletePayload
      • CompletionSummary
      • LoanCompletedPayload
      • DefaultDetails
      • CollectionInstructions
      • LoanDefaultedPayload
      • ApiError
      • RateLimitError
      • EmbedCreateMerchantRequest
      • EmbedCreateMerchantResponse
      • EmbedBusinessKyc
      • EmbedDirectorInfo
      • EmbedBulkDirectors
      • EmbedDirectorListItem
      • EmbedDocumentUpload
      • EmbedSalesDataAccepted
      • EmbedCreateFundingRequest
      • EmbedFundingRequestIntent
      • EmbedMerchantStatusResponse
      • EmbedTokenResponse
      • MarketplaceMerchantRef
      • MerchantCreatedPayload
      • KycStatusPayload
      • FundingRequestEventPayload
  • OpenSylo Marketplace API
    • OAuth 2.0
      • Start OAuth authorization
      • Exchange code or refresh token
      • Revoke a token
      • OAuth discovery / client metadata
    • Data Ingestion
      • Submit single merchant data
      • Submit bulk merchant data
      • Get merchant credit score
      • Integration health check
    • Loan API
      • Get active loans for a merchant
      • Get loan status
      • Validate deduction amounts
      • Bulk loan status check
    • Inbound Webhooks
      • Send repayment webhook
      • Send settlement webhook
    • Schemas
      • TokenRequest
      • TokenResponse
      • RevokeRequest
      • ClientMetadataResponse
      • MerchantIdentity
      • SalesPerformance
      • RevenueConsistency
      • FulfillmentMetrics
      • PayoutCashFlow
      • PlatformDependency
      • HistoricalCredit
      • BehavioralRisk
      • MerchantDataRequest
      • ScoreBreakdown
      • CreditScore
      • MerchantDataResponse
      • BulkMerchantDataRequest
      • BulkMerchantDataResponse
      • CreditScoreResponse
      • HealthResponse
      • ActiveLoansResponse
      • LoanStatusResponse
      • ValidateDeductionsRequest
      • ValidateDeductionsResponse
      • BulkLoanStatusRequest
      • BulkLoanStatusResponse
      • RepaymentWebhookRequest
      • SettlementWebhookRequest
      • WebhookAckResponse
      • OAuthError
      • ApiError
  1. Outbound Webhooks

loan.completed

POST
https://api.opensylo.com/webhooks/outbound/loan.completed
Documentation only -- this event is sent by OpenSylo to your webhook URL.
Fired when a loan is fully repaid. Includes a summary of all repayments.
Action required: Stop all deductions for this loan immediately.

Request

Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200OK
Your server should return 200 to acknowledge receipt.
This response does not have a body.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.opensylo.com/webhooks/outbound/loan.completed' \
--header 'X-OpenSylo-Signature: sha256=f1e2d3c4b5a6f7e8d9c0b1a2f3e4d5c6b7a8f9e0d1c2b3a4f5e6d7c8b9a0f1e2' \
--header 'X-OpenSylo-Timestamp: 1712495400' \
--header 'X-OpenSylo-Event-Id: evt_oa_20260407_001' \
--header 'Content-Type: application/json' \
--data '{
    "event": "loan.completed",
    "event_id": "evt_oc_20260407_005",
    "timestamp": "2026-04-07T18:00:00.000Z",
    "loan": {
        "id": "loan_f1e2d3c4-b5a6-7890-1234-567890abcdef",
        "reference": "OSL-2026-00142",
        "status": "completed"
    },
    "merchant": {
        "opensylo_id": "mch_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
        "marketplace_id": "PLT_MERCH_001"
    },
    "summary": {
        "principal_repaid": 1500000,
        "interest_repaid": 225000,
        "total_repaid": 1725000,
        "total_deductions": 48,
        "first_deduction_at": "2026-04-10T08:30:00.000Z",
        "final_deduction_at": "2026-04-07T17:45:00.000Z",
        "completed_at": "2026-04-07T18:00:00.000Z"
    },
    "action_required": "stop_deductions",
    "message": "Loan OSL-2026-00142 is fully repaid. Stop all deductions for this loan."
}'
Modified at 2026-06-10 14:59:29
Previous
loan.nearly_complete
Next
loan.defaulted
Built with