MCP Server

Firmenwatch — Swiss Company Register

ch.firmenwatch/firmenwatch
Business & Operations Legal & Compliance Public & reachable MCP 2025-11-25

What this MCP does

Searches and verifies Swiss companies, UID records, register changes, and related official corporate status findings.

bestand_status
Datenstand prüfen
Trennt die neueste verfügbare Publikation von der lückenlos verifizierten Grenze und meldet den Datenqualitätsstatus. Nennt zusätzlich Frische und Abdeckung von MWST, FINMA und SECO. Nutze dies, bevor du dich auf eine Auskunft verlässt.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['fehler']}, {'not': {'required': ['fehler']}, 'required': ['datenqualitaetsstatus', 'aktuell', 'counts_estimated', 'firmen', 'meldungen', 'publikationen', 'ereignisstrom_bis', 'historie_verfuegbar_ab', 'historische_vollstaendigkeit_zugesichert', 'compliance_screening', 'hinweis']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'code': {'type': 'string'}, 'fehler': {'type': 'string', 'minLength': 1}, 'firmen': {'type': 'integer', 'minimum': 0}, 'aktuell': {'type': 'boolean'}, 'hinweis': {'type': 'string'}, 'meldungen': {'type': 'integer', 'minimum': 0}, 'datenstand': {'type': ['string', 'null'], 'format': 'date'}, 'erwartet_bis': {'type': ['string', 'null'], 'format': 'date'}, 'publikationen': {'type': 'integer', 'minimum': 0}, 'alter_in_tagen': {'type': ['integer', 'null'], 'minimum': 0}, 'counts_estimated': {'const': True}, 'ereignisstrom_bis': {'type': 'integer', 'minimum': 0}, 'unvollstaendig_ab': {'type': ['string', 'null'], 'format': 'date'}, 'retry_after_seconds': {'type': 'integer', 'minimum': 1}, 'compliance_screening': {'type': 'object', 'required': ['status', 'healthy', 'checked_at', 'checked_sources', 'problem_codes', 'warning_codes', 'sources'], 'properties': {'status': {'enum': ['checked', 'unavailable'], 'type': 'string'}, 'healthy': {'type': 'boolean'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'sync_status', 'coverage_status', 'last_success_at', 'last_complete_at', 'freshness', 'freshness_warning_after_hours', 'freshness_problem_after_hours', 'problem_codes', 'warning_codes'], 'properties': {'key': {'enum': ['uid_vat', 'finma_authorisations', 'finma_warnings', 'seco_sanctions'], 'type': 'string'}, 'freshness': {'enum': ['fresh', 'stale_warning', 'stale_problem', 'unknown'], 'type': 'string'}, 'sync_status': {'enum': ['idle', 'fetching', 'healthy', 'error', 'missing'], 'type': 'string'}, 'problem_codes': {'type': 'array', 'items': {'type': 'string'}}, 'warning_codes': {'type': 'array', 'items': {'type': 'string'}}, 'coverage_status': {'enum': ['not_applicable', 'delta_only', 'building', 'complete', 'unknown'], 'type': 'string'}, 'last_success_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'last_complete_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'freshness_problem_after_hours': {'type': 'integer', 'minimum': 1}, 'freshness_warning_after_hours': {'type': 'integer', 'minimum': 1}}}}, 'checked_at': {'type': 'string', 'format': 'date-time'}, 'problem_codes': {'type': 'array', 'items': {'type': 'string'}}, 'warning_codes': {'type': 'array', 'items': {'type': 'string'}}, 'checked_sources': {'type': 'integer', 'maximum': 4, 'minimum': 0}}}, 'datenqualitaetsstatus': {'enum': ['current', 'processing', 'degraded', 'unavailable'], 'type': 'string'}, 'historie_verfuegbar_ab': {'type': 'string', 'const': '2025-01-03', 'format': 'date'}, 'unvollstaendiger_scope': {'type': ['string', 'null']}, 'unvollstaendiger_status': {'type': ['string', 'null']}, 'lueckenlos_verifiziert_bis': {'type': ['string', 'null'], 'format': 'date'}, 'neueste_verfuegbare_publikation': {'type': ['string', 'null'], 'format': 'date'}, 'neueste_publikation_alter_in_tagen': {'type': ['integer', 'null'], 'minimum': 0}, 'historische_vollstaendigkeit_zugesichert': {'const': False}}}
firma_details
Firmendetails abrufen
Liefert die öffentlichen Angaben zu einer Firma anhand der UID: Stammdaten, Registerkapital nur mit belegter Währung, Personen- und Organabdeckung ohne Namen, Revision, Registerbefunde, belegbare Registerbezüge und den jüngsten Verlauf sowie den aktuellen MWST-, FINMA- und SECO-Abgleich mit amtlicher Quelle, Stand und Grenzen. Der öffentliche KI-Zugang gibt keine Namen natürlicher Personen und keine Finanzschätzungen aus.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['uid'], 'properties': {'uid': {'type': 'string', 'description': 'UID im Format CHE-123.456.789 oder nur die neun Ziffern'}, 'mit_verlauf': {'type': 'boolean', 'default': True, 'description': 'Meldungsverlauf mitliefern'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['fehler']}, {'not': {'required': ['fehler']}, 'required': ['firma', 'uid', 'status', 'adresse', 'verlauf', 'profil', 'datenstand', 'analyse', 'compliance', 'quellen', 'hinweis']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'uid': {'type': 'string'}, 'code': {'type': 'string'}, 'sitz': {'type': ['string', 'null']}, 'firma': {'type': 'string'}, 'zweck': {'type': ['string', 'null']}, 'fehler': {'type': 'string', 'minLength': 1}, 'kanton': {'type': ['string', 'null']}, 'profil': {'type': 'string', 'format': 'uri'}, 'status': {'enum': ['active', 'in_liquidation', 'bankrupt', 'deleted'], 'type': 'string'}, 'adresse': {'type': 'object', 'required': ['strasse', 'hausnummer', 'plz', 'ort'], 'properties': {'ort': {'type': ['string', 'null']}, 'plz': {'type': ['string', 'null']}, 'strasse': {'type': ['string', 'null']}, 'hausnummer': {'type': ['string', 'null']}, 'nicht_oeffentlich': {'type': 'boolean', 'const': True}}}, 'analyse': {'type': 'object', 'required': ['basis', 'data_status', 'officer_overview', 'event_history', 'sources', 'legal_effect'], 'properties': {'basis': {'type': 'string', 'const': 'register_evidence_only', 'description': 'Ausschliesslich Registerstammdaten und erfasste SHAB-Ereignisse; keine Finanzschaetzungen.'}, 'sources': {'type': 'object', 'required': ['master_data', 'publications'], 'properties': {'master_data': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string', 'const': 'Zefix dataset via LINDAS'}}}, 'publications': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}}}, 'revision': {'type': 'object', 'required': ['opting_out', 'statement', 'basis', 'publication'], 'properties': {'basis': {'type': 'string', 'const': 'structured_shab_revision'}, 'statement': {'type': 'string'}, 'opting_out': {'type': 'boolean'}, 'publication': {'type': 'object', 'required': ['id', 'date', 'number', 'sub_rubric', 'state', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'date': {'type': 'string', 'format': 'date'}, 'state': {'enum': ['commonsActual', 'commonsNew'], 'type': 'string'}, 'number': {'type': ['string', 'null']}, 'sub_rubric': {'type': 'string'}}}}}, 'data_status': {'type': 'object', 'required': ['latest_available_publication', 'verified_through', 'quality', 'incomplete_from'], 'properties': {'quality': {'enum': ['current', 'processing', 'degraded', 'unavailable'], 'type': 'string'}, 'incomplete_from': {'type': ['string', 'null'], 'format': 'date'}, 'verified_through': {'type': ['string', 'null'], 'format': 'date', 'description': 'Letzter Publikationstag vor jeder bekannten offenen technischen Freigabebarriere.'}, 'latest_available_publication': {'type': ['string', 'null'], 'format': 'date'}}, 'description': 'Kanonischer Firmenwatch-Datenqualitaetsstatus. Ein neueres Maximaldatum ist kein Vollstaendigkeitsbeleg; fuer lueckenlose Aussagen gilt verified_through.'}, 'legal_effect': {'type': 'string', 'const': 'not_an_official_register_extract'}, 'event_history': {'type': 'object', 'required': ['captured_publications', 'evaluated_events', 'evaluated_from', 'evaluated_through', 'possibly_more_events', 'by_type', 'coverage'], 'properties': {'by_type': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'label', 'count'], 'properties': {'type': {'type': 'string'}, 'count': {'type': 'integer', 'minimum': 1}, 'label': {'type': 'string'}}}}, 'coverage': {'type': 'object', 'required': ['available_from', 'complete_history_guaranteed', 'before_start'], 'properties': {'before_start': {'type': 'string', 'const': 'not_available'}, 'available_from': {'type': 'string', 'const': '2025-01-03', 'format': 'date'}, 'complete_history_guaranteed': {'type': 'boolean', 'const': False}}}, 'evaluated_from': {'type': ['string', 'null'], 'format': 'date'}, 'evaluated_events': {'type': 'integer', 'maximum': 200, 'minimum': 0}, 'evaluated_through': {'type': ['string', 'null'], 'format': 'date'}, 'possibly_more_events': {'type': 'boolean'}, 'captured_publications': {'type': 'integer', 'minimum': 0}}}, 'officer_overview': {'type': 'object', 'required': ['observed_active_entries', 'observed_former_entries', 'observed_total_entries', 'scope'], 'properties': {'scope': {'type': 'object', 'required': ['basis', 'coverage', 'verified_complete', 'basis_publication_id', 'basis_date', 'observed_from', 'observed_through', 'state_updated_at', 'result_interpretation', 'description', 'empty_result_means', 'official_register_url'], 'properties': {'basis': {'type': 'string', 'const': 'captured_shab_history'}, 'coverage': {'enum': ['none', 'partial', 'complete'], 'type': 'string'}, 'basis_date': {'type': ['string', 'null'], 'format': 'date'}, 'description': {'type': 'string'}, 'observed_from': {'type': ['string', 'null'], 'format': 'date'}, 'observed_through': {'type': ['string', 'null'], 'format': 'date'}, 'state_updated_at': {'type': ['string', 'null'], 'format': 'date-time'}, 'verified_complete': {'type': 'boolean'}, 'empty_result_means': {'type': ['string', 'null']}, 'basis_publication_id': {'type': ['string', 'null']}, 'official_register_url': {'type': 'string', 'format': 'uri'}, 'result_interpretation': {'enum': ['observed_entries', 'no_entries', 'data_being_completed'], 'type': 'string'}}}, 'observed_total_entries': {'type': 'integer', 'minimum': 0}, 'observed_active_entries': {'type': 'integer', 'minimum': 0}, 'observed_former_entries': {'type': 'integer', 'minimum': 0}}}, 'register_findings': {'type': 'object', 'required': ['classification', 'score', 'method', 'findings', 'limitation'], 'properties': {'score': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'method': {'type': 'string', 'const': 'transparent_rules_on_register_facts'}, 'findings': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'label', 'weight', 'detail', 'since'], 'properties': {'code': {'type': 'string'}, 'label': {'type': 'string'}, 'since': {'type': ['string', 'null'], 'format': 'date'}, 'detail': {'type': 'string'}, 'weight': {'type': 'integer', 'maximum': 100, 'minimum': 0}}}, 'minItems': 1}, 'limitation': {'type': 'string'}, 'classification': {'enum': ['keine', 'beobachten', 'erhoeht', 'kritisch'], 'type': 'string'}}}, 'first_registration': {'type': 'object', 'required': ['date', 'evidence_basis', 'publication'], 'properties': {'date': {'type': 'string', 'format': 'date', 'description': 'SHAB publication date of the earliest evidenced new registration; not the cantonal journal date.'}, 'publication': {'type': 'object', 'required': ['id', 'date', 'number', 'sub_rubric', 'state', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'date': {'type': 'string', 'format': 'date'}, 'state': {'enum': ['commonsActual', 'commonsNew'], 'type': 'string'}, 'number': {'type': ['string', 'null']}, 'sub_rubric': {'type': 'string'}}}, 'evidence_basis': {'type': 'string', 'const': 'structured_shab_new_registration'}}}, 'registered_capital': {'type': 'object', 'required': ['verification', 'nominal', 'paid', 'currency', 'evidence_basis', 'publication'], 'properties': {'paid': {'type': ['number', 'null'], 'minimum': 0}, 'nominal': {'type': 'number', 'minimum': 0}, 'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'publication': {'type': 'object', 'required': ['id', 'date', 'number', 'sub_rubric', 'state', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'date': {'type': 'string', 'format': 'date'}, 'state': {'enum': ['commonsActual', 'commonsNew'], 'type': 'string'}, 'number': {'type': ['string', 'null']}, 'sub_rubric': {'type': 'string'}}}, 'verification': {'type': 'string', 'const': 'currency_evidenced', 'description': 'Der Registerbetrag wird nur ausgegeben, wenn der zugehoerige ISO-Waehrungscode in einer erfassten SHAB-Publikation belegt ist.'}, 'evidence_basis': {'type': 'string', 'const': 'structured_shab_company_capital', 'description': 'Betrag und ISO-Waehrung stammen aus demselben strukturierten Zustandsblock einer amtlichen SHAB-Publikation.'}}}, 'registered_domicile': {'type': 'object', 'required': ['no_address', 'status', 'evidence_basis', 'publication'], 'properties': {'status': {'type': 'string', 'const': 'officially_marked_no_address'}, 'no_address': {'type': 'boolean', 'const': True}, 'publication': {'type': 'object', 'required': ['id', 'date', 'number', 'sub_rubric', 'state', 'url'], 'properties': {'id': {'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'date': {'type': 'string', 'format': 'date'}, 'state': {'enum': ['commonsActual', 'commonsNew'], 'type': 'string'}, 'number': {'type': ['string', 'null']}, 'sub_rubric': {'type': 'string'}}}, 'evidence_basis': {'type': 'string', 'const': 'structured_shab_company_no_address'}}}, 'register_relationships': {'type': 'object', 'required': ['returned_companies', 'possibly_more_companies', 'evidence_basis', 'companies_by_evidence', 'companies', 'interpretation_limit'], 'properties': {'companies': {'type': 'array', 'items': {'type': 'object', 'required': ['uid', 'name', 'status', 'canton', 'town', 'profile', 'evidence'], 'properties': {'uid': {'type': 'string'}, 'name': {'type': 'string'}, 'town': {'type': ['string', 'null']}, 'canton': {'type': ['string', 'null']}, 'status': {'type': 'string'}, 'profile': {'type': 'string', 'format': 'uri'}, 'evidence': {'type': 'object', 'required': ['same_registered_address', 'shared_person_entries', 'shared_auditor_entries', 'shared_shareholder_entries'], 'properties': {'shared_person_entries': {'type': 'integer', 'minimum': 0}, 'shared_auditor_entries': {'type': 'integer', 'minimum': 0}, 'same_registered_address': {'type': 'boolean'}, 'shared_shareholder_entries': {'type': 'integer', 'minimum': 0}}}}}, 'maxItems': 12}, 'evidence_basis': {'type': 'object', 'required': ['registered_address', 'person_auditor_shareholder_entries', 'officer_scope_reference'], 'properties': {'registered_address': {'type': 'string', 'const': 'imported_register_master_data'}, 'officer_scope_reference': {'type': 'string', 'const': 'officer_overview.scope'}, 'person_auditor_shareholder_entries': {'type': 'string', 'const': 'captured_shab_officer_projection'}}}, 'returned_companies': {'type': 'integer', 'maximum': 12, 'minimum': 0}, 'interpretation_limit': {'type': 'string', 'const': 'A register relationship alone does not prove control, ownership or group membership.'}, 'companies_by_evidence': {'type': 'object', 'required': ['same_registered_address', 'shared_person_entries', 'shared_auditor_entries', 'shared_shareholder_entries'], 'properties': {'shared_person_entries': {'type': 'integer', 'minimum': 0}, 'shared_auditor_entries': {'type': 'integer', 'minimum': 0}, 'same_registered_address': {'type': 'integer', 'minimum': 0}, 'shared_shareholder_entries': {'type': 'integer', 'minimum': 0}}}, 'possibly_more_companies': {'type': 'boolean'}, 'registered_entities_at_same_address': {'type': 'integer', 'minimum': 2}}}, 'industry_classification': {'type': 'object', 'required': ['label', 'code', 'confidence', 'qualification', 'basis'], 'properties': {'code': {'type': ['string', 'null']}, 'basis': {'type': 'string', 'const': 'registered_purpose_text'}, 'label': {'type': 'string'}, 'confidence': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'qualification': {'enum': ['derived', 'probable'], 'type': 'string'}}}}}, 'branche': {'type': 'string'}, 'hinweis': {'type': 'string'}, 'quellen': {'type': 'object', 'required': ['stammdaten', 'aktualisierungen'], 'properties': {'stammdaten': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}, 'aktualisierungen': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}}}, 'verlauf': {'type': 'array', 'items': {'type': 'object', 'required': ['ereignis_id', 'publikations_id', 'datum', 'art', 'art_code', 'beschreibung', 'amtlicher_beleg'], 'properties': {'art': {'type': 'string'}, 'datum': {'type': 'string', 'format': 'date'}, 'art_code': {'enum': ['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'], 'type': 'string'}, 'ereignis_id': {'type': 'string'}, 'beschreibung': {'type': ['string', 'null']}, 'amtlicher_beleg': {'type': 'string', 'format': 'uri'}, 'publikations_id': {'type': 'string'}}}}, 'compliance': {'type': 'object', 'required': ['basis', 'vat', 'finma', 'seco', 'sources', 'legal_effect'], 'properties': {'vat': {'type': 'object', 'required': ['status', 'uid_vat', 'entry_date', 'end_date', 'source_checked_at', 'source'], 'properties': {'source': {'oneOf': [{'type': 'object', 'required': ['key', 'name', 'url', 'machine_url', 'source_date', 'checked_at', 'source_date_basis', 'coverage_status', 'coverage_verified_through', 'record_checked_at', 'freshness_basis', 'fetched_at', 'activated_at', 'source_version', 'freshness', 'freshness_problem_after_hours', 'limitation'], 'properties': {'key': {'enum': ['uid_vat', 'finma_authorisations', 'finma_warnings', 'seco_sanctions'], 'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}, 'freshness': {'enum': ['fresh', 'stale_warning', 'stale_problem'], 'type': 'string'}, 'checked_at': {'type': 'string', 'format': 'date-time'}, 'fetched_at': {'type': 'string', 'format': 'date-time'}, 'limitation': {'type': 'string'}, 'machine_url': {'type': 'string', 'format': 'uri'}, 'source_date': {'type': 'string', 'format': 'date'}, 'activated_at': {'type': 'string', 'format': 'date-time'}, 'source_version': {'type': 'string'}, 'coverage_status': {'enum': ['not_applicable', 'delta_only', 'building', 'complete'], 'type': 'string', 'description': 'complete darf nur mit amtlichem Vollbestand und lueckenlosem Folgefeed gesetzt werden.'}, 'freshness_basis': {'enum': ['source_last_success_at', 'record_checked_at', 'complete_coverage_last_success_at'], 'type': 'string'}, 'record_checked_at': {'type': ['string', 'null'], 'format': 'date-time', 'description': 'Letzter direkter Beleg der konkreten UID-Zeile; getrennt von der globalen Feed-Abdeckung.'}, 'source_date_basis': {'enum': ['uid_delta_window_end', 'http_last_modified', 'latest_entry_publication_date', 'official_list_issue_date'], 'type': 'string', 'description': 'Maschinenlesbare Bedeutung von source_date; das Abrufdatum steht separat in fetched_at beziehungsweise checked_at.'}, 'coverage_verified_through': {'type': ['string', 'null'], 'format': 'date', 'description': 'Nur bei coverage_status=complete: letzter lueckenlos belegter Quelltag.'}, 'freshness_problem_after_hours': {'type': 'integer', 'minimum': 1}}}, {'type': 'null'}]}, 'status': {'enum': ['active', 'registered', 'ended', 'not_registered', 'unknown', 'unavailable'], 'type': 'string', 'description': 'Amtlicher MWST-Status der konkreten UID. unknown und unavailable sind ausdrücklich keine Negativaussage.'}, 'uid_vat': {'type': ['string', 'null']}, 'end_date': {'type': ['string', 'null'], 'format': 'date'}, 'entry_date': {'type': ['string', 'null'], 'format': 'date'}, 'source_checked_at': {'type': ['string', 'null'], 'format': 'date-time'}}}, 'seco': {'type': 'object', 'required': ['direct_match_check', 'candidates_total', 'candidates_truncated', 'candidates', 'source'], 'properties': {'source': {'oneOf': [{'type': 'object', 'required': ['key', 'name', 'url', 'machine_url', 'source_date', 'checked_at', 'source_date_basis', 'coverage_status', 'coverage_verified_through', 'record_checked_at', 'freshness_basis', 'fetched_at', 'activated_at', 'source_version', 'freshness', 'freshness_problem_after_hours', 'limitation'], 'properties': {'key': {'enum': ['uid_vat', 'finma_authorisations', 'finma_warnings', 'seco_sanctions'], 'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}, 'freshness': {'enum': ['fresh', 'stale_warning', 'stale_problem'], 'type': 'string'}, 'checked_at': {'type': 'string', 'format': 'date-time'}, 'fetched_at': {'type': 'string', 'format': 'date-time'}, 'limitation': {'type': 'string'}, 'machine_url': {'type': 'string', 'format': 'uri'}, 'source_date': {'type': 'string', 'format': 'date'}, 'activated_at': {'type': 'string', 'format': 'date-time'}, 'source_version': {'type': 'string'}, 'coverage_status': {'enum': ['not_applicable', 'delta_only', 'building', 'complete'], 'type': 'string', 'description': 'complete darf nur mit amtlichem Vollbestand und lueckenlosem Folgefeed gesetzt werden.'}, 'freshness_basis': {'enum': ['source_last_success_at', 'record_checked_at', 'complete_coverage_last_success_at'], 'type': 'string'}, 'record_checked_at': {'type': ['string', 'null'], 'format': 'date-time', 'description': 'Letzter direkter Beleg der konkreten UID-Zeile; getrennt von der globalen Feed-Abdeckung.'}, 'source_date_basis': {'enum': ['uid_delta_window_end', 'http_last_modified', 'latest_entry_publication_date', 'official_list_issue_date'], 'type': 'string', 'description': 'Maschinenlesbare Bedeutung von source_date; das Abrufdatum steht separat in fetched_at beziehungsweise checked_at.'}, 'coverage_verified_through': {'type': ['string', 'null'], 'format': 'date', 'description': 'Nur bei coverage_status=complete: letzter lueckenlos belegter Quelltag.'}, 'freshness_problem_after_hours': {'type': 'integer', 'minimum': 1}}}, {'type': 'null'}]}, 'candidates': {'type': 'array', 'items': {'type': 'object', 'required': ['source_record_id', 'name', 'matched_name', 'matched_name_kind', 'program', 'listing_effective_date', 'listing_effective_date_basis', 'country_code', 'official_search_url', 'machine_evidence_url', 'address', 'match_basis', 'identity'], 'properties': {'name': {'type': 'string'}, 'address': {'type': ['string', 'null']}, 'program': {'type': 'string'}, 'identity': {'type': 'string', 'const': 'candidate_requires_review'}, 'match_basis': {'enum': ['exact_legal_name', 'exact_legal_name_and_location', 'exact_official_alias'], 'type': 'string'}, 'country_code': {'type': ['string', 'null']}, 'matched_name': {'type': 'string'}, 'source_record_id': {'type': 'string'}, 'matched_name_kind': {'enum': ['primary_name', 'official_alias', 'former_name', 'spelling_variant'], 'type': 'string'}, 'official_search_url': {'type': 'string', 'format': 'uri', 'description': 'Menschenlesbare offizielle SECO-Suche; die SSID steht in source_record_id.'}, 'machine_evidence_url': {'type': 'string', 'format': 'uri', 'description': 'Fuer den Abgleich verwendete amtliche XML-Gesamtliste; fuer Maschinen, nicht als leichter Einzellink.'}, 'listing_effective_date': {'type': ['string', 'null'], 'format': 'date', 'description': 'Wirksamkeitsdatum der juengsten amtlichen listed-Modifikation; bleibt null, wenn die Quelle kein solches Datum nennt.'}, 'listing_effective_date_basis': {'type': 'string', 'const': 'latest_official_listed_modification_effective_date'}}}}, 'candidates_total': {'type': 'integer', 'minimum': 0, 'description': 'Exakte Zahl der amtlich belegten Namenstreffer vor der begrenzten Ausgabe.'}, 'direct_match_check': {'enum': ['possible_match', 'no_exact_match', 'unavailable'], 'type': 'string', 'description': 'Exakter Abgleich mit direkt gelisteten amtlichen Haupt- und Alternativnamen; Eigentums- und Kontrollbeziehungen sind nicht abschliessend erfasst.'}, 'candidates_truncated': {'type': 'boolean'}}}, 'basis': {'type': 'string', 'const': 'official_external_sources'}, 'finma': {'type': 'object', 'required': ['authorisation_check', 'authorisations_total', 'authorisations_truncated', 'authorisations', 'warning_check', 'warning_matches_total', 'warning_matches_truncated', 'warning_matches', 'authorisations_source', 'warnings_source'], 'properties': {'warning_check': {'enum': ['possible_match', 'no_exact_name_location_match', 'unavailable'], 'type': 'string', 'description': 'Konservativer Abgleich von exaktem Firmennamen und Ort. Ein Ergebnis ist weder Identitäts- noch Unbedenklichkeitsnachweis.'}, 'authorisations': {'type': 'array', 'items': {'type': 'object', 'required': ['source_record_id', 'name', 'city', 'uid', 'authorisation_type'], 'properties': {'uid': {'type': ['string', 'null']}, 'city': {'type': 'string'}, 'name': {'type': 'string'}, 'source_record_id': {'type': 'string'}, 'authorisation_type': {'type': 'string'}}}}, 'warning_matches': {'type': 'array', 'items': {'type': 'object', 'required': ['source_record_id', 'title', 'name', 'seat', 'warning_date', 'official_url', 'match_basis', 'identity'], 'properties': {'name': {'type': ['string', 'null']}, 'seat': {'type': ['string', 'null']}, 'title': {'type': 'string'}, 'identity': {'enum': ['confirmed_by_register_reference', 'candidate_requires_review'], 'type': 'string'}, 'match_basis': {'enum': ['exact_register_reference', 'exact_name_and_location'], 'type': 'string'}, 'official_url': {'type': 'string', 'format': 'uri'}, 'warning_date': {'type': 'string', 'format': 'date'}, 'source_record_id': {'type': 'string'}}}}, 'warnings_source': {'oneOf': [{'type': 'object', 'required': ['key', 'name', 'url', 'machine_url', 'source_date', 'checked_at', 'source_date_basis', 'coverage_status', 'coverage_verified_through', 'record_checked_at', 'freshness_basis', 'fetched_at', 'activated_at', 'source_version', 'freshness', 'freshness_problem_after_hours', 'limitation'], 'properties': {'key': {'enum': ['uid_vat', 'finma_authorisations', 'finma_warnings', 'seco_sanctions'], 'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}, 'freshness': {'enum': ['fresh', 'stale_warning', 'stale_problem'], 'type': 'string'}, 'checked_at': {'type': 'string', 'format': 'date-time'}, 'fetched_at': {'type': 'string', 'format': 'date-time'}, 'limitation': {'type': 'string'}, 'machine_url': {'type': 'string', 'format': 'uri'}, 'source_date': {'type': 'string', 'format': 'date'}, 'activated_at': {'type': 'string', 'format': 'date-time'}, 'source_version': {'type': 'string'}, 'coverage_status': {'enum': ['not_applicable', 'delta_only', 'building', 'complete'], 'type': 'string', 'description': 'complete darf nur mit amtlichem Vollbestand und lueckenlosem Folgefeed gesetzt werden.'}, 'freshness_basis': {'enum': ['source_last_success_at', 'record_checked_at', 'complete_coverage_last_success_at'], 'type': 'string'}, 'record_checked_at': {'type': ['string', 'null'], 'format': 'date-time', 'description': 'Letzter direkter Beleg der konkreten UID-Zeile; getrennt von der globalen Feed-Abdeckung.'}, 'source_date_basis': {'enum': ['uid_delta_window_end', 'http_last_modified', 'latest_entry_publication_date', 'official_list_issue_date'], 'type': 'string', 'description': 'Maschinenlesbare Bedeutung von source_date; das Abrufdatum steht separat in fetched_at beziehungsweise checked_at.'}, 'coverage_verified_through': {'type': ['string', 'null'], 'format': 'date', 'description': 'Nur bei coverage_status=complete: letzter lueckenlos belegter Quelltag.'}, 'freshness_problem_after_hours': {'type': 'integer', 'minimum': 1}}}, {'type': 'null'}]}, 'authorisation_check': {'enum': ['listed', 'no_uid_match', 'unavailable'], 'type': 'string', 'description': 'Exakter UID-Abgleich mit der veröffentlichten FINMA-Liste. no_uid_match bedeutet nur, dass diese UID im geprüften Listenstand nicht vorkommt.'}, 'authorisations_total': {'type': 'integer', 'minimum': 0, 'description': 'Exakte Zahl der UID-Treffer vor der begrenzten Ausgabe.'}, 'authorisations_source': {'oneOf': [{'type': 'object', 'required': ['key', 'name', 'url', 'machine_url', 'source_date', 'checked_at', 'source_date_basis', 'coverage_status', 'coverage_verified_through', 'record_checked_at', 'freshness_basis', 'fetched_at', 'activated_at', 'source_version', 'freshness', 'freshness_problem_after_hours', 'limitation'], 'properties': {'key': {'enum': ['uid_vat', 'finma_authorisations', 'finma_warnings', 'seco_sanctions'], 'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}, 'freshness': {'enum': ['fresh', 'stale_warning', 'stale_problem'], 'type': 'string'}, 'checked_at': {'type': 'string', 'format': 'date-time'}, 'fetched_at': {'type': 'string', 'format': 'date-time'}, 'limitation': {'type': 'string'}, 'machine_url': {'type': 'string', 'format': 'uri'}, 'source_date': {'type': 'string', 'format': 'date'}, 'activated_at': {'type': 'string', 'format': 'date-time'}, 'source_version': {'type': 'string'}, 'coverage_status': {'enum': ['not_applicable', 'delta_only', 'building', 'complete'], 'type': 'string', 'description': 'complete darf nur mit amtlichem Vollbestand und lueckenlosem Folgefeed gesetzt werden.'}, 'freshness_basis': {'enum': ['source_last_success_at', 'record_checked_at', 'complete_coverage_last_success_at'], 'type': 'string'}, 'record_checked_at': {'type': ['string', 'null'], 'format': 'date-time', 'description': 'Letzter direkter Beleg der konkreten UID-Zeile; getrennt von der globalen Feed-Abdeckung.'}, 'source_date_basis': {'enum': ['uid_delta_window_end', 'http_last_modified', 'latest_entry_publication_date', 'official_list_issue_date'], 'type': 'string', 'description': 'Maschinenlesbare Bedeutung von source_date; das Abrufdatum steht separat in fetched_at beziehungsweise checked_at.'}, 'coverage_verified_through': {'type': ['string', 'null'], 'format': 'date', 'description': 'Nur bei coverage_status=complete: letzter lueckenlos belegter Quelltag.'}, 'freshness_problem_after_hours': {'type': 'integer', 'minimum': 1}}}, {'type': 'null'}]}, 'warning_matches_total': {'type': 'integer', 'minimum': 0, 'description': 'Exakte Zahl der Namens-/Ortstreffer vor der begrenzten Ausgabe.'}, 'authorisations_truncated': {'type': 'boolean'}, 'warning_matches_truncated': {'type': 'boolean'}}}, 'sources': {'type': 'array', 'items': {'type': 'object', 'required': ['key', 'name', 'url', 'machine_url', 'source_date', 'checked_at', 'source_date_basis', 'coverage_status', 'coverage_verified_through', 'record_checked_at', 'freshness_basis', 'fetched_at', 'activated_at', 'source_version', 'freshness', 'freshness_problem_after_hours', 'limitation'], 'properties': {'key': {'enum': ['uid_vat', 'finma_authorisations', 'finma_warnings', 'seco_sanctions'], 'type': 'string'}, 'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}, 'freshness': {'enum': ['fresh', 'stale_warning', 'stale_problem'], 'type': 'string'}, 'checked_at': {'type': 'string', 'format': 'date-time'}, 'fetched_at': {'type': 'string', 'format': 'date-time'}, 'limitation': {'type': 'string'}, 'machine_url': {'type': 'string', 'format': 'uri'}, 'source_date': {'type': 'string', 'format': 'date'}, 'activated_at': {'type': 'string', 'format': 'date-time'}, 'source_version': {'type': 'string'}, 'coverage_status': {'enum': ['not_applicable', 'delta_only', 'building', 'complete'], 'type': 'string', 'description': 'complete darf nur mit amtlichem Vollbestand und lueckenlosem Folgefeed gesetzt werden.'}, 'freshness_basis': {'enum': ['source_last_success_at', 'record_checked_at', 'complete_coverage_last_success_at'], 'type': 'string'}, 'record_checked_at': {'type': ['string', 'null'], 'format': 'date-time', 'description': 'Letzter direkter Beleg der konkreten UID-Zeile; getrennt von der globalen Feed-Abdeckung.'}, 'source_date_basis': {'enum': ['uid_delta_window_end', 'http_last_modified', 'latest_entry_publication_date', 'official_list_issue_date'], 'type': 'string', 'description': 'Maschinenlesbare Bedeutung von source_date; das Abrufdatum steht separat in fetched_at beziehungsweise checked_at.'}, 'coverage_verified_through': {'type': ['string', 'null'], 'format': 'date', 'description': 'Nur bei coverage_status=complete: letzter lueckenlos belegter Quelltag.'}, 'freshness_problem_after_hours': {'type': 'integer', 'minimum': 1}}}}, 'legal_effect': {'type': 'string', 'const': 'screening_aid_not_official_confirmation'}}}, 'datenstand': {'type': ['string', 'null'], 'format': 'date'}, 'rechtsform': {'type': ['string', 'null']}, 'geloescht_am': {'type': ['string', 'null'], 'format': 'date'}, 'letzte_meldung': {'type': ['string', 'null'], 'format': 'date'}, 'kapital_nominal': {'type': 'number', 'minimum': 0}, 'rechtsform_code': {'type': ['string', 'null']}, 'kapital_waehrung': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'branchenableitung': {'type': 'object', 'required': ['code', 'konfidenz', 'einordnung', 'basis'], 'properties': {'code': {'type': ['string', 'null']}, 'basis': {'type': 'string', 'const': 'registered_purpose_text'}, 'konfidenz': {'type': 'number', 'maximum': 1, 'minimum': 0.45}, 'einordnung': {'enum': ['derived', 'probable'], 'type': 'string'}}}, 'kapital_einbezahlt': {'type': ['number', 'null'], 'minimum': 0}, 'retry_after_seconds': {'type': 'integer', 'minimum': 1}, 'erstmals_eingetragen': {'type': ['string', 'null'], 'format': 'date'}}}
firma_risiko
Registerbefunde zu einer Firma
Fasst zusammen, was im Handelsamtsblatt zu einer Firma publiziert wurde und geschäftlich relevant ist: Konkurs, Liquidation, Nachlassstundung, Kapitalherabsetzung und häufige Organwechsel. Jeder Befund ist einzeln benannt und datiert. Dies ist KEINE Bonitätsauskunft und bewertet KEINE natürlichen Personen.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['uid'], 'properties': {'uid': {'type': 'string', 'description': 'UID der Firma'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['fehler']}, {'not': {'required': ['fehler']}, 'required': ['firma', 'uid', 'verfuegbar']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'uid': {'type': 'string'}, 'code': {'type': 'string'}, 'firma': {'type': 'string'}, 'stufe': {'type': 'string'}, 'fehler': {'type': 'string', 'minLength': 1}, 'profil': {'type': 'string', 'format': 'uri'}, 'befunde': {'type': 'array', 'items': {'type': 'object', 'required': ['befund_code', 'befund', 'gewicht', 'erlaeuterung', 'seit'], 'properties': {'seit': {'type': ['string', 'null'], 'format': 'date'}, 'befund': {'type': 'string'}, 'gewicht': {'type': 'number'}, 'befund_code': {'type': 'string'}, 'erlaeuterung': {'type': 'string'}}}}, 'hinweis': {'type': 'string'}, 'quellen': {'type': 'object', 'required': ['stammdaten', 'aktualisierungen'], 'properties': {'stammdaten': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}, 'aktualisierungen': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}}}, 'punktwert': {'type': 'number'}, 'datenstand': {'type': ['string', 'null'], 'format': 'date'}, 'stufe_code': {'enum': ['keine', 'beobachten', 'erhoeht', 'kritisch'], 'type': 'string'}, 'verfuegbar': {'type': 'boolean'}, 'einschraenkung': {'type': 'string'}, 'quellenhinweis': {'type': 'string'}, 'unvollstaendig_ab': {'type': ['string', 'null'], 'format': 'date'}, 'historienabdeckung': {'type': 'object', 'required': ['ab', 'vollstaendigkeit_zugesichert', 'fruehere_stichtage_verfuegbar'], 'properties': {'ab': {'type': 'string', 'const': '2025-01-03', 'format': 'date'}, 'vollstaendigkeit_zugesichert': {'type': 'boolean', 'const': False}, 'fruehere_stichtage_verfuegbar': {'type': 'boolean', 'const': False}}}, 'retry_after_seconds': {'type': 'integer', 'minimum': 1}, 'datenqualitaetsstatus': {'enum': ['current', 'processing', 'degraded', 'unavailable'], 'type': 'string'}, 'lueckenlos_verifiziert_bis': {'type': ['string', 'null'], 'format': 'date'}, 'neueste_verfuegbare_publikation': {'type': ['string', 'null'], 'format': 'date'}}}
firma_suchen
Schweizer Firma suchen
Sucht Firmen im Schweizer Handelsregister nach Name oder UID. Liefert Firma, UID, Rechtsform, Sitz, Adresse und Status. Nutze dies, wenn die UID nicht bekannt ist.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['suchbegriff'], 'properties': {'anzahl': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1, 'description': 'Höchstzahl Treffer, 1 bis 25'}, 'kanton': {'type': 'string', 'description': 'Kantonskürzel, z. B. ZH. Erlaubt: AG, AI, AR, BE, BL, BS, FR, GE, GL, GR, JU, LU, NE, NW, OW, SG, SH, SO, SZ, TG, TI, UR, VD, VS, ZG, ZH'}, 'status': {'enum': ['active', 'in_liquidation', 'bankrupt', 'deleted'], 'type': 'string', 'description': 'Auf einen Status einschränken'}, 'suchbegriff': {'type': 'string', 'maxLength': 160, 'minLength': 2, 'description': 'Firmenname oder Teil davon, oder eine UID wie CHE-123.456.789'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['fehler']}, {'not': {'required': ['fehler']}, 'required': ['treffer_gesamt', 'weitere_treffer', 'firmen', 'datenstand', 'datenqualitaetsstatus', 'hinweis']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'code': {'type': 'string'}, 'fehler': {'type': 'string', 'minLength': 1}, 'firmen': {'type': 'array', 'items': {'type': 'object', 'required': ['firma', 'uid', 'rechtsform', 'sitz', 'kanton', 'adresse', 'status', 'letzte_meldung', 'profil'], 'properties': {'uid': {'type': 'string'}, 'sitz': {'type': ['string', 'null']}, 'firma': {'type': 'string'}, 'kanton': {'type': ['string', 'null']}, 'profil': {'type': 'string', 'format': 'uri'}, 'status': {'enum': ['active', 'in_liquidation', 'bankrupt', 'deleted'], 'type': 'string'}, 'adresse': {'type': ['string', 'null']}, 'rechtsform': {'type': ['string', 'null']}, 'letzte_meldung': {'type': ['string', 'null'], 'format': 'date'}}}}, 'hinweis': {'type': 'string'}, 'quellen': {'type': 'object', 'required': ['stammdaten', 'aktualisierungen'], 'properties': {'stammdaten': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}, 'aktualisierungen': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}}}, 'datenstand': {'type': ['string', 'null'], 'format': 'date'}, 'quellenhinweis': {'type': 'string'}, 'treffer_gesamt': {'type': ['integer', 'null'], 'minimum': 0}, 'weitere_treffer': {'type': 'boolean'}, 'unvollstaendig_ab': {'type': ['string', 'null'], 'format': 'date'}, 'historienabdeckung': {'type': 'object', 'required': ['ab', 'vollstaendigkeit_zugesichert', 'fruehere_stichtage_verfuegbar'], 'properties': {'ab': {'type': 'string', 'const': '2025-01-03', 'format': 'date'}, 'vollstaendigkeit_zugesichert': {'type': 'boolean', 'const': False}, 'fruehere_stichtage_verfuegbar': {'type': 'boolean', 'const': False}}}, 'retry_after_seconds': {'type': 'integer', 'minimum': 1}, 'datenqualitaetsstatus': {'enum': ['current', 'processing', 'degraded', 'unavailable'], 'type': 'string'}, 'lueckenlos_verifiziert_bis': {'type': ['string', 'null'], 'format': 'date'}, 'neueste_verfuegbare_publikation': {'type': ['string', 'null'], 'format': 'date'}}}
tagesbriefing
Tägliches Firmenbriefing
Liefert die wichtigsten strukturierten Firmenänderungen des jüngsten lückenlos verifizierten Publikationstags und zählt sie nach Art. Nutze dieses Werkzeug für einen täglichen KI-Lauf, ein Morgenbriefing oder eine automatisierte Marktbeobachtung. Optional lässt sich das Briefing nach Kanton, Meldungsart und Stichwort eingrenzen.
Read only Open world Idempotent
Input schema
{'type': 'object', 'properties': {'arten': {'type': 'array', 'items': {'enum': ['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'], 'type': 'string'}, 'maxItems': 20, 'minItems': 1, 'description': 'Optional auf Meldungsarten einschränken'}, 'datum': {'type': 'string', 'description': 'Optionaler Publikationstag JJJJ-MM-TT. Ohne Angabe wird die jüngste lückenlos verifizierte Grenze verwendet.'}, 'anzahl': {'type': 'integer', 'default': 48, 'maximum': 48, 'minimum': 1}, 'kantone': {'type': 'array', 'items': {'enum': ['AG', 'AI', 'AR', 'BE', 'BL', 'BS', 'FR', 'GE', 'GL', 'GR', 'JU', 'LU', 'NE', 'NW', 'OW', 'SG', 'SH', 'SO', 'SZ', 'TG', 'TI', 'UR', 'VD', 'VS', 'ZG', 'ZH'], 'type': 'string'}, 'maxItems': 20, 'minItems': 1, 'description': 'Optional auf Kantone einschränken'}, 'stichwoerter': {'type': 'array', 'items': {'type': 'string', 'maxLength': 80}, 'maxItems': 20, 'minItems': 1, 'description': 'Stichwörter im Firmennamen oder bereinigten Meldungstext'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['fehler']}, {'not': {'required': ['fehler']}, 'required': ['publikationstag', 'anzahl', 'begrenzt', 'auswahl_nach_art', 'meldungen', 'datenstand', 'hinweis']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'code': {'type': 'string'}, 'anzahl': {'type': 'integer', 'minimum': 0}, 'fehler': {'type': 'string', 'minLength': 1}, 'hinweis': {'type': 'string'}, 'quellen': {'type': 'object', 'required': ['stammdaten', 'aktualisierungen'], 'properties': {'stammdaten': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}, 'aktualisierungen': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}}}, 'begrenzt': {'type': 'boolean'}, 'meldungen': {'type': 'array', 'items': {'type': 'object', 'required': ['ereignis_id', 'datum', 'art', 'art_code', 'beschreibung', 'firma', 'uid', 'rechtsform', 'kanton', 'ort', 'profil', 'amtlicher_beleg'], 'properties': {'art': {'type': 'string'}, 'ort': {'type': ['string', 'null']}, 'uid': {'type': 'string'}, 'datum': {'type': 'string', 'format': 'date'}, 'firma': {'type': 'string'}, 'kanton': {'type': ['string', 'null']}, 'profil': {'type': 'string', 'format': 'uri'}, 'art_code': {'enum': ['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'], 'type': 'string'}, 'rechtsform': {'type': ['string', 'null']}, 'ereignis_id': {'type': 'string'}, 'beschreibung': {'type': ['string', 'null']}, 'amtlicher_beleg': {'type': 'string', 'format': 'uri'}}}}, 'datenstand': {'type': ['string', 'null'], 'format': 'date'}, 'quellenhinweis': {'type': 'string'}, 'publikationstag': {'type': 'string', 'format': 'date'}, 'auswahl_nach_art': {'type': 'object', 'additionalProperties': {'type': 'integer', 'minimum': 1}}, 'unvollstaendig_ab': {'type': ['string', 'null'], 'format': 'date'}, 'historienabdeckung': {'type': 'object', 'required': ['ab', 'vollstaendigkeit_zugesichert', 'fruehere_stichtage_verfuegbar'], 'properties': {'ab': {'type': 'string', 'const': '2025-01-03', 'format': 'date'}, 'vollstaendigkeit_zugesichert': {'type': 'boolean', 'const': False}, 'fruehere_stichtage_verfuegbar': {'type': 'boolean', 'const': False}}}, 'retry_after_seconds': {'type': 'integer', 'minimum': 1}, 'datenqualitaetsstatus': {'enum': ['current', 'processing', 'degraded', 'unavailable'], 'type': 'string'}, 'lueckenlos_verifiziert_bis': {'type': ['string', 'null'], 'format': 'date'}, 'neueste_verfuegbare_publikation': {'type': ['string', 'null'], 'format': 'date'}}}
uid_pruefen
UID prüfen
Prüft eine Schweizer UID auf Format und Prüfziffer (Modulo 11 nach Spezifikation des Bundesamts für Statistik) und schlägt sie im Bestand nach. Nutze dies, bevor du eine UID in ein System übernimmst — Tippfehler werden so erkannt.
Read only Open world Idempotent
Input schema
{'type': 'object', 'required': ['uid'], 'properties': {'uid': {'type': 'string', 'description': 'Zu prüfende UID'}}, 'additionalProperties': False}
Output schema
{'type': 'object', 'oneOf': [{'required': ['fehler']}, {'not': {'required': ['fehler']}, 'required': ['gueltig']}], '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'code': {'type': 'string'}, 'firma': {'type': ['string', 'null']}, 'grund': {'type': 'string'}, 'fehler': {'type': 'string', 'minLength': 1}, 'profil': {'type': ['string', 'null'], 'format': 'uri'}, 'status': {'type': ['string', 'null']}, 'gueltig': {'type': 'boolean'}, 'hinweis': {'type': 'string'}, 'quellen': {'type': 'object', 'required': ['stammdaten', 'aktualisierungen'], 'properties': {'stammdaten': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}, 'aktualisierungen': {'type': 'object', 'required': ['name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'name': {'type': 'string'}}}}}, 'datenstand': {'type': ['string', 'null'], 'format': 'date'}, 'im_bestand': {'type': 'boolean'}, 'erlaeuterung': {'type': 'string'}, 'normalisiert': {'type': 'string'}, 'quellenhinweis': {'type': 'string'}, 'unvollstaendig_ab': {'type': ['string', 'null'], 'format': 'date'}, 'historienabdeckung': {'type': 'object', 'required': ['ab', 'vollstaendigkeit_zugesichert', 'fruehere_stichtage_verfuegbar'], 'properties': {'ab': {'type': 'string', 'const': '2025-01-03', 'format': 'date'}, 'vollstaendigkeit_zugesichert': {'type': 'boolean', 'const': False}, 'fruehere_stichtage_verfuegbar': {'type': 'boolean', 'const': False}}}, 'retry_after_seconds': {'type': 'integer', 'minimum': 1}, 'datenqualitaetsstatus': {'enum': ['current', 'processing', 'degraded', 'unavailable'], 'type': 'string'}, 'lueckenlos_verifiziert_bis': {'type': ['string', 'null'], 'format': 'date'}, 'neueste_verfuegbare_publikation': {'type': ['string', 'null'], 'format': 'date'}}}
Changed
firma_details
Sept. 19, 2026, 2:50 a.m.
Added
bestand_status
Sept. 17, 2026, 7:58 a.m.
Added
tagesbriefing
Sept. 17, 2026, 7:58 a.m.
Added
firma_risiko
Sept. 17, 2026, 7:58 a.m.
Added
uid_pruefen
Sept. 17, 2026, 7:58 a.m.
Added
firma_details
Sept. 17, 2026, 7:58 a.m.
Added
firma_suchen
Sept. 17, 2026, 7:58 a.m.