Publiczne API · Beta · Dostęp na wniosek

Memojin w samym sercu używanych narzędzi.

Kompletne API REST do łączenia platform z Memojin: kursy, foldery, karty memo i pytania – zarówno do odczytu, jak i do zapisu – generowanie przez AI, wyszukiwanie, przestrzenie i monitorowanie postępów w nauce. Zaprojektowane z myślą o platformach szkolnych, systemach LMS, wydawcach oraz zespołach technicznych szkół i uczelni.

Dostęp przyznaje nasz zespół, każdej organizacji z osobna

Operacje: 28 · zakresy (scopes): 14 · OpenAPI 3.1

Żądanie
curl "https://api.memojin.com/v1/contents?limit=20" \
  -H "Authorization: Bearer $MEMOJIN_API_KEY" \
  -H "Accept-Language: fr"
Odpowiedź · 200
{
  "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
}
Dla kogo

Cztery sposoby na podłączenie Memojin.

Klucz działa w imieniu jednego konta Memojin, z dokładnie takimi samymi uprawnieniami: integracja obejmuje to, co widzi to konto, i nic więcej.

Platformy szkolne i LMS

Powtórki tam, gdzie studenci już pracują

Moodle, platforma uczelni lub własne rozwiązanie: kursy konta nauczyciela wraz z ich kartami memo i pytaniami można wyświetlać bez opuszczania platformy.

Szkoły i uczelnie

Memojin połączony z systemem informatycznym

Kursy, foldery i przestrzenie nauczycieli trafiają do pulpitów i narzędzi dydaktycznych, bez ponownego wprowadzania danych.

Wydawcy treści

Zasoby wzbogacone o aktywne powtórki

Zasoby można importować jako kursy, dodawać do nich własne karty memo i pytania albo powierzyć ich generowanie AI.

Narzędzia wewnętrzne

Automatyzacja tego, co wciąż robi się ręcznie

Skrypty, raporty, synchronizacje: kontrakt OpenAPI 3.1 odczytają narzędzia, które wygenerują z niego typowanego klienta, a idempotentność sprawia, że każde ponowienie jest bezpieczne.

Co robi API

Dziewięć zasobów, jeden zakres na działanie.

Wszystko, co znajduje się w tej tabeli, działa już dziś, z podanym zakresem. Każda operacja jest opisana, parametr po parametrze, w dokumentacji referencyjnej.

  • Kursy

    contents:readcontents:write

    Lista kursów w folderze; odczyt kursu wraz z sześcioma wskaźnikami (lekcja, podsumowanie, liczba kart memo, pytań, gotowych odcinków podcastu i źródeł); tworzenie kursu na podstawie tytułu lub tekstu, zapisywanego bez zmian; jego edycja i usuwanie.

    • GET/v1/contents
    • POST/v1/contents
    • GET/v1/contents/{contentId}
    • PATCH/v1/contents/{contentId}
    • DELETE/v1/contents/{contentId}
  • Foldery

    folders:readfolders:write

    Przeglądanie struktury biblioteki, tworzenie folderu (do pięciu poziomów), jego edycja lub usuwanie.

    • GET/v1/folders
    • POST/v1/folders
    • GET/v1/folders/{folderId}
    • PATCH/v1/folders/{folderId}
    • DELETE/v1/folders/{folderId}
  • Karty memo

    memocards:readmemocards:write

    Lista kart kursu wraz z retencją i ostatnią powtórką na danym koncie; dodawanie karty (tytuł, treść, wyjaśnienie), jej edycja i usuwanie.

    • GET/v1/contents/{contentId}/memocards
    • POST/v1/contents/{contentId}/memocards
    • GET/v1/memocards/{memocardId}
    • PATCH/v1/memocards/{memocardId}
    • DELETE/v1/memocards/{memocardId}
  • Pytania

    questions:readquestions:write

    Lista pytań kursu; tworzenie pytań czterech typów (odpowiedź otwarta, prawda lub fałsz, jednokrotny wybór, wielokrotny wybór); edycja treści pytania, wyjaśnienia, trudności lub punktacji; usuwanie.

    • GET/v1/contents/{contentId}/questions
    • POST/v1/contents/{contentId}/questions
    • GET/v1/questions/{questionId}
    • PATCH/v1/questions/{questionId}
    • DELETE/v1/questions/{questionId}
  • Generowanie przez AI

    generations:writejobs:read

    Generowanie kart memo na podstawie kursu albo pytań na podstawie jego kart: natychmiastowa odpowiedź (202), a następnie śledzenie zadania aż do wyniku. Przewidywane kredyty AI są podawane już w odpowiedzi.

    • POST/v1/contents/{contentId}/memocard-generations
    • POST/v1/contents/{contentId}/question-generations
    • GET/v1/jobs/{jobId}
  • Wyszukiwanie

    search:read

    Wyszukiwanie w kursach i folderach konta, bez względu na wielkość liter i znaki diakrytyczne.

    • GET/v1/search
  • Przestrzenie

    spaces:read

    Odczyt przestrzeni, których właścicielem jest konto, na żądanie także zarchiwizowanych. Dane członków nie są udostępniane.

    • GET/v1/spaces
    • GET/v1/spaces/{spaceId}
  • Sesje nauki

    study-sessions:read

    Lista sesji powtórek i ćwiczeń konta, od najnowszej do najstarszej, wraz z licznikami, z filtrowaniem według stanu lub przestrzeni.

    • GET/v1/study-sessions
  • Statystyki nauki

    learning-stats:read

    Opanowane karty memo, czas nauki, skuteczność z ostatnich 30 dni i zakończone sesje konta.

    • GET/v1/learning-stats

