clm_...) is a typed data point on a person. Each has a claim_type, a status, and the fields defined for that type, validated against a strict schema. Applications validate against claims.
Lifecycle
Every claim row carries astatus plus two retirement timestamps (archived_at (pending-only) and superseded_at (verified-only)) plus a convenience lifecycle discriminator derived from them.
status
Retirement timestamps
At most one row per
(person, claim_type) is “current” for each status; the current pending (status=pending AND archived_at IS NULL) and the current verified (status=verified AND superseded_at IS NULL).
lifecycle
lifecycle is a convenience discriminator that tells you, in one field, where a claim sits.
State transitions
A person can have more than one claim of the same
claim_type. The current value is the row whose lifecycle is active. Submitting a new claim of the same type archives the current pending (if any) atomically and inserts a fresh in_flight pending. That new row takes over as active once compliance verifies it; which also stamps superseded_at on the prior active row.Updating a claim value
Post a new claim of the same type. Any current pending for that type is archived atomically (itsarchived_at is stamped; its status stays pending and it remains retrievable). The new row starts as pending with lifecycle: in_flight, and becomes the current active value once compliance verifies it.
Creating a claim
POST /persons/{person_id}/claims with the claim as the body. claim_type tells us which claim you’re sending.
Listing and retrieving claims
List a person’s claims, optionally filtered by type or status. By default the endpoint returns every row for the person (current and historical) newest-first bycreated_at (with id as a tiebreaker). This gives you an audit-ready view without a second request. Pass ?include_history=false to collapse to at most two rows per claim_type: the current active verified (if any) and the current in_flight pending (if any).
Retrieve a specific claim by ID via
GET /persons/{person_id}/claims/{claim_id}. This always returns the exact claim you asked for (including archived pendings and superseded verifieds) with lifecycle on the response.
Claims can’t be deleted. To correct a pending submission (or update a previously verified one) post a new claim of the same type via
POST /persons/{person_id}/claims. Any current pending for that type is archived automatically. See updating a claim value.Claim type reference
Unknown fields are rejected. Dates are ISO-8601, country codes ISO-3166-1 alpha-2.Natural-person claims
Acceptable whenperson_type is natural.
identity
nationalities
Each
nationalities entry:
residence
tax_residencies
Each
tax_residencies entry:
Supply a
tin or tin_exemption_reason for each tax residency. The claim layer accepts either, but an onboarding application is expected to carry a tin where available.fatca_status
pep_status
education_level
employment
financial_profile
investment_experience
expected_activity
Shared claim types
Acceptable on both natural and legal persons.contact_details
How to reach the person. Required on every POST /persons.
Legal-person claims
Acceptable whenperson_type is legal.
registration
lei
registered_address
The legal registration address.
operating_address
Where the business trades from. Same shape as residence. Send this claim only when the legal owner’s registered_address has operating_address_is_same set to false (the default). See conditional requirements.
business_nature
relationships
Legal-person-only. Declares directors, shareholders, UBOs, trustees, settlors, and authorised signatories.
Each relationship entry:
Different
relationship_type values carry different onboarding requirements. director and authorised_signatory also need a board_resolution evidence file authorising them to act on the entity; the others don’t. See related-person requirements.Reference values
EUR amount bands
Industry values
agriculture, mining, manufacturing, utilities, construction, wholesale_retail, transport_logistics, hospitality, media_telecoms, technology, financial_services, insurance, real_estate, professional_services, education, healthcare, arts_entertainment, public_administration, defence, non_profit, gambling, extractives, precious_metals, cryptocurrency, other.
Pair other with the _other text field on the same claim (employment.industry_other, business_nature.business_activity_other).