---
title: "UID pruefen und normalisieren"
method: POST
path: "/uid/validate"
tags: ["UID"]
---

# UID pruefen und normalisieren

`POST /uid/validate`

## Request

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

Prueft die Pruefziffer nach der Spezifikation des Bundesamts fuer Statistik (Modulo 11 mit den Gewichten 5, 4, 3, 2, 7, 6, 5, 4) und schlaegt die UID anschliessend im Bestand nach. Eine formal gueltige UID muss nicht eingetragen sein.

## Request body

- object
  - `uid` string, required: UID in beliebiger Schreibweise.

## Response `200`

Pruefergebnis.

- object
  - `data` UidValidation, required
    - `valid` boolean, required: Format und Pruefziffer sind korrekt.
    - `normalized` string, nullable, required: Kanonische Schreibweise CHE-000.000.000; null bei ungueltigem Format.
    - `found` boolean, required: Die UID ist im Firmenwatch-Bestand vorhanden.
    - `reason` 'format' | 'checksum': Grund bei ungueltiger UID.
    - `company` Company
      - `uid` string, required
      - `name` string, required
      - `slug` string, required
      - `legal_form_code` string, nullable, required
      - `legal_form` string, nullable, required
      - `status` 'active' | 'in_liquidation' | 'bankrupt' | 'deleted', required
      - `seat` string, nullable, required: Politische Gemeinde des Sitzes.
      - `canton` string, nullable, required
      - `address` Address, required
        - `masked` boolean: true: genaue Adresse aus Datenschutzgründen nicht öffentlich; Ort bleibt verfügbar.
        - `care_of` string, nullable, required: Zustellvermerk, z. B. c/o Muster Treuhand AG.
        - `street` string, nullable, required
        - `house_number` string, nullable, required
        - `po_box` string, nullable, required: Postfachnummer ohne das Wort Postfach.
        - `zip` string, nullable, required
        - `town` string, nullable, required
      - `purpose` string, nullable, required: Zweckumschreibung gemaess Handelsregister.
      - `capital` Capital, required
        - `nominal` number, required: Nominalkapital mit belegtem ISO-Waehrungscode.
        - `paid` number, nullable, required: Belegtes liberiertes Kapital, soweit erfasst.
        - `currency` string, required: In einer erfassten Registerpublikation belegter ISO-Waehrungscode.
        - `verification` 'currency_evidenced', required
        - `evidence_basis` 'structured_shab_company_capital', required
        - `publication` object, required
          - `id` string, required
          - `date` string, date, required
          - `number` string, nullable, required
          - `sub_rubric` string, required
          - `state` 'commonsActual' | 'commonsNew', required
          - `url` string, uri, required
      - `industry` Industry, required: Aus dem eingetragenen Zweck abgeleitete Firmenwatch-Klassifikation; keine amtliche NOGA-Zuordnung.
        - `code` string, nullable, required: Interner, NOGA-naher Klassifikationscode.
        - `label` string, required: Deutsche Bezeichnung der abgeleiteten Branche.
        - `confidence` number, required
        - `qualification` 'derived' | 'probable', required
        - `basis` 'registered_purpose_text', required
      - `first_registered_at` string, date, nullable, required: SHAB publication date of the earliest evidenced new registration; not the cantonal journal date.
      - `deleted_at` string, date, nullable, required
      - `last_event_at` string, date, nullable, required
      - `url` string, uri, required: Oeffentliches Firmenprofil auf firmenwatch.ch.

## 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).
- `413`: Anfrage-Rumpf zu gross (payload_too_large).
- `415`: JSON-Medientyp erforderlich (unsupported_media_type).
- `429`: Ratenbegrenzung erreicht (rate_limited).
- `500`: Unerwarteter Fehler (internal).
- `503`: Der Registerbestand wird gerade vollständig verifiziert (temporarily_unavailable). Dieselbe Abfrage später erneut senden.

---

[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)
