Memojin, mitten in Ihren Tools.
Eine vollständige REST-API, die Ihre Plattformen mit Memojin verbindet: Inhalte, Ordner, Memokarten und Fragen zum Lesen und Schreiben, KI-Generierung, Suche, Räume und Lernfortschritt. Gedacht für Lernplattformen, LMS-Anbieter, Verlage und die IT-Teams von Schulen und Hochschulen.
Der Zugang wird von unserem Team freigeschaltet, Organisation für Organisation
28 Operationen · 14 Scopes · OpenAPI 3.1
curl "https://api.memojin.com/v1/contents?limit=20" \
-H "Authorization: Bearer $MEMOJIN_API_KEY" \
-H "Accept-Language: fr"{
"data": [
{
"id": "3f1c2b0e-8d4a-4f7e-9a51-3c2d1e0f9b87",
"title": "Photosynthesis",
"description": null,
"language": "en",
"folderId": null,
"imageUrl": null,
"createdAt": "2026-09-28T17:04:51.000Z",
"updatedAt": "2026-10-02T08:30:12.000Z",
"inclusions": {
"hasBody": true,
"hasSummary": true,
"memocardsCount": 42,
"questionsCount": 18,
"podcastsReadyCount": 1,
"sourcesCount": 2
}
}
],
"nextCursor": "eyJvIjoyMH0",
"hasMore": true
}Vier Wege, Memojin anzubinden.
Ein Schlüssel handelt im Namen eines Memojin-Kontos, mit genau dessen Rechten: Sie integrieren, was dieses Konto sieht, nicht mehr.
Wiederholung dort anbieten, wo Ihre Studierenden schon arbeiten
Moodle, eine regionale Plattform oder Ihre eigene: Zeigen Sie die Inhalte eines Lehrkraftkontos mit ihren Memokarten und Fragen, ohne Ihre Plattform zu verlassen.
Memojin mit Ihrem Informationssystem verbinden
Finden Sie Inhalte, Ordner und Räume Ihrer Lehrkräfte in Ihren Dashboards und pädagogischen Tools wieder, ohne erneute Eingabe.
Ihre Ressourcen durch aktives Abrufen verlängern
Importieren Sie Ihre Ressourcen als Inhalte, fügen Sie eigene Memokarten und Fragen hinzu oder lassen Sie sie von der KI erzeugen.
Automatisieren, was noch von Hand geschieht
Skripte, Berichte, Synchronisationen: Ihre Tools lesen den OpenAPI-3.1-Vertrag und erzeugen daraus einen typisierten Client, und die Idempotenz macht jede Wiederholung sicher.
Neun Ressourcen, ein Scope pro Aktion.
Alles in dieser Tabelle antwortet heute, mit dem angegebenen Scope. Jede Operation ist in der Referenz Parameter für Parameter beschrieben.
Inhalte
contents:readcontents:writeDie Inhalte eines Ordners auflisten; einen Inhalt mit seinen sechs Kennzahlen lesen (Text, Zusammenfassung, Anzahl der Memokarten, Fragen, fertigen Podcast-Folgen und Quellen); einen Inhalt aus einem Titel oder einem Text anlegen, unverändert gespeichert; ändern, löschen.
- GET/v1/contents
- POST/v1/contents
- GET/v1/contents/{contentId}
- PATCH/v1/contents/{contentId}
- DELETE/v1/contents/{contentId}
Ordner
folders:readfolders:writeDen Ordnerbaum einer Bibliothek durchlaufen, einen Ordner anlegen (bis zu fünf Ebenen), ändern oder löschen.
- GET/v1/folders
- POST/v1/folders
- GET/v1/folders/{folderId}
- PATCH/v1/folders/{folderId}
- DELETE/v1/folders/{folderId}
Memokarten
memocards:readmemocards:writeDie Memokarten eines Inhalts auflisten, mit Behaltensrate und letzter Wiederholung des Kontos; eine Karte hinzufügen (Vorderseite, Rückseite, Erklärung), ändern, löschen.
- GET/v1/contents/{contentId}/memocards
- POST/v1/contents/{contentId}/memocards
- GET/v1/memocards/{memocardId}
- PATCH/v1/memocards/{memocardId}
- DELETE/v1/memocards/{memocardId}
Fragen
questions:readquestions:writeDie Fragen eines Inhalts auflisten; vier Typen anlegen (freie Antwort, wahr oder falsch, Einfachauswahl, Mehrfachauswahl); Fragestellung, Erklärung, Schwierigkeit oder Punkte ändern; löschen.
- GET/v1/contents/{contentId}/questions
- POST/v1/contents/{contentId}/questions
- GET/v1/questions/{questionId}
- PATCH/v1/questions/{questionId}
- DELETE/v1/questions/{questionId}
KI-Generierung
generations:writejobs:readMemokarten aus einem Inhalt oder Fragen aus seinen Memokarten erzeugen: sofortige Antwort (202), dann den Auftrag bis zum Ergebnis verfolgen. Die geplanten KI-Credits stehen schon in der Antwort.
- POST/v1/contents/{contentId}/memocard-generations
- POST/v1/contents/{contentId}/question-generations
- GET/v1/jobs/{jobId}
Suche
search:readIn den Inhalten und Ordnern des Kontos suchen, ohne Rücksicht auf Groß- und Kleinschreibung oder Akzente.
- GET/v1/search
Räume
spaces:readDie Räume (Klassen, Gruppen) lesen, deren Eigentümer das Konto ist, archivierte auf Wunsch eingeschlossen. Keine Mitglieder werden offengelegt.
- GET/v1/spaces
- GET/v1/spaces/{spaceId}
Lerneinheiten
study-sessions:readDie Wiederholungs- und Übungseinheiten des Kontos auflisten, die neuesten zuerst, mit ihren Zählern, gefiltert nach Status oder Raum.
- GET/v1/study-sessions
Lernstatistiken
learning-stats:readBeherrschte Memokarten, Lernzeit, Erfolgsquote über 30 Tage und abgeschlossene Einheiten des Kontos.
- GET/v1/learning-stats
In Vorbereitung
- DemnächstMCP-Server
Die Operationen der API für MCP-kompatible KI-Assistenten, mit denselben Schlüsseln und denselben Scopes.
- DemnächstEntwicklerbereich
Schlüssel anlegen, ihre Scopes wählen und den Verbrauch in Ihrem Konto verfolgen, in Selbstbedienung.
- DemnächstAusgehende Webhooks
Ein signierter Aufruf an Ihren Server, etwa am Ende einer Generierung, statt regelmäßig abzufragen.
- DemnächstZugang in den Tarifen
Die API direkt mit bestimmten Lehrkraft- und Einrichtungstarifen geöffnet, ohne vorherige Anfrage.
Von der Sandbox in die Produktion, in drei Schritten.
Jede Organisation beginnt in der Sandbox. Die Produktion öffnet sich, sobald Ihre Integration bereit ist.
Sie fragen den Zugang an
Beschreiben Sie uns Ihr Projekt. Wir legen Ihre Organisation an, verknüpft mit dem Memojin-Konto, für das sie handelt, und geben Ihnen einen Testschlüssel.
Sie entwickeln in der Sandbox
Ein mj_test_-Schlüssel liest und schreibt dieselben Daten, mit einem Kontingent von 100 Aufrufen pro Tag. Die KI-Generierung wird simuliert: Nichts wird versendet oder angerechnet.
Sie gehen live
Nach Freigabe durch unser Team erhalten Sie einen mj_live_-Schlüssel. Er wird nur einmal angezeigt: Bewahren Sie ihn in Ihrem Secrets-Tresor auf.
Ein Schlüssel, seine Scopes
Jede Operation verlangt einen Scope der Form ressource:read oder ressource:write, angegeben in der Tabelle oben. Ein Schlüssel trägt nur die angefragten Scopes, und write schließt read nicht ein; ohne den richtigen antwortet die API mit 403 insufficient_scope und nennt den erwarteten Scope.
Der Schlüssel bleibt in einer Umgebungsvariablen Ihres Servers: Die API beantwortet keine Aufrufe aus dem Browser.
Ihr erster Aufruf
curl "https://api.memojin.com/v1/contents?limit=20" \
-H "Authorization: Bearer $MEMOJIN_API_KEY" \
-H "Accept-Language: fr"const res = await fetch("https://api.memojin.com/v1/contents?limit=20", {
headers: { Authorization: `Bearer ${process.env.MEMOJIN_API_KEY}` },
});
if (!res.ok) {
const { error } = await res.json();
throw new Error(`${error.code}: ${error.message}`);
}
const { data, nextCursor, hasMore } = await res.json();import os, requests
res = requests.get(
"https://api.memojin.com/v1/contents",
params={"limit": 20},
headers={"Authorization": f"Bearer {os.environ['MEMOJIN_API_KEY']}"},
timeout=10,
)
if not res.ok:
error = res.json()["error"]
raise RuntimeError(f"{error['code']}: {error['message']}")
page = res.json() # { "data": [...], "nextCursor": ..., "hasMore": ... }HTTP, wie im Lehrbuch.
Keine Hauskonvention zu lernen: die Header, die Ihre HTTP-Bibliotheken schon kennen, von der API auf jeder betroffenen Antwort gesetzt.
ETagIf-None-Match304Bedingte Lesezugriffe
Jeder GET liefert ein ETag; in If-None-Match zurückgeschickt, ergibt es ein 304 ohne Inhalt, wenn sich nichts geändert hat.
If-Match412Konfliktfreie Schreibzugriffe
Senden Sie das gelesene ETag in If-Match: Hat sich die Ressource inzwischen geändert, antworten PATCH und DELETE mit 412 und ändern nichts.
Idempotency-KeyIdempotent-ReplayedIdempotenz
Jeder POST akzeptiert einen Idempotency-Key: Innerhalb von 24 Stunden wiederholt, liefert die Anfrage die erste Antwort, markiert mit Idempotent-Replayed, ohne doppeltes Anlegen oder doppelte Anrechnung.
RateLimit-LimitRateLimit-RemainingRateLimit-ResetRetry-AfterAngekündigte Limits
Jede Antwort zeigt, wo Sie in Ihrem Ratenfenster stehen; ein 429 oder 503 nennt in Retry-After, wann Sie es erneut versuchen können.
LocationLinkLinks
Ein Anlegen antwortet 201 mit Location; eine Seite trägt Link rel="next"; jeder Fehler einen Link rel="help" zur Dokumentation seines Codes.
Memojin-VersionDeprecationSunsetVersionen und Abkündigung
Memojin-Version nennt den Vertrag, der die Anfrage bedient hat; Deprecation und Sunset (RFC 9745, RFC 8594) stehen bereit, um eine auslaufende Operation zu kennzeichnen.
Memojin-Credits-EstimateCredits im Voraus
Eine Generierung nennt in ihrem Header wie in ihrem Inhalt die KI-Credit-Einheiten, die sie verwenden will.
X-Request-IdAccept-LanguageNachverfolgbarkeit und Sprachen
Jeder Aufruf trägt eine X-Request-Id, Ihre oder unsere; Accept-Language wählt die Sprache der Fehlermeldungen unter fünf.
Eine einzige Fehlerform, { error: { code, message, details } }, und 25 stabile Codes, jeder erklärt in der öffentlichen Fehlertabelle.
Starten, verfolgen, abholen.
Memokarten oder Fragen zu erzeugen dauert einige Sekunden bis einige Minuten. Die API antwortet sofort, dann verfolgen Sie den Auftrag in Ihrem Tempo.
Eine ai_card-Einheit pro erzeugter Memokarte oder Frage, von den KI-Credits des Kontos genommen, wie in der App. Eine abgelehnte oder wiederholte Anfrage kostet nichts.
Fragen Sie GET /v1/jobs/{jobId} etwa alle fünf Sekunden ab, bis succeeded, failed oder cancelled, und lesen Sie dann die Memokarten oder Fragen des Inhalts.
Mit einem mj_test_-Schlüssel wird nichts erzeugt oder angerechnet: Der Auftrag ist sofort fertig, und Sie testen den ganzen Ablauf kostenlos.
curl -X POST "https://api.memojin.com/v1/contents/$CONTENT_ID/memocard-generations" \
-H "Authorization: Bearer $MEMOJIN_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"
HTTP/1.1 202 Accepted
Memojin-Credits-Estimate: ai_card=12
{
"jobId": "9b8a7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"status": "pending",
"estimate": { "operation": "ai_card", "units": 12 }
}curl "https://api.memojin.com/v1/jobs/$JOB_ID" \
-H "Authorization: Bearer $MEMOJIN_API_KEY"
{
"id": "9b8a7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",
"type": "memocard_generation",
"status": "succeeded",
"progress": 100,
"contentId": "3f1c2b0e-8d4a-4f7e-9a51-3c2d1e0f9b87",
"error": null,
"createdAt": "2026-10-04T10:00:00.000Z",
"updatedAt": "2026-10-04T10:00:41.000Z"
}import os, time, uuid, requests
API = "https://api.memojin.com/v1"
H = {"Authorization": f"Bearer {os.environ['MEMOJIN_API_KEY']}"}
job = requests.post(
f"{API}/contents/{content_id}/memocard-generations",
headers={**H, "Idempotency-Key": str(uuid.uuid4())},
timeout=30,
).json() # 202 : {"jobId": ..., "status": "pending", "estimate": {...}}
while True:
state = requests.get(f"{API}/jobs/{job['jobId']}", headers=H, timeout=10).json()
if state["status"] in ("succeeded", "failed", "cancelled"):
break
time.sleep(5)
cards = requests.get(f"{API}/contents/{content_id}/memocards", headers=H, timeout=10).json()Verlässlich von Grund auf.
Die Regeln, die Ihre Daten und die Ihrer Nutzer schützen, stehen im Code, nicht nur in einem Vertrag.
Geheime Schlüssel
Wir speichern nur den SHA-256-Fingerabdruck Ihres Schlüssels, nie den Schlüssel selbst. Ein widerrufener Schlüssel wird binnen einer Minute abgelehnt.
Server zu Server
Die API lehnt Aufrufe aus dem Browser ab (CORS geschlossen): Ihr Schlüssel verlässt Ihren Server nicht.
Die Rechte eines Kontos
Ein Schlüssel handelt für ein Memojin-Konto und sieht genau, was es sieht. Die Ressource eines anderen Kontos antwortet 404, ohne etwas preiszugeben.
Minimale Scopes
Lesen und Schreiben getrennt, Ressource für Ressource: Ein Schlüssel trägt nur die Scopes, die Sie anfragen.
Abgeschottete Sandbox
Ein mj_test_-Schlüssel berührt nie die reale Welt: simulierte Generierung, keine Credits, kein Versand, 100 Aufrufe pro Tag.
Geprüfter Vertrag
Referenz und OpenAPI-Vertrag werden aus genau den Schemata erzeugt, mit denen die API jede Anfrage prüft.
Kompatibilität
Unter /v1 nur kompatible Ergänzungen. Eine inkompatible Änderung kommt als /v2, und /v1 läuft mindestens 12 Monate weiter.
Hosting in Frankreich
API, Datenbank und Dateien laufen auf unseren eigenen Servern in Frankreich. Das Aufrufprotokoll speichert weder Inhalte noch IP-Adressen.
Auftragsverarbeiter, Speicherfristen und Ihre Rechte finden Sie in unserer Datenschutzerklärung.
Alles ist beschrieben, auf Englisch und Französisch.
Die Referenz beschreibt jede Operation, jeden Parameter und jeden Fehlercode, mit Beispielen. Sie wird aus dem Vertrag erzeugt, den die API durchsetzt, und kann ihm daher nicht widersprechen.
Die vollständige Dokumentation
Schnellstart, Schlüssel, Sandbox, jede Ressource und jede Operation, Fehler, Limits, KI-Guthaben: alles auf der Website, auf Englisch und Französisch, mit Beispielen in curl, JavaScript und Python.
Interaktive Referenz
Auf Englisch: Operationen, Schemata, Leitfäden, Beispiele für Anfragen und Antworten.
/v1/docsReferenz öffnenFranzösische Referenz
Dieselbe Referenz, Leitfäden eingeschlossen, vollständig auf Französisch.
/v1/docs/frAuf Französisch öffnenOpenAPI-3.1-Vertrag
openapi.json (und openapi.fr.json), um einen typisierten Client in Ihrer Sprache zu erzeugen.
/v1/openapi.jsonVertrag öffnenFehlertabelle
Jeder Fehlercode, sein HTTP-Status und seine Bedeutung.
/v1/docs/errorsTabelle öffnenBevor Sie loslegen.
Wie erhalte ich einen Schlüssel?
Schreiben Sie an contact@memojin.com und beschreiben Sie Ihre Organisation und Ihr Projekt. Unser Team schaltet den Zugang frei: zuerst ein Testschlüssel, nach Freigabe ein Produktionsschlüssel.
Was kann die API heute?
Die Bibliothek eines Kontos lesen und schreiben (Inhalte, Ordner, Memokarten, Fragen), KI-Generierungen von Memokarten und Fragen starten und ihre Aufträge verfolgen, suchen sowie Räume, Lerneinheiten und Lernstatistiken lesen. Jede Operation ist in der Referenz beschrieben.
Was kostet die API?
Während der Beta wird der Zugang auf Anfrage freigeschaltet. Lesen und Schreiben verbrauchen keine KI-Credits; nur Generierungen nutzen die KI-Credits des Kontos, für das der Schlüssel handelt, wie in der App: eine Einheit pro erzeugter Memokarte oder Frage, angekündigt in der Antwort 202.
Brauche ich ein Memojin-Abonnement?
Ja: Der Schlüssel handelt für ein Memojin-Konto, und die meisten Operationen verlangen, dass dieses Konto einen aktiven Tarif hat, wie in der App. Ein in bestimmten Tarifen enthaltener API-Zugang ist in Vorbereitung.
Kann ich die API aus einem Browser oder einer mobilen App aufrufen?
Nein: Der Schlüssel ist geheim, und die API lehnt Aufrufe aus dem Browser ab. Rufen Sie sie von Ihrem Server auf, der Ihrer Oberfläche dann weitergibt, was sie braucht.
Wo werden die Daten verarbeitet?
Auf unseren eigenen Servern in Frankreich. Ein Schlüssel erreicht nur die Daten des Kontos, für das er handelt, und das Aufrufprotokoll speichert weder Inhalte noch IP-Adressen.
Sprechen wir über Ihre Integration.
Sagen Sie uns in wenigen Zeilen, wer Sie sind, was Sie anbinden möchten und mit welchem Volumen Sie rechnen. Wir melden uns, um Ihre Sandbox zu öffnen.
- Zuerst die Sandbox, unverbindlich
- Referenz auf Englisch und Französisch
- Daten in Frankreich gehostet