> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trusset.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Verification Profiles

> Read the reusable KYC requirement sets configured on your instance

<Note>
  Verification profiles are in beta. The API surface is read-only - create and edit profiles in the [Issuer Platform](https://issuers.trusset.org).
</Note>

A verification profile bundles a KYC requirement set: which documents an investor must provide, which Sumsub level applies, and which on-chain investor type a completed verification maps to. Every instance ships three presets - `RETAIL`, `PROFESSIONAL`, and `ELIGIBLE_COUNTERPARTY` - and can define custom profiles.

Profile keys are valid `investorType` values wherever the SDK accepts one: customer records, ID links, and identity verification.

## List profiles

```typescript theme={null}
const profiles = await trusset.customers.profiles.list()

for (const profile of profiles) {
  console.log(profile.key, profile.enabled, profile.onChainInvestorType)
}
```

Presets are listed first. Each profile:

```typescript theme={null}
interface VerificationProfile {
  id: string
  key: string                    // use as investorType
  name: string
  description: string | null
  onChainInvestorType: number    // 1 Retail, 2 Professional, 3 Eligible Counterparty
  sumsubLevelName: string
  requiredFields: ProfileRequiredField[]
  isPreset: boolean
  enabled: boolean
  createdAt: string
  updatedAt: string
}
```

`requiredFields` describes the document sets requested during a linked KYC flow, e.g. `{ idDocSetType: 'IDENTITY', types: ['PASSPORT', 'ID_CARD'], required: true, label: 'Government ID' }`.

## Using a custom profile

```typescript theme={null}
// The profile key works anywhere an investorType is accepted
await trusset.customers.idLinks.create({
  recipientEmail: 'investor@example.com',
  investorType: 'my-custom-profile-key',
})
```

On-chain, a custom profile resolves to its `onChainInvestorType` - the IdentityRegistry only distinguishes the three MiFID II classifications.
