---
title: "Ereignisstrom"
method: GET
path: "/events"
tags: ["Ereignisse"]
---

# Ereignisstrom

`GET /events`

## Request

- Base URL: `https://firmenwatch.ch/api/v1`
- URL: `https://firmenwatch.ch/api/v1/events`
- Auth: HTTP bearer

Der chronologische Strom der seit 2025-01-03 erfassten Publikationen. Publikationen vor diesem Datum sind nicht verfuegbar. Fuer die laufende Abholung wird since_id empfohlen: die hoechste bereits verarbeitete sequence mitgeben, dann liefert die Antwort ausschliesslich Neues und es gehen keine Ereignisse verloren, wenn mehrere Publikationen am selben Tag erscheinen.

BRECHENDE AENDERUNG vom 26. August 2026: Das Feld id war bis zum 25. August 2026 die laufende Nummer (integer) und ist seither die stabile Kennung (string, z. B. fw1_7cb69d9f34d5dd79b7445c65071e6592). Die damalige laufende Nummer der ersten Fassung steht unter sequence; since_id und next_since_id beziehen sich weiterhin auf diese Stromposition.

Seit dem 27. August 2026 ist sequence eine append-only Stromposition. Eine Berichtigung behaelt ihre stabile id, erhaelt aber eine neue sequence, content_hash und revised_at und erscheint dadurch auch nach einem bereits gelesenen since_id erneut. Zu jedem since_id muss die zuletzt gelieferte epoch mitgesendet werden. Ein Neuaufbau oder eine Datenschutzredaktion antwortet mit 409 stream_reset und replay_from=0, statt historische Darstellungen still zu aendern.

## Query parameters

- `types` string
- `cantons` string
- `zips` string
- `legal_forms` string
- `industries` string
- `keywords` string
- `exclude_keywords` string
- `capital_min` number
- `capital_max` number
- `from` string, date
- `to` string, date
- `since_id` integer
- `epoch` string
- `min_severity` integer
- `limit` integer
- `offset` integer

## Response `200`

Ereignisstrom, aufsteigend nach sequence bei Verwendung von since_id, sonst neueste zuerst.

