Developer Docs
API-Referenz

UBO-Relation

Die Struktur des JSON, das zurückgegeben wird, wenn Sie die UBO-Relation (wirtschaftlich Berechtigte, Ultimate Beneficial Owners) für eine Organisation auflösen — jedes Feld, jeder Typ und jeder Sonderfall, den Sie benötigen, um die Antwort sicher zu verarbeiten.

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

Überblick

Diese Seite dokumentiert das JSON, das der resolve-Endpunkt zurückgibt, wenn er die UBO-Relation (wirtschaftlich Berechtigte, Ultimate Beneficial Owners) für eine Organisation auflöst.

EndpunktPOST /api/user/v2/relation/resolve/9136468925/{fb_entity_id}
Referenz‑EntitätDie fb_entity_id im Pfad muss eine ORGANIZATION sein. UBO ist ausschließlich für Organisationen vorgesehen — ein Aufruf für einen anderen Entitätstyp löst einen Fehler aus.
RückgabeEin JSON-Array, das ein einzelnes Envelope-Objekt enthält. Siehe §1.

0 · Woher die Daten stammen

Die zugrunde liegende Quelle sind die Gesellschafterdaten, die im deutschen Handelsregister veröffentlicht werden — die für jedes Unternehmen eingereichten Gesellschafterlisten. Diese rohen Gesellschafterdatensätze werden per Entity-Matching mit Fusionbase-Entitäten verknüpft (jeder gelistete Gesellschafter wird, wo möglich, einer PERSON- oder ORGANIZATION-fb_entity_id zugeordnet).

Um die wirtschaftlich Berechtigten zu ermitteln, verfolgt das System anschließend den Beteiligungsgraphen: Ausgehend von der abgefragten Organisation folgt es jeder Gesellschafterkante, und sobald ein Gesellschafter selbst ein Unternehmen ist, steigt es rekursiv in die Gesellschafter dieses Unternehmens ab und multipliziert dabei die Beteiligungsquoten entlang des Wegs. Es läuft jeden Zweig so lange hinab, bis er mit den verfügbaren Daten nicht weiter aufgelöst werden kann — der Zweig endet entweder bei einer natürlichen Person (ein Blatt → beneficial_owners) oder an einem Punkt, an dem dem Graphen nicht weiter gefolgt werden kann (→ unresolved_beneficial_owners), weil die Gesellschafter-Organisation in unserem Graphen nicht verknüpft ist (unlinked), keine Gesellschaftermeldung vorliegt (no_further_shareholder_data), die Kette sich selbst zyklisch schließt (cycle) oder die maximale Rekursionstiefe erreicht ist (max_depth).

Ein Ergebnis ist daher eine Momentaufnahme davon, wie weit sich die Beteiligung anhand der Gesellschafterdaten des Handelsregisters nach dem Entity-Matching verfolgen lässt.

1Oberste Ebene

Der Endpunkt gibt immer ein JSON-Array zurück. Für die UBO-Relation enthält es genau ein Element. Ein leeres Array [] wird zurückgegeben, wenn die Relation nicht aufgelöst werden konnte.

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

2Envelope-Objekt

Die Hülle um jede aufgelöste Relation.

FeldTypNullablePflichtBeschreibung
labelstringneinjaDas Label der Relation. Für diese Relation: "UBO".
entity_fromobjectneinjaDie Quell- bzw. abgefragte Organisation. Siehe §2.1.
entityobjectneinjaDie aufgelöste Feature-Hülle. Siehe §2.2.

2.1  entity_from

Die Organisation, für die die UBOs angefragt wurden (eine Wiedergabe der fb_entity_id aus dem Pfad).

FeldTypNullablePflichtBeschreibung
fb_entity_idstringneinjafb_entity_id der abgefragten Organisation.
entity_typestringneinjaFür UBO stets "ORGANIZATION".
display_namestringnulljaMenschenlesbarer Name der Organisation; null, wenn die Organisation keinen Namen hat.

2.2  entity — die Feature-Hülle

Es werden nur Felder zurückgegeben, die nicht null sind — deshalb erscheinen nur die drei folgenden Schlüssel.

FeldTypNullablePflichtBeschreibung
entity_typestringneinjaStets "FEATURE".
entity_subtypestringneinjaStets "UBO".
valueobject | nullnulljaDie UBO-Nutzlast. Siehe §3. Ist null, wenn für die Organisation keine Gesellschaftermeldungen vorliegen.

3entity.value — die UBO-Nutzlast

Wenn vorhanden, trägt die Nutzlast immer alle vier folgenden Schlüssel.

