{
  "info": {
    "name": "WaniKani — mcp.ai",
    "description": "REST API for the WaniKani MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/wanikani",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "wanikani_create_study_material",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/study/material",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "study",
            "material"
          ]
        },
        "description": "Create the sole study-material record for a subject, optionally with notes or meaning synonyms. WaniKani provides no delete endpoint, so creation cannot be undone through the API.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"subject_id\": 0,\n  \"meaning_note\": \"\",\n  \"reading_note\": \"\",\n  \"meaning_synonyms\": \"\",\n  \"confirm_undeletable\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_assignments",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/assignments",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "assignments"
          ]
        },
        "description": "Retrieve one assignment by ID, or list the connected user's assignments using progress, availability, level, subject, and update filters.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"burned\": false,\n  \"hidden\": false,\n  \"levels\": \"\",\n  \"started\": false,\n  \"unlocked\": false,\n  \"in_review\": false,\n  \"srs_stages\": \"\",\n  \"next_cursor\": \"\",\n  \"subject_ids\": \"\",\n  \"assignment_id\": 0,\n  \"subject_types\": \"\",\n  \"updated_after\": \"\",\n  \"available_after\": \"\",\n  \"available_before\": \"\",\n  \"immediately_available_for_review\": false,\n  \"immediately_available_for_lessons\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_level_progressions",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/level/progressions",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "level",
            "progressions"
          ]
        },
        "description": "Retrieve one level-progression record by ID, or list the user's level history with ID and update-time filters.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"next_cursor\": \"\",\n  \"updated_after\": \"\",\n  \"level_progression_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_resets",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/resets",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "resets"
          ]
        },
        "description": "Retrieve one account-reset record by ID, or list account level-reset history.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"reset_id\": 0,\n  \"next_cursor\": \"\",\n  \"updated_after\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_review_statistics",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/review/statistics",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "review",
            "statistics"
          ]
        },
        "description": "Retrieve one per-subject review statistic by ID, or list answer totals, streaks, and accuracy using subject and percentage filters.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"hidden\": false,\n  \"next_cursor\": \"\",\n  \"subject_ids\": \"\",\n  \"subject_types\": \"\",\n  \"updated_after\": \"\",\n  \"review_statistic_id\": 0,\n  \"percentages_less_than\": 0,\n  \"percentages_greater_than\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_reviews",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/reviews",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "reviews"
          ]
        },
        "description": "Retrieve one completed review by ID, or list completed reviews filtered by review IDs, subject IDs, or update time.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"review_id\": 0,\n  \"next_cursor\": \"\",\n  \"subject_ids\": \"\",\n  \"updated_after\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_spaced_repetition_systems",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/spaced/repetition/systems",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "spaced",
            "repetition",
            "systems"
          ]
        },
        "description": "Retrieve one spaced-repetition system by ID, or list SRS definitions and their stage intervals.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"next_cursor\": \"\",\n  \"updated_after\": \"\",\n  \"spaced_repetition_system_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_study_materials",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/study/materials",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "study",
            "materials"
          ]
        },
        "description": "Retrieve one study-material record by ID, or list the user's subject notes and meaning synonyms with subject and update filters.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"hidden\": false,\n  \"next_cursor\": \"\",\n  \"subject_ids\": \"\",\n  \"subject_types\": \"\",\n  \"updated_after\": \"\",\n  \"study_material_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_study_summary",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/study/summary",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "study",
            "summary"
          ]
        },
        "description": "Get lessons available now and review availability over the next 24 hours for the connected user.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_subjects",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/subjects",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "subjects"
          ]
        },
        "description": "Retrieve one WaniKani subject by ID, or search radicals, kanji, vocabulary, and kana vocabulary by IDs, types, slugs, levels, visibility, or update time.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"slugs\": \"\",\n  \"types\": \"\",\n  \"hidden\": false,\n  \"levels\": \"\",\n  \"subject_id\": 0,\n  \"next_cursor\": \"\",\n  \"updated_after\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_user",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/user",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "user"
          ]
        },
        "description": "Get the connected user's identity, level, subscription status, vacation state, and application preferences.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_get_voice_actors",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/voice/actors",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "voice",
            "actors"
          ]
        },
        "description": "Retrieve one WaniKani pronunciation voice actor by ID, or list voice actors with ID and update-time filters.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"ids\": \"\",\n  \"next_cursor\": \"\",\n  \"updated_after\": \"\",\n  \"voice_actor_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_start_assignment",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/start/assignment",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "start",
            "assignment"
          ]
        },
        "description": "Irreversibly mark one unlocked lesson assignment as started and move it into reviews. Use only after the user explicitly confirms the exact assignment.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"started_at\": \"\",\n  \"assignment_id\": 0,\n  \"confirm_irreversible\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_submit_review",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/submit/review",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "submit",
            "review"
          ]
        },
        "description": "Irreversibly submit a completed review, changing assignment progress and review statistics. Use only with exact answer counts explicitly confirmed by the user.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"created_at\": \"\",\n  \"subject_id\": 0,\n  \"assignment_id\": 0,\n  \"confirm_irreversible\": false,\n  \"incorrect_meaning_answers\": 0,\n  \"incorrect_reading_answers\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_update_study_material",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/study/material",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "study",
            "material"
          ]
        },
        "description": "Update at least one note or meaning-synonym field on an existing study-material record without changing its subject.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"meaning_note\": \"\",\n  \"reading_note\": \"\",\n  \"meaning_synonyms\": \"\",\n  \"study_material_id\": 0\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "wanikani_update_user_preferences",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/update/user/preferences",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "update",
            "user",
            "preferences"
          ]
        },
        "description": "Update one or more supported WaniKani lesson or review preferences. Omitted preferences remain unchanged.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"lessons_batch_size\": 0,\n  \"lessons_autoplay_audio\": false,\n  \"reviews_autoplay_audio\": false,\n  \"extra_study_autoplay_audio\": false,\n  \"reviews_presentation_order\": \"\",\n  \"reviews_display_srs_indicator\": false\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}