# marketplace-doc ## Docs - [Data Ingestion](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/data-ingestion-2070847m0.md): - [Errors](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/errors-2070848m0.md): - [Introduction](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/introduction-2070850m0.md): - [Loan API & Deduction Lifecycle](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/loan-api-deduction-lifecycle-2070851m0.md): - [Getting Started](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/getting-started-2070858m0.md): - [OAuth](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/oauth-2070859m0.md): - [Webhooks](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/webhooks-2070860m0.md): - [Embedded Journey](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/embedded-journey-2197729m0.md): ## API Docs - OpenSylo Marketplace Integration API > OAuth 2.0 [Start OAuth authorization](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/start-oauth-authorization-32821358e0.md): Initiates the Authorization Code + PKCE flow. The marketplace redirects - OpenSylo Marketplace Integration API > OAuth 2.0 [Exchange authorization code or refresh token](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/exchange-authorization-code-or-refresh-token-32821359e0.md): Exchanges an authorization code for an access token (with PKCE verification), - OpenSylo Marketplace Integration API > OAuth 2.0 [Revoke a token](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/revoke-a-token-32821360e0.md): Revokes an access token or refresh token. Per RFC 7009, this endpoint - OpenSylo Marketplace Integration API > OAuth 2.0 [Discover OAuth capabilities](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/discover-oauth-capabilities-32821361e0.md): Returns OAuth server metadata for the given client, including supported - OpenSylo Marketplace Integration API > Data Ingestion [Submit single merchant data](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/submit-single-merchant-data-32821362e0.md): Submits performance data for a single merchant. OpenSylo calculates a credit - OpenSylo Marketplace Integration API > Data Ingestion [Submit bulk merchant data](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/submit-bulk-merchant-data-32821363e0.md): Submits performance data for multiple merchants in a single request. - OpenSylo Marketplace Integration API > Data Ingestion [Poll batch processing status](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/poll-batch-processing-status-32821364e0.md): Returns the current status of a bulk data processing batch. - OpenSylo Marketplace Integration API > Data Ingestion [Get merchant credit score](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/get-merchant-credit-score-32821365e0.md): Retrieves the most recent credit score for the specified merchant. - OpenSylo Marketplace Integration API > Data Ingestion [Data ingestion health check](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/data-ingestion-health-check-32821366e0.md): Confirms the marketplace has proper data sharing consent and authorization. - OpenSylo Marketplace Integration API > Sales & Events [Submit a sales event](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/submit-a-sales-event-32821367e0.md): Records a sales event (sale, refund, cancellation, chargeback, or adjustment) - OpenSylo Marketplace Integration API > Sales & Events [Submit a repayment event](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/submit-a-repayment-event-32821368e0.md): Records a repayment collection event (collection, deduction, refund, or reversal). - OpenSylo Marketplace Integration API > Sales & Events [Submit an account flag](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/submit-an-account-flag-32821369e0.md): Reports an account flag or risk signal for a merchant. Flags affect the - OpenSylo Marketplace Integration API > Loan API [Get active loans for a merchant](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/get-active-loans-for-a-merchant-32821370e0.md): Returns all active (disbursed or repaying) loans for a merchant on this marketplace. - OpenSylo Marketplace Integration API > Loan API [Get loan status](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/get-loan-status-32821371e0.md): Returns the current status and repayment details for a specific loan. - OpenSylo Marketplace Integration API > Loan API [Validate deduction amounts](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/validate-deduction-amounts-32821372e0.md): Given a sale amount, calculates how much should be deducted for each active loan. - OpenSylo Marketplace Integration API > Loan API [Bulk loan status](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/bulk-loan-status-32821373e0.md): Returns the status of multiple loans in a single request. Useful for - OpenSylo Marketplace Integration API > Inbound Webhooks [Repayment events](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/repayment-events-32821374e0.md): Receives repayment events from the marketplace: deductions, failures, and reversals. - OpenSylo Marketplace Integration API > Inbound Webhooks [Settlement events](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/settlement-events-32821375e0.md): Receives settlement events from the marketplace: settlement creation and - OpenSylo Marketplace Integration API > Outbound Webhooks [loan.approved](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/loan-approved-32821376e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [loan.disbursed](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/loan-disbursed-32821377e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [loan.repayment_updated](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/loan-repayment-updated-32821378e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [loan.nearly_complete](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/loan-nearly-complete-32821379e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [loan.completed](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/loan-completed-32821380e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [loan.defaulted](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/loan-defaulted-32821381e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [merchant.created](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/merchant-created-37642143e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [kyc.submitted](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/kyc-submitted-37642144e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [kyc.approved](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/kyc-approved-37642145e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [kyc.rejected](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/kyc-rejected-37642146e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [funding_request.created](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/funding-request-created-37642147e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [funding_request.fulfilled](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/funding-request-fulfilled-37642148e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Outbound Webhooks [funding_request.rejected](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/funding-request-rejected-37642149e0.md): **Documentation only -- this event is sent by OpenSylo to your webhook URL.** - OpenSylo Marketplace Integration API > Embedded Journey (Marketplace API) [Create (or fetch) a merchant](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/create-or-fetch-a-merchant-37642150e0.md): Creates an OpenSylo merchant for one of your customers. **Idempotent on - OpenSylo Marketplace Integration API > Embedded Journey (Marketplace API) [Get merchant status (KYC, credit score, funding requests)](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/get-merchant-status-kyc-credit-score-funding-requests-37642151e0.md): Polling endpoint covering the whole journey: connection status, KYC - OpenSylo Marketplace Integration API > Embedded Journey (Marketplace API) [Update business KYC information](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/update-business-kyc-information-37642152e0.md): Prefills (or updates) the merchant's business information. Anything set - OpenSylo Marketplace Integration API > Embedded Journey (Marketplace API) [Add directors (bulk)](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/add-directors-bulk-37642153e0.md): Adds one or more directors/significant persons. BVN identities are - OpenSylo Marketplace Integration API > Embedded Journey (Marketplace API) [Attach a KYC document](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/attach-a-kyc-document-37642154e0.md): Attaches an already-uploaded file (by `fileKey` from the presigned - OpenSylo Marketplace Integration API > Embedded Journey (Marketplace API) [Submit KYC for review](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/submit-kyc-for-review-37642155e0.md): Transitions the merchant's KYC to `SUBMITTED` and queues it for review. - OpenSylo Marketplace Integration API > Embedded Journey (Marketplace API) [Submit sales data for credit scoring](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/submit-sales-data-for-credit-scoring-37642156e0.md): Secret-key variant of the data-ingestion endpoint -- same payload as - OpenSylo Marketplace Integration API > Embedded Journey (Marketplace API) [Create a funding request](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/create-a-funding-request-37642157e0.md): Creates a funding-request intent. The intent starts `PENDING` and is - OpenSylo Marketplace Integration API > Embedded Journey (Marketplace API) [Mint an embed token for the hosted journey](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/mint-an-embed-token-for-the-hosted-journey-37642158e0.md): Mints a short-lived (15-minute) JWT scoped to this single merchant, for - OpenSylo Marketplace API > OAuth 2.0 [Start OAuth authorization](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/start-oauth-authorization-32894502e0.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. - OpenSylo Marketplace API > OAuth 2.0 [Exchange code or refresh token](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/exchange-code-or-refresh-token-32894503e0.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. - OpenSylo Marketplace API > OAuth 2.0 [Revoke a token](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/revoke-a-token-32894504e0.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. - OpenSylo Marketplace API > OAuth 2.0 [OAuth discovery / client metadata](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/oauth-discovery-client-metadata-32894505e0.md): Returns the OAuth capabilities supported by OpenSylo for the given client. - OpenSylo Marketplace API > Data Ingestion [Submit single merchant data](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/submit-single-merchant-data-32894506e0.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. - OpenSylo Marketplace API > Data Ingestion [Submit bulk merchant data](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/submit-bulk-merchant-data-32894507e0.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. - OpenSylo Marketplace API > Data Ingestion [Get merchant credit score](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/get-merchant-credit-score-32894508e0.md): Retrieve the most recent credit score for a merchant. You can only access scores for merchants who have granted consent to your marketplace. - OpenSylo Marketplace API > Data Ingestion [Integration health check](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/integration-health-check-32894509e0.md): Confirms that your OAuth token is valid and your marketplace has proper authorization. - OpenSylo Marketplace API > Loan API [Get active loans for a merchant](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/get-active-loans-for-a-merchant-32894510e0.md): Retrieve all active (disbursed) loans for a merchant, including repayment terms and outstanding balances. - OpenSylo Marketplace API > Loan API [Get loan status](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/get-loan-status-32894511e0.md): Retrieve the current status of a specific loan, including repayment progress and collection priority. - OpenSylo Marketplace API > Loan API [Validate deduction amounts](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/validate-deduction-amounts-32894512e0.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. - OpenSylo Marketplace API > Loan API [Bulk loan status check](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/bulk-loan-status-check-32894513e0.md): Check the status of multiple loans in a single request. - OpenSylo Marketplace API > Inbound Webhooks [Send repayment webhook](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/send-repayment-webhook-32894514e0.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. - OpenSylo Marketplace API > Inbound Webhooks [Send settlement webhook](https://share.apidog.com/532f3d2e-0336-456e-8dfb-05f3364bfc9a/send-settlement-webhook-32894515e0.md): Send a settlement event (created, transferred) from your marketplace to OpenSylo. Uses the same HMAC-SHA256 signature authentication as the repayment endpoint.