FeldTypNullablePflichtBeschreibung
entityobjectneinjaDie analysierte Wurzel-Organisation. Siehe §3.1.
beneficial_ownersarrayneinjaAufgelöste Eigentümer, die natürliche Personen sind (Blätter des Beteiligungsgraphen). Kann leer sein. Siehe §3.2.
unresolved_beneficial_ownersarrayneinjaZweige, die nicht bis zu einer Person aufgelöst werden konnten. Kann leer sein. Siehe §3.3.
coverageobjectneinjaSummen der aufgelösten vs. nicht aufgelösten Beteiligung. Siehe §3.4.

beneficial_owners und unresolved_beneficial_owners sind jeweils absteigend nach ownership_percentage sortiert.

3.1  value.entity — Wurzel-Organisation

FeldTypNullablePflichtBeschreibung
fb_entity_idstringneinjafb_entity_id der Wurzel-Organisation (identisch mit entity_from.fb_entity_id).
namestringnulljaName der Organisation; null, wenn nicht gefunden.
addressLocationneinjaRegistrierte Anschrift. Leere Location-Struktur, wenn unbekannt. Siehe §4.1.
registration_labelstringnulljaMenschenlesbare Registerreferenz, z. B. "München, HRB 248073"; null, wenn nicht verfügbar. Siehe §4.3.
activebooleannulljaOb die Organisation aktiv ist; null, wenn unbekannt.
legal_formobjectn/ventfällt, wenn nicht vorhandenRohes Rechtsform-Objekt, z. B. {"label":{"de":{"short":"GmbH"}}}. Nur vorhanden, wenn die Organisation eine Rechtsform hat.

3.2  value.beneficial_owners[]

Ein Eintrag pro eindeutiger natürlicher Person, die als Blatt des Gesellschaftergraphen erreicht wird (verknüpfte Personen über fb_entity_id geschlüsselt; nicht verknüpfte Personen über einen Fingerabdruck aus Name / Geburtsdatum / Anschrift dedupliziert). Beiträge aus mehreren Beteiligungspfaden werden summiert.

FeldTypNullablePflichtBeschreibung
personobjectneinjaDer wirtschaftlich Berechtigte. Siehe unten.
ownership_percentagenumberneinjaGesamte effektive Beteiligung in Prozent (0–100), summiert über alle paths, auf 2 Nachkommastellen gerundet.
pathsarrayneinjaAlle eindeutigen Beteiligungswege von der Wurzel zu dieser Person. Siehe §3.2.1.

Das person-Objekt:

FeldTypNullablePflichtBeschreibung
fb_entity_idstringnulljafb_entity_id der Person; null, wenn die Person nicht verknüpft / nicht identifiziert ist.
identifiedbooleanneinjatrue genau dann, wenn fb_entity_id gesetzt ist.
namePersonNameneinjaSpärliches Name-Objekt — nur Schlüssel mit echten Werten sind vorhanden; kann {} sein. Siehe §4.2.
display_namestringnulljaName in natürlicher Reihenfolge "Vorname Nachname"; null, wenn nichts Verwertbares vorliegt.
titlesstring[]n/ventfällt, wenn leerAkademische / Ehrentitel (z. B. ["Dr."]). Nur vorhanden, wenn nicht leer.
birth_datestringnulljaGeburtsdatum; null, wenn unbekannt. Für identifizierte Personen auf "YYYY-MM-DD" normalisiert. Für nicht verknüpfte Personen ist es der Momentaufnahme-Wert der Meldung, unverändert übernommen, sodass die 10‑stellige ISO-Form dort nicht zwingend garantiert ist.
addressLocationneinjaWohnanschrift der Person; leere Location-Struktur, wenn unbekannt. Siehe §4.1.

3.2.1  paths[]

FeldTypNullablePflichtBeschreibung
percentagenumberneinjaEffektive Beteiligung für diesen einzelnen Pfad, in Prozent (0–100).
viaarrayneinjaZwischengeschaltete Organisationen zwischen Wurzel und Person, geordnet von Wurzel → Blatt. Leere Liste bei direkten Gesellschaftern. Siehe §4.4.

3.3  value.unresolved_beneficial_owners[]

Zweige, deren Beteiligung nicht bis zu einer Person verfolgt werden konnte, sodass der Prozentsatz hier ausgewiesen wird, anstatt stillschweigend verworfen zu werden.

