Why is there no API for unburn/resurrect?

I wanted to ask a specific directed question about WaniKani’s public API: why is there no action to unburn/resurrect an item? I know this subject has come up tangentially in threads many times before before, but even after reading many of them, I couldn’t find a good answer.

Context: I started burning items for the first time a month or so ago. Most of the time, this was fine, but there’s been more than a few so far where I cringed to see the “Burn” result appear when I got the right answer because I knew that I got it just barely — ask me again in two days and it would be a 50/50.

WaniKani’s API is incredibly fully featured. As we’ve seen with apps like Tsurukame, it’s so fully featured that it’s actually possible to reimplement the WaniKani platform in just the API. Speaking as someone in the API tech space, I can tell you that this is incredibly rare — in most cases even if a product has a good API, it’s never a complete API — there’s always enough missing functionality to ensure that no 3rd party could ever realistically vie with the 1st. WaniKani is notably not like that, which is great.

I’m not trying to do anything extreme. I set about solving my burn dilemma by writing a script that would run in cron to unburn one item at random per week — not enough to risk overwhelming my review queue, but enough to add some dynamicism to it by reminding me that those items exist. I got 90% of the way through implementing it assuming that of course you could unburn an item through the API before getting to the very last step and realizing you can’t.

I know that:

  • Unburning can be risky business because it if done too aggressively, you can overwhelm your review schedule.

    We would of course have to be careful with an unburn endpoint, but it wouldn’t be without precedent because there are pre-existing endpoints in the API that can mess up an account’s state badly if abused.

  • It’s technically possible to resurrect an item by simulating a browser request to the web app’s /assignments/:id/resurrect endpoint (include a CSRF token, etc.). I checked experimentally if this might exist as an undocumented API endpoint as well, but alas, it doesn’t.

I’m wondering specifically: given how relatively fully featured the API is, and the fact that the functionality already exists in the web app’s internal API, why omit it from the public one? It seems like a shame given you can do practically anything else. Ideally, it would be amazing to hear from a WK developer or someone in the know as opposed to outsider speculation.

4 Likes

If you don’t mind unburning items by hand, there’s already a way to do that and it requires no script
Go to main WK and find the item you want to unburn, by digging around at the Radicals/Kanji/Vocab thingies, click on the item to open its own page
Scroll all the way down and click on this
unburn
Sorry if you already knew about this

3 Likes

There is the burn manager script to do mass unburns. :eyes: I suggest you use that.

4 Likes

Here’s WK’s official answer when I asked last year:

5 Likes

Thx. Yeah, I’m glad the manual resurrect is there (and that’s the action hitting the undocumented PUT /assignments/:id/resurrect endpoint I mentioned), but it’d be nice to have a more automated way of doing this.

3 Likes

That’s helpful — I’d seen that thread in my searches on the subject, but missed that reply. A bit surprising that seems to be such a major project, but hopefully the devs can take my post as another vote in its favor.

1 Like

It makes sense; I only know where to find it because I linked to it in a feature request.

I think WK has a lot going on - it probably wouldn’t take a relatively long time to add if it was higher up on their list :wink:

1 Like

For those not in the know (like me!), a link to info on the Tsurukame app.

P.S.: I looked up ‘tsurukame’ on Jisho.org and found that it has a few distinct and interesting meanings! tsurukame - Jisho.org

From Jisho.org

鶴亀つるかめ

Noun

  1. crane and tortoise (symbol of longevity, artistic motif)​ See also 鶴は千年亀は万年

鶴は千年亀は万年つるせんねんかめまんねん

Expression

  1. enjoying a long life is a matter for congratulation; cranes live for 1000 years, turtles live for 10,000 years​
    Proverb

鶴亀算つるかめざん

Noun

  1. obtaining the respective numbers of cranes and tortoises from the total of their heads and legs; calculating the values of two unknown quantities from their unit total and the total of one of their attributes​

鶴亀鶴亀つるかめつるかめ

  1. knock on wood; touch wood​spoken to ward off misfortune
1 Like

Strong recommendation for Tsurukame — I can’t believe how good it is for being a single developer 3rd party app.

It many ways it’s better designed than WaniKani itself, having taken inspiration from various user scripts that strongly improve the default experience. For example:

  • It’s more like using WaniKani Lightning Mode. Answers appear immediately on incorrect input, which has the net effect of saving a lot of time and extraneous clicks/key presses.
  • When learning new subjects, all information is shown on a single page instead of being broken out across four different tabs. Personally, I find this helpful already (and again saves a lot of clicking), but even more helpful is that it also shows visually similar kanji, giving you an immediate reduction in confusion not available on WK.
  • Bakes in other features like being able to prioritize your current level (so you can do radical/kanji lessons before your vocab backlog), or showing katakana for onyomi readings (helps keep your katakana familiarity up when you don’t see it as often).

I still do most reviews on a computer because WK Lightning Mode is excellent and typing is faster and more accurate compared to a virtual keyboard, but Tsurukame’s a godsend when on the move.

1 Like

Tsurukame contributor here - WK does show visually similar kanji, but Tsurukame adds some extras in hopes of being helpful. :wink:

For example: https://www.wanikani.com/kanji/苺

1 Like