- object
  - `data` FeedEvent[], required
    - `id` string, required: Stabile Kennung und Entdopplungsschluessel: fw1_ plus die ersten 32 Hexzeichen von sha256("<publication_id>:<type>").
    - `schema_version` '1.0', required: Formatversion. Neue optionale Felder sind kompatibel; Entfernen, Umbenennen oder Umdeuten verlangt eine neue Hauptversion.
    - `sequence` integer, required: Append-only Stromposition fuer since_id. Eine Berichtigung derselben stabilen id erhaelt eine neue sequence.
    - `status` 'aktiv' | 'berichtigt', required: aktiv fuer die erste unveraenderte Fassung; berichtigt fuer eine spaeter erneut ausgelieferte Fassung.
    - `revised_at` string, date-time, nullable, required: UTC-Zeitpunkt der Berichtigung; bei status aktiv null.
    - `content_hash` string, required: SHA-256 ueber type, occurred_at, uid, publication_id, summary und payload in kanonischer Form.
    - `source` object, required: Nachweis der amtlichen SHAB-Publikation. Der Beleg zeigt auf die Quelle beim Bund, nicht auf Firmenwatch.
      - `publication_id` string, uuid, required: Vom Bund vergebene UUID. Zusammen mit type der natuerliche, nachrechenbare Ereignisschluessel.
      - `published_at` string, date, nullable, required: Datum der amtlichen Publikation.
      - `rubric` string, nullable, required: Amtliche Rubrik, zum Beispiel HR01 oder KK03.
      - `official_url` string, uri, required: Direkter Beleg zur amtlichen Publikation auf shab.ch.
    - `type` 'new_registration' | 'name_change' | 'address_change' | 'seat_change' | 'purpose_change' | 'capital_change' | 'legal_form_change' | 'officer_added' | 'officer_removed' | 'auditor_change' | 'liquidation_opened' | 'liquidation_closed' | 'deletion' | 'bankruptcy_opened' | 'bankruptcy_suspended' | 'bankruptcy_closed' | 'moratorium' | 'debt_enforcement' | 'branch_opened' | 'branch_closed' | 'merger' | 'other', required: Normalisierte Ereignisart.
    - `occurred_at` string, date, required: Datum, an dem das Ereignis amtlich publiziert wurde.
    - `summary` string, nullable, required: Kurze menschenlesbare Zusammenfassung.
    - `severity` integer, required: Operative Relevanz von 0 bis 100; kein Bonitaetsurteil.
    - `payload` unknown, required
    - `event_capital` object: Optionaler Kapitalbefund genau dieser Publikation. Fehlt, wenn das Ereignis Betrag und ISO-Waehrungscode nicht gemeinsam belegt. Der aktuelle Firmenzustand bleibt getrennt unter company.capital.
      - `nominal` number, required: Nominalbetrag, den das normalisierte Ereignis selbst nennt.
      - `currency` string, required: ISO-Waehrungscode, den dasselbe normalisierte Ereignis belegt.
      - `qualification` 'publication_specific', required: Der Wert gehoert zur zugrunde liegenden Publikation, nicht zum spaeteren Firmenzustand.
      - `evidence_basis` 'normalized_event_payload_with_captured_currency_evidence', required: Betrag und ISO-Code stammen gemeinsam aus dem normalisierten Payload der unter source genannten SHAB-Publikation.
    - `company` object, required
      - `uid` string, required: Kanonisch formatierte Schweizer Unternehmens-Identifikationsnummer.
      - `name` string, required
      - `legal_form` string, nullable, required
      - `canton` string, nullable, required
      - `address` object, required
        - `care_of` string, nullable, required
        - `street` string, nullable, required
        - `house_number` string, nullable, required
        - `zip` string, nullable, required
        - `town` string, nullable, required
      - `purpose` string, nullable, required
      - `capital` number, nullable, required: Aktuelles Nominalkapital aus dem Registerstammbestand, sofern der gespeicherte ISO-Waehrungscode durch eine erfasste SHAB-Publikation belegt ist; sonst null. Kein historischer Wert des Ereignisdatums.
      - `capital_currency` string, nullable: ISO-Waehrungscode des aktuellen Kapitalstands; null ohne erfassten Waehrungsbeleg.
      - `capital_qualification` 'current_registered_state' | 'null', nullable: Kennzeichnet capital ausdruecklich als aktuellen Firmenzustand, nicht als Ereigniswert.
      - `capital_verification` 'currency_evidenced' | 'null', nullable: Bestaetigt, dass der ISO-Waehrungscode in einer erfassten SHAB-Publikation vorkommt.
      - `capital_evidence_basis` 'register_master_data_with_captured_currency_evidence' | 'null', nullable: Der aktuelle Betrag stammt aus dem Registerstammbestand; eine erfasste SHAB-Publikation belegt denselben ISO-Waehrungscode. Sie muss nicht denselben Betrag enthalten.
      - `industry` string, nullable, required: Aus dem eingetragenen Zweck abgeleitete Branchenbezeichnung.
      - `industry_code` string, nullable: Interner, NOGA-naher Klassifikationscode.
      - `industry_confidence` number, nullable
      - `industry_qualification` 'derived' | 'probable' | 'null', nullable
      - `industry_basis` 'registered_purpose_text' | 'null', nullable: Klassifikationsgrundlage; keine amtliche NOGA-Zuordnung.
      - `url` string, uri, required: Kanonisches Firmenprofil.
  - `limit` integer, required
  - `next_since_id` integer: Sicher abgearbeitete Stromgrenze, direkt als since_id des naechsten Abrufs verwendbar. Kann bei einer leeren gefilterten Antwort bis zum geprueften High-Water vorruecken. Nicht die Kennung aus id.
  - `stream_epoch` string: Gegenwaertige Stromepoche; zusammen mit next_since_id speichern.

## Other responses

- `400`: Ungueltige Anfrage (invalid_request).
- `401`: Kein oder ungueltiger Schluessel (unauthorized).
- `402`: Monatskontingent erschoepft (quota_exceeded).
- `403`: Abonnement nicht aktiv oder benoetigtes Schluesselrecht fehlt (forbidden).
- `409`: Die Stromepoche hat sich durch Neuaufbau oder Datenschutzredaktion geaendert. Firmenbestand neu abgleichen und die lokale Ereignisprojektion unter der neuen Epoche durch einen Replay ab Sequenz 0 vollstaendig ersetzen.
- `429`: Ratenbegrenzung erreicht (rate_limited).
- `500`: Unerwarteter Fehler (internal).
- `503`: Ein Publikationsabgleich ist noch nicht vollstaendig freigegeben (temporarily_unavailable). Den Cursor unveraendert lassen und spaeter erneut abrufen.

---

[API](https://skmtc.dev/firmenwatch/apis/firmenwatch-api.md) · [All operations](https://skmtc.dev/firmenwatch/apis/firmenwatch-api/llms.txt) · [OpenAPI document](https://skmtc.dev/firmenwatch/apis/firmenwatch-api/revisions/65e774135677?raw)
