Przejdź do treści

API-Dokumentation

Integrieren Sie die datenschutzorientierte Textanonymisierung von ANOXY mit unserer einfachen REST-API in Ihre Anwendungen.

Schnellstart

1

API-Schlüssel erhalten

Registrieren Sie sich im Dashboard und erstellen Sie einen API-Schlüssel.

2

Erste Anfrage senden

Verwenden Sie den Endpunkt /v1/anonymize, um sensible Daten zu schützen.

3

Originaltext wiederherstellen

Verwenden Sie dieselbe Sitzungs-ID mit /v1/deanonymize, um den Originaltext zurückzubekommen.

Authentifizierung

Alle API-Anfragen erfordern eine Authentifizierung. ANOXY unterstützt zwei Authentifizierungsmethoden:

API-Schlüssel

Fügen Sie Ihren API-Schlüssel im Header X-API-Key ein. Erstellen Sie Schlüssel in Ihrem Dashboard.

X-API-Key: YOUR_API_KEY

JWT-Bearer-Token

Für SSO- und OAuth-Integrationen übergeben Sie ein JWT-Token im Authorization-Header. Token werden vom ANOXY-Identitätsanbieter ausgestellt.

Authorization: Bearer eyJhbGciOiJSUzI1NiIs...
POST/v1/anonymize

Anonymisieren Sie Text durch Erkennung und Ersetzung personenbezogener Daten (PII) mit konsistenten Token.

Anfragekörper

textstringerforderlich

Der zu anonymisierende Text.

languagestringoptional

Sprachcode (z.B. "en", "de"). Standard: "en".

session_idstringoptional

Benutzerdefinierte Sitzungs-ID. Falls nicht angegeben, wird eine generiert.

Beispielanfrage

curl -X POST https://app.anoxy.ai/v1/anonymize \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "John Smith lives at 123 Main St, New York. His email is john@example.com.",
    "language": "en",
    "session_id": "optional-session-id"
  }'

Beispielantwort

{
  "session_id": "abc-123-def-456",
  "anonymized_text": "<PERSON_1> lives at <LOCATION_1>. His email is <EMAIL_1>.",
  "entities_found": [
    {
      "entity_type": "PERSON",
      "start": 0,
      "end": 10,
      "text": "John Smith",
      "anonymized_token": "<PERSON_1>"
    },
    {
      "entity_type": "LOCATION",
      "start": 20,
      "end": 42,
      "text": "123 Main St, New York",
      "anonymized_token": "<LOCATION_1>"
    },
    {
      "entity_type": "EMAIL_ADDRESS",
      "start": 57,
      "end": 76,
      "text": "john@example.com",
      "anonymized_token": "<EMAIL_1>"
    }
  ],
  "quota_used": 1250,
  "quota_remaining": 8750,
  "processing_time_ms": 45.2
}
POST/v1/deanonymize

Stellen Sie den Originaltext mithilfe der Sitzungszuordnung wieder her. Erfordert eine gültige Sitzungs-ID einer vorherigen Anonymisierung.

Anfragekörper

textstringerforderlich

Der anonymisierte Text zur Wiederherstellung.

session_idstringerforderlich

Die Sitzungs-ID aus der Anonymisierungsanfrage.

Beispielanfrage

curl -X POST https://app.anoxy.ai/v1/deanonymize \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "<PERSON_1> lives at <LOCATION_1>. His email is <EMAIL_1>.",
    "session_id": "your-session-id"
  }'

Beispielantwort

{
  "original_text": "John Smith lives at 123 Main St, New York. His email is john@example.com.",
  "session_id": "abc-123-def-456",
  "processing_time_ms": 12.4
}
POST/v1/text/detect

PII-Entitäten im Text erkennen, ohne zu anonymisieren. Gibt Entitätspositionen, Typen und Konfidenzwerte zurück, wobei der Originaltext erhalten bleibt.

Anfragekörper

textstringerforderlich

Der Text, der nach PII-Entitäten gescannt werden soll.

languagestringoptional

Sprachcode (z.B. "en", "de"). Standard: "en".

entity_typesstring[] | stringoptional

Bestimmte Entitätstypen filtern. Akzeptiert ein JSON-Array oder eine kommagetrennte Zeichenkette (z. B. "PERSON,EMAIL_ADDRESS").

Beispielanfrage

curl -X POST https://app.anoxy.ai/v1/text/detect \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "John Smith lives at 123 Main St. Email: john@example.com",
    "language": "en"
  }'

Beispielantwort

{
  "status": "success",
  "data": {
    "text": "John Smith lives at 123 Main St. Email: john@example.com",
    "entities_found": [
      {"entity_type": "PERSON", "start": 0, "end": 10, "text": "John Smith", "score": 0.95},
      {"entity_type": "LOCATION", "start": 20, "end": 31, "text": "123 Main St", "score": 0.88},
      {"entity_type": "EMAIL_ADDRESS", "start": 40, "end": 56, "text": "john@example.com", "score": 0.99}
    ],
    "entity_summary": {"PERSON": 1, "LOCATION": 1, "EMAIL_ADDRESS": 1}
  }
}
POST/v1/documents/anonymize

