Developer Docs
API-Datenreferenz

Handelsregister-Unternehmenshistorie (Publikationen)

Die Publikationsereignisse von Organisationen, die von der Fusionbase-v2-API relation resolve zurückgegeben werden. Jedes Ereignis ist eine zeitpunktbezogene, veröffentlichte Tatsache aus dem deutschen Handelsregister — eine Person, die einer Rolle beitritt oder sie verlässt, oder eine Änderung an den eigenen Stammdaten des Unternehmens. Zusammengenommen bilden die Ereignisse eines Unternehmens dessen Registerhistorie.

POST /api/v2/resolve/2533389984/{fb_entity_id} relation_id 2533389984 entity_type "EVENT" entity_subtype "PUBLICATION"

1Wie die Daten geliefert werden

Die Historie wird über den generischen relation‑resolve-Endpunkt abgerufen, unter Verwendung der relation_id für Organisationspublikationen:

POST /api/v2/resolve/2533389984/{fb_entity_id}
  • {fb_entity_id} — die 32‑stellige id der Organisation, deren Historie Sie abrufen möchten.
  • Optionaler Request-Body: { "params": { ... } } (für diese Relation sind keine Parameter erforderlich).

Die Antwort ist ein JSON-Array. Jedes Array-Element ist ein Historienereignis, eingebettet in einen kleinen Relations-Envelope. Das eigentliche Ereignis befindet sich unter dem Schlüssel entity jedes Elements (siehe §3). Ein leeres Array ([]) bedeutet, dass für diese Organisation keine Historienereignisse verfügbar sind.

2 · Hintergrund: das deutsche Handelsregister

Das Handelsregister ist das deutsche Handelsregister, geführt von den örtlichen Registergerichten (Amtsgerichte). Jede Änderung an einem eingetragenen Unternehmen wird als Eintragung erfasst und veröffentlicht; diese Ereignisse leiten sich aus jenen Publikationen ab.

Ein Unternehmen wird durch Gericht + Abteilung + Nummer identifiziert (z. B. Kempten HRB 16388).

AbteilungEnthält
HRA (Abteilung A)Einzelkaufleute (e.K.) und Personengesellschaften (OHG, KG, GmbH & Co. KG).
HRB (Abteilung B)Kapitalgesellschaften (GmbH, UG (haftungsbeschränkt), AG, SE).
PR / VR / GnRPartnerschaftsgesellschaften der freien Berufe, Vereine, Genossenschaften.

Registereinträge sind Neueintragung (Ersteintragung), Veränderung (Änderung) oder Löschung. Die Ereignisse bilden dies ab: Rollen-/Mitgliedsereignisse sind Personen, die einem Unternehmen beitreten oder es verlassen; Organisationsänderungsereignisse sind Änderungen der eigenen Stammdaten eines Unternehmens.

3Antwortstruktur

Erforderlich immer vorhanden, nie null Nullable immer vorhanden, Wert kann null sein Optional der Schlüssel kann fehlen Reserviert vorhanden, aber immer null

Wichtiges Vertragsdetail. Innerhalb des entity-Objekts sind die Ereignis-Schlüssel immer vorhanden, selbst wenn ihr Wert null ist. Sie können sich also darauf verlassen, dass jeder Schlüssel aus §3.2 bei jedem Ereignis existiert; lediglich sein Wert variiert.

3.1 Antwort-Envelope (Array-Element)

Jedes Array-Element enthält ausschließlich diese Schlüssel der obersten Ebene:

FeldTypNullbarkeitHinweise
labelstringErforderlichDas Relations-Label. Für diese Relation: "PUBLICATION" (die Verknüpfung Organisation → Ereignis).
entity_fromobjectErforderlichDas Unternehmen, zu dem das Ereignis gehört. Siehe unten.
entity_toobjectErforderlichEine Referenz auf die Ereignis-Entität. Siehe unten. Ihre fb_entity_id entspricht entity.fb_entity_id.
entityobjectErforderlichDas Ereignis selbst — siehe §3.2.
sourceobjectOptionalFalls vorhanden, { "id": string } — die data‑source-id der Relation. Kann fehlen; id kann null sein.
metaobjectNullable{ "start_date": <ISO|null>, "end_date": <ISO|null> } — das Gültigkeitsintervall des Werts dieses Ereignisses. start_date ist der Zeitpunkt, ab dem der Wert wirksam wurde; end_date ist der Zeitpunkt, zu dem er durch den nächsten Wert im selben Zeitstrang abgelöst wurde, oder null, wenn es der aktuelle Wert ist. In aktuellen Antworten stets vorhanden. Siehe §3.7.