W przygotowaniu

  • WkrótceSerwer MCP

    Operacje API dostępne dla asystentów AI zgodnych z MCP, z tymi samymi kluczami i zakresami.

  • WkrótcePanel programisty

    Samodzielne tworzenie kluczy, wybór ich zakresów i śledzenie zużycia z poziomu konta.

  • WkrótceWebhooki wychodzące

    Powiadomienie podpisanym wywołaniem na serwer, na przykład po zakończeniu generowania, zamiast ciągłego odpytywania.

  • WkrótceDostęp w cenie planów

    API dostępne od razu w niektórych planach dla nauczycieli oraz szkół i uczelni, bez wcześniejszego wniosku.

Jak to działa

Od piaskownicy do produkcji, w trzech krokach.

Każda organizacja zaczyna w piaskownicy. Środowisko produkcyjne otwiera się, gdy integracja jest gotowa.

  1. Wniosek o dostęp

    Wystarczy opisać nam projekt. Tworzymy organizację powiązaną z kontem Memojin, w którego imieniu będzie działać, i przekazujemy klucz testowy.

  2. Prace w piaskownicy

    Klucz mj_test_ odczytuje i zapisuje te same dane, z limitem 100 wywołań dziennie. Generowanie przez AI jest tu symulowane: nic nie jest wysyłane ani naliczane.

  3. Przejście na produkcję

    Po zatwierdzeniu przez nasz zespół organizacja otrzymuje klucz mj_live_. Wyświetla się on tylko raz: należy przechować go w sejfie na sekrety.

Jeden klucz, jego zakresy

Każda operacja wymaga zakresu w postaci zasób:read lub zasób:write, podanego w tabeli powyżej. Klucz ma tylko te zakresy, o które wnioskowano, a write nie obejmuje read; bez właściwego zakresu API odpowiada 403 insufficient_scope i podaje oczekiwany zakres.

Klucz pozostaje w zmiennej środowiskowej na serwerze: API nie odpowiada na wywołania z przeglądarki.

Pierwsze wywołanie

curl "https://api.memojin.com/v1/contents?limit=20" \
  -H "Authorization: Bearer $MEMOJIN_API_KEY" \
  -H "Accept-Language: fr"
Zaprojektowane zgodnie ze standardami

Protokół HTTP, stosowany co do joty.

Żadnych własnych konwencji do nauki: nagłówki, które biblioteki HTTP już znają, ustawiane przez API w każdej odpowiedzi, której dotyczą.

  • ETagIf-None-Match304

    Odczyty warunkowe

    Każde GET zwraca ETag; odesłany w If-None-Match daje 304 bez treści, gdy nic się nie zmieniło.

  • If-Match412

    Zapisy bez konfliktów

    Wystarczy wysłać odczytany ETag w If-Match: jeśli zasób w międzyczasie się zmienił, PATCH i DELETE odpowiadają 412 i niczego nie zmieniają.

  • Idempotency-KeyIdempotent-Replayed

    Idempotentność

    Każde POST przyjmuje Idempotency-Key: żądanie powtórzone w ciągu 24 godzin zwraca pierwszą odpowiedź, oznaczoną Idempotent-Replayed, bez podwójnego tworzenia ani podwójnego naliczania.

  • RateLimit-LimitRateLimit-RemainingRateLimit-ResetRetry-After

    Jawne limity

    Każda odpowiedź informuje, ile zostało w bieżącym oknie limitu; 429 lub 503 wskazuje w Retry-After, kiedy spróbować ponownie.

  • LocationLink

    Linki

    Utworzenie zasobu zwraca 201 z Location; strona zawiera Link rel="next"; każdy błąd – Link rel="help" do dokumentacji swojego kodu.

  • Memojin-VersionDeprecationSunset

    Wersje i wycofania

    Memojin-Version wskazuje, który kontrakt obsłużył żądanie; Deprecation i Sunset (RFC 9745, RFC 8594) są gotowe, by zasygnalizować operację wycofywaną z użycia.

  • Memojin-Credits-Estimate

    Jawne kredyty

    Generowanie podaje w nagłówku, tak jak w treści odpowiedzi, jednostki kredytów AI, które przewiduje zużyć.

  • X-Request-IdAccept-Language

    Identyfikowalność i języki

    Każde wywołanie ma X-Request-Id, własny lub nasz; Accept-Language wybiera język komunikatów o błędach spośród dziewięciu.

