Skip to main content
Once you have an access token, create a KYC intent for the target verification level. Forte returns the widget_data needed to initialize the Compliance widget.

Endpoint

POST /compliance/v2/kyc
Authorization: Bearer {{access_token}}

Request Body

Pass the desired level (1–3) and the user’s wallet. For a breakdown of what each level requires, see Verification Flows.
{
  "action": {
    "type": "OCC_RULES_ENGINE",
    "level": 3
  },
  "customer": {
    "wallet": {
      "blockchain": "base_sepolia",
      "address": "0xF84D68F29664F907eE9d03E534105b7aA6045A"
    },
    "external_id": "0xF84D68F29664F907eE9d03E534105b7aA6045A"
  }
}

Field Reference

FieldRequiredDescription
action.typeYesAlways OCC_RULES_ENGINE
action.levelYesTarget access level: 1, 2, or 3
customer.wallet.blockchainYesBlockchain identifier (e.g. base_sepolia)
customer.wallet.addressYesUser’s wallet address
customer.external_idRecommendedYour internal identifier for the user
If a user needs Level 3 but has only completed Level 1, the widget automatically walks them through all outstanding requirements in sequence — no additional API calls are needed.

Response

{
  "data": {
    "flow": "KYC_OCC",
    "error_code": null,
    "widget_data": "eyJhY2Nlc3NfdG9rZW4i..."
  }
}
Pass the full data object to initFortePaymentsWidget — see Integrate Widget.

Next Steps

Integrate Widget

Embed and initialize the Forte widget with the response data