entity_from (das Unternehmen)

FeldTypNullbarkeitHinweise
fb_entity_idstringErforderlichDie Organisations-id (entspricht der id im Request-Pfad).
entity_typestringErforderlich"ORGANIZATION".
display_namestringNullableDer Name der Organisation; null falls unbekannt.
attributesobjectOptionalIn aktuellen Antworten vorhanden. Kleiner Referenzblock: { "display_name": { "en": "<company name>" } }. (Gelegentlich ist der innere Name ein Platzhalter wie "Organization (110fe0da…)"; das benachbarte display_name ist das verlässliche.)

entity_to (Referenz auf das Ereignis)

FeldTypNullbarkeitHinweise
fb_entity_idstringErforderlichDie Ereignis-id (entspricht entity.fb_entity_id).
entity_typestringErforderlich"EVENT".
attributesobjectOptionalIn aktuellen Antworten vorhanden. { "display_name": { "de": "…", "en": "…" } } (das zweisprachige Label des Ereignisses).

3.2 Das entity-Objekt (das Ereignis)

Diese Schlüssel sind bei jedem Ereignis immer vorhanden (der Wert kann null sein):

FeldTypNullbarkeitHinweise / Werte
fb_entity_idstringErforderlichStabile 32‑stellige id des Ereignisses.
fb_entity_versionstringErforderlichInhalts-Fingerprint (ändert sich, wenn sich der Ereignisinhalt ändert).
entity_typestringErforderlichImmer "EVENT".
entity_subtypestringErforderlichImmer "PUBLICATION".
categorystringErforderlichDie Art des Ereignisses — siehe §5.
nameobjectNullableZweisprachiges Label: { "de": string, "en": string }.
descriptionobjectNullable{ "short": { "de": string, "en": string } }.
statusstringNullableLebenszyklus-Status des Ereignisses; für Registerpublikationen normalerweise "FINISHED". Siehe §5.
start_datestringNullableWirksamkeitsdatum als ISO‑8601-String (z. B. "2024-09-19T00:00:00"). Bei praktisch allen Ereignissen befüllt; kann nur bei älteren Einträgen ohne parsbares Datum null sein — siehe §7.
announce_datestringNullableBekanntmachungsdatum des Registers (ISO‑8601-String). In den aktuellen Daten entspricht es start_date bei Personen-/Rollenereignissen (MEMBER_*, AUTHORITY_CHANGE) und ist null bei Stammdatenänderungen der Organisation (NAME_CHANGE, SEAT_CHANGE, ADDRESS_CHANGE, CAPITAL_CHANGE, …).
detailsobjectErforderlichDie Nutzlast des Ereignisses; die Form hängt von der Ereignisgruppe ab — siehe §3.3 / §3.4.
sourceobjectNullable{ "id": string } — die data‑source-id des Ereignisses (id kann null sein).
live_datenullReserviertFür diese Ereignisse immer null.
end_datenullReserviertImmer null (Ereignisse sind zeitpunktbezogen).
origin_locationnullReserviertImmer null.
event_locationnullReserviertImmer null.
effect_locationnullReserviertImmer null.

Datumsangaben sind Strings: start_date und announce_date sind ISO‑8601-Datum‑Zeit-Strings (z. B. "2024-09-19T00:00:00"), keine numerischen Zeitstempel.

3.3 details — Rollen-/Mitgliedsereignisse

Bei Rollen-/Mitgliedsereignissen (MEMBER_* und AUTHORITY_CHANGE) trägt details ein value.role, das die Rolle beschreibt, sowie einen linked_entities-Block, der die Beteiligten benennt.

PfadTypNullbarkeitHinweise
details.value.role.namestringErforderlichNormalisierter Rollenname — siehe Rollennamen.
details.value.role.original_name_sourcestringNullableUrsprüngliche deutsche Rollenbezeichnung, z. B. "Einzelprokura".
details.value.role.representation_schemearray<string>NullableFalls vorhanden, der/die Rohtext(e) zur Vertretungsbefugnis; andernfalls null.
details.value.role.responsibilitiesnullReserviertImmer null.
details.value.role.liability_depositnullReserviertImmer null.
details.linked_entities.personobjectOptionalDie Person, die die Rolle innehat. Bei personengebundenen Rollen vorhanden.
details.linked_entities.person.fb_entity_idstringNullablePersonen-id (null, falls die Person nicht zu einer Entität aufgelöst wurde).
details.linked_entities.person.nameobjectErforderlich*{ given, family, maiden, aliases } (*wenn person vorhanden ist).
details.linked_entities.organizationobjectErforderlichDas Unternehmen: { fb_entity_id, name }.

