Developer Docs
API Reference

UBO Relation

The structure of the JSON returned when you resolve the UBO (Ultimate Beneficial Owners) relation for an organization — every field, type, and edge case you need to consume the response confidently.

POST /api/user/v2/relation/resolve/9136468925/{fb_entity_id}
relation_id 9136468925

Overview

This page documents the JSON returned by the resolve endpoint when it resolves the UBO (Ultimate Beneficial Owners) relation for an organization.

EndpointPOST /api/user/v2/relation/resolve/9136468925/{fb_entity_id}
Reference entityThe fb_entity_id in the path must be an ORGANIZATION. UBO is organization‑only — calling it on any other entity type raises an error.
ReturnsA JSON array containing a single envelope object. See §1.

0 · Where the data comes from

The underlying source is the Gesellschafter (shareholder) data published on the German Handelsregister — the shareholder lists filed for each company. Those raw shareholder records are entity‑matched and linked to Fusionbase entities (each listed shareholder is resolved, where possible, to a PERSON or ORGANIZATION fb_entity_id).

To produce the ultimate beneficial owners, the system then traces the ownership graph: starting from the queried organization it follows each shareholder edge, and whenever a shareholder is itself a company it recurses into that company’s shareholders, multiplying the ownership ratios along the way. It keeps walking down each branch until it can no longer be resolved with the available data — the branch ends either at a natural person (a leaf → beneficial_owners) or at a point where the graph cannot be followed further (→ unresolved_beneficial_owners), because the shareholder org is not linked in our graph (unlinked), it has no shareholder filing on record (no_further_shareholder_data), the chain loops back on itself (cycle), or the recursion depth limit is reached (max_depth).

A result is therefore a snapshot of how far the Handelsregister shareholder data, after entity matching, allows the ownership to be traced.

1Top level

The endpoint always returns a JSON array. For the UBO relation it contains exactly one element. An empty array [] is returned when the relation could not be resolved.

[ { /* one envelope object, see §2 */ } ]

2Envelope object

The wrapper around every resolved relation.

FieldTypeNullableMandatoryDescription
labelstringnoyesThe relation’s label. For this relation: "UBO".
entity_fromobjectnoyesThe source / queried organization. See §2.1.
entityobjectnoyesThe resolved feature wrapper. See §2.2.

2.1  entity_from

The organization the UBOs were requested for (an echo of the path fb_entity_id).

FieldTypeNullableMandatoryDescription
fb_entity_idstringnoyesfb_entity_id of the queried organization.
entity_typestringnoyesAlways "ORGANIZATION" for UBO.
display_namestringnullyesHuman‑readable name of the org; null if the org has no name.

2.2  entity — the Feature wrapper

Only non‑null fields are returned, which is why only the three keys below appear.

FieldTypeNullableMandatoryDescription
entity_typestringnoyesAlways "FEATURE".
entity_subtypestringnoyesAlways "UBO".
valueobject | nullnullyesThe UBO payload. See §3. Is null when there are no shareholder filings on record for the org.

3entity.value — the UBO payload

When present, the payload always carries all four keys below.

FieldTypeNullableMandatoryDescription
entityobjectnoyesThe root organization being analysed. See §3.1.
beneficial_ownersarraynoyesResolved natural‑person owners (leaves of the ownership graph). May be empty. See §3.2.
unresolved_beneficial_ownersarraynoyesBranches that could not be drilled down to a person. May be empty. See §3.3.
coverageobjectnoyesResolved vs. unresolved ownership totals. See §3.4.

beneficial_owners and unresolved_beneficial_owners are each sorted by ownership_percentage descending.

3.1  value.entity — root organization

FieldTypeNullableMandatoryDescription
fb_entity_idstringnoyesfb_entity_id of the root organization (same as entity_from.fb_entity_id).
namestringnullyesOrganization name; null if not found.
addressLocationnoyesRegistered address. Empty Location shape when unknown. See §4.1.
registration_labelstringnullyesHuman register reference, e.g. "München, HRB 248073"; null if unavailable. See §4.3.
activebooleannullyesWhether the org is active; null if unknown.
legal_formobjectn/aomitted if absentRaw legal‑form object, e.g. {"label":{"de":{"short":"GmbH"}}}. Present only when the org has a legal form.

