OpenSylo Marketplace API
  1. Inbound Webhooks
OpenSylo Marketplace API
  • Introduction
  • Getting Started
  • OAuth 2.0 Flow
  • Webhook Integration
  • Sandbox Testing
  • Error Reference
  • Marketplace Dashboard
    • Login to the marketplace dashboard
      POST
    • View OAuth credentials
      GET
    • Regenerate client secret
      POST
  • OAuth 2.0
    • Start OAuth authorization
      GET
    • Exchange code or refresh token
      POST
    • Revoke a token
      POST
    • OAuth discovery / client metadata
      GET
  • Data Ingestion
    • Submit single merchant data
      POST
    • Submit bulk merchant data
      POST
    • Get merchant credit score
      GET
    • Integration health check
      GET
  • Loan API
    • Get active loans for a merchant
      GET
    • Get loan status
      GET
    • Validate deduction amounts
      POST
    • Bulk loan status check
      POST
  • Inbound Webhooks
    • Send repayment webhook
      POST
    • Send settlement webhook
      POST
  • Sandbox
    • Sandbox environment info
      GET
    • Get sandbox test credentials
      GET
    • Get sandbox test merchants
      GET
  • Schemas
    • DashboardLoginRequest
    • DashboardLoginResponse
    • CredentialsResponse
    • RegenerateSecretResponse
    • 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
    • SandboxInfoResponse
    • SandboxCredentialsResponse
    • SandboxMerchantsResponse
    • OAuthError
    • ApiError
  1. Inbound Webhooks

Send repayment webhook

POST
/api/v1/webhooks/marketplace/repayment
Send a repayment event (deducted, failed, reversed) from your marketplace to OpenSylo. Requires HMAC-SHA256 signature authentication via headers. Timestamp must be within 5 minutes of server time.

Request

Authorization
API Key
Add parameter in header
X-Marketplace-Signature
Example:
X-Marketplace-Signature: ********************
or
Header Params

Body Params application/jsonRequired

Examples

Responses

🟢200
application/json
Webhook received
Body

🟠401
🟠409
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.opensylo.com/api/v1/webhooks/marketplace/repayment' \
--header 'X-Marketplace-Timestamp: 1706529000' \
--header 'X-Marketplace-Id: marketplace_uuid' \
--header 'X-Marketplace-Event-Id: evt_rep_001' \
--header 'X-Marketplace-Signature: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "event": "repayment.deducted",
    "event_id": "evt_rep_001",
    "timestamp": "2026-01-29T10:30:00.000Z",
    "marketplace": {
        "id": "marketplace_uuid",
        "name": "Your Marketplace"
    },
    "merchant": {
        "marketplace_id": "your_internal_merchant_id",
        "opensylo_id": "opensylo_merchant_uuid"
    },
    "loan": {
        "opensylo_id": "loan_uuid",
        "opensylo_reference": "LOAN-2026-001"
    },
    "deduction": {
        "reference": "deduct_ref_001",
        "amount": 5000,
        "currency": "NGN",
        "deducted_at": "2026-01-29T10:30:00.000Z"
    },
    "source_transaction": {
        "id": "order_123",
        "type": "sale",
        "gross_amount": 25000,
        "timestamp": "2026-01-29T10:25:00.000Z"
    },
    "loan_balance": {
        "total_due": 100000,
        "total_paid": 55000,
        "outstanding": 45000
    }
}'
Response Response Example
200 - Success
{
    "status": "received",
    "event_id": "evt_rep_001",
    "opensylo_reference": "txn_uuid",
    "received_at": "2026-01-29T10:30:01.000Z"
}
Modified at 2026-01-29 23:19:05
Previous
Bulk loan status check
Next
Send settlement webhook
Built with