FeldTypNullablePflichtBeschreibung
reasonstringneinjaWarum dieser Zweig endet. Einer von: "unlinked" (Gesellschafter-Organisation nicht in unserem Graphen verknüpft), "cycle" (Beteiligungsschleife), "max_depth" (Rekursionsgrenze erreicht), "no_further_shareholder_data" (verknüpfte Organisation, aber keine Gesellschafterzeilen vorhanden), "unknown" (unerwarteter Typ / Status).
fb_entity_idstringnulljaDie fb_entity_id der Endentität. Bei reason="unlinked" stets null. Eine String-ID bei cycle / max_depth / no_further_shareholder_data. Bei reason="unknown" kann sie ebenfalls null sein.
namestringnulljaName der Endentität (aus der Entitäts-DB, falls verknüpft, sonst aus der Momentaufnahme der Meldung).
addressLocationneinjaAnschrift der Endentität. Leere Location-Struktur, wenn unbekannt. Siehe §4.1.
registration_labelstringnulljaRegisterreferenz der End-Organisation; null, wenn nicht verfügbar.
ownership_percentagenumberneinjaEffektive Beteiligung dieses nicht aufgelösten Zweigs, in Prozent (0–100).
viaarrayneinjaZwischengeschaltete Organisationen von Wurzel → Endentität; leer bei einem direkten Gesellschafter. Gleiche Struktur wie §4.4.
legal_formobjectn/ventfällt, wenn nicht vorhandenRechtsform-Objekt; nur vorhanden, wenn die End-Organisation verknüpft ist und eine Rechtsform hat.

3.4  value.coverage

FeldTypNullablePflichtBeschreibung
resolved_percentagenumberneinjaSumme aller beneficial_owners[].ownership_percentage, in Prozent, auf 2 Nachkommastellen gerundet.
unresolved_percentagenumberneinjaSumme aller unresolved_beneficial_owners[].ownership_percentage, in Prozent, auf 2 Nachkommastellen gerundet.

Die beiden Prozentsätze müssen sich nicht exakt zu 100 addieren: Kapital, das durch keine eingereichte Beteiligung abgedeckt ist (Lücken in den Quelldaten), fällt in keinen der beiden Töpfe.

4Gemeinsame Bausteine

4.1  Location-Objekt

Wird von jedem address-Feld verwendet. Hat immer alle drei Schlüssel; eine „leere“ Anschrift ist {formatted_address: null, coordinate: null, address_components: []}.

FeldTypNullablePflichtBeschreibung
formatted_addressstringnulljaVollständige Adresszeichenkette; null, wenn unbekannt.
coordinateobjectnullja{latitude: number, longitude: number} (beides Floats), oder null, wenn keine Geokodierung vorliegt.
address_componentsarrayneinjaListe von {component_type: string, component_value: string}. Kann leer sein.

Häufige Komponententypen sind u. a. house_number, street, postal_code, city, county, state und country (ISO‑3, z. B. "DEU"). Die Menge ist nicht festgelegt, behandeln Sie component_type daher als offene Liste. Bei Adressen, die nur aus einer Meldung abgeleitet sind, ist typischerweise nur country vorhanden (oder keiner).

4.2  PersonName-Objekt (spärlich)

Nur Schlüssel mit nicht‑leeren Werten werden ausgegeben; Konsumenten dürfen nicht voraussetzen, dass ein Schlüssel existiert — das Objekt kann {} sein.

FeldTypPflichtBeschreibung
givenstringoptionalVorname.
familystringoptionalNachname.
maidenstringoptionalGeburtsname.
name_prefixstringoptionalNamenspräfix (z. B. Adelsprädikat).
name_suffixstringoptionalNamenssuffix.
canonical_namestringoptionalKanonische Form "Family, Given".
aliasesstring[]optionalAlternative Schreibweisen.
previous_namesarrayoptionalFrühere Namen.

Identifizierte (verknüpfte) Personen können jeden dieser Schlüssel befüllen. Aus einer Momentaufnahme einer Meldung rekonstruierte Personen erhalten nur given und/oder family.

4.3  registration_label

Eine menschenlesbare Zeichenkette der Form "{authority_name}, {register_type} {register_number}" (z. B. "München, HRB 248073"), mit kulanten Rückfalloptionen (nur die Behörde, nur Typ + Nummer oder der kombinierte Behörden-Entitätsname). null, wenn keine Registrierungsdaten verfügbar sind.

4.4  via[] — Zwischenschritte des Beteiligungspfads

Jeder Sprung ist eine zwischengeschaltete Organisation zwischen der Wurzel und dem Blatt (Person oder nicht aufgelöste Endentität), geordnet von Wurzel → Blatt.

