pasbydocs
Reference

Claims reference

Every ID data claim key, response shape, encryption, and copy-paste request examples.

Identity data in pasby is exposed as claims: dot-notation strings you request at flow start. The user consents on the pasby app or identification UI; only approved keys appear in the result.

Request claims

Pass exact strings in the claims array on:

{
  "action": "login",
  "claims": ["naming.given", "naming.family", "contact.email"],
  "payload": "Sign in to your application"
}

See Scopes for which endpoints your app may call, and Actions for login, signup, and link.

Claim catalog

Bio

ClaimDescription
bio.birthplacePlace of birth
bio.birthdateDate of birth
bio.genderGender
bio.maritalstatusMarital status
bio.birthnumberBirth registration number

Contact

ClaimDescription
contact.emailEmail address
contact.emailVerifiedWhether email is verified
contact.phonePhone number
contact.phoneVerifiedWhether phone is verified

Address

ClaimDescription
address.cityCity
address.postcodePostal code
address.countryCountry
address.placePlace name
address.formattedFull formatted address
address.longitudeLongitude
address.latitudeLatitude

Naming

ClaimDescription
naming.familyFamily / surname name
naming.givenGiven / first name
naming.titleTitle
naming.nameFull display name
naming.middleMiddle name
naming.titlePrefixTitle prefix (e.g. Dr.)
naming.titleSuffixTitle suffix
naming.nicknameNickname

Nationality

ClaimDescription
nationality.nationalitiesNationalities held
nationality.pepPolitically exposed person flag
nationality.primaryPrimary nationality
nationality.residenceCountry of residence
nationality.watchListedWatch-list indicator

ID cards & financial

ClaimDescription
idcards.passportPassport details
financial.bvnBank verification number
financial.bvnBankBVN issuing bank
financial.bvnLevelBVN verification level
financial.bvnIATBVN identity assurance timestamp

Medical and education claims exist for specially provisioned apps. The table above covers typical commercial integrations.

Flow model fields

When you create an identification flow, the data.request object includes the claims you asked for under acquireClaims:

{
  "status": "successful",
  "reason": "Identification request created",
  "data": {
    "link": "https://open.pasby.africa/app/?mode=identification&id=req_…",
    "request": {
      "id": "req_1714661447-NUkY",
      "mode": "identification",
      "action": "signup",
      "acquireClaims": [
        "naming.family",
        "naming.given",
        "contact.email"
      ],
      "signature": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…"
    }
  }
}

Field reference: Identification flow model.

Encrypted claims on flow ping

Completed identification flows return encrypted claim values on POST /api/v2/flow/ping. Decrypt with your app's RSA private key from the pasby console (communication keys).

Raw ping excerpt:

{
  "data": {
    "request": {
      "claims": {
        "contact": {
          "email": "y6l/srG+g/2l2QinsjXxnn4MxY0cTzIDFiRrChjtSIl/…"
        },
        "naming": {
          "family": "SsF83HO/6g6+Sf+6n0nl3NhSJoEsMYYy5KMuBkIrtH33pD+…",
          "given": "LqDr6DjnleWbPLESTCd8t9ttuwFL4fwiW1R3hS5Q/o/jk/7K8E1P2K…"
        }
      }
    }
  }
}

After decryption:

{
  "claims": {
    "contact": { "email": "john.doe@example.com" },
    "naming": { "family": "Doe", "given": "John" }
  }
}

Full walkthrough: Handling encrypted claims.

npm install node-jsencrypt
import JSEncrypt from "node-jsencrypt";

function decryptClaim(privateKeyPem, ciphertext) {
  const crypt = new JSEncrypt();
  crypt.setKey(privateKeyPem);
  return crypt.decrypt(ciphertext);
}

// Example: decrypt contact.email from ping payload
const email = decryptClaim(
  process.env.PASBY_APP_PRIVATE_KEY,
  claims.contact.email,
);

Sample implementation: Finsel-DGI/SampleCode — pasby.ts.

OIDC resource response

For OIDC, approved claims are returned in data.claims (structure mirrors the nested groups above). Sandbox apps may receive synthetic test data.

  • Quickstart — first request with claims[]
  • Errors — validation when claims are missing or invalid
  • Credentials — keys and communication PEM files