3.2  value.beneficial_owners[]

One entry per distinct natural person reached as a leaf of the shareholder graph (linked persons keyed by fb_entity_id; unlinked persons de‑duped by a name / birthdate / address fingerprint). Contributions from multiple ownership paths are summed.

FieldTypeNullableMandatoryDescription
personobjectnoyesThe beneficial owner. See below.
ownership_percentagenumbernoyesTotal effective ownership in percent (0–100), summed across all paths, rounded to 2 decimals.
pathsarraynoyesAll distinct ownership routes from the root to this person. See §3.2.1.

The person object:

FieldTypeNullableMandatoryDescription
fb_entity_idstringnullyesPerson fb_entity_id; null when the person is unlinked / not identified.
identifiedbooleannoyestrue iff fb_entity_id is set.
namePersonNamenoyesSparse name object — only keys with real values are present; can be {}. See §4.2.
display_namestringnullyesNatural‑order "Given Family" name; null if nothing usable.
titlesstring[]n/aomitted if emptyAcademic / honorific titles (e.g. ["Dr."]). Present only when non‑empty.
birth_datestringnullyesDate of birth; null if unknown. Normalized to "YYYY-MM-DD" for identified persons. For unlinked persons it is the filing snapshot value copied as‑is, so the 10‑char ISO form is not strictly guaranteed there.
addressLocationnoyesPerson’s home address; empty Location shape when unknown. See §4.1.

3.2.1  paths[]

FieldTypeNullableMandatoryDescription
percentagenumbernoyesEffective ownership for this single path, in percent (0–100).
viaarraynoyesIntermediate organizations between root and the person, ordered root → leaf. Empty list for direct shareholders. See §4.4.

3.3  value.unresolved_beneficial_owners[]

Branches whose ownership could not be traced down to a person, so the percentage is reported here instead of being silently dropped.

FieldTypeNullableMandatoryDescription
reasonstringnoyesWhy this branch is terminal. One of: "unlinked" (shareholder org not linked in our graph), "cycle" (ownership loop), "max_depth" (recursion limit hit), "no_further_shareholder_data" (linked org but no shareholder rows on file), "unknown" (unexpected kind / status).
fb_entity_idstringnullyesThe terminal entity’s fb_entity_id. Always null for reason="unlinked". A string id for cycle / max_depth / no_further_shareholder_data. May also be null for reason="unknown".
namestringnullyesName of the terminal entity (from the entity DB if linked, else from the filing snapshot).
addressLocationnoyesAddress of the terminal entity. Empty Location shape when unknown. See §4.1.
registration_labelstringnullyesRegister reference of the terminal org; null if unavailable.
ownership_percentagenumbernoyesEffective ownership of this unresolved branch, in percent (0–100).
viaarraynoyesIntermediate orgs root → terminal; empty for a direct shareholder. Same shape as §4.4.
legal_formobjectn/aomitted if absentLegal‑form object; present only when the terminal org is linked and has a legal form.

3.4  value.coverage

FieldTypeNullableMandatoryDescription
resolved_percentagenumbernoyesSum of all beneficial_owners[].ownership_percentage, in percent, rounded to 2 decimals.
unresolved_percentagenumbernoyesSum of all unresolved_beneficial_owners[].ownership_percentage, in percent, rounded to 2 decimals.

The two percentages need not add up to exactly 100: capital that is not covered by any filed shareholding (gaps in the source data) is in neither bucket.

4Shared building blocks

4.1  Location object

Used by every address field. Always has all three keys; an “empty” address is {formatted_address: null, coordinate: null, address_components: []}.

FieldTypeNullableMandatoryDescription
formatted_addressstringnullyesFull address string; null if unknown.
coordinateobjectnullyes{latitude: number, longitude: number} (both floats), or null when no geocode.
address_componentsarraynoyesList of {component_type: string, component_value: string}. May be empty.

Common component types include house_number, street, postal_code, city, county, state, and country (ISO‑3, e.g. "DEU"). The set is not fixed, so treat component_type as an open list. For addresses derived only from a filing, typically only country is present (or none).