FeldTypNullablePflichtBeschreibung
depthnumberneinja1‑basierte Position ab der Wurzel (die Wurzel hat depth 0 und wird nicht gelistet; das Blatt hätte depth = len(via) + 1).
namestringnulljaName der zwischengeschalteten Organisation; null, wenn nicht gefunden.
fb_entity_idstringneinjafb_entity_id der zwischengeschalteten Organisation.
step_percentagenumberneinjaDirekte Beteiligungsquote dieses einzelnen Sprungs an der nächsten Entität, in Prozent (0–100).

Das Produkt aller step_percentage-Werte entlang eines Pfads ergibt den percentage dieses Pfads. Ein leeres via bedeutet, dass die Person / Entität direkt Anteile an der Wurzel hält.

5Anfrageparameter

Diese Parameter beeinflussen die Ausgabe und werden über das params-Objekt im Anfragekörper übergeben: {"params": { ... }}.

ParamTypStandardWirkung
max_depthint10Maximale Rekursionstiefe durch Organisation→Organisation-Beteiligungen; tiefere Zweige werden zu unresolved mit reason="max_depth".
min_contribution_ratiofloat0.0Verwirft wirtschaftlich Berechtigte, deren Gesamtquote (Skala 0–1) unter diesem Schwellenwert liegt.
min_confidencefloat0.0Überspringt verknüpfte Gesellschafterzeilen, deren Match-Konfidenz unter diesem Schwellenwert liegt.
return_schemastring | nullnullBei null wird die oben dokumentierte umfangreiche / native Struktur zurückgegeben. Der einzige weitere unterstützte Wert ist "handelsregister.ai-042026", der auf eine flachere, vergleichsfreundliche Struktur projiziert (flache Adressen, name_parts, strukturierte registration); unbekannte Werte lösen einen Fehler aus.

6Hinweise & Sonderfälle

Null‑WertDas gesamte entity.value ist null, wenn für die Organisation keine Gesellschaftermeldungen vorliegen. Eine Organisation, die zwar Meldungen hat, aber keine auflösbaren Eigentümer, liefert ein nicht‑null value mit leeren beneficial_owners / unresolved_beneficial_owners zurück.
Prozent‑Skalaownership_percentage, percentage, step_percentage und die coverage-Zahlen liegen alle auf einer Skala von 0–100 Prozent und sind auf 2 Nachkommastellen gerundet.
Ganzzahl‑SerialisierungProzentsätze können in JSON als Ganzzahlen erscheinen (z. B. 3 statt 3.0), weil nachgestellte Nullen bei der Serialisierung entfallen; behandeln Sie sie als Zahlen.
DeduplizierungDieselbe logische Person, die über mehrere Wege erreicht wird, erscheint einmal in beneficial_owners, mit einem paths[]-Eintrag je Weg und dem summierten ownership_percentage.

7Durchgearbeitetes Beispiel

Eine echte Auflösung für die Pionierkraft GmbH — ein in München ansässiges Unternehmen mit einer Mischung aus direkten Gesellschaftern, über Holdinggesellschaften erreichten Eigentümern, zwei nicht identifizierten Personen und zwei ausländischen Holding-Entitäten, die nicht weiter verfolgt werden konnten.

Anfrage

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

Was die Antwort zeigt

Direkte Gesellschafter

Andreas Eberhardt (22.96%), Nicolas Schwaab (14.35%) und weitere halten ihre Anteile direkt — ihr einziger Pfad hat ein leeres via: [].

Eigentümer über Holdings

Ralf Hasler erreicht das Unternehmen über die Hasler Beteiligungs‑GmbH; der via[]-Sprung trägt das step_percentage für diesen Abschnitt.

Nicht identifizierte Personen

Hans Hub‑schneider und Mike de Saldanha haben fb_entity_id: null und identified: false — rekonstruiert aus der Momentaufnahme der Meldung (nur given/family, keine Geokodierung).

Titel

Mehrere Eigentümer (z. B. Dr. Ralf Hasler) tragen ein titles-Array — nur vorhanden, weil es nicht leer ist.

Nicht aufgelöste Zweige

Zwei ausländische Holdings — First Imagine! Guernsey PCC Limited (19.36%) und KIC InnoEnergy Assets B.V. (10.29%) — sind reason: "unlinked" und erscheinen daher unter unresolved_beneficial_owners.

Coverage

resolved 70.34% + unresolved 29.65% ≈ 100% — die kleine Lücke ist Kapital, das durch keine eingereichte Beteiligung abgedeckt ist.

Vollständige Antwort

Antwortkörper — 200 OK (JSON-Array, ein 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
        }
      }
    }
  }
]