Eine Dokumentdatei zur Anonymisierung hochladen. Unterstützt PDF, DOCX, XLSX, CSV, PPTX, Bilder (OCR) und über 10 weitere Formate. Gibt eine Job-ID zum Herunterladen des Ergebnisses zurück.

Anfragekörper

Content-Type: multipart/form-data

filebinaryerforderlich

Die zu anonymisierende Dokumentdatei (max. 50 MB).

modestringoptional

Anonymisierungsmodus: "anonymize" (Standard, irreversibel) oder "pseudonymize" (reversibel mit Sitzung).

languagestringoptional

Sprachcode (z.B. "en", "de"). Standard: "en".

Beispielanfrage

curl -X POST https://app.anoxy.ai/v1/documents/anonymize \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@contract.pdf" \
  -F "mode=anonymize" \
  -F "language=en"

Unterstützte Formate

PDFDOCXXLSXCSVPPTXRTFHTMLTXTXMLJSONEMLMDPNGJPGTIFFBMP

Beispielantwort

{
  "status": "success",
  "data": {
    "job_id": "550e8400-e29b-41d4-a716-446655440000",
    "filename": "contract_anonymized.pdf",
    "entities_count": 23,
    "processing_time_ms": 1250.5,
    "download_url": "/v1/history/550e8400.../download"
  }
}

Antwortformat

Alle API-Antworten folgen einer einheitlichen JSON-Envelope-Struktur. Erfolgsantworten umschließen Daten im "data"-Feld, Fehlerantworten liefern ein strukturiertes Fehlerobjekt.

Erfolg

{
  "status": "success",
  "data": { ... },
  "meta": {
    "version": "4.10.10",
    "processing_time_ms": 45.2
  }
}

Fehler

{
  "status": "error",
  "error": {
    "type": "validation_error",
    "message": "Text is required."
  }
}

Endpunktkatalog

Vollständige Liste der verfügbaren API-Endpunkte.

MethodeEndpunktBeschreibungAuth
POST/v1/anonymizeAnonymize text, replacing PII with tokensRequired
POST/v1/deanonymizeRestore original text using session mappingRequired
POST/v1/text/detectDetect PII entities without anonymizingRequired
POST/v1/documents/anonymizeUpload and anonymize a document fileRequired
POST/v1/text/anonymize-batchAnonymize up to 20 text items in one requestRequired
GET/v1/countriesList supported countries and entity typesNone
GET/v1/historyList anonymization history (paginated, sortable)Required
GET/v1/history/{job_id}Get job detail with entity breakdownRequired
GET/v1/history/{job_id}/downloadDownload anonymized result fileRequired
POST/v1/history/batch-deleteBatch delete jobsRequired
GET/v1/quotaCheck current quota usage and limitsRequired
GET/v1/api-keysList your API keysRequired
POST/v1/api-keysCreate a new API keyRequired
DELETE/v1/api-keys/{id}Revoke an API keyRequired
GET/v1/billing/subscriptionGet current subscription detailsRequired
GET/healthHealth check endpointNone

Fehlercodes

400 Bad Request

Ungültige Anfrageparameter oder fehlerhaftes JSON.

401 Unauthorized

Fehlender oder ungültiger API-Schlüssel.

402 Payment Required

Kontingent überschritten. Upgraden Sie Ihren Tarif oder warten Sie auf die Zurücksetzung.

404 Not Found

Sitzung nicht gefunden oder abgelaufen (für Deanonymisierung).

429 Too Many Requests

Ratelimit überschritten. Prüfen Sie den X-RateLimit-Reset-Header für den nächsten Versuch.

500 Internal Server Error

Serverfehler. Bitte versuchen Sie es erneut oder kontaktieren Sie den Support.

Ratelimits

Ratelimits variieren je nach Tarif:

  • Free: 10 requests/minute, 1,000 tokens/month
  • Pro: 100 requests/minute, 100,000 tokens/month
  • Team: 1,000 requests/minute, 1,000,000 tokens/month
  • Enterprise: 1,000 requests/minute, unlimited tokens

Ratelimit-Header

Jede authentifizierte Antwort enthält Ratelimit-Header:

X-RateLimit-Limit

Maximale Anzahl erlaubter Anfragen pro Minute für Ihren Tarif.

X-RateLimit-Remaining

Verbleibende Anfragen im aktuellen Zeitfenster.

X-RateLimit-Reset

Unix-Zeitstempel (Sekunden), wann das Ratelimit-Zeitfenster zurückgesetzt wird.

HTTP/1.1 200 OK X-RateLimit-Limit: 100 X-RateLimit-Remaining: 87 X-RateLimit-Reset: 1707523260

Hilfe benötigt?

Unser Team unterstützt Sie bei Ihrer Integration.

v4.14.71 (production)API Documentation | ANOXY