Topograph Data API

The Data API from Topograph — 3 operation(s) for data.

Operations 3

POST /v2/company Get Company Data and Documents #
GET /v2/company/{requestId} Get Company Request Result #
POST /v2/onboarding Get Onboarding Data (Deprecated) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/topograph-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

topograph-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Topograph Billing Data API
  description: The Topograph API
  version: '0.1'
  contact: {}
servers:
- url: https://api.topograph.co
security:
- x-api-key: []
tags:
- name: Data
paths:
  /v2/company:
    post:
      description: 'Retrieve company data and documents for a specific company.


        You can either:

        1. Create a new request by providing countryCode, id, dataPoints, optional mode, and optional document IDs.

        2. Re-fetch a previous request by providing requestId (returns cached data and is not billed again).


        Available datapoints include:

        - company: core company information

        - legalRepresentatives: directors, managers, and signing officers

        - otherKeyPersons: auditors, board members, and similar roles when available

        - establishments: branches and secondary locations when available

        - shareholders: shareholder structure

        - subsidiaries: downstream equity holdings when available

        - ultimateBeneficialOwners: beneficial owner information

        - availableDocuments: list of available official documents

        - graph: ownership graph traversal


        Legacy companyProfile is still accepted and maps to company + legalRepresentatives for billing.


        Modes:

        - verification (default): authoritative live registry sources

        - onboarding: cheapest compatible fast source; unsupported datapoints fail with fast_source_unavailable


        To retrieve documents, first request availableDocuments to discover document IDs, then pass those IDs in the documents field of a follow-up request.'
      operationId: CompanyController_getCompany_v2
      parameters:
      - name: transliterate
        required: false
        in: query
        description: If true, transliterates non-Latin strings in the response to Latin script.
        schema:
          type: boolean
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CreateCompanyRequestDTO'
              - $ref: '#/components/schemas/GetCompanyRequestResultDTO'
      responses:
        '200':
          description: Company information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCompanyResultDTO'
      security:
      - x-api-key: []
      summary: Get Company Data and Documents
      tags:
      - Data
  /v2/company/{requestId}:
    get:
      description: 'Retrieve the result of a previous company data request by its ID. Returns the latest available data including all subrequests (documents, additional datapoints).


        This endpoint is free and will not be billed again. Use it to poll for results after creating a request via POST /v2/company.'
      operationId: CompanyController_getCompanyRequest_v2
      parameters:
      - name: requestId
        required: true
        in: path
        description: The request ID returned by the initial POST /v2/company call
        schema:
          example: 253299d1-e8d0-4268-945b-f175f98bc114
          type: string
      - name: transliterate
        required: false
        in: query
        description: If true, transliterates non-Latin strings in the response to Latin script.
        schema:
          type: boolean
      responses:
        '200':
          description: Company request result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCompanyResultDTO'
        '404':
          description: Request not found or does not belong to this account
      security:
      - x-api-key: []
      summary: Get Company Request Result
      tags:
      - Data
  /v2/onboarding:
    post:
      deprecated: true
      description: 'Deprecated: Use POST /v2/company with mode: "onboarding" instead.


        This endpoint is internally routed as a companyProfile request with mode: "onboarding" and a 50-cent budget cap.'
      operationId: CompanyOnboardingController_getOnboarding_v2
      parameters:
      - name: transliterate
        required: false
        in: query
        description: If true, transliterates non-Latin strings in the response to Latin script.
        schema:
          type: boolean
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CreateOnboardingRequestDTO'
              - $ref: '#/components/schemas/GetCompanyRequestResultDTO'
      responses:
        '200':
          description: Company onboarding information
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCompanyResultDTO'
      security:
      - x-api-key: []
      summary: Get Onboarding Data (Deprecated)
      tags:
      - Data
