Einführung
Willkommen bei der Schulungstool API.
Sie können unsere REST-API verwenden, um Informationen über Ihre Kurse, Kursteilnahmen, Benutzer und Gruppen in unserer Datenbank abzurufen.
Base-URL
Base-URL: https://api.schulungstool.de
Authentifizierung
Zur Authentifizierung können Sie den folgenden Code verwenden:
curl "https://api.schulungstool.de/.../" \
-H "Authorization: Token <API-Schlüssel>"
Stellen Sie sicher, dass Sie <API-Schlüssel> durch Ihren API-Schlüssel ersetzen.
Schulungstool nutzt API-Schlüssel, um den Zugriff auf die API zu ermöglichen. Einen API-Schlüssel können Sie in Ihrem Administrationsbereich unter Einstellungen > Erweiterte Einstellungen > Entwickleroptionen generieren.
Schulungstool erwartet, dass der API-Schlüssel in allen API-Anfragen an den Server im HTTP-Header enthalten ist. Die Zeile im HTTP-Header sollte wie folgt aussehen:
Authorization: Token <API-Schlüssel>
Sortierung
Die Schulungstool API bietet die Möglichkeit, die Sortierreihenfolge der zurückgegebenen Ergebnisse bei der Auflistung einer Ressource (z. B. Alle Kurse auflisten) zu beeinflussen.
Dazu können Sie bei einer Anfrage mit dem Query Parameter ordering
ein Feld oder mehrere Felder festlegen, nach welchen die Ergebnisse sortiert werden.
Die Ergebnisse können sowohl aufsteigend sortiert werden (ordering=Feldname
) als auch absteigend (ordering=-Feldname
), indem dem Feldnamen ein -
vorangestellt wird.
Beispiele:
- Sortierung der Ergebnisse nach Kursnamen bei der Auflistung aller Kurse:
ordering=name
: Kurse sind aufsteigend nach Namen sortiert.ordering=-name
: Kurse sind absteigend nach Namen sortiert.
- Sortierung der Ergebnisse nach Fälligkeitsdatum und Kursnamen bei der Auflistung aller Kursteilnahmen:
ordering=due_date,course
: Kursteilnahmen sind aufsteigend nach Fälligkeitsdatum und aufsteigend nach Kursnamen sortiert.ordering=-due_date,course
: Kursteilnahmen sind absteigend nach Fälligkeitsdatum und aufsteigend nach Kursnamen sortiert.
Paginierung
{
"count": integer,
"next": "string <url>",
"previous": "string <url>",
"results": [
...
]
}
Alle API-Endpunkte, welche die Auflistung einer Ressource darstellen wie z. B. Alle Benutzer auflisten, geben als Antwort paginierte Ergebnisse in folgender Struktur zurück:
Schlüssel | Wert |
---|---|
count | integer Gesamtzahl der gefundenen Ergebnisse |
next | string <url> oder null Wenn es ausgehend von der aktuellen Seite eine nächste Seite in der paginierten Ergebnisliste gibt, steht hier die URL, mit welcher Sie die nächste Seite der paginierten Ergebnisse abrufen können. |
previous | string <url> oder null Wenn es ausgehend von der aktuellen Seite eine vorherige Seite in der paginierten Ergebnisliste gibt, steht hier die URL, mit welcher Sie die vorherige Seite der paginierten Ergebnisse abrufen können. |
results | array <Objekt> Wenn es in den paginierten Ergebnissen mehr als eine Seite gibt, finden Sie hier eine Teilmenge der gefundenen Objekten als Liste, wobei die Teilmenge abhängig von der aktuellen Seite ist. Wenn es in den paginierten Ergebnissen nur eine Seite gibt, finden Sie hier eine Liste aller gefundenen Objekte. |
Eine Seite enthält maximal 25 Ergebnisse.
Mit dem Query Parameter page
können Sie festlegen, welche Seite der paginierten Ergebnisse zurückgegeben werden soll. Standardmäßig wird immer die erste Seite der paginierten Ergebnisse (page=1
) zurückgegeben. Wenn Sie z. B. die dritte Seite der paginierten Ergebnisse abrufen möchten, müssen Sie page=3
als Query Parameter in der Anfrage mitsenden.
Ressourcen erweitern
In einigen Ressourcen wie z. B. dem Kurs-Objekt oder dem Kursteilnahme-Objekt gibt es bestimmte Felder, welche zu einem Objekt erweitert werden können, ohne dass dafür eine weitere Anfrage an die API erforderlich ist.
Um bestimmte Felder einer Ressource zu erweitern, müssen Sie bei einer Anfrage den Query Parameter expand
mit den Feldnamen, welche zu erweitern sind, mitsenden.
Beispiele:
- Kurs-Objekt:
- Feld
instructor
erweitern:expand=instructor
- Feld
- Kursteilnahme-Objekt:
- Feld
user
erweitern:expand=user
- Felder
user
undcourse
erweitern:expand=user,course
- Feld
Durchsatzbegrenzung
HTTP-Antwort mit Statuscode 429:
{
"error": {
"type": "Throttled",
"message": "Request was throttled. Expected available in 7 seconds."
}
}
Schulungstool setzt bei seiner API Durchsatzbegrenzung ein, um allen Benutzern eine konsistente API-Leistung zu gewährleisten. Standardmäßig kann jedes Schulungstool-Konto bis zu 100 API-Anfragen pro Minute ausführen.
Wenn ein Limit erreicht wurde, erhalten Sie eine HTTP-Antwort mit dem Statuscode 429
. Die Antwort enthält im HTTP-Header das Feld Retry-After
mit der Anzahl der zu wartenden Sekunden, nach denen bei einer erneuten Anfrage eine normale Antwort erwartet werden kann.
Fehler
Struktur bei allen Fehlertypen (außer "ValidationError"):
{
"error": {
"type": "string",
"message": "string"
}
}
Struktur bei Fehlertyp "ValidationError":
{
"error": {
"type": "string",
"message": "string",
"field_errors": {
"string": [
"string"
]
},
"non_field_errors": [
"string"
]
}
}
Folgende Fehlertypen gibt es:
Typ | Statuscode | Beschreibung |
---|---|---|
ValidationError | 400 | Ein oder mehrere Felder fehlen oder haben ungültige Werte. Siehe field_errors und non_field_errors für mehr Details. |
ParseError | 400 | Anfrage enthält fehlerhafte Daten. |
AuthenticationFailed | 401 | Authentifizierung ist fehlgeschlagen: Ungültiger Authentifizierung-Header oder ungültiger API-Schlüssel |
NotAuthenticated | 401 | Authentifizierung ist fehlgeschlagen: Der API-Schlüssel wurde nicht übermittelt. |
PermissionDenied | 403 | Keine Berechtigung, diese Aktion durchzuführen. |
NotFound | 404 | Ressource nicht gefunden. |
MethodNotAllowed | 405 | HTTP-Methode ist nicht erlaubt. |
NotAcceptable | 406 | Der Accept-Header der Anfrage konnte nicht erfüllt werden. |
UnsupportedMediaType | 415 | Nicht unterstützter Medientyp in der Anfrage. |
Throttled | 429 | Ein Limit der Durchsatzbegrenzung wurde erreicht. |
InternalServerError | 500 | Ein interner Serverfehler ist aufgetreten. |
Kurse
Endpunkte
Das Kurs-Objekt
{
"id": "string <uuid>",
"category": "string <uuid>",
"name": "string",
"description": "string",
"topics": [
"string"
],
"thumbnail": {
"string <width>": {
"url": "string <url>",
"width": integer,
"height": integer
}
},
"instructor": "string <uuid>",
"languages": {
"string": boolean
},
"language_code": "string",
"default_language_code": "string",
"is_archived": boolean,
"created_at": "string <date-time>",
"updated_at": "string <date-time>",
"dashboard_url": "string <url>"
}
Attribut | Beschreibung |
---|---|
id | string <uuid> ID des Kurses |
category | string <uuid> oder null ID der Kurskategorie. Dieses Feld ist erweiterbar. |
name | string Name des Kurses (übersetzt in der Sprache language_code des Kursobjekts) |
description | string Beschreibung des Kurses (übersetzt in der Sprache language_code des Kursobjekts) |
topics | array <string> Themen des Kurses (übersetzt in der Sprache language_code des Kursobjekts) |
thumbnail | object oder null Vorschaubild des Kurses in verschiedenen Auflösungen Schlüssel: Breite des Vorschaubildes Wert: Object mit den Schlüsseln url (URL des Vorschaubildes), width (Breite des Vorschaubildes in Pixeln) und height (Höhe des Vorschaubildes in Pixeln). |
instructor | string <uuid> ID der Kursleitung. Dieses Feld ist erweiterbar. |
languages | object Übersetzungen des Kurses Schlüssel: Sprachcode nach ISO 639-1, z. B. "de" Wert: true (Übersetzung ist aktiviert) oder false (Übersetzung ist deaktiviert) |
language_code | string Aktuelle Übersetzung des Kursobjekts (Sprachcode nach ISO 639-1, z. B. "de" ) |
default_language_code | string Standardsprache des Kurses (Sprachcode nach ISO 639-1, z. B. "de" ) |
is_archived | booleantrue : Kurs ist archiviertfalse : Kurs ist nicht archiviert |
created_at | string <date-time> Zeitpunkt der Erstellung des Kurses |
updated_at | string <date-time> Zeitpunkt der letzten Aktualisierung des Kurses |
dashboard_url | string <url> URL zur Detailansicht des Kurses im Administrationsbereich Ihres Schulungstool-Kontos |
Alle Kurse auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/courses/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
[
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": "06285ae7-38a0-484a-b779-b11490c706c0",
"category": "2d49d6d5-e286-4f06-9b83-b2fdc69475b1",
"name": "Allgemeiner Kurs 2024",
"description": "Das ist der allgemeine Kurs im Jahr 2024.",
"topics": [
"Thema 1",
"Thema 2",
"Thema 3"
],
"thumbnail": {
"160": {
"url": "https://schulungscdn.de/schulungstool/cache/5c/2f/5c2f699167cfaaed7f7bbdeb2094c62a.jpg",
"width": 160,
"height": 90
},
"320": {
"url": "https://schulungscdn.de/schulungstool/cache/e6/f3/e6f31e65df15fe43d8a92663cccfeb3a.jpg",
"width": 320,
"height": 180
},
"640": {
"url": "https://schulungscdn.de/schulungstool/cache/31/98/3198ec2a13fffa4abf3f6c48e2d0c606.jpg",
"width": 640,
"height": 360
},
"1280": {
"url": "https://schulungscdn.de/schulungstool/cache/4c/18/4c185248455b1ff8d31626116a2e39e1.jpg",
"width": 1280,
"height": 720
}
},
"instructor": "af782ace-30a2-4628-837f-fcd807603631",
"languages": {
"de": true,
"en": true,
"fr": false
},
"language_code": "de",
"default_language_code": "de",
"is_archived": false,
"created_at": "2024-01-11T08:25:16.836036Z",
"updated_at": "2024-04-14T14:44:42.083032Z",
"dashboard_url": "https://demo.schulungstool.de/admin/courses/06285ae7-38a0-484a-b779-b11490c706c0/"
},
{
"id": "fb86f4d4-bee3-4c70-9a25-8e9dd7fd9aab",
"category": "071b2638-3ab5-409f-aa59-60c35c1158b0",
"name": "Brandschutz Kurs 2024",
"description": "Das ist der Kurs zum Thema Brandschutz.",
"topics": [],
"thumbnail": {
"160": {
"url": "https://schulungscdn.de/schulungstool/cache/5c/2f/5c2f699167cfaaed7f7bbdeb2094c62a.jpg",
"width": 160,
"height": 90
},
"320": {
"url": "https://schulungscdn.de/schulungstool/cache/e6/f3/e6f31e65df15fe43d8a92663cccfeb3a.jpg",
"width": 320,
"height": 180
},
"640": {
"url": "https://schulungscdn.de/schulungstool/cache/31/98/3198ec2a13fffa4abf3f6c48e2d0c606.jpg",
"width": 640,
"height": 360
},
"1280": {
"url": "https://schulungscdn.de/schulungstool/cache/4c/18/4c185248455b1ff8d31626116a2e39e1.jpg",
"width": 1280,
"height": 720
}
},
"instructor": "1e5d00d7-1f74-4531-9d9e-37ff9f95522b",
"languages": {
"de": true
},
"language_code": "de",
"default_language_code": "de",
"is_archived": false,
"created_at": "2024-01-11T08:35:01.296595Z",
"updated_at": "2024-03-21T08:18:58.649545Z",
"dashboard_url": "https://demo.schulungstool.de/admin/courses/fb86f4d4-bee3-4c70-9a25-8e9dd7fd9aab/"
}
]
]
Dieser API-Endpunkt gibt eine Liste aller Kurse zurück.
HTTP-Anfrage
GET/v1/courses/
HTTP-Anfrage: Query-Parameter
Parameter | Beschreibung |
---|---|
id | string <uuid> Ein Filter für das Feld id eines Kursobjekts. |
category | string <uuid> Ein Filter für das Feld category eines Kursobjekts. |
name | string Ein Filter für das Feld name eines Kursobjekts. |
description | string Ein Filter für das Feld description eines Kursobjekts. |
instructor | string <uuid> Ein Filter für das Feld instructor eines Kursobjekts. |
is_archived | boolean Ein Filter für das Feld is_archived eines Kursobjekts. |
search | string Ein Suchbegriff, nach welchem in den Feldern id , category (title des zugehörigen Kurskategorieobjekts), name und description eines Kursobjekts gesucht wird. |
ordering | string Ein Feld oder mehrere durch Komma getrennte Felder, nach welchen die Liste der Kursobjekte sortiert wird. Zur Auswahl stehen die Felder name , created_at und updated_at eines Kursobjekts. |
page | integer Eine Seitenzahl innerhalb der paginierten Ergebnisse. |
expand | string Ein Feld oder mehrere durch Komma getrennte Felder, welche zu einem Objekt erweitert werden. Zur Auswahl stehen die Felder category und instructor eines Kursobjekts. |
lang | string Eine Sprache, in welche die Kursobjekte übersetzt werden. Wenn die Sprache in einem Kurs nicht verfügbar ist, wird das Kursobjekt in die Standardsprache des Kurses übersetzt. Standardwert: "de" |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Kurse |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Kurs-Objekt> Liste von Kurs-Objekten |
Einen Kurs erstellen
Beispielcode:
curl -X POST "https://api.schulungstool.de/v1/courses/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "06285ae7-38a0-484a-b779-b11490c706c0",
"category": "2d49d6d5-e286-4f06-9b83-b2fdc69475b1",
"name": "Allgemeiner Kurs 2024",
"description": "Das ist der allgemeine Kurs im Jahr 2024.",
"topics": [
"Thema 1",
"Thema 2",
"Thema 3"
],
"thumbnail": null,
"instructor": "af782ace-30a2-4628-837f-fcd807603631",
"languages": {
"de": true,
},
"language_code": "de",
"default_language_code": "de",
"is_archived": false,
"created_at": "2024-01-11T08:25:16.836036Z",
"updated_at": "2024-01-11T08:25:16.836054Z",
"dashboard_url": "https://demo.schulungstool.de/admin/courses/06285ae7-38a0-484a-b779-b11490c706c0/"
}
Dieser API-Endpunkt erstellt einen Kurs.
HTTP-Anfrage
POST/v1/courses/
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
name | stringerforderlich Name des Kurses |
instructor | string <uuid>erforderlich ID der Kursleitung |
default_language_code | stringerforderlich Standardsprache des Kurses (Sprachcode nach ISO 639-1, z. B. "de" ) |
category | string <uuid> ID der Kurskategorie Standardwert: null |
description | string Beschreibung des Kurses Standardwert: "" |
topics | array <string> Themen des Kurses Standardwert: [] |
is_archived | booleantrue : Kurs ist archiviertfalse : Kurs ist nicht archiviertStandardwert: false |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 201
:
Ein Kurs-Objekt
Einen Kurs abrufen
Beispielcode:
curl "https://api.schulungstool.de/v1/courses/{course_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"id": "06285ae7-38a0-484a-b779-b11490c706c0",
"category": "2d49d6d5-e286-4f06-9b83-b2fdc69475b1",
"name": "Allgemeiner Kurs 2024",
"description": "Das ist der allgemeine Kurs im Jahr 2024.",
"topics": [
"Thema 1",
"Thema 2",
"Thema 3"
],
"thumbnail": {
"160": {
"url": "https://schulungscdn.de/schulungstool/cache/5c/2f/5c2f699167cfaaed7f7bbdeb2094c62a.jpg",
"width": 160,
"height": 90
},
"320": {
"url": "https://schulungscdn.de/schulungstool/cache/e6/f3/e6f31e65df15fe43d8a92663cccfeb3a.jpg",
"width": 320,
"height": 180
},
"640": {
"url": "https://schulungscdn.de/schulungstool/cache/31/98/3198ec2a13fffa4abf3f6c48e2d0c606.jpg",
"width": 640,
"height": 360
},
"1280": {
"url": "https://schulungscdn.de/schulungstool/cache/4c/18/4c185248455b1ff8d31626116a2e39e1.jpg",
"width": 1280,
"height": 720
}
},
"instructor": "af782ace-30a2-4628-837f-fcd807603631",
"languages": {
"de": true,
"en": true,
"fr": false
},
"language_code": "de",
"default_language_code": "de",
"is_archived": false,
"created_at": "2024-01-11T08:25:16.836036Z",
"updated_at": "2024-04-14T14:44:42.083032Z",
"dashboard_url": "https://demo.schulungstool.de/admin/courses/06285ae7-38a0-484a-b779-b11490c706c0/"
}
Dieser API-Endpunkt gibt einen Kurs zurück.
HTTP-Anfrage
GET/v1/courses/{course_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
course_id | string <uuid> Die ID des abzurufenden Kurses. |
HTTP-Anfrage: Query-Parameter
Parameter | Beschreibung |
---|---|
expand | string Ein Feld oder mehrere durch Komma getrennte Felder, welche zu einem Objekt erweitert werden. Zur Auswahl stehen die Felder category und instructor des Kursobjekts. |
lang | string Eine Sprache, in welche das Kursobjekt übersetzt wird. Wenn die Sprache im Kurs nicht verfügbar ist, wird das Kursobjekt in die Standardsprache des Kurses übersetzt. Standardwert: "de" |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Ein Kurs-Objekt
Einen Kurs bearbeiten
Beispielcode:
curl -X PATCH "https://api.schulungstool.de/v1/courses/{course_id}/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "06285ae7-38a0-484a-b779-b11490c706c0",
"category": "2d49d6d5-e286-4f06-9b83-b2fdc69475b1",
"name": "Allgemeiner Kurs 2024",
"description": "Das ist der allgemeine Kurs im Jahr 2024.",
"topics": [
"Thema 1",
"Thema 2",
"Thema 3"
],
"thumbnail": {
"160": {
"url": "https://schulungscdn.de/schulungstool/cache/5c/2f/5c2f699167cfaaed7f7bbdeb2094c62a.jpg",
"width": 160,
"height": 90
},
"320": {
"url": "https://schulungscdn.de/schulungstool/cache/e6/f3/e6f31e65df15fe43d8a92663cccfeb3a.jpg",
"width": 320,
"height": 180
},
"640": {
"url": "https://schulungscdn.de/schulungstool/cache/31/98/3198ec2a13fffa4abf3f6c48e2d0c606.jpg",
"width": 640,
"height": 360
},
"1280": {
"url": "https://schulungscdn.de/schulungstool/cache/4c/18/4c185248455b1ff8d31626116a2e39e1.jpg",
"width": 1280,
"height": 720
}
},
"instructor": "af782ace-30a2-4628-837f-fcd807603631",
"languages": {
"de": true,
"en": true,
"fr": false
},
"language_code": "de",
"default_language_code": "de",
"is_archived": false,
"created_at": "2024-01-11T08:25:16.836036Z",
"updated_at": "2024-04-14T14:44:42.083032Z",
"dashboard_url": "https://demo.schulungstool.de/admin/courses/06285ae7-38a0-484a-b779-b11490c706c0/"
}
Dieser API-Endpunkt bearbeitet einen Kurs.
HTTP-Anfrage
PATCH/v1/courses/{course_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
course_id | string <uuid> Die ID des zu bearbeitenden Kurses. |
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
category | string <uuid> ID der Kurskategorie |
name | string Name des Kurses |
description | string Beschreibung des Kurses |
topics | array <string> Themen des Kurses |
instructor | string <uuid> ID der Kursleitung |
default_language_code | string Standardsprache des Kurses (Sprachcode nach ISO 639-1, z. B. "de" ) |
is_archived | booleantrue : Kurs ist archiviertfalse : Kurs ist nicht archiviert |
HTTP-Anfrage: Query-Parameter
Parameter | Beschreibung |
---|---|
lang | string Eine Sprache, die bestimmt, welche Übersetzung des Kurses bearbeitet wird. (betrifft die Felder name , description und topics )Wenn die Sprache im Kurs nicht verfügbar ist, wird die Übersetzung der Standardsprache des Kurses bearbeitet. Standardwert: "de" |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Ein Kurs-Objekt
Einen Kurs löschen
Beispielcode:
curl -X DELETE "https://api.schulungstool.de/v1/courses/{course_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Dieser API-Endpunkt löscht einen Kurs.
HTTP-Anfrage
DELETE/v1/courses/{course_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
course_id | string <uuid> Die ID des zu löschenden Kurses. |
HTTP-Antwort
Statuscode 204
:
Der Kurs wurde erfolgreich gelöscht.
Alle Kursteilnahmen eines Kurses auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/courses/{course_id}/participations/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": "81b670f5-b160-4805-80fa-2cd1423bff9f",
"user": "cd963a39-6070-4578-9d3b-23bb6a58432c",
"course": "ce9fb46d-0ade-4678-85f7-c6dbcdde3d86",
"due_date": "2023-06-30",
"completed_at": null,
"status": "pending",
"created_at": "2024-01-11T09:17:45.017101Z",
"updated_at": "2024-01-11T09:17:45.017120Z",
"learn_url": "https://demo.schulungstool.de/learn/81b670f5-b160-4805-80fa-2cd1423bff9f/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/81b670f5-b160-4805-80fa-2cd1423bff9f/"
},
{
"id": "d5d4665c-fe35-4e8a-98fc-73b7829b35a3",
"user": "1830fc24-b57a-41ba-93b1-9960f8edc927",
"course": "ce9fb46d-0ade-4678-85f7-c6dbcdde3d86",
"due_date": "2023-06-30",
"completed_at": "2023-03-15T13:37:25.674769Z",
"status": "done",
"created_at": "2024-01-11T09:17:01.581158Z",
"updated_at": "2023-03-15T13:37:26.255871Z",
"learn_url": "https://demo.schulungstool.de/learn/d5d4665c-fe35-4e8a-98fc-73b7829b35a3/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/d5d4665c-fe35-4e8a-98fc-73b7829b35a3/"
},
{
"id": "f7c02638-199c-4e06-9b7c-89925e75b870",
"user": "dc8eee3e-cbbe-4f01-ab05-79d7cb882c2c",
"course": "ce9fb46d-0ade-4678-85f7-c6dbcdde3d86",
"due_date": "2023-06-30",
"completed_at": null,
"status": "pending",
"created_at": "2024-01-11T09:16:50.266820Z",
"updated_at": "2024-01-11T09:16:50.266845Z",
"learn_url": "https://demo.schulungstool.de/learn/f7c02638-199c-4e06-9b7c-89925e75b870/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/f7c02638-199c-4e06-9b7c-89925e75b870/"
}
]
}
Dieser API-Endpunkt gibt eine Liste aller Kursteilnahmen eines Kurses zurück.
HTTP-Anfrage
GET/v1/courses/{course_id}/participations/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
course_id | string <uuid> Die ID des Kurses, dessen Kursteilnahmen aufgelistet werden. |
HTTP-Anfrage: Query-Parameter
siehe Query Parameter bei Alle Kursteilnahmen auflisten
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Kursteilnahmen |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Kursteilnahme-Objekt> Liste von Kursteilnahme-Objekten |
Alle Bewertungen eines Kurses auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/courses/{course_id}/ratings/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": "20d3b11a-cb23-4986-bdfb-424c2ebdbdb4",
"course": "ce9fb46d-0ade-4678-85f7-c6dbcdde3d86",
"language_code": "de",
"rating": 3,
"comment": ""
},
{
"id": "47244de2-3edd-448b-8ab7-6d4790046c79",
"course": "ce9fb46d-0ade-4678-85f7-c6dbcdde3d86",
"language_code": "de",
"rating": 5,
"comment": "Der Kurs hat mir gut gefallen."
},
{
"id": "a75596f7-b044-4c42-9990-cdb43542adb1",
"course": "ce9fb46d-0ade-4678-85f7-c6dbcdde3d86",
"language_code": "en",
"rating": 5,
"comment": "top course"
}
]
}
Dieser API-Endpunkt gibt eine Liste aller Bewertungen eines Kurses zurück.
HTTP-Anfrage
GET/v1/courses/{course_id}/ratings/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
course_id | string <uuid> Die ID des Kurses, dessen Bewertungen aufgelistet werden. |
HTTP-Anfrage: Query-Parameter
siehe Query Parameter bei Alle Kursbewertungen auflisten
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Kursbewertungen |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Kursbewertung-Objekt> Liste von Kursbewertung-Objekten |
Kursbewertungen
Endpunkte
Das Kursbewertung-Objekt
{
"id": "string <uuid>",
"course": "string <uuid>",
"language_code": "string",
"rating": integer,
"comment": "string"
}
Attribut | Beschreibung |
---|---|
id | string <uuid> ID der Kursbewertung |
course | string <uuid> ID des Kurses der Kursbewertung. Dieses Feld ist erweiterbar. |
language_code | string Bewertete Übersetzung des Kurses (Sprachcode nach ISO 639-1, z. B. "de" ) |
rating | integer Bewertung des Kurses von 1 bis 5 Sternen |
comment | string Kommentar zur Kursbewertung |
Alle Kursbewertungen auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/course-ratings/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
[
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": "9d4cf044-77fe-4aac-9dfa-2ee7e2a07f94",
"course": "5716ad84-b7ba-4a7c-b2d2-7d9c46e04695",
"language_code": "de",
"rating": 3,
"comment": ""
},
{
"id": "47244de2-3edd-448b-8ab7-6d4790046c79",
"course": "ce9fb46d-0ade-4678-85f7-c6dbcdde3d86",
"language_code": "de",
"rating": 5,
"comment": "Der Kurs hat mir gut gefallen."
},
{
"id": "4c60786c-ca7e-4b3d-9932-24d8cb6702c9",
"course": "1e20e274-9ac1-45e8-9c2e-841e577ea292",
"language_code": "de",
"rating": 1,
"comment": ""
}
]
]
Dieser API-Endpunkt gibt eine Liste aller Kursbewertungen zurück.
HTTP-Anfrage
GET/v1/course-ratings/
HTTP-Anfrage: Query-Parameter
Parameter | Beschreibung |
---|---|
id | string <uuid> Ein Filter für das Feld id eines Kursbewertungobjekts. |
course | string <uuid> Ein Filter für das Feld course eines Kursbewertungobjekts. |
language_code | string Ein Filter für das Feld language_code eines Kursbewertungobjekts. |
rating | integer Ein Filter für das Feld rating eines Kursbewertungobjekts. |
search | string Ein Suchbegriff, nach welchem in den Feldern id , course (name des zugehörigen Kursobjekts) und comment eines Kursbewertungobjekts gesucht wird. |
ordering | string Ein Feld oder mehrere durch Komma getrennte Felder, nach welchen die Liste der Kursbewertungobjekte sortiert wird. Zur Auswahl steht das Feld rating eines Kursbewertungobjekts. |
page | integer Eine Seitenzahl innerhalb der paginierten Ergebnisse. |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Kursbewertungen |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Kursbewertung-Objekt> Liste von Kursbewertung-Objekten |
Eine Kursbewertung abrufen
Beispielcode:
curl "https://api.schulungstool.de/v1/course-ratings/{course_rating_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"id": "47244de2-3edd-448b-8ab7-6d4790046c79",
"course": "ce9fb46d-0ade-4678-85f7-c6dbcdde3d86",
"language_code": "de",
"rating": 5,
"comment": "Der Kurs hat mir gut gefallen."
}
Dieser API-Endpunkt gibt eine Kursbewertung zurück.
HTTP-Anfrage
GET/v1/course-ratings/{course_rating_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
course_rating_id | string <uuid> Die ID der abzurufenden Kursbewertung. |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Kurskategorien
Endpunkte
Das Kurskategorie-Objekt
{
"id": "string <uuid>",
"title": "string",
"created_at": "string <date-time>",
"updated_at": "string <date-time>"
}
Attribut | Beschreibung |
---|---|
id | string <uuid> ID der Kurskategorie |
title | string Titel der Kurskategorie |
created_at | string <date-time> Zeitpunkt der Erstellung der Kurskategorie |
updated_at | string <date-time> Zeitpunkt der letzten Aktualisierung der Kurskategorie |
Alle Kurskategorien auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/course-categories/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
[
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": "2d49d6d5-e286-4f06-9b83-b2fdc69475b1",
"title": "Allgemein",
"created_at": "2024-01-23T13:40:23.265058Z",
"updated_at": "2024-01-23T13:40:23.265085Z"
},
{
"id": "071b2638-3ab5-409f-aa59-60c35c1158b0",
"title": "Brandschutz",
"created_at": "2024-01-23T13:42:21.630533Z",
"updated_at": "2024-01-23T13:42:21.630546Z"
},
{
"id": "7efd09ae-8a91-48c4-85bd-dd9bb604af9a",
"title": "Erste Hilfe",
"created_at": "2024-01-23T13:41:51.433008Z",
"updated_at": "2024-01-23T13:41:51.433029Z"
}
]
]
Dieser API-Endpunkt gibt eine Liste aller Kurskategorien zurück.
HTTP-Anfrage
GET/v1/course-categories/
HTTP-Anfrage: Query-Parameter
Parameter | Beschreibung |
---|---|
id | string <uuid> Ein Filter für das Feld id eines Kurskategorieobjekts. |
title | string <uuid> Ein Filter für das Feld title eines Kurskategorieobjekts. |
search | string Ein Suchbegriff, nach welchem in den Feldern id und title eines Kurskategorieobjekts gesucht wird. |
ordering | string Ein Feld oder mehrere durch Komma getrennte Felder, nach welchen die Liste der Kurskategorieobjekte sortiert wird. Zur Auswahl stehen die Felder title , created_at und updated_at eines Kurskategorieobjekts. |
page | integer Eine Seitenzahl innerhalb der paginierten Ergebnisse. |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Kurskategorien |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Kurskategorie-Objekt> Liste von Kurskategorie-Objekten |
Eine Kurskategorie erstellen
Beispielcode:
curl -X POST "https://api.schulungstool.de/v1/course-categories/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "2d49d6d5-e286-4f06-9b83-b2fdc69475b1",
"title": "Allgemein",
"created_at": "2024-01-23T13:40:23.265058Z",
"updated_at": "2024-01-23T13:40:23.265085Z"
}
Dieser API-Endpunkt erstellt eine Kurskategorie.
HTTP-Anfrage
POST/v1/course-categories/
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
title | stringerforderlich Titel der Kurskategorie |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 201
:
Eine Kurskategorie abrufen
Beispielcode:
curl "https://api.schulungstool.de/v1/course-categories/{course_category_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"id": "2d49d6d5-e286-4f06-9b83-b2fdc69475b1",
"title": "Allgemein",
"created_at": "2024-01-23T13:40:23.265058Z",
"updated_at": "2024-01-23T13:40:23.265085Z"
}
Dieser API-Endpunkt gibt eine Kurskategorie zurück.
HTTP-Anfrage
GET/v1/course-categories/{course_category_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
course_category_id | string <uuid> Die ID der abzurufenden Kurskategorie. |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Eine Kurskategorie bearbeiten
Beispielcode:
curl -X PATCH "https://api.schulungstool.de/v1/course-categories/{course_category_id}/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "2d49d6d5-e286-4f06-9b83-b2fdc69475b1",
"title": "Allgemein",
"created_at": "2024-01-23T13:40:23.265058Z",
"updated_at": "2024-02-01T12:30:10.719095Z"
}
Dieser API-Endpunkt bearbeitet eine Kurskategorie.
HTTP-Anfrage
PATCH/v1/course-categories/{course_category_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
course_category_id | string <uuid> Die ID der zu bearbeitenden Kurskategorie. |
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
title | string Titel der Kurskategorie |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Eine Kurskategorie löschen
Beispielcode:
curl -X DELETE "https://api.schulungstool.de/v1/course-categories/{course_category_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Dieser API-Endpunkt löscht eine Kurskategorie.
HTTP-Anfrage
DELETE/v1/course-categories/{course_category_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
course_category_id | string <uuid> Die ID der zu löschenden Kurskategorie. |
HTTP-Antwort
Statuscode 204
:
Die Kurskategorie wurde erfolgreich gelöscht.
Kursteilnahmen
Endpunkte
Das Kursteilnahme-Objekt
{
"id": "string <uuid>",
"user": "string <uuid>",
"course": "string <uuid>",
"due_date": "string <date>",
"completed_at": "string <date-time>",
"status": "string",
"created_at": "string <date-time>",
"updated_at": "string <date-time>",
"learn_url": "string <url>",
"dashboard_url": "string <url>",
}
Attribut | Beschreibung |
---|---|
id | string <uuid> ID der Kursteilnahme |
user | string <uuid> ID des Benutzers der Kursteilnahme. Dieses Feld ist erweiterbar. |
course | string <uuid> ID des Kurses der Kursteilnahme. Dieses Feld ist erweiterbar. |
due_date | string <date> Fälligkeitsdatum der Kursteilnahme (Datumsformat nach ISO 8601: YYYY-MM-DD, z. B. "2024-12-31" ) |
completed_at | string <date-time> oder null Erledigungsdatum der Kursteilnahme |
status | string Status der Kursteilnahme done : Kursteilnahme ist erledigtpending : Kursteilnahme ist offen |
created_at | string <date-time> Zeitpunkt der Erstellung der Kursteilnahme |
updated_at | string <date-time> Zeitpunkt der letzten Aktualisierung der Kursteilnahme |
learn_url | string <url> URL zur Kursteilnahme im Benutzerbereich, unter der die Kursteilnahme erledigt wird |
dashboard_url | string <url> URL zur Detailansicht der Kursteilnahme im Administrationsbereich Ihres Schulungstool-Kontos |
Alle Kursteilnahmen auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/participations/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
[
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": "2a84ea78-de46-433d-810a-f4d958d9d898",
"user": "20d29b92-2757-454e-b373-c2fc0ab32cbf",
"course": "4aef42ee-f4b3-42e7-bf76-b321f105f64e",
"due_date": "2024-02-12",
"completed_at": "2022-11-11T15:05:45.373065Z",
"status": "done",
"created_at": "2022-11-11T09:27:44.027099Z",
"updated_at": "2022-11-11T15:05:45.779528Z",
"learn_url": "https://demo.schulungstool.de/learn/2a84ea78-de46-433d-810a-f4d958d9d898/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/2a84ea78-de46-433d-810a-f4d958d9d898/"
},
{
"id": "8df2fa1e-5c5a-4d67-bcb1-39b1acf6b528",
"user": "20d29b92-2757-454e-b373-c2fc0ab32cbf",
"course": "52065538-6f82-4cee-a3c1-3de904018aed",
"due_date": "2022-12-11",
"completed_at": "2022-11-11T15:06:31.291074Z",
"status": "done",
"created_at": "2022-11-09T15:00:33.487721Z",
"updated_at": "2022-11-11T15:06:31.491317Z",
"learn_url": "https://demo.schulungstool.de/learn/8df2fa1e-5c5a-4d67-bcb1-39b1acf6b528/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/8df2fa1e-5c5a-4d67-bcb1-39b1acf6b528/"
},
{
"id": "0e7c942d-76b7-4bbf-a22e-3de5d872e1a6",
"user": "be8b9e5e-c7eb-478b-8e8f-17d308e49a39",
"course": "6f061188-25a5-4899-a5df-bf975533149e",
"due_date": "2024-04-12",
"completed_at": null,
"status": "pending",
"created_at": "2022-10-28T09:09:32.522467Z",
"updated_at": "2022-10-28T09:09:32.522472Z",
"learn_url": "https://demo.schulungstool.de/learn/0e7c942d-76b7-4bbf-a22e-3de5d872e1a6/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/0e7c942d-76b7-4bbf-a22e-3de5d872e1a6/"
}
]
]
Dieser API-Endpunkt gibt eine Liste aller Kursteilnahmen zurück.
HTTP-Anfrage
GET/v1/participations/
HTTP-Anfrage: Query-Parameter
Parameter | Beschreibung |
---|---|
id | string <uuid> Ein Filter für das Feld id eines Kursteilnahmeobjekts. |
user | string <uuid> Ein Filter für das Feld user eines Kursteilnahmeobjekts. |
course | string <uuid> Ein Filter für das Feld course eines Kursteilnahmeobjekts. |
due_date | string <date> Ein Filter für das Feld due_date eines Kursteilnahmeobjekts. |
completed_at | string <date> Ein Filter für das Feld completed_at eines Kursteilnahmeobjekts. |
status | string Ein Filter für das Feld status eines Kursteilnahmeobjekts. |
search | string Ein Suchbegriff, nach welchem in den Feldern id , user (username , first_name , last_name und email des zugehörigen Benutzerobjekts) und course (name des zugehörigen Kursobjekts) eines Kursteilnahmeobjekts gesucht wird. |
ordering | string Ein Feld oder mehrere durch Komma getrennte Felder, nach welchen die Liste der Kursteilnahmeobjekte sortiert wird. Zur Auswahl stehen die Felder user (Sortierung nach Nachname), course (Sortierung nach Kursname), due_date , completed_at , created_at und updated_at eines Kursteilnahmeobjekts. |
page | integer Eine Seitenzahl innerhalb der paginierten Ergebnisse. |
expand | string Ein Feld oder mehrere durch Komma getrennte Felder, welche zu einem Objekt erweitert werden. Zur Auswahl stehen die Felder user und course eines Kursteilnahmeobjekts. |
lang | string Eine Sprache, in welche das Kursobjekt eines Kursteilnahmeobjekts übersetzt wird. Wenn die Sprache in einem Kurs nicht verfügbar ist, wird das Kursobjekt in die Standardsprache des Kurses übersetzt. Standardwert: "de" |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Kursteilnahmen |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Kursteilnahme-Objekt> Liste von Kursteilnahme-Objekten |
Eine Kursteilnahme erstellen
Beispielcode:
curl -X POST "https://api.schulungstool.de/v1/participations/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "2a84ea78-de46-433d-810a-f4d958d9d898",
"user": "20d29b92-2757-454e-b373-c2fc0ab32cbf",
"course": "4aef42ee-f4b3-42e7-bf76-b321f105f64e",
"due_date": "2024-01-01",
"completed_at": null,
"status": "pending",
"created_at": "2022-11-11T09:27:44.027099Z",
"updated_at": "2022-11-11T09:27:44.027120Z",
"learn_url": "https://demo.schulungstool.de/learn/2a84ea78-de46-433d-810a-f4d958d9d898/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/2a84ea78-de46-433d-810a-f4d958d9d898/"
}
Dieser API-Endpunkt erstellt eine Kursteilnahme und benachrichtigt den Benutzer per E-Mail.
Der Benutzer wird automatisch per E-Mail über die zu erledigende Kursteilnahme informiert.
HTTP-Anfrage
POST/v1/participations/
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
user | string <uuid>erforderlich ID des Benutzers der Kursteilnahme. |
course | string <uuid>erforderlich ID des Kurses der Kursteilnahme. |
due_date | string <date>erforderlich Fälligkeitsdatum der Kursteilnahme (Datumsformat nach ISO 8601: YYYY-MM-DD, z. B. "2024-12-31" ) |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 201
:
Eine Kursteilnahme abrufen
Beispielcode:
curl "https://api.schulungstool.de/v1/participations/{participation_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"id": "2a84ea78-de46-433d-810a-f4d958d9d898",
"user": "20d29b92-2757-454e-b373-c2fc0ab32cbf",
"course": "4aef42ee-f4b3-42e7-bf76-b321f105f64e",
"due_date": "2024-02-12",
"completed_at": "2022-11-11T15:05:45.373065Z",
"status": "done",
"created_at": "2022-11-11T09:27:44.027099Z",
"updated_at": "2022-11-11T15:05:45.779528Z",
"learn_url": "https://demo.schulungstool.de/learn/2a84ea78-de46-433d-810a-f4d958d9d898/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/2a84ea78-de46-433d-810a-f4d958d9d898/"
}
Dieser API-Endpunkt gibt eine Kursteilnahme zurück.
HTTP-Anfrage
GET/v1/participations/{participation_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
participation_id | string <uuid> Die ID der abzurufenden Kursteilnahme. |
HTTP-Anfrage: Query-Parameter
Parameter | Beschreibung |
---|---|
expand | string Ein Feld oder mehrere durch Komma getrennte Felder, welche zu einem Objekt erweitert werden. Zur Auswahl stehen die Felder user und course des Kursteilnahmeobjekts. |
lang | string Eine Sprache, in welche das Kursobjekt des Kursteilnahmeobjekts übersetzt wird. Wenn die Sprache im Kurs nicht verfügbar ist, wird das Kursobjekt in die Standardsprache des Kurses übersetzt. Standardwert: "de" |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Eine Kursteilnahme bearbeiten
Beispielcode:
curl -X PATCH "https://api.schulungstool.de/v1/participations/{participation_id}/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "96d5c8b6-5d16-48e4-9268-0383799eddee",
"user": "20d29b92-2757-454e-b373-c2fc0ab32cbf",
"course": "4aef42ee-f4b3-42e7-bf76-b321f105f64e",
"due_date": "2024-12-31",
"completed_at": null,
"status": "pending",
"created_at": "2024-01-11T09:27:44.027099Z",
"updated_at": "2024-02-01T15:05:45.779528Z",
"learn_url": "https://demo.schulungstool.de/learn/96d5c8b6-5d16-48e4-9268-0383799eddee/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/96d5c8b6-5d16-48e4-9268-0383799eddee/"
}
Dieser API-Endpunkt bearbeitet eine Kursteilnahme.
HTTP-Anfrage
PATCH/v1/participations/{participation_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
participation_id | string <uuid> Die ID der zu bearbeitenden Kursteilnahme. |
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
due_date | string <date> Fälligkeitsdatum der Kursteilnahme (Datumsformat nach ISO 8601: YYYY-MM-DD, z. B. "2024-12-31" ) |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Eine Kursteilnahme löschen
Beispielcode:
curl -X DELETE "https://api.schulungstool.de/v1/participations/{participation_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Dieser API-Endpunkt löscht eine Kursteilnahme.
HTTP-Anfrage
DELETE/v1/participations/{participation_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
participation_id | string <uuid> Die ID der zu löschenden Kursteilnahme. |
HTTP-Antwort
Statuscode 204
:
Die Kursteilnahme wurde erfolgreich gelöscht.
Das Teilnahmezertifikat einer Kursteilnahme abrufen
Beispielcode:
curl "https://api.schulungstool.de/v1/participations/{participation_id}/certificate/" \
-H "Authorization: Token <API-Schlüssel>" \
-O -J
Dieser API-Endpunkt gibt das Teilnahmezertifikat einer Kursteilnahme zurück.
HTTP-Anfrage
GET/v1/participations/{participation_id}/certificate/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
participation_id | string <uuid> Die ID der Kursteilnahme, deren Teilnahmezertifikat abgerufen wird. |
HTTP-Antwort (Content-Type: application/pdf
)
Statuscode 200
:
Das Teilnahmezertifikat der Kursteilnahme.
Benutzer
Endpunkte
Das Benutzer-Objekt
{
"id": "string <uuid>",
"username": "string",
"first_name": "string",
"last_name": "string",
"email": "string <email>",
"notification_email": "string <email>",
"staff_number": "string",
"description": "string",
"birth_date": "string <date>",
"birth_place": "string",
"organization": "string",
"department": "string",
"job_title": "string",
"street_address": "string",
"postal_code": "string",
"city": "string",
"country": "string",
"phone": "string",
"language": "string",
"last_active": "string <date-time>",
"role": "string",
"is_active": boolean,
"created_at": "string <date-time>",
"updated_at": "string <date-time>",
"dashboard_url": "string <url>",
}
Attribut | Beschreibung |
---|---|
id | string <uuid> ID des Benutzers |
username | string Benutzername des Benutzers |
first_name | string Vorname des Benutzers |
last_name | string Nachname des Benutzers |
string <email> oder null E-Mail-Adresse des Benutzers für Login und Benachrichtigungen |
|
notification_email | string <email> Zusätzliche E-Mail-Adresse des Benutzers für Benachrichtigungen |
staff_number | string Personalnummer des Benutzers |
description | string Beschreibung des Benutzers |
birth_date | string <date> oder null Geburtsdatum des Benutzers (Datumsformat nach ISO 8601: YYYY-MM-DD, z. B. "1990-01-19" ) |
birth_place | string Geburtsort des Benutzers |
organization | string Organisation des Benutzers |
department | string Abteilung des Benutzers |
job_title | string Position des Benutzers |
street_address | string Straße und Nr. des Benutzers |
postal_code | string Postleitzahl des Benutzers |
city | string Ort des Benutzers |
country | string Land des Benutzers |
phone | string Telefonnummer des Benutzers |
language | string Sprache des Benutzers (Sprachcode nach ISO 639-1, z. B. "de" ) |
last_active | string <date-time> oder null Letzte Aktivität des Benutzers |
role | string Rolle des Benutzers user : Benutzermanager : Managerbilling_manager : Abrechnungsmanageradmin : Administrator |
is_active | booleantrue : Benutzer ist aktiviertfalse : Benutzer ist deaktiviert |
created_at | string <date-time> Zeitpunkt der Erstellung des Benutzers |
updated_at | string <date-time> Zeitpunkt der letzten Aktualisierung des Benutzers |
dashboard_url | string <url> URL zur Detailansicht des Benutzers im Administrationsbereich Ihres Schulungstool-Kontos |
Alle Benutzer auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/users/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
[
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": "1f53398d-843f-4bc5-8e0f-9841ab294274",
"username": "Max.Mustermann",
"first_name": "Max",
"last_name": "Mustermann",
"email": "max.mustermann@example.com",
"notification_email": "",
"staff_number": "1",
"description": "Beschreibung des Benutzers",
"birth_date": "1990-02-04",
"birth_place": "Berlin",
"organization": "Musterfirma GmbH",
"department": "Logistik",
"job_title": "",
"street_address": "",
"postal_code": "",
"city": "Berlin",
"country": "DE",
"phone": "",
"language": "de",
"last_active": "2024-03-02T12:53:54.191077Z",
"role": "user",
"is_active": true,
"created_at": "2023-09-27T14:14:33.775514Z",
"updated_at": "2024-04-17T08:05:47.998128Z",
"dashboard_url": "https://demo.schulungstool.de/admin/users/1f53398d-843f-4bc5-8e0f-9841ab294274/"
},
{
"id": "b23af455-a10b-4cf3-a981-ab592f45cffc",
"username": "Erika.Musterfrau",
"first_name": "Erika",
"last_name": "Musterfrau",
"email": "erika.musterfrau@example.com",
"notification_email": "",
"staff_number": "2",
"description": "Benutzer wurde vorübergehend deaktiviert (Elternzeit).",
"birth_date": "1984-12-12",
"birth_place": "",
"organization": "Musterfirma GmbH",
"department": "",
"job_title": "",
"street_address": "",
"postal_code": "",
"city": "",
"country": "",
"phone": "",
"language": "de",
"last_active": "2023-11-28T11:18:06.980792Z",
"role": "user",
"is_active": false,
"created_at": "2022-10-27T14:22:58.747621Z",
"updated_at": "2024-04-13T10:04:28.880606Z",
"dashboard_url": "https://demo.schulungstool.de/admin/users/b23af455-a10b-4cf3-a981-ab592f45cffc/"
}
]
]
Dieser API-Endpunkt gibt eine Liste aller Benutzer zurück.
HTTP-Anfrage
GET/v1/users/
HTTP-Anfrage: Query-Parameter
Parameter | Beschreibung |
---|---|
id | string <uuid> Ein Filter für das Feld id eines Benutzerobjekts. |
username | string Ein Filter für das Feld username eines Benutzerobjekts. |
first_name | string Ein Filter für das Feld first_name eines Benutzerobjekts. |
last_name | string Ein Filter für das Feld last_name eines Benutzerobjekts. |
string <email> Ein Filter für das Feld email eines Benutzerobjekts. |
|
language | string Ein Filter für das Feld language eines Benutzerobjekts. |
role | string Ein Filter für das Feld role eines Benutzerobjekts. |
is_active | boolean Ein Filter für das Feld is_active eines Benutzerobjekts. |
search | string Ein Suchbegriff, nach welchem in den Feldern id , username , first_name , last_name , email und description eines Benutzerobjekts gesucht wird. |
ordering | string Ein Feld oder mehrere durch Komma getrennte Felder, nach welchen die Liste der Benutzerobjekte sortiert wird. Zur Auswahl stehen die Felder username , first_name , last_name , email , last_active , created_at und updated_at eines Benutzerobjekts. |
page | integer Eine Seitenzahl innerhalb der paginierten Ergebnisse. |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Benutzer |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Benutzer-Objekt> Liste von Benutzer-Objekten |
Einen Benutzer erstellen
Beispielcode:
curl -X POST "https://api.schulungstool.de/v1/users/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "1f53398d-843f-4bc5-8e0f-9841ab294274",
"username": "Max.Mustermann",
"first_name": "Max",
"last_name": "Mustermann",
"email": "max.mustermann@example.com",
"notification_email": "",
"staff_number": "1",
"description": "Beschreibung des Benutzers",
"birth_date": "1990-02-04",
"birth_place": "Berlin",
"organization": "Musterfirma GmbH",
"department": "Logistik",
"job_title": "",
"street_address": "",
"postal_code": "",
"city": "Berlin",
"country": "DE",
"phone": "",
"language": "de",
"last_active": null,
"role": "user",
"is_active": true,
"created_at": "2022-09-27T14:14:33.775514Z",
"updated_at": "2022-09-27T14:14:33.775530Z",
"dashboard_url": "https://demo.schulungstool.de/admin/users/1f53398d-843f-4bc5-8e0f-9841ab294274/"
}
Dieser API-Endpunkt erstellt einen Benutzer.
HTTP-Anfrage
POST/v1/users/
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
username | stringerforderlich Benutzername des Benutzers |
first_name | stringerforderlich Vorname des Benutzers |
last_name | stringerforderlich Nachname des Benutzers |
password | stringerforderlich Passwort des Benutzers |
string <email> E-Mail-Adresse des Benutzers Standardwert: null |
|
language | string Sprache des Benutzers (Sprachcode nach ISO 639-1, z. B. "de" ) Standardwert: "de" |
is_active | booleantrue : Benutzer ist aktiviertfalse : Benutzer ist deaktiviertStandardwert: true |
notification_email | string <email> Zusätzliche E-Mail-Adresse des Benutzers für Benachrichtigungen Standardwert: "" |
staff_number | string Personalnummer des Benutzers Standardwert: "" |
description | string Beschreibung des Benutzers Standardwert: "" |
birth_date | string <date> Geburtsdatum des Benutzers (Datumsformat nach ISO 8601: YYYY-MM-DD, z. B. "1990-01-19" )Standardwert: null |
birth_place | string Geburtsort des Benutzers Standardwert: "" |
organization | string Organisation des Benutzers Standardwert: "" |
department | string Abteilung des Benutzers Standardwert: "" |
job_title | string Position des Benutzers Standardwert: "" |
street_address | string Straße und Nr. des Benutzers Standardwert: "" |
postal_code | string Postleitzahl des Benutzers Standardwert: "" |
city | string Ort des Benutzers Standardwert: "" |
country | string Land des Benutzers Standardwert: "" |
phone | string Telefonnummer des Benutzers Standardwert: "" |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 201
:
Ein Benutzer-Objekt
Einen Benutzer einladen
Beispielcode:
curl -X POST "https://api.schulungstool.de/v1/users/invite/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "1f53398d-843f-4bc5-8e0f-9841ab294274",
"username": "max.mustermann",
"first_name": "Max",
"last_name": "Mustermann",
"email": "max.mustermann@example.com",
"notification_email": "",
"staff_number": "",
"description": "",
"birth_date": "",
"birth_place": "",
"organization": "",
"department": "",
"job_title": "",
"street_address": "",
"postal_code": "",
"city": "",
"country": "",
"phone": "",
"language": "de",
"last_active": null,
"role": "user",
"is_active": true,
"created_at": "2022-09-27T14:14:33.775514Z",
"updated_at": "2022-09-27T14:14:33.775530Z",
"dashboard_url": "https://demo.schulungstool.de/admin/users/1f53398d-843f-4bc5-8e0f-9841ab294274/"
}
Dieser API-Endpunkt lädt einen Benutzer per E-Mail ein.
HTTP-Anfrage
POST/v1/users/invite/
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
string <email>erforderlich E-Mail-Adresse des Benutzers, der eingeladen wird |
|
inviter | string <uuid>erforderlich Die ID des Benutzers, der den Benutzer einlädt |
language | string Sprache der E-Mail-Einladung (Sprachcode nach ISO 639-1, z. B. "de" )Standardwert: "de" |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 201
:
Ein Benutzer-Objekt
Einen Benutzer abrufen
Beispielcode:
curl "https://api.schulungstool.de/v1/users/{user_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"id": "1f53398d-843f-4bc5-8e0f-9841ab294274",
"username": "Max.Mustermann",
"first_name": "Max",
"last_name": "Mustermann",
"email": "max.mustermann@example.com",
"notification_email": "",
"staff_number": "1",
"description": "Beschreibung des Benutzers",
"birth_date": "1990-02-04",
"birth_place": "Berlin",
"organization": "Musterfirma GmbH",
"department": "Logistik",
"job_title": "",
"street_address": "",
"postal_code": "",
"city": "Berlin",
"country": "DE",
"phone": "",
"language": "de",
"last_active": null,
"role": "user",
"is_active": true,
"created_at": "2022-09-27T14:14:33.775514Z",
"updated_at": "2022-09-27T14:14:33.775530Z",
"dashboard_url": "https://demo.schulungstool.de/admin/users/1f53398d-843f-4bc5-8e0f-9841ab294274/"
}
Dieser API-Endpunkt gibt einen Benutzer zurück.
HTTP-Anfrage
GET/v1/users/{user_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
user_id | string <uuid> Die ID des abzurufenden Benutzers. |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Ein Benutzer-Objekt
Einen Benutzer bearbeiten
Beispielcode:
curl -X PATCH "https://api.schulungstool.de/v1/users/{user_id}/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "1f53398d-843f-4bc5-8e0f-9841ab294274",
"username": "Max.Mustermann",
"first_name": "Max",
"last_name": "Mustermann",
"email": "max.mustermann@example.com",
"notification_email": "mmustermann.privat@gmail.com",
"staff_number": "1",
"description": "Beschreibung des Benutzers",
"birth_date": "1990-02-04",
"birth_place": "Berlin",
"organization": "Musterfirma GmbH",
"department": "Logistik",
"job_title": "Fachkraft für Lagerlogistik",
"street_address": "",
"postal_code": "",
"city": "Berlin",
"country": "DE",
"phone": "",
"language": "de",
"last_active": null,
"role": "user",
"is_active": true,
"created_at": "2022-09-27T14:14:33.775514Z",
"updated_at": "2022-09-27T14:14:33.775530Z",
"dashboard_url": "https://demo.schulungstool.de/admin/users/1f53398d-843f-4bc5-8e0f-9841ab294274/"
}
Dieser API-Endpunkt bearbeitet einen Benutzer.
HTTP-Anfrage
PATCH/v1/users/{user_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
user_id | string <uuid> Die ID des zu bearbeitenden Benutzers. |
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
username | string Benutzername des Benutzers |
first_name | string Vorname des Benutzers |
last_name | string Nachname des Benutzers |
password | string Passwort des Benutzers |
string <email> oder null E-Mail-Adresse des Benutzers |
|
language | string Sprache des Benutzers (Sprachcode nach ISO 639-1, z. B. "de" ) |
is_active | booleantrue : Benutzer ist aktiviertfalse : Benutzer ist deaktiviert |
notification_email | string <email> Zusätzliche E-Mail-Adresse des Benutzers für Benachrichtigungen |
staff_number | string Personalnummer des Benutzers |
description | string Beschreibung des Benutzers |
birth_date | string <date> oder null Geburtsdatum des Benutzers (Datumsformat nach ISO 8601: YYYY-MM-DD, z. B. "1990-01-19" ) |
birth_place | string Geburtsort des Benutzers |
organization | string Organisation des Benutzers |
department | string Abteilung des Benutzers |
job_title | string Position des Benutzers |
street_address | string Straße und Nr. des Benutzers |
postal_code | string Postleitzahl des Benutzers |
city | string Ort des Benutzers |
country | string Land des Benutzers |
phone | string Telefonnummer des Benutzers |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Ein Benutzer-Objekt
Einen Benutzer löschen
Beispielcode:
curl -X DELETE "https://api.schulungstool.de/v1/users/{user_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Dieser API-Endpunkt löscht einen Benutzer.
HTTP-Anfrage
DELETE/v1/users/{user_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
user_id | string <uuid> Die ID des zu löschenden Benutzers. |
HTTP-Antwort
Statuscode 204
:
Der Benutzer wurde erfolgreich gelöscht.
Alle Gruppen eines Benutzers auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/users/{user_id}/groups/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": "40c40d56-5e5e-438e-9642-184cc44e527a",
"name": "Alle Mitarbeiter",
"description": "Diese Gruppe umfasst alle Mitarbeiter.",
"created_at": "2022-12-06T11:55:22.687256Z",
"updated_at": "2022-12-06T11:55:22.687271Z",
"dashboard_url": "https://demo.schulungstool.de/admin/groups/40c40d56-5e5e-438e-9642-184cc44e527a/"
},
{
"id": "5679eb14-0268-40dc-890d-18ef5be6f835",
"name": "Produktion",
"description": "Diese Gruppe umfasst alle Mitarbeiter der Produktion.",
"created_at": "2022-12-06T12:17:29.065341Z",
"updated_at": "2024-04-17T08:07:52.425848Z",
"dashboard_url": "https://demo.schulungstool.de/admin/groups/5679eb14-0268-40dc-890d-18ef5be6f835/"
}
]
}
Dieser API-Endpunkt gibt eine Liste aller Gruppen eines Benutzers zurück.
HTTP-Anfrage
GET/v1/users/{user_id}/groups/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
user_id | string <uuid> Die ID des Benutzers, dessen Gruppen aufgelistet werden. |
HTTP-Anfrage: Query-Parameter
siehe Query Parameter bei Alle Gruppen auflisten
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Gruppen |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Gruppe-Objekt> Liste von Gruppe-Objekten |
Alle Kursteilnahmen eines Benutzers auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/users/{user_id}/participations/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": "a3afcc8e-9c3d-43c2-80e2-70912ef9c05e",
"user": "1f53398d-843f-4bc5-8e0f-9841ab294274",
"course": "ce9fb46d-0ade-4678-85f7-c6dbcdde3d86",
"due_date": "2024-06-30",
"completed_at": null,
"status": "pending",
"created_at": "2024-04-04T14:21:14.935642Z",
"updated_at": "2024-04-04T14:21:14.935653Z",
"learn_url": "https://demo.schulungstool.de/learn/a3afcc8e-9c3d-43c2-80e2-70912ef9c05e/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/a3afcc8e-9c3d-43c2-80e2-70912ef9c05e/"
},
{
"id": "65ef95d4-5352-496a-88b1-e1d194b8dc0a",
"user": "1f53398d-843f-4bc5-8e0f-9841ab294274",
"course": "6f061188-25a5-4899-a5df-bf975533149e",
"due_date": "2023-10-30",
"completed_at": "2022-10-27T14:27:17.120433Z",
"status": "done",
"created_at": "2023-09-01T14:15:58.099412Z",
"updated_at": "2023-10-27T14:27:17.145123Z",
"learn_url": "https://demo.schulungstool.de/learn/65ef95d4-5352-496a-88b1-e1d194b8dc0a/",
"dashboard_url": "https://demo.schulungstool.de/admin/participations/65ef95d4-5352-496a-88b1-e1d194b8dc0a/"
}
]
}
Dieser API-Endpunkt gibt eine Liste aller Kursteilnahmen eines Benutzers zurück.
HTTP-Anfrage
GET/v1/users/{user_id}/participations/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
user_id | string <uuid> Die ID des Benutzers, dessen Kursteilnahmen aufgelistet werden. |
HTTP-Anfrage: Query-Parameter
siehe Query Parameter bei Alle Kursteilnahmen auflisten
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Kursteilnahmen |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Kursteilnahme-Objekt> Liste von Kursteilnahme-Objekten |
Einen Login-Link erstellen
Beispielcode:
curl -X POST "https://api.schulungstool.de/v1/users/3c1dd117-0d56-4e88-adc0-cd22977a3fb0/login-link/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"url": "https://demo.schulungstool.de/accounts/login/3c1dd117-0d56-4e88-adc0-cd22977a3fb0:1rVd0d:ZOJ9Wc49-CaJdehS-t9ZswFGqh696QDEbDtAn-oEDd8/"
}
Dieser API-Endpunkt erstellt einen Login-Link für einen Benutzer. Login-Links werden auch Magic Link
genannt.
Mit Login-Links können Benutzer passwortlos in Schulungstool eingeloggt werden.
Wird ein Benutzer zum Login-Link weitergeleitet, wird der Benutzer über den Login-Link automatisch angemeldet.
An den Login-Link kann der Parameter ?next=<redirect-url>
angehängt werden. Nach dem Login wird der Benutzer automatisch an die <redirect-url>
(z. B. an die learn_url
einer Kursteilnahme) weitergeleitet.
Einschränkungen:
- Login-Links können nur für Benutzer der Rolle
user
erstellt werden. - Login-Links sind nur 10 Sekunden gültig. Es empfiehlt sich, den Login-Link erst unmittelbar vor der Verwendung zu erstellen.
HTTP-Anfrage
POST/v1/users/{user_id}/login-link/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
user_id | string <uuid>erforderlich Die ID des Benutzers, für den der Login-Link generiert wird. |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 201
:
Schlüssel | Wert |
---|---|
url | string <url> Der generierte Login-Link. |
Gruppen
Endpunkte
Das Gruppe-Objekt
{
"id": "string <uuid>",
"name": "string",
"description": "string",
"created_at": "string <date-time>",
"updated_at": "string <date-time>",
"dashboard_url": "string <url>"
}
Attribut | Beschreibung |
---|---|
id | string <uuid> ID der Gruppe |
name | string Name der Gruppe |
description | string Beschreibung der Gruppe |
created_at | string <date-time> Zeitpunkt der Erstellung der Gruppe |
updated_at | string <date-time> Zeitpunkt der letzten Aktualisierung der Gruppe |
dashboard_url | string <url> URL zur Detailansicht der Gruppe im Administrationsbereich Ihres Schulungstool-Kontos |
Alle Gruppen auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/groups/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
[
"count": 3,
"next": null,
"previous": null,
"results": [
{
"id": "40c40d56-5e5e-438e-9642-184cc44e527a",
"name": "Alle Mitarbeiter",
"description": "Diese Gruppe umfasst alle Mitarbeiter.",
"created_at": "2022-12-06T11:55:22.687256Z",
"updated_at": "2022-12-06T11:55:22.687271Z",
"dashboard_url": "https://demo.schulungstool.de/admin/groups/40c40d56-5e5e-438e-9642-184cc44e527a/"
},
{
"id": "5679eb14-0268-40dc-890d-18ef5be6f835",
"name": "Produktion",
"description": "Diese Gruppe umfasst alle Mitarbeiter der Produktion.",
"created_at": "2022-12-06T12:17:29.065341Z",
"updated_at": "2024-04-17T08:07:52.425848Z",
"dashboard_url": "https://demo.schulungstool.de/admin/groups/5679eb14-0268-40dc-890d-18ef5be6f835/"
},
{
"id": "b635a56e-25e1-4f68-995a-6aa07d8f7c19",
"name": "Verwaltung",
"description": "",
"created_at": "2022-12-06T09:45:56.273875Z",
"updated_at": "2024-01-11T14:11:37.158519Z",
"dashboard_url": "https://demo.schulungstool.de/admin/groups/b635a56e-25e1-4f68-995a-6aa07d8f7c19/"
}
]
]
Dieser API-Endpunkt gibt eine Liste aller Gruppen zurück.
HTTP-Anfrage
GET/v1/groups/
HTTP-Anfrage: Query-Parameter
Parameter | Beschreibung |
---|---|
id | string <uuid> Ein Filter für das Feld id eines Gruppeobjekts. |
name | string Ein Filter für das Feld name eines Gruppeobjekts. |
search | string Ein Suchbegriff, nach welchem in den Feldern id , name und description eines Gruppeobjekts gesucht wird. |
ordering | string Ein Feld oder mehrere durch Komma getrennte Felder, nach welchen die Liste der Gruppeobjekte sortiert wird. Zur Auswahl stehen die Felder name , created_at und updated_at eines Gruppeobjekts. |
page | integer Eine Seitenzahl innerhalb der paginierten Ergebnisse. |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Gruppen |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Gruppe-Objekt> Liste von Gruppe-Objekten |
Eine Gruppe erstellen
Beispielcode:
curl -X POST "https://api.schulungstool.de/v1/groups/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "40c40d56-5e5e-438e-9642-184cc44e527a",
"name": "Alle Mitarbeiter",
"description": "Diese Gruppe umfasst alle Mitarbeiter.",
"created_at": "2022-12-06T11:55:22.687256Z",
"updated_at": "2022-12-06T11:55:22.687271Z",
"dashboard_url": "https://demo.schulungstool.de/admin/groups/40c40d56-5e5e-438e-9642-184cc44e527a/"
}
Dieser API-Endpunkt erstellt eine Gruppe.
HTTP-Anfrage
POST/v1/groups/
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
name | stringerforderlich Name der Gruppe |
description | string Beschreibung der Gruppe Standardwert: "" |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 201
:
Ein Gruppe-Objekt
Eine Gruppe abrufen
Beispielcode:
curl "https://api.schulungstool.de/v1/groups/{group_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"id": "40c40d56-5e5e-438e-9642-184cc44e527a",
"name": "Alle Mitarbeiter",
"description": "Diese Gruppe umfasst alle Mitarbeiter.",
"created_at": "2022-12-06T11:55:22.687256Z",
"updated_at": "2022-12-06T11:55:22.687271Z",
"dashboard_url": "https://demo.schulungstool.de/admin/groups/40c40d56-5e5e-438e-9642-184cc44e527a/"
}
Dieser API-Endpunkt gibt eine Gruppe zurück.
HTTP-Anfrage
GET/v1/groups/{group_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
group_id | string <uuid> Die ID der abzurufenden Gruppe |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Ein Gruppe-Objekt
Eine Gruppe bearbeiten
Beispielcode:
curl -X PATCH "https://api.schulungstool.de/v1/groups/{group_id}/" \
-H "Authorization: Token <API-Schlüssel>" \
-d "<Body-Parameter>"
Beispielantwort:
{
"id": "40c40d56-5e5e-438e-9642-184cc44e527a",
"name": "Alle Mitarbeiter",
"description": "Diese Gruppe umfasst alle Mitarbeiter.",
"created_at": "2022-12-06T11:55:22.687256Z",
"updated_at": "2022-12-07T10:29:11.446151Z",
"dashboard_url": "https://demo.schulungstool.de/admin/groups/40c40d56-5e5e-438e-9642-184cc44e527a/"
}
Dieser API-Endpunkt bearbeitet eine Gruppe.
HTTP-Anfrage
PATCH/v1/groups/{group_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
group_id | string <uuid> Die ID der zu bearbeitenden Gruppe. |
HTTP-Anfrage: Body-Parameter
Parameter | Beschreibung |
---|---|
name | string Name der Gruppe |
description | string Beschreibung der Gruppe |
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Ein Gruppe-Objekt
Eine Gruppe löschen
Beispielcode:
curl -X DELETE "https://api.schulungstool.de/v1/groups/{group_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Dieser API-Endpunkt löscht eine Gruppe.
HTTP-Anfrage
DELETE/v1/groups/{group_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
group_id | string <uuid> Die ID der zu löschenden Gruppe. |
HTTP-Antwort
Statuscode 204
:
Die Gruppe wurde erfolgreich gelöscht.
Alle Mitglieder einer Gruppe auflisten
Beispielcode:
curl "https://api.schulungstool.de/v1/groups/{group_id}/members/" \
-H "Authorization: Token <API-Schlüssel>"
Beispielantwort:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"id": "1f53398d-843f-4bc5-8e0f-9841ab294274",
"username": "Max.Mustermann",
"first_name": "Max",
"last_name": "Mustermann",
"email": "max.mustermann@example.com",
"notification_email": "",
"staff_number": "1",
"description": "",
"birth_date": "",
"birth_place": "",
"organization": "",
"department": "",
"job_title": "",
"street_address": "",
"postal_code": "",
"city": "",
"country": "",
"phone": "",
"language": "de",
"last_active": "2024-03-02T12:53:54.191077Z",
"role": "user",
"is_active": true,
"created_at": "2022-09-27T14:14:33.775514Z",
"updated_at": "2024-04-17T08:05:47.998128Z",
"dashboard_url": "https://demo.schulungstool.de/admin/users/1f53398d-843f-4bc5-8e0f-9841ab294274/"
},
{
"id": "b23af455-a10b-4cf3-a981-ab592f45cffc",
"username": "Erika.Musterfrau",
"first_name": "Erika",
"last_name": "Musterfrau",
"email": "erika.musterfrau@example.com",
"notification_email": "",
"staff_number": "2",
"description": "Benutzer wurde vorübergehend deaktiviert (Elternzeit).",
"birth_date": "",
"birth_place": "",
"organization": "",
"department": "",
"job_title": "",
"street_address": "",
"postal_code": "",
"city": "",
"country": "",
"phone": "",
"language": "de",
"last_active": "2022-11-28T11:18:06.980792Z",
"role": "user",
"is_active": false,
"created_at": "2022-10-27T14:22:58.747621Z",
"updated_at": "2024-04-13T10:04:28.880606Z",
"dashboard_url": "https://demo.schulungstool.de/admin/users/b23af455-a10b-4cf3-a981-ab592f45cffc/"
}
]
}
Dieser API-Endpunkt gibt eine Liste aller Mitglieder einer Gruppe zurück.
HTTP-Anfrage
GET/v1/groups/{group_id}/members/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
group_id | string <uuid> Die ID der Gruppe, deren Mitglieder aufgelistet werden. |
HTTP-Anfrage: Query-Parameter
siehe Query Parameter bei Alle Benutzer auflisten
HTTP-Antwort (Content-Type: application/json
)
Statuscode 200
:
Schlüssel | Wert |
---|---|
count | integer Anzahl der gefundenen Benutzer |
next | string <url> oder null Siehe Paginierung |
previous | string <url> oder null Siehe Paginierung |
results | array <Benutzer-Objekt> Liste von Benutzer-Objekten |
Mitgliedschaft in einer Gruppe überprüfen
Beispielcode:
curl "https://api.schulungstool.de/v1/groups/{group_id}/members/{user_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Dieser API-Endpunkt prüft, ob ein Benutzer Mitglied in einer Gruppe ist.
HTTP-Anfrage
GET/v1/groups/{group_id}/members/{user_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
group_id | string <uuid> Die ID der Gruppe. |
user_id | string <uuid> Die ID des Benutzers, dessen Gruppenmitgliedschaft überprüft wird. |
HTTP-Antwort
Statuscode 204
:
Der Benutzer ist Mitglied der Gruppe.
Statuscode 404
:
Der Benutzer ist kein Mitglied der Gruppe.
Ein Mitglied zu einer Gruppe hinzufügen
Beispielcode:
curl -X PUT "https://api.schulungstool.de/v1/groups/{group_id}/members/{user_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Dieser API-Endpunkt fügt ein Mitglied zu einer Gruppe hinzu.
HTTP-Anfrage
PUT/v1/groups/{group_id}/members/{user_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
group_id | string <uuid> Die ID der Gruppe. |
user_id | string <uuid> Die ID des Benutzers, der als Mitglied zur Gruppe hinzugefügt wird. |
HTTP-Antwort
Statuscode 204
:
Der Benutzer ist Mitglied der Gruppe.
Ein Mitglied aus einer Gruppe entfernen
Beispielcode:
curl -X DELETE "https://api.schulungstool.de/v1/groups/{group_id}/members/{user_id}/" \
-H "Authorization: Token <API-Schlüssel>"
Dieser API-Endpunkt entfernt ein Mitglied aus einer Gruppe.
HTTP-Anfrage
DELETE/v1/groups/{group_id}/members/{user_id}/
HTTP-Anfrage: Path-Parameter
Parameter | Beschreibung |
---|---|
group_id | string <uuid> Die ID der Gruppe. |
user_id | string <uuid> Die ID des Benutzers, der aus der Gruppe entfernt wird. |
HTTP-Antwort
Statuscode 204
:
Der Benutzer ist kein Mitglied der Gruppe.