Skip to main content

Profile sections

Choose which fields every member's KYC profile collects: create sections, add their fields, and order, retire or delete them.
Open it fromOrganisation participantsProfile sectionsRoles:Permission managerSystem managerConsole address: /participants/profile-sections

Profile sections let your organisation decide which facts the KYC profile of each member collects. A “Permission manager” or “System manager” groups fields into sections and sets each field's type. For each field they also set whether it is required and whether the member or an “Identity manager” fills it in. An identity manager is the system role that reviews KYC profiles. Every member's KYC profile in the organisation then shows those sections in the order they set.

A member of the organisation is a participant, the off-chain subject that KYC data belongs to. The member fills the form in on Profile, and a reviewer decides it from Users.

Every profile holds four fixed fields, first name, last name, country and national ID, and then the sections in your order. One section, Identity details, comes from the platform with a DALP Library badge: you cannot edit it, but you can retire it for your organisation.

A table with “Name”, “Description” and “Fields” columns.

In the table, “Identity details” carries the “DALP Library” badge and has no move buttons. The organisation's own sections, here “Source of funds” and “Tax residency”, end in “Move up” and “Move down” arrows. Create section sits above the table.

Steps

Create a section

Select Create section. In the “Create profile section” sheet, enter a name, an optional description and an optional reason for the change, then select “Create”. The platform records the reason with the change. The name is required and holds at most 255 characters. Two sections of one organisation cannot share a name, and the check ignores case. The platform refuses a duplicate with error DALP-0463, HTTP 409.

The platform derives the section's short name, called a slug, from the name. A name whose slug belongs to a platform section, such as Identity details, is refused. The Console shows Section created and opens the new section so you can add fields.

Add the fields

On the section page, select Add field in the “Profile fields” card. Enter a label and the Console builds the key from it. The key starts with a letter and holds only letters and digits. Choose the type, then set these options.

Option
What it does
Type
Text, number, date, choice list, ISIN, address, basis points, percentage, currency, country, LEI, CUSIP, FIGI, amount or URL.
Filled by
User fields are filled by the member. Identity manager fields are filled only by an identity manager. They are hidden from the member's current profile and from the member's version history in the Platform API.
Required
The member must fill a User field before the profile can be submitted. A required Identity manager field does not block submission.
Default value
Pre-fills the field for every member.
Options
For a choice list, currency or country field, the allowed values, separated by commas.
Bounds
Text fields set Min characters and Max characters. Number, date, amount, basis points and percentage fields set a lower and upper bound.
Changes
Fixed once set cannot change after a value is saved. Managers only lets a saved value change and adds no limit beyond Filled by on who changes it.

Select Add field in the sheet to store the field. The Console does not offer a storage choice, because every profile field is stored off-chain. Select a field in the table to edit it later. Change the field in its sheet and select “Save”. Deleting a field cannot be undone. To remove a field nobody has filled, select “Delete field” in the same sheet and type the field key to confirm.

Put the sections in order

The list shows 24 sections per page in display order, with each section's name, description and field count, and leaves out retired sections. Use Move up and “Move down” on a section. Platform sections have no move buttons. The Console shows “Order saved”. The order applies to every member's KYC profile. The buttons are off while you filter or search the list.

Retire a section

Open the section and select Retire section. For one of the organisation's own sections, the Console retires it at once, shows “Section retired” and returns to the list. The notification has an “Undo” action for 8 seconds. Undo makes the section active again, and the Console shows “Section restored”. After the notification closes, only the Platform API can restore the section, with an update that sets retired to false.

A retired section keeps its name, so no other section can take that name while it is retired. Members are no longer asked for its fields, and the fields stop showing in profiles and stop counting towards a complete profile. Earlier KYC versions keep the values they recorded. The Console offers no edits on a retired section.

Retiring Identity details, or any platform section, is permanent for your organisation: neither the Console nor the Platform API can restore it. Other organisations keep the section. The Console first asks “Retire this section?”. Select Retire section to confirm or “Keep section” to cancel. The notification that follows has no “Undo” action.

Delete a section nobody has filled

Open one of the organisation's own sections and select Delete section. The Console deletes the section at once, shows “Section deleted” and returns to the list. The notification has an “Undo” action for 8 seconds. Undo creates the section again with the same identifier, name, description, fields and position, and the Console shows “Section restored”.

If another section took the name in the meantime, Undo is refused with “A section with this name exists again. Rename that section, then restore this one.” After the notification closes, the deletion is final. Platform sections have no delete action. If a participant holds a value for one of the section's fields, or any KYC version filled one, the platform refuses.

The Console then shows the platform's refusal, which tells you to retire the section instead.

What a KYC profile holds

A KYC profile has two parts.

  • Fixed fields. First name, last name, country and national ID are in every profile. They belong to no section, and you cannot remove or reconfigure them.
  • Sections. Each section is a named group of fields that your organisation defines. The platform also provides one section, Identity details, which holds date of birth and residency status. It shows in every organisation with a “DALP Library” badge, and nobody can edit it. Each organisation can retire it for itself.

The platform stores every section field off-chain. It records each filled value under the section's short name and the field key, for example identity-details.dob. Each submitted version stays in the profile's history, so the history of what was collected stays readable. A profile is complete only when the fixed fields are filled and every required User field in every active section is filled. Retired sections and fields filled by an identity manager do not count.