4.2  PersonName object (sparse)

Only keys with non‑empty values are emitted; consumers must not assume any key exists — the object can be {}.

FieldTypeMandatoryDescription
givenstringoptionalFirst name.
familystringoptionalLast name.
maidenstringoptionalMaiden name.
name_prefixstringoptionalName prefix (e.g. nobiliary particle).
name_suffixstringoptionalName suffix.
canonical_namestringoptionalCanonical "Family, Given" form.
aliasesstring[]optionalAlternative spellings.
previous_namesarrayoptionalFormer names.

Identified (linked) persons can populate any of these keys. Persons reconstructed from a filing snapshot only ever get given and/or family.

4.3  registration_label

A human‑readable string of the form "{authority_name}, {register_type} {register_number}" (e.g. "München, HRB 248073"), with graceful fallbacks (authority alone, type + number alone, or the combined authority entity name). null when no registration data is available.

4.4  via[] — ownership path intermediates

Each hop is an intermediate organization between the root and the leaf (person or unresolved terminal), ordered root → leaf.

FieldTypeNullableMandatoryDescription
depthnumbernoyes1‑indexed position from the root (root is depth 0 and is not listed; the leaf would be depth = len(via) + 1).
namestringnullyesName of the intermediate org; null if not found.
fb_entity_idstringnoyesfb_entity_id of the intermediate org.
step_percentagenumbernoyesThis single hop’s direct ownership ratio of the next entity, in percent (0–100).

The product of all step_percentage values along a path yields that path’s percentage. An empty via means the person / entity holds shares in the root directly.

5Request parameters

These parameters affect the output and are passed via the request body’s params object: {"params": { ... }}.

ParamTypeDefaultEffect
max_depthint10Max recursion depth through org→org ownership; deeper branches become unresolved with reason="max_depth".
min_contribution_ratiofloat0.0Drops beneficial owners whose total ratio (0–1 scale) is below this threshold.
min_confidencefloat0.0Skips linked shareholder rows whose match confidence is below this threshold.
return_schemastring | nullnullWhen null, the rich / native shape documented above is returned. The only other supported value is "handelsregister.ai-042026", which projects to a flatter, comparison‑friendly shape (flat addresses, name_parts, structured registration); unknown values raise an error.

6Notes & edge cases

Null valueThe whole entity.value is null when the org has no shareholder filings on record. An org that has filings but no resolvable owners returns a non‑null value with empty beneficial_owners / unresolved_beneficial_owners.
Percent scaleownership_percentage, percentage, step_percentage, and the coverage numbers are all on a 0–100 percent scale and rounded to 2 decimals.
Integer serializationPercentages may appear as integers in JSON (e.g. 3 instead of 3.0) because trailing zeros are dropped during serialization; treat them as numbers.
De‑duplicationThe same logical person reached via several routes appears once in beneficial_owners, with one paths[] entry per route and the summed ownership_percentage.

7Worked example

A real resolution for Pionierkraft GmbH — a Munich‑based company with a mix of direct shareholders, owners reached through holding companies, two unidentified persons, and two foreign holding entities that could not be traced further.

Request

EndpointPOST/api/user/v2/relation/resolve/9136468925/{fb_entity_id}
relation_id (UBO)9136468925
fb_entity_ida00667fb6b5e85d62cbc0de0e2c3a1d0

What the response shows

Direct shareholders

Andreas Eberhardt (22.96%), Nicolas Schwaab (14.35%) and others hold shares directly — their single path has an empty via: [].

Owners via holdings

Ralf Hasler reaches the company through Hasler Beteiligungs‑GmbH; the via[] hop carries the step_percentage for that leg.

Unidentified persons

Hans Hub‑schneider and Mike de Saldanha have fb_entity_id: null and identified: false — reconstructed from the filing snapshot (only given/family, no geocode).

Titles

Several owners (e.g. Dr. Ralf Hasler) carry a titles array — present only because it is non‑empty.

Unresolved branches

Two foreign holdings — First Imagine! Guernsey PCC Limited (19.36%) and KIC InnoEnergy Assets B.V. (10.29%) — are reason: "unlinked", so they appear under unresolved_beneficial_owners.

