You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was bored and I wanted to know how to force a friend quest, so I decided to figure out which endpoint is used to do so.
The method I used was using Proxyman to intercept the app's requests and decompiling the apk to read the .smali files.
Endpoint
The endpoint that the APP uses is https://android-api-cf.duolingo.com/, sometimes https://android-api-cf.duolingo.com/2017-06-30/ is
used to indicate the API version (I think?).
Auhtorization
In order to use the API, you need to send an Authorization header, which is a Bearer token.
Friends Quests
Quest Object Structure
name
type
description
questId
string
the quest ID, in this format: startTimeSeconds|goalId|friendId
goalId
string
the goal ID of the quest, can be one of the found here
questThreshold
integer
this is the threshold that must be reached to complete the quest
questState
string
this is the current state of the quest, can be one of the found here
?completed
boolean
whether the quest is completed
?acknowledged
boolean
whether the quest is acknowledged that it's completed (?)