PlatformXeDocs
Get API Key

Identity

SDK methods for identity resolution, verification, and processor configuration.

The client.identity namespace provides identity resolution and verification across Nigeria, Kenya, Ghana, and South Africa — verifying and looking up identity information through a single API. Available in TypeScript, Python, and Go SDKs.

SDKInstallNamespace
TypeScriptnpm install @caldera/platformxe-sdkclient.identity
Pythonpip install platformxeclient.identity
Gogo get github.com/calderax/platformxe-goclient.Identity

resolve

Resolve an identity using one or more identity numbers. Returns matched data across available sources.

const result = await client.identity.resolve({
  identifierType: 'BVN',
  value: '12345678901',
  resolveLinked: true,
  consentRef: 'consent_abc123',
});

console.log(result.data.firstName);  // "Ada"
console.log(result.data.lastName);   // "Okafor"
console.log(result.data.matchScore); // 0.95
result = client.identity.resolve(
    identifier_type="BVN",
    value="12345678901",
    resolve_linked=True,
    consent_ref="consent_abc123",
)
result, err := client.Identity.Resolve("BVN", "12345678901", true, "consent_abc123")

Parameters

FieldTypeRequiredDescription
identifierTypestringYesIdentifier type (BVN, NIN, PHONE)
valuestringYesIdentifier value
resolveLinkedbooleanNoWhether to resolve linked identities (default: false)
consentRefstringNoReference to consent record

verify

Verify an identity document (NIN slip, driver's license, voter's card).

const result = await client.identity.verify({
  identifierType: 'NIN',
  value: '98765432101',
  firstName: 'Ada',
  lastName: 'Okafor',
});

console.log(result.data.verified); // true
console.log(result.data.checks);  // { nameMatch: true, dobMatch: true }
result = client.identity.verify(
    identifier_type="NIN",
    value="98765432101",
    first_name="Ada",
    last_name="Okafor",
)
result, err := client.Identity.Verify("NIN", "98765432101", "Ada", "Okafor")

Parameters

FieldTypeRequiredDescription
identifierTypestringYesDocument type identifier
valuestringYesDocument number
firstNamestringYesFirst name to verify
lastNamestringYesLast name to verify

lookup

Look up basic identity information from a single identifier.

const result = await client.identity.lookup({
  type: 'BVN',
  value: '12345678901',
});

console.log(result.data.firstName);
console.log(result.data.phone);
result = client.identity.lookup(type="BVN", value="12345678901")
result, err := client.Identity.Lookup("BVN", "12345678901")

providers

List available identity verification providers and their status.

const result = await client.identity.providers();
// result.data.providers: Array<{ name, status, types }>
result = client.identity.providers()
result, err := client.Identity.Providers()

Processor configuration

getProcessor

Retrieve the identity service processor configuration for your organization.

const config = await client.identity.getProcessor();

console.log(config.enabled);
console.log(config.config); // { defaultProvider: "...", retryOnFailure: true }
config = client.identity.get_processor()
config, err := client.Identity.GetProcessor()

updateProcessor

Update the identity processor configuration, such as default provider preferences and retry behaviour.

const updated = await client.identity.updateProcessor({
  enabled: true,
  config: {
    retryOnFailure: true,
    maxRetries: 3,
    cacheResolutions: true,
    cacheTtlSeconds: 86400,
  },
});
updated = client.identity.update_processor(
    enabled=True,
    config={
        "retryOnFailure": True,
        "maxRetries": 3,
        "cacheResolutions": True,
        "cacheTtlSeconds": 86400,
    },
)
updated, err := client.Identity.UpdateProcessor(map[string]interface{}{
    "enabled": true,
    "config": map[string]interface{}{
        "retryOnFailure":   true,
        "maxRetries":       3,
        "cacheResolutions": true,
        "cacheTtlSeconds":  86400,
    },
})

Identity resolution involves personally identifiable information (PII). Ensure you have user consent before calling these endpoints. See the KYC Guide for consent handling best practices.

Scopes required

MethodScope
identity.resolve()permissions:check
identity.verify()permissions:check
identity.lookup()permissions:check
identity.providers()permissions:check
identity.getProcessor()permissions:check
identity.updateProcessor()permissions:manage