components:
  schemas:
    ComplianceFlagsDTO:
      type: object
      properties:
        accountsOverdue:
          description: Present when the company’s statutory annual accounts are overdue with the register.
          allOf:
          - $ref: '#/components/schemas/AccountsOverdueFlagDTO'
        annualFilingOverdue:
          description: Present when the company’s periodic confirmation/annual filing is overdue with the register (in the UK, the Companies House confirmation statement).
          allOf:
          - $ref: '#/components/schemas/AnnualFilingOverdueFlagDTO'
    AddressDTO:
      type: object
      properties:
        addressLine1:
          type: string
          description: First line of the address
          example: 10 rue de la Fraternité
        addressLine2:
          type: string
          description: Second line of the address
          example: Topograph Building
        city:
          type: string
          description: City of the address
          example: Bagnolet
        postalCode:
          type: string
          description: Postal code of the address
          example: '93170'
        region:
          type: string
          description: Region of the address
          example: FR
        countryCode:
          type: string
          description: Country of the address using ISO 3166-1 alpha-2 country code
          example: FR
        poBox:
          type: string
          description: Post Office Box number
          example: PO Box 123
        careOf:
          type: string
          description: Care of (c/o) recipient
          example: c/o John Doe
        state:
          type: string
          description: State of the address
          example: Île-de-France
        latitude:
          type: number
          description: Latitude coordinate
          example: 59.9139
        longitude:
          type: number
          description: Longitude coordinate
          example: 10.7522
    ArticleOfAssociationDTO:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: Document name in the local language of the country where it was issued
        description:
          type: string
          description: Document description in English
        format:
          type: string
        estimatedDeliverySeconds:
          type: number
        url:
          type: string
        pdfUrl:
          type: string
          description: URL to converted PDF version (when original document is XML)
        blobName:
          type: string
        price:
          type: number
          description: Fixed price in cents
        priceMarkup:
          type: number
          description: Price markup percentage
        date:
          type: string
      required:
      - id
      - name
      - format
    EntitySourcesDTO:
      type: object
      properties:
        entityId:
          type: string
          description: Stable entity identifier matching the underlying entity (e.g. ShareholderDTO.entityId, GraphNodeDTO.nodeId for individuals). Lets consumers look up sources by entity rather than relying on positional alignment.
        fields:
          type: object
          description: Per-field data sources, keyed by field name.
        overall:
          description: Holistic source for this entity (e.g. an AI agent narrative explaining how this shareholder was traced). Distinct from per-field sources, which describe each individual datapoint.
          allOf:
          - $ref: '#/components/schemas/DataSourceDTO'
    FinancialAnalysisDTO:
      type: object
      properties:
        summary:
          type: string
          description: Executive summary (2-3 sentences)
        narrativeAnalysis:
          type: string
          description: Detailed multi-paragraph narrative analysis
        healthScore:
          type: number
          description: Overall health score (1-10)
        overallRisk:
          type: string
          enum:
          - low
          - medium
          - high
          - critical
        ratios:
          $ref: '#/components/schemas/FinancialRatiosDTO'
        insights:
          type: array
          items:
            $ref: '#/components/schemas/FinancialInsightDTO'
        strengths:
          type: array
          items:
            type: string
        concerns:
          type: array
          items:
            type: string
        trends:
          $ref: '#/components/schemas/FinancialTrendsDTO'
      required:
      - summary
      - narrativeAnalysis
      - healthScore
      - overallRisk
      - ratios
      - insights
      - strengths
      - concerns
      - trends
    FinancialTrendsDTO:
      type: object
      properties:
        revenueDirection:
          type: string
          enum:
          - increasing
          - stable
          - decreasing
          - unknown
        profitabilityDirection:
          type: string
          enum:
          - improving
          - stable
          - declining
          - unknown
        debtDirection:
          type: string
          enum:
          - decreasing
          - stable
          - increasing
          - unknown
      required:
      - revenueDirection
      - profitabilityDirection
      - debtDirection
    CompanyRelationshipDTO:
      type: object
      properties:
        relation:
          type: string
          enum:
          - mergedFrom
          - mergedInto
          - acquired
          - acquiredBy
          - demergedFrom
          - demergedTo
          - spunOffFrom
          - spunOffTo
          - assetTransferFrom
          - assetTransferTo
          - other
        company:
          $ref: '#/components/schemas/CompanyDTO'
        effectiveDate:
          type: string
          description: Legal effective date if known (YYYY-MM-DD)
        description:
          type: string
      required:
      - relation
      - company
    FinancialStatementDTO:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: Document name in the local language of the country where it was issued
        description:
          type: string
          description: Document description in English
        format:
          type: string
        estimatedDeliverySeconds:
          type: number
        url:
          type: string
        pdfUrl:
          type: string
          description: URL to converted PDF version (when original document is XML)
        blobName:
          type: string
        price:
          type: number
          description: Fixed price in cents
        priceMarkup:
          type: number
          description: Price markup percentage
        date:
          type: string
        period:
          $ref: '#/components/schemas/PeriodDTO'
        extractedFinancialData:
          description: Extracted financial data from the document (only available after document is downloaded and parsed)
          allOf:
          - $ref: '#/components/schemas/ExtractedFinancialDataDTO'
      required:
      - id
      - name
      - format
    LegalRepresentativeDTO:
      type: object
      properties:
        entityId:
          type: string
          description: Unique identifier to track the same person or company across different roles (legal representatives, shareholders, UBOs, etc.). Since data is retrieved from multiple registries, the same entity may appear with slightly different names or details. This ID allows you to identify that "John Smith" as a legal representative is the same person as "J. Smith" listed as a shareholder.
          example: person_001
        role:
          description: The role of the legal representative
          allOf:
          - $ref: '#/components/schemas/RoleDTO'
        startDate:
          type: string
          description: The start date of the legal representative's role
          example: '2022-01-01'
        endDate:
          type: string
          description: The end date of the legal representative's role (if applicable)
          example: '2023-12-31'
        type:
          type: string
          description: The type of the legal representative (individual or company)
          enum:
          - individual
          - company
          example: individual
        individual:
          description: Details of the individual legal representative
          allOf:
          - $ref: '#/components/schemas/PhysicalPersonBaseDTO'
        company:
          description: Details of the company legal representative
          allOf:
          - $ref: '#/components/schemas/CompanyDTO'
        representedBy:
          description: 'When type is COMPANY: the physical person who represents/acts on behalf of the company (e.g., "représentant permanent" in French)'
          allOf:
          - $ref: '#/components/schemas/PhysicalPersonBaseDTO'
        representationMode:
          description: 'How this representative can bind the company: sole (can act alone) or joint (must act with others)'
          allOf:
          - $ref: '#/components/schemas/RepresentationModeDTO'
      required:
      - type
    EntityListSourcesDTO:
      type: object
      properties:
        overall:
          description: List-level source. Describes how the entire list was assembled (e.g. AI reconstruction summary covering all shareholders). The analysis field carries the prose; documents lists the supporting documents.
          allOf:
          - $ref: '#/components/schemas/DataSourceDTO'
        limitations:
          description: Structured list of gaps the AI agent flagged about building this list (e.g. unparseable documents, missing share-pledge agreements).
          type: array
          items:
            type: string
        items:
          description: Per-entity sources, 1:1 by array index with the corresponding entity array (e.g. shareholders, ultimateBeneficialOwners).
          type: array
          items:
            $ref: '#/components/schemas/EntitySourcesDTO'
    DataSourcesDTO:
      type: object
      properties:
        company:
          type: object
          description: Per-field data sources for company profile fields. Keys are field names, values describe the source.
        shareholders:
          description: Sources for the shareholders list. Carries list-level overall (e.g. AI reconstruction summary), limitations the agent flagged, and per-entity sources 1:1 by index with the shareholders array.
          allOf:
          - $ref: '#/components/schemas/EntityListSourcesDTO'
        ultimateBeneficialOwners:
          description: Sources for the ultimate beneficial owners list. Same shape as shareholders.
          allOf:
          - $ref: '#/components/schemas/EntityListSourcesDTO'
        legalRepresentatives:
          description: Sources for the legal representatives list. Same shape as shareholders.
          allOf:
          - $ref: '#/components/schemas/EntityListSourcesDTO'
        establishments:
          description: Sources for the establishments list. Same shape as shareholders.
          allOf:
          - $ref: '#/components/schemas/EntityListSourcesDTO'
        otherKeyPersons:
          description: Sources for the other key persons list. Same shape as shareholders.
          allOf:
          - $ref: '#/components/schemas/EntityListSourcesDTO'
        graph:
          description: Sources specific to the ownership graph (per-graph-node provenance). Each company node in the graph that had its shareholders AI-reconstructed carries its own EntityListSourcesDTO under nodes[<nodeId>].shareholders. Distinct from dataSources.shareholders, which is scoped to the result-level shareholders list (the root company only).
          allOf:
          - $ref: '#/components/schemas/GraphSourcesDTO'
    DocumentWithUrlDto:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
          description: Document name in the local language of the country where it was issued
        description:
          type: string
          description: Document description in English
        format:
          type: string
        estimatedDeliverySeconds:
          type: number
        url:
          type: string
        pdfUrl:
          type: string
          description: URL to converted PDF version (when original document is XML)
        blobName:
          type: string
        price:
          type: number
          description: Fixed price in cents
        priceMarkup:
          type: number
          description: Price markup percentage
        date:
          type: string
      required:
      - id
      - name
    CompanyActivityItemDTO:
      type: object
      properties:
        code:
          type: string
          description: The activity code
          example: '62.01'
        description:
          type: string
          description: The description of the activity
          example: Computer programming activities
        isAIInferred:
          type: boolean
          description: Indicates whether the activity code comes from an official source or has been inferred by AI
          example: true
      required:
      - code
    CountryIdentifiersDTO:
      type: object
      properties:
        VAT:
          type: string
          description: 'Partita IVA (P.IVA) - VAT registration number. Format: 11 digits (e.g., "02580590541"). Issued by: Agenzia delle Entrate (Revenue Agency)'
          example: 02580590541
        Codice Fiscale:
          type: string
          description: 'Codice Fiscale - Tax identification code. Format: 16 alphanumeric characters for individuals (e.g., "RSSMRA70A01H501U"), 11 digits for companies (often same as VAT). Issued by: Agenzia delle Entrate (Revenue Agency)'
          example: RSSMRA70A01H501U
        CCIAA:
          type: string
          description: 'CCIAA - Camera di Commercio (Chamber of Commerce) province code. Format: 2-letter province code (e.g., "TO" for Torino, "MI" for Milano). Indicates which Chamber of Commerce the company is registered with.'
          example: TO
        REA Code:
          type: string
          description: 'REA Code - Registro Economico Amministrativo (Economic Administrative Register) number. Format: Numeric (e.g., "1234567"). Unique within each CCIAA province. Combined with CCIAA forms a unique identifier.'
          example: '1234567'
    ItalyIdentifiers:
      type: object
      properties:
        VAT:
          type: string
          description: 'Partita IVA (P.IVA) - VAT registration number. Format: 11 digits (e.g., "02580590541"). Issued by: Agenzia delle Entrate (Revenue Agency)'
          example: 02580590541
        Codice Fiscale:
          type: string
          description: 'Codice Fiscale - Tax identification code. Format: 16 alphanumeric characters for individuals (e.g., "RSSMRA70A01H501U"), 11 digits for companies (often same as VAT). Issued by: Agenzia delle Entrate (Revenue Agency)'
          example: RSSMRA70A01H501U
        CCIAA:
          type: string
          description: 'CCIAA - Camera di Commercio (Chamber of Commerce) province code. Format: 2-letter province code (e.g., "TO" for Torino, "MI" for Milano). Indicates which Chamber of Commerce the company is registered with.'
          example: TO
        REA Code:
          type: string
          description: 'REA Code - Registro Economico Amministrativo (Economic Administrative Register) number. Format: Numeric (e.g., "1234567"). Unique within each CCIAA province. Combined with CCIAA forms a unique identifier.'
          example: '1234567'
      description: Identifiers for Italian companies (IT)
    PeriodDTO:
      type: object
      properties:
        startDate:
          $ref: '#/components/schemas/PeriodDateDTO'
        endDate:
          $ref: '#/components/schemas/PeriodDateDTO'
    PeriodDateDTO:
      type: object
      properties:
        year:
          type: number
        month:
          type: number
        day:
          type: number
    GraphNodeFlagsDTO:
      type: object
      properties:
        isRoot:
          type: boolean
          description: True if this is the root/target company being analyzed
        isUbo:
          type: boolean
          description: True if this individual has >25% ownership and qualifies as a UBO (individuals only)
        isUboProxy:
          type: boolean
          description: True if this company is the ultimate controlling entity of the target company (companies only)
        uboCalculationMethod:
          type: array
          description: Methods that qualified this individual as UBO (only when isUbo is true)
          items:
            type: string
            enum:
            - accumulation
            - domination
        status:
          type: string
          description: Status of the node during graph building. `budget_truncated` marks a frontier company that was not fetched because the request ran out of credits; clients can submit a continuation request to expand it.
          enum:
          - pending
          - found
          - not_found
          - error
          - search_resolved
          - placeholder
          - budget_truncated
    DataSourceDocumentDTO:
      type: object
      properties:
        name:
          type: string
          description: Name of the supporting document
          example: Statuts constitutifs
        date:
          type: string
          description: Date of the document
          example: '2020-03-15'
        reason:
          type: string
          description: Brief explanation of why this document is pertinent for the analysis
          example: Most recent confirmation statement showing 100% ownership by KCA Deutag International 3 Limited
      required:
      - name
    DataPointStatusSucceeded:
      type: object
      properties:
        cost:
          type: number
          description: The cost in credits for this data point or document
          example: 10
        costMarkup:
          type: number
          description: The percentage markup when final cost is not yet known
          example: 20
        status:
          type: string
          description: The data point completed successfully
          enum:
          - succeeded
          example: succeeded
        authoritative:
          type: boolean
          description: Whether the data comes from an authoritative official registry source
          example: true
      required:
      - status
    RoleEnum:
      type: string
      enum:
      - Director
      - Manager
      - Employee
      - Chief Executive Officer
      - Chief Financial Officer
      - Chief Operating Officer
      - President
      - Vice President
      - Secretary
      - Treasurer
      - Legal Advisor
      - General Counsel
      - Partner
      - Associate
      - Other
      - Chairman of the Board
      - Board Member
      - Managing Director
      - Executive Director
      - Non-Executive Director
      - General Partner
      - Managing Partner
      - Limited Partner
      - Administrator
      - Liquidator
      - Receiver
      - Owner
      - Chairman
      - Auditor
      - Authorized Signatory
      description: The standardized role of the individual.
    BirthDateDTO:
      type: object
      properties:
        day:
          type: number
          description: Day of birth (1-31)
          example: 15
        month:
          type: number
          description: Month of birth (1-12), where January is 1
          example: 7
        year:
          type: number
          description: Year of birth
          example: 1980
    GraphNodeDTO:
      type: object
      properties:
        nodeId:
          type: string
          description: A unique identifier for the node in the graph (for graph traversal)
        type:
          type: string
          description: Whether this is an individual person or a company
          enum:
          - individual
          - company
        individual:
          description: Individual person data (only populated when type is individual)
          allOf:
          - $ref: '#/components/schemas/GraphIndividualDTO'
        company:
          description: Company data (only populated when type is company)
          allOf:
          - $ref: '#/components/schemas/GraphCompanyDTO'
        totalOwnershipPercentage:
          type: number
          description: The total calculated ownership percentage of the root company (0-100)
        flags:
          description: Flags indicating special properties of this node
          allOf:
          - $ref: '#/components/schemas/GraphNodeFlagsDTO'
        continuation:
          description: Continuation metadata — present only on `budget_truncated` nodes.
          allOf:
          - $ref: '#/components/schemas/GraphNodeContinuationDTO'
      required:
      - nodeId
      - type
    GraphEdgeDTO:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the edge
        fromId:
          type: string
          description: ID of the company being owned
        toId:
          type: string
          description: ID of the entity that owns shares (shareholder)
        percentage:
          type: number
          description: Ownership percentage (0-100)
        source:
          type: string
          description: Source information about where this relationship was found
      required:
      - id
      - fromId
      - toId
    PersonNameDTO:
      type: object
      properties:
        title:
          type: string
          description: Title of the person (e.g., Mr., Mrs., Dr.)
        firstName:
          type: string
          description: First name of the person
        middleName:
          type: string
          description: Middle name of the person
        lastName:
          type: string
          description: Last name of the person
        fullName:
          type: string
          description: Full name of the person
        suffix:
          type: string
          description: Suffix of the name (e.g., Jr., Sr., III)
      required:
      - fullName
    AnnualFilingOverdueFlagDTO:
      type: object
      properties:
        active:
          type: boolean
          example: true
          description: Whether the signal is currently active (the annual filing is currently overdue).
        dueDate:
          type: string
          example: '2024-03-01'
          description: The date the filing was due (and missed), when the register reports it. ISO 8601 (YYYY-MM-DD).
        since:
          type: string
          example: '2024-03-15'
          description: The date the flag became active, when the register reports it. ISO 8601 (YYYY-MM-DD).
        source:
          type: string
          example: companies_house
          description: The register that reported the signal.
      required:
      - active
    OtherKeyPersonDTO:
      type: object
      properties:
        entityId:
          type: string
          description: Unique identifier to track the same person or company across different roles (legal representatives, shareholders, UBOs, etc.). Since data is retrieved from multiple registries, the same entity may appear with slightly different names or details. This ID allows you to identify that "John Smith" as a legal representative is the same person as "J. Smith" listed as a shareholder.
          example: person_001
        role:
          description: The role of the other key person
          allOf:
          - $ref: '#/components/schemas/OtherKeyPersonRoleDTO'
        startDate:
          type: string
          description: The start date of the role
          example: '2022-01-01'
        endDate:
          type: string
          description: The end date of the role (if applicable)
          example: '2023-12-31'
        type:
          type: string
          enum:
          - individual
          - company
          description: The type of the other key person (individual or company)
          example: individual
        individual:
          description: Details if the other key person is an individual
          allOf:
          - $ref: '#/components/schemas/PhysicalPersonBaseDTO'
        company:
          description: Details if the other key person is a company
          allOf:
          - $ref: '#/components/schemas/CompanyDTO'
      required:
      - type
    LegalFormEnum:
      type: string
      enum:
      - Sole Proprietorship
      - Partnership
      - Limited Liability Company
      - Corporation
      - Nonprofit Organization
      - Cooperative
      - Government-Owned Entity
      - Branch or Representative Office
      - Trust
      - Other
      description: The standardized legal form of the company.
    DataPointError:
      type: object
      properties:
        code:
          type: string
          description: Error code identifying the type of failure
          example: resource_not_found
          enum:
          - resource_not_found
          - service_unavailable
          - processing_failed
          - invalid_request
          - datapoint_not_supported
          - fast_source_unavailable
          - onboarding_timeout
          - insufficient_funds
        message:
          type: string
          description: User-friendly error message explaining the failure
          example: The requested company was not found. Please verify the registration number and try again.
        details:
          type: array
          description: Additional specific error details when applicable
          items:
            type: string
          example:
          - Query must be at least 2 characters
        source:
          type: string
          description: Source register that failed, when the failure is attributable to a specific external register
          example: handelsregister
        retryable:
          type: boolean
          description: Whether retrying the request may eventually succeed
          example: true
      required:
      - code
      - message
    PhysicalPersonBaseDTO:
      type: object
      properties:
        gender:
          type: string
          description: Gender of the person
          enum:
          - Male
          - Female
          - Other
          - PreferNotToSay
          example: Female
        name:
          description: Full name of the person
          example:
            fullName: John Doe
          allOf:
          - $ref: '#/components/schemas/PersonNameDTO'
        birthDate:
          description: Birth date of the person
          example:
            day: 15
            month: 7
            year: 1980
          allOf:
          - $ref: '#/components/schemas/BirthDateDTO'
        birthAddress:
          description: Birth address of the person
          example:
            country: FR
            city: Paris
            street: 1 Rue de Rivoli
            postalCode: '75001'
          allOf:
          - $ref: '#/components/schemas/AddressDTO'
        nationality:
          type: string
          description: Nationality ISO2 country code of the person
          example: US
        residenceAddress:
          description: Residence address of the person
          allOf:
          - $ref: '#/components/schemas/AddressDTO'
        identifiers:
          type: object
          description: Identifiers for the person, as a flat object keyed by identifier type (e.g., codice fiscale, national ID). Each value is the identifier string.
          additionalProperties:
            type: string
          example:
            codiceFiscale: RSSMRA80A01H501U
    CompanyStatusDetailsDTO:
      type: object
      properties:

# --- truncated at 32 KB (99 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/topograph/refs/heads/main/openapi/topograph-data-api-openapi.yml