Zum Inhalt springen

MILES API

Dies ist der API-Bereich der MILES-Dokumentation, geschrieben für Entwicklerinnen und Entwickler, die programmatisch mit MILES arbeiten möchten — oder Systeme bauen, die das tun. MILES stellt eine GraphQL API bereit, dieselbe, auf der auch unsere eigenen Anwendungen aufbauen. Hier finden Sie das Wichtigste für den Einstieg und erfahren, wie Sie auf dem Laufenden bleiben.

Sie suchen Hilfe zur MILES App selbst? Dann sind Sie im Leitfaden richtig.

https://api-prod.mileslearning.net/graphql

Die API spricht standardisiertes GraphQL über HTTP POST. Introspection ist aktiviert, das vollständige, aktuelle Schema ist also jederzeit verfügbar. Sie können einen gängigen GraphQL-Client wie Altair auf den Endpunkt richten und es interaktiv erkunden.

Um die meisten Operationen gegen den Endpunkt auszuführen, müssen Sie sich zunächst authentifizieren. Melden Sie sich mit der Mutation signinUser (E-Mail und Passwort) oder mit signinUserWithAPIKey an (API-Schlüssel werden in der MILES App verwaltet). Beide liefern ein Token, das Sie bei den folgenden Anfragen mitschicken:

Authorization: Bearer <token>

Datei-Uploads laufen außerhalb von GraphQL. Schicken Sie sie als multipart/form-data an den Nachbar-Endpunkt, authentifiziert mit demselben Bearer-Token:

POST https://api-prod.mileslearning.net/upload
  • file: die Datei selbst, als Multipart-Part (bis 50 MB)
  • uploadType: wofür die Datei gedacht ist. CONTENTIMAGE für Dateien in Lerninhalten, AVATAR für Profilbilder oder ein anderer Wert des Schema-Enums UploadType.
  • aiGenerated: optional. Übergeben Sie true, wenn die Datei KI-generierter Inhalt ist. Die Kennzeichnung lässt sich später über die Mutation updateFileReferences ändern.

Die Antwort ist die erzeugte FileReference als JSON. Referenzieren Sie ihre id überall dort, wo Mutationen eine Datei akzeptieren.

Eine der schönen Seiten von GraphQL: Da das Schema die maßgebliche Quelle ist und Introspection offensteht, steht alles auf diesen Seiten auch Ihrem Tooling zur Verfügung. Werkzeuge wie GraphQL Inspector (graphql-inspector validate), GraphQL Code Generator oder das GraphQL-Plugin Ihrer IDE können Ihre Queries gegen das Live-Schema prüfen und Deprecations automatisch melden — während der Entwicklung, in der CI oder in automatisierten Tests.

Für Änderungen, die das Schema nicht ausdrücken kann, gibt es das API-Changelog mit RSS-Feed.

Wir möchten Ihre Integration nicht zerbrechen: Bestehende Operationen und Felder werden nie an Ort und Stelle geändert. Wenn sich etwas weiterentwickelt, kommt eine neue Variante hinzu und die alte wird als veraltet markiert — entfernt wird nur, was zuvor als veraltet markiert war.

  • Die Markierung @deprecated im Schema ist die maßgebliche Ankündigung. Die Seite Veraltete Elemente und das API-Changelog zeigen dieselbe Information in lesbarerer Form.
  • Nicht alles ist eine Schema-Änderung: Neue Anforderungen wie Änderungen an der Authentifizierung oder Einschränkungen auf Netzwerkebene werden im API-Changelog angekündigt — dafür ist das Changelog die maßgebliche Quelle.
  • Zwischen Deprecation und Entfernung bleibt Zeit für die Umstellung — mehr, wenn die Änderung auf Ihrer Seite echte Arbeit bedeutet, weniger, wenn sie trivial ist. Wir empfehlen, zeitnah umzustellen; wenn Sie länger brauchen, sagen Sie uns Bescheid.
  • Neue Operationen, Felder, optionale Argumente und Enum-Werte kommen ohne vorherige Ankündigung hinzu — in GraphQL brechen Ergänzungen keine bestehenden Queries.

Möchten Sie mit MILES bauen?

Binden Sie Ihre eigenen Systeme an, automatisieren Sie Ihre Abläufe und holen Sie sich Lerndaten genau dorthin, wo Sie sie brauchen — die MILES API bietet Ihnen dieselben Funktionen, auf denen unsere eigenen Anwendungen aufbauen.

Wir besprechen gerne Ihren Anwendungsfall und begleiten Sie bei der Integration.

Kontakt aufnehmen