Ereignisse, deren Rolle von einer anderen Organisation (statt einer Person) gehalten wird, sind in dieser Antwort nicht enthalten. Es werden nur personengebundene Rollen und Ereignisse auf Organisationsebene zurückgegeben. Folglich enthält details.linked_entities nur person und/oder organization — es treten keine weiteren Beteiligten-Schlüssel auf.

ENTITY_DATA_CORRECTED und OTHER_ENTITY_EVENT sind Ereignisse auf Entitätsebene, keine Personenrollen. Die Form ihres details.value ist noch nicht charakterisiert und kann von der oben beschriebenen Rollenform abweichen — gehen Sie nicht davon aus, dass sie ein value.role oder ein linked_entities.person tragen. Prüfen Sie die tatsächliche Nutzlast, bevor Sie sich auf eine bestimmte Struktur verlassen.

3.4 details — Organisationsänderungsereignisse

Bei Organisationsänderungsereignissen (NAME_CHANGE, LEGAL_FORM_CHANGE, SEAT_CHANGE, ADDRESS_CHANGE, COURT_CHANGE, CAPITAL_CHANGE, PURPOSE_CHANGE, REPRESENTATION_SCHEME_CHANGE, STATUS_CHANGE) trägt details.value den neuen Wert nach der Änderung, und linked_entities.organization benennt das Unternehmen.

PfadTypNullbarkeitHinweise
details.linked_entities.organization.fb_entity_idstringErforderlichDie Unternehmens-id.
details.linked_entities.organization.namestringErforderlichDer Unternehmensname.
details.valuevariesErforderlichDer neue Wert nach der Änderung. Der Typ hängt von category ab (Tabelle unten).
categorydetails.value-TypBeispiel
NAME_CHANGEstring"FILLITUP GmbH"
LEGAL_FORM_CHANGEstring"GmbH"
PURPOSE_CHANGEstringText zum Unternehmensgegenstand
REPRESENTATION_SCHEME_CHANGEstringText zur Vertretungsregel
STATUS_CHANGEstringein Statuscode (z. B. "INACTIVE")
SEAT_CHANGELOCATION-Objekt (Stadt-Ebene)siehe §3.5
ADDRESS_CHANGELOCATION-Objekt (Straßen-Ebene)siehe §3.5
COURT_CHANGERegistergericht-Objektsiehe §3.5
CAPITAL_CHANGEMonetaryAmount-Objekt{ "@type": "MonetaryAmount", "value": 66667.0, "currency": "EUR" }

Zwei leicht zu verwechselnde Paare: SEAT_CHANGE (der rechtliche Sitz, eine Stadt) vs. ADDRESS_CHANGE (die physische Geschäftsanschrift, eine Straßenadresse); und AUTHORITY_CHANGE (die Vertretungsbefugnis einer einzelnen Person) vs. REPRESENTATION_SCHEME_CHANGE (die unternehmensweite Vertretungsregel).

3.5 Gemeinsame Unterobjekte

Strukturierte Werte tragen zusätzliche Felder. Für die strukturierten Werte unten (LOCATION, Registergericht) erhalten Sie das vollständige Objekt, das über die hier dokumentierten hinaus weitere Felder enthalten kann. Behandeln Sie die Feldlisten unten als „mindestens diese“, nicht als „genau diese“, und ignorieren Sie alle Schlüssel, die Sie nicht benötigen.

LOCATION

Verwendet von details.value bei SEAT_CHANGE / ADDRESS_CHANGE sowie für den Gerichtsstandort bei COURT_CHANGE. Die nützlichen Felder:

FeldTypHinweise
entity_typestring"LOCATION".
entity_subtypestringGranularität des Standorts (z. B. LOCALITY, STREET, CITY_POSTAL_CODE, CITY_NO_POSTAL_CODE).
formatted_addressstringz. B. "Badstraße 10, 73463 Westhausen, Deutschland".
coordinateobject{ "latitude": float, "longitude": float }. Kann null sein.
address_componentsarray<object>Falls vorhanden, jeweils { component_type, component_value } (z. B. house_number, street, postal_code, city, county, state, country).

Dieses Objekt ist ein vollständiger Standortdatensatz und trägt daher zusätzlich Identifikator- und Geo-Felder. In Live-Antworten beobachtet: fb_entity_id, fb_entity_version, fb_datetime, location_level (oft null), elevation (oft null) und alternative_names (oft []). Behandeln Sie diese als Extras — verlassen Sie sich auf die Felder in der Tabelle oben.

MonetaryAmount

