API-Dokumentation

Anoniq PII-Proxy API

Drop-in-Ersatz für OpenAI-kompatible LLM-APIs. Anoniq erkennt PII, pseudonymisiert sie vor dem LLM-Call und substituiert die Originaldaten im Response zurück. Keine Klartexte verlassen Ihre Infrastruktur.

Base URL

api.anoniq.de/v1

Protokoll

HTTPS + TLS 1.3

Kompatibel mit

OpenAI SDK

Quickstart

Drei Header, gleiche OpenAI-Payload. Alle erkannten PII werden pseudonymisiert, der LLM sieht nur Platzhalter, der Response enthält die Originaldaten zurück.

cURL
bash
curl -X POST https://api.anoniq.de/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-Anoniq-Key: ak_..." \
  -H "X-Anoniq-Session-ID: $(uuidgen)" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "Überweise 500€ von IBAN DE89370400440532013000"}]
  }'
Python
python
import openai, uuid

client = openai.OpenAI(
    base_url="https://api.anoniq.de/v1",
    api_key="ak_...",  # Anoniq API Key
    default_headers={"X-Anoniq-Session-ID": str(uuid.uuid4())},
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Max Mustermann hat IBAN DE89370400440532013000"}],
)
print(response.choices[0].message.content)  # PII ist re-substituiert
JavaScript / TypeScript
typescript
import OpenAI from "openai"

const client = new OpenAI({
  baseURL: "https://api.anoniq.de/v1",
  apiKey: "ak_...",
  defaultHeaders: { "X-Anoniq-Session-ID": crypto.randomUUID() },
})

const response = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "Max Mustermann hat IBAN DE89370400440532013000" }],
})
console.log(response.choices[0].message.content)

Authentication

Alle Anfragen benötigen zwei Header:

HeaderWertBeschreibung
X-Anoniq-Keyak_...API-Key aus dem Dashboard
X-Anoniq-Session-IDUUID v4Eindeutige ID pro Nutzer-Session. Wird für Re-Substitution benötigt. Neue Session = neue UUID.

Endpoints

POST/v1/chat/completions

OpenAI-kompatibel. Nimmt die gleiche Payload wie POST /v1/chat/completions der OpenAI API entgegen. PII wird erkannt, pseudonymisiert, und im Response re-substituiert.

Response: Standard OpenAI-Chat-Completion-Format + X-Anoniq-Entities Header

Erkannte PII: Im Header X-Anoniq-Entities als JSON-Array [{type, score}]

GET/health

Komponenten-Status-Check. Gibt 200 wenn alle Komponenten erreichbar,503 wenn kritische Komponenten fehlen.

Erkannte PII-Typen

Anoniq erkennt 19 PII-Typen für DE/AT/CH + EN:

PER — Personennamen
ORG — Organisationen
LOC — Orte
EMAIL — E-Mail-Adressen
PHONE — Telefonnummern
IBAN — Bankverbindungen
STEUERID — Steuer-IDs
SVNR — Sozialversicherung
KFZ — Kennzeichen
GEBURTSDATUM
REISEPASS
PERSONALAUSWEIS
KREDITKARTE
UST_ID — Umsatzsteuer-ID
IP_ADRESSE
URL
AT_SVN — Österr. SVN
CH_AHV — Schweizer AHV

Vollständige interaktive API-Spec mit Try-it-out:

Swagger UI öffnen →