Template API Übersicht

Templates sind wiederverwendbare Notebook-Konfigurationen, die Analyse-Workflows definieren. Verwenden Sie die Template API, um Notebook-Templates programmatisch aufzulisten, abzurufen, zu erstellen und zu verwalten.

Schlüsselkonzepte

Was sind Templates?

Templates sind vorkonfigurierte Notebook-Definitionen, die enthalten:

  • Blöcke: Filter, Rechner, Insights und andere Analysekomponenten
  • MCL-Text: Der Konfigurationstext, der die Notebook-Struktur definiert
  • Metadaten: Name, Beschreibung, Kategorie und Prozesskontext

Wenn Sie ein Notebook aus einem Template erstellen, werden alle Blöcke und Konfigurationen automatisch angewendet.

Template-Typen

Typ Geltungsbereich Kann per API erstellt werden? Kann per API gelöscht werden?
Global Alle Mandanten Nein Nein
Mandanten-spezifisch Einzelner Mandant Ja Ja

Globale Templates sind systemweit und werden über die Admin-Oberfläche verwaltet. Mandanten-spezifische Templates können über diese API erstellt und verwaltet werden.

Template-Kategorien

Templates sind in Kategorien organisiert:

Kategorie Beschreibung
Templates Standard Analyse-Templates
Custom Benutzerdefinierte Templates
BaseKnowledge Grundlegende Wissens-Templates

Authentifizierung

Alle Template API Endpunkte erfordern einen Globalen API-Schlüssel. Mandanten-API-Schlüssel können nicht auf Template-Operationen zugreifen.

curl -H "Authorization: Bearer YOUR_GLOBAL_API_KEY" \
  https://your-mindzie-instance.com/api/templates

Wenn Sie einen nicht-globalen API-Schlüssel verwenden, erhalten Sie:

{
  "error": "This endpoint requires a Global API key.",
  "hint": "Global API keys can be created at /admin/global-api-keys"
}

API-Endpunkte

Methode Endpunkt Beschreibung
GET /api/templates Alle globalen Templates auflisten
GET /api/templates/tenant/{tenantId} Templates für einen Mandanten auflisten (global + mandantenspezifisch)
GET /api/templates/category/{category} Templates nach Kategorie auflisten
GET /api/templates/{templateId} Template-Details mit MCL-Text abrufen
GET /api/templates/{templateId}/thumbnail Template-Vorschaubild abrufen
POST /api/templates/tenant/{tenantId} Mandanten-spezifisches Template erstellen
PUT /api/templates/{templateId} Template aktualisieren
DELETE /api/templates/{templateId} Template löschen

Schnellstart

Alle Templates für einen Mandanten auflisten

curl -X GET "https://your-mindzie-instance.com/api/templates/tenant/12345678-1234-1234-1234-123456789012" \
  -H "Authorization: Bearer YOUR_GLOBAL_API_KEY"

Template-Details abrufen

curl -X GET "https://your-mindzie-instance.com/api/templates/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
  -H "Authorization: Bearer YOUR_GLOBAL_API_KEY"

Ein Notebook aus einem Template erstellen

Verwenden Sie die Notebook API, um ein Notebook aus einem Template zu erstellen:

curl -X POST "https://your-mindzie-instance.com/api/{tenantId}/{projectId}/notebook/investigation/{investigationId}/from-template" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "templateId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "name": "My Analysis"
  }'

Antwortstruktur

Template-Listen Antwort

{
  "templates": [
    {
      "templateId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "name": "Process Discovery",
      "description": "Standard Prozessentdeckungs-Workflow",
      "category": "Templates",
      "processName": "Order to Cash",
      "tenantId": null,
      "isGlobal": true,
      "hasThumbnail": true,
      "autoAddedDefaultSortOrder": 100,
      "dateModified": "2024-01-15T10:30:00Z"
    }
  ],
  "totalCount": 1
}

Template-Detail Antwort

{
  "templateId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "name": "Process Discovery",
  "description": "Standard Prozessentdeckungs-Workflow",
  "category": "Templates",
  "processName": "Order to Cash",
  "mclText": "// MCL-Konfigurationstext hier...",
  "tenantId": null,
  "isGlobal": true,
  "hasThumbnail": true,
  "autoAddedDefaultSortOrder": 100,
  "originatingNotebookId": null,
  "dateCreated": "2024-01-01T00:00:00Z",
  "dateModified": "2024-01-15T10:30:00Z",
  "createdBy": null,
  "createdByName": "System",
  "modifiedBy": null,
  "modifiedByName": "System"
}

Was kommt als Nächstes?