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.
| SDK | Install | Namespace |
|---|---|---|
| TypeScript | npm install @caldera/platformxe-sdk | client.identity |
| Python | pip install platformxe | client.identity |
| Go | go get github.com/calderax/platformxe-go | client.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
| Field | Type | Required | Description |
|---|---|---|---|
identifierType | string | Yes | Identifier type (BVN, NIN, PHONE) |
value | string | Yes | Identifier value |
resolveLinked | boolean | No | Whether to resolve linked identities (default: false) |
consentRef | string | No | Reference 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
| Field | Type | Required | Description |
|---|---|---|---|
identifierType | string | Yes | Document type identifier |
value | string | Yes | Document number |
firstName | string | Yes | First name to verify |
lastName | string | Yes | Last 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
| Method | Scope |
|---|---|
identity.resolve() | permissions:check |
identity.verify() | permissions:check |
identity.lookup() | permissions:check |
identity.providers() | permissions:check |
identity.getProcessor() | permissions:check |
identity.updateProcessor() | permissions:manage |