MCP is live.Set upAsk the community
OmniDimension
Reseller verification

Get KYC requirements for a region

Get the ordered list of verification steps for a carrier and the fields each step needs, so your integration can build a verification form without hardcoding the sequence.

Reseller accounts only. Request access.

Call this before you build anything. The steps, the fields each one needs, and the method telling you how to perform it all come from here. A region can have more than one carrier, and carriers do not run the same checks, so the sequence is data rather than something to hard-code.

Each step lists its fixed values in choices, the shape a value must match in patterns, fields needed only for some answers in required_if, and fields it accepts but never needs in optional. An upload step carries document: the form field, the accepted formats and the size limit.

Calling without a carrier returns 409 carrier_required listing the region's carriers with what each one stocks, so you discover them at runtime rather than hard-coding the list. A region we cannot verify returns 404 not_available.

The per-carrier steps and the full loop are on the Verify a client guide.

GET/reseller/kyc/requirements
Query parameters
regionstring · enumrequired

Region to get verification requirements for.

carrierstring

Which carrier's steps to return: carriers in a region do not share a step list. Required where a region has more than one carrier; omitting it there returns 409 carrier_required naming the region's carriers.

curl -X GET 'https://backend.omnidim.io/api/v1/reseller/kyc/requirements?region=IN&carrier=carrier-1' \
  -H 'Authorization: Bearer YOUR_API_KEY'
Example response
{
  "success": true,
  "region": "IN",
  "steps": [
    {
      "step": "register",
      "required": [
        "email",
        "name",
        "phone"
      ],
      "cooldown": false,
      "choices": {},
      "method": "submit"
    },
    {
      "step": "verify-otp",
      "required": [
        "email_otp",
        "mobile_otp"
      ],
      "cooldown": false,
      "method": "submit"
    },
    {
      "step": "resend-otp",
      "required": [],
      "cooldown": false,
      "method": "submit"
    },
    {
      "step": "verify-pan",
      "required": [
        "business_type",
        "pan"
      ],
      "cooldown": false,
      "method": "submit"
    },
    {
      "step": "aadhaar-otp",
      "required": [
        "aadhaar"
      ],
      "cooldown": true,
      "method": "otp"
    },
    {
      "step": "aadhaar-verify",
      "required": [
        "otp"
      ],
      "cooldown": true,
      "method": "otp"
    },
    {
      "step": "verify-gst",
      "required": [
        "gst"
      ],
      "cooldown": false,
      "method": "submit"
    },
    {
      "step": "skip-gst",
      "required": [],
      "cooldown": false,
      "method": "submit"
    },
    {
      "step": "preview",
      "required": [],
      "cooldown": false,
      "method": "submit"
    },
    {
      "step": "accept",
      "required": [],
      "cooldown": false,
      "method": "submit"
    }
  ]
}

Authorization

BearerAuth
headerAuthorizationBearer <token>

Bearer token authentication. Obtain your API key from the OmniDimension dashboard.

Query Parameters

region*string

Region to get verification requirements for.

Value in"IN""US"
carrier?string

Which carrier's steps to return: carriers in a region do not share a step list. Required where a region has more than one carrier; omitting it there returns 409 carrier_required naming the region's carriers.

Response body

application/json

Response Body

Verification requirements for the region.

application/json
success?boolean
region?string
Value in"IN""US"
steps?