Section fields stay off chain

Section fields never go on chain: the platform refuses a section field that asks for on-chain storage. What a regulated token reads is a verification, an issuer-signed record attached to the participant's on-chain identity. Approval does put facts derived from the profile on chain. When the identity is registered, approving the profile adds a Residence verification for the profile's country, issued by the organisation's identity. An issuer can then add a KYC verification, whose value the Console calculates from the approved profile.

When an issuer adds a verification on one of these investor topics, the platform refuses it unless the participant behind the target identity has an approved KYC profile in your organisation: KYC, AML, KYT, KYB, Qualified institutional investor, Professional investor, Accredited investor, Accredited investor verified and Regulation S. The check covers a verification the platform submits for an EVM identity and one it submits for a Canton party. When a connected compliance provider returns an approved verdict, the platform issues the matching verification without that check.

No contract reads the profile, because the profile stays off chain, so the platform runs this check before it submits the verification. A token accepts a valid verification from any issuer trusted for its topic on Trusted issuers or on the token's own trusted issuers screen. So a compliance provider you trust for an investor topic can make a participant eligible without an approved KYC profile in your organisation. Verify a participant covers issuing the verification and On-chain identity the identity it attaches to.

Who sees what

A field's audience decides who fills it in and whether the member reads it. The member's current profile omits identity manager fields. The member's own version history in the Platform API omits them too, and leaves out a section that has no value left for the member to read. An identity manager who reads the member's version history receives the stored values of every field. The Console's version history does not list section values.

Troubleshooting

When the platform refuses a create, save or delete, the Console shows an error notification with the platform's message. After a refused create or save, a “Reference ID” follows when the response includes one.

The Profile sections entry is missing from the sidebar

Your account holds neither the “Permission manager” nor the “System manager” role. An “Identity manager” does not see the entry, and the Platform API refuses the routes for them. Ask a “Permission manager” to grant one of the two roles.

A field is locked

Once any participant holds a value for a field, or any KYC version filled it, the platform refuses to remove the field. It also refuses to change its audience or type, to remove one of its choices, or to change a “Fixed once set” field to “Managers only”. Only KYC versions and values in your organisation count. The refusal is error DALP-12112, named PROFILE_SECTION_STORAGE_LOCKED, and its data.keys lists the locked fields. This is a caller error, and repeating the same change fails again. It does not mean stored values are lost. After a refused save the Console lists the keys in the error message and disables the Filled by selector for those fields. Keep those fields as they are or add a new field with the settings you want. You can still remove a field that nobody has filled.

The platform refuses to delete a section

The refusal is error DALP-12151, named PROFILE_SECTION_HOLDS_VALUES. A participant holds a value for a field of the section, or a KYC version recorded one, and deleting the section would leave that value without a field definition. Retire the section instead. Earlier versions keep its values. This is a caller error, and repeating the delete fails again. It does not mean the delete partly ran. The section and its values are unchanged.

The platform refuses a section name

A name whose slug matches a platform section, such as Identity details, returns error DALP-12140, named PROFILE_SECTION_SYSTEM_SLUG_TAKEN, and data.slug names the slug. Choose a name that produces a different slug. This is a caller error, and the same name fails again. It does not mean your organisation already has a section with that name. A name another section of your organisation already uses returns error DALP-0463, named SETTINGS_TEMPLATE_NAME_ALREADY_EXISTS, HTTP 409. Choose a different name.

A platform section cannot be changed or deleted

Platform sections are shared by every organisation, so the Platform API refuses to change or delete one. The refusal is error DALP-12113, named PROFILE_SECTION_SYSTEM_READONLY, HTTP 403. This is a caller error, and repeating the change or delete fails again. It does not mean your role lacks a permission, which also answers HTTP 403, so match on the error code rather than the status. Create a section of your own with the fields you need and retire the platform section for your organisation if you do not want it.

A section is not found

Error DALP-12110, named PROFILE_SECTION_NOT_FOUND, means no section with that identifier is visible to the active organisation. Sections of another organisation answer the same way. List the sections and retry with an identifier from the list. This is a caller error, and repeating the same request fails again.

Frequently asked questions

Can a member see the fields an identity manager fills?

No. The member's current profile and the member's version history in the Platform API both omit identity manager fields, as Who sees what describes. An identity manager reading the same profile sees every field.

What happens to values already collected when a section is retired?

Nothing is deleted. The fields stop showing on profiles and stop counting towards a complete profile. Earlier KYC versions keep what they recorded.

Can the national ID be a configurable field?

No. First name, last name, country and national ID are fixed fields outside the sections.

API routes

The Platform API serves the sections under /api/v2/settings/profile-sections. The routes are list, create, read, update, delete, retire and reorder. Each needs the “Permission manager” or “System manager” role. Each field must set storage to offchain and name its audience. A field without storage is refused. A field key holds letters, digits, underscores and hyphens. The Console builds keys of letters and digits only.

The list excludes retired sections unless you filter on the retired flag, and a retired section stays readable by its identifier. An update that sets retired to false restores one of your organisation's own retired sections. See the API reference for the schemas.

Was this page helpful?