# OpenSylo Marketplace API ## Docs - [Introduction](https://docs.opensylo.com/introduction-1946703m0.md): - [Getting Started](https://docs.opensylo.com/getting-started-1946704m0.md): - [OAuth 2.0 Flow](https://docs.opensylo.com/oauth-2-0-flow-1946705m0.md): - [Webhook Integration](https://docs.opensylo.com/webhook-integration-1946706m0.md): - [Sandbox Testing](https://docs.opensylo.com/sandbox-testing-1946707m0.md): - [Error Reference](https://docs.opensylo.com/error-reference-1946708m0.md): ## API Docs - Marketplace Dashboard [Login to the marketplace dashboard](https://docs.opensylo.com/login-to-the-marketplace-dashboard-27358846e0.md): Authenticate with email and password to obtain a dashboard JWT valid for 24 hours. - Marketplace Dashboard [View OAuth credentials](https://docs.opensylo.com/view-oauth-credentials-27358847e0.md): Retrieve your marketplace's OAuth client credentials. The client secret is masked — it was only shown in full at creation or after regeneration. - Marketplace Dashboard [Regenerate client secret](https://docs.opensylo.com/regenerate-client-secret-27358848e0.md): Generate a new client secret. The new secret is shown only once in the response. The old secret is immediately invalidated. Existing OAuth access/refresh tokens remain valid. - OAuth 2.0 [Start OAuth authorization](https://docs.opensylo.com/start-oauth-authorization-27358849e0.md): Redirect the merchant's browser here to start the authorization code flow. The merchant logs in and grants consent. On success, OpenSylo redirects to your `redirect_uri` with an authorization `code` and your `state`. The authorization code expires in 5 minutes. - OAuth 2.0 [Exchange code or refresh token](https://docs.opensylo.com/exchange-code-or-refresh-token-27358850e0.md): Exchange an authorization code for tokens (`grant_type=authorization_code`) or refresh an expired access token (`grant_type=refresh_token`). Access tokens are valid for 1 hour; refresh tokens for 30 days. Refresh tokens are NOT rotated. - OAuth 2.0 [Revoke a token](https://docs.opensylo.com/revoke-a-token-27358851e0.md): Revoke an access token or refresh token. Per the OAuth specification, this endpoint returns 200 OK even if the token is invalid or already revoked. - OAuth 2.0 [OAuth discovery / client metadata](https://docs.opensylo.com/oauth-discovery-client-metadata-27358852e0.md): Returns the OAuth capabilities supported by OpenSylo for the given client. - Data Ingestion [Submit single merchant data](https://docs.opensylo.com/submit-single-merchant-data-27358853e0.md): Submit merchant performance data for credit scoring. The merchant ID is enforced from the OAuth token — you can only submit data for the merchant who consented. Returns the calculated credit score. - Data Ingestion [Submit bulk merchant data](https://docs.opensylo.com/submit-bulk-merchant-data-27358854e0.md): Submit data for multiple merchants in a single request. Maximum 1000 merchants per batch. For single-merchant OAuth tokens, the endpoint filters to only include data for the consented merchant. - Data Ingestion [Get merchant credit score](https://docs.opensylo.com/get-merchant-credit-score-27358855e0.md): Retrieve the most recent credit score for a merchant. You can only access scores for merchants who have granted consent to your marketplace. - Data Ingestion [Integration health check](https://docs.opensylo.com/integration-health-check-27358856e0.md): Confirms that your OAuth token is valid and your marketplace has proper authorization. - Loan API [Get active loans for a merchant](https://docs.opensylo.com/get-active-loans-for-a-merchant-27358857e0.md): Retrieve all active (disbursed) loans for a merchant, including repayment terms and outstanding balances. - Loan API [Get loan status](https://docs.opensylo.com/get-loan-status-27358858e0.md): Retrieve the current status of a specific loan, including repayment progress and collection priority. - Loan API [Validate deduction amounts](https://docs.opensylo.com/validate-deduction-amounts-27358859e0.md): Before applying deductions to a merchant's sale, call this endpoint to calculate the correct deduction amounts across all active loans. The validation result is valid for 15 minutes. - Loan API [Bulk loan status check](https://docs.opensylo.com/bulk-loan-status-check-27358860e0.md): Check the status of multiple loans in a single request. - Inbound Webhooks [Send repayment webhook](https://docs.opensylo.com/send-repayment-webhook-27358861e0.md): 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. - Inbound Webhooks [Send settlement webhook](https://docs.opensylo.com/send-settlement-webhook-27358862e0.md): Send a settlement event (created, transferred) from your marketplace to OpenSylo. Uses the same HMAC-SHA256 signature authentication as the repayment endpoint. - Sandbox [Sandbox environment info](https://docs.opensylo.com/sandbox-environment-info-27358863e0.md): Returns sandbox environment details, limitations, rate limits, and documentation URL. No authentication required. - Sandbox [Get sandbox test credentials](https://docs.opensylo.com/get-sandbox-test-credentials-27358864e0.md): Returns OAuth test credentials for sandbox marketplaces. Sandbox client IDs are prefixed with `sb_`. No authentication required. - Sandbox [Get sandbox test merchants](https://docs.opensylo.com/get-sandbox-test-merchants-27358865e0.md): Returns pre-seeded test merchant accounts organized by credit tier (A through E). Each tier simulates a different credit profile for testing various approval, conditional, and rejection flows. No authentication required. ## Schemas - [DashboardLoginRequest](https://docs.opensylo.com/dashboardloginrequest-12620660d0.md): - [DashboardLoginResponse](https://docs.opensylo.com/dashboardloginresponse-12620661d0.md): - [CredentialsResponse](https://docs.opensylo.com/credentialsresponse-12620662d0.md): - [RegenerateSecretResponse](https://docs.opensylo.com/regeneratesecretresponse-12620663d0.md): - [TokenRequest](https://docs.opensylo.com/tokenrequest-12620664d0.md): - [TokenResponse](https://docs.opensylo.com/tokenresponse-12620665d0.md): - [RevokeRequest](https://docs.opensylo.com/revokerequest-12620666d0.md): - [ClientMetadataResponse](https://docs.opensylo.com/clientmetadataresponse-12620667d0.md): - [MerchantIdentity](https://docs.opensylo.com/merchantidentity-12620668d0.md): - [SalesPerformance](https://docs.opensylo.com/salesperformance-12620669d0.md): - [RevenueConsistency](https://docs.opensylo.com/revenueconsistency-12620670d0.md): - [FulfillmentMetrics](https://docs.opensylo.com/fulfillmentmetrics-12620671d0.md): - [PayoutCashFlow](https://docs.opensylo.com/payoutcashflow-12620672d0.md): - [PlatformDependency](https://docs.opensylo.com/platformdependency-12620673d0.md): - [HistoricalCredit](https://docs.opensylo.com/historicalcredit-12620674d0.md): - [BehavioralRisk](https://docs.opensylo.com/behavioralrisk-12620675d0.md): - [MerchantDataRequest](https://docs.opensylo.com/merchantdatarequest-12620676d0.md): - [ScoreBreakdown](https://docs.opensylo.com/scorebreakdown-12620677d0.md): - [CreditScore](https://docs.opensylo.com/creditscore-12620678d0.md): - [MerchantDataResponse](https://docs.opensylo.com/merchantdataresponse-12620679d0.md): - [BulkMerchantDataRequest](https://docs.opensylo.com/bulkmerchantdatarequest-12620680d0.md): - [BulkMerchantDataResponse](https://docs.opensylo.com/bulkmerchantdataresponse-12620681d0.md): - [CreditScoreResponse](https://docs.opensylo.com/creditscoreresponse-12620682d0.md): - [HealthResponse](https://docs.opensylo.com/healthresponse-12620683d0.md): - [ActiveLoansResponse](https://docs.opensylo.com/activeloansresponse-12620684d0.md): - [LoanStatusResponse](https://docs.opensylo.com/loanstatusresponse-12620685d0.md): - [ValidateDeductionsRequest](https://docs.opensylo.com/validatedeductionsrequest-12620686d0.md): - [ValidateDeductionsResponse](https://docs.opensylo.com/validatedeductionsresponse-12620687d0.md): - [BulkLoanStatusRequest](https://docs.opensylo.com/bulkloanstatusrequest-12620688d0.md): - [BulkLoanStatusResponse](https://docs.opensylo.com/bulkloanstatusresponse-12620689d0.md): - [RepaymentWebhookRequest](https://docs.opensylo.com/repaymentwebhookrequest-12620690d0.md): - [SettlementWebhookRequest](https://docs.opensylo.com/settlementwebhookrequest-12620691d0.md): - [WebhookAckResponse](https://docs.opensylo.com/webhookackresponse-12620692d0.md): - [SandboxInfoResponse](https://docs.opensylo.com/sandboxinforesponse-12620693d0.md): - [SandboxCredentialsResponse](https://docs.opensylo.com/sandboxcredentialsresponse-12620694d0.md): - [SandboxMerchantsResponse](https://docs.opensylo.com/sandboxmerchantsresponse-12620695d0.md): - [OAuthError](https://docs.opensylo.com/oautherror-12620696d0.md): - [ApiError](https://docs.opensylo.com/apierror-12620697d0.md):