Step List
ViewSet for Steps.
GET /api/steps/?format=api&page=20
{ "count": 390, "next": null, "previous": "http://roskov.driad.fr/api/steps/?format=api&page=19", "results": [ { "id": 10, "sub_level": 2, "order": 5, "step_type": "game_multiple_choice", "step_type_display": "Game - Multiple Choice", "title": "Choix multiples - Consonnes simples", "description": "Testez vos connaissances avec des questions à choix multiples", "is_required": true, "config": { "game_mode": "multiple_choice", "instructions": "Choisissez la bonne prononciation pour chaque lettre.", "min_score": 75, "level": 1, "sub_level": 2 }, "is_active": true, "is_completed": false, "progress": { "is_completed": false, "completed_at": null, "score": null, "attempts": 0, "best_score": null }, "created_at": "2026-01-17T18:41:45.916902Z", "updated_at": "2026-01-17T18:41:45.916912Z" }, { "id": 15, "sub_level": 3, "order": 5, "step_type": "game_multiple_choice", "step_type_display": "Game - Multiple Choice", "title": "Choix multiples - Consonnes complexes", "description": "Testez vos connaissances avec des questions à choix multiples", "is_required": true, "config": { "game_mode": "multiple_choice", "instructions": "Choisissez la bonne prononciation pour chaque lettre.", "min_score": 75, "level": 1, "sub_level": 3 }, "is_active": true, "is_completed": false, "progress": { "is_completed": false, "completed_at": null, "score": null, "attempts": 0, "best_score": null }, "created_at": "2026-01-17T18:41:45.939071Z", "updated_at": "2026-01-17T18:41:45.939081Z" }, { "id": 20, "sub_level": 4, "order": 5, "step_type": "game_multiple_choice", "step_type_display": "Game - Multiple Choice", "title": "Choix multiples - Lettres spéciales", "description": "Testez vos connaissances avec des questions à choix multiples", "is_required": true, "config": { "game_mode": "multiple_choice", "instructions": "Choisissez la bonne prononciation pour chaque lettre.", "min_score": 75, "level": 1, "sub_level": 4 }, "is_active": true, "is_completed": false, "progress": { "is_completed": false, "completed_at": null, "score": null, "attempts": 0, "best_score": null }, "created_at": "2026-01-17T18:41:45.960871Z", "updated_at": "2026-01-17T18:41:45.960881Z" }, { "id": 380, "sub_level": 29, "order": 5, "step_type": "intro", "step_type_display": "Introduction Lesson", "title": "Introduction - Nominatif", "description": "# Nominatif\n\nLe cas nominatif (sujet)\n\n## Grammaire - Nominatif\n\nLe cas nominatif (sujet)\n\nApprenez les terminaisons et l'utilisation du cas nominatif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 20 mo", "is_required": true, "config": { "content": "# Nominatif\n\nLe cas nominatif (sujet)\n\n## Grammaire - Nominatif\n\nLe cas nominatif (sujet)\n\nApprenez les terminaisons et l'utilisation du cas nominatif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 20 mot(s) à apprendre.\n", "word_pairs": [ 462, 441, 439, 449, 448, 450, 454, 455, 458, 460, 452, 451, 456, 459, 453, 457, 461, 442, 440, 438 ] }, "is_active": true, "is_completed": false, "progress": { "is_completed": false, "completed_at": null, "score": null, "attempts": 0, "best_score": null }, "created_at": "2026-01-17T18:41:55.180858Z", "updated_at": "2026-01-17T18:41:55.180874Z" }, { "id": 381, "sub_level": 30, "order": 5, "step_type": "intro", "step_type_display": "Introduction Lesson", "title": "Introduction - Génitif", "description": "# Génitif\n\nLe cas génitif (possession)\n\n## Grammaire - Génitif\n\nLe cas génitif (possession)\n\nApprenez les terminaisons et l'utilisation du cas génitif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mo", "is_required": true, "config": { "content": "# Génitif\n\nLe cas génitif (possession)\n\n## Grammaire - Génitif\n\nLe cas génitif (possession)\n\nApprenez les terminaisons et l'utilisation du cas génitif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mot(s) à apprendre.\n", "word_pairs": [ 472, 477, 479, 470, 476, 474, 475, 478, 471, 473, 443, 463 ] }, "is_active": true, "is_completed": false, "progress": { "is_completed": false, "completed_at": null, "score": null, "attempts": 0, "best_score": null }, "created_at": "2026-01-17T18:41:55.186168Z", "updated_at": "2026-01-17T18:41:55.186179Z" }, { "id": 382, "sub_level": 31, "order": 5, "step_type": "intro", "step_type_display": "Introduction Lesson", "title": "Introduction - Datif", "description": "# Datif\n\nLe cas datif (à/pour)\n\n## Grammaire - Datif\n\nLe cas datif (à/pour)\n\nApprenez les terminaisons et l'utilisation du cas datif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mot(s) à apprendre.\n", "is_required": true, "config": { "content": "# Datif\n\nLe cas datif (à/pour)\n\n## Grammaire - Datif\n\nLe cas datif (à/pour)\n\nApprenez les terminaisons et l'utilisation du cas datif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mot(s) à apprendre.\n", "word_pairs": [ 485, 488, 481, 483, 444, 464, 482, 487, 489, 480, 486, 484 ] }, "is_active": true, "is_completed": false, "progress": { "is_completed": false, "completed_at": null, "score": null, "attempts": 0, "best_score": null }, "created_at": "2026-01-17T18:41:55.191674Z", "updated_at": "2026-01-17T18:41:55.191684Z" }, { "id": 383, "sub_level": 32, "order": 5, "step_type": "intro", "step_type_display": "Introduction Lesson", "title": "Introduction - Accusatif", "description": "# Accusatif\n\nLe cas accusatif (objet direct)\n\n## Grammaire - Accusatif\n\nLe cas accusatif (objet direct)\n\nApprenez les terminaisons et l'utilisation du cas accusatif.\n\n\n### Vocabulaire\n\nCe sous-niveau ", "is_required": true, "config": { "content": "# Accusatif\n\nLe cas accusatif (objet direct)\n\n## Grammaire - Accusatif\n\nLe cas accusatif (objet direct)\n\nApprenez les terminaisons et l'utilisation du cas accusatif.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mot(s) à apprendre.\n", "word_pairs": [ 445, 492, 465, 491, 493, 497, 499, 490, 496, 494, 495, 498 ] }, "is_active": true, "is_completed": false, "progress": { "is_completed": false, "completed_at": null, "score": null, "attempts": 0, "best_score": null }, "created_at": "2026-01-17T18:41:55.196859Z", "updated_at": "2026-01-17T18:41:55.196869Z" }, { "id": 384, "sub_level": 33, "order": 5, "step_type": "intro", "step_type_display": "Introduction Lesson", "title": "Introduction - Instrumental", "description": "# Instrumental\n\nLe cas instrumental (avec/par)\n\n## Grammaire - Instrumental\n\nLe cas instrumental (avec/par)\n\nApprenez les terminaisons et l'utilisation du cas instrumental.\n\n\n### Vocabulaire\n\nCe sous-", "is_required": true, "config": { "content": "# Instrumental\n\nLe cas instrumental (avec/par)\n\n## Grammaire - Instrumental\n\nLe cas instrumental (avec/par)\n\nApprenez les terminaisons et l'utilisation du cas instrumental.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 12 mot(s) à apprendre.\n", "word_pairs": [ 502, 507, 509, 500, 506, 504, 505, 508, 501, 503, 446, 466 ] }, "is_active": true, "is_completed": false, "progress": { "is_completed": false, "completed_at": null, "score": null, "attempts": 0, "best_score": null }, "created_at": "2026-01-17T18:41:55.201875Z", "updated_at": "2026-01-17T18:41:55.201885Z" }, { "id": 385, "sub_level": 34, "order": 5, "step_type": "intro", "step_type_display": "Introduction Lesson", "title": "Introduction - Prépositionnel", "description": "# Prépositionnel\n\nLe cas prépositionnel (dans/sur)\n\n## Grammaire - Prépositionnel\n\nLe cas prépositionnel (dans/sur)\n\nApprenez les terminaisons et l'utilisation du cas prépositionnel.\n\n\n### Vocabulaire", "is_required": true, "config": { "content": "# Prépositionnel\n\nLe cas prépositionnel (dans/sur)\n\n## Grammaire - Prépositionnel\n\nLe cas prépositionnel (dans/sur)\n\nApprenez les terminaisons et l'utilisation du cas prépositionnel.\n\n\n### Vocabulaire\n\nCe sous-niveau contient 24 mot(s) à apprendre.\n", "word_pairs": [ 512, 517, 519, 510, 516, 468, 514, 515, 518, 511, 513, 447, 522, 527, 529, 520, 526, 469, 524, 525, 528, 521, 523, 467 ] }, "is_active": true, "is_completed": false, "progress": { "is_completed": false, "completed_at": null, "score": null, "attempts": 0, "best_score": null }, "created_at": "2026-01-17T18:41:55.207592Z", "updated_at": "2026-01-17T18:41:55.207602Z" }, { "id": 390, "sub_level": 96, "order": 5, "step_type": "game_multiple_choice", "step_type_display": "Game - Multiple Choice", "title": "Выбор правильного ответа", "description": "Выберите правильный перевод для каждого слова", "is_required": false, "config": { "game_mode": "multiple_choice", "instructions": "Выберите правильный перевод для каждого русского слова.", "min_score": 75, "level": 1, "sub_level": 1 }, "is_active": true, "is_completed": false, "progress": { "is_completed": false, "completed_at": null, "score": null, "attempts": 0, "best_score": null }, "created_at": "2026-01-17T18:41:56.012183Z", "updated_at": "2026-01-17T18:41:56.012194Z" } ] }