---
title: "List a claim's versions"
method: GET
path: "/persons/{person_id}/claims/{claim_id}/versions"
tags: ["customers"]
---

# List a claim's versions

`GET /persons/{person_id}/claims/{claim_id}/versions`

## Request

- Base URL: `https://api.joinsophic.com`
- URL: `https://api.joinsophic.com/persons/{person_id}/claims/{claim_id}/versions`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/joinsophic/apis/sophic-engine-api/docs/persons/:person_id/claims/:claim_id/versions/get.ts> (a function with typed inputs; its response is checked against the schema)

Lists every version of one of the person's claims, highest number first.

## Path parameters

- `person_id` string, required: The ID of the person.
- `claim_id` string, required: The ID of the claim.

## Response `200`

OK

- ClaimVersion[]
  - `claim` ClaimSummary, required
    - `archived_at` string, date-time, nullable, required: When the claim stopped applying; `null` while it applies.
    - `claim_type` 'identity' | 'nationalities' | 'residence' | 'tax_residencies' | 'fatca_status' | 'pep_status' | 'education_level' | 'employment' | 'financial_profile' | 'investment_experience' | 'expected_activity' | 'relationships' | 'registration' | 'contact_details' | 'lei' | 'registered_address' | 'operating_address' | 'business_nature', required
    - `created_at` string, date-time, required: When the claim was first held.
    - `id` string, required: Unique resource identifier.
    - `person` string, required: ID of the person the claim is about.
  - `created_at` string, date-time, required: When the version was written.
  - `data` union, required: The value, in the claim type's schema.
    - IdentityClaimSpec: Legal name and date of birth.
      - `claim_type` 'identity', required
      - `date_of_birth` string, date, required
      - `first_name` string, required
      - `last_name` string, required
    - NationalitiesClaimSpec: Every nationality the person holds.
      - `claim_type` 'nationalities', required
      - `nationalities` NationalityEntry[]
        - `basis` 'birth' | 'naturalisation' | 'descent' | 'marriage' | 'investment_programme' | 'other'
        - `country_code` string, required
    - ResidenceClaimSpec: Residential address.
      - `city` string, required
      - `claim_type` 'residence', required
      - `country_code` string, required
      - `district_county` string, nullable
      - `line1` string, required
      - `line2` string, nullable
      - `line3` string, nullable
      - `postal_code` string, required
    - TaxResidenciesClaimSpec: Every tax residence, each with its TIN or an exemption reason.
      - `claim_type` 'tax_residencies', required
      - `tax_residencies` TaxResidencyEntry[]
        - `country_code` string, required
        - `tin` string, nullable
        - `tin_exemption_reason` 'not_issued' | 'pending_application' | 'not_required'
    - FatcaStatusClaimSpec: Whether the person is a US person under FATCA.
      - `claim_type` 'fatca_status', required
      - `is_us_person` boolean, required
    - PepStatusClaimSpec: Politically exposed person status and associations.
      - `claim_type` 'pep_status', required
      - `has_pep_association` boolean, required
      - `is_pep` boolean, required
      - `pep_associate_name` string, nullable
      - `pep_associate_relationship` string, nullable
      - `pep_role` string, nullable
      - `pep_role_end_date` string, date, nullable
      - `pep_role_start_date` string, date, nullable
    - EducationLevelClaimSpec: Highest level of education (MiFID II suitability).
      - `claim_type` 'education_level', required
      - `education_level` 'none' | 'secondary' | 'bachelors' | 'masters' | 'doctorate' | 'professional', required
    - EmploymentClaimSpec: Employment status and industry (MiFID II suitability).
      - `claim_type` 'employment', required
      - `employment_status` 'employed' | 'self_employed' | 'retired' | 'student' | 'unemployed', required
      - `industry` 'accountancy' | 'admin_secretarial' | 'agricultural' | 'arms_trade' | 'catering_hospitality' | 'company_services' | 'consulting' | 'creative_media' | 'defence_military' | 'education' | 'emergency_services' | 'energy' | 'export_import' | 'financial_services' | 'gambling' | 'government_public_sector' | 'health_medical' | 'legal' | 'leisure_entertainment_tourism' | 'manufacturing' | 'marketing_pr_advertising' | 'ngo' | 'nonprofit_charity' | 'oil_gas_mining' | 'pharmaceuticals' | 'precious_metals_stones' | 'professional_services' | 'property_construction_trade' | 'retail' | 'social_care_services' | 'technology' | 'telecommunications' | 'transport_logistics' | 'adult_entertainment' | 'cannabis_cbd' | 'cryptocurrencies' | 'embassy_consulate' | 'other'
      - `industry_other` string, nullable
    - FinancialProfileClaimSpec: AML income and wealth, in bands, with their sources.
      - `annual_income_eur` 'lt_50k' | '50k_100k' | '100k_250k' | '250k_500k' | '500k_1m' | '1m_3m' | 'gt_3m', required
      - `claim_type` 'financial_profile', required
      - `income_sources` ClaimIncomeSource[], required
      - `net_worth_eur` 'lt_50k' | '50k_100k' | '100k_250k' | '250k_500k' | '500k_1m' | '1m_3m' | 'gt_3m', required
      - `wealth_sources` ClaimWealthSource[], required
    - InvestmentExperienceClaimSpec: Onboarding summary of prior investing.
      - `asset_classes` ClaimAssetClass[]
      - `claim_type` 'investment_experience', required
      - `has_prior_experience` boolean, required
    - ExpectedActivityClaimSpec: How the person expects to use the account.
      - `annual_transactions` string, required
      - `asset_classes` string[], required
      - `claim_type` 'expected_activity', required
      - `funding_currency` string, required
      - `investment_amount` string, required
    - RelationshipsClaimSpecOutput: Directors, owners, UBOs and signatories of a legal person.
      - `claim_type` 'relationships', required
      - `relationships` RelationshipEntryOutput[], required
        - `appointment_date` string, date, nullable
        - `authority_scope` string, nullable
        - `control_type` 'ownership' | 'voting' | 'other'
        - `end_date` string, date, nullable
        - `ownership_percentage` string, nullable
        - `position` string, nullable
        - `related_person` string, required
        - `relationship_type` 'director' | 'shareholder' | 'beneficial_owner' | 'trustee' | 'settlor' | 'authorised_signatory' | 'senior_management', required
    - RegistrationClaimSpec: Company registration.
      - `claim_type` 'registration', required
      - `country_of_incorporation` string, required
      - `date_of_incorporation` string, date, required
      - `entity_type` 'private_company' | 'public_company' | 'listed_company' | 'investment_firm' | 'pension_provident_fund' | 'investment_fund' | 'insurance_firm' | 'trust' | 'partnership' | 'bank_emi', required
      - `legal_name` string, required
      - `registration_number` string, required
      - `trading_name` string, nullable
    - ContactDetailsClaimSpec: How to reach the person, or a legal person's point of contact.
      - `claim_type` 'contact_details', required
      - `email` string, nullable
      - `phone_number` string, required
    - LeiClaimSpec: Legal Entity Identifier.
      - `claim_type` 'lei', required
      - `expiry_date` string, date, required
      - `identifier` string, required
    - RegisteredAddressClaimSpec: Legal registration address.
      - `city` string, required
      - `claim_type` 'registered_address', required
      - `country_code` string, required
      - `district_county` string, nullable
      - `line1` string, required
      - `line2` string, nullable
      - `line3` string, nullable
      - `operating_address_is_same` boolean
      - `postal_code` string, required
    - OperatingAddressClaimSpec: Where the business trades (principal place of business).
      - `city` string, required
      - `claim_type` 'operating_address', required
      - `country_code` string, required
      - `district_county` string, nullable
      - `line1` string, required
      - `line2` string, nullable
      - `line3` string, nullable
      - `postal_code` string, required
    - BusinessNatureClaimSpec: Business activity, turnover and risk indicators.
      - `annual_turnover_eur` 'lt_50k' | '50k_100k' | '100k_250k' | '250k_500k' | '500k_1m' | '1m_3m' | 'gt_3m', required
      - `business_activity` 'accountancy' | 'admin_secretarial' | 'agricultural' | 'arms_trade' | 'catering_hospitality' | 'company_services' | 'consulting' | 'creative_media' | 'defence_military' | 'education' | 'emergency_services' | 'energy' | 'export_import' | 'financial_services' | 'gambling' | 'government_public_sector' | 'health_medical' | 'legal' | 'leisure_entertainment_tourism' | 'manufacturing' | 'marketing_pr_advertising' | 'ngo' | 'nonprofit_charity' | 'oil_gas_mining' | 'pharmaceuticals' | 'precious_metals_stones' | 'professional_services' | 'property_construction_trade' | 'retail' | 'social_care_services' | 'technology' | 'telecommunications' | 'transport_logistics' | 'adult_entertainment' | 'cannabis_cbd' | 'cryptocurrencies' | 'embassy_consulate' | 'other', required
      - `business_activity_other` string, nullable
      - `claim_type` 'business_nature', required
      - `has_nominee_shareholders` boolean, required
      - `has_shell_bank_relationships` boolean, required
      - `is_regulated` boolean, required
      - `issues_bearer_shares` boolean, required
      - `license_number` string, nullable
  - `id` string, required: Unique resource identifier.
  - `number` integer, required: Position in the claim's history, from 1. The highest is current.
  - `sources` ClaimSource[], required: Where the value came from, the first one that supports it first.
    - `locator` object, required: Where in that record, by source type. For an API call: the actor that made it and the caller's own `reference`.
    - `role` 'supports' | 'confirms', required
    - `source` string, nullable, required: The record the value came from, such as a form submission or a provider's application; `null` for an API call, which is its own record.
    - `source_type` 'form_submission' | 'meeting_transcript' | 'file' | 'api' | 'provider', required
  - `status` 'unverified' | 'verified', required: `verified` once a check against a verification source passed; `unverified` otherwise.
  - `verified_at` string, date-time, nullable, required: When the value was verified; `null` while unverified.

## Other responses

- `400`: Bad Request

## Changes

- **2026-11-05** `f91329f933aa`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/joinsophic/apis/sophic-engine-api/changes/persons/:person_id/claims/:claim_id/versions/get.md)

---

[API](https://skmtc.dev/joinsophic/apis/sophic-engine-api.md) - [All operations](https://skmtc.dev/joinsophic/apis/sophic-engine-api/llms.txt) - [OpenAPI document](https://skmtc.dev/joinsophic/apis/sophic-engine-api/revisions/e62b737d34d7?raw)