Der CAPITAL_CHANGE-Wert: { "@type": "MonetaryAmount", "value": float, "currency": string }.

Registergericht (COURT_CHANGE-Wert)

Das neue Gericht. Die Felder sind verschachtelt unter registration_authority.local:

Die genaue Form des COURT_CHANGE-Werts (und des STATUS_CHANGE-Statuscodes) basiert auf den aktuellen Daten und kann variieren — bestätigen Sie sie anhand einer tatsächlichen Antwort, bevor Sie sich auf jedes Feld unten verlassen.

"value": {
  "registration_authority": {
    "local": {
      "registration_authority_id": "string",
      "registration_authority_name": "string",        // court town, e.g. "Kempten"
      "registration_authority_entity_id": "string",
      "registration_authority_entity_name": "string", // e.g. "Kempten HRB 16388"
      "registration_type": "string|null",             // HRA / HRB / PR / VR
      "registration_number": "string",
      "registration_id_extra": "string|null",
      "registration_authority_location": { /* LOCATION, may be null */ }
    }
  },
  "legal_form": { "label": { "de": { "short": "GmbH" } } }   // optional, only when present
}

Personenname

details.linked_entities.person.name: { given: string, family: string, maiden: string|null, aliases: array<string> }. maiden ist üblicherweise null; aliases ist üblicherweise ein leeres Array. (Die Blöcke person und organization selbst sind auf fb_entity_id + name reduziert.)

3.6 Felder, die nicht in der Antwort enthalten sind

Um die Antwort fokussiert zu halten, sind die folgenden nicht Teil davon — bauen Sie nicht darauf:

  • Ereignis-Zeitstempel und zusätzliche Identifikatoren: es gibt keine created_at / updated_at / fb_datetime-Zeitstempel und kein raw_data, fb_semantic_id oder external_ids auf Ereignisebene.
  • source: enthält nur { "id": ... } — keine weiteren Quellfelder.
  • details: enthält nur value und linked_entities. Es sind keine weiteren Kontextfelder vorhanden (z. B. Belegauszüge, Korrekturumfang oder Feldschlüssel).
  • details.linked_entities: enthält nur person und/oder organization. Es treten keine weiteren Beteiligten-Blöcke auf, und Ereignisse, deren Rolle von einer Organisation gehalten wird, sind nicht Teil dieser Antwort.
  • Nicht enthaltene Ereignistypen: Ereignisse mit category OTHER_PERSON_EVENT oder PERSONAL_DATA_CORRECTED werden nie zurückgegeben.

3.7 Gültigkeitsintervalle (meta.start_date / meta.end_date)

Die Liste ist ein flacher Strom zeitpunktbezogener Ereignisse; meta macht daraus abfragbare Historie, indem es jedem Ereignis ein Gültigkeitsintervall [start_date, end_date) zuordnet:

  • meta.start_date — der Zeitpunkt, ab dem dieser Wert wirksam wurde.
  • meta.end_date — der Zeitpunkt, zu dem dieser Wert durch den nächsten Wert im selben Zeitstrang abgelöst wurde, oder null, wenn dies der aktuelle Wert ist.

Um den aktuellen Stand eines beliebigen Attributs zu lesen, nehmen Sie also das Ereignis in diesem Zeitstrang, dessen meta.end_date null ist. (Hinweis: entity.end_date ist ein anderes Feld — es ist das eigene Ende des Ereignisses und immer null; das Intervall liegt in meta.)

Zeitstränge

Ereignisse werden in unabhängige Zeitstränge gruppiert, und Intervalle werden innerhalb jedes Zeitstrangs geschlossen (sortiert nach start_date; das jüngste bleibt offen):

  • Organisationsänderungen — ein Zeitstrang pro category. Z. B. bilden alle SEAT_CHANGE-Ereignisse die Sitzhistorie; das offene ist der aktuelle Sitz.
  • Mitglieds-/Rollenereignisse — ein Zeitstrang pro (person, role). Die Amtszeit einer Person als Managing Director wird unabhängig von ihrer Amtszeit als Procura verfolgt, und zwei verschiedene Personen, die dieselbe Rolle innehaben, bilden unabhängige Zeitstränge. Ein MEMBER_ENTRY wird beim start_date des nächsten Ereignisses dieser Person in derselben Rolle geschlossen (typischerweise deren MEMBER_EXIT_POSITION); das jüngste Ereignis für das Paar bleibt offen.

Durchgerechnetes Beispiel — zwei SEAT_CHANGE-Ereignisse:

{ "category": "SEAT_CHANGE", "meta": { "start_date": "2014-03-24…", "end_date": "2014-12-16…" } }  // superseded
{ "category": "SEAT_CHANGE", "meta": { "start_date": "2014-12-16…", "end_date": null } }            // current seat

