API DocsAnymize Features

Anymize Features

Projekte, Wissensdatenbanken und Meetings per API erstellen, verwalten und abrufen — die In-App-Funktionen von anymize.

Auf dieser Seite

Neben Chat und Anonymisierung kannst du über die API auch die In-App-Objekte von anymize steuern: Projekte (bündeln Chats, Wissensdatenbanken, eine Projektanweisung und ein Projektgedächtnis), Wissensdatenbanken und Klartext-Meetings. Alle Endpunkte sind mit deinem API-Key nutzbar.

Konzepte

  • Projects — bündeln Chats, Wissensdatenbanken, eine Projektanweisung und ein Projektgedächtnis.
  • Knowledge Bases — Wissensdatenbanken, die du befüllst und Projekten zuordnest (RAG-Suche).
  • Meetings — Klartext-Transkripte mit Sprechern, Zeitstempeln und KI-Zusammenfassungen.

Credits & Abrechnung

Lese-Endpunkte sind kostenlos. Die KI-gestützte Projektanweisung (enhance-instruction) wird über API-Key zu 2 € pro 1 Mio. Input-Tokens und 5 € pro 1 Mio. Output-Tokens abgerechnet; die verbrauchten Credits stehen als credits_used in der Antwort.

Projekte

Projekt erstellen

Legt ein Projekt an und gibt dessen ID zurück.

POST/api/v1/projects
ParameterTypeDescription
project_namerequired
stringName des Projekts.
project_instruction
stringOptionale Projektanweisung (System-Anweisung für alle Chats im Projekt).
1curl -X POST https://app.anymize.ai/api/v1/projects \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{ "project_name": "Onboarding", "project_instruction": "Antworte immer auf Deutsch." }'
201Created
{
  "success": true,
  "project": {
    "id": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb",
    "project_name": "Onboarding",
    "project_instruction": "Antworte immer auf Deutsch.",
    "conversation_count": 0,
    "document_count": 0,
    "created_at": "2026-06-22T10: 30: 00Z"
  }
}

Projektdaten abrufen

Lädt ein Projekt. Mit ?include= bekommst du in einem Aufruf alle Chats (ID + Name), verknüpfte Wissensdatenbanken und das Projektgedächtnis.

GET/api/v1/projects/:id?include=conversations,knowledge_bases,memory
ParameterTypeDescription
include
stringKommagetrennt: conversations, knowledge_bases, memory.
200OK
{
  "project": {
    "id": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb",
    "project_name": "Onboarding",
    "project_instruction": "Antworte immer auf Deutsch.",
    "conversations": [
      {
        "id": "cccccccc-cccc-4ccc-8ccc-cccccccccccc",
        "chat_name": "Kickoff",
        "message_count": 12
      }
    ],
    "knowledge_bases": [
      {
        "id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
        "name": "Handbuch",
        "rag_status": "completed"
      }
    ],
    "memory": "# Projektgedächtnis\n- Kunde bevorzugt E-Mail."
  }
}

Verwalten: Name, Anweisung & Datenbanken

Name und Projektanweisung setzt du per PATCH (ohne KI). Wissensdatenbanken verknüpfst du über den knowledge-bases-Endpunkt.

PATCH/api/v1/projects/:id
POST/api/v1/projects/:id/knowledge-bases
1# Name + Projektanweisung setzen (ohne KI)
2curl -X PATCH https://app.anymize.ai/api/v1/projects/bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb \
3 -H "Authorization: Bearer YOUR_API_KEY" \
4 -H "Content-Type: application/json" \
5 -d '{ "project_name": "Onboarding 2026", "project_instruction": "Kurz und freundlich." }'
6
7# Wissensdatenbank verknüpfen
8curl -X POST https://app.anymize.ai/api/v1/projects/bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb/knowledge-bases \
9 -H "Authorization: Bearer YOUR_API_KEY" \
10 -H "Content-Type: application/json" \
11 -d '{ "knowledgeBaseId": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa" }'

Projekt löschen

Verschiebt ein Projekt in den Papierkorb. Nur der Eigentümer kann löschen.

DELETE/api/v1/projects/:id
1curl -X DELETE https://app.anymize.ai/api/v1/projects/bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb \
2 -H "Authorization: Bearer YOUR_API_KEY"
200OK
{
  "success": true
}

