1. OAuth 2.0
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
        GET
      • Exchange authorization code or refresh token
        POST
      • Revoke a token
        POST
      • Discover OAuth capabilities
        GET
    • 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
      • 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
  • 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
  1. OAuth 2.0

Exchange authorization code or refresh token

POST
/oauth/token
Exchanges an authorization code for an access token (with PKCE verification),
or refreshes an expired access token using a refresh token.
Access tokens expire after 1 hour.
Refresh tokens expire after 30 days.

Request

Body Params application/x-www-form-urlencodedRequired

Responses

🟢200OK
application/json
Token issued successfully.
Bodyapplication/json

🟠400Bad Request
🟠401Unauthorized
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://api.opensylo.com/oauth/token' \
--data-urlencode 'grant_type=' \
--data-urlencode 'code=' \
--data-urlencode 'client_id=' \
--data-urlencode 'client_secret=' \
--data-urlencode 'redirect_uri=' \
--data-urlencode 'code_verifier=' \
--data-urlencode 'refresh_token='
Response Response Example
200 - Success Example
{
    "access_token": "oat_live_9f8a7b6c5d4e3f2a1b0c",
    "token_type": "Bearer",
    "expires_in": 3600,
    "refresh_token": "ort_live_1a2b3c4d5e6f7g8h9i0j",
    "scope": "data.share.sales credit.score.read repayment.report"
}
Modified at 2026-06-10 14:59:29
Previous
Start OAuth authorization
Next
Revoke a token
Built with