Hinweise & Einschränkungen

end_date wird auf den exakten start_date-String des ablösenden Ereignisses gesetzt (sodass Intervalle zusammenhängend sind: end_date == next.start_date). Ein Ereignis ohne parsbares start_date bleibt offen (end_date: null) und wird nicht in den Zeitstrang eingeordnet. Innerhalb eines Zeitstrangs gibt es normalerweise genau ein offenes (null) Ereignis — den aktuellen Wert; mehr als eines kann nur auftreten, wenn die Quelldaten unvollständig sind. Die Array-Reihenfolge ist nicht signifikant und zwischen Aufrufen nicht garantiert stabil — identifizieren Sie „aktuell“ stets über end_date == null, nie über die Position.

4Ereigniskatalog & Semantik

Alle zurückgegebenen Ereignisse haben entity_type = "EVENT" und entity_subtype = "PUBLICATION"; das Feld category wählt die Art des Ereignisses aus.

A · Rollen-/Mitgliedsereignisse (Person ↔ Unternehmen)

Diese beschreiben, wer welche Leitungs- oder Vertretungsrolle bei einem Unternehmen innehatte und wann. Die Rolle wird in details.value.role.name ins Englische normalisiert, mit dem ursprünglichen deutschen Begriff in original_name_source. Übliche Registerrollen:

Registerbegriff (deutsch)role.nameBedeutung
Geschäftsführer(in)Managing DirectorGeschäftsführer einer GmbH/UG; gesetzlicher Vertreter.
Vorstand / VorstandsvorsitzenderBoard Member / Board ChairVorstand einer AG/SE/eG sowie deren Vorsitzender.
AufsichtsratSupervisory BoardAufsichtsratsmitglied.
Prokurist (Prokura)ProcuraInhaber von Prokura, einer umfassenden gesetzlichen Handlungsvollmacht (§ 48 HGB).
KommanditistLimited PartnerKommanditist einer KG (Haftung begrenzt auf die Hafteinlage).
Komplementär / persönlich haftender GesellschafterFully Liable PartnerPersönlich/voll haftender Gesellschafter einer KG/OHG.
InhaberProprietor / OwnerAlleininhaber eines e.K.
LiquidatorLiquidatorWickelt ein aufgelöstes Unternehmen ab.
InsolvenzverwalterInsolvency AdministratorGerichtlich bestellter Insolvenzverwalter.
KategorieBedeutung
MEMBER_ENTRYEine Person ist eingetreten / wurde bestellt in eine Rolle (Bestellung / Eintritt). start_date ist das Rollenbeginndatum, sofern bekannt.
MEMBER_EXIT_POSITIONEine Person hat eine Rolle verlassen oder niedergelegt (Ausscheiden, z. B. „… ist nicht mehr Geschäftsführer", „Prokura erloschen").
MEMBER_ENTRY_EXITEin gemeinsam erfasster Ein- und Austritt (eine nur über einen begrenzten Zeitraum innegehabte Rolle).
MEMBER_NEW_POSITIONDie Rolle/Position einer Person hat sich auf eine neue geändert.
MEMBER_RETURNEine Person ist in eine Rolle zurückgekehrt.
MEMBER_CHANGEEine Änderung der Mitgliedschafts-/Rollendetails einer Person.
MEMBER_EXIT_UNKNOWNEin Austritt, dessen genaue Art/Datum aus dem Eintrag nicht bestimmbar ist.
AUTHORITY_CHANGEDie Vertretungsbefugnis einer bestimmten Person hat sich geändert — z. B. gemeinschaftlich (Gesamtvertretung) ↔ allein (Einzelvertretung), oder eine Befreiung von § 181 BGB. Personenbezogen (im Gegensatz zu REPRESENTATION_SCHEME_CHANGE).
ENTITY_DATA_CORRECTEDEine Berichtigung von im Eintrag referenzierten Daten auf Unternehmensebene — eine Registerkorrektur, keine reale Änderung.
OTHER_ENTITY_EVENTEine unternehmensbezogene Registerpublikation, die nicht in die anderen Kategorien passt.

B · Organisationsänderungsereignisse (Unternehmensstammdaten)

Veränderungen der eigenen Stammdaten des Unternehmens; jedes trägt den neuen Wert in details.value.

