API
Basis-URL: https://mitanon.mollet.it/api/v1 · Authentifizierung über
Authorization: Bearer <API-SchlĂĽssel> (alternativ X-Api-Key).
SchlĂĽssel legst du unter API-SchlĂĽssel an.
Der ĂĽbliche Ablauf
- Session anlegen (oder eine bestehende weiterverwenden).
POST /anonymizemit dem Originaltext – zurück kommt der Text mit Platzhaltern.- Diesen Text an die öffentliche KI geben.
POST /deanonymizemit der KI-Antwort und derselbensessionId.
Ohne sessionId legt /anonymize selbst eine an und gibt sie zurück –
praktisch fĂĽr Einzeiler im Skript.
Endpunkte
| Methode | Pfad | Zweck |
|---|---|---|
GET | /health | Dienst und Modell erreichbar? |
GET | /entity-types | Liste der erkannten Typen |
POST | /sessions | Session anlegen |
GET | /sessions | Sessions auflisten |
GET | /sessions/{id} | Eine Session |
DELETE | /sessions/{id} | Session samt Zuordnung löschen |
GET | /sessions/{id}/mappings?klartext=true | Zuordnung abfragen |
POST | /anonymize | Text anonymisieren |
POST | /deanonymize | Platzhalter zurĂĽcksetzen |
POST | /extract | Text aus einer Datei holen (multipart) |
POST | /anonymize-file | Datei lesen und gleich anonymisieren (multipart) |
Beispiel
curl -s -X POST https://mitanon.mollet.it/api/v1/anonymize \
-H "Authorization: Bearer $MITANON_KEY" \
-H "Content-Type: application/json" \
-d '{
"titel": "Ticket 4711",
"text": "Herr MĂĽller von der Muster GmbH meldet sich unter 07033 123456.",
"llmVerwenden": true
}'
Antwort:
{
"sessionId": "3b6f5e44-cb1d-4624-851d-db9e92d5e6df",
"text": "Herr [PERSON_1] von der [FIRMA_1] meldet sich unter [TELEFON_1].",
"ersetzungen": 3,
"llmGenutzt": true,
"warnungen": [],
"platzhalter": [
{ "platzhalter": "[PERSON_1]", "typ": "PERSON", "bezeichnung": "Person", "vorkommen": 1, "erkanntVon": "llm" }
]
}
Und der RĂĽckweg:
curl -s -X POST https://mitanon.mollet.it/api/v1/deanonymize \
-H "Authorization: Bearer $MITANON_KEY" \
-H "Content-Type: application/json" \
-d '{
"sessionId": "3b6f5e44-cb1d-4624-851d-db9e92d5e6df",
"text": "Bitte rufen Sie [PERSON_1] unter [TELEFON_1] zurĂĽck."
}'Dateien
Gelesen werden PDF, DOCX, XLSX, E-Mail (.eml/.msg, inklusive Anhängen) sowie Text-, CSV-, Log-, JSON-, XML- und HTML-Dateien. Ein PDF ohne Textebene wird erkannt und per Bilderkennung auf der GPU gelesen.
curl -s -X POST https://mitanon.mollet.it/api/v1/anonymize-file \ -H "Authorization: Bearer $MITANON_KEY" \ -F "datei=@rechnung.pdf" \ -F "titel=Rechnung 0815" \ -F "llmVerwenden=true"
Nur den Text herausholen, ohne zu anonymisieren, geht mit /extract –
gleicher Aufbau, nur das Feld datei.
| Formularfeld | Bedeutung |
|---|---|
datei | Pflicht. Die Datei selbst. |
sessionId | Optional, sonst wird eine neue Session angelegt. |
titel | Optional. Standard ist der Dateiname. |
llmVerwenden | true/false, Standard true. |
typenAus | Kommagetrennt, z.B. DOMAIN,URL. |
originaleZurueckgeben | true/false, Standard false. |
Stammt der Text aus der Bilderkennung, steht das in der Antwort unter
datei.bilderkennung und als Warnung. OCR-Lesefehler bedeuten:
ein falsch erkannter Name wird nicht ersetzt.
Felder von /anonymize
| Feld | Typ | Bedeutung |
|---|---|---|
text | string | Pflicht. Der Originaltext. |
sessionId | guid | Optional. Fehlt sie, wird eine neue Session angelegt. |
titel | string | Optional. Titel einer neu angelegten Session. |
llmVerwenden | bool | Standard true. Auf false laufen nur die Regeln – schnell, aber ohne Namen und Firmen. |
typenAus | string[] | Typen, die stehen bleiben sollen, z.B. ["DOMAIN","URL"]. |
originaleZurueckgeben | bool | Standard false. Nur setzen, wenn der Aufrufer die Klartexte wirklich braucht. |
Was zu beachten ist
- Ist das lokale Modell nicht erreichbar, antwortet
/anonymizetrotzdem – aber mit einer Warnung im Feldwarnungen. Wer automatisiert weiterverarbeitet, sollte das prüfen, sonst gehen Klarnamen an die öffentliche KI. - Platzhalter gelten nur innerhalb ihrer Session. Andere Session, andere Nummern.
- Sessions verfallen nach 30 Tagen (einstellbar ĂĽber
lebensdauerTage) und werden dann samt Originalwerten gelöscht. /deanonymizemeldet unterunbekanntePlatzhalter, was es nicht zuordnen konnte.