API-Dokumentation

Kunden API

API für Integrationen einzelner Kunden: Kurse, Nutzer, Abonnements, Einladungen, Statistiken und Prüfungen. Jeder Aufruf ist auf genau den Kunden beschränkt, für den der verwendete API-Key ausgestellt wurde.

Basis-URL

https://api.genialster.de

Version

v1

Erste Schritte

Authentifizierung

Kundengebundener API-Key, erzeugt im Management-Panel unter Einstellungen → API-Keys. Wird nur beim Erstellen einmalig im Klartext angezeigt.

Schema
TenantApiKey
Übertragung
Header: X-Api-Key

Kurse

Kurse, die dem Tenant über Abonnements zur Verfügung stehen.

GET /api/tenant/v1/course Kurse des Tenants auflisten

Alle Kurse, für die der Tenant mindestens ein Abonnement besitzt.

Antworten

200 OK

Liste von Course

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/course' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "title": "Beispielwert",
        "description": {
            "rawMarkdown": "Beispielwert"
        },
        "legalName": "Max Mustermann",
        "legalContent": "Beispielwert",
        "certificateId": "abc123",
        "teachingUnits": 1,
        "teachingUnitsOnSite": 1,
        "dgsvCertificate": true,
        "icon": {
            "name": "Max Mustermann",
            "url": "Beispielwert"
        },
        "chapters": [
            {
                "id": "abc123",
                "title": "Beispielwert"
            }
        ],
        "availableActions": [
            "VIEW"
        ],
        "published": true,
        "demo": true,
        "moduleCount": 1,
        "_links": {
            "key": {
                "href": "Beispielwert",
                "hreflang": "Beispielwert",
                "title": "Beispielwert",
                "type": "Beispielwert",
                "deprecation": "Beispielwert",
                "profile": "Beispielwert",
                "name": "Max Mustermann",
                "templated": true
            }
        }
    }
]
GET /api/tenant/v1/course/{id}/overview Kurs-Übersicht abrufen

Aggregierte Fortschritts- und Nutzungsdaten für einen einzelnen Kurs des Tenants.

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Kurses

Antworten

200 OK

Modell: CourseOverview

Feld Typ Pflicht Beschreibung
course Course Nein
userOverviews Array<UserCourseOverview> Nein
moduleCount integer (int32) Nein
userCount integer (int32) Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/course/abc123/overview' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "course": {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "title": "Beispielwert",
        "description": {
            "rawMarkdown": "Beispielwert"
        },
        "legalName": "Max Mustermann",
        "legalContent": "Beispielwert",
        "certificateId": "abc123",
        "teachingUnits": 1,
        "teachingUnitsOnSite": 1,
        "dgsvCertificate": true,
        "icon": {
            "name": "Max Mustermann",
            "url": "Beispielwert"
        },
        "chapters": [
            {
                "id": "abc123",
                "title": "Beispielwert"
            }
        ],
        "availableActions": [
            "VIEW"
        ],
        "published": true,
        "demo": true,
        "moduleCount": 1,
        "_links": {
            "key": {
                "href": null,
                "hreflang": null,
                "title": null,
                "type": null,
                "deprecation": null,
                "profile": null,
                "name": null,
                "templated": null
            }
        }
    },
    "userOverviews": [
        {
            "user": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "lastName": "Max Mustermann",
                "firstName": "Max Mustermann",
                "email": "max@example.com",
                "tenantId": "abc123",
                "birthDate": "Beispielwert",
                "progress": null,
                "experience": 1,
                "participatesInLeaderboard": true,
                "hasSeenGlobalIntroduction": true,
                "_links": null
            },
            "completedModules": 1,
            "examAttempts": 1,
            "examState": "NOT_READY"
        }
    ],
    "moduleCount": 1,
    "userCount": 1
}

Abonnements

Kurs-Abonnements des Tenants und der Zugriff darauf.

GET /api/tenant/v1/subscription Abonnements auflisten

Antworten

200 OK

Liste von Subscription

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/subscription' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "tenant": {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "legalName": "Max Mustermann",
            "description": "Beispielwert",
            "address": {
                "street": "Beispielwert",
                "additional": "Beispielwert",
                "city": "Beispielwert",
                "zip": "Beispielwert",
                "country": "Beispielwert"
            },
            "contactPerson": "Beispielwert",
            "excludeFromStats": true,
            "_links": {
                "key": null
            }
        },
        "course": {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "title": "Beispielwert",
            "description": {
                "rawMarkdown": "Beispielwert"
            },
            "legalName": "Max Mustermann",
            "legalContent": "Beispielwert",
            "certificateId": "abc123",
            "teachingUnits": 1,
            "teachingUnitsOnSite": 1,
            "dgsvCertificate": true,
            "icon": {
                "name": "Max Mustermann",
                "url": "Beispielwert"
            },
            "chapters": [
                {
                    "id": null,
                    "title": null
                }
            ],
            "availableActions": [
                "VIEW"
            ],
            "published": true,
            "demo": true,
            "moduleCount": 1,
            "_links": {
                "key": null
            }
        },
        "licenseCount": 1,
        "demo": true,
        "startDate": "2026-08-06T12:00:00Z",
        "endDate": "2026-08-06T12:00:00Z",
        "restricted": true,
        "_links": {
            "key": {
                "href": "Beispielwert",
                "hreflang": "Beispielwert",
                "title": "Beispielwert",
                "type": "Beispielwert",
                "deprecation": "Beispielwert",
                "profile": "Beispielwert",
                "name": "Max Mustermann",
                "templated": true
            }
        }
    }
]
GET /api/tenant/v1/subscription/{id} Einzelnes Abonnement abrufen

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Abonnements

Antworten

200 OK

Modell: Subscription

Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
tenant Tenant Nein
course Course Nein
licenseCount integer (int32) Nein
demo boolean Nein
startDate string (date-time) Nein
endDate string (date-time) Nein
restricted boolean Nein
_links Links Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/subscription/abc123' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "abc123",
    "dateCreated": "Beispielwert",
    "lastUpdated": "Beispielwert",
    "version": 1,
    "tenant": {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "legalName": "Max Mustermann",
        "description": "Beispielwert",
        "address": {
            "street": "Beispielwert",
            "additional": "Beispielwert",
            "city": "Beispielwert",
            "zip": "Beispielwert",
            "country": "Beispielwert"
        },
        "contactPerson": "Beispielwert",
        "excludeFromStats": true,
        "_links": {
            "key": {
                "href": null,
                "hreflang": null,
                "title": null,
                "type": null,
                "deprecation": null,
                "profile": null,
                "name": null,
                "templated": null
            }
        }
    },
    "course": {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "title": "Beispielwert",
        "description": {
            "rawMarkdown": "Beispielwert"
        },
        "legalName": "Max Mustermann",
        "legalContent": "Beispielwert",
        "certificateId": "abc123",
        "teachingUnits": 1,
        "teachingUnitsOnSite": 1,
        "dgsvCertificate": true,
        "icon": {
            "name": "Max Mustermann",
            "url": "Beispielwert"
        },
        "chapters": [
            {
                "id": "abc123",
                "title": "Beispielwert"
            }
        ],
        "availableActions": [
            "VIEW"
        ],
        "published": true,
        "demo": true,
        "moduleCount": 1,
        "_links": {
            "key": {
                "href": null,
                "hreflang": null,
                "title": null,
                "type": null,
                "deprecation": null,
                "profile": null,
                "name": null,
                "templated": null
            }
        }
    },
    "licenseCount": 1,
    "demo": true,
    "startDate": "2026-08-06T12:00:00Z",
    "endDate": "2026-08-06T12:00:00Z",
    "restricted": true,
    "_links": {
        "key": {
            "href": "Beispielwert",
            "hreflang": "Beispielwert",
            "title": "Beispielwert",
            "type": "Beispielwert",
            "deprecation": "Beispielwert",
            "profile": "Beispielwert",
            "name": "Max Mustermann",
            "templated": true
        }
    }
}
GET /api/tenant/v1/subscription/{id}/access Nutzer mit Zugriff auf ein Abonnement auflisten

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Abonnements

