GitHub
PATH ID

SDK reference

Subjects

Attestations and ownership bindings — claims about a subject, and proof that they control a target.

Creating a subject, registering an identifier and withdrawing from the directory are member operations on the subjects API. The client covers the two objects a caller checks at execution time.

Every method here requires a credential.

Attestations

issueAttestation(input)

expiresAt is mandatory. Closed claims: kyc_level, kyb_level, aml, sanctions, pep, risk_tier, identity_level.

const issued = await path.issueAttestation({
  subjectId: '9f2c41a8-6d1e-4b07-9c3a-2e5f81d0a4b7',
  claim: 'kyc_level',
  value: 'standard',
  expiresAt: '2027-09-09T10:00:00Z',
});

getAttestation(reference)

Execution-time read. Revoked or expired answers 410, not 404: path.id.attestation_revoked or path.id.attestation_expired.

listAttestations(subjectId)

This subject's claims, for the local member.

revokeAttestation(reference, reason?)

Leaves the row. The next read answers 410.

Ownership bindings

A binding records that a subject controls an identifier, a wallet or an account. The clear target is hashed on the server and is not stored.

createOwnershipBinding(input)

await path.createOwnershipBinding({
  subjectId: '9f2c41a8-6d1e-4b07-9c3a-2e5f81d0a4b7',
  bindingType: 'identifier',
  targetKind: 'phone',
  target: '+12025550123',
  proofMethod: 'otp_sms',
});

bindingType is identifier, wallet or account.

getOwnershipBinding(reference)

Execution-time read. Same 410 rules as an attestation.

listOwnershipBindings(subjectId)

revokeOwnershipBinding(reference, reason?)

On this page