Jeden format błędów, { error: { code, message, details } }, oraz stałe kody błędów (łącznie 25), każdy wyjaśniony w publicznej tabeli błędów.

Generowanie przez AI

Uruchom, śledź, odbierz.

Generowanie kart memo lub pytań trwa od kilku sekund do kilku minut. API odpowiada od razu, a postęp zadania można śledzić we własnym tempie.

  • Jedna jednostka ai_card za każdą wygenerowaną kartę memo lub pytanie, pobierana z kredytów AI konta, tak jak w aplikacji. Odrzucone lub powtórzone żądanie nic nie kosztuje.

  • GET /v1/jobs/{jobId} należy odpytywać mniej więcej co pięć sekund, aż do succeeded, failed lub cancelled, a następnie odczytać karty lub pytania kursu.

  • Z kluczem mj_test_ nic nie jest generowane ani naliczane: zadanie kończy się natychmiast, a cały proces można przetestować bez kosztów.

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 }
}
Gwarancje

Wiarygodne z założenia.

Zasady, które chronią dane organizacji i jej użytkowników, są zapisane w kodzie, a nie tylko w umowie.

Tajne klucze

Przechowujemy wyłącznie skrót SHA-256 klucza, nigdy sam klucz. Unieważniony klucz zostaje odrzucony w niecałą minutę.

Serwer–serwer

API odrzuca wywołania z przeglądarki (zamknięty CORS): klucz nie opuszcza serwera.

Uprawnienia jednego konta

Klucz działa w imieniu konta Memojin i widzi dokładnie to, co ono. Zasób innego konta zwraca 404, niczego nie ujawniając.

Minimalne zakresy

Odczyt i zapis rozdzielone, zasób po zasobie: klucz ma tylko te zakresy, o które wnioskowano.

Szczelna piaskownica

Klucz mj_test_ nigdy nie wywołuje realnych skutków: generowanie symulowane, zero zużytych kredytów, żadnych wysyłek, 100 wywołań dziennie.

Zweryfikowany kontrakt

Dokumentacja referencyjna i kontrakt OpenAPI są generowane z tych samych schematów, którymi API waliduje każde żądanie.

Zgodność wsteczna

W /v1 wyłącznie zmiany zgodne wstecz. Zmiana niezgodna pojawi się w /v2, a /v1 będzie obsługiwane co najmniej przez 12 miesięcy.

Hosting we Francji

API, baza danych i pliki działają na naszych własnych serwerach we Francji. Dziennik wywołań nie przechowuje ani treści, ani adresów IP.

Podmioty przetwarzające, okresy przechowywania danych i przysługujące prawa szczegółowo opisuje nasza polityce prywatności.

Najczęściej zadawane pytania

Przed rozpoczęciem.

Jak uzyskać klucz?

Wystarczy napisać na adres contact@memojin.com i opisać organizację oraz projekt. Dostęp przyznaje nasz zespół: najpierw klucz testowy, a po zatwierdzeniu – klucz produkcyjny.

Co umożliwia dziś API?

Odczyt i zapis biblioteki konta (kursy, foldery, karty memo, pytania), uruchamianie generowania kart memo i pytań przez AI oraz śledzenie tych zadań, wyszukiwanie, a także odczyt przestrzeni, sesji nauki i statystyk nauki. Każda operacja jest opisana w dokumentacji referencyjnej.

Ile kosztuje API?

W okresie beta dostęp jest przyznawany na wniosek. Odczyt i zapis nie zużywają kredytów AI; tylko generowanie korzysta z kredytów AI konta, w którego imieniu działa klucz, tak jak w aplikacji: jedna jednostka za każdą wygenerowaną kartę memo lub pytanie, podawana już w odpowiedzi 202.

Czy potrzebna jest subskrypcja Memojin?

Tak: klucz działa w imieniu konta Memojin, a większość operacji wymaga, by to konto miało aktywny plan, tak jak w aplikacji. Dostęp do API w cenie niektórych planów jest w przygotowaniu.

Czy API można wywoływać z przeglądarki lub aplikacji mobilnej?

Nie: klucz jest tajny, a API odrzuca wywołania z przeglądarki. Należy je wywoływać z serwera, który następnie przekazuje interfejsowi to, czego on potrzebuje.

Gdzie przetwarzane są dane?

Na naszych własnych serwerach we Francji. Klucz ma dostęp wyłącznie do danych konta, w którego imieniu działa, a dziennik wywołań nie przechowuje ani treści, ani adresów IP.

Porozmawiajmy o integracji.

Wystarczy w kilku zdaniach przedstawić organizację, opisać, co ma zostać połączone, i podać przewidywany wolumen. Odezwiemy się, aby otworzyć piaskownicę.

  • Najpierw piaskownica, bez zobowiązań
  • Dokumentacja referencyjna po angielsku i po francusku
  • Dane przechowywane we Francji