Antworten

200 OK

Liste von User

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/subscription/abc123/access' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "lastName": "Max Mustermann",
        "firstName": "Max Mustermann",
        "email": "max@example.com",
        "tenantId": "abc123",
        "birthDate": "Beispielwert",
        "progress": {
            "courses": [
                {
                    "courseId": null,
                    "chapterId": null,
                    "completed": null,
                    "updatedAt": null
                }
            ],
            "chapters": [
                {
                    "courseId": null,
                    "chapterId": null,
                    "moduleId": null,
                    "completed": null,
                    "updatedAt": null
                }
            ],
            "modules": [
                {
                    "moduleId": null,
                    "slideId": null,
                    "chapterId": null,
                    "courseId": null,
                    "completed": null,
                    "updatedAt": null
                }
            ],
            "completedModules": [
                {
                    "moduleId": null,
                    "slideId": null,
                    "chapterId": null,
                    "courseId": null,
                    "completed": null,
                    "updatedAt": null
                }
            ],
            "completedCourses": [
                {
                    "courseId": null,
                    "chapterId": null,
                    "completed": null,
                    "updatedAt": null
                }
            ],
            "completedChapters": [
                {
                    "courseId": null,
                    "chapterId": null,
                    "moduleId": null,
                    "completed": null,
                    "updatedAt": null
                }
            ]
        },
        "experience": 1,
        "participatesInLeaderboard": true,
        "hasSeenGlobalIntroduction": true,
        "_links": {
            "key": {
                "href": "Beispielwert",
                "hreflang": "Beispielwert",
                "title": "Beispielwert",
                "type": "Beispielwert",
                "deprecation": "Beispielwert",
                "profile": "Beispielwert",
                "name": "Max Mustermann",
                "templated": true
            }
        }
    }
]
GET /api/tenant/v1/subscription/{id}/export Offene Einladungscodes eines Abonnements als PDF exportieren

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Abonnements

Antworten

200 OK

Typ: string (byte)

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/subscription/abc123/export' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/octet-stream

"<Binärdaten>"
POST /api/tenant/v1/subscription/{id}/grant-access Nutzern Zugriff gewähren

Nur relevant, wenn das Abonnement auf Zugriffsbeschränkung geschaltet ist.

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Abonnements

Request Body · erforderlich

Liste von string

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request POST \
  'https://api.genialster.de/api/tenant/v1/subscription/abc123/grant-access' \
  --header 'X-Api-Key: IHR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '[
    "Beispielwert"
]'

Beispielantwort

HTTP/1.1 200 OK
GET /api/tenant/v1/subscription/{id}/open-invitations Offene Einladungen für ein Abonnement auflisten

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Abonnements

Antworten

200 OK

Liste von Invitation

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/subscription/abc123/open-invitations' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "token": "Beispielwert",
        "used": true,
        "email": "max@example.com",
        "usedDate": "2026-08-06T12:00:00Z",
        "user": {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "lastName": "Max Mustermann",
            "firstName": "Max Mustermann",
            "email": "max@example.com",
            "tenantId": "abc123",
            "birthDate": "Beispielwert",
            "progress": {
                "courses": [
                    null
                ],
                "chapters": [
                    null
                ],
                "modules": [
                    null
                ],
                "completedModules": [
                    null
                ],
                "completedCourses": [
                    null
                ],
                "completedChapters": [
                    null
                ]
            },
            "experience": 1,
            "participatesInLeaderboard": true,
            "hasSeenGlobalIntroduction": true,
            "_links": {
                "key": null
            }
        },
        "tenant": {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "legalName": "Max Mustermann",
            "description": "Beispielwert",
            "address": {
                "street": "Beispielwert",
                "additional": "Beispielwert",
                "city": "Beispielwert",
                "zip": "Beispielwert",
                "country": "Beispielwert"
            },
            "contactPerson": "Beispielwert",
            "excludeFromStats": true,
            "_links": {
                "key": null
            }
        },
        "status": "CREATED",
        "_links": {
            "key": {
                "href": "Beispielwert",
                "hreflang": "Beispielwert",
                "title": "Beispielwert",
                "type": "Beispielwert",
                "deprecation": "Beispielwert",
                "profile": "Beispielwert",
                "name": "Max Mustermann",
                "templated": true
            }
        }
    }
]
POST /api/tenant/v1/subscription/{id}/revoke-access Nutzer-Zugriff entziehen

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Abonnements

Request Body · erforderlich

Typ: string

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request POST \
  'https://api.genialster.de/api/tenant/v1/subscription/abc123/revoke-access' \
  --header 'X-Api-Key: IHR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '"Beispielwert"'

Beispielantwort

HTTP/1.1 200 OK
POST /api/tenant/v1/subscription/{id}/toggle-restricted Zugriffsbeschränkung umschalten

Schaltet zwischen frei zugänglich (jeder eingeladene Nutzer) und beschränkt (nur explizit freigegebene Nutzer) um.

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Abonnements

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request POST \
  'https://api.genialster.de/api/tenant/v1/subscription/abc123/toggle-restricted' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
GET /api/tenant/v1/subscription/{id}/usages Nutzung eines Abonnements abrufen