Coverage

resolved 70.34% + unresolved 29.65% ≈ 100% — the small gap is capital not covered by any filed shareholding.

Full response

Response body — 200 OK (JSON array, one envelope)
[
  {
    "label": "UBO",
    "entity_from": {
      "fb_entity_id": "a00667fb6b5e85d62cbc0de0e2c3a1d0",
      "entity_type": "ORGANIZATION",
      "display_name": "Pionierkraft GmbH"
    },
    "entity": {
      "entity_type": "FEATURE",
      "entity_subtype": "UBO",
      "value": {
        "entity": {
          "fb_entity_id": "a00667fb6b5e85d62cbc0de0e2c3a1d0",
          "name": "Pionierkraft GmbH",
          "address": {
            "formatted_address": "Osterwaldstraße 10, 80805 München, DEU",
            "coordinate": { "latitude": 48.16336, "longitude": 11.59847 },
            "address_components": [
              { "component_type": "house_number", "component_value": "10" },
              { "component_type": "street", "component_value": "Osterwaldstraße" },
              { "component_type": "postal_code", "component_value": "80805" },
              { "component_type": "city", "component_value": "München" },
              { "component_type": "county", "component_value": "München (Stadt)" },
              { "component_type": "state", "component_value": "Bayern" },
              { "component_type": "country", "component_value": "DEU" }
            ]
          },
          "registration_label": "München, HRB 248073",
          "active": true,
          "legal_form": { "label": { "de": { "short": "GmbH" } } }
        },
        "beneficial_owners": [
          {
            "person": {
              "fb_entity_id": "bbb56e471d55f11b2b89bacd44e616bb",
              "identified": true,
              "name": {
                "given": "Andreas",
                "family": "Eberhardt",
                "canonical_name": "Eberhardt, Andreas",
                "aliases": [ "Eberhardt, Andreas" ]
              },
              "display_name": "Andreas Eberhardt",
              "birth_date": "1991-06-18",
              "address": {
                "formatted_address": "86735 Forheim, DEU",
                "coordinate": { "latitude": 48.75801, "longitude": 10.44804 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "86735" },
                  { "component_type": "city", "component_value": "Forheim" },
                  { "component_type": "county", "component_value": "Donau-Ries" },
                  { "component_type": "state", "component_value": "Bayern" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              }
            },
            "ownership_percentage": 22.96,
            "paths": [ { "percentage": 22.96, "via": [] } ]
          },
          {
            "person": {
              "fb_entity_id": "7760c597d98dab8ad35abee27e0a183d",
              "identified": true,
              "name": {
                "given": "Nicolas",
                "family": "Schwaab",
                "canonical_name": "Schwaab, Nicolas",
                "aliases": [ "Schwaab, Nicolas" ]
              },
              "display_name": "Nicolas Schwaab",
              "birth_date": "1981-04-22",
              "address": {
                "formatted_address": "80331 München, DEU",
                "coordinate": { "latitude": 48.13641, "longitude": 11.57754 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "80331" },
                  { "component_type": "city", "component_value": "München" },
                  { "component_type": "county", "component_value": "München (Stadt)" },
                  { "component_type": "state", "component_value": "Bayern" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              }
            },
            "ownership_percentage": 14.35,
            "paths": [ { "percentage": 14.35, "via": [] } ]
          },
          {
            "person": {
              "fb_entity_id": null,
              "identified": false,
              "name": { "given": "Hans", "family": "Hub-schneider" },
              "display_name": "Hans Hub-schneider",
              "birth_date": "1951-11-26",
              "address": {
                "formatted_address": "Karlsruhe",
                "coordinate": null,
                "address_components": []
              }
            },
            "ownership_percentage": 14.05,
            "paths": [ { "percentage": 14.05, "via": [] } ]
          },
          {
            "person": {
              "fb_entity_id": "7df09636a59439bfa61d4fa554472ff1",
              "identified": true,
              "name": {
                "given": "Ralf",
                "family": "Hasler",
                "canonical_name": "Dr. Hasler, Ralf",
                "aliases": [ "Dr. Hasler, Ralf" ]
              },
              "display_name": "Ralf Hasler",
              "birth_date": "1965-09-02",
              "address": {
                "formatted_address": "82194 Gröbenzell, DEU",
                "coordinate": { "latitude": 48.19413, "longitude": 11.37162 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "82194" },
                  { "component_type": "city", "component_value": "Gröbenzell" },
                  { "component_type": "county", "component_value": "Fürstenfeldbruck" },
                  { "component_type": "state", "component_value": "Bayern" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              },
              "titles": [ "Dr." ]
            },
            "ownership_percentage": 4.24,
            "paths": [
              {
                "percentage": 4.24,
                "via": [
                  {
                    "depth": 1,
                    "name": "Hasler Beteiligungs-GmbH",
                    "fb_entity_id": "2925224b608634a3bec2e43d69964d24",
                    "step_percentage": 4.24
                  }
                ]
              }
            ]
          },
          {
            "person": {
              "fb_entity_id": "2fa8b846cbafe135ddb64974d87b8090",
              "identified": true,
              "name": {
                "given": "Holger Wilhelm",
                "family": "Mannweiler",
                "canonical_name": "Mannweiler, Holger Wilhelm",
                "aliases": [ "Mannweiler, Holger", "Mannweiler, Holger Wilhelm" ]
              },
              "display_name": "Holger Wilhelm Mannweiler",
              "birth_date": "1975-06-12",
              "address": {
                "formatted_address": "55116 Mainz, DEU",
                "coordinate": { "latitude": 50.00062, "longitude": 8.27241 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "55116" },
                  { "component_type": "city", "component_value": "Mainz" },
                  { "component_type": "county", "component_value": "Mainz" },
                  { "component_type": "state", "component_value": "Rheinland-Pfalz" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              }
            },
            "ownership_percentage": 3.21,
            "paths": [
              {
                "percentage": 3.21,
                "via": [
                  {
                    "depth": 1,
                    "name": "VMCIV GmbH",
                    "fb_entity_id": "a69d568f0148e5c97c01c096094953f0",
                    "step_percentage": 3.21
                  }
                ]
              }
            ]
          },
          {
            "person": {
              "fb_entity_id": "cbccee741c8f0e41a9d89539365df6d6",
              "identified": true,
              "name": {
                "given": "Hartmut Martin",
                "family": "Michels",
                "canonical_name": "Michels, Hartmut Martin",
                "aliases": [ "Michels, Hartmut", "Michels, Hartmut Martin" ]
              },
              "display_name": "Hartmut Martin Michels",
              "birth_date": "1967-07-18",
              "address": {
                "formatted_address": "64347 Griesheim, DEU",
                "coordinate": { "latitude": 49.86082, "longitude": 8.56424 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "64347" },
                  { "component_type": "city", "component_value": "Griesheim" },
                  { "component_type": "county", "component_value": "Darmstadt-Dieburg" },
                  { "component_type": "state", "component_value": "Hessen" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              }
            },
            "ownership_percentage": 3.2,
            "paths": [
              {
                "percentage": 3.2,
                "via": [
                  {
                    "depth": 1,
                    "name": "StanData GmbH",
                    "fb_entity_id": "9fc924529b9167108d742ae4b6a71bf6",
                    "step_percentage": 3.2
                  }
                ]
              }
            ]
          },
          {
            "person": {
              "fb_entity_id": "1bfe8c48ac38d4757e6b134491db44f8",
              "identified": true,
              "name": {
                "given": "Eva Maria",
                "family": "Brucherseifer",
                "canonical_name": "Dr. Brucherseifer, Eva Maria",
                "aliases": [ "Dr. Brucherseifer, Eva Maria", "Dr. Brucherseifer, Eva" ]
              },
              "display_name": "Eva Maria Brucherseifer",
              "birth_date": "1973-02-02",
              "address": {
                "formatted_address": "64283 Darmstadt, DEU",
                "coordinate": { "latitude": 49.87264, "longitude": 8.65013 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "64283" },
                  { "component_type": "city", "component_value": "Darmstadt" },
                  { "component_type": "county", "component_value": "Darmstadt" },
                  { "component_type": "state", "component_value": "Hessen" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              },
              "titles": [ "Dr." ]
            },
            "ownership_percentage": 3,
            "paths": [
              {
                "percentage": 3,
                "via": [
                  {
                    "depth": 1,
                    "name": "transloid GmbH",
                    "fb_entity_id": "68685c1cd1e14bccaf3b9c7403d274e7",
                    "step_percentage": 3
                  }
                ]
              }
            ]
          },
          {
            "person": {
              "fb_entity_id": "49bbb671dc44a3694a437cea702be1df",
              "identified": true,
              "name": {
                "given": "Georg Felix",
                "family": "Mielke",
                "canonical_name": "Dr. Mielke, Georg Felix",
                "aliases": [ "Dr. Mielke, Georg Felix" ]
              },
              "display_name": "Georg Felix Mielke",
              "birth_date": "1972-06-21",
              "address": {
                "formatted_address": "80331 München, DEU",
                "coordinate": { "latitude": 48.13641, "longitude": 11.57754 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "80331" },
                  { "component_type": "city", "component_value": "München" },
                  { "component_type": "county", "component_value": "München (Stadt)" },
                  { "component_type": "state", "component_value": "Bayern" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              },
              "titles": [ "Dr." ]
            },
            "ownership_percentage": 1.37,
            "paths": [
              {
                "percentage": 1.37,
                "via": [
                  {
                    "depth": 1,
                    "name": "GFM Capital GmbH",
                    "fb_entity_id": "6dd2a44a5419a6be8a4cc57b43894928",
                    "step_percentage": 1.37
                  }
                ]
              }
            ]
          },
          {
            "person": {
              "fb_entity_id": "7c41b09a84b97284a6652df69528b33f",
              "identified": true,
              "name": {
                "given": "Jan",
                "family": "Czichos",
                "canonical_name": "Czichos, Jan",
                "aliases": [ "Czichos, Jan" ]
              },
              "display_name": "Jan Czichos",
              "birth_date": "1976-12-01",
              "address": {
                "formatted_address": "80331 München, DEU",
                "coordinate": { "latitude": 48.13641, "longitude": 11.57754 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "80331" },
                  { "component_type": "city", "component_value": "München" },
                  { "component_type": "county", "component_value": "München (Stadt)" },
                  { "component_type": "state", "component_value": "Bayern" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              }
            },
            "ownership_percentage": 1.01,
            "paths": [ { "percentage": 1.01, "via": [] } ]
          },
          {
            "person": {
              "fb_entity_id": "4c3bc2760c6732ce9d2d69fcfff64bbb",
              "identified": true,
              "name": {
                "given": "Gregor",
                "family": "Breidenstein",
                "canonical_name": "Breidenstein, Gregor",
                "aliases": [ "Breidenstein, Gregor" ]
              },
              "display_name": "Gregor Breidenstein",
              "birth_date": "1980-02-22",
              "address": {
                "formatted_address": "47661 Issum, DEU",
                "coordinate": { "latitude": 51.53477, "longitude": 6.4261 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "47661" },
                  { "component_type": "city", "component_value": "Issum" },
                  { "component_type": "county", "component_value": "Kleve" },
                  { "component_type": "state", "component_value": "Nordrhein-Westfalen" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              }
            },
            "ownership_percentage": 0.96,
            "paths": [ { "percentage": 0.96, "via": [] } ]
          },
          {
            "person": {
              "fb_entity_id": "ce24c9b14156bcb7d0487a4c122628d8",
              "identified": true,
              "name": {
                "given": "Wolfgang",
                "family": "Schmidt",
                "canonical_name": "Schmidt, Wolfgang",
                "aliases": [ "Schmidt, Wolfgang" ]
              },
              "display_name": "Wolfgang Schmidt",
              "birth_date": "1968-08-20",
              "address": {
                "formatted_address": "50668 Köln, DEU",
                "coordinate": { "latitude": 50.94257, "longitude": 6.95559 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "50668" },
                  { "component_type": "city", "component_value": "Köln" },
                  { "component_type": "county", "component_value": "Köln" },
                  { "component_type": "state", "component_value": "Nordrhein-Westfalen" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              }
            },
            "ownership_percentage": 0.96,
            "paths": [ { "percentage": 0.96, "via": [] } ]
          },
          {
            "person": {
              "fb_entity_id": "ef8bc48fb8e6815c1e1be4bc980a3ed8",
              "identified": true,
              "name": {
                "given": "Hendrik",
                "family": "Sämisch",
                "canonical_name": "Sämisch, Hendrik",
                "aliases": [ "Sämisch, Hendrik" ]
              },
              "display_name": "Hendrik Sämisch",
              "birth_date": "1981-01-16",
              "address": {
                "formatted_address": "50668 Köln, DEU",
                "coordinate": { "latitude": 50.94257, "longitude": 6.95559 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "50668" },
                  { "component_type": "city", "component_value": "Köln" },
                  { "component_type": "county", "component_value": "Köln" },
                  { "component_type": "state", "component_value": "Nordrhein-Westfalen" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              }
            },
            "ownership_percentage": 0.42,
            "paths": [
              {
                "percentage": 0.42,
                "via": [
                  {
                    "depth": 1,
                    "name": "SHLM Holding GmbH",
                    "fb_entity_id": "59cb52980a1404542185a32f04ed0361",
                    "step_percentage": 0.42
                  }
                ]
              }
            ]
          },
          {
            "person": {
              "fb_entity_id": null,
              "identified": false,
              "name": { "given": "Mike de", "family": "Saldanha" },
              "display_name": "Mike de Saldanha",
              "birth_date": "1966-04-05",
              "address": {
                "formatted_address": "München",
                "coordinate": null,
                "address_components": []
              }
            },
            "ownership_percentage": 0.33,
            "paths": [ { "percentage": 0.33, "via": [] } ]
          },
          {
            "person": {
              "fb_entity_id": "5a2cb4dfc9bd71c79f7d66d206c8c84a",
              "identified": true,
              "name": {
                "given": "Tobias",
                "family": "Neuberger",
                "canonical_name": "Dr. Neuberger, Tobias",
                "aliases": [ "Dr. Neuberger, Tobias" ]
              },
              "display_name": "Tobias Neuberger",
              "birth_date": "1974-10-18",
              "address": {
                "formatted_address": "65183 Wiesbaden, DEU",
                "coordinate": { "latitude": 50.08466, "longitude": 8.24215 },
                "address_components": [
                  { "component_type": "postal_code", "component_value": "65183" },
                  { "component_type": "city", "component_value": "Wiesbaden" },
                  { "component_type": "county", "component_value": "Wiesbaden" },
                  { "component_type": "state", "component_value": "Hessen" },
                  { "component_type": "country", "component_value": "DEU" }
                ]
              },
              "titles": [ "Dr." ]
            },
            "ownership_percentage": 0.28,
            "paths": [
              {
                "percentage": 0.28,
                "via": [
                  {
                    "depth": 1,
                    "name": "Temelio GmbH",
                    "fb_entity_id": "5d912c85733fb3af157cacde5bbb332b",
                    "step_percentage": 0.28
                  }
                ]
              }
            ]
          }
        ],
        "unresolved_beneficial_owners": [
          {
            "reason": "unlinked",
            "fb_entity_id": null,
            "name": "First Imagine! Guernsey PCC Limited",
            "address": {
              "formatted_address": "St. Peter Port",
              "coordinate": null,
              "address_components": [
                { "component_type": "country", "component_value": "GGY" }
              ]
            },
            "registration_label": "Guernsey Firmennummer 63686",
            "ownership_percentage": 19.36,
            "via": []
          },
          {
            "reason": "unlinked",
            "fb_entity_id": null,
            "name": "KIC InnoEnergy Assets B.V.",
            "address": {
              "formatted_address": "Eindhoven",
              "coordinate": null,
              "address_components": [
                { "component_type": "country", "component_value": "NLD" }
              ]
            },
            "registration_label": "Kamer van Koophandel unter KvK-Nr. 86435558",
            "ownership_percentage": 10.29,
            "via": []
          }
        ],
        "coverage": {
          "resolved_percentage": 70.34,
          "unresolved_percentage": 29.65
        }
      }
    }
  }
]