KategorieBedeutung
NAME_CHANGEÄnderung der Firma (eingetragener Unternehmensname).
LEGAL_FORM_CHANGEÄnderung der Rechtsform (z. B. UG → GmbH, GmbH → AG).
SEAT_CHANGESitzverlegung: der eingetragene rechtliche Sitz (Sitz, eine Stadt) wurde verlegt.
ADDRESS_CHANGEÄnderung der inländischen Geschäftsanschrift (Straßenadresse des Geschäfts, § 24 HRV). Unterscheidet sich vom Sitz.
COURT_CHANGEDas Registergericht, das die Akte führt, hat gewechselt (und damit die HRA/HRB-Nummer) — meist eine Folge eines SEAT_CHANGE in den Bezirk eines anderen Gerichts.
CAPITAL_CHANGEÄnderung des eingetragenen Kapitals: Stammkapital (GmbH) oder Grundkapital (AG).
PURPOSE_CHANGEÄnderung des Unternehmensgegenstands (angegebener Geschäftszweck).
REPRESENTATION_SCHEME_CHANGEÄnderung der allgemeinen Vertretungsregel des Unternehmens (unternehmensweit; im Gegensatz zum personenbezogenen AUTHORITY_CHANGE).
STATUS_CHANGEÄnderung des Lebenszyklus-Status des Unternehmens — z. B. Auflösung, in Liquidation, Löschung.

5Feldwerte / Enumerationen

Konstanten

entity_type = EVENT · entity_subtype = PUBLICATION.

status

Einer von ISSUED, ONGOING, CANCELLED, FINISHED. Registerpublikationen sind historische Tatsachen und normalerweise FINISHED.

category

category bestimmt die Art des Ereignisses. Die Werte, die Ihnen bei deutschen Handelsregister-Unternehmen begegnen, sind:

  • Rolle / Mitglied: MEMBER_ENTRY, MEMBER_EXIT_POSITION, MEMBER_ENTRY_EXIT, MEMBER_NEW_POSITION, MEMBER_RETURN, MEMBER_CHANGE, MEMBER_EXIT_UNKNOWN.
  • Personen-/Entitätsereignisse: AUTHORITY_CHANGE, ENTITY_DATA_CORRECTED, OTHER_ENTITY_EVENT.
  • Organisationsänderungen: NAME_CHANGE, LEGAL_FORM_CHANGE, PURPOSE_CHANGE, COURT_CHANGE, SEAT_CHANGE, ADDRESS_CHANGE, STATUS_CHANGE, CAPITAL_CHANGE, REPRESENTATION_SCHEME_CHANGE.

Rollennamen (details.value.role.name)

Zu den Rollennamen, die Sie für das deutsche Register erwarten können, gehören: Managing Director, Temporary Managing Director, Director, Board Member, Board Chair, Supervisory Board, Limited Partner, Fully Liable Partner, Partner, Shareholder, Owner, Proprietor, Procura, Representative, Signatory, Liquidator und Insolvency Administrator. Dies ist nicht erschöpfend — andere Werte können auftreten, behandeln Sie Rollennamen daher als offene Menge.

Weitere Wertemengen (datengetrieben, als offen behandeln)

Währung (CAPITAL_CHANGE): EUR, DEM, GBP, … (ISO‑4217-Codes).

Registerart (COURT_CHANGE): HRA, HRB, PR, VR.

Location-Subtyp: z. B. LOCALITY, STREET, CITY_POSTAL_CODE, CITY_NO_POSTAL_CODE.

6Beispiele

Dies sind vollständige Array-Elemente genau so, wie sie zurückgegeben werden. Das Ereignis befindet sich unter entity; entity_from ist das Unternehmen.

6.1 Mitgliedseintritt — Managing Director (start_date null)

Eine Geschäftsführer-Bestellung. Der Eintrag erfasste kein parsbares Beginndatum, daher ist start_date null. Der Vertretungstext (Einzelvertretung + Befreiung von § 181 BGB) ist in representation_scheme erhalten.