Pro Nutzer mit Zugriff auf das Abonnement: Fortschritt und ggf. zugehörige Prüfung.

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Abonnements

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/subscription/abc123/usages' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "course": {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "title": "Beispielwert",
            "description": {
                "rawMarkdown": "Beispielwert"
            },
            "legalName": "Max Mustermann",
            "legalContent": "Beispielwert",
            "certificateId": "abc123",
            "teachingUnits": 1,
            "teachingUnitsOnSite": 1,
            "dgsvCertificate": true,
            "icon": {
                "name": "Max Mustermann",
                "url": "Beispielwert"
            },
            "chapters": [
                {
                    "id": null,
                    "title": null
                }
            ],
            "availableActions": [
                "VIEW"
            ],
            "published": true,
            "demo": true,
            "moduleCount": 1,
            "_links": {
                "key": null
            }
        },
        "user": {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "lastName": "Max Mustermann",
            "firstName": "Max Mustermann",
            "email": "max@example.com",
            "tenantId": "abc123",
            "birthDate": "Beispielwert",
            "progress": {
                "courses": [
                    null
                ],
                "chapters": [
                    null
                ],
                "modules": [
                    null
                ],
                "completedModules": [
                    null
                ],
                "completedCourses": [
                    null
                ],
                "completedChapters": [
                    null
                ]
            },
            "experience": 1,
            "participatesInLeaderboard": true,
            "hasSeenGlobalIntroduction": true,
            "_links": {
                "key": null
            }
        },
        "subscription": {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "tenant": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "legalName": "Max Mustermann",
                "description": "Beispielwert",
                "address": null,
                "contactPerson": "Beispielwert",
                "excludeFromStats": true,
                "_links": null
            },
            "course": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "title": "Beispielwert",
                "description": null,
                "legalName": "Max Mustermann",
                "legalContent": "Beispielwert",
                "certificateId": "abc123",
                "teachingUnits": 1,
                "teachingUnitsOnSite": 1,
                "dgsvCertificate": true,
                "icon": null,
                "chapters": [
                    null
                ],
                "availableActions": [
                    "VIEW"
                ],
                "published": true,
                "demo": true,
                "moduleCount": 1,
                "_links": null
            },
            "licenseCount": 1,
            "demo": true,
            "startDate": "2026-08-06T12:00:00Z",
            "endDate": "2026-08-06T12:00:00Z",
            "restricted": true,
            "_links": {
                "key": null
            }
        },
        "exam": {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "course": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "title": "Beispielwert",
                "description": null,
                "legalName": "Max Mustermann",
                "legalContent": "Beispielwert",
                "certificateId": "abc123",
                "teachingUnits": 1,
                "teachingUnitsOnSite": 1,
                "dgsvCertificate": true,
                "icon": null,
                "chapters": [
                    null
                ],
                "availableActions": [
                    "VIEW"
                ],
                "published": true,
                "demo": true,
                "moduleCount": 1,
                "_links": null
            },
            "user": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "lastName": "Max Mustermann",
                "firstName": "Max Mustermann",
                "email": "max@example.com",
                "tenantId": "abc123",
                "birthDate": "Beispielwert",
                "progress": null,
                "experience": 1,
                "participatesInLeaderboard": true,
                "hasSeenGlobalIntroduction": true,
                "_links": null
            },
            "started": true,
            "finished": true,
            "startedAt": "2026-08-06T12:00:00Z",
            "finishedAt": "2026-08-06T12:00:00Z",
            "durationInMinutes": 1,
            "passed": true,
            "points": 1,
            "maxPoints": 1,
            "_links": {
                "key": null
            }
        },
        "active": true,
        "_links": {
            "key": {
                "href": "Beispielwert",
                "hreflang": "Beispielwert",
                "title": "Beispielwert",
                "type": "Beispielwert",
                "deprecation": "Beispielwert",
                "profile": "Beispielwert",
                "name": "Max Mustermann",
                "templated": true
            }
        }
    }
]

Nutzer

Nutzer des Tenants und deren Stammdaten/Abonnements.

GET /api/tenant/v1/user Nutzer auflisten

Paginierte, per Name/E-Mail durchsuchbare Liste der Nutzer des Tenants.

Parameter

Name Ort Typ Pflicht Beschreibung
pageable query Pageable Ja
search query string Nein Freitextsuche über Name/E-Mail
excludeUserIds query Array<string> Nein Nutzer-IDs, die aus dem Ergebnis ausgeschlossen werden

Antworten

200 OK

Modell: PageUser

Feld Typ Pflicht Beschreibung
totalElements integer (int64) Nein
totalPages integer (int32) Nein
pageable PageableObject Nein
size integer (int32) Nein
content Array<User> Nein
number integer (int32) Nein
sort Array<SortObject> Nein
numberOfElements integer (int32) Nein
first boolean Nein
last boolean Nein
empty boolean Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/user?page=1&size=1&search=Mustermann&excludeUserIds=Beispielwert' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "totalElements": 1,
    "totalPages": 1,
    "pageable": {
        "pageNumber": 1,
        "pageSize": 1,
        "offset": 1,
        "sort": [
            {
                "direction": "Beispielwert",
                "nullHandling": "Beispielwert",
                "ascending": true,
                "property": "Beispielwert",
                "ignoreCase": true
            }
        ],
        "paged": true,
        "unpaged": true
    },
    "size": 1,
    "content": [
        {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "lastName": "Max Mustermann",
            "firstName": "Max Mustermann",
            "email": "max@example.com",
            "tenantId": "abc123",
            "birthDate": "Beispielwert",
            "progress": {
                "courses": [
                    null
                ],
                "chapters": [
                    null
                ],
                "modules": [
                    null
                ],
                "completedModules": [
                    null
                ],
                "completedCourses": [
                    null
                ],
                "completedChapters": [
                    null
                ]
            },
            "experience": 1,
            "participatesInLeaderboard": true,
            "hasSeenGlobalIntroduction": true,
            "_links": {
                "key": null
            }
        }
    ],
    "number": 1,
    "sort": [
        {
            "direction": "Beispielwert",
            "nullHandling": "Beispielwert",
            "ascending": true,
            "property": "Beispielwert",
            "ignoreCase": true
        }
    ],
    "numberOfElements": 1,
    "first": true,
    "last": true,
    "empty": true
}
GET /api/tenant/v1/user/{id} Einzelnen Nutzer abrufen

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Nutzers

Antworten

200 OK

Modell: User

Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
lastName string Nein
firstName string Nein
email string Nein
tenantId string Nein
birthDate string Nein
progress UserProgress Nein
experience integer (int64) Nein
participatesInLeaderboard boolean Nein
hasSeenGlobalIntroduction boolean Nein
_links Links Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/user/abc123' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "abc123",
    "dateCreated": "Beispielwert",
    "lastUpdated": "Beispielwert",
    "version": 1,
    "lastName": "Max Mustermann",
    "firstName": "Max Mustermann",
    "email": "max@example.com",
    "tenantId": "abc123",
    "birthDate": "Beispielwert",
    "progress": {
        "courses": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "chapters": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "moduleId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "modules": [
            {
                "moduleId": "abc123",
                "slideId": "abc123",
                "chapterId": "abc123",
                "courseId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "completedModules": [
            {
                "moduleId": "abc123",
                "slideId": "abc123",
                "chapterId": "abc123",
                "courseId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "completedCourses": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "completedChapters": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "moduleId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ]
    },
    "experience": 1,
    "participatesInLeaderboard": true,
    "hasSeenGlobalIntroduction": true,
    "_links": {
        "key": {
            "href": "Beispielwert",
            "hreflang": "Beispielwert",
            "title": "Beispielwert",
            "type": "Beispielwert",
            "deprecation": "Beispielwert",
            "profile": "Beispielwert",
            "name": "Max Mustermann",
            "templated": true
        }
    }
}
PUT /api/tenant/v1/user/{id} Nutzer-Stammdaten aktualisieren

Aktualisiert Vor-/Nachname und optional das Geburtsdatum (Format dd.MM.yyyy).

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Nutzers

Request Body · erforderlich

Modell: UserTenantUpdate

Feld Typ Pflicht Beschreibung
id string Nein
lastName string Nein
firstName string Nein
birthDate string Nein

Antworten

200 OK

Modell: User

Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
lastName string Nein
firstName string Nein
email string Nein
tenantId string Nein
birthDate string Nein
progress UserProgress Nein
experience integer (int64) Nein
participatesInLeaderboard boolean Nein
hasSeenGlobalIntroduction boolean Nein
_links Links Nein

Beispiele

Beispielanfrage

