Download OpenAPI specification:
Unofficial API description for Duolingo.
User's vocabulary
| _ required | integer |
{- "from_language": "en",
- "language_string": "Spanish",
- "learning_language": "es",
- "language_information": {
- "pronoun_mapping": [
- {
- "pronoun": "yo",
- "tenses": {
- "cni": "conditional_indicative_first_person_plural",
- "ger": "gerund",
- "ifi": "preterite_indicative_first_person_plural",
- "imp": "imperative_second_person_singular_tu",
- "inf": "infinitive",
- "pii": "copreterite_indicative_first_person_plural",
- "pis": "preterite_subjunctive_first_person_plural",
- "pp": "participle",
- "pri": "present_indicative_first_person_plural",
- "prs": "present_subjunctive_first_person_plural"
}
}
], - "tenses": {
- "indicative": [
- {
- "tense_string": "Gerund",
- "tense": "ger"
}
], - "others": [
- {
- "tense_string": "Gerund",
- "tense": "ger"
}
], - "subjunctive": [
- {
- "tense_string": "Gerund",
- "tense": "ger"
}
]
}
}, - "vocab_overview": [
- {
- "gender": "Masculine",
- "id": "2a5f9687f146bdb703ab03f7bedf2d3c",
- "infinitive": "hacer",
- "last_practiced": "2022-06-17T20:19:36Z",
- "last_practiced_ms": 1655497176000,
- "lexeme_id": "39007b3c41faaa99f950e934fe5429f8",
- "normalized_string": "hacer",
- "pos": "Verb",
- "related_lexemes": [
- "string"
], - "skill": "Routines 2",
- "skill_url_title": "Routines-2",
- "strength": 0.999986,
- "strength_bars": 4,
- "word_string": "hacer"
}
]
}Login user
| distinctId | string |
| identifier | string |
| password | string |
| landingUrl | string |
| lastReferrer | string |
{- "distinctId": "string",
- "identifier": "string",
- "password": "string",
- "landingUrl": "string",
- "lastReferrer": "string"
}User information by username
| username required | string >= 1 Username |
| fields | Array of strings Fields to retrieve |
{- "filter_stream": true,
- "language_data": {
- "property1": {
- "streak": 1975,
- "language_string": "Korean",
- "level_progress": 367,
- "first_time": true,
- "fluency_score": 0,
- "push_practice": true,
- "max_section_index": 0,
- "level_tests": [
- {
- "index": 0,
- "attempts": 3,
- "completed": true,
- "level": 6
}
], - "direction_status": "released",
- "next_level": 0,
- "notifications": {
- "chrome_app_ad": true,
- "net_promoter": true,
- "schools_2016_07_ad": true
}, - "notify_time": 780,
- "notify_practice": true,
- "num_skills_learned": 4,
- "calendar": {
- "skill_id": "ab367af4584214cc1fb3bb63cd8a6136",
- "improvement": 20,
- "event_type": "lesson",
- "datetime": 1653810257000
}, - "can_transliterate": true,
- "level_left": 233,
- "no_dep": true,
- "tracking_properties": {
- "direction": "ko<-en",
- "latest_referring_domain": "www.duolingo.com",
- "took_placementtest": true,
- "learning_language": "ko",
- "utc_offset": 2,
- "unsafe_lexeme_restriction": true,
- "ui_language": "en",
- "max_tree_level": 3,
}, - "language_strength": 1,
- "next_lesson": {
- "lesson_number": 4,
- "skill_title": "Belongings",
- "skill_url": "Belongings"
}, - "max_level": true,
- "level_percent": 61,
- "language": "ko",
- "level": 9,
- "skills": [
- {
- "language_string": "Korean",
- "dependencies_name": [
- "string"
], - "practice_recommended": true,
- "disabled": true,
- "test_count": 3,
- "missing_lessons": 3,
- "skill_progress": {
- "level": 0
}, - "lesson": true,
- "has_explanation": "string",
- "url_title": "Quotation",
- "icon_color": "red",
- "category": "string",
- "num_lessons": 3,
- "strength": 0,
- "beginner": true,
- "title": "Indirect Quotation 1",
- "num_levels": 6,
- "coords_y": 37,
- "coords_x": 1,
- "progress_level_session_index": 0,
- "id": "b3de0ee8a143650ff224a6b9721b054a",
- "level_sessions_finished": 0,
- "levels_finished": 0,
- "test": true,
- "lesson_number": 1,
- "learned": true,
- "num_translation_nodes": 0,
- "description": "string",
- "index": 0,
- "bonus": true,
- "locked": true,
- "explanation": "<h3><strong>Native Korean Numbers</strong></h3>\n<p>Korean has two sets of numbers, <strong>Native Korean</strong> and <strong>Sino-Korean</strong>. Before that scares you away, let's take a closer look at Native Korean Numbers.</p>\n<h4><strong>Usage</strong></h4>\n<p>Native Korean numbers are used for numbering things, just as you would any number system. In contrast, Sino-Korean numbers are used in specific cases, such as dates, telephone numbers, addresses, and counting money.</p>\n<p>Native Korean can be used for counting as well. When taking pictures, you may hear Koreans say \"하나, 둘, 셋!\" before snapping the photo.</p>\n<p>Native Korean has the numbers 1-10, then 11-19 simply combine 10 and the small number, so 11 would be \"ten-one.\" There are separate words for each of the tens, which are used to create compounds the same way that 10 is. </p>\n<p>Some of the tens are derived from their \"base\" as in English, 여덟/eight=> 여든/eighty, but others have no obvious relationship.</p>\n<h4><strong>Irregulars</strong></h4>\n<p>Native Korean has five numbers that take a \"short\" form before a counter.</p>\n<table>\n<thead>\n<tr>\n<th>Number</th>\n<th>Base Form</th>\n<th>Short Form</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>하나</td>\n<td>한</td>\n</tr>\n<tr>\n<td>2</td>\n<td>둘</td>\n<td>두</td>\n</tr>\n<tr>\n<td>3</td>\n<td>셋</td>\n<td>세</td>\n</tr>\n<tr>\n<td>4</td>\n<td>넷</td>\n<td>네</td>\n</tr>\n<tr>\n<td>20</td>\n<td>스물</td>\n<td>스무</td>\n</tr>\n</tbody>\n</table>\n<h4><strong>Counters</strong></h4>\n<p>What are these <strong>counters</strong> we've mentioned? Think of words in English like paper or milk. Usually we cannot say \"a paper\" or \"a milk,\" except in some limited circumstances. We have to be specific, \"a sheet/piece/pack of paper\" or \"a cup/glass/carton/jug of milk.\" Now apply that to every noun in Korean.</p>\n<p>The most common counter is 개 and can be used in most situations. As a non-native Korean speaker, you can often get away with using 개 in cases where Koreans would use a specific counter. Exceptions include 명 for people, 마리 for animals, and some food terms where more specificity is required.</p>\n<p>The general usage is Noun+Number+Counter+Particle in a sentence. </p>\n<ul>\n<li>사람 한 명이 있어요=There is one person</li>\n</ul>\n<p>Particles can sometimes be attached to the noun instead of the counter.</p>\n<p>Usually in writing the number and counter are written separately, with a space, but without a space when using a numeral (두 명 vs 2명).</p>\n<p>Other word orders are also possible in some circumstances, but less popular:</p>\n<ul>\n<li>\n<p>Number+Noun (한 사람)</p>\n</li>\n<li>\n<p>Number+Counter+의+Noun (한 명의 사람)</p>\n</li>\n<li>\n<p>Noun+Number (사람 하나)</p>\n</li>\n</ul>\n<table>\n<thead>\n<tr>\n<th>Counter</th>\n<th>Nouns</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>개</td>\n<td>General counter</td>\n</tr>\n<tr>\n<td>명</td>\n<td>People</td>\n</tr>\n<tr>\n<td>살</td>\n<td>Age</td>\n</tr>\n<tr>\n<td>마리</td>\n<td>Animals</td>\n</tr>\n<tr>\n<td>자루</td>\n<td>Long thing things</td>\n</tr>\n<tr>\n<td>대</td>\n<td>Machines/cars</td>\n</tr>\n</tbody>\n</table>\n<h4><strong>Age</strong></h4>\n<p>Age in Korean is marked with the counter 살. \n저는 스무 살이에요=I am twenty</p>\n<p>In Korea, age is calculated differently than in most other countries. It is based on the traditional Asian lunar cycle. A baby is one when it is born and turns two on New Year's Day. Depending on who you are talking to, this may be either January 1st or Lunar New Year. Therefore, most of us are 1 or 2 years older in Korea than we are at home.</p>\n<h4><strong>Large Numbers</strong></h4>\n<p>Although Native Korean was the original number system, it now only goes up to 99 in regular language. Larger numbers are said in Sino-Korean except in some more academic cases, mostly poetry, as the large Native Korean numbers are fairly archaic.</p>\n<p>For these numbers of 100, some people may mix the two forms. 150, for example, could be said with 100 in Sino-Korean and 50 in Native Korean. This is more common in speaking than in writing.</p>\n<p>It is not uncommon for numbers over 19 to be said in Sino-Korean, especially by children who do not yet have the trickier Native Korean digits memorized.</p>\n<table>\n<thead>\n<tr>\n<th>Number</th>\n<th>Native Korean</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>10</td>\n<td>열</td>\n</tr>\n<tr>\n<td>20</td>\n<td>스물</td>\n</tr>\n<tr>\n<td>30</td>\n<td>서른</td>\n</tr>\n<tr>\n<td>40</td>\n<td>마흔</td>\n</tr>\n<tr>\n<td>50</td>\n<td>쉰</td>\n</tr>\n<tr>\n<td>60</td>\n<td>예순</td>\n</tr>\n<tr>\n<td>70</td>\n<td>일흔</td>\n</tr>\n<tr>\n<td>80</td>\n<td>여든</td>\n</tr>\n<tr>\n<td>90</td>\n<td>아흔</td>\n</tr>\n</tbody>\n</table>\n<h4><strong>Ordinal Numbers</strong></h4>\n<p>Ordinal Numbers (first, second, third) are created by combining the Native Korean number with 번째. This uses the short form for those numbers that have one, except for 1, which uses 첫 instead of 한, giving us 첫 번째 for \"first.\"</p>\n<h4><strong>Roots</strong></h4>\n<ul>\n<li>명 - name (名)</li>\n</ul>",
- "num_lexemes": 21,
- "num_missing": 21,
- "dependencies": [
- "string"
], - "known_lexemes": [
- [
- "4ed12bd7fbaf821182a32a1822971ce3",
- "8848fe62ccc44f69b54aae32f5c860c3"
]
], - "words": [
- "string"
], - "num_sessions_for_level": 3,
- "strength_no_disabled_no_character": 0,
- "strength_no_disabled": 0,
- "short": "Quote 1",
- "grammar": true,
- "name": "Indirect Quotation",
- "language": "ko",
- "is_new_grammar": true,
- "new_index": 52,
- "progress_percent": 0,
- "mastered": true
}
], - "level_points": 600,
- "useSmartReminderTime": true,
- "max_depth_learned": 2,
- "points": 2017,
- "immersion_enabled": true,
- "placement_test": {
- "attempts": 1
}, - "exempt_from_health": true,
- "max_tree_level": 3
}, - "property2": {
- "streak": 1975,
- "language_string": "Korean",
- "level_progress": 367,
- "first_time": true,
- "fluency_score": 0,
- "push_practice": true,
- "max_section_index": 0,
- "level_tests": [
- {
- "index": 0,
- "attempts": 3,
- "completed": true,
- "level": 6
}
], - "direction_status": "released",
- "next_level": 0,
- "notifications": {
- "chrome_app_ad": true,
- "net_promoter": true,
- "schools_2016_07_ad": true
}, - "notify_time": 780,
- "notify_practice": true,
- "num_skills_learned": 4,
- "calendar": {
- "skill_id": "ab367af4584214cc1fb3bb63cd8a6136",
- "improvement": 20,
- "event_type": "lesson",
- "datetime": 1653810257000
}, - "can_transliterate": true,
- "level_left": 233,
- "no_dep": true,
- "tracking_properties": {
- "direction": "ko<-en",
- "latest_referring_domain": "www.duolingo.com",
- "took_placementtest": true,
- "learning_language": "ko",
- "utc_offset": 2,
- "unsafe_lexeme_restriction": true,
- "ui_language": "en",
- "max_tree_level": 3,
}, - "language_strength": 1,
- "next_lesson": {
- "lesson_number": 4,
- "skill_title": "Belongings",
- "skill_url": "Belongings"
}, - "max_level": true,
- "level_percent": 61,
- "language": "ko",
- "level": 9,
- "skills": [
- {
- "language_string": "Korean",
- "dependencies_name": [
- "string"
], - "practice_recommended": true,
- "disabled": true,
- "test_count": 3,
- "missing_lessons": 3,
- "skill_progress": {
- "level": 0
}, - "lesson": true,
- "has_explanation": "string",
- "url_title": "Quotation",
- "icon_color": "red",
- "category": "string",
- "num_lessons": 3,
- "strength": 0,
- "beginner": true,
- "title": "Indirect Quotation 1",
- "num_levels": 6,
- "coords_y": 37,
- "coords_x": 1,
- "progress_level_session_index": 0,
- "id": "b3de0ee8a143650ff224a6b9721b054a",
- "level_sessions_finished": 0,
- "levels_finished": 0,
- "test": true,
- "lesson_number": 1,
- "learned": true,
- "num_translation_nodes": 0,
- "description": "string",
- "index": 0,
- "bonus": true,
- "locked": true,
- "explanation": "<h3><strong>Native Korean Numbers</strong></h3>\n<p>Korean has two sets of numbers, <strong>Native Korean</strong> and <strong>Sino-Korean</strong>. Before that scares you away, let's take a closer look at Native Korean Numbers.</p>\n<h4><strong>Usage</strong></h4>\n<p>Native Korean numbers are used for numbering things, just as you would any number system. In contrast, Sino-Korean numbers are used in specific cases, such as dates, telephone numbers, addresses, and counting money.</p>\n<p>Native Korean can be used for counting as well. When taking pictures, you may hear Koreans say \"하나, 둘, 셋!\" before snapping the photo.</p>\n<p>Native Korean has the numbers 1-10, then 11-19 simply combine 10 and the small number, so 11 would be \"ten-one.\" There are separate words for each of the tens, which are used to create compounds the same way that 10 is. </p>\n<p>Some of the tens are derived from their \"base\" as in English, 여덟/eight=> 여든/eighty, but others have no obvious relationship.</p>\n<h4><strong>Irregulars</strong></h4>\n<p>Native Korean has five numbers that take a \"short\" form before a counter.</p>\n<table>\n<thead>\n<tr>\n<th>Number</th>\n<th>Base Form</th>\n<th>Short Form</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>하나</td>\n<td>한</td>\n</tr>\n<tr>\n<td>2</td>\n<td>둘</td>\n<td>두</td>\n</tr>\n<tr>\n<td>3</td>\n<td>셋</td>\n<td>세</td>\n</tr>\n<tr>\n<td>4</td>\n<td>넷</td>\n<td>네</td>\n</tr>\n<tr>\n<td>20</td>\n<td>스물</td>\n<td>스무</td>\n</tr>\n</tbody>\n</table>\n<h4><strong>Counters</strong></h4>\n<p>What are these <strong>counters</strong> we've mentioned? Think of words in English like paper or milk. Usually we cannot say \"a paper\" or \"a milk,\" except in some limited circumstances. We have to be specific, \"a sheet/piece/pack of paper\" or \"a cup/glass/carton/jug of milk.\" Now apply that to every noun in Korean.</p>\n<p>The most common counter is 개 and can be used in most situations. As a non-native Korean speaker, you can often get away with using 개 in cases where Koreans would use a specific counter. Exceptions include 명 for people, 마리 for animals, and some food terms where more specificity is required.</p>\n<p>The general usage is Noun+Number+Counter+Particle in a sentence. </p>\n<ul>\n<li>사람 한 명이 있어요=There is one person</li>\n</ul>\n<p>Particles can sometimes be attached to the noun instead of the counter.</p>\n<p>Usually in writing the number and counter are written separately, with a space, but without a space when using a numeral (두 명 vs 2명).</p>\n<p>Other word orders are also possible in some circumstances, but less popular:</p>\n<ul>\n<li>\n<p>Number+Noun (한 사람)</p>\n</li>\n<li>\n<p>Number+Counter+의+Noun (한 명의 사람)</p>\n</li>\n<li>\n<p>Noun+Number (사람 하나)</p>\n</li>\n</ul>\n<table>\n<thead>\n<tr>\n<th>Counter</th>\n<th>Nouns</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>개</td>\n<td>General counter</td>\n</tr>\n<tr>\n<td>명</td>\n<td>People</td>\n</tr>\n<tr>\n<td>살</td>\n<td>Age</td>\n</tr>\n<tr>\n<td>마리</td>\n<td>Animals</td>\n</tr>\n<tr>\n<td>자루</td>\n<td>Long thing things</td>\n</tr>\n<tr>\n<td>대</td>\n<td>Machines/cars</td>\n</tr>\n</tbody>\n</table>\n<h4><strong>Age</strong></h4>\n<p>Age in Korean is marked with the counter 살. \n저는 스무 살이에요=I am twenty</p>\n<p>In Korea, age is calculated differently than in most other countries. It is based on the traditional Asian lunar cycle. A baby is one when it is born and turns two on New Year's Day. Depending on who you are talking to, this may be either January 1st or Lunar New Year. Therefore, most of us are 1 or 2 years older in Korea than we are at home.</p>\n<h4><strong>Large Numbers</strong></h4>\n<p>Although Native Korean was the original number system, it now only goes up to 99 in regular language. Larger numbers are said in Sino-Korean except in some more academic cases, mostly poetry, as the large Native Korean numbers are fairly archaic.</p>\n<p>For these numbers of 100, some people may mix the two forms. 150, for example, could be said with 100 in Sino-Korean and 50 in Native Korean. This is more common in speaking than in writing.</p>\n<p>It is not uncommon for numbers over 19 to be said in Sino-Korean, especially by children who do not yet have the trickier Native Korean digits memorized.</p>\n<table>\n<thead>\n<tr>\n<th>Number</th>\n<th>Native Korean</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>10</td>\n<td>열</td>\n</tr>\n<tr>\n<td>20</td>\n<td>스물</td>\n</tr>\n<tr>\n<td>30</td>\n<td>서른</td>\n</tr>\n<tr>\n<td>40</td>\n<td>마흔</td>\n</tr>\n<tr>\n<td>50</td>\n<td>쉰</td>\n</tr>\n<tr>\n<td>60</td>\n<td>예순</td>\n</tr>\n<tr>\n<td>70</td>\n<td>일흔</td>\n</tr>\n<tr>\n<td>80</td>\n<td>여든</td>\n</tr>\n<tr>\n<td>90</td>\n<td>아흔</td>\n</tr>\n</tbody>\n</table>\n<h4><strong>Ordinal Numbers</strong></h4>\n<p>Ordinal Numbers (first, second, third) are created by combining the Native Korean number with 번째. This uses the short form for those numbers that have one, except for 1, which uses 첫 instead of 한, giving us 첫 번째 for \"first.\"</p>\n<h4><strong>Roots</strong></h4>\n<ul>\n<li>명 - name (名)</li>\n</ul>",
- "num_lexemes": 21,
- "num_missing": 21,
- "dependencies": [
- "string"
], - "known_lexemes": [
- [
- "4ed12bd7fbaf821182a32a1822971ce3",
- "8848fe62ccc44f69b54aae32f5c860c3"
]
], - "words": [
- "string"
], - "num_sessions_for_level": 3,
- "strength_no_disabled_no_character": 0,
- "strength_no_disabled": 0,
- "short": "Quote 1",
- "grammar": true,
- "name": "Indirect Quotation",
- "language": "ko",
- "is_new_grammar": true,
- "new_index": 52,
- "progress_percent": 0,
- "mastered": true
}
], - "level_points": 600,
- "useSmartReminderTime": true,
- "max_depth_learned": 2,
- "points": 2017,
- "immersion_enabled": true,
- "placement_test": {
- "attempts": 1
}, - "exempt_from_health": true,
- "max_tree_level": 3
}
}, - "last_streak": {
- "shortened_product_id": "streak_12",
- "is_available_for_repair": true,
- "google_play_product_id": "com.duolingo.purchase.streakrepair.12",
- "product_id": "streak_12",
- "days_ago": 0,
- "length": 1975,
- "last_reached_goal": 1654855200000
}, - "push_night_owl": true,
- "deactivated": true,
- "auto_facebook_post": true,
- "notify_schools_newsletter": true,
- "push_clubs": true,
- "site_streak": 0,
- "notification_sms_disabled": true,
- "email_det_marketing": true,
- "notify_edit_suggested": true,
- "dict_base_url": "string",
- "languages": [
- {
- "streak": 1975,
- "language_string": "Greek",
- "points": 0,
- "learning": true,
- "language": "el",
- "level": 1,
- "current_learning": true,
- "sentences_translated": 0,
- "to_next_level": 60
}
], - "push_edit_suggested": true,
- "twitter_id": "string",
- "transliterate": true,
- "push_follow": true,
- "email_events_digest": true,
- "sound_effects": true,
- "location": "string",
- "facebook_id": "string",
- "browser_language": "string",
- "notify_schools_promotion": true,
- "intentory": {
- "idioms_es": "2017-04-08 21:48:10.579000",
- "streak_freeze": "2017-04-08 21:48:10.579000",
- "timed_practice": "2017-04-08 21:48:10.579000",
- "idioms_fr": "2017-04-08 21:48:10.579000",
- "flirting_es": "2017-04-08 21:48:10.579000",
- "christmas_de": "2017-04-08 21:48:10.579000",
- "superhero_outfit": "2017-04-08 21:48:10.579000",
- "luxury_outfit": "2017-04-08 21:48:10.579000",
- "flirting_fr": "2017-04-08 21:48:10.579000",
- "streak_repair": "2017-04-08 21:48:10.579000",
- "formal_outfit": "2017-04-08 21:48:10.579000",
- "premium_subscription": "2017-04-08 21:48:10.579000",
- "idioms_de": "2017-04-08 21:48:10.579000",
- "flirting_de": "2017-04-08 21:48:10.579000",
- "society_streak_freeze": "2017-04-08 21:48:10.579000",
- "gem_wager": 4
}, - "username": "string",
- "bio": "string",
- "tts_cdn_url": "string",
- "created": "string",
- "push_activity_reply": true,
- "learning_language_string": "string",
- "push_comment": true,
- "notification_whatsapp_enabled": true,
- "streak_extended_today": true,
- "notify_activity_comment": true,
- "email_streak_saver": true,
- "requires_parental_consent": true,
- "trial_account": true,
- "push_passed": true,
- "notify_classroom_join": true,
- "notify_classroom_leave": true,
- "notify_assignment": true,
- "push_schools_assignment": true,
- "gplus_id": "string",
- "ui_language": "string",
- "notify_stream_post": true,
- "fullname": "string",
- "notify_pass": true,
- "notify_announcement": true,
- "push_early_bird": true,
- "upload-self-service": true,
- "has_observer": true,
- "tts_base_url_http": "string",
- "creation_date": "string",
- "push_streak_freeze_used": true,
- "push_activity_comment": true,
- "timezone": "Europe/Berlin",
- "calendar": [
- {
- "skill_id": "ab367af4584214cc1fb3bb63cd8a6136",
- "improvement": 20,
- "event_type": "lesson",
- "datetime": 1653810257000
}
], - "insite_sentence_edited": true,
- "id": 14397890,
- "current_time": 1654847458585,
- "push_leaderboards": true,
- "push_announcement": true,
- "ads_enabled": true,
- "change-design": true,
- "speaker": true,
- "created_dt": 1383394032000,
- "is_self_observer": true,
- "notify_activity_reply": true,
- "push_stream_post": true,
- "email": "test@example.com",
- "week_old_account": true,
- "avatar": "//simg-ssl.duolingo.com/avatars/14397890/tYbGH_JcRd",
- "daily_goal": 30,
- "email_promotion": true,
- "notify_schools_announcement": true,
- "timezone_offset": "+0200",
- "microphone": true,
- "num_classrooms": 0,
- "snooze_expiration_time": 0,
- "notify_follow": true,
- "freeze-permissions": true,
- "is_observer": true,
- "notify_weekly_report": true,
- "delete-permissions": true,
- "notify_comment": true,
- "insite_immersion_lingots": true,
- "rupees": 21348,
- "notify_weekly_progress_report": true,
- "notify_assignment_complete": true,
- "admin": true,
- "email_verified": true,
- "learning_language": "ko",
- "push_happy_hour": true,
- "num_observees": 0,
- "email_word_of_the_day": true,
- "notify_clubs": true,
- "push_promotion": true,
- "notify_schools_product_update": true,
- "notification_wechat_enabled": true,
- "autoplay": true,
- "push_streak_saver": true,
- "email_streak_freeze_used": true
}Set User Language/Course
| userID required | integer >= 1 User ID |
| fields | Array of strings Fields to retrieve |
The user to create.
| courseId | string |
| fromLanguage | string |
| learningLanguage | string |
{- "courseId": "DUOLINGO_KO_EN",
- "fromLanguage": "en",
- "learningLanguage": "ko"
}User information.
| userID required | integer >= 1 User ID |
| fields | Array of strings Fields to retrieve |
{- "id": 0,
- "name": "string",
- "monthlyXp": 0,
- "streak": 0,
- "motivation": "string",
- "picture": "string",
- "learningLanguage": "string",
- "hasFacebookId": true,
- "facebookId": "string",
- "inviteURL": "string",
- "canUseModerationTools": true,
- "fromLanguage": "string",
- "_achievements": [
- {
- "tier": 0,
- "count": 0,
- "tierCounts": [
- 0
], - "name": "string",
- "shouldShowUnlock": true
}
], - "location": "string",
- "username": "string",
- "bio": "string",
- "hasGoogleId": true,
- "optionalFeatures": [
- {
- "id": "string",
- "status": "string"
}
], - "currentCourse": {
- "status": "string",
- "learningLanguage": "string",
- "healthEnabled": true,
- "xp": 0,
- "wordsLearned": 0,
- "id": "string",
- "fromLanguage": "string",
- "title": "string",
- "smartTips": [
- {
- "url": "string",
- "smartTipId": "string"
}
], - "trackingProperties": {
- "direction": "string",
- "total_crowns": 0,
- "took_placementtest": true,
- "learning_language": "string",
- "gold_skill_count": 0,
- "gold_tree_percent": 0,
- "num_skills_newly_decayed": 0,
- "num_skills_decayed": 0,
- "ui_language": "string",
- "max_tree_level": 0
}, - "crowns": 0,
- "progressQuizHistory": [
- {
- "endTime": 0,
- "score": 0,
- "startTime": 0
}
], - "sections": [
- {
- "numRows": 0,
- "checkpointFinished": true,
- "checkpointAccessible": true,
- "name": "string",
- "summary": "string",
- "preload": true,
- "extraCrowns": 0,
- "placementTestAvailable": true,
- "authorId": "string",
- "progressVersion": 0
}
]
}, - "currentCourseId": "string",
- "hasPhoneNumber": true,
- "creationDate": 0,
- "hasPlus": true,
- "roles": [
- "string"
], - "emailVerified": true,
- "courses": [
- {
- "id": "string",
- "preload": true,
- "placementTestAvailable": true,
- "authorId": "string",
- "title": "string",
- "learningLanguage": "string",
- "xp": 0,
- "healthEnabled": true,
- "fromLanguage": "string",
- "crowns": 0
}
], - "xpGains": [
- {
- "eventType": "string",
- "xp": 0,
- "skillId": "string",
- "time": 0
}
], - "enableSpeaker": true,
- "deactivated": true,
- "emailEditSuggested": true,
- "emailStreakFreezeUsed": true,
- "gems": 0,
- "pushEditSuggested": true,
- "pushAnnouncement": true,
- "totalXp": 0,
- "enableMicrophone": true,
- "insiteImmersionLingots": true,
- "pushPromotion": true,
- "emailStreakSaver": true,
- "insiteSentenceEdited": true,
- "canCreatePearsonClassroom": true,
- "xpGoal": 0,
- "email": "string",
- "timezone": "string",
- "timezoneOffset": "string",
- "coachOutfit": "string",
- "weeklyXp": 0,
- "lingots": 0,
- "googleId": "string",
- "countryCode": "string",
- "streakData": {
- "length": 0,
- "updatedTimeZone": "string",
- "xpGoal": 0,
- "updatedTimestamp": 0
}, - "referralInfo": {
- "inviterName": "string",
- "unconsumedInviteeName": "string",
- "numBonusesReady": 0,
- "hasReachedCap": true,
- "isEligibleForBonus": true
}, - "pushStreamPost": true,
- "adsEnabled": true,
- "emailAnnouncement": true,
- "xpGoalMetToday": true,
- "pushLeaderboards": true,
- "zapsRemaining": 0,
- "emailSchoolsAnnouncement": true,
- "emailWeeklyProgressReport": true,
- "emailWeeklyReport": true,
- "pushComment": true,
- "pushFollow": true,
- "pushClubs": true,
- "pushStreakSaver": true,
- "emailClassroomJoin": true,
- "emailAssignment": true,
- "emailAssignmentComplete": true,
- "lastStreak": {
- "isAvailableForRepair": true,
- "googlePlayProductId": "string",
- "googlePlayDevPayload": "string",
- "length": 0,
- "daysAgo": 0,
- "lastReachedGoal": 0,
- "shortenedProductId": "string"
}, - "shopItems": [
- {
- "wagerDay": 0,
- "purchaseId": "string",
- "purchaseDate": 0,
- "itemName": "string",
- "id": "string",
- "purchasePrice": 0
}
], - "health": {
- "maxHearts": 0,
- "healthEnabled": true,
- "eligibleForFreeRefill": true,
- "secondsPerHeartSegment": 0,
- "hearts": 0,
- "useHealth": true,
- "secondsUntilNextHeartSegment": 0
}
}User information when not logged in.
| username required | string >= 1 User Name |
{- "users": [
- {
- "id": 0,
- "name": "string",
- "monthlyXp": 0,
- "streak": 0,
- "motivation": "string",
- "picture": "string",
- "learningLanguage": "string",
- "hasFacebookId": true,
- "facebookId": "string",
- "inviteURL": "string",
- "canUseModerationTools": true,
- "fromLanguage": "string",
- "_achievements": [
- {
- "tier": 0,
- "count": 0,
- "tierCounts": [
- 0
], - "name": "string",
- "shouldShowUnlock": true
}
], - "location": "string",
- "username": "string",
- "bio": "string",
- "hasGoogleId": true,
- "optionalFeatures": [
- {
- "id": "string",
- "status": "string"
}
], - "currentCourse": {
- "status": "string",
- "learningLanguage": "string",
- "healthEnabled": true,
- "xp": 0,
- "wordsLearned": 0,
- "id": "string",
- "fromLanguage": "string",
- "title": "string",
- "smartTips": [
- {
- "url": "string",
- "smartTipId": "string"
}
], - "trackingProperties": {
- "direction": "string",
- "total_crowns": 0,
- "took_placementtest": true,
- "learning_language": "string",
- "gold_skill_count": 0,
- "gold_tree_percent": 0,
- "num_skills_newly_decayed": 0,
- "num_skills_decayed": 0,
- "ui_language": "string",
- "max_tree_level": 0
}, - "crowns": 0,
- "progressQuizHistory": [
- {
- "endTime": 0,
- "score": 0,
- "startTime": 0
}
], - "sections": [
- {
- "numRows": 0,
- "checkpointFinished": true,
- "checkpointAccessible": true,
- "name": "string",
- "summary": "string",
- "preload": true,
- "extraCrowns": 0,
- "placementTestAvailable": true,
- "authorId": "string",
- "progressVersion": 0
}
]
}, - "currentCourseId": "string",
- "hasPhoneNumber": true,
- "creationDate": 0,
- "hasPlus": true,
- "roles": [
- "string"
], - "emailVerified": true,
- "courses": [
- {
- "id": "string",
- "preload": true,
- "placementTestAvailable": true,
- "authorId": "string",
- "title": "string",
- "learningLanguage": "string",
- "xp": 0,
- "healthEnabled": true,
- "fromLanguage": "string",
- "crowns": 0
}
], - "xpGains": [
- {
- "eventType": "string",
- "xp": 0,
- "skillId": "string",
- "time": 0
}
], - "enableSpeaker": true,
- "deactivated": true,
- "emailEditSuggested": true,
- "emailStreakFreezeUsed": true,
- "gems": 0,
- "pushEditSuggested": true,
- "pushAnnouncement": true,
- "totalXp": 0,
- "enableMicrophone": true,
- "insiteImmersionLingots": true,
- "pushPromotion": true,
- "emailStreakSaver": true,
- "insiteSentenceEdited": true,
- "canCreatePearsonClassroom": true,
- "xpGoal": 0,
- "email": "string",
- "timezone": "string",
- "timezoneOffset": "string",
- "coachOutfit": "string",
- "weeklyXp": 0,
- "lingots": 0,
- "googleId": "string",
- "countryCode": "string",
- "streakData": {
- "length": 0,
- "updatedTimeZone": "string",
- "xpGoal": 0,
- "updatedTimestamp": 0
}, - "referralInfo": {
- "inviterName": "string",
- "unconsumedInviteeName": "string",
- "numBonusesReady": 0,
- "hasReachedCap": true,
- "isEligibleForBonus": true
}, - "pushStreamPost": true,
- "adsEnabled": true,
- "emailAnnouncement": true,
- "xpGoalMetToday": true,
- "pushLeaderboards": true,
- "zapsRemaining": 0,
- "emailSchoolsAnnouncement": true,
- "emailWeeklyProgressReport": true,
- "emailWeeklyReport": true,
- "pushComment": true,
- "pushFollow": true,
- "pushClubs": true,
- "pushStreakSaver": true,
- "emailClassroomJoin": true,
- "emailAssignment": true,
- "emailAssignmentComplete": true,
- "lastStreak": {
- "isAvailableForRepair": true,
- "googlePlayProductId": "string",
- "googlePlayDevPayload": "string",
- "length": 0,
- "daysAgo": 0,
- "lastReachedGoal": 0,
- "shortenedProductId": "string"
}, - "shopItems": [
- {
- "wagerDay": 0,
- "purchaseId": "string",
- "purchaseDate": 0,
- "itemName": "string",
- "id": "string",
- "purchasePrice": 0
}
], - "health": {
- "maxHearts": 0,
- "healthEnabled": true,
- "eligibleForFreeRefill": true,
- "secondsPerHeartSegment": 0,
- "hearts": 0,
- "useHealth": true,
- "secondsUntilNextHeartSegment": 0
}
}
]
}User subscription.
| userID required | integer >= 1 UserID |
{- "subscriptions": [
- {
- "id": 0,
- "name": "string",
- "monthlyXp": 0,
- "streak": 0,
- "motivation": "string",
- "picture": "string",
- "learningLanguage": "string",
- "hasFacebookId": true,
- "facebookId": "string",
- "inviteURL": "string",
- "canUseModerationTools": true,
- "fromLanguage": "string",
- "_achievements": [
- {
- "tier": 0,
- "count": 0,
- "tierCounts": [
- 0
], - "name": "string",
- "shouldShowUnlock": true
}
], - "location": "string",
- "username": "string",
- "bio": "string",
- "hasGoogleId": true,
- "optionalFeatures": [
- {
- "id": "string",
- "status": "string"
}
], - "currentCourse": {
- "status": "string",
- "learningLanguage": "string",
- "healthEnabled": true,
- "xp": 0,
- "wordsLearned": 0,
- "id": "string",
- "fromLanguage": "string",
- "title": "string",
- "smartTips": [
- {
- "url": "string",
- "smartTipId": "string"
}
], - "trackingProperties": {
- "direction": "string",
- "total_crowns": 0,
- "took_placementtest": true,
- "learning_language": "string",
- "gold_skill_count": 0,
- "gold_tree_percent": 0,
- "num_skills_newly_decayed": 0,
- "num_skills_decayed": 0,
- "ui_language": "string",
- "max_tree_level": 0
}, - "crowns": 0,
- "progressQuizHistory": [
- {
- "endTime": 0,
- "score": 0,
- "startTime": 0
}
], - "sections": [
- {
- "numRows": 0,
- "checkpointFinished": true,
- "checkpointAccessible": true,
- "name": "string",
- "summary": "string",
- "preload": true,
- "extraCrowns": 0,
- "placementTestAvailable": true,
- "authorId": "string",
- "progressVersion": 0
}
]
}, - "currentCourseId": "string",
- "hasPhoneNumber": true,
- "creationDate": 0,
- "hasPlus": true,
- "roles": [
- "string"
], - "emailVerified": true,
- "courses": [
- {
- "id": "string",
- "preload": true,
- "placementTestAvailable": true,
- "authorId": "string",
- "title": "string",
- "learningLanguage": "string",
- "xp": 0,
- "healthEnabled": true,
- "fromLanguage": "string",
- "crowns": 0
}
], - "xpGains": [
- {
- "eventType": "string",
- "xp": 0,
- "skillId": "string",
- "time": 0
}
], - "enableSpeaker": true,
- "deactivated": true,
- "emailEditSuggested": true,
- "emailStreakFreezeUsed": true,
- "gems": 0,
- "pushEditSuggested": true,
- "pushAnnouncement": true,
- "totalXp": 0,
- "enableMicrophone": true,
- "insiteImmersionLingots": true,
- "pushPromotion": true,
- "emailStreakSaver": true,
- "insiteSentenceEdited": true,
- "canCreatePearsonClassroom": true,
- "xpGoal": 0,
- "email": "string",
- "timezone": "string",
- "timezoneOffset": "string",
- "coachOutfit": "string",
- "weeklyXp": 0,
- "lingots": 0,
- "googleId": "string",
- "countryCode": "string",
- "streakData": {
- "length": 0,
- "updatedTimeZone": "string",
- "xpGoal": 0,
- "updatedTimestamp": 0
}, - "referralInfo": {
- "inviterName": "string",
- "unconsumedInviteeName": "string",
- "numBonusesReady": 0,
- "hasReachedCap": true,
- "isEligibleForBonus": true
}, - "pushStreamPost": true,
- "adsEnabled": true,
- "emailAnnouncement": true,
- "xpGoalMetToday": true,
- "pushLeaderboards": true,
- "zapsRemaining": 0,
- "emailSchoolsAnnouncement": true,
- "emailWeeklyProgressReport": true,
- "emailWeeklyReport": true,
- "pushComment": true,
- "pushFollow": true,
- "pushClubs": true,
- "pushStreakSaver": true,
- "emailClassroomJoin": true,
- "emailAssignment": true,
- "emailAssignmentComplete": true,
- "lastStreak": {
- "isAvailableForRepair": true,
- "googlePlayProductId": "string",
- "googlePlayDevPayload": "string",
- "length": 0,
- "daysAgo": 0,
- "lastReachedGoal": 0,
- "shortenedProductId": "string"
}, - "shopItems": [
- {
- "wagerDay": 0,
- "purchaseId": "string",
- "purchaseDate": 0,
- "itemName": "string",
- "id": "string",
- "purchasePrice": 0
}
], - "health": {
- "maxHearts": 0,
- "healthEnabled": true,
- "eligibleForFreeRefill": true,
- "secondsPerHeartSegment": 0,
- "hearts": 0,
- "useHealth": true,
- "secondsUntilNextHeartSegment": 0
}
}
]
}User summaries.
| userID required | integer >= 1 UserID |
| timezone required | string >= 1 Time zone |
{- "summaries": [
- {
- "gainedXp": 0,
- "frozen": true,
- "streakExtended": true,
- "userId": 0,
- "dailyGoalXp": 0,
- "date": 0,
- "repaired": true,
- "shielded": true,
- "totalSessionTime": 0,
- "numSessions": 0
}
]
}Mistakes count
| userID required | integer UserID |
| courseID required | string CourseID |
| includeListening | boolean Include Listening |
| includeSpeaking | boolean Include Speaking |
{- "numberMistakes": 49
}Friends matches for a user
| userID required | integer >= 1 UserID |
| activityName | string Example: activityName=friendsStreak Activity name |
{- "FriendsStreak": {
- "emptySlots": 0,
- "confirmedMatches": [
- {
- "confirmId": "string",
- "confirmTimestamp": 0,
- "endTimestamp": 0,
- "initiatedByStranger": true,
- "inviteTimestamp": 0,
- "matchHistoryCount": 0,
- "matchId": "string",
- "usersInMatch": [
- {
- "hasAcknowledgedConfirm": true,
- "hasAcknowledgedEnd": true,
- "isConfirmed": true,
- "name": "string",
- "picture": "string",
- "userId": 0
}
]
}
], - "endedConfirmedMatches": [
- {
- "confirmId": "string",
- "confirmTimestamp": 0,
- "endTimestamp": 0,
- "initiatedByStranger": true,
- "inviteTimestamp": 0,
- "matchHistoryCount": 0,
- "matchId": "string",
- "usersInMatch": [
- {
- "hasAcknowledgedConfirm": true,
- "hasAcknowledgedEnd": true,
- "isConfirmed": true,
- "name": "string",
- "picture": "string",
- "userId": 0
}
]
}
], - "pendingMatches": [
- {
- "confirmId": "string",
- "confirmTimestamp": 0,
- "endTimestamp": 0,
- "initiatedByStranger": true,
- "inviteTimestamp": 0,
- "matchHistoryCount": 0,
- "matchId": "string",
- "usersInMatch": [
- {
- "hasAcknowledgedConfirm": true,
- "hasAcknowledgedEnd": true,
- "isConfirmed": true,
- "name": "string",
- "picture": "string",
- "userId": 0
}
]
}
]
}
}{- "shopItems": [
- {
- "iconId": 63,
- "name": "Idioms and Proverbs",
- "localizedDescription": "Learn some German idioms and proverbs.",
- "price": 30,
- "id": "idioms",
- "type": "bonus_skill",
- "currencyType": "XLG",
- "skillId": "167c39ab049e169fb474f18c5ac5c906"
}
]
}[- {
- "comment": true,
- "streak": true,
- "translator_promotion": true,
- "invite": true,
- "pretty_datetime": "string",
- "datetime": "string",
- "user": {
- "username": "string",
- "id": 0,
- "avatar": "string"
}, - "unseen": true,
- "pass": true,
- "follow": true,
- "translation": true,
- "id": 0,
- "lingot_icon": true,
- "streak_days": 0,
- "document_lingots": true,
- "num_rupees": 0,
- "translation_lingots": true
}
]