ViewSet for Steps.

GET /api/steps/?format=api&page=20
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "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"
        }
    ]
}
Sub-level this step belongs to
Ordre d'affichage des steps
Type of step/content
Titre du step
Description du step
Step obligatoire pour compléter le sous-niveau
Step-specific configuration and content (video URL, game config, card content, etc.)