Peleza β€” Trust built on data
KYC Verification
On this page

Active KYC Services

Returns the KYC services that are currently active for your account. Each item includes the billing endpoint slug and the public API call (method + path) so you can map catalog services to the routes documented elsewhere. Inactive or unavailable services are not listed. Auth required; not billed. Optional filters: category, country, q.

Request

GET/api/v1/kyc/services
{{baseUrl}}/api/v1/kyc/services
HeaderTypeDescription
AuthorizationstringBearer YOUR_ACCESS_TOKEN from the OAuth client-credentials flow
Content-Typestringapplication/json

Query Parameters

ParameterTypeDescriptionRequired
categorystringFilter by category β€” "individual" or "business"optional
countrystringISO 3166-1 alpha-2 country code β€” e.g. KE, UG, GHoptional
qstringCase-insensitive search against title, endpoint, category, and api.pathoptional

Filter by country (country=KE)

Expected response for Filter by country (country=KE):

200 OKSample dataExpected response
{
  "success": true,
  "response_code": 200,
  "message": "KYC services retrieved successfully",
  "data": {
    "services": [
      {
        "title": "Maisha Number",
        "endpoint": "maisha-number",
        "category": "individual",
        "country_codes": ["KE"],
        "status": "active",
        "api": {
          "method": "POST",
          "path": "/api/v1/maisha-number"
        }
      }
    ]
  },
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}

Filter by category (category=business)

Expected response for Filter by category (category=business):

200 OKSample dataExpected response
{
  "success": true,
  "response_code": 200,
  "message": "KYC services retrieved successfully",
  "data": {
    "services": [
      {
        "title": "Company Search",
        "endpoint": "company",
        "category": "business",
        "country_codes": ["KE"],
        "status": "active",
        "api": {
          "method": "POST",
          "path": "/api/v1/business/ke",
          "notes": "Send search_type=pvt."
        }
      }
    ]
  },
  "request_id": "550e8400-e29b-41d4-a716-446655440000"
}

Response Fields

FieldTypeDescription
successbooleanWhether the request succeeded
response_codenumberApplication response code (typically mirrors HTTP)
messagestringHuman-readable status message
dataobjectPayload for the verified resource
request_idstringUUID for support and audit trails
data.servicesarrayActive KYC services available to your account
data.services[].titlestringService name
data.services[].endpointstringBilling slug (wallet / pricing) β€” not always the same as the URL path
data.services[].categorystring"individual" or "business"
data.services[].country_codesarrayCountries where this service is currently available
data.services[].statusstring"active" β€” only active services are returned
data.services[].apiobjectPublic API call for this service when one exists on the Peleza API
data.services[].api.methodstringHTTP method β€” usually POST
data.services[].api.pathstringAPI path to call (may include {country} or {searchId} placeholders)
data.services[].api.notesstringOptional request hints (scope, search_type, related poll URLs)

Error codes

Standard Peleza HTTP / response_code values (same across all API calls). Validation message text is endpoint-specific. Full reference: Error Codes.

CodeWhen
200Active services retrieved successfully
401Missing or invalid Bearer token
500Failed to retrieve active services

Set {{baseUrl}} to https://api.peleza.com (production) or https://sandbox.peleza.com (sandbox). Authenticated calls need a Bearer token from POST /api/v1/oauth/token.