Template API Overzicht

Templates zijn herbruikbare notebookconfiguraties die analyseworkflows definiëren. Gebruik de Template API om notebooktemplates programmatisch te bekijken, op te halen, te creëren en te beheren.

Belangrijke Begrippen

Wat Zijn Templates?

Templates zijn vooraf geconfigureerde notebookdefinities die bevatten:

  • Blokken: Filters, calculators, inzichten en andere analysecomponenten
  • MCL Tekst: De configuratietekst die de notebookstructuur definieert
  • Metadata: Naam, beschrijving, categorie en procescontext

Wanneer je een notebook maakt vanuit een template, worden alle blokken en configuraties automatisch toegepast.

Template Types

Type Omvang Kan via API worden gemaakt? Kan via API worden verwijderd?
Globaal Alle tenants Nee Nee
Tenant-Specifiek Één tenant Ja Ja

Globale templates zijn systeemwijd en worden beheerd via de admin-interface. Tenant-specifieke templates kunnen via deze API worden aangemaakt en beheerd.

Template Categorieën

Templates zijn georganiseerd in categorieën:

Categorie Beschrijving
Templates Standaard analysetemplates
Custom Door gebruikers gemaakte aangepaste templates
BaseKnowledge Fundamentele kennis-templates

Authenticatie

Alle Template API-eindpunten vereisen een Globale API-sleutel. Tenant API-sleutels hebben geen toegang tot templatebewerkingen.

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

Als je een niet-globale API-sleutel gebruikt, ontvang je:

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

API Eindpunten

Methode Eindpunt Beschrijving
GET /api/templates Toon alle globale templates
GET /api/templates/tenant/{tenantId} Toon templates voor een tenant (globaal + tenant-specifiek)
GET /api/templates/category/{category} Toon templates per categorie
GET /api/templates/{templateId} Toon templategegevens met MCL-tekst
GET /api/templates/{templateId}/thumbnail Haal de thumbnail afbeelding van een template op
POST /api/templates/tenant/{tenantId} Maak een tenant-specifieke template aan
PUT /api/templates/{templateId} Werk een template bij
DELETE /api/templates/{templateId} Verwijder een template

Snel Beginnen

Toon Alle Templates voor een Tenant

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

Toon Templategegevens

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

Maak een Notebook van een Template

Gebruik de Notebook API om een notebook te maken vanuit een template:

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"
  }'

Responsstructuur

Template Lijst Respons

{
  "templates": [
    {
      "templateId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
      "name": "Proces Ontdekking",
      "description": "Standaard proces ontdekking 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 Respons

{
  "templateId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "name": "Proces Ontdekking",
  "description": "Standaard proces ontdekking workflow",
  "category": "Templates",
  "processName": "Order to Cash",
  "mclText": "// MCL configuratietekst 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": "Systeem",
  "modifiedBy": null,
  "modifiedByName": "Systeem"
}

Wat Nu?