MEMBER_ENTRY — Managing Director
{
  "label": "PUBLICATION",
  "entity_from": {
    "fb_entity_id": "8bb2b58c965ce9920531bce5f9b7943b",
    "entity_type": "ORGANIZATION",
    "display_name": "Quatalis GmbH",
    "attributes": { "display_name": { "en": "Quatalis GmbH" } }
  },
  "entity_to": {
    "fb_entity_id": "269223b8a4ce94b85652b5e814cdd92f",
    "entity_type": "EVENT",
    "attributes": { "display_name": { "de": "Eintritt eines Mitglieds", "en": "Member entry" } }
  },
  "meta": { "start_date": null, "end_date": null },
  "entity": {
    "fb_entity_id": "269223b8a4ce94b85652b5e814cdd92f",
    "entity_type": "EVENT",
    "entity_subtype": "PUBLICATION",
    "category": "MEMBER_ENTRY",
    "name": { "de": "Eintritt eines Mitglieds", "en": "Member entry" },
    "description": { "short": { "de": "Ein Mitglied ist dem Unternehmen beigetreten", "en": "A member has joined the company" } },
    "status": "FINISHED",
    "start_date": null,
    "announce_date": null,
    "live_date": null,
    "end_date": null,
    "origin_location": null,
    "event_location": null,
    "effect_location": null,
    "details": {
      "value": {
        "role": {
          "name": "Managing Director",
          "original_name_source": "Geschäftsführer",
          "responsibilities": null,
          "representation_scheme": [
            "mit der Befugnis die Gesellschaft allein zu vertreten; mit der Befugnis Rechtsgeschäfte mit sich selbst oder als Vertreter Dritter abzuschließen"
          ],
          "liability_deposit": null
        }
      },
      "linked_entities": {
        "person": {
          "fb_entity_id": "a3009f8357871f87d73eee0c2eb2b926",
          "name": { "given": "Johannes", "family": "Pfützner", "maiden": null, "aliases": [] }
        },
        "organization": { "fb_entity_id": "8bb2b58c965ce9920531bce5f9b7943b", "name": "Quatalis GmbH" }
      }
    },
    "source": { "id": "data_sources/1051122944" }
  },
  "source": { "id": "data_sources/1051122944" }
}

6.2 Organisation — Namensänderung

NAME_CHANGE
{
  "label": "PUBLICATION",
  "entity_from": {
    "fb_entity_id": "e79720c51aa09e8647cd879c7b1a5dfa",
    "entity_type": "ORGANIZATION",
    "display_name": "FILLITUP GmbH",
    "attributes": { "display_name": { "en": "FILLITUP GmbH" } }
  },
  "entity_to": {
    "fb_entity_id": "1be8dbbb5fed3079a7ff17e08af43ec3",
    "entity_type": "EVENT",
    "attributes": { "display_name": { "de": "Änderung des Unternehmensnamens", "en": "Change of company name" } }
  },
  "meta": { "start_date": "2022-07-15T00:00:00", "end_date": null },
  "entity": {
    "fb_entity_id": "1be8dbbb5fed3079a7ff17e08af43ec3",
    "entity_type": "EVENT",
    "entity_subtype": "PUBLICATION",
    "category": "NAME_CHANGE",
    "name": { "de": "Änderung des Unternehmensnamens", "en": "Change of company name" },
    "status": "FINISHED",
    "start_date": "2022-07-15T00:00:00",
    "announce_date": null,
    "live_date": null,
    "end_date": null,
    "origin_location": null,
    "event_location": null,
    "effect_location": null,
    "details": {
      "value": "FILLITUP GmbH",
      "linked_entities": {
        "organization": { "fb_entity_id": "e79720c51aa09e8647cd879c7b1a5dfa", "name": "FILLITUP GmbH" }
      }
    },
    "source": { "id": "data_sources/1051122944" }
  }
}

6.3 Organisation — Kapitaländerung

CAPITAL_CHANGE
{
  "label": "PUBLICATION",
  "entity_from": {
    "fb_entity_id": "f2efce26b0ee72de3301e5525d61315f",
    "entity_type": "ORGANIZATION",
    "display_name": "ALLFINCON International GmbH",
    "attributes": { "display_name": { "en": "ALLFINCON International GmbH" } }
  },
  "entity_to": {
    "fb_entity_id": "da402f2e6da532704796daaacf81ad98",
    "entity_type": "EVENT",
    "attributes": { "display_name": { "de": "Kapitaländerung", "en": "Change of capital" } }
  },
  "meta": { "start_date": "2023-07-25T00:00:00", "end_date": null },
  "entity": {
    "fb_entity_id": "da402f2e6da532704796daaacf81ad98",
    "entity_type": "EVENT",
    "entity_subtype": "PUBLICATION",
    "category": "CAPITAL_CHANGE",
    "name": { "de": "Kapitaländerung", "en": "Change of capital" },
    "status": "FINISHED",
    "start_date": "2023-07-25T00:00:00",
    "announce_date": null,
    "live_date": null,
    "end_date": null,
    "origin_location": null,
    "event_location": null,
    "effect_location": null,
    "details": {
      "value": { "@type": "MonetaryAmount", "value": 66667.0, "currency": "EUR" },
      "linked_entities": {
        "organization": { "fb_entity_id": "f2efce26b0ee72de3301e5525d61315f", "name": "ALLFINCON International GmbH" }
      }
    },
    "source": { "id": "data_sources/1051122944" }
  }
}

