Zum Inhalt springen

Schnittstelle

Nachweise direkt aus Ihren Systemen.

Mit der Schnittstelle stellt Ihre Kursverwaltung, Ihr Lernportal oder Ihre Software Nachweise automatisch aus, zum Beispiel sobald jemand die Prüfung bestanden hat. Abrufen, Widerrufen und Herunterladen von PDF und QR-Code gehen genauso. Enthalten ab dem Paket Pro.

Anmeldung

Ein Schlüssel je System.

Personen, die das Konto verwalten, erstellen Schlüssel unter Konto, Schnittstelle. Jeder Schlüssel wird nur einmal angezeigt, beginnt mit vat_ und gehört zum Aussteller. Senden Sie ihn bei jeder Anfrage im Kopf Authorization. Schlüssel gehören auf den Server, nie in eine Webseite oder App. Ein widerrufener Schlüssel ist sofort gesperrt.

curl https://valid.at/api/v1/aussteller \
  -H "Authorization: Bearer vat_IHR_SCHLUESSEL"

Endpunkte

Was die Schnittstelle kann.

AnfrageZweck
GET /api/v1/ausstellerAussteller, Paket und Stand des Kontingents
POST /api/v1/aussteller/nachweiseNachweis ausstellen
GET /api/v1/aussteller/nachweiseNachweise auflisten; Filter status, referenz, angelegtSeit; seitenweise mit seite und proSeite
GET /api/v1/aussteller/nachweise/{code}Nachweis mit allen Angaben abrufen
POST /api/v1/aussteller/nachweise/{code}/widerrufWiderrufen mit Grund, der auf der Prüfseite erscheint
GET /api/v1/aussteller/nachweise/{code}/dateien/pdfPDF aus der Vorlage; ebenso qr.svg, qr.png und die Badges

Die vollständige Beschreibung gibt es maschinenlesbar als OpenAPI 3.1, zum Beispiel für Postman oder zum Erzeugen eines Clients.

Moodle

Fertig für Moodle.

Das Plugin „Nachweise mit valid.at“ stellt bei jedem Kursabschluss in Moodle automatisch einen Nachweis aus. Je Kurs legen Sie Art des Nachweises und Gültigkeit fest. Die Teilnehmenden erhalten das PDF per E-Mail und finden ihre Nachweise in Moodle im Profil. Auf der Kursseite sehen Sie alle Nachweise, widerrufen sie und stellen sie für frühere Abschlüsse aus. Für Moodle 4.1 bis 5.3, kostenlos zum Download.

Zum Plugin für Moodle

Ausstellen

Ein Nachweis, eine Anfrage.

Der Nachweis ist sofort prüfbar. Die Antwort enthält Code, Prüfadresse, den persönlichen Link für den Inhaber und die Adressen von PDF und QR-Code. Mit einer E-Mail-Adresse des Inhabers schickt valid.at ihm wie beim Formular eine Nachricht; mit "benachrichtigen": false übernehmen Sie das selbst.

curl https://valid.at/api/v1/aussteller/nachweise \
  -H "Authorization: Bearer vat_IHR_SCHLUESSEL" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: kurs-2026-0412-teilnehmer-17" \
  -d '{
    "inhaber": "Maria Muster",
    "inhaberEmail": "maria.muster@example.com",
    "nachweis": "Elektrotechnisch unterwiesene Person (EuP)",
    "ausgestelltAm": "2026-10-01",
    "gueltigMonate": 12,
    "referenz": "2026-0412"
  }'
HTTP/1.1 201 Created
{
  "id": "4f3c…",
  "code": "K7M2X9QD",
  "status": "gueltig",
  "inhaber": "Maria Muster",
  "nachweis": "Elektrotechnisch unterwiesene Person (EuP)",
  "ausgestelltAm": "2026-10-01",
  "gueltigBis": "2027-10-01",
  "pruefseite": "https://valid.at/K7M2X9QD",
  "kurzadresse": "valid.at/K7M2-X9QD",
  "inhaberLink": "https://valid.at/inhaber/…",
  "pdf": {
    "pruefwert": "9b1e…",
    "quelle": "erzeugt",
    "url": "https://valid.at/api/v1/aussteller/nachweise/K7M2X9QD/dateien/pdf"
  },
  …
}
FeldBedeutung
inhaberVollständiger Name, Pflicht
nachweisArt des Nachweises, Pflicht
ausgestelltAmDatum JJJJ-MM-TT, Pflicht
gueltigBisDatum JJJJ-MM-TT; leer oder null für unbefristet
gueltigMonateStatt gueltigBis: Gültigkeit in Monaten ab ausgestelltAm
inhaberEmailFür die Nachricht an den Inhaber und Erinnerungen vor Ablauf
arbeitgeberEmailNur für Erinnerungen vor Ablauf, erscheint nirgends öffentlich
referenzInterne Nummer, klein auf dem PDF
zusatztextText nur auf dem PDF, höchstens 600 Zeichen
pdftrue (Standard) erzeugt das PDF aus Ihrer Vorlage; false für eigene Vorlagen mit QR-Code
benachrichtigentrue (Standard) informiert den Inhaber per E-Mail

Wiederholungen

Nie doppelt ausstellen.

Senden Sie mit jedem neuen Nachweis eine eigene eindeutige Kennung im Kopf Idempotency-Key, zum Beispiel aus Kurs und Teilnehmer. Kommt dieselbe Kennung noch einmal, etwa nach einem Verbindungsabbruch, liefert valid.at den bereits ausgestellten Nachweis mit Status 200 und dem Kopf Idempotent-Replayed: true. So entsteht nie ein zweiter Nachweis.

Fehler und Grenzen

Klare Antworten.

Fehler kommen als JSON mit fehler und, wo es um Felder geht, felder mit den Gründen je Feld. Unbekannte Felder werden abgelehnt, damit Tippfehler auffallen.

StatusBedeutung
400Felder fehlen oder sind ungültig, oder kein gültiges JSON
401Schlüssel fehlt, ist ungültig oder widerrufen
403Paket ohne Schnittstelle, Konto noch nicht freigeschaltet oder Kontingent im Paket Start erschöpft
404Kein Nachweis mit diesem Code bei Ihrem Konto
413Anfrage größer als 64 KB
415Nicht als JSON gesendet
429Mehr als 120 Anfragen pro Minute und Schlüssel; Retry-After nennt die Wartezeit in Sekunden

Alles, was über die Schnittstelle geschieht, steht im Protokoll Ihres Kontos mit der Bezeichnung des Schlüssels.

Prüfen

Prüfen geht ohne Schlüssel.

Wer einen Nachweis nur prüfen will, braucht kein Konto: Die öffentliche Abfrage GET /api/v1/nachweise/{code} liefert Status und Eckdaten mit digitaler Signatur und eine signierte Statusauskunft. Mehr dazu unter Sicherheit.