Skip to main content
Unlike /metadata.json, this endpoint is authenticated. Return capabilities specific to the requesting partner.

Implementation

app.get('/capabilities', verifyAuth, async (req, res) => {
  const partnerOcid = req.headers['x-oc-id'];

  // Get partner-specific settings
  const partner = await db.getPartner(partnerOcid);

  if (!partner) {
    return res.status(401).json({
      error: { code: 'UNKNOWN_OCID', message: 'Unknown partner' }
    });
  }

  res.json({
    ocid: YOUR_OCID,
    name: "TrustVerify KYC",
    capabilities: ["kyc.grant", "kyc.validate", "kyc.data"],
    supported_grants: [
      "name",
      "email",
      "phone",
      "date_of_birth",
      "nationality",
      "address",
      "id_card",
      "passport",
      "driver_license",
      "proof_of_address",
      "liveness",
      "aml"
    ]
  });
});

Supported Grants

The supported_grants array tells partners which KYC data types you can provide:
GrantDescription
nameFull legal name
emailVerified email address
phoneVerified phone number
date_of_birthDate of birth
nationalityCountry of citizenship
addressPhysical address
id_cardGovernment-issued ID card
passportPassport document
driver_licenseDriver’s license
proof_of_addressUtility bill, bank statement
livenessSelfie/liveness check
amlAML screening result