Wiederherstellbar

Das Projekt landet im Papierkorb und kann dort 30 Tage lang wiederhergestellt werden. Verknüpfte Chats und Wissensdatenbanken bleiben erhalten, erst nach Ablauf der Frist wird alles endgültig gelöscht.

Projektgedächtnis

Lies, setze oder lösche das Projektgedächtnis (Markdown).

PUT/api/v1/memory/project/:projectId
1curl -X PUT https://app.anymize.ai/api/v1/memory/project/bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{ "content": "# Projektgedächtnis\n- Kunde bevorzugt E-Mail." }'

Projekt-Dokumente

Listet alle Dokumente/Jobs, die zu einem Projekt gehören.

GET/api/v1/projects/:id/documents

Wissensdatenbanken

Wissensdatenbank erstellen & befüllen

Erstellt eine Wissensdatenbank und gibt ihre ID zurück. Dateien lädst du anschließend hoch.

POST/api/v1/knowledge-bases
1# 1) Wissensdatenbank erstellen
2curl -X POST https://app.anymize.ai/api/v1/knowledge-bases \
3 -H "Authorization: Bearer YOUR_API_KEY" \
4 -H "Content-Type: application/json" \
5 -d '{ "name": "Produktwissen", "description": "Alle Handbücher" }'
6
7# 2) Dateien hochladen (multipart)
8curl -X POST https://app.anymize.ai/api/v1/knowledge-bases/aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa/upload \
9 -H "Authorization: Bearer YOUR_API_KEY" \
10 -F "file=@handbuch.pdf"
201Created
{
  "success": true,
  "knowledgeBase": {
    "id": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa",
    "name": "Produktwissen",
    "rag_status": "pending",
    "doc_count": 0
  }
}

Dokument-Status

Zeigt pro Dokument den Verarbeitungs- und Embedding-Status (embedded, pending_embedding, processing, failed).

GET/api/v1/knowledge-bases/:id/documents
200OK
{
  "documents": [
    {
      "id": "11111111-1111-4111-8111-111111111111",
      "filename": "handbuch.pdf",
      "status": "completed",
      "embedding_status": "embedded",
      "chunk_count": 42
    },
    {
      "id": "22222222-2222-4222-8222-222222222222",
      "filename": "faq.docx",
      "status": "completed",
      "embedding_status": "pending_embedding",
      "chunk_count": 0
    }
  ],
  "total": 2
}

Verbindet eine Wissensdatenbank mit einem Projekt.

POST/api/v1/projects/:id/knowledge-bases

Projektanweisung mit KI (abgerechnet)

Erzeugt aus einer kurzen Beschreibung eine strukturierte Projektanweisung. Über API-Key abgerechnet (2 €/1 Mio. Input-, 5 €/1 Mio. Output-Tokens).

POST/api/v1/projects/enhance-instruction
1curl -X POST https://app.anymize.ai/api/v1/projects/enhance-instruction \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{ "transcript": "Ein Assistent fuer unser Support-Team, freundlich und kurz." }'
200OK
{
  "success": true,
  "instruction": "Du bist der Support-Assistent …",
  "credits_used": 137
}

Meetings

Meetings auflisten

Listet deine Klartext-Meetings und Aufnahmen — leichtgewichtige Zeilen ohne Transkript (id, Titel, Datum, Dauer, Wortzahl).

GET/api/v1/meetings
ParameterTypeDescription
limit
numberMaximale Anzahl (Standard 100, max. 200).
200OK
{
  "data": [
    {
      "id": "11111111-1111-4111-8111-111111111111",
      "title": "Team-Sync 15.07.",
      "created_at": "2026-07-15T09: 00: 00Z",
      "words": 1840,
      "is_anonymized": false,
      "duration_ms": 1860000,
      "has_audio": true,
      "kind": "meeting"
    }
  ]
}

Meeting abrufen

Lädt ein Meeting komplett: Job-Basisdaten, Transkript (Text + Segmente mit Sprecher und Zeitstempel) und alle fertigen Zusammenfassungen. Audio-Bytes sind nicht enthalten.

