1. Embedded Journey (Marketplace API)
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
      • loan.disbursed
      • loan.repayment_updated
      • loan.nearly_complete
      • loan.completed
      • loan.defaulted
      • merchant.created
      • kyc.submitted
      • kyc.approved
      • kyc.rejected
      • funding_request.created
      • funding_request.fulfilled
      • funding_request.rejected
    • Embedded Journey (Marketplace API)
      • Create (or fetch) a merchant
        POST
      • Get merchant status (KYC, credit score, funding requests)
        GET
      • Update business KYC information
        PUT
      • Add directors (bulk)
        POST
      • Attach a KYC document
        POST
      • Submit KYC for review
        POST
      • Submit sales data for credit scoring
        POST
      • Create a funding request
        POST
      • Mint an embed token for the hosted journey
        POST
    • 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. Embedded Journey (Marketplace API)

Submit sales data for credit scoring

POST
https://api.opensylo.com/api/v1/marketplace-api/merchants/{ref}/sales-data
Secret-key variant of the data-ingestion endpoint -- same payload as
POST /api/marketplace/data/merchant, but asynchronous: the
response acknowledges receipt and scoring completes in the background
(typically within ~5 minutes). Poll GET /merchants/{ref} for a
populated creditScore.
The first successful ingestion transitions the marketplace connection
from PENDING to ACTIVE. A credit score is a prerequisite for
funding-request fulfillment.

Request

Authorization
API Key
Add parameter in header
X-OpenSylo-Secret-Key
Example:
X-OpenSylo-Secret-Key: ********************
or
Path Params

Body Params application/jsonRequired

Examples

Responses

🟢200OK
application/json
Data accepted for asynchronous scoring.
Bodyapplication/json

🟠404Record Not Found
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.opensylo.com/api/v1/marketplace-api/merchants/mkt_merchant_8421/sales-data' \
--header 'X-OpenSylo-Secret-Key: <api-key>' \
--header 'Content-Type: application/json' \
--data '{
    "merchantIdentity": {
        "merchantId": "PLT_MERCH_001",
        "businessName": "Adebayo Electronics Limited",
        "businessType": "INDIVIDUAL",
        "marketplaceOnboardingDate": "2023-06-15T00:00:00.000Z",
        "verificationStatus": true,
        "location": "Lagos, Nigeria",
        "country": "NG",
        "category": "Electronics & Gadgets"
    },
    "salesPerformance": {
        "gmv30Days": 4500000,
        "gmv90Days": 12500000,
        "gmv180Days": 24000000,
        "avgMonthlySales": 4000000,
        "orderCount": 320,
        "avgOrderValue": 14062.5,
        "salesGrowthRate": 8.5
    },
    "revenueConsistency": {
        "monthlySalesVariance": 0.15,
        "zeroSalesMonths": 0,
        "longestSalesStreak": 12,
        "revenueConcentration": 25
    },
    "fulfillmentMetrics": {
        "fulfillmentRate": 96.5,
        "cancellationRate": 2.1,
        "refundRate": 1.8,
        "refundAmount": 432000,
        "disputeRate": 0.5,
        "lateDeliveryRate": 3.2
    },
    "payoutCashFlow": {
        "payoutFrequency": "DAILY",
        "avgPayoutValue": 1125000,
        "failedPayouts": 0,
        "walletBalanceUsage": 50000,
        "settlementDelays": 0
    },
    "platformDependency": {
        "topProductGmvPercentage": 15,
        "topCustomerPercentage": 8
    },
    "historicalCredit": {
        "previousAdvances": 2,
        "repaymentRate": 100,
        "daysPastDue": 0,
        "hasDefaults": false,
        "earlyRepayments": 1
    },
    "behavioralRisk": {
        "accountSuspensions": 0,
        "policyViolationsSeverity": null,
        "hasFraudFlags": false,
        "hasSuddenGmvSpikes": false,
        "hasLinkedAccounts": false
    },
    "monthlySalesHistory": [
        {
            "gmv": 4200000,
            "orderCount": 310,
            "monthLabel": "2025-11"
        },
        {
            "gmv": 4200000,
            "orderCount": 310,
            "monthLabel": "2025-11"
        },
        {
            "gmv": 4200000,
            "orderCount": 310,
            "monthLabel": "2025-11"
        },
        {
            "gmv": 4200000,
            "orderCount": 310,
            "monthLabel": "2025-11"
        },
        {
            "gmv": 4200000,
            "orderCount": 310,
            "monthLabel": "2025-11"
        },
        {
            "gmv": 4200000,
            "orderCount": 310,
            "monthLabel": "2025-11"
        }
    ],
    "marketplaceId": "mkt_live_abc123def456",
    "dataTimestamp": "2026-04-07T10:00:00.000Z",
    "correlationId": "corr_20260407_batch_001"
}'
Response Response Example
200 - Success Example
{
    "accepted": true,
    "status": "processing",
    "merchantId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "thirdPartyCustomerId": "mkt_merchant_8421",
    "submittedAt": "2026-06-10T10:00:00.123Z"
}
Modified at 2026-06-10 14:59:36
Previous
Submit KYC for review
Next
Create a funding request
Built with