API Reference
All endpoints require a valid Bearer access token obtained via the OAuth 2.0 flow.
Base URL: https://api.infraidentity.com/api/v1
GET /users/:userId/profile#
Returns the verified profile for a user. Requires profile:read scope.
const response = await fetch(
`https://api.infraidentity.com/api/v1/users/${userId}/profile`,
{ headers: { 'Authorization': `Bearer ${accessToken}` } }
);
// Response
{
"success": true,
"data": {
"id": "uuid",
"email": "user@example.com",
"first_name": "John",
"last_name": "Doe",
"country": "NG",
"kyc_level": "level_1",
"risk_score": 75
}
}
GET /users/:userId/kyc#
Returns KYC verification status. Requires kyc:read scope.
// Response
{
"success": true,
"data": {
"kyc_level": "level_1",
"status": "verified",
"verified_at": "2026-01-15T10:30:00Z",
"provider": "persona"
}
}
GET /users/:userId/claims#
Returns signed verification claims for a user. Requires claims:read scope.
// Response
{
"success": true,
"data": {
"claims": [
{
"claim_type": "kyc_verified",
"provider": "persona",
"revoked": false
},
{
"claim_type": "age_over_18",
"provider": "infra",
"revoked": false
},
{
"claim_type": "country_resident",
"provider": "infra",
"revoked": false
},
{
"claim_type": "unique_human",
"provider": "persona",
"revoked": false
}
]
}
}