Scopes : les droits d’une clé

Les 14 scopes de l’API Memojin (contents:read, generations:write…), les opérations que chacun ouvre et l’erreur 403 insufficient_scope.

api.memojin.com/v1 · Contrat 1.0.0-beta.2 · Bêta

Sections · Scopes

Chaque clé porte une liste de scopes, de la forme ressource:read ou ressource:write. Chaque opération en exige un ; une clé qui ne l’a pas reçoit 403 insufficient_scope et rien n’est exécuté.

Les 14 scopes

ScopePermet deOpérations
contents:readLire les contenus.GET /v1/contentsGET /v1/contents/{contentId}
contents:writeCréer, modifier et supprimer des contenus.POST /v1/contentsPATCH /v1/contents/{contentId}DELETE /v1/contents/{contentId}
folders:readLire les dossiers.GET /v1/foldersGET /v1/folders/{folderId}
folders:writeCréer, modifier et supprimer des dossiers.POST /v1/foldersPATCH /v1/folders/{folderId}DELETE /v1/folders/{folderId}
memocards:readLire les cartes mémo.GET /v1/contents/{contentId}/memocardsGET /v1/memocards/{memocardId}
memocards:writeCréer, modifier et supprimer des cartes mémo.POST /v1/contents/{contentId}/memocardsPATCH /v1/memocards/{memocardId}DELETE /v1/memocards/{memocardId}
questions:readLire les questions.GET /v1/contents/{contentId}/questionsGET /v1/questions/{questionId}
questions:writeCréer, modifier et supprimer des questions.POST /v1/contents/{contentId}/questionsPATCH /v1/questions/{questionId}DELETE /v1/questions/{questionId}
generations:writeLancer des générations IA (consomme des crédits IA).POST /v1/contents/{contentId}/memocard-generationsPOST /v1/contents/{contentId}/question-generations
jobs:readSuivre les travaux asynchrones.GET /v1/jobs/{jobId}
search:readRechercher dans la bibliothèque.GET /v1/search
spaces:readLire les espaces (classes, groupes).GET /v1/spacesGET /v1/spaces/{spaceId}
study-sessions:readLire les séances d’étude.GET /v1/study-sessions
learning-stats:readLire les statistiques d’apprentissage.GET /v1/learning-stats

write n’inclut pas read : une intégration qui crée des contenus et les relit demande contents:write et contents:read. generations:write est le seul scope qui consomme des crédits IA ; suivre ses travaux demande jobs:read.

Choisir les scopes d’une clé

Les scopes sont fixés à la création de la clé, avec notre équipe : indiquez-nous ceux dont chaque intégration a besoin. Pour en changer, une nouvelle clé est créée avec les bons scopes, puis l’ancienne est révoquée.

Le refus 403 insufficient_scope

details.required donne le scope exigé, details.granted ceux de la clé :

Réponse 403
{
  "error": {
    "code": "insufficient_scope",
    "message": "Cette clé d’API n’a pas le scope exigé par cette opération (voyez `details.required`).",
    "details": {
      "required": "memocards:write",
      "granted": [
        "contents:read",
        "memocards:read"
      ]
    }
  }
}