6.4 Organisation — Adressänderung (abgelöst, geschlossenes Intervall)

Die neue Adresse ist eine geokodierte LOCATION unter details.value. Dieses Ereignis wurde durch eine spätere Adressänderung abgelöst, daher ist sein meta.end_date befüllt (gleich dem start_date des nächsten Adressereignisses) statt null — siehe §3.7.

ADDRESS_CHANGE
{
  "label": "PUBLICATION",
  "entity_from": {
    "fb_entity_id": "1bd7295693c121f136c19f294d7747aa",
    "entity_type": "ORGANIZATION",
    "display_name": "SEDDIO UG (haftungsbeschränkt)",
    "attributes": { "display_name": { "en": "SEDDIO UG (haftungsbeschränkt)" } }
  },
  "entity_to": {
    "fb_entity_id": "e3f1c982ed08cb915acde5be741e9276",
    "entity_type": "EVENT",
    "attributes": { "display_name": { "de": "Adressänderung", "en": "Change of address" } }
  },
  "meta": { "start_date": "2009-06-16T00:00:00", "end_date": "2015-02-11T00:00:00" },
  "entity": {
    "fb_entity_id": "e3f1c982ed08cb915acde5be741e9276",
    "entity_type": "EVENT",
    "entity_subtype": "PUBLICATION",
    "category": "ADDRESS_CHANGE",
    "name": { "de": "Adressänderung", "en": "Change of address" },
    "status": "FINISHED",
    "start_date": "2009-06-16T00:00:00",
    "announce_date": null,
    "live_date": null,
    "end_date": null,
    "origin_location": null,
    "event_location": null,
    "effect_location": null,
    "details": {
      "value": {
        "fb_entity_id": "33d929f63a6b5fc578159aa0f970e076",
        "fb_datetime": "2024-06-25T14:12:36.947000+00:00",
        "fb_entity_version": "0ddb93255ebf23f761144fb244ba85e7",
        "entity_type": "LOCATION",
        "entity_subtype": "LOCALITY",
        "coordinate": { "latitude": 48.10646, "longitude": 11.53716 },
        "location_level": null,
        "address_components": [
          { "component_type": "house_number", "component_value": "2" },
          { "component_type": "street", "component_value": "Flößergasse" },
          { "component_type": "postal_code", "component_value": "81369" },
          { "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": "Deutschland" }
        ],
        "elevation": null,
        "alternative_names": [],
        "formatted_address": "Flößergasse 2, 81369 München, Deutschland"
      },
      "linked_entities": {
        "organization": { "fb_entity_id": "1bd7295693c121f136c19f294d7747aa", "name": "SEDDIO UG (haftungsbeschränkt)" }
      }
    },
    "source": { "id": "data_sources/1051122944" }
  }
}

7Übersicht Nullbarkeit

start_dateBei praktisch allen Ereignissen befüllt. Es kann nur dann null sein, wenn der Registereintrag kein parsbares Datum hat (selten; meist ältere Mitgliedseintritte).
announce_dateIn den aktuellen Daten: entspricht start_date bei Personen-/Rollenereignissen (MEMBER_*, AUTHORITY_CHANGE) und ist null bei Stammdatenänderungen der Organisation (NAME_CHANGE, LEGAL_FORM_CHANGE, SEAT_CHANGE, ADDRESS_CHANGE, COURT_CHANGE, CAPITAL_CHANGE, PURPOSE_CHANGE, REPRESENTATION_SCHEME_CHANGE, STATUS_CHANGE).
role.representation_schemeIst null, sofern der Eintrag keinen Text zur Vertretungsbefugnis für diese Person angab; falls vorhanden, ist es ein Array von Rohtext-Strings.
person.name.maidenIst null, sofern kein Geburts-/Mädchenname erfasst ist; aliases ist üblicherweise ein leeres Array.
person.fb_entity_idIst null, wenn die Person nicht zu einer stabilen Entität aufgelöst werden konnte.
meta.end_dateIst null für den aktuellen Wert in jedem Zeitstrang und ein ISO-Datum für abgelöste Werte — siehe §3.7. Verwechseln Sie es nicht mit entity.end_date, das ein anderes Feld ist.
Immer‑null-Felderentity.live_date, entity.end_date, entity.origin_location, entity.event_location, entity.effect_location, role.responsibilities, role.liability_deposit sind für diese Ereignisse immer null.
Immer vorhandenAlle in §3.2 aufgeführten entity-Schlüssel sind immer vorhanden, selbst wenn ihr Wert null ist.
Nie vorhandenDie in §3.6 aufgeführten Felder werden nie zurückgegeben.