GET/api/v1/meetings/:id
1curl https://app.anymize.ai/api/v1/meetings/11111111-1111-4111-8111-111111111111 \
2 -H "Authorization: Bearer YOUR_API_KEY"
200OK
{
  "job": {
    "id": "11111111-1111-4111-8111-111111111111",
    "title": "Team-Sync 15.07.",
    "kind": "meeting",
    "language": "de",
    "words": 1840
  },
  "transcript": {
    "text": "Guten Morgen zusammen …",
    "segments": [
      {
        "speaker": "S1",
        "start_ms": 0,
        "end_ms": 5100,
        "text": "Guten Morgen zusammen …"
      }
    ]
  },
  "summaries": [
    {
      "template_key": "general",
      "title": "Team-Sync 15.07.",
      "content": "## Zusammenfassung …",
      "locale": "de",
      "status": "completed"
    }
  ]
}

Jobs & Dokumente

Jobs auflisten

Listet deine Jobs — hochgeladene Dokumente, Text-Anonymisierungen, URL-Importe und Transkriptionen — mit Filtern nach Projekt, Status und Suchbegriff.

GET/api/v1/jobs
ParameterTypeDescription
projectId
stringNur Jobs dieses Projekts.
status
stringNur Jobs mit diesem Status (pending, processing, completed, failed).
search
stringVolltext-Filter auf Titel/Dateiname.
limit
numberMaximale Anzahl pro Seite.
offset
numberOffset für Paginierung.
1curl "https://app.anymize.ai/api/v1/jobs?status=completed&limit=25" \
2 -H "Authorization: Bearer YOUR_API_KEY"

Job abrufen

Lädt einen einzelnen Job mit Status, Metadaten und Projekt-Zuordnung — z. B. um das Ergebnis einer Anonymisierung abzuholen.

GET/api/v1/jobs/:id
200OK
{
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "title": "Vertrag_2026.pdf",
    "filename": "Vertrag_2026.pdf",
    "status": "completed",
    "is_anonymized": true,
    "language": "de",
    "words": 5230,
    "project_id": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb",
    "created_at": "2026-07-10T08: 00: 00Z"
  }
}

Job löschen

Löscht einen Job endgültig — inklusive aller Hash-Paare (Original-Werte) und verknüpften Daten.

DELETE/api/v1/jobs/:id
1curl -X DELETE https://app.anymize.ai/api/v1/jobs/11111111-1111-4111-8111-111111111111 \
2 -H "Authorization: Bearer YOUR_API_KEY"
200OK
{
  "success": true
}

Kein Zurück

Diese Aktion kann nicht rückgängig gemacht werden: Job, Hash-Paare und verknüpfte Daten sind danach unwiderruflich weg.

Text-Job erstellen

Legt einen Job aus Text an — optional mit Anonymisierung (withAnonymization) und direkt mit einem Projekt und/oder einer Wissensdatenbank verknüpft. Anonymisierte Jobs starten als 'pending'; den Abschluss fragst du über GET /api/v1/jobs/:id ab.

POST/api/v1/jobs/upload-text
1curl -X POST https://app.anymize.ai/api/v1/jobs/upload-text \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{
5 "text": "Hallo, mein Name ist Max Mustermann ...",
6 "title": "Support-Ticket 1234",
7 "withAnonymization": true,
8 "projectId": "bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb",
9 "knowledgeBaseId": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa"
10 }'
201Created
{
  "data": {
    "id": "11111111-1111-4111-8111-111111111111",
    "status": "pending"
  },
  "job_id": "11111111-1111-4111-8111-111111111111",
  "status": "pending"
}

URL-Job erstellen

Importiert den Inhalt einer Webseite oder eines YouTube-Videos (Transkript) als Job — optional direkt in eine Wissensdatenbank. Hinweis: URL-Importe werden nicht anonymisiert.

POST/api/v1/jobs/upload-url
1curl -X POST https://app.anymize.ai/api/v1/jobs/upload-url \
2 -H "Authorization: Bearer YOUR_API_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{ "url": "https://example.com/artikel", "knowledgeBaseId": "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa" }'

Datei-Uploads

Dateien (PDF, DOCX, …) anonymisierst du über POST /api/anonymize, reine Textextraktion läuft über POST /api/ocr — siehe den Tab Anonymisierung. Den Fortschritt fragst du über GET /api/status/:id oder GET /api/v1/jobs/:id ab.
Anymize Features API Dokumentation | anymize