curl --request PUT \
  'https://api.genialster.de/api/tenant/v1/user/abc123' \
  --header 'X-Api-Key: IHR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "id": "abc123",
    "lastName": "Max Mustermann",
    "firstName": "Max Mustermann",
    "birthDate": "Beispielwert"
}'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "abc123",
    "dateCreated": "Beispielwert",
    "lastUpdated": "Beispielwert",
    "version": 1,
    "lastName": "Max Mustermann",
    "firstName": "Max Mustermann",
    "email": "max@example.com",
    "tenantId": "abc123",
    "birthDate": "Beispielwert",
    "progress": {
        "courses": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "chapters": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "moduleId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "modules": [
            {
                "moduleId": "abc123",
                "slideId": "abc123",
                "chapterId": "abc123",
                "courseId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "completedModules": [
            {
                "moduleId": "abc123",
                "slideId": "abc123",
                "chapterId": "abc123",
                "courseId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "completedCourses": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "completedChapters": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "moduleId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ]
    },
    "experience": 1,
    "participatesInLeaderboard": true,
    "hasSeenGlobalIntroduction": true,
    "_links": {
        "key": {
            "href": "Beispielwert",
            "hreflang": "Beispielwert",
            "title": "Beispielwert",
            "type": "Beispielwert",
            "deprecation": "Beispielwert",
            "profile": "Beispielwert",
            "name": "Max Mustermann",
            "templated": true
        }
    }
}
DELETE /api/tenant/v1/user/{id} Nutzer löschen

Soft-Delete: der Nutzer wird deaktiviert, nicht dauerhaft entfernt.

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Nutzers

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request DELETE \
  'https://api.genialster.de/api/tenant/v1/user/abc123' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
PUT /api/tenant/v1/user/{id}/birthdate Geburtsdatum eines Nutzers aktualisieren

Format dd.MM.yyyy.

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Nutzers

Request Body · erforderlich

Typ: string

Antworten

200 OK

Modell: User

Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
lastName string Nein
firstName string Nein
email string Nein
tenantId string Nein
birthDate string Nein
progress UserProgress Nein
experience integer (int64) Nein
participatesInLeaderboard boolean Nein
hasSeenGlobalIntroduction boolean Nein
_links Links Nein

Beispiele

Beispielanfrage

curl --request PUT \
  'https://api.genialster.de/api/tenant/v1/user/abc123/birthdate' \
  --header 'X-Api-Key: IHR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '"Beispielwert"'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "abc123",
    "dateCreated": "Beispielwert",
    "lastUpdated": "Beispielwert",
    "version": 1,
    "lastName": "Max Mustermann",
    "firstName": "Max Mustermann",
    "email": "max@example.com",
    "tenantId": "abc123",
    "birthDate": "Beispielwert",
    "progress": {
        "courses": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "chapters": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "moduleId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "modules": [
            {
                "moduleId": "abc123",
                "slideId": "abc123",
                "chapterId": "abc123",
                "courseId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "completedModules": [
            {
                "moduleId": "abc123",
                "slideId": "abc123",
                "chapterId": "abc123",
                "courseId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "completedCourses": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ],
        "completedChapters": [
            {
                "courseId": "abc123",
                "chapterId": "abc123",
                "moduleId": "abc123",
                "completed": true,
                "updatedAt": "2026-08-06T12:00:00Z"
            }
        ]
    },
    "experience": 1,
    "participatesInLeaderboard": true,
    "hasSeenGlobalIntroduction": true,
    "_links": {
        "key": {
            "href": "Beispielwert",
            "hreflang": "Beispielwert",
            "title": "Beispielwert",
            "type": "Beispielwert",
            "deprecation": "Beispielwert",
            "profile": "Beispielwert",
            "name": "Max Mustermann",
            "templated": true
        }
    }
}
GET /api/tenant/v1/user/{id}/overview Nutzer-Übersicht abrufen

Aggregierte Fortschritts- und Nutzungsdaten für einen einzelnen Nutzer.

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Nutzers

Antworten

200 OK

Modell: UserTenantOverview

Feld Typ Pflicht Beschreibung
user User Nein
courseOverviews Array<CourseUserOverview> Nein
subscriptions Array<Subscription> Nein
exams Array<ExamTenant> Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/user/abc123/overview' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "user": {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "lastName": "Max Mustermann",
        "firstName": "Max Mustermann",
        "email": "max@example.com",
        "tenantId": "abc123",
        "birthDate": "Beispielwert",
        "progress": {
            "courses": [
                null
            ],
            "chapters": [
                null
            ],
            "modules": [
                null
            ],
            "completedModules": [
                null
            ],
            "completedCourses": [
                null
            ],
            "completedChapters": [
                null
            ]
        },
        "experience": 1,
        "participatesInLeaderboard": true,
        "hasSeenGlobalIntroduction": true,
        "_links": {
            "key": {
                "href": null,
                "hreflang": null,
                "title": null,
                "type": null,
                "deprecation": null,
                "profile": null,
                "name": null,
                "templated": null
            }
        }
    },
    "courseOverviews": [
        {
            "course": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "title": "Beispielwert",
                "description": null,
                "legalName": "Max Mustermann",
                "legalContent": "Beispielwert",
                "certificateId": "abc123",
                "teachingUnits": 1,
                "teachingUnitsOnSite": 1,
                "dgsvCertificate": true,
                "icon": null,
                "chapters": [
                    null
                ],
                "availableActions": [
                    "VIEW"
                ],
                "published": true,
                "demo": true,
                "moduleCount": 1,
                "_links": null
            },
            "completedModules": 1,
            "totalModules": 1,
            "examAttempts": 1,
            "examState": "NOT_READY",
            "subscriptionUsage": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "course": null,
                "user": null,
                "subscription": null,
                "exam": null,
                "active": true,
                "_links": null
            }
        }
    ],
    "subscriptions": [
        {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "tenant": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "legalName": "Max Mustermann",
                "description": "Beispielwert",
                "address": null,
                "contactPerson": "Beispielwert",
                "excludeFromStats": true,
                "_links": null
            },
            "course": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "title": "Beispielwert",
                "description": null,
                "legalName": "Max Mustermann",
                "legalContent": "Beispielwert",
                "certificateId": "abc123",
                "teachingUnits": 1,
                "teachingUnitsOnSite": 1,
                "dgsvCertificate": true,
                "icon": null,
                "chapters": [
                    null
                ],
                "availableActions": [
                    "VIEW"
                ],
                "published": true,
                "demo": true,
                "moduleCount": 1,
                "_links": null
            },
            "licenseCount": 1,
            "demo": true,
            "startDate": "2026-08-06T12:00:00Z",
            "endDate": "2026-08-06T12:00:00Z",
            "restricted": true,
            "_links": {
                "key": null
            }
        }
    ],
    "exams": [
        {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "course": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "title": "Beispielwert",
                "description": null,
                "legalName": "Max Mustermann",
                "legalContent": "Beispielwert",
                "certificateId": "abc123",
                "teachingUnits": 1,
                "teachingUnitsOnSite": 1,
                "dgsvCertificate": true,
                "icon": null,
                "chapters": [
                    null
                ],
                "availableActions": [
                    "VIEW"
                ],
                "published": true,
                "demo": true,
                "moduleCount": 1,
                "_links": null
            },
            "user": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "lastName": "Max Mustermann",
                "firstName": "Max Mustermann",
                "email": "max@example.com",
                "tenantId": "abc123",
                "birthDate": "Beispielwert",
                "progress": null,
                "experience": 1,
                "participatesInLeaderboard": true,
                "hasSeenGlobalIntroduction": true,
                "_links": null
            },
            "started": true,
            "finished": true,
            "startedAt": "2026-08-06T12:00:00Z",
            "finishedAt": "2026-08-06T12:00:00Z",
            "durationInMinutes": 1,
            "passed": true,
            "points": 1,
            "maxPoints": 1,
            "_links": {
                "key": null
            }
        }
    ]
}
GET /api/tenant/v1/user/{id}/subscriptions Abonnements eines Nutzers auflisten

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID des Nutzers

Antworten

200 OK

Liste von Subscription

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/user/abc123/subscriptions' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

[
    {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "tenant": {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "legalName": "Max Mustermann",
            "description": "Beispielwert",
            "address": {
                "street": "Beispielwert",
                "additional": "Beispielwert",
                "city": "Beispielwert",
                "zip": "Beispielwert",
                "country": "Beispielwert"
            },
            "contactPerson": "Beispielwert",
            "excludeFromStats": true,
            "_links": {
                "key": null
            }
        },
        "course": {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "title": "Beispielwert",
            "description": {
                "rawMarkdown": "Beispielwert"
            },
            "legalName": "Max Mustermann",
            "legalContent": "Beispielwert",
            "certificateId": "abc123",
            "teachingUnits": 1,
            "teachingUnitsOnSite": 1,
            "dgsvCertificate": true,
            "icon": {
                "name": "Max Mustermann",
                "url": "Beispielwert"
            },
            "chapters": [
                {
                    "id": null,
                    "title": null
                }
            ],
            "availableActions": [
                "VIEW"
            ],
            "published": true,
            "demo": true,
            "moduleCount": 1,
            "_links": {
                "key": null
            }
        },
        "licenseCount": 1,
        "demo": true,
        "startDate": "2026-08-06T12:00:00Z",
        "endDate": "2026-08-06T12:00:00Z",
        "restricted": true,
        "_links": {
            "key": {
                "href": "Beispielwert",
                "hreflang": "Beispielwert",
                "title": "Beispielwert",
                "type": "Beispielwert",
                "deprecation": "Beispielwert",
                "profile": "Beispielwert",
                "name": "Max Mustermann",
                "templated": true
            }
        }
    }
]

Prüfungen

Abgelegte Prüfungen der Nutzer des Tenants und ihre Teilnahmebescheinigungen.

GET /api/tenant/v1/exam Prüfungen auflisten

Paginierte, per Nutzername durchsuchbare Liste aller Prüfungen des Tenants.

Parameter

Name Ort Typ Pflicht Beschreibung
pageable query Pageable Ja
search query string Nein Freitextsuche über den Nutzernamen

Antworten

200 OK

Modell: PageExamTenant

Feld Typ Pflicht Beschreibung
totalElements integer (int64) Nein
totalPages integer (int32) Nein
pageable PageableObject Nein
size integer (int32) Nein
content Array<ExamTenant> Nein
number integer (int32) Nein
sort Array<SortObject> Nein
numberOfElements integer (int32) Nein
first boolean Nein
last boolean Nein
empty boolean Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/exam?page=1&size=1&search=' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "totalElements": 1,
    "totalPages": 1,
    "pageable": {
        "pageNumber": 1,
        "pageSize": 1,
        "offset": 1,
        "sort": [
            {
                "direction": "Beispielwert",
                "nullHandling": "Beispielwert",
                "ascending": true,
                "property": "Beispielwert",
                "ignoreCase": true
            }
        ],
        "paged": true,
        "unpaged": true
    },
    "size": 1,
    "content": [
        {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "course": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "title": "Beispielwert",
                "description": null,
                "legalName": "Max Mustermann",
                "legalContent": "Beispielwert",
                "certificateId": "abc123",
                "teachingUnits": 1,
                "teachingUnitsOnSite": 1,
                "dgsvCertificate": true,
                "icon": null,
                "chapters": [
                    null
                ],
                "availableActions": [
                    "VIEW"
                ],
                "published": true,
                "demo": true,
                "moduleCount": 1,
                "_links": null
            },
            "user": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "lastName": "Max Mustermann",
                "firstName": "Max Mustermann",
                "email": "max@example.com",
                "tenantId": "abc123",
                "birthDate": "Beispielwert",
                "progress": null,
                "experience": 1,
                "participatesInLeaderboard": true,
                "hasSeenGlobalIntroduction": true,
                "_links": null
            },
            "started": true,
            "finished": true,
            "startedAt": "2026-08-06T12:00:00Z",
            "finishedAt": "2026-08-06T12:00:00Z",
            "durationInMinutes": 1,
            "passed": true,
            "points": 1,
            "maxPoints": 1,
            "_links": {
                "key": null
            }
        }
    ],
    "number": 1,
    "sort": [
        {
            "direction": "Beispielwert",
            "nullHandling": "Beispielwert",
            "ascending": true,
            "property": "Beispielwert",
            "ignoreCase": true
        }
    ],
    "numberOfElements": 1,
    "first": true,
    "last": true,
    "empty": true
}
GET /api/tenant/v1/exam/{id} Einzelne Prüfung abrufen

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID der Prüfung

Antworten

200 OK

Modell: ExamTenant

Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
course Course Nein
user User Nein
started boolean Nein
finished boolean Nein
startedAt string (date-time) Nein
finishedAt string (date-time) Nein
durationInMinutes integer (int32) Nein
passed boolean Nein
points integer (int32) Nein
maxPoints integer (int32) Nein
_links Links Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/exam/abc123' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "abc123",
    "dateCreated": "Beispielwert",
    "lastUpdated": "Beispielwert",
    "version": 1,
    "course": {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "title": "Beispielwert",
        "description": {
            "rawMarkdown": "Beispielwert"
        },
        "legalName": "Max Mustermann",
        "legalContent": "Beispielwert",
        "certificateId": "abc123",
        "teachingUnits": 1,
        "teachingUnitsOnSite": 1,
        "dgsvCertificate": true,
        "icon": {
            "name": "Max Mustermann",
            "url": "Beispielwert"
        },
        "chapters": [
            {
                "id": "abc123",
                "title": "Beispielwert"
            }
        ],
        "availableActions": [
            "VIEW"
        ],
        "published": true,
        "demo": true,
        "moduleCount": 1,
        "_links": {
            "key": {
                "href": null,
                "hreflang": null,
                "title": null,
                "type": null,
                "deprecation": null,
                "profile": null,
                "name": null,
                "templated": null
            }
        }
    },
    "user": {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "lastName": "Max Mustermann",
        "firstName": "Max Mustermann",
        "email": "max@example.com",
        "tenantId": "abc123",
        "birthDate": "Beispielwert",
        "progress": {
            "courses": [
                null
            ],
            "chapters": [
                null
            ],
            "modules": [
                null
            ],
            "completedModules": [
                null
            ],
            "completedCourses": [
                null
            ],
            "completedChapters": [
                null
            ]
        },
        "experience": 1,
        "participatesInLeaderboard": true,
        "hasSeenGlobalIntroduction": true,
        "_links": {
            "key": {
                "href": null,
                "hreflang": null,
                "title": null,
                "type": null,
                "deprecation": null,
                "profile": null,
                "name": null,
                "templated": null
            }
        }
    },
    "started": true,
    "finished": true,
    "startedAt": "2026-08-06T12:00:00Z",
    "finishedAt": "2026-08-06T12:00:00Z",
    "durationInMinutes": 1,
    "passed": true,
    "points": 1,
    "maxPoints": 1,
    "_links": {
        "key": {
            "href": "Beispielwert",
            "hreflang": "Beispielwert",
            "title": "Beispielwert",
            "type": "Beispielwert",
            "deprecation": "Beispielwert",
            "profile": "Beispielwert",
            "name": "Max Mustermann",
            "templated": true
        }
    }
}
GET /api/tenant/v1/exam/{id}/certificate Teilnahmebescheinigung als PDF abrufen

Nur verfügbar, wenn für die Prüfung ein Zertifikat ausgestellt wurde.

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID der Prüfung

Antworten

200 OK

Typ: string (byte)

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/exam/abc123/certificate' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/octet-stream

"<Binärdaten>"

Statistiken

Aggregierte Kennzahlen und Fortschrittsübersicht über den Tenant.

GET /api/tenant/v1/stats/metrics Tenant-Kennzahlen abrufen

Aggregierte Kennzahlen wie Nutzerzahl, aktive Abonnements und abgeschlossene Kurse.

Antworten

200 OK

Modell: Metrics

Feld Typ Pflicht Beschreibung
totalUsers integer (int32) Nein
slidesCompleted integer (int32) Nein
examsTaken integer (int32) Nein
examsPassed integer (int32) Nein
earnedPoints integer (int64) Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/stats/metrics' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "totalUsers": 1,
    "slidesCompleted": 1,
    "examsTaken": 1,
    "examsPassed": 1,
    "earnedPoints": 1
}
GET /api/tenant/v1/stats/progress-overview Fortschrittsübersicht je Nutzer abrufen

Paginierte, per Namen/E-Mail durchsuchbare Fortschrittsliste aller Nutzer des Tenants.

Parameter

Name Ort Typ Pflicht Beschreibung
pageable query Pageable Ja
search query string Nein Freitextsuche über Name/E-Mail

Antworten

200 OK

Modell: PageUserProgressOverview

Feld Typ Pflicht Beschreibung
totalElements integer (int64) Nein
totalPages integer (int32) Nein
pageable PageableObject Nein
size integer (int32) Nein
content Array<UserProgressOverview> Nein
number integer (int32) Nein
sort Array<SortObject> Nein
numberOfElements integer (int32) Nein
first boolean Nein
last boolean Nein
empty boolean Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/stats/progress-overview?page=1&size=1&search=Mustermann' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "totalElements": 1,
    "totalPages": 1,
    "pageable": {
        "pageNumber": 1,
        "pageSize": 1,
        "offset": 1,
        "sort": [
            {
                "direction": "Beispielwert",
                "nullHandling": "Beispielwert",
                "ascending": true,
                "property": "Beispielwert",
                "ignoreCase": true
            }
        ],
        "paged": true,
        "unpaged": true
    },
    "size": 1,
    "content": [
        {
            "user": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "lastName": "Max Mustermann",
                "firstName": "Max Mustermann",
                "email": "max@example.com",
                "tenantId": "abc123",
                "birthDate": "Beispielwert",
                "progress": null,
                "experience": 1,
                "participatesInLeaderboard": true,
                "hasSeenGlobalIntroduction": true,
                "_links": null
            },
            "courseOverviews": [
                {
                    "course": null,
                    "completedModules": null,
                    "totalModules": null,
                    "examAttempts": null,
                    "examState": "NOT_READY",
                    "subscriptionUsage": null
                }
            ]
        }
    ],
    "number": 1,
    "sort": [
        {
            "direction": "Beispielwert",
            "nullHandling": "Beispielwert",
            "ascending": true,
            "property": "Beispielwert",
            "ignoreCase": true
        }
    ],
    "numberOfElements": 1,
    "first": true,
    "last": true,
    "empty": true
}

Verwaltung

Stammdaten des eigenen Tenants sowie Einladungen für neue Nutzer.

POST /api/tenant/v1/admin/invitation/create Nicht zugeordnete Einladungscodes erzeugen

Erzeugt zwischen 1 und 100 Einladungscodes ohne hinterlegte E-Mail-Adresse, z.B. zum selbstständigen Verteilen durch den Tenant.

Parameter

Name Ort Typ Pflicht Beschreibung
subscriptionIds query Array<string> Nein
numberOfInvitations query integer (int32) Ja Anzahl der zu erzeugenden Codes (1–100)

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request POST \
  'https://api.genialster.de/api/tenant/v1/admin/invitation/create?subscriptionIds=Beispielwert&numberOfInvitations=1' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
DELETE /api/tenant/v1/admin/invitation/delete-all-open Alle offenen Einladungen schließen

Parameter

Name Ort Typ Pflicht Beschreibung
subscriptionIds query Array<string> Nein

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request DELETE \
  'https://api.genialster.de/api/tenant/v1/admin/invitation/delete-all-open?subscriptionIds=Beispielwert' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
GET /api/tenant/v1/admin/invitation/export Einladungscodes als PDF exportieren

Liefert die zuletzt erzeugten, nicht zugeordneten Einladungscodes als druckfertiges PDF.

Parameter

Name Ort Typ Pflicht Beschreibung
amount query integer (int32) Ja Anzahl der zu exportierenden Codes

Antworten

200 OK

Typ: string (byte)

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/admin/invitation/export?amount=1' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/octet-stream

"<Binärdaten>"
GET /api/tenant/v1/admin/invitation/{id} Einzelne Einladung abrufen

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID der Einladung

Antworten

200 OK

Modell: Invitation

Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
token string Nein
used boolean Nein
email string Nein
usedDate string (date-time) Nein
user User Nein
tenant Tenant Nein
status enum Nein
CREATED SENDING SENT ERROR USED
_links Links Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/admin/invitation/abc123' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "abc123",
    "dateCreated": "Beispielwert",
    "lastUpdated": "Beispielwert",
    "version": 1,
    "token": "Beispielwert",
    "used": true,
    "email": "max@example.com",
    "usedDate": "2026-08-06T12:00:00Z",
    "user": {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "lastName": "Max Mustermann",
        "firstName": "Max Mustermann",
        "email": "max@example.com",
        "tenantId": "abc123",
        "birthDate": "Beispielwert",
        "progress": {
            "courses": [
                null
            ],
            "chapters": [
                null
            ],
            "modules": [
                null
            ],
            "completedModules": [
                null
            ],
            "completedCourses": [
                null
            ],
            "completedChapters": [
                null
            ]
        },
        "experience": 1,
        "participatesInLeaderboard": true,
        "hasSeenGlobalIntroduction": true,
        "_links": {
            "key": {
                "href": null,
                "hreflang": null,
                "title": null,
                "type": null,
                "deprecation": null,
                "profile": null,
                "name": null,
                "templated": null
            }
        }
    },
    "tenant": {
        "id": "abc123",
        "dateCreated": "Beispielwert",
        "lastUpdated": "Beispielwert",
        "version": 1,
        "legalName": "Max Mustermann",
        "description": "Beispielwert",
        "address": {
            "street": "Beispielwert",
            "additional": "Beispielwert",
            "city": "Beispielwert",
            "zip": "Beispielwert",
            "country": "Beispielwert"
        },
        "contactPerson": "Beispielwert",
        "excludeFromStats": true,
        "_links": {
            "key": {
                "href": null,
                "hreflang": null,
                "title": null,
                "type": null,
                "deprecation": null,
                "profile": null,
                "name": null,
                "templated": null
            }
        }
    },
    "status": "CREATED",
    "_links": {
        "key": {
            "href": "Beispielwert",
            "hreflang": "Beispielwert",
            "title": "Beispielwert",
            "type": "Beispielwert",
            "deprecation": "Beispielwert",
            "profile": "Beispielwert",
            "name": "Max Mustermann",
            "templated": true
        }
    }
}
DELETE /api/tenant/v1/admin/invitation/{id} Einladung löschen

Schließt eine offene Einladung; bereits eingelöste Einladungen bleiben unberührt.

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID der Einladung

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request DELETE \
  'https://api.genialster.de/api/tenant/v1/admin/invitation/abc123' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
POST /api/tenant/v1/admin/invitation/{id}/resend Einladung erneut versenden

Parameter

Name Ort Typ Pflicht Beschreibung
id path string Ja ID der Einladung

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request POST \
  'https://api.genialster.de/api/tenant/v1/admin/invitation/abc123/resend' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
GET /api/tenant/v1/admin/invitations Einladungen durchsuchen

Paginierte, filterbare Liste der Einladungen des Tenants.

Parameter

Name Ort Typ Pflicht Beschreibung
search query string Nein Freitextsuche über E-Mail-Adresse
statuses query Array<enum> Nein
pageable query Pageable Ja

Antworten

200 OK

Modell: PageInvitation

Feld Typ Pflicht Beschreibung
totalElements integer (int64) Nein
totalPages integer (int32) Nein
pageable PageableObject Nein
size integer (int32) Nein
content Array<Invitation> Nein
number integer (int32) Nein
sort Array<SortObject> Nein
numberOfElements integer (int32) Nein
first boolean Nein
last boolean Nein
empty boolean Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/admin/invitations?search=Mustermann&statuses=CREATED&page=1&size=1' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "totalElements": 1,
    "totalPages": 1,
    "pageable": {
        "pageNumber": 1,
        "pageSize": 1,
        "offset": 1,
        "sort": [
            {
                "direction": "Beispielwert",
                "nullHandling": "Beispielwert",
                "ascending": true,
                "property": "Beispielwert",
                "ignoreCase": true
            }
        ],
        "paged": true,
        "unpaged": true
    },
    "size": 1,
    "content": [
        {
            "id": "abc123",
            "dateCreated": "Beispielwert",
            "lastUpdated": "Beispielwert",
            "version": 1,
            "token": "Beispielwert",
            "used": true,
            "email": "max@example.com",
            "usedDate": "2026-08-06T12:00:00Z",
            "user": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "lastName": "Max Mustermann",
                "firstName": "Max Mustermann",
                "email": "max@example.com",
                "tenantId": "abc123",
                "birthDate": "Beispielwert",
                "progress": null,
                "experience": 1,
                "participatesInLeaderboard": true,
                "hasSeenGlobalIntroduction": true,
                "_links": null
            },
            "tenant": {
                "id": "abc123",
                "dateCreated": "Beispielwert",
                "lastUpdated": "Beispielwert",
                "version": 1,
                "legalName": "Max Mustermann",
                "description": "Beispielwert",
                "address": null,
                "contactPerson": "Beispielwert",
                "excludeFromStats": true,
                "_links": null
            },
            "status": "CREATED",
            "_links": {
                "key": null
            }
        }
    ],
    "number": 1,
    "sort": [
        {
            "direction": "Beispielwert",
            "nullHandling": "Beispielwert",
            "ascending": true,
            "property": "Beispielwert",
            "ignoreCase": true
        }
    ],
    "numberOfElements": 1,
    "first": true,
    "last": true,
    "empty": true
}
GET /api/tenant/v1/admin/self Eigene Tenant-Stammdaten abrufen

Antworten

200 OK

Modell: Tenant

Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
legalName string Nein
description string Nein
address Address Nein
contactPerson string Nein
excludeFromStats boolean Nein
_links Links Nein

Beispiele

Beispielanfrage

curl --request GET \
  'https://api.genialster.de/api/tenant/v1/admin/self' \
  --header 'X-Api-Key: IHR_API_KEY'

Beispielantwort

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "abc123",
    "dateCreated": "Beispielwert",
    "lastUpdated": "Beispielwert",
    "version": 1,
    "legalName": "Max Mustermann",
    "description": "Beispielwert",
    "address": {
        "street": "Beispielwert",
        "additional": "Beispielwert",
        "city": "Beispielwert",
        "zip": "Beispielwert",
        "country": "Beispielwert"
    },
    "contactPerson": "Beispielwert",
    "excludeFromStats": true,
    "_links": {
        "key": {
            "href": "Beispielwert",
            "hreflang": "Beispielwert",
            "title": "Beispielwert",
            "type": "Beispielwert",
            "deprecation": "Beispielwert",
            "profile": "Beispielwert",
            "name": "Max Mustermann",
            "templated": true
        }
    }
}
PUT /api/tenant/v1/admin/self Eigene Tenant-Stammdaten aktualisieren

Request Body · erforderlich

Modell: Tenant

Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
legalName string Nein
description string Nein
address Address Nein
contactPerson string Nein
excludeFromStats boolean Nein
_links Links Nein

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request PUT \
  'https://api.genialster.de/api/tenant/v1/admin/self' \
  --header 'X-Api-Key: IHR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "id": "abc123",
    "dateCreated": "Beispielwert",
    "lastUpdated": "Beispielwert",
    "version": 1,
    "legalName": "Max Mustermann",
    "description": "Beispielwert",
    "address": {
        "street": "Beispielwert",
        "additional": "Beispielwert",
        "city": "Beispielwert",
        "zip": "Beispielwert",
        "country": "Beispielwert"
    },
    "contactPerson": "Beispielwert",
    "excludeFromStats": true,
    "_links": {
        "key": {
            "href": "Beispielwert",
            "hreflang": "Beispielwert",
            "title": "Beispielwert",
            "type": "Beispielwert",
            "deprecation": "Beispielwert",
            "profile": "Beispielwert",
            "name": "Max Mustermann",
            "templated": true
        }
    }
}'

Beispielantwort

HTTP/1.1 200 OK
POST /api/tenant/v1/admin/send-invitations Einladungen per E-Mail versenden

Verschickt Einladungs-E-Mails an die angegebenen Adressen. Optional auf bestimmte Abonnements beschränkt; ohne Angabe erhält der eingeladene Nutzer Zugriff auf alle Abonnements des Tenants.

Parameter

Name Ort Typ Pflicht Beschreibung
subscriptionIds query Array<string> Nein Abonnement-IDs, auf die die Einladung beschränkt wird

Request Body · erforderlich

Liste von string

Antworten

200 OK

Beispiele

Beispielanfrage

curl --request POST \
  'https://api.genialster.de/api/tenant/v1/admin/send-invitations?subscriptionIds=Beispielwert' \
  --header 'X-Api-Key: IHR_API_KEY' \
  --header 'Content-Type: application/json' \
  --data-raw '[
    "Beispielwert"
]'

Beispielantwort

HTTP/1.1 200 OK

Datenmodelle

Referenz aller Objekte, die in Requests und Antworten der Kunden API verwendet werden.

Address
Feld Typ Pflicht Beschreibung
street string Nein
additional string Nein
city string Nein
zip string Nein
country string Nein
ChapterProgress
Feld Typ Pflicht Beschreibung
courseId string Nein
chapterId string Nein
moduleId string Nein
completed boolean Nein
updatedAt string (date-time) Nein
ChapterReference
Feld Typ Pflicht Beschreibung
id string Nein
title string Nein
Course
Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
title string Nein
description RichText Nein
legalName string Nein
legalContent string Nein
certificateId string Nein
teachingUnits integer (int32) Nein
teachingUnitsOnSite integer (int32) Nein
dgsvCertificate boolean Nein
icon NetworkFile Nein
chapters Array<ChapterReference> Nein
availableActions Array<enum> Nein
VIEW EDIT PERMISSION_MANAGEMENT
published boolean Nein
demo boolean Nein
moduleCount integer (int32) Nein
_links Links Nein
CourseOverview
Feld Typ Pflicht Beschreibung
course Course Nein
userOverviews Array<UserCourseOverview> Nein
moduleCount integer (int32) Nein
userCount integer (int32) Nein
CourseProgress
Feld Typ Pflicht Beschreibung
courseId string Nein
chapterId string Nein
completed boolean Nein
updatedAt string (date-time) Nein
CourseUserOverview
Feld Typ Pflicht Beschreibung
course Course Nein
completedModules integer (int32) Nein
totalModules integer (int32) Nein
examAttempts integer (int32) Nein
examState enum Nein
NOT_READY READY IN_PROGRESS PASSED GRACE_PERIOD
subscriptionUsage SubscriptionUsageTenant Nein
ExamTenant
Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
course Course Nein
user User Nein
started boolean Nein
finished boolean Nein
startedAt string (date-time) Nein
finishedAt string (date-time) Nein
durationInMinutes integer (int32) Nein
passed boolean Nein
points integer (int32) Nein
maxPoints integer (int32) Nein
_links Links Nein
Invitation
Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
token string Nein
used boolean Nein
email string Nein
usedDate string (date-time) Nein
user User Nein
tenant Tenant Nein
status enum Nein
CREATED SENDING SENT ERROR USED
_links Links Nein
Metrics
Feld Typ Pflicht Beschreibung
totalUsers integer (int32) Nein
slidesCompleted integer (int32) Nein
examsTaken integer (int32) Nein
examsPassed integer (int32) Nein
earnedPoints integer (int64) Nein
ModuleProgress
Feld Typ Pflicht Beschreibung
moduleId string Nein
slideId string Nein
chapterId string Nein
courseId string Nein
completed boolean Nein
updatedAt string (date-time) Nein
NetworkFile
Feld Typ Pflicht Beschreibung
name string Ja
url string Ja
PageExamTenant
Feld Typ Pflicht Beschreibung
totalElements integer (int64) Nein
totalPages integer (int32) Nein
pageable PageableObject Nein
size integer (int32) Nein
content Array<ExamTenant> Nein
number integer (int32) Nein
sort Array<SortObject> Nein
numberOfElements integer (int32) Nein
first boolean Nein
last boolean Nein
empty boolean Nein
PageInvitation
Feld Typ Pflicht Beschreibung
totalElements integer (int64) Nein
totalPages integer (int32) Nein
pageable PageableObject Nein
size integer (int32) Nein
content Array<Invitation> Nein
number integer (int32) Nein
sort Array<SortObject> Nein
numberOfElements integer (int32) Nein
first boolean Nein
last boolean Nein
empty boolean Nein
PageUser
Feld Typ Pflicht Beschreibung
totalElements integer (int64) Nein
totalPages integer (int32) Nein
pageable PageableObject Nein
size integer (int32) Nein
content Array<User> Nein
number integer (int32) Nein
sort Array<SortObject> Nein
numberOfElements integer (int32) Nein
first boolean Nein
last boolean Nein
empty boolean Nein
PageUserProgressOverview
Feld Typ Pflicht Beschreibung
totalElements integer (int64) Nein
totalPages integer (int32) Nein
pageable PageableObject Nein
size integer (int32) Nein
content Array<UserProgressOverview> Nein
number integer (int32) Nein
sort Array<SortObject> Nein
numberOfElements integer (int32) Nein
first boolean Nein
last boolean Nein
empty boolean Nein
Pageable
Feld Typ Pflicht Beschreibung
page integer (int32) Nein
size integer (int32) Nein
sort Array<string> Nein
PageableObject
Feld Typ Pflicht Beschreibung
pageNumber integer (int32) Nein
pageSize integer (int32) Nein
offset integer (int64) Nein
sort Array<SortObject> Nein
paged boolean Nein
unpaged boolean Nein
RichText
Feld Typ Pflicht Beschreibung
rawMarkdown string Nein
SortObject
Feld Typ Pflicht Beschreibung
direction string Nein
nullHandling string Nein
ascending boolean Nein
property string Nein
ignoreCase boolean Nein
Subscription
Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
tenant Tenant Nein
course Course Nein
licenseCount integer (int32) Nein
demo boolean Nein
startDate string (date-time) Nein
endDate string (date-time) Nein
restricted boolean Nein
_links Links Nein
SubscriptionUsageTenant
Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
course Course Nein
user User Nein
subscription Subscription Nein
exam ExamTenant Nein
active boolean Nein
_links Links Nein
Tenant
Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
legalName string Nein
description string Nein
address Address Nein
contactPerson string Nein
excludeFromStats boolean Nein
_links Links Nein
UserCourseOverview
Feld Typ Pflicht Beschreibung
user User Nein
completedModules integer (int32) Nein
examAttempts integer (int32) Nein
examState enum Nein
NOT_READY READY IN_PROGRESS PASSED GRACE_PERIOD
User
Feld Typ Pflicht Beschreibung
id string Nein
dateCreated string Nein
lastUpdated string Nein
version integer (int32) Nein
lastName string Nein
firstName string Nein
email string Nein
tenantId string Nein
birthDate string Nein
progress UserProgress Nein
experience integer (int64) Nein
participatesInLeaderboard boolean Nein
hasSeenGlobalIntroduction boolean Nein
_links Links Nein
UserProgress
Feld Typ Pflicht Beschreibung
courses Array<CourseProgress> Nein
chapters Array<ChapterProgress> Nein
modules Array<ModuleProgress> Nein
completedModules Array<ModuleProgress> Nein
completedCourses Array<CourseProgress> Nein
completedChapters Array<ChapterProgress> Nein
UserProgressOverview
Feld Typ Pflicht Beschreibung
user User Nein
courseOverviews Array<CourseUserOverview> Nein
UserTenantOverview
Feld Typ Pflicht Beschreibung
user User Nein
courseOverviews Array<CourseUserOverview> Nein
subscriptions Array<Subscription> Nein
exams Array<ExamTenant> Nein
UserTenantUpdate
Feld Typ Pflicht Beschreibung
id string Nein
lastName string Nein
firstName string Nein
birthDate string Nein
Felix Jordan

Felix Jordan

Senior App-Entwickler & Support

Adresse
Landfurt 46, D-34414 Warburg
Bürozeiten
Mo–Fr, 08:00–16:00

Sie können uns rund um die Uhr per E-Mail, WhatsApp oder Signal erreichen. Falls Sie kein E-Mail-Programm installiert haben, nutzen Sie das Formular oder rufen Sie uns persönlich zu den Bürozeiten an.

Um Rückruf bitten

Haben Sie Fragen zu unseren Kursen oder möchten Sie sich für einen Kurs anmelden? Tragen Sie einfach Ihre Telefonnummer ein – Felix Jordan ruft Sie zurück.

Mit dem Absenden erklären Sie sich mit der Verarbeitung Ihrer Daten gemäß unserer Datenschutzerklärung einverstanden.

Folgen Sie uns: LinkedIn · Instagram ·