openapi: 3.0.3 info: title: 'Waklass API Documentation' description: '' version: 1.0.0 servers: - url: 'https://api.waklass.com' paths: /api/paymentsall: post: summary: 'Lister les recharges effectuées' operationId: listerLesRechargesEffectues description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: success: false message: 'Accès non autorisé, veuillez vous authentifier' statusCode: 401 properties: data: type: object properties: success: type: boolean example: false message: type: string example: 'Accès non autorisé, veuillez vous authentifier' statusCode: type: integer example: 401 tags: - Admin requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: required. example: 1 nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 14 nullable: true status: type: string description: '' example: canceled nullable: false enum: - initiated - pending - success - failed - canceled filter_value: type: string. description: '' example: '0' nullable: true /api/admin/settingsall: post: summary: 'Lister les variables de configuration' operationId: listerLesVariablesDeConfiguration description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Admin requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: required. example: 1 nullable: false filter_value: type: string description: '' example: nihil nullable: true '/api/admin/settings/{id}': get: summary: "Détails d'une variable de configuration" operationId: dtailsDuneVariableDeConfiguration description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Admin put: summary: "maj de la valeur d'une variable de configuration" operationId: majDeLaValeurDuneVariableDeConfiguration description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Admin requestBody: required: true content: application/json: schema: type: object properties: value: type: integer description: '' example: 18 nullable: false required: - value parameters: - in: path name: id description: 'Optional parameter. required.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 2 /api/admin/stats: get: summary: 'Statistiques Dashboard Admin' operationId: statistiquesDashboardAdmin description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Admin /api/admin/depositsall: post: summary: 'Lister les recharges des étudiants' operationId: listerLesRechargesDestudiants description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Admin requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: 'Must be at least 1.' example: 12 nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 12 nullable: true status: type: string description: '' example: success nullable: false enum: - initiated - pending - success - failed - canceled filter_value: type: string description: '' example: aut nullable: true '/api/admin/deposits/{id}': get: summary: "Afficher les details d'une recharge étudiant" operationId: afficherLesDetailsDuneRechargetudiant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Admin parameters: - in: path name: id description: 'The ID of the deposit.' example: blanditiis required: true schema: type: string /api/admin/withdrawalsall: post: summary: 'Lister les retraits des enseignants' operationId: listerLesRetraitsDesEnseignants description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Admin requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: 'Must be at least 1.' example: 45 nullable: true user_id: type: integer description: 'The id of an existing record in the users table.' example: 7 nullable: true status: type: string description: '' example: pending nullable: false enum: - initiated - pending - success - failed - canceled filter_value: type: string description: '' example: itaque nullable: true '/api/admin/withdrawals/{id}': get: summary: "Afficher les détails d'un retrait enseignant" operationId: afficherLesDtailsDunRetraitEnseignant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Admin put: summary: 'Modifier une demande de retrait' operationId: modifierUneDemandeDeRetrait description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Admin requestBody: required: true content: application/json: schema: type: object properties: status: type: string description: '' example: pending nullable: false enum: - initiated - pending - success - failed - canceled details: type: string description: '' example: doloremque nullable: true ref: type: string description: '' example: voluptas nullable: true required: - status parameters: - in: path name: id description: 'The ID of the withdrawal.' example: aut required: true schema: type: string /api/admin/rooms: get: summary: 'Lister les discussions avec les utilisateurs' operationId: listerLesDiscussionsAvecLesUtilisateurs description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: - uuid: acb83edf-6627-11ef-9d00-144f8a6f9384 user: id: 35 name: 'Rose perpetue Eone' email: eoneroseperpetue@gmail.com phone_number: '' last_message: null properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: array example: - uuid: acb83edf-6627-11ef-9d00-144f8a6f9384 user: id: 35 name: 'Rose perpetue Eone' email: eoneroseperpetue@gmail.com phone_number: '' last_message: null items: type: object properties: uuid: type: string example: acb83edf-6627-11ef-9d00-144f8a6f9384 user: type: object properties: id: type: integer example: 35 name: type: string example: 'Rose perpetue Eone' email: type: string example: eoneroseperpetue@gmail.com phone_number: type: string example: '' last_message: type: string example: null tags: - Admin '/api/admin/rooms/{uuid}': get: summary: "Lister les messages d'une discussion particulière des admins avec un utilisateur" operationId: listerLesMessagesDuneDiscussionParticulireDesAdminsAvecUnUtilisateur description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: uuid: acb83edf-6627-11ef-9d00-144f8a6f9384 user_id: 35 last_message_at: '' created_at: '2024-08-29T17:56:08.000000Z' updated_at: '2024-08-29T17:56:08.000000Z' messages: [] properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: uuid: type: string example: acb83edf-6627-11ef-9d00-144f8a6f9384 user_id: type: integer example: 35 last_message_at: type: string example: '' created_at: type: string example: '2024-08-29T17:56:08.000000Z' updated_at: type: string example: '2024-08-29T17:56:08.000000Z' messages: type: array example: [] tags: - Admin parameters: - in: path name: uuid description: '' example: 3f23fa51-1652-3033-8ce3-ce03b215f129 required: true schema: type: string /api/admin/admins: get: summary: 'Lister les admins dans le système' operationId: listerLesAdminsDansLeSystme description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: - id: 1 name: 'Admin des Admins' email: admin@example.com phone_number: null status: active level: su created_at: null updated_at: null - id: 7 name: 'Admin 2' email: admin3@example.com phone_number: '6450 54054' status: inactive level: default created_at: '2024-09-02T07:03:45.000000Z' updated_at: '2024-09-02T07:03:45.000000Z' - id: 8 name: 'Admin 2' email: admin4@example.com phone_number: '645054054' status: active level: default created_at: '2024-09-02T07:06:37.000000Z' updated_at: '2024-09-02T07:06:37.000000Z' - id: 9 name: 'Admin 2' email: admin5@example.com phone_number: '64505544054' status: active level: default created_at: '2024-09-02T07:07:18.000000Z' updated_at: '2024-09-02T07:07:18.000000Z' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: array example: - id: 1 name: 'Admin des Admins' email: admin@example.com phone_number: null status: active level: su created_at: null updated_at: null - id: 7 name: 'Admin 2' email: admin3@example.com phone_number: '6450 54054' status: inactive level: default created_at: '2024-09-02T07:03:45.000000Z' updated_at: '2024-09-02T07:03:45.000000Z' - id: 8 name: 'Admin 2' email: admin4@example.com phone_number: '645054054' status: active level: default created_at: '2024-09-02T07:06:37.000000Z' updated_at: '2024-09-02T07:06:37.000000Z' - id: 9 name: 'Admin 2' email: admin5@example.com phone_number: '64505544054' status: active level: default created_at: '2024-09-02T07:07:18.000000Z' updated_at: '2024-09-02T07:07:18.000000Z' items: type: object properties: id: type: integer example: 1 name: type: string example: 'Admin des Admins' email: type: string example: admin@example.com phone_number: type: string example: null status: type: string example: active level: type: string example: su created_at: type: string example: null updated_at: type: string example: null tags: - Admin post: summary: 'Ajouter un admin' operationId: ajouterUnAdmin description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 201 data: 'Admin successfully added.' properties: success: type: boolean example: true statusCode: type: integer example: 201 data: type: string example: 'Admin successfully added.' tags: - Admin requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: doloribus nullable: false email: type: string description: 'Must be a valid email address.' example: wilber.dickinson@example.com nullable: false password: type: string description: 'Must be at least 8 characters.' example: ^\E.G2a_7G nullable: false phone_number: type: string description: '' example: tenetur nullable: false required: - name - email - password - phone_number '/api/admin/admins/{id}': get: summary: "Afficher les informations d'un Admin" operationId: afficherLesInformationsDunAdmin description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: id: 9 name: 'Admin 2' email: admin5@example.com phone_number: '64505544054' status: active level: default created_at: '2024-09-02T07:07:18.000000Z' updated_at: '2024-09-02T07:07:18.000000Z' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: id: type: integer example: 9 name: type: string example: 'Admin 2' email: type: string example: admin5@example.com phone_number: type: string example: '64505544054' status: type: string example: active level: type: string example: default created_at: type: string example: '2024-09-02T07:07:18.000000Z' updated_at: type: string example: '2024-09-02T07:07:18.000000Z' tags: - Admin put: summary: "Modifier le statut d'un admin" operationId: modifierLeStatutDunAdmin description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: message: 'Admin updated successfully' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: message: type: string example: 'Admin updated successfully' tags: - Admin requestBody: required: true content: application/json: schema: type: object properties: status: type: string description: '' example: active nullable: false enum: - active - inactive required: - status parameters: - in: path name: id description: '' example: 9 required: true schema: type: integer /api/call/init: post: summary: 'Initier un appel audio/vidéo (#STUDENT)' operationId: initierUnAppelAudiovidoSTUDENT description: "L'étudiant initie l'appel et il va donc aussi générer le token que lui et l'enseignant utiliseront pour rester dans leur room privé du p.o.v de Agora" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: message: 'Call initiated.' channel: 5e533d17-601d-482b-8afe-84e9d1d617da token: 0068378c5073a874f9db5cca26980fa2afeIADF2bSOzlbFGRrhZu4OnG9E3s1tKtlitqVOQ7JgJxT8wfxGxpoAAAAAIgAURAAAw2vpZgQAAQBTKOhmAwBTKOhmAgBTKOhmBABTKOhm properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: message: type: string example: 'Call initiated.' channel: type: string example: 5e533d17-601d-482b-8afe-84e9d1d617da token: type: string example: 0068378c5073a874f9db5cca26980fa2afeIADF2bSOzlbFGRrhZu4OnG9E3s1tKtlitqVOQ7JgJxT8wfxGxpoAAAAAIgAURAAAw2vpZgQAAQBTKOhmAwBTKOhmAgBTKOhmBABTKOhm tags: - 'Appels audio/vidéo' requestBody: required: true content: application/json: schema: type: object properties: teacher_user_id: type: integer description: '' example: 42 nullable: false call_type: type: string description: '' example: audio nullable: false enum: - video - audio required: - teacher_user_id - call_type /api/call/reject: post: summary: "Rejeter l'appel d'un étudiant (#TEACHER)" operationId: rejeterLappelDuntudiantTEACHER description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: [] properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: array example: [] tags: - 'Appels audio/vidéo' requestBody: required: true content: application/json: schema: type: object properties: student_user_id: type: integer description: '' example: 39 nullable: false required: - student_user_id /api/call/accept: post: summary: "Accepter l'appel d'un étudiant (#TEACHER)" operationId: accepterLappelDuntudiantTEACHER description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: transaction: service_id: 3 student_id: 20 teacher_id: 25 plan_id: 2 identifier: dc74ac99b0182978a9ffb18db006fcfa updated_at: '2024-09-16T11:51:33.000000Z' created_at: '2024-09-16T11:51:33.000000Z' id: 118 total_cost: 0 total_duration: null teacher: id: 25 name: 'Sung Jeon' plan_id: 2 domains: 'sport, dessin' experience: 15 availability: toujours bio: null verified: '1' created_at: '2024-04-10T12:40:06.000000Z' updated_at: '2024-04-10T12:40:06.000000Z' transactions_count: 64 service: id: 3 name: VIDEO iterator: '60' base_cost: '5' iterator_cost: '1' created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' plan: id: 2 name: B points: 25000 image_cost: 600 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' service: id: 3 name: VIDEO iterator: '60' base_cost: '5' iterator_cost: '1' created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' channel: 5e533d17-601d-482b-8afe-84e9d1d617da token: 0068378c5073a874f9db5cca26980fa2afeIAD9XX5evvjee7SyD8sS/H6M4uMT+MsiaETsy/MPy5VP4vxGxpoAAAAAIgAhKQAAl2zpZgQAAQAnKehmAwAnKehmAgAnKehmBAAnKehm properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: transaction: type: object properties: service_id: type: integer example: 3 student_id: type: integer example: 20 teacher_id: type: integer example: 25 plan_id: type: integer example: 2 identifier: type: string example: dc74ac99b0182978a9ffb18db006fcfa updated_at: type: string example: '2024-09-16T11:51:33.000000Z' created_at: type: string example: '2024-09-16T11:51:33.000000Z' id: type: integer example: 118 total_cost: type: integer example: 0 total_duration: type: string example: null teacher: type: object properties: id: type: integer example: 25 name: type: string example: 'Sung Jeon' plan_id: type: integer example: 2 domains: type: string example: 'sport, dessin' experience: type: integer example: 15 availability: type: string example: toujours bio: type: string example: null verified: type: string example: '1' created_at: type: string example: '2024-04-10T12:40:06.000000Z' updated_at: type: string example: '2024-04-10T12:40:06.000000Z' transactions_count: type: integer example: 64 service: type: object properties: id: type: integer example: 3 name: type: string example: VIDEO iterator: type: string example: '60' base_cost: type: string example: '5' iterator_cost: type: string example: '1' created_at: type: string example: '2023-10-12T08:57:54.000000Z' updated_at: type: string example: '2023-10-12T08:57:54.000000Z' plan: type: object properties: id: type: integer example: 2 name: type: string example: B points: type: integer example: 25000 image_cost: type: integer example: 600 created_at: type: string example: '2023-10-12T08:57:54.000000Z' updated_at: type: string example: '2023-10-12T08:57:54.000000Z' service: type: object properties: id: type: integer example: 3 name: type: string example: VIDEO iterator: type: string example: '60' base_cost: type: string example: '5' iterator_cost: type: string example: '1' created_at: type: string example: '2023-10-12T08:57:54.000000Z' updated_at: type: string example: '2023-10-12T08:57:54.000000Z' channel: type: string example: 5e533d17-601d-482b-8afe-84e9d1d617da token: type: string example: 0068378c5073a874f9db5cca26980fa2afeIAD9XX5evvjee7SyD8sS/H6M4uMT+MsiaETsy/MPy5VP4vxGxpoAAAAAIgAhKQAAl2zpZgQAAQAnKehmAwAnKehmAgAnKehmBAAnKehm tags: - 'Appels audio/vidéo' requestBody: required: true content: application/json: schema: type: object properties: student_user_id: type: integer description: '' example: 39 nullable: false call_type: type: string description: '' example: video nullable: false enum: - video - audio required: - student_user_id - call_type /api/call/bill: post: summary: 'Facturer un appel (#TEACHER)' operationId: facturerUnAppelTEACHER description: "Déduire le pourcentage approprié du compte de l'étudiant et l'envoyer chez l'enseignant" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: [] properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: array example: [] 500: description: '' content: application/json: schema: type: object example: success: false statusCode: 500 message: "Impossible de facturer l'appel" properties: success: type: boolean example: false statusCode: type: integer example: 500 message: type: string example: "Impossible de facturer l'appel" tags: - 'Appels audio/vidéo' requestBody: required: true content: application/json: schema: type: object properties: identifier: type: string description: '' example: dc74ac99b0182978a9ffb18db006fcfa nullable: false required: - identifier /api/call/end: post: summary: 'Mettre fin à un appel' operationId: mettreFinUnAppel description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: [] properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: array example: [] tags: - 'Appels audio/vidéo' requestBody: required: true content: application/json: schema: type: object properties: room_uuid: type: string description: 'Must be a valid UUID. The uuid of an existing record in the rooms table.' example: 45e650e9-de6e-3533-8964-79dd0023abc9 nullable: false identifier: type: string description: 'The identifier of an existing record in the transactions table.' example: velit nullable: false required: - room_uuid - identifier /api/auth/login: post: summary: 'Se connecter' operationId: seConnecter description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false statusCode: 404 message: 'Invalid credentials' properties: success: type: boolean example: false statusCode: type: integer example: 404 message: type: string example: 'Invalid credentials' tags: - Authentication requestBody: required: false content: application/json: schema: type: object properties: email: type: string. description: '' example: email@example.com nullable: false password: type: string. description: '' example: password nullable: false gauth_type: type: string. description: '' example: email nullable: false platform: type: string. description: '' example: student nullable: false security: [] /api/auth/getToken: post: summary: "Mettre à jour le device_key d'un utilisateur (version mobile)" operationId: mettreJourLeDeviceKeyDunUtilisateurversionMobile description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false statusCode: 404 message: 'No query results for model [App\Models\User].' properties: success: type: boolean example: false statusCode: type: integer example: 404 message: type: string example: 'No query results for model [App\Models\User].' tags: - Authentication requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: '' example: suscipit nullable: false password: type: string description: '' example: est nullable: false required: - email - password /api/auth/register: post: summary: 'Créer un compte' operationId: crerUnCompte description: '' parameters: [] responses: 422: description: '' content: application/json: schema: type: object example: message: 'The selected plan is invalid. (and 1 more error)' errors: plan: - 'The selected plan is invalid.' domains.0: - 'The selected domains.0 is invalid.' properties: message: type: string example: 'The selected plan is invalid. (and 1 more error)' errors: type: object properties: plan: type: array example: - 'The selected plan is invalid.' items: type: string domains.0: type: array example: - 'The selected domains.0 is invalid.' items: type: string tags: - Authentication requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: iste nullable: false email: type: string description: 'Must be a valid email address.' example: jazmin34@example.net nullable: false phone_number: type: string description: '' example: ut nullable: false password: type: string description: 'This field is required when gauth_type is email. Must be at least 8 characters.' example: '{6^A~S;H9y,K' nullable: false platform: type: string description: '' example: student nullable: false enum: - student - teacher photo: type: string description: '' example: null nullable: true address: type: string description: '' example: dolores nullable: true city: type: string description: '' example: sit nullable: true country: type: string description: '' example: natus nullable: true about_me: type: string description: '' example: sequi nullable: true gauth_type: type: string description: '' example: email nullable: false enum: - email - google - facebook - apple - phone_number gauth_token: type: string description: '' example: aut nullable: true plan: type: integer description: 'This field is required when platform is teacher. The id of an existing record in the plans table.' example: 20 nullable: false domains: type: array description: 'The id of an existing record in the skills table.' example: - 9 items: type: integer experience: type: integer description: '' example: 19 nullable: true availability: type: string description: '' example: dicta nullable: true bio: type: string description: '' example: quis nullable: true verified: type: boolean description: '' example: false nullable: true level_study: type: string description: '' example: quia nullable: true subjects_interest: type: string description: '' example: sit nullable: true required: - name - email - phone_number - platform - gauth_type - domains /api/auth/register/verify: post: summary: "Vérifier l'inscription d'un nouvel utilisateur avec le code reçu par mail/SMS" operationId: vrifierLinscriptionDunNouvelUtilisateurAvecLeCodeReuParMailSMS description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false statusCode: 404 message: message: 'User not found in our database. Please restart the process.' properties: success: type: boolean example: false statusCode: type: integer example: 404 message: type: object properties: message: type: string example: 'User not found in our database. Please restart the process.' tags: - Authentication requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Must be a valid email address.' example: gottlieb.malvina@example.net nullable: false phone_number: type: string description: '' example: culpa nullable: false code: type: string description: 'Must be at least 6 characters.' example: bumktkfbazleebgncgi nullable: false required: - email - phone_number - code /api/auth/reset-password-send-code: post: summary: 'Demande de réinitialisation du mot de passe' operationId: demandeDeRinitialisationDuMotDePasse description: "Envoi du code par email (si l'email existe dans le système)" parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: message: 'Vérifiez votre boite mail pour le code de réinitialisation de mot de passe.' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: message: type: string example: 'Vérifiez votre boite mail pour le code de réinitialisation de mot de passe.' tags: - Authentication requestBody: required: false content: application/json: schema: type: object properties: email: type: string. description: '' example: email@example.com nullable: false security: [] /api/auth/reset-password-verify-code: post: summary: 'Vérification du code reçu pour réinitialiser le mot de passe' operationId: vrificationDuCodeReuPourRinitialiserLeMotDePasse description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false statusCode: 404 message: 'Code invalide.' properties: success: type: boolean example: false statusCode: type: integer example: 404 message: type: string example: 'Code invalide.' tags: - Authentication requestBody: required: false content: application/json: schema: type: object properties: email: type: string. description: '' example: email@example.com nullable: false code: type: string. description: '' example: PDZQ96O nullable: false security: [] /api/auth/reset-password: post: summary: 'Réinitialisation du mot de passe' operationId: rinitialisationDuMotDePasse description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false statusCode: 404 message: 'Une erreur est survenue. Veuillez recommencer' properties: success: type: boolean example: false statusCode: type: integer example: 404 message: type: string example: 'Une erreur est survenue. Veuillez recommencer' tags: - Authentication requestBody: required: false content: application/json: schema: type: object properties: email: type: string. description: '' example: email@example.com nullable: false password: type: string. description: '' example: password nullable: false security: [] /api/auth/logout: post: summary: "Déconnecter l'utilisateur actuel" operationId: dconnecterLutilisateurActuel description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: message: 'Déconnexion réussie' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: message: type: string example: 'Déconnexion réussie' tags: - Authentication /api/rooms: get: summary: "Lister les conversations d'un utilisateur" operationId: listerLesConversationsDunUtilisateur description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: - uuid: 410a22c6-113f-44a3-b52c-d9a21f4867f7 agora_token: 0068378c5073a874f9db5cca26980fa2afeIAAA07bXIUJErYQJkk4RLTg/cM8AMI38sF9EGrVvSuk3RP+dT4YAAAAAIgBlHAAAnc+9ZQQAAQAtjLxlAwAtjLxlAgAtjLxlBAAtjLxl student: id: 9 name: 'Ngeryi Andy' email: ngeryiandy05@gmail.comm level_study: null subjects_interest: Management photo: 'https://waklass.com/uploads/profiles/image_1704679696862.jpg' teacher: id: 12 name: 'kevine Doria Wandjignou' email: wandjignoukevinedoria@gmail.com domains: History experience: 6 availability: null photo: 'https://waklass.com/uploads/profiles/963C71B1-ACEB-44A9-93E2-AE15A53F6F33.jpeg' last_message: id: 16 room_uuid: 410a22c6-113f-44a3-b52c-d9a21f4867f7 sender_id: 11 message: 'Et j peux aussi t envoyer les photos' time: '6 months before' status: read type: message created_at: '2024-02-02T06:32:48.000000Z' updated_at: '2024-02-02T08:33:25.000000Z' message_link: null created_at: '2024-02-01T17:32:24.000000Z' updated_at: '2024-02-02T06:32:48.000000Z' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: array example: - uuid: 410a22c6-113f-44a3-b52c-d9a21f4867f7 agora_token: 0068378c5073a874f9db5cca26980fa2afeIAAA07bXIUJErYQJkk4RLTg/cM8AMI38sF9EGrVvSuk3RP+dT4YAAAAAIgBlHAAAnc+9ZQQAAQAtjLxlAwAtjLxlAgAtjLxlBAAtjLxl student: id: 9 name: 'Ngeryi Andy' email: ngeryiandy05@gmail.comm level_study: null subjects_interest: Management photo: 'https://waklass.com/uploads/profiles/image_1704679696862.jpg' teacher: id: 12 name: 'kevine Doria Wandjignou' email: wandjignoukevinedoria@gmail.com domains: History experience: 6 availability: null photo: 'https://waklass.com/uploads/profiles/963C71B1-ACEB-44A9-93E2-AE15A53F6F33.jpeg' last_message: id: 16 room_uuid: 410a22c6-113f-44a3-b52c-d9a21f4867f7 sender_id: 11 message: 'Et j peux aussi t envoyer les photos' time: '6 months before' status: read type: message created_at: '2024-02-02T06:32:48.000000Z' updated_at: '2024-02-02T08:33:25.000000Z' message_link: null created_at: '2024-02-01T17:32:24.000000Z' updated_at: '2024-02-02T06:32:48.000000Z' items: type: object properties: uuid: type: string example: 410a22c6-113f-44a3-b52c-d9a21f4867f7 agora_token: type: string example: 0068378c5073a874f9db5cca26980fa2afeIAAA07bXIUJErYQJkk4RLTg/cM8AMI38sF9EGrVvSuk3RP+dT4YAAAAAIgBlHAAAnc+9ZQQAAQAtjLxlAwAtjLxlAgAtjLxlBAAtjLxl student: type: object properties: id: type: integer example: 9 name: type: string example: 'Ngeryi Andy' email: type: string example: ngeryiandy05@gmail.comm level_study: type: string example: null subjects_interest: type: string example: Management photo: type: string example: 'https://waklass.com/uploads/profiles/image_1704679696862.jpg' teacher: type: object properties: id: type: integer example: 12 name: type: string example: 'kevine Doria Wandjignou' email: type: string example: wandjignoukevinedoria@gmail.com domains: type: string example: History experience: type: integer example: 6 availability: type: string example: null photo: type: string example: 'https://waklass.com/uploads/profiles/963C71B1-ACEB-44A9-93E2-AE15A53F6F33.jpeg' last_message: type: object properties: id: type: integer example: 16 room_uuid: type: string example: 410a22c6-113f-44a3-b52c-d9a21f4867f7 sender_id: type: integer example: 11 message: type: string example: 'Et j peux aussi t envoyer les photos' time: type: string example: '6 months before' status: type: string example: read type: type: string example: message created_at: type: string example: '2024-02-02T06:32:48.000000Z' updated_at: type: string example: '2024-02-02T08:33:25.000000Z' message_link: type: string example: null created_at: type: string example: '2024-02-01T17:32:24.000000Z' updated_at: type: string example: '2024-02-02T06:32:48.000000Z' tags: - Chat-Messagerie post: summary: 'Créer une nouvelle discussion (Student uniquement)' operationId: crerUneNouvelleDiscussionStudentUniquement description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: uuid: 1f0ae95d-a91b-4871-895a-274ce4fab758 agora_token: null student: id: 9 name: 'Ngeryi Andy' email: ngeryiandy05@gmail.comm level_study: null subjects_interest: Management photo: 'https://waklass.com/uploads/profiles/image_1704679696862.jpg' teacher: id: 22 name: 'SEGUEDIE Ronald' email: seguedieronald8@gmail.com domains: 'Biologie, zootechnie' experience: 3 availability: null photo: 'https://waklass.com/assets/images/avatars/unknown.png' last_message: null created_at: '2024-08-30T09:03:13.000000Z' updated_at: '2024-08-30T09:03:13.000000Z' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: uuid: type: string example: 1f0ae95d-a91b-4871-895a-274ce4fab758 agora_token: type: string example: null student: type: object properties: id: type: integer example: 9 name: type: string example: 'Ngeryi Andy' email: type: string example: ngeryiandy05@gmail.comm level_study: type: string example: null subjects_interest: type: string example: Management photo: type: string example: 'https://waklass.com/uploads/profiles/image_1704679696862.jpg' teacher: type: object properties: id: type: integer example: 22 name: type: string example: 'SEGUEDIE Ronald' email: type: string example: seguedieronald8@gmail.com domains: type: string example: 'Biologie, zootechnie' experience: type: integer example: 3 availability: type: string example: null photo: type: string example: 'https://waklass.com/assets/images/avatars/unknown.png' last_message: type: string example: null created_at: type: string example: '2024-08-30T09:03:13.000000Z' updated_at: type: string example: '2024-08-30T09:03:13.000000Z' tags: - Chat-Messagerie requestBody: required: true content: application/json: schema: type: object properties: teacher_id: type: integer description: '' example: 22 nullable: false required: - teacher_id '/api/rooms/{uuid}': get: summary: "Afficher les messages d'une conversation" operationId: afficherLesMessagesDuneConversation description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: - id: 48 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender: id: 9 name: 'Ngeryi Andy' email: ngeryiandy05@gmail.comm solde: 819425 level_study: null subjects_interest: Management phone_number: null photo: 'https://waklass.com/uploads/profiles/image_1704679696862.jpg' address: null city: null country: null about_me: 'Love reading and understanding business concepts' status: active created_at: '2024-01-27T06:57:32.000000Z' updated_at: '2024-02-01T22:23:58.000000Z' message: Bnjr time: '5 months before' status: unread type: message created_at: '2024-03-03T21:22:20.000000Z' updated_at: '2024-03-03T21:22:20.000000Z' message_link: null properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: array example: - id: 48 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender: id: 9 name: 'Ngeryi Andy' email: ngeryiandy05@gmail.comm solde: 819425 level_study: null subjects_interest: Management phone_number: null photo: 'https://waklass.com/uploads/profiles/image_1704679696862.jpg' address: null city: null country: null about_me: 'Love reading and understanding business concepts' status: active created_at: '2024-01-27T06:57:32.000000Z' updated_at: '2024-02-01T22:23:58.000000Z' message: Bnjr time: '5 months before' status: unread type: message created_at: '2024-03-03T21:22:20.000000Z' updated_at: '2024-03-03T21:22:20.000000Z' message_link: null items: type: object properties: id: type: integer example: 48 room_uuid: type: string example: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender: type: object properties: id: type: integer example: 9 name: type: string example: 'Ngeryi Andy' email: type: string example: ngeryiandy05@gmail.comm solde: type: integer example: 819425 level_study: type: string example: null subjects_interest: type: string example: Management phone_number: type: string example: null photo: type: string example: 'https://waklass.com/uploads/profiles/image_1704679696862.jpg' address: type: string example: null city: type: string example: null country: type: string example: null about_me: type: string example: 'Love reading and understanding business concepts' status: type: string example: active created_at: type: string example: '2024-01-27T06:57:32.000000Z' updated_at: type: string example: '2024-02-01T22:23:58.000000Z' message: type: string example: Bnjr time: type: string example: '5 months before' status: type: string example: unread type: type: string example: message created_at: type: string example: '2024-03-03T21:22:20.000000Z' updated_at: type: string example: '2024-03-03T21:22:20.000000Z' message_link: type: string example: null tags: - Chat-Messagerie parameters: - in: path name: uuid description: '' example: dab192ae-d7d7-43aa-9101-2b9482f87ebd required: true schema: type: string '/api/rooms/{uuid}/messages': get: summary: "Afficher les messages d'une conversation" operationId: afficherLesMessagesDuneConversation description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: - id: 48 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: Bnjr time: '5 months before' status: unread type: message created_at: '2024-03-03T21:22:20.000000Z' updated_at: '2024-03-03T21:22:20.000000Z' message_link: null - id: 100 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '15 minutes before' status: unread type: message created_at: '2024-08-30T09:24:38.000000Z' updated_at: '2024-08-30T09:24:38.000000Z' message_link: null - id: 101 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '14 minutes before' status: unread type: message created_at: '2024-08-30T09:25:36.000000Z' updated_at: '2024-08-30T09:25:36.000000Z' message_link: null - id: 102 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '2 minutes before' status: unread type: message created_at: '2024-08-30T09:37:40.000000Z' updated_at: '2024-08-30T09:37:40.000000Z' message_link: null - id: 103 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '2 minutes before' status: unread type: message created_at: '2024-08-30T09:38:26.000000Z' updated_at: '2024-08-30T09:38:26.000000Z' message_link: null - id: 104 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '1 minute before' status: unread type: message created_at: '2024-08-30T09:38:40.000000Z' updated_at: '2024-08-30T09:38:40.000000Z' message_link: null properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: array example: - id: 48 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: Bnjr time: '5 months before' status: unread type: message created_at: '2024-03-03T21:22:20.000000Z' updated_at: '2024-03-03T21:22:20.000000Z' message_link: null - id: 100 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '15 minutes before' status: unread type: message created_at: '2024-08-30T09:24:38.000000Z' updated_at: '2024-08-30T09:24:38.000000Z' message_link: null - id: 101 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '14 minutes before' status: unread type: message created_at: '2024-08-30T09:25:36.000000Z' updated_at: '2024-08-30T09:25:36.000000Z' message_link: null - id: 102 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '2 minutes before' status: unread type: message created_at: '2024-08-30T09:37:40.000000Z' updated_at: '2024-08-30T09:37:40.000000Z' message_link: null - id: 103 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '2 minutes before' status: unread type: message created_at: '2024-08-30T09:38:26.000000Z' updated_at: '2024-08-30T09:38:26.000000Z' message_link: null - id: 104 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '1 minute before' status: unread type: message created_at: '2024-08-30T09:38:40.000000Z' updated_at: '2024-08-30T09:38:40.000000Z' message_link: null items: type: object properties: id: type: integer example: 48 room_uuid: type: string example: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: type: integer example: 11 message: type: string example: Bnjr time: type: string example: '5 months before' status: type: string example: unread type: type: string example: message created_at: type: string example: '2024-03-03T21:22:20.000000Z' updated_at: type: string example: '2024-03-03T21:22:20.000000Z' message_link: type: string example: null tags: - Chat-Messagerie post: summary: 'Envoyer un message dans une discussion' operationId: envoyerUnMessageDansUneDiscussion description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 201 data: message: room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' status: unread type: message time: '0 seconds before' updated_at: '2024-08-30T09:38:40.000000Z' created_at: '2024-08-30T09:38:40.000000Z' id: 104 message_link: null points: '818,525' properties: success: type: boolean example: true statusCode: type: integer example: 201 data: type: object properties: message: type: object properties: room_uuid: type: string example: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: type: integer example: 11 message: type: string example: 'Hello. Still there ?' status: type: string example: unread type: type: string example: message time: type: string example: '0 seconds before' updated_at: type: string example: '2024-08-30T09:38:40.000000Z' created_at: type: string example: '2024-08-30T09:38:40.000000Z' id: type: integer example: 104 message_link: type: string example: null points: type: string example: '818,525' tags: - Chat-Messagerie requestBody: required: true content: application/json: schema: type: object properties: message: type: string description: 'Must not be greater than 512 characters.' example: fwoompncvcut nullable: false type: type: string description: '' example: message nullable: false enum: - message - image - file required: - message - type parameters: - in: path name: uuid description: '' example: 86b3c682-3143-382e-8523-87f4a88616e9 required: true schema: type: string '/api/messages/{id}': get: summary: 'Marquer un message comme lu dans une discussion' operationId: marquerUnMessageCommeLuDansUneDiscussion description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: id: 104 room_uuid: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: 11 message: 'Hello. Still there ?' time: '2 minutes before' status: read type: message created_at: '2024-08-30T09:38:40.000000Z' updated_at: '2024-08-30T09:41:22.000000Z' message_link: null properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: id: type: integer example: 104 room_uuid: type: string example: dab192ae-d7d7-43aa-9101-2b9482f87ebd sender_id: type: integer example: 11 message: type: string example: 'Hello. Still there ?' time: type: string example: '2 minutes before' status: type: string example: read type: type: string example: message created_at: type: string example: '2024-08-30T09:38:40.000000Z' updated_at: type: string example: '2024-08-30T09:41:22.000000Z' message_link: type: string example: null tags: - Chat-Messagerie parameters: - in: path name: id description: '' example: 104 required: true schema: type: integer '/api/rooms/{uuid}/messages/mobile': post: summary: '' operationId: postApiRoomsUuidMessagesMobile description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: success: false message: 'Accès non autorisé, veuillez vous authentifier' statusCode: 401 properties: data: type: object properties: success: type: boolean example: false message: type: string example: 'Accès non autorisé, veuillez vous authentifier' statusCode: type: integer example: 401 tags: - Chat-Messagerie requestBody: required: true content: application/json: schema: type: object properties: message: type: string description: 'Must not be greater than 512 characters.' example: fmefuwqjnncczmnyqadg nullable: false type: type: string description: '' example: image nullable: false enum: - message - image - file required: - message - type parameters: - in: path name: uuid description: '' example: 4d952f7c-8dc7-3340-b16a-bf8c61773705 required: true schema: type: string /api/countries: get: summary: 'Liste de pays' operationId: listeDePays description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 1 name: Afghanistan iso2: AF iso3: AFG phonecode: '93' capital: Kabul currency: AFN native: افغانستان emoji: 🇦🇫 - id: 2 name: 'Aland Islands' iso2: AX iso3: ALA phonecode: +358-18 capital: Mariehamn currency: EUR native: Åland emoji: 🇦🇽 - id: 3 name: Albania iso2: AL iso3: ALB phonecode: '355' capital: Tirana currency: ALL native: Shqipëria emoji: 🇦🇱 - id: 4 name: Algeria iso2: DZ iso3: DZA phonecode: '213' capital: Algiers currency: DZD native: الجزائر emoji: 🇩🇿 - id: 5 name: 'American Samoa' iso2: AS iso3: ASM phonecode: +1-684 capital: 'Pago Pago' currency: USD native: 'American Samoa' emoji: 🇦🇸 - id: 6 name: Andorra iso2: AD iso3: AND phonecode: '376' capital: 'Andorra la Vella' currency: EUR native: Andorra emoji: 🇦🇩 - id: 7 name: Angola iso2: AO iso3: AGO phonecode: '244' capital: Luanda currency: AOA native: Angola emoji: 🇦🇴 - id: 8 name: Anguilla iso2: AI iso3: AIA phonecode: +1-264 capital: 'The Valley' currency: XCD native: Anguilla emoji: 🇦🇮 - id: 9 name: Antarctica iso2: AQ iso3: ATA phonecode: '672' capital: '' currency: AAD native: Antarctica emoji: 🇦🇶 - id: 10 name: 'Antigua And Barbuda' iso2: AG iso3: ATG phonecode: +1-268 capital: "St. John's" currency: XCD native: 'Antigua and Barbuda' emoji: 🇦🇬 - id: 11 name: Argentina iso2: AR iso3: ARG phonecode: '54' capital: 'Buenos Aires' currency: ARS native: Argentina emoji: 🇦🇷 - id: 12 name: Armenia iso2: AM iso3: ARM phonecode: '374' capital: Yerevan currency: AMD native: Հայաստան emoji: 🇦🇲 - id: 13 name: Aruba iso2: AW iso3: ABW phonecode: '297' capital: Oranjestad currency: AWG native: Aruba emoji: 🇦🇼 - id: 14 name: Australia iso2: AU iso3: AUS phonecode: '61' capital: Canberra currency: AUD native: Australia emoji: 🇦🇺 - id: 15 name: Austria iso2: AT iso3: AUT phonecode: '43' capital: Vienna currency: EUR native: Österreich emoji: 🇦🇹 - id: 16 name: Azerbaijan iso2: AZ iso3: AZE phonecode: '994' capital: Baku currency: AZN native: Azərbaycan emoji: 🇦🇿 - id: 17 name: 'The Bahamas' iso2: BS iso3: BHS phonecode: +1-242 capital: Nassau currency: BSD native: Bahamas emoji: 🇧🇸 - id: 18 name: Bahrain iso2: BH iso3: BHR phonecode: '973' capital: Manama currency: BHD native: ‏البحرين emoji: 🇧🇭 - id: 19 name: Bangladesh iso2: BD iso3: BGD phonecode: '880' capital: Dhaka currency: BDT native: Bangladesh emoji: 🇧🇩 - id: 20 name: Barbados iso2: BB iso3: BRB phonecode: +1-246 capital: Bridgetown currency: BBD native: Barbados emoji: 🇧🇧 - id: 21 name: Belarus iso2: BY iso3: BLR phonecode: '375' capital: Minsk currency: BYN native: Белару́сь emoji: 🇧🇾 - id: 22 name: Belgium iso2: BE iso3: BEL phonecode: '32' capital: Brussels currency: EUR native: België emoji: 🇧🇪 - id: 23 name: Belize iso2: BZ iso3: BLZ phonecode: '501' capital: Belmopan currency: BZD native: Belize emoji: 🇧🇿 - id: 24 name: Benin iso2: BJ iso3: BEN phonecode: '229' capital: Porto-Novo currency: XOF native: Bénin emoji: 🇧🇯 - id: 25 name: Bermuda iso2: BM iso3: BMU phonecode: +1-441 capital: Hamilton currency: BMD native: Bermuda emoji: 🇧🇲 - id: 26 name: Bhutan iso2: BT iso3: BTN phonecode: '975' capital: Thimphu currency: BTN native: ʼbrug-yul emoji: 🇧🇹 - id: 27 name: Bolivia iso2: BO iso3: BOL phonecode: '591' capital: Sucre currency: BOB native: Bolivia emoji: 🇧🇴 - id: 28 name: 'Bosnia and Herzegovina' iso2: BA iso3: BIH phonecode: '387' capital: Sarajevo currency: BAM native: 'Bosna i Hercegovina' emoji: 🇧🇦 - id: 29 name: Botswana iso2: BW iso3: BWA phonecode: '267' capital: Gaborone currency: BWP native: Botswana emoji: 🇧🇼 - id: 30 name: 'Bouvet Island' iso2: BV iso3: BVT phonecode: '0055' capital: '' currency: NOK native: Bouvetøya emoji: 🇧🇻 - id: 31 name: Brazil iso2: BR iso3: BRA phonecode: '55' capital: Brasilia currency: BRL native: Brasil emoji: 🇧🇷 - id: 32 name: 'British Indian Ocean Territory' iso2: IO iso3: IOT phonecode: '246' capital: 'Diego Garcia' currency: USD native: 'British Indian Ocean Territory' emoji: 🇮🇴 - id: 33 name: Brunei iso2: BN iso3: BRN phonecode: '673' capital: 'Bandar Seri Begawan' currency: BND native: 'Negara Brunei Darussalam' emoji: 🇧🇳 - id: 34 name: Bulgaria iso2: BG iso3: BGR phonecode: '359' capital: Sofia currency: BGN native: България emoji: 🇧🇬 - id: 35 name: 'Burkina Faso' iso2: BF iso3: BFA phonecode: '226' capital: Ouagadougou currency: XOF native: 'Burkina Faso' emoji: 🇧🇫 - id: 36 name: Burundi iso2: BI iso3: BDI phonecode: '257' capital: Bujumbura currency: BIF native: Burundi emoji: 🇧🇮 - id: 37 name: Cambodia iso2: KH iso3: KHM phonecode: '855' capital: 'Phnom Penh' currency: KHR native: Kâmpŭchéa emoji: 🇰🇭 - id: 38 name: Cameroon iso2: CM iso3: CMR phonecode: '237' capital: Yaounde currency: XAF native: Cameroon emoji: 🇨🇲 - id: 39 name: Canada iso2: CA iso3: CAN phonecode: '1' capital: Ottawa currency: CAD native: Canada emoji: 🇨🇦 - id: 40 name: 'Cape Verde' iso2: CV iso3: CPV phonecode: '238' capital: Praia currency: CVE native: 'Cabo Verde' emoji: 🇨🇻 - id: 41 name: 'Cayman Islands' iso2: KY iso3: CYM phonecode: +1-345 capital: 'George Town' currency: KYD native: 'Cayman Islands' emoji: 🇰🇾 - id: 42 name: 'Central African Republic' iso2: CF iso3: CAF phonecode: '236' capital: Bangui currency: XAF native: 'Ködörösêse tî Bêafrîka' emoji: 🇨🇫 - id: 43 name: Chad iso2: TD iso3: TCD phonecode: '235' capital: "N'Djamena" currency: XAF native: Tchad emoji: 🇹🇩 - id: 44 name: Chile iso2: CL iso3: CHL phonecode: '56' capital: Santiago currency: CLP native: Chile emoji: 🇨🇱 - id: 45 name: China iso2: CN iso3: CHN phonecode: '86' capital: Beijing currency: CNY native: 中国 emoji: 🇨🇳 - id: 46 name: 'Christmas Island' iso2: CX iso3: CXR phonecode: '61' capital: 'Flying Fish Cove' currency: AUD native: 'Christmas Island' emoji: 🇨🇽 - id: 47 name: 'Cocos (Keeling) Islands' iso2: CC iso3: CCK phonecode: '61' capital: 'West Island' currency: AUD native: 'Cocos (Keeling) Islands' emoji: 🇨🇨 - id: 48 name: Colombia iso2: CO iso3: COL phonecode: '57' capital: Bogotá currency: COP native: Colombia emoji: 🇨🇴 - id: 49 name: Comoros iso2: KM iso3: COM phonecode: '269' capital: Moroni currency: KMF native: Komori emoji: 🇰🇲 - id: 50 name: Congo iso2: CG iso3: COG phonecode: '242' capital: Brazzaville currency: XAF native: 'République du Congo' emoji: 🇨🇬 - id: 51 name: 'Democratic Republic of the Congo' iso2: CD iso3: COD phonecode: '243' capital: Kinshasa currency: CDF native: 'République démocratique du Congo' emoji: 🇨🇩 - id: 52 name: 'Cook Islands' iso2: CK iso3: COK phonecode: '682' capital: Avarua currency: NZD native: 'Cook Islands' emoji: 🇨🇰 - id: 53 name: 'Costa Rica' iso2: CR iso3: CRI phonecode: '506' capital: 'San Jose' currency: CRC native: 'Costa Rica' emoji: 🇨🇷 - id: 54 name: "Cote D'Ivoire (Ivory Coast)" iso2: CI iso3: CIV phonecode: '225' capital: Yamoussoukro currency: XOF native: null emoji: 🇨🇮 - id: 55 name: Croatia iso2: HR iso3: HRV phonecode: '385' capital: Zagreb currency: HRK native: Hrvatska emoji: 🇭🇷 - id: 56 name: Cuba iso2: CU iso3: CUB phonecode: '53' capital: Havana currency: CUP native: Cuba emoji: 🇨🇺 - id: 57 name: Cyprus iso2: CY iso3: CYP phonecode: '357' capital: Nicosia currency: EUR native: Κύπρος emoji: 🇨🇾 - id: 58 name: 'Czech Republic' iso2: CZ iso3: CZE phonecode: '420' capital: Prague currency: CZK native: 'Česká republika' emoji: 🇨🇿 - id: 59 name: Denmark iso2: DK iso3: DNK phonecode: '45' capital: Copenhagen currency: DKK native: Danmark emoji: 🇩🇰 - id: 60 name: Djibouti iso2: DJ iso3: DJI phonecode: '253' capital: Djibouti currency: DJF native: Djibouti emoji: 🇩🇯 - id: 61 name: Dominica iso2: DM iso3: DMA phonecode: +1-767 capital: Roseau currency: XCD native: Dominica emoji: 🇩🇲 - id: 62 name: 'Dominican Republic' iso2: DO iso3: DOM phonecode: '+1-809 and 1-829' capital: 'Santo Domingo' currency: DOP native: 'República Dominicana' emoji: 🇩🇴 - id: 63 name: 'East Timor' iso2: TL iso3: TLS phonecode: '670' capital: Dili currency: USD native: Timor-Leste emoji: 🇹🇱 - id: 64 name: Ecuador iso2: EC iso3: ECU phonecode: '593' capital: Quito currency: USD native: Ecuador emoji: 🇪🇨 - id: 65 name: Egypt iso2: EG iso3: EGY phonecode: '20' capital: Cairo currency: EGP native: مصر‎ emoji: 🇪🇬 - id: 66 name: 'El Salvador' iso2: SV iso3: SLV phonecode: '503' capital: 'San Salvador' currency: USD native: 'El Salvador' emoji: 🇸🇻 - id: 67 name: 'Equatorial Guinea' iso2: GQ iso3: GNQ phonecode: '240' capital: Malabo currency: XAF native: 'Guinea Ecuatorial' emoji: 🇬🇶 - id: 68 name: Eritrea iso2: ER iso3: ERI phonecode: '291' capital: Asmara currency: ERN native: ኤርትራ emoji: 🇪🇷 - id: 69 name: Estonia iso2: EE iso3: EST phonecode: '372' capital: Tallinn currency: EUR native: Eesti emoji: 🇪🇪 - id: 70 name: Ethiopia iso2: ET iso3: ETH phonecode: '251' capital: 'Addis Ababa' currency: ETB native: ኢትዮጵያ emoji: 🇪🇹 - id: 71 name: 'Falkland Islands' iso2: FK iso3: FLK phonecode: '500' capital: Stanley currency: FKP native: 'Falkland Islands' emoji: 🇫🇰 - id: 72 name: 'Faroe Islands' iso2: FO iso3: FRO phonecode: '298' capital: Torshavn currency: DKK native: Føroyar emoji: 🇫🇴 - id: 73 name: 'Fiji Islands' iso2: FJ iso3: FJI phonecode: '679' capital: Suva currency: FJD native: Fiji emoji: 🇫🇯 - id: 74 name: Finland iso2: FI iso3: FIN phonecode: '358' capital: Helsinki currency: EUR native: Suomi emoji: 🇫🇮 - id: 75 name: France iso2: FR iso3: FRA phonecode: '33' capital: Paris currency: EUR native: France emoji: 🇫🇷 - id: 76 name: 'French Guiana' iso2: GF iso3: GUF phonecode: '594' capital: Cayenne currency: EUR native: 'Guyane française' emoji: 🇬🇫 - id: 77 name: 'French Polynesia' iso2: PF iso3: PYF phonecode: '689' capital: Papeete currency: XPF native: 'Polynésie française' emoji: 🇵🇫 - id: 78 name: 'French Southern Territories' iso2: TF iso3: ATF phonecode: '262' capital: Port-aux-Francais currency: EUR native: 'Territoire des Terres australes et antarctiques fr' emoji: 🇹🇫 - id: 79 name: Gabon iso2: GA iso3: GAB phonecode: '241' capital: Libreville currency: XAF native: Gabon emoji: 🇬🇦 - id: 80 name: 'Gambia The' iso2: GM iso3: GMB phonecode: '220' capital: Banjul currency: GMD native: Gambia emoji: 🇬🇲 - id: 81 name: Georgia iso2: GE iso3: GEO phonecode: '995' capital: Tbilisi currency: GEL native: საქართველო emoji: 🇬🇪 - id: 82 name: Germany iso2: DE iso3: DEU phonecode: '49' capital: Berlin currency: EUR native: Deutschland emoji: 🇩🇪 - id: 83 name: Ghana iso2: GH iso3: GHA phonecode: '233' capital: Accra currency: GHS native: Ghana emoji: 🇬🇭 - id: 84 name: Gibraltar iso2: GI iso3: GIB phonecode: '350' capital: Gibraltar currency: GIP native: Gibraltar emoji: 🇬🇮 - id: 85 name: Greece iso2: GR iso3: GRC phonecode: '30' capital: Athens currency: EUR native: Ελλάδα emoji: 🇬🇷 - id: 86 name: Greenland iso2: GL iso3: GRL phonecode: '299' capital: Nuuk currency: DKK native: 'Kalaallit Nunaat' emoji: 🇬🇱 - id: 87 name: Grenada iso2: GD iso3: GRD phonecode: +1-473 capital: "St. George's" currency: XCD native: Grenada emoji: 🇬🇩 - id: 88 name: Guadeloupe iso2: GP iso3: GLP phonecode: '590' capital: Basse-Terre currency: EUR native: Guadeloupe emoji: 🇬🇵 - id: 89 name: Guam iso2: GU iso3: GUM phonecode: +1-671 capital: Hagatna currency: USD native: Guam emoji: 🇬🇺 - id: 90 name: Guatemala iso2: GT iso3: GTM phonecode: '502' capital: 'Guatemala City' currency: GTQ native: Guatemala emoji: 🇬🇹 - id: 91 name: 'Guernsey and Alderney' iso2: GG iso3: GGY phonecode: +44-1481 capital: 'St Peter Port' currency: GBP native: Guernsey emoji: 🇬🇬 - id: 92 name: Guinea iso2: GN iso3: GIN phonecode: '224' capital: Conakry currency: GNF native: Guinée emoji: 🇬🇳 - id: 93 name: Guinea-Bissau iso2: GW iso3: GNB phonecode: '245' capital: Bissau currency: XOF native: Guiné-Bissau emoji: 🇬🇼 - id: 94 name: Guyana iso2: GY iso3: GUY phonecode: '592' capital: Georgetown currency: GYD native: Guyana emoji: 🇬🇾 - id: 95 name: Haiti iso2: HT iso3: HTI phonecode: '509' capital: Port-au-Prince currency: HTG native: Haïti emoji: 🇭🇹 - id: 96 name: 'Heard Island and McDonald Islands' iso2: HM iso3: HMD phonecode: '672' capital: '' currency: AUD native: 'Heard Island and McDonald Islands' emoji: 🇭🇲 - id: 97 name: Honduras iso2: HN iso3: HND phonecode: '504' capital: Tegucigalpa currency: HNL native: Honduras emoji: 🇭🇳 - id: 98 name: 'Hong Kong S.A.R.' iso2: HK iso3: HKG phonecode: '852' capital: 'Hong Kong' currency: HKD native: 香港 emoji: 🇭🇰 - id: 99 name: Hungary iso2: HU iso3: HUN phonecode: '36' capital: Budapest currency: HUF native: Magyarország emoji: 🇭🇺 - id: 100 name: Iceland iso2: IS iso3: ISL phonecode: '354' capital: Reykjavik currency: ISK native: Ísland emoji: 🇮🇸 - id: 101 name: India iso2: IN iso3: IND phonecode: '91' capital: 'New Delhi' currency: INR native: भारत emoji: 🇮🇳 - id: 102 name: Indonesia iso2: ID iso3: IDN phonecode: '62' capital: Jakarta currency: IDR native: Indonesia emoji: 🇮🇩 - id: 103 name: Iran iso2: IR iso3: IRN phonecode: '98' capital: Tehran currency: IRR native: ایران emoji: 🇮🇷 - id: 104 name: Iraq iso2: IQ iso3: IRQ phonecode: '964' capital: Baghdad currency: IQD native: العراق emoji: 🇮🇶 - id: 105 name: Ireland iso2: IE iso3: IRL phonecode: '353' capital: Dublin currency: EUR native: Éire emoji: 🇮🇪 - id: 106 name: Israel iso2: IL iso3: ISR phonecode: '972' capital: Jerusalem currency: ILS native: יִשְׂרָאֵל emoji: 🇮🇱 - id: 107 name: Italy iso2: IT iso3: ITA phonecode: '39' capital: Rome currency: EUR native: Italia emoji: 🇮🇹 - id: 108 name: Jamaica iso2: JM iso3: JAM phonecode: +1-876 capital: Kingston currency: JMD native: Jamaica emoji: 🇯🇲 - id: 109 name: Japan iso2: JP iso3: JPN phonecode: '81' capital: Tokyo currency: JPY native: 日本 emoji: 🇯🇵 - id: 110 name: Jersey iso2: JE iso3: JEY phonecode: +44-1534 capital: 'Saint Helier' currency: GBP native: Jersey emoji: 🇯🇪 - id: 111 name: Jordan iso2: JO iso3: JOR phonecode: '962' capital: Amman currency: JOD native: الأردن emoji: 🇯🇴 - id: 112 name: Kazakhstan iso2: KZ iso3: KAZ phonecode: '7' capital: Astana currency: KZT native: Қазақстан emoji: 🇰🇿 - id: 113 name: Kenya iso2: KE iso3: KEN phonecode: '254' capital: Nairobi currency: KES native: Kenya emoji: 🇰🇪 - id: 114 name: Kiribati iso2: KI iso3: KIR phonecode: '686' capital: Tarawa currency: AUD native: Kiribati emoji: 🇰🇮 - id: 115 name: 'North Korea' iso2: KP iso3: PRK phonecode: '850' capital: Pyongyang currency: KPW native: 북한 emoji: 🇰🇵 - id: 116 name: 'South Korea' iso2: KR iso3: KOR phonecode: '82' capital: Seoul currency: KRW native: 대한민국 emoji: 🇰🇷 - id: 117 name: Kuwait iso2: KW iso3: KWT phonecode: '965' capital: 'Kuwait City' currency: KWD native: الكويت emoji: 🇰🇼 - id: 118 name: Kyrgyzstan iso2: KG iso3: KGZ phonecode: '996' capital: Bishkek currency: KGS native: Кыргызстан emoji: 🇰🇬 - id: 119 name: Laos iso2: LA iso3: LAO phonecode: '856' capital: Vientiane currency: LAK native: ສປປລາວ emoji: 🇱🇦 - id: 120 name: Latvia iso2: LV iso3: LVA phonecode: '371' capital: Riga currency: EUR native: Latvija emoji: 🇱🇻 - id: 121 name: Lebanon iso2: LB iso3: LBN phonecode: '961' capital: Beirut currency: LBP native: لبنان emoji: 🇱🇧 - id: 122 name: Lesotho iso2: LS iso3: LSO phonecode: '266' capital: Maseru currency: LSL native: Lesotho emoji: 🇱🇸 - id: 123 name: Liberia iso2: LR iso3: LBR phonecode: '231' capital: Monrovia currency: LRD native: Liberia emoji: 🇱🇷 - id: 124 name: Libya iso2: LY iso3: LBY phonecode: '218' capital: Tripolis currency: LYD native: ‏ليبيا emoji: 🇱🇾 - id: 125 name: Liechtenstein iso2: LI iso3: LIE phonecode: '423' capital: Vaduz currency: CHF native: Liechtenstein emoji: 🇱🇮 - id: 126 name: Lithuania iso2: LT iso3: LTU phonecode: '370' capital: Vilnius currency: EUR native: Lietuva emoji: 🇱🇹 - id: 127 name: Luxembourg iso2: LU iso3: LUX phonecode: '352' capital: Luxembourg currency: EUR native: Luxembourg emoji: 🇱🇺 - id: 128 name: 'Macau S.A.R.' iso2: MO iso3: MAC phonecode: '853' capital: Macao currency: MOP native: 澳門 emoji: 🇲🇴 - id: 129 name: 'North Macedonia' iso2: MK iso3: MKD phonecode: '389' capital: Skopje currency: MKD native: 'Северна Македонија' emoji: 🇲🇰 - id: 130 name: Madagascar iso2: MG iso3: MDG phonecode: '261' capital: Antananarivo currency: MGA native: Madagasikara emoji: 🇲🇬 - id: 131 name: Malawi iso2: MW iso3: MWI phonecode: '265' capital: Lilongwe currency: MWK native: Malawi emoji: 🇲🇼 - id: 132 name: Malaysia iso2: MY iso3: MYS phonecode: '60' capital: 'Kuala Lumpur' currency: MYR native: Malaysia emoji: 🇲🇾 - id: 133 name: Maldives iso2: MV iso3: MDV phonecode: '960' capital: Male currency: MVR native: Maldives emoji: 🇲🇻 - id: 134 name: Mali iso2: ML iso3: MLI phonecode: '223' capital: Bamako currency: XOF native: Mali emoji: 🇲🇱 - id: 135 name: Malta iso2: MT iso3: MLT phonecode: '356' capital: Valletta currency: EUR native: Malta emoji: 🇲🇹 - id: 136 name: 'Man (Isle of)' iso2: IM iso3: IMN phonecode: +44-1624 capital: 'Douglas, Isle of Man' currency: GBP native: 'Isle of Man' emoji: 🇮🇲 - id: 137 name: 'Marshall Islands' iso2: MH iso3: MHL phonecode: '692' capital: Majuro currency: USD native: M̧ajeļ emoji: 🇲🇭 - id: 138 name: Martinique iso2: MQ iso3: MTQ phonecode: '596' capital: Fort-de-France currency: EUR native: Martinique emoji: 🇲🇶 - id: 139 name: Mauritania iso2: MR iso3: MRT phonecode: '222' capital: Nouakchott currency: MRO native: موريتانيا emoji: 🇲🇷 - id: 140 name: Mauritius iso2: MU iso3: MUS phonecode: '230' capital: 'Port Louis' currency: MUR native: Maurice emoji: 🇲🇺 - id: 141 name: Mayotte iso2: YT iso3: MYT phonecode: '262' capital: Mamoudzou currency: EUR native: Mayotte emoji: 🇾🇹 - id: 142 name: Mexico iso2: MX iso3: MEX phonecode: '52' capital: 'Ciudad de México' currency: MXN native: México emoji: 🇲🇽 - id: 143 name: Micronesia iso2: FM iso3: FSM phonecode: '691' capital: Palikir currency: USD native: Micronesia emoji: 🇫🇲 - id: 144 name: Moldova iso2: MD iso3: MDA phonecode: '373' capital: Chisinau currency: MDL native: Moldova emoji: 🇲🇩 - id: 145 name: Monaco iso2: MC iso3: MCO phonecode: '377' capital: Monaco currency: EUR native: Monaco emoji: 🇲🇨 - id: 146 name: Mongolia iso2: MN iso3: MNG phonecode: '976' capital: 'Ulan Bator' currency: MNT native: 'Монгол улс' emoji: 🇲🇳 - id: 147 name: Montenegro iso2: ME iso3: MNE phonecode: '382' capital: Podgorica currency: EUR native: 'Црна Гора' emoji: 🇲🇪 - id: 148 name: Montserrat iso2: MS iso3: MSR phonecode: +1-664 capital: Plymouth currency: XCD native: Montserrat emoji: 🇲🇸 - id: 149 name: Morocco iso2: MA iso3: MAR phonecode: '212' capital: Rabat currency: MAD native: المغرب emoji: 🇲🇦 - id: 150 name: Mozambique iso2: MZ iso3: MOZ phonecode: '258' capital: Maputo currency: MZN native: Moçambique emoji: 🇲🇿 - id: 151 name: Myanmar iso2: MM iso3: MMR phonecode: '95' capital: 'Nay Pyi Taw' currency: MMK native: မြန်မာ emoji: 🇲🇲 - id: 152 name: Namibia iso2: NA iso3: NAM phonecode: '264' capital: Windhoek currency: NAD native: Namibia emoji: 🇳🇦 - id: 153 name: Nauru iso2: NR iso3: NRU phonecode: '674' capital: Yaren currency: AUD native: Nauru emoji: 🇳🇷 - id: 154 name: Nepal iso2: NP iso3: NPL phonecode: '977' capital: Kathmandu currency: NPR native: नपल emoji: 🇳🇵 - id: 155 name: 'Bonaire, Sint Eustatius and Saba' iso2: BQ iso3: BES phonecode: '599' capital: Kralendijk currency: USD native: 'Caribisch Nederland' emoji: 🇧🇶 - id: 156 name: Netherlands iso2: NL iso3: NLD phonecode: '31' capital: Amsterdam currency: EUR native: Nederland emoji: 🇳🇱 - id: 157 name: 'New Caledonia' iso2: NC iso3: NCL phonecode: '687' capital: Noumea currency: XPF native: Nouvelle-Calédonie emoji: 🇳🇨 - id: 158 name: 'New Zealand' iso2: NZ iso3: NZL phonecode: '64' capital: Wellington currency: NZD native: 'New Zealand' emoji: 🇳🇿 - id: 159 name: Nicaragua iso2: NI iso3: NIC phonecode: '505' capital: Managua currency: NIO native: Nicaragua emoji: 🇳🇮 - id: 160 name: Niger iso2: NE iso3: NER phonecode: '227' capital: Niamey currency: XOF native: Niger emoji: 🇳🇪 - id: 161 name: Nigeria iso2: NG iso3: NGA phonecode: '234' capital: Abuja currency: NGN native: Nigeria emoji: 🇳🇬 - id: 162 name: Niue iso2: NU iso3: NIU phonecode: '683' capital: Alofi currency: NZD native: Niuē emoji: 🇳🇺 - id: 163 name: 'Norfolk Island' iso2: NF iso3: NFK phonecode: '672' capital: Kingston currency: AUD native: 'Norfolk Island' emoji: 🇳🇫 - id: 164 name: 'Northern Mariana Islands' iso2: MP iso3: MNP phonecode: +1-670 capital: Saipan currency: USD native: 'Northern Mariana Islands' emoji: 🇲🇵 - id: 165 name: Norway iso2: 'NO' iso3: NOR phonecode: '47' capital: Oslo currency: NOK native: Norge emoji: 🇳🇴 - id: 166 name: Oman iso2: OM iso3: OMN phonecode: '968' capital: Muscat currency: OMR native: عمان emoji: 🇴🇲 - id: 167 name: Pakistan iso2: PK iso3: PAK phonecode: '92' capital: Islamabad currency: PKR native: Pakistan emoji: 🇵🇰 - id: 168 name: Palau iso2: PW iso3: PLW phonecode: '680' capital: Melekeok currency: USD native: Palau emoji: 🇵🇼 - id: 169 name: 'Palestinian Territory Occupied' iso2: PS iso3: PSE phonecode: '970' capital: 'East Jerusalem' currency: ILS native: فلسطين emoji: 🇵🇸 - id: 170 name: Panama iso2: PA iso3: PAN phonecode: '507' capital: 'Panama City' currency: PAB native: Panamá emoji: 🇵🇦 - id: 171 name: 'Papua new Guinea' iso2: PG iso3: PNG phonecode: '675' capital: 'Port Moresby' currency: PGK native: 'Papua Niugini' emoji: 🇵🇬 - id: 172 name: Paraguay iso2: PY iso3: PRY phonecode: '595' capital: Asuncion currency: PYG native: Paraguay emoji: 🇵🇾 - id: 173 name: Peru iso2: PE iso3: PER phonecode: '51' capital: Lima currency: PEN native: Perú emoji: 🇵🇪 - id: 174 name: Philippines iso2: PH iso3: PHL phonecode: '63' capital: Manila currency: PHP native: Pilipinas emoji: 🇵🇭 - id: 175 name: 'Pitcairn Island' iso2: PN iso3: PCN phonecode: '870' capital: Adamstown currency: NZD native: 'Pitcairn Islands' emoji: 🇵🇳 - id: 176 name: Poland iso2: PL iso3: POL phonecode: '48' capital: Warsaw currency: PLN native: Polska emoji: 🇵🇱 - id: 177 name: Portugal iso2: PT iso3: PRT phonecode: '351' capital: Lisbon currency: EUR native: Portugal emoji: 🇵🇹 - id: 178 name: 'Puerto Rico' iso2: PR iso3: PRI phonecode: '+1-787 and 1-939' capital: 'San Juan' currency: USD native: 'Puerto Rico' emoji: 🇵🇷 - id: 179 name: Qatar iso2: QA iso3: QAT phonecode: '974' capital: Doha currency: QAR native: قطر emoji: 🇶🇦 - id: 180 name: Reunion iso2: RE iso3: REU phonecode: '262' capital: Saint-Denis currency: EUR native: 'La Réunion' emoji: 🇷🇪 - id: 181 name: Romania iso2: RO iso3: ROU phonecode: '40' capital: Bucharest currency: RON native: România emoji: 🇷🇴 - id: 182 name: Russia iso2: RU iso3: RUS phonecode: '7' capital: Moscow currency: RUB native: Россия emoji: 🇷🇺 - id: 183 name: Rwanda iso2: RW iso3: RWA phonecode: '250' capital: Kigali currency: RWF native: Rwanda emoji: 🇷🇼 - id: 184 name: 'Saint Helena' iso2: SH iso3: SHN phonecode: '290' capital: Jamestown currency: SHP native: 'Saint Helena' emoji: 🇸🇭 - id: 185 name: 'Saint Kitts And Nevis' iso2: KN iso3: KNA phonecode: +1-869 capital: Basseterre currency: XCD native: 'Saint Kitts and Nevis' emoji: 🇰🇳 - id: 186 name: 'Saint Lucia' iso2: LC iso3: LCA phonecode: +1-758 capital: Castries currency: XCD native: 'Saint Lucia' emoji: 🇱🇨 - id: 187 name: 'Saint Pierre and Miquelon' iso2: PM iso3: SPM phonecode: '508' capital: Saint-Pierre currency: EUR native: Saint-Pierre-et-Miquelon emoji: 🇵🇲 - id: 188 name: 'Saint Vincent And The Grenadines' iso2: VC iso3: VCT phonecode: +1-784 capital: Kingstown currency: XCD native: 'Saint Vincent and the Grenadines' emoji: 🇻🇨 - id: 189 name: Saint-Barthelemy iso2: BL iso3: BLM phonecode: '590' capital: Gustavia currency: EUR native: Saint-Barthélemy emoji: 🇧🇱 - id: 190 name: 'Saint-Martin (French part)' iso2: MF iso3: MAF phonecode: '590' capital: Marigot currency: EUR native: Saint-Martin emoji: 🇲🇫 - id: 191 name: Samoa iso2: WS iso3: WSM phonecode: '685' capital: Apia currency: WST native: Samoa emoji: 🇼🇸 - id: 192 name: 'San Marino' iso2: SM iso3: SMR phonecode: '378' capital: 'San Marino' currency: EUR native: 'San Marino' emoji: 🇸🇲 - id: 193 name: 'Sao Tome and Principe' iso2: ST iso3: STP phonecode: '239' capital: 'Sao Tome' currency: STD native: 'São Tomé e Príncipe' emoji: 🇸🇹 - id: 194 name: 'Saudi Arabia' iso2: SA iso3: SAU phonecode: '966' capital: Riyadh currency: SAR native: 'المملكة العربية السعودية' emoji: 🇸🇦 - id: 195 name: Senegal iso2: SN iso3: SEN phonecode: '221' capital: Dakar currency: XOF native: Sénégal emoji: 🇸🇳 - id: 196 name: Serbia iso2: RS iso3: SRB phonecode: '381' capital: Belgrade currency: RSD native: Србија emoji: 🇷🇸 - id: 197 name: Seychelles iso2: SC iso3: SYC phonecode: '248' capital: Victoria currency: SCR native: Seychelles emoji: 🇸🇨 - id: 198 name: 'Sierra Leone' iso2: SL iso3: SLE phonecode: '232' capital: Freetown currency: SLL native: 'Sierra Leone' emoji: 🇸🇱 - id: 199 name: Singapore iso2: SG iso3: SGP phonecode: '65' capital: Singapur currency: SGD native: Singapore emoji: 🇸🇬 - id: 200 name: Slovakia iso2: SK iso3: SVK phonecode: '421' capital: Bratislava currency: EUR native: Slovensko emoji: 🇸🇰 - id: 201 name: Slovenia iso2: SI iso3: SVN phonecode: '386' capital: Ljubljana currency: EUR native: Slovenija emoji: 🇸🇮 - id: 202 name: 'Solomon Islands' iso2: SB iso3: SLB phonecode: '677' capital: Honiara currency: SBD native: 'Solomon Islands' emoji: 🇸🇧 - id: 203 name: Somalia iso2: SO iso3: SOM phonecode: '252' capital: Mogadishu currency: SOS native: Soomaaliya emoji: 🇸🇴 - id: 204 name: 'South Africa' iso2: ZA iso3: ZAF phonecode: '27' capital: Pretoria currency: ZAR native: 'South Africa' emoji: 🇿🇦 - id: 205 name: 'South Georgia' iso2: GS iso3: SGS phonecode: '500' capital: Grytviken currency: GBP native: 'South Georgia' emoji: 🇬🇸 - id: 206 name: 'South Sudan' iso2: SS iso3: SSD phonecode: '211' capital: Juba currency: SSP native: 'South Sudan' emoji: 🇸🇸 - id: 207 name: Spain iso2: ES iso3: ESP phonecode: '34' capital: Madrid currency: EUR native: España emoji: 🇪🇸 - id: 208 name: 'Sri Lanka' iso2: LK iso3: LKA phonecode: '94' capital: Colombo currency: LKR native: 'śrī laṃkāva' emoji: 🇱🇰 - id: 209 name: Sudan iso2: SD iso3: SDN phonecode: '249' capital: Khartoum currency: SDG native: السودان emoji: 🇸🇩 - id: 210 name: Suriname iso2: SR iso3: SUR phonecode: '597' capital: Paramaribo currency: SRD native: Suriname emoji: 🇸🇷 - id: 211 name: 'Svalbard And Jan Mayen Islands' iso2: SJ iso3: SJM phonecode: '47' capital: Longyearbyen currency: NOK native: 'Svalbard og Jan Mayen' emoji: 🇸🇯 - id: 212 name: Swaziland iso2: SZ iso3: SWZ phonecode: '268' capital: Mbabane currency: SZL native: Swaziland emoji: 🇸🇿 - id: 213 name: Sweden iso2: SE iso3: SWE phonecode: '46' capital: Stockholm currency: SEK native: Sverige emoji: 🇸🇪 - id: 214 name: Switzerland iso2: CH iso3: CHE phonecode: '41' capital: Bern currency: CHF native: Schweiz emoji: 🇨🇭 - id: 215 name: Syria iso2: SY iso3: SYR phonecode: '963' capital: Damascus currency: SYP native: سوريا emoji: 🇸🇾 - id: 216 name: Taiwan iso2: TW iso3: TWN phonecode: '886' capital: Taipei currency: TWD native: 臺灣 emoji: 🇹🇼 - id: 217 name: Tajikistan iso2: TJ iso3: TJK phonecode: '992' capital: Dushanbe currency: TJS native: Тоҷикистон emoji: 🇹🇯 - id: 218 name: Tanzania iso2: TZ iso3: TZA phonecode: '255' capital: Dodoma currency: TZS native: Tanzania emoji: 🇹🇿 - id: 219 name: Thailand iso2: TH iso3: THA phonecode: '66' capital: Bangkok currency: THB native: ประเทศไทย emoji: 🇹🇭 - id: 220 name: Togo iso2: TG iso3: TGO phonecode: '228' capital: Lome currency: XOF native: Togo emoji: 🇹🇬 - id: 221 name: Tokelau iso2: TK iso3: TKL phonecode: '690' capital: '' currency: NZD native: Tokelau emoji: 🇹🇰 - id: 222 name: Tonga iso2: TO iso3: TON phonecode: '676' capital: "Nuku'alofa" currency: TOP native: Tonga emoji: 🇹🇴 - id: 223 name: 'Trinidad And Tobago' iso2: TT iso3: TTO phonecode: +1-868 capital: 'Port of Spain' currency: TTD native: 'Trinidad and Tobago' emoji: 🇹🇹 - id: 224 name: Tunisia iso2: TN iso3: TUN phonecode: '216' capital: Tunis currency: TND native: تونس emoji: 🇹🇳 - id: 225 name: Turkey iso2: TR iso3: TUR phonecode: '90' capital: Ankara currency: TRY native: Türkiye emoji: 🇹🇷 - id: 226 name: Turkmenistan iso2: TM iso3: TKM phonecode: '993' capital: Ashgabat currency: TMT native: Türkmenistan emoji: 🇹🇲 - id: 227 name: 'Turks And Caicos Islands' iso2: TC iso3: TCA phonecode: +1-649 capital: 'Cockburn Town' currency: USD native: 'Turks and Caicos Islands' emoji: 🇹🇨 - id: 228 name: Tuvalu iso2: TV iso3: TUV phonecode: '688' capital: Funafuti currency: AUD native: Tuvalu emoji: 🇹🇻 - id: 229 name: Uganda iso2: UG iso3: UGA phonecode: '256' capital: Kampala currency: UGX native: Uganda emoji: 🇺🇬 - id: 230 name: Ukraine iso2: UA iso3: UKR phonecode: '380' capital: Kyiv currency: UAH native: Україна emoji: 🇺🇦 - id: 231 name: 'United Arab Emirates' iso2: AE iso3: ARE phonecode: '971' capital: 'Abu Dhabi' currency: AED native: 'دولة الإمارات العربية المتحدة' emoji: 🇦🇪 - id: 232 name: 'United Kingdom' iso2: GB iso3: GBR phonecode: '44' capital: London currency: GBP native: 'United Kingdom' emoji: 🇬🇧 - id: 233 name: 'United States' iso2: US iso3: USA phonecode: '1' capital: Washington currency: USD native: 'United States' emoji: 🇺🇸 - id: 234 name: 'United States Minor Outlying Islands' iso2: UM iso3: UMI phonecode: '1' capital: '' currency: USD native: 'United States Minor Outlying Islands' emoji: 🇺🇲 - id: 235 name: Uruguay iso2: UY iso3: URY phonecode: '598' capital: Montevideo currency: UYU native: Uruguay emoji: 🇺🇾 - id: 236 name: Uzbekistan iso2: UZ iso3: UZB phonecode: '998' capital: Tashkent currency: UZS native: O‘zbekiston emoji: 🇺🇿 - id: 237 name: Vanuatu iso2: VU iso3: VUT phonecode: '678' capital: 'Port Vila' currency: VUV native: Vanuatu emoji: 🇻🇺 - id: 238 name: 'Vatican City State (Holy See)' iso2: VA iso3: VAT phonecode: '379' capital: 'Vatican City' currency: EUR native: Vaticano emoji: 🇻🇦 - id: 239 name: Venezuela iso2: VE iso3: VEN phonecode: '58' capital: Caracas currency: VES native: Venezuela emoji: 🇻🇪 - id: 240 name: Vietnam iso2: VN iso3: VNM phonecode: '84' capital: Hanoi currency: VND native: 'Việt Nam' emoji: 🇻🇳 - id: 241 name: 'Virgin Islands (British)' iso2: VG iso3: VGB phonecode: +1-284 capital: 'Road Town' currency: USD native: 'British Virgin Islands' emoji: 🇻🇬 - id: 242 name: 'Virgin Islands (US)' iso2: VI iso3: VIR phonecode: +1-340 capital: 'Charlotte Amalie' currency: USD native: 'United States Virgin Islands' emoji: 🇻🇮 - id: 243 name: 'Wallis And Futuna Islands' iso2: WF iso3: WLF phonecode: '681' capital: 'Mata Utu' currency: XPF native: 'Wallis et Futuna' emoji: 🇼🇫 - id: 244 name: 'Western Sahara' iso2: EH iso3: ESH phonecode: '212' capital: El-Aaiun currency: MAD native: 'الصحراء الغربية' emoji: 🇪🇭 - id: 245 name: Yemen iso2: YE iso3: YEM phonecode: '967' capital: Sanaa currency: YER native: اليَمَن emoji: 🇾🇪 - id: 246 name: Zambia iso2: ZM iso3: ZMB phonecode: '260' capital: Lusaka currency: ZMW native: Zambia emoji: 🇿🇲 - id: 247 name: Zimbabwe iso2: ZW iso3: ZWE phonecode: '263' capital: Harare currency: ZWL native: Zimbabwe emoji: 🇿🇼 - id: 248 name: Kosovo iso2: XK iso3: XKX phonecode: '383' capital: Pristina currency: EUR native: 'Republika e Kosovës' emoji: 🇽🇰 - id: 249 name: Curaçao iso2: CW iso3: CUW phonecode: '599' capital: Willemstad currency: ANG native: Curaçao emoji: 🇨🇼 - id: 250 name: 'Sint Maarten (Dutch part)' iso2: SX iso3: SXM phonecode: '1721' capital: Philipsburg currency: ANG native: 'Sint Maarten' emoji: 🇸🇽 tags: - CountryStateCity '/api/countries/{ciso}/cities': get: summary: 'Liste de villes en fonction du pays' operationId: listeDeVillesEnFonctionDuPays description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 19132 name: 'Abong Mbang' - id: 19133 name: 'Akom II' - id: 19134 name: Akono - id: 19135 name: Akonolinga - id: 19136 name: Ambam - id: 19137 name: Babanki - id: 19138 name: Bafang - id: 19139 name: Bafia - id: 19140 name: Bafoussam - id: 19141 name: Bali - id: 19142 name: Bamenda - id: 19143 name: Bamendjou - id: 19144 name: Bamusso - id: 19145 name: Bana - id: 19146 name: Bandjoun - id: 19147 name: Bangangté - id: 19148 name: Bankim - id: 19149 name: Bansoa - id: 19150 name: Banyo - id: 19151 name: Batibo - id: 19152 name: Batouri - id: 19153 name: Bazou - id: 19154 name: Bekondo - id: 19155 name: Belo - id: 19156 name: Bertoua - id: 19157 name: Bogo - id: 19158 name: Bonabéri - id: 19159 name: Boyo - id: 19160 name: Buea - id: 19161 name: Bélabo - id: 19162 name: Bélel - id: 19163 name: 'Bétaré Oya' - id: 19164 name: Diang - id: 19165 name: Dibombari - id: 19166 name: Dimako - id: 19167 name: Dizangué - id: 19168 name: Djohong - id: 19169 name: Douala - id: 19170 name: Doumé - id: 19171 name: Dschang - id: 19172 name: Edéa - id: 19173 name: Essé - id: 19174 name: Eséka - id: 19175 name: 'Fako Division' - id: 19176 name: 'Faro Department' - id: 19177 name: Fontem - id: 19178 name: Foumban - id: 19179 name: Foumbot - id: 19180 name: Fundong - id: 19181 name: Garoua - id: 19182 name: 'Garoua Boulaï' - id: 19183 name: Guider - id: 19184 name: Hauts-Plateaux - id: 19185 name: Jakiri - id: 19186 name: Kaélé - id: 19187 name: Kontcha - id: 19188 name: Koung-Khi - id: 19189 name: Kousséri - id: 19190 name: Koza - id: 19191 name: Kribi - id: 19192 name: Kumba - id: 19193 name: Kumbo - id: 19194 name: Lagdo - id: 19195 name: Lebialem - id: 19196 name: Limbe - id: 19197 name: Lolodorf - id: 19198 name: Loum - id: 19199 name: Makary - id: 19200 name: Mamfe - id: 19201 name: Manjo - id: 19202 name: Maroua - id: 19203 name: Mayo-Banyo - id: 19204 name: Mayo-Louti - id: 19205 name: Mayo-Rey - id: 19206 name: Mayo-Sava - id: 19207 name: Mayo-Tsanaga - id: 19208 name: Mbalmayo - id: 19209 name: Mbam-Et-Inoubou - id: 19210 name: Mbandjok - id: 19211 name: Mbang - id: 19212 name: Mbanga - id: 19213 name: Mbankomo - id: 19214 name: Mbengwi - id: 19215 name: Mbouda - id: 19216 name: Mefou-et-Akono - id: 19217 name: Melong - id: 19218 name: Meïganga - id: 19219 name: Mfoundi - id: 19220 name: Mindif - id: 19221 name: Minta - id: 19222 name: Mme-Bafumen - id: 19223 name: Mokolo - id: 19224 name: Mora - id: 19225 name: Mouanko - id: 19226 name: Mundemba - id: 19227 name: Mutengene - id: 19228 name: Muyuka - id: 19229 name: Mvangué - id: 19230 name: Mvila - id: 19231 name: 'Nanga Eboko' - id: 19232 name: Ndelele - id: 19233 name: Ndikiniméki - id: 19234 name: Ndom - id: 19235 name: Ngambé - id: 19236 name: Ngaoundéré - id: 19237 name: Ngomedzap - id: 19238 name: Ngoro - id: 19239 name: Ngou - id: 19240 name: Nguti - id: 19241 name: Njinikom - id: 19242 name: Nkongsamba - id: 19243 name: Nkoteng - id: 19244 name: Noun - id: 19245 name: Ntui - id: 19246 name: Obala - id: 19247 name: Okoa - id: 19248 name: Okola - id: 19249 name: Ombésa - id: 19250 name: Penja - id: 19251 name: Pitoa - id: 19252 name: Poli - id: 19253 name: 'Rey Bouba' - id: 19254 name: Saa - id: 19255 name: Sangmélima - id: 19256 name: Somié - id: 19257 name: Tcholliré - id: 19258 name: Tibati - id: 19259 name: Tignère - id: 19260 name: Tiko - id: 19261 name: Tonga - id: 19262 name: Vina - id: 19263 name: Wum - id: 19264 name: Yabassi - id: 19265 name: Yagoua - id: 19266 name: Yaoundé - id: 19267 name: Yokadouma - id: 19268 name: Yoko - id: 19269 name: Ébolowa - id: 19270 name: Évodoula tags: - CountryStateCity parameters: - in: path name: ciso description: 'Le code ISO du pays.' example: CM required: true schema: type: string /api/student/favoris: post: summary: "Lister tous les enseignants favoris d'un Etudiant" operationId: listerTousLesEnseignantsFavorisDunEtudiant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: statusCode: 200 success: true data: [] meta: current_page: 1 last_page: 1 total_results: 0 properties: statusCode: type: integer example: 200 success: type: boolean example: true data: type: array example: [] meta: type: object properties: current_page: type: integer example: 1 last_page: type: integer example: 1 total_results: type: integer example: 0 tags: - Favoris requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: 'Must be at least 1.' example: 10 nullable: true filter_value: type: string description: '' example: quibusdam nullable: true /api/student/favoris/add: post: summary: "Ajouter un Enseignant à la liste des favoris d'un Etudiant" operationId: ajouterUnEnseignantLaListeDesFavorisDunEtudiant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 201 data: [] properties: success: type: boolean example: true statusCode: type: integer example: 201 data: type: array example: [] tags: - Favoris requestBody: required: true content: application/json: schema: type: object properties: teacher_id: type: integer description: 'The id of an existing record in the teachers table.' example: 6 nullable: false required: - teacher_id /api/student/favoris/remove: post: summary: "Retirer un Enseignant de la liste des favoris d'un Etudiant" operationId: retirerUnEnseignantDeLaListeDesFavorisDunEtudiant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 204 data: [] properties: success: type: boolean example: true statusCode: type: integer example: 204 data: type: array example: [] tags: - Favoris requestBody: required: true content: application/json: schema: type: object properties: teacher_id: type: integer description: 'The id of an existing record in the teachers table.' example: 20 nullable: false required: - teacher_id /api/adminnotificationsall: post: summary: "Lister les notifications envoyées par l'admin" operationId: listerLesNotificationsEnvoyesParLadmin description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: success: false message: 'Accès non autorisé, veuillez vous authentifier' statusCode: 401 properties: data: type: object properties: success: type: boolean example: false message: type: string example: 'Accès non autorisé, veuillez vous authentifier' statusCode: type: integer example: 401 tags: - Notifications requestBody: required: false content: application/json: schema: type: object properties: type: type: string description: required. example: TestDoc nullable: true pageItems: type: integer description: required. example: 1 nullable: true '/api/adminnotifications/{id}': delete: summary: 'Supprimer une notification admin' operationId: supprimerUneNotificationAdmin description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 204 data: [] properties: success: type: boolean example: true statusCode: type: integer example: 204 data: type: array example: [] tags: - Notifications parameters: - in: path name: id description: 'Optional parameter. required.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 2 /api/admin/notifications: post: summary: 'Notifier les utilisateurs' operationId: notifierLesUtilisateurs description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Notifications requestBody: required: false content: application/json: schema: type: object properties: type: type: string description: required. example: TestDoc nullable: false to: type: string description: required. example: both nullable: false message: type: string description: required. example: ScribeTestDoc nullable: false /api/paymentoperatorsall: post: summary: 'Lister les opérateurs de paiement' operationId: listerLesOprateursDePaiement description: '' parameters: [] responses: 200: description: '' content: text/plain: schema: type: string example: "{\n\"success\": true,\n\"statusCode\": 200,\n\"data\": [\n{\n\"id\": 5,\n\"name\": \"Admin Recharge\",\n\"created_at\": null,\n\"updated_at\": null\n},\n{\n\"id\": 3,\n\"name\": \"Express-Union Mobile\",\n\"created_at\": null,\n\"updated_at\": null\n}\n{...}\n],\n\"meta\": {\n\"current_page\": 1,\n\"last_page\": 1,\n\"total_results\": 5\n}\n}" tags: - 'Payment Operators' requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: required. example: 1 nullable: true filter_value: type: string description: '' example: et nullable: true '/api/admin/payment-operators/{id}': get: summary: "Afficher les détails d'un opératreur de paiement" operationId: afficherLesDtailsDunOpratreurDePaiement description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - 'Payment Operators' put: summary: "maj d'un opérateur de paiement" operationId: majDunOprateurDePaiement description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - 'Payment Operators' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: required. example: ScribeNewPOValue nullable: false delete: summary: 'Supprimer un opérateur de paiement' operationId: supprimerUnOprateurDePaiement description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - 'Payment Operators' parameters: - in: path name: id description: 'Optional parameter. required.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 2 /api/admin/payment-operators: post: summary: 'Ajouter un opérateur de paiement' operationId: ajouterUnOprateurDePaiement description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - 'Payment Operators' requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: required. example: Bitcoin nullable: false is_available: type: boolean description: '' example: false nullable: true available_on_web: type: boolean description: '' example: true nullable: true available_on_mobile: type: boolean description: '' example: true nullable: true supports_deposit: type: boolean description: '' example: true nullable: true supports_withdrawal: type: boolean description: '' example: true nullable: true /api/plansall: post: summary: 'Lister les plans des enseignants dans le système' operationId: listerLesPlansDesEnseignantsDansLeSystme description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: statusCode: 200 success: true data: [] meta: current_page: 1 last_page: 1 total_results: 0 properties: statusCode: type: integer example: 200 success: type: boolean example: true data: type: array example: [] meta: type: object properties: current_page: type: integer example: 1 last_page: type: integer example: 1 total_results: type: integer example: 0 tags: - Plans requestBody: required: false content: application/json: schema: type: object properties: filter_value: type: string description: '' example: vitae nullable: true '/api/admin/plans/{id}': get: summary: "Afficher les détails d'un plan" operationId: afficherLesDtailsDunPlan description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Plans put: summary: "maj d'un Plan" operationId: majDunPlan description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Plans requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: soluta nullable: false points: type: integer description: 'Must be at least 1.' example: 20 nullable: false image_cost: type: integer description: 'Must be at least 1.' example: 22 nullable: false required: - name - points - image_cost delete: summary: 'Supprimer un Plan.' operationId: supprimerUnPlan description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Plans parameters: - in: path name: id description: 'Optional parameter. required.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 2 /api/admin/plans: post: summary: 'Ajouter un nouveau plan' operationId: ajouterUnNouveauPlan description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Plans requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: corporis nullable: false points: type: integer description: 'Must be at least 1.' example: 4 nullable: false image_cost: type: integer description: 'Must be at least 1.' example: 22 nullable: false required: - name - points - image_cost /api/teacher/stats: get: summary: 'Statistiques du compte' operationId: statistiquesDuCompte description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: account_balance: '0' total_paid: 0 total_consultations: 3 duree_consultation: 4 properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: account_balance: type: string example: '0' total_paid: type: integer example: 0 total_consultations: type: integer example: 3 duree_consultation: type: integer example: 4 tags: - 'Stats Account' /api/student/stats: get: summary: 'Statistiques du compte' operationId: statistiquesDuCompte description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: account_balance: '0' total_paid: 0 total_consultations: 3 duree_consultation: 4 properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: account_balance: type: string example: '0' total_paid: type: integer example: 0 total_consultations: type: integer example: 3 duree_consultation: type: integer example: 4 tags: - 'Stats Account' '/api/students/{id}': get: summary: "Afficher les infos d'un étudiant" operationId: afficherLesInfosDuntudiant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: id: 3 name: 'Fabisin Clovis' email: fabisin.clovis@gmail.com solde: 328900 level_study: null subjects_interest: null phone_number: null photo: 'https://waklass.com/assets/images/avatars/unknown.png' address: null city: null country: null about_me: null status: inactive created_at: '2024-01-26T18:06:31.000000Z' updated_at: '2024-01-26T18:06:31.000000Z' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: id: type: integer example: 3 name: type: string example: 'Fabisin Clovis' email: type: string example: fabisin.clovis@gmail.com solde: type: integer example: 328900 level_study: type: string example: null subjects_interest: type: string example: null phone_number: type: string example: null photo: type: string example: 'https://waklass.com/assets/images/avatars/unknown.png' address: type: string example: null city: type: string example: null country: type: string example: null about_me: type: string example: null status: type: string example: inactive created_at: type: string example: '2024-01-26T18:06:31.000000Z' updated_at: type: string example: '2024-01-26T18:06:31.000000Z' tags: - Students parameters: - in: path name: id description: 'Optional parameter. required.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 /api/admin/studentsall: post: summary: 'Lister les étudiants' operationId: listerLestudiants description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Students requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: required. example: 1 nullable: true /api/admin/students: post: summary: 'Ajouter un étudiant' operationId: ajouterUntudiant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Students requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: illum nullable: false email: type: string description: 'Must be a valid email address.' example: isabel.dare@example.com nullable: false password: type: string description: 'Must be at least 8 characters.' example: '#a|SNDZ' nullable: true phone_number: type: string description: '' example: nesciunt nullable: false gender: type: string description: '' example: M nullable: false enum: - M - F address: type: string description: '' example: consequuntur nullable: true country: type: string description: '' example: enim nullable: true city: type: string description: '' example: quo nullable: true about_me: type: string description: '' example: molestiae nullable: true level_study: type: string description: '' example: cumque nullable: true subjects_interest: type: string description: '' example: aut nullable: true required: - name - email - phone_number - gender '/api/admin/students/{id}': put: summary: "Mettre à jour le compte d'un étudiant" operationId: mettreJourLeCompteDuntudiant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Students requestBody: required: false content: application/json: schema: type: object properties: amount: type: integer description: 'Must be at least 100.' example: 100 nullable: true status: type: string description: '' example: inactive nullable: true enum: - active - inactive parameters: - in: path name: id description: 'Optional parameter. required.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 '/api/admin/update-status/{type}/{id}': put: summary: "Modifier le statut d'un compte Utilisateur" operationId: modifierLeStatutDunCompteUtilisateur description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: message: 'Account status updated successfully' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: message: type: string example: 'Account status updated successfully' tags: - Students requestBody: required: true content: application/json: schema: type: object properties: status: type: string description: '' example: active nullable: false enum: - active - inactive required: - status parameters: - in: path name: type description: '' example: teacher required: true schema: type: string - in: path name: id description: '' example: 3 required: true schema: type: integer /api/student/rechargesall: post: summary: "Afficher les recharges d'un Etudiant" operationId: afficherLesRechargesDunEtudiant description: '' parameters: [] responses: 200: description: '' content: text/plain: schema: type: string example: "{\n \"success\": true,\n \"statusCode\": 201,\n \"meta\":{\n \"current_page\":1,\n \"last_page\":2,\n \"total_results\":16\n }\n \"data\": [\n \"id\" : 10,\n \"tracking_code\" : \"WTN6497452\",\n \"payment_operator\" : {\n \"name\":\"MTN Mobile Money\"\n },\n \"user\" : {...},\n \"status\" : \"success\",\n \"type\" : \"withdrawal\",\n \"amount\" : 15000,\n \"date_transaction\" : \"04-05-2024 15:30:45\",\n \"ref\" : \"987qsd456qsd\",\n \"phone_number\" : \"237 601 020 304\",\n \"created_at\" : \"04-05-2024 15:30:45\",\n \"updated_at\" : \"04-05-2024 15:30:45\",\n ]\n }" tags: - Students requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: required. example: 1 nullable: false /api/student/recharges: post: summary: 'Initialiser une recharge de crédits' operationId: initialiserUneRechargeDeCrdits description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 404 data: 'KO start : compte marchand introuvable. Contactez le service client.' properties: success: type: boolean example: true statusCode: type: integer example: 404 data: type: string example: 'KO start : compte marchand introuvable. Contactez le service client.' tags: - Students requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: minus nullable: false email: type: string description: 'Must be a valid email address.' example: xherzog@example.com nullable: false phone_number: type: string description: '' example: odio nullable: false amount: type: integer description: '' example: 15 nullable: false payment_operator: type: integer description: 'The id of an existing record in the payment_operators table.' example: 18 nullable: false required: - name - email - phone_number - amount - payment_operator /api/admin/rooms/messages: get: summary: "Récupérer les messages d'une conversation avec les admins" operationId: rcuprerLesMessagesDuneConversationAvecLesAdmins description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: success: false message: 'Accès non autorisé, veuillez vous authentifier' statusCode: 401 properties: data: type: object properties: success: type: boolean example: false message: type: string example: 'Accès non autorisé, veuillez vous authentifier' statusCode: type: integer example: 401 tags: - 'Support Technique' /api/admin/messages: post: summary: 'Envoyer un mesage dans la discussion avec les admins' operationId: envoyerUnMesageDansLaDiscussionAvecLesAdmins description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 201 data: message: admin_room_uuid: acb83edf-6627-11ef-9d00-144f8a6f9384 sender_id: 14 message: "C'est comment ???" status: unread type: admin time: '0 seconds before' updated_at: '2024-08-29T17:50:19.000000Z' created_at: '2024-08-29T17:50:19.000000Z' id: 3 properties: success: type: boolean example: true statusCode: type: integer example: 201 data: type: object properties: message: type: object properties: admin_room_uuid: type: string example: acb83edf-6627-11ef-9d00-144f8a6f9384 sender_id: type: integer example: 14 message: type: string example: "C'est comment ???" status: type: string example: unread type: type: string example: admin time: type: string example: '0 seconds before' updated_at: type: string example: '2024-08-29T17:50:19.000000Z' created_at: type: string example: '2024-08-29T17:50:19.000000Z' id: type: integer example: 3 tags: - 'Support Technique' requestBody: required: true content: application/json: schema: type: object properties: message: type: string description: 'Must not be greater than 500 characters.' example: kovoakv nullable: false required: - message '/api/admin/messages/{id}': get: summary: 'Marquer un message comme lu dans la discussion avec les admins' operationId: marquerUnMessageCommeLuDansLaDiscussionAvecLesAdmins description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: success: false message: 'Accès non autorisé, veuillez vous authentifier' statusCode: 401 properties: data: type: object properties: success: type: boolean example: false message: type: string example: 'Accès non autorisé, veuillez vous authentifier' statusCode: type: integer example: 401 tags: - 'Support Technique' parameters: - in: path name: id description: 'The ID of the message.' example: asperiores required: true schema: type: string /api/teachersall: post: summary: 'Lister les enseignants' operationId: listerLesEnseignants description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: statusCode: 200 success: true data: - id: 33 name: 'Amidou Hyacinthe' email: babanaamidou@gmail.com domains: null experience: 2 availability: null phone_number: '690996179' address: Kondengui city: Yaoundé country: Cameroun about_me: null status: active bio: null verified: false plan: id: 1 name: A points: 30000 image_cost: 700 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-05-03T19:46:13.000000Z' updated_at: '2024-08-06T15:32:21.000000Z' - id: 34 name: 'Amidou Hyacinthe' email: babanaamidou@gmail.com domains: null experience: 2 availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 1 name: A points: 30000 image_cost: 700 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-05-03T19:46:14.000000Z' updated_at: '2024-05-03T19:46:14.000000Z' - id: 35 name: 'Amidou Hyacinthe' email: babanaamidou@gmail.com domains: null experience: 2 availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 1 name: A points: 30000 image_cost: 700 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-05-03T19:46:14.000000Z' updated_at: '2024-05-03T19:46:14.000000Z' - id: 36 name: 'Amidou Hyacinthe' email: babanaamidou@gmail.com domains: null experience: 2 availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: true plan: id: 1 name: A points: 30000 image_cost: 700 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-05-03T19:46:14.000000Z' updated_at: '2024-08-06T15:19:49.000000Z' - id: 23 name: 'Assa Gaëlle Nadine' email: null domains: null experience: null availability: null phone_number: '237655738883' address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 5 name: E points: 10000 image_cost: 300 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-02-29T08:07:52.000000Z' updated_at: '2024-02-29T08:07:52.000000Z' - id: 4 name: 'AUREL Kenfack' email: null domains: null experience: null availability: null phone_number: '237656862809' address: null city: null country: null about_me: null status: active bio: null verified: true plan: id: 6 name: F points: 5000 image_cost: 200 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-01-27T07:20:12.000000Z' updated_at: '2024-08-06T15:17:14.000000Z' - id: 43 name: 'clothaire gastalia' email: test@test.com domains: null experience: null availability: null phone_number: '6464777483' address: null city: null country: null about_me: null status: inactive bio: null verified: false plan: id: 3 name: C points: 20000 image_cost: 500 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-08-07T15:54:07.000000Z' updated_at: '2024-08-07T15:54:07.000000Z' - id: 28 name: dzerfrf email: jiwiw14689@picdv.com domains: null experience: 4 availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 2 name: B points: 25000 image_cost: 600 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-04-24T12:39:30.000000Z' updated_at: '2024-04-24T12:39:30.000000Z' - id: 3 name: 'emape CAM' email: emapecam237@gmail.com domains: null experience: null availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 6 name: F points: 5000 image_cost: 200 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-01-27T07:03:19.000000Z' updated_at: '2024-01-27T07:03:19.000000Z' - id: 38 name: 'Emapecam 237' email: emapecam@gmail.com domains: null experience: null availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 6 name: F points: 5000 image_cost: 200 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-05-05T09:50:23.000000Z' updated_at: '2024-05-05T09:50:23.000000Z' meta: current_page: 1 last_page: 4 total_results: 35 properties: statusCode: type: integer example: 200 success: type: boolean example: true data: type: array example: - id: 33 name: 'Amidou Hyacinthe' email: babanaamidou@gmail.com domains: null experience: 2 availability: null phone_number: '690996179' address: Kondengui city: Yaoundé country: Cameroun about_me: null status: active bio: null verified: false plan: id: 1 name: A points: 30000 image_cost: 700 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-05-03T19:46:13.000000Z' updated_at: '2024-08-06T15:32:21.000000Z' - id: 34 name: 'Amidou Hyacinthe' email: babanaamidou@gmail.com domains: null experience: 2 availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 1 name: A points: 30000 image_cost: 700 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-05-03T19:46:14.000000Z' updated_at: '2024-05-03T19:46:14.000000Z' - id: 35 name: 'Amidou Hyacinthe' email: babanaamidou@gmail.com domains: null experience: 2 availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 1 name: A points: 30000 image_cost: 700 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-05-03T19:46:14.000000Z' updated_at: '2024-05-03T19:46:14.000000Z' - id: 36 name: 'Amidou Hyacinthe' email: babanaamidou@gmail.com domains: null experience: 2 availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: true plan: id: 1 name: A points: 30000 image_cost: 700 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-05-03T19:46:14.000000Z' updated_at: '2024-08-06T15:19:49.000000Z' - id: 23 name: 'Assa Gaëlle Nadine' email: null domains: null experience: null availability: null phone_number: '237655738883' address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 5 name: E points: 10000 image_cost: 300 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-02-29T08:07:52.000000Z' updated_at: '2024-02-29T08:07:52.000000Z' - id: 4 name: 'AUREL Kenfack' email: null domains: null experience: null availability: null phone_number: '237656862809' address: null city: null country: null about_me: null status: active bio: null verified: true plan: id: 6 name: F points: 5000 image_cost: 200 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-01-27T07:20:12.000000Z' updated_at: '2024-08-06T15:17:14.000000Z' - id: 43 name: 'clothaire gastalia' email: test@test.com domains: null experience: null availability: null phone_number: '6464777483' address: null city: null country: null about_me: null status: inactive bio: null verified: false plan: id: 3 name: C points: 20000 image_cost: 500 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-08-07T15:54:07.000000Z' updated_at: '2024-08-07T15:54:07.000000Z' - id: 28 name: dzerfrf email: jiwiw14689@picdv.com domains: null experience: 4 availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 2 name: B points: 25000 image_cost: 600 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-04-24T12:39:30.000000Z' updated_at: '2024-04-24T12:39:30.000000Z' - id: 3 name: 'emape CAM' email: emapecam237@gmail.com domains: null experience: null availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 6 name: F points: 5000 image_cost: 200 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-01-27T07:03:19.000000Z' updated_at: '2024-01-27T07:03:19.000000Z' - id: 38 name: 'Emapecam 237' email: emapecam@gmail.com domains: null experience: null availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null verified: false plan: id: 6 name: F points: 5000 image_cost: 200 created_at: '2023-10-12T08:57:54.000000Z' updated_at: '2023-10-12T08:57:54.000000Z' consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-05-05T09:50:23.000000Z' updated_at: '2024-05-05T09:50:23.000000Z' items: type: object properties: id: type: integer example: 33 name: type: string example: 'Amidou Hyacinthe' email: type: string example: babanaamidou@gmail.com domains: type: string example: null experience: type: integer example: 2 availability: type: string example: null phone_number: type: string example: '690996179' address: type: string example: Kondengui city: type: string example: Yaoundé country: type: string example: Cameroun about_me: type: string example: null status: type: string example: active bio: type: string example: null verified: type: boolean example: false plan: type: object properties: id: type: integer example: 1 name: type: string example: A points: type: integer example: 30000 image_cost: type: integer example: 700 created_at: type: string example: '2023-10-12T08:57:54.000000Z' updated_at: type: string example: '2023-10-12T08:57:54.000000Z' consultations: type: array example: [] nbre_consultations: type: integer example: 0 is_online: type: boolean example: false created_at: type: string example: '2024-05-03T19:46:13.000000Z' updated_at: type: string example: '2024-08-06T15:32:21.000000Z' meta: type: object properties: current_page: type: integer example: 1 last_page: type: integer example: 4 total_results: type: integer example: 35 tags: - Teachers requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: required. example: 1 nullable: true filter_value: type: string description: '' example: officia nullable: true domain_id: type: integer description: 'The id of an existing record in the skills table.' example: 6 nullable: true '/api/teachers/{id}': get: summary: "Afficher les infos d'un Enseignant" operationId: afficherLesInfosDunEnseignant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: id: 3 name: 'emape CAM' email: emapecam237@gmail.com solde: 0 domains: null experience: null availability: null phone_number: null address: null city: null country: null about_me: null status: active bio: null photo: 'https://waklass.com/assets/images/avatars/unknown.png' verified: false plan: id: 6 name: F consultations: [] nbre_consultations: 0 is_online: false created_at: '2024-01-27T07:03:19.000000Z' updated_at: '2024-01-27T07:03:19.000000Z' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: id: type: integer example: 3 name: type: string example: 'emape CAM' email: type: string example: emapecam237@gmail.com solde: type: integer example: 0 domains: type: string example: null experience: type: string example: null availability: type: string example: null phone_number: type: string example: null address: type: string example: null city: type: string example: null country: type: string example: null about_me: type: string example: null status: type: string example: active bio: type: string example: null photo: type: string example: 'https://waklass.com/assets/images/avatars/unknown.png' verified: type: boolean example: false plan: type: object properties: id: type: integer example: 6 name: type: string example: F consultations: type: array example: [] nbre_consultations: type: integer example: 0 is_online: type: boolean example: false created_at: type: string example: '2024-01-27T07:03:19.000000Z' updated_at: type: string example: '2024-01-27T07:03:19.000000Z' tags: - Teachers parameters: - in: path name: id description: 'Optional parameter. required.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 /api/admin/teachers: post: summary: 'Ajouter un enseignant' operationId: ajouterUnEnseignant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Teachers requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: vel nullable: false plan: type: integer description: 'The id of an existing record in the plans table.' example: 12 nullable: false domains: type: string description: '' example: incidunt nullable: false experience: type: integer description: '' example: 20 nullable: true availability: type: string description: '' example: ut nullable: true bio: type: string description: '' example: modi nullable: true verified: type: boolean description: '' example: false nullable: false email: type: string description: 'Must be a valid email address.' example: kasandra73@example.org nullable: false password: type: string description: 'Must be at least 8 characters.' example: $G@4LDy/M2;m nullable: true phone_number: type: string description: '' example: voluptatibus nullable: false gender: type: string description: '' example: F nullable: false enum: - M - F address: type: string description: '' example: impedit nullable: true country: type: string description: '' example: rerum nullable: true city: type: string description: '' example: velit nullable: true about_me: type: string description: '' example: omnis nullable: true required: - name - plan - domains - verified - email - phone_number - gender '/api/admin/teachers/{id}': put: summary: "Mettre à jour les infos d'un enseignant" operationId: mettreJourLesInfosDunEnseignant description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: false message: 'Unauthorized access' statusCode: 403 properties: success: type: boolean example: false message: type: string example: 'Unauthorized access' statusCode: type: integer example: 403 tags: - Teachers requestBody: required: true content: application/json: schema: type: object properties: verified: type: boolean description: '' example: true nullable: false status: type: string description: '' example: active nullable: false enum: - active - inactive required: - verified - status parameters: - in: path name: id description: 'Optional parameter. required.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 /api/teacher/withdrawalsall: post: summary: "Lister les retraits d'un Enseignant" operationId: listerLesRetraitsDunEnseignant description: '' parameters: [] responses: 200: description: '' content: text/plain: schema: type: string example: "{\n\"success\": true,\n\"statusCode\": 201,\n\"meta\":{\n \"current_page\":1,\n \"last_page\":2,\n \"total_results\":16\n}\n\"data\": [\n \"id\" : 10,\n \"tracking_code\" : \"WTN6497452\",\n \"payment_operator\" : \"MTN Mobile Money\",\n \"user\" : {...},\n \"status\" : \"success\",\n \"type\" : \"withdrawal\",\n \"amount\" : 15000,\n \"date_transaction\" : \"04-05-2024 15:30:45\",\n \"ref\" : \"987qsd456qsd\",\n \"phone_number\" : \"237 601 020 304\",\n \"created_at\" : \"04-05-2024 15:30:45\",\n \"updated_at\" : \"04-05-2024 15:30:45\",\n ]\n}" tags: - Teachers requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: required. example: 1 nullable: false /api/teacher/withdrawals/init: post: summary: 'Initier un retrait de crédit' operationId: initierUnRetraitDeCrdit description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: "Retrait initié avec succès. Veuillez attendre la confirmation de l'admin." properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: string example: "Retrait initié avec succès. Veuillez attendre la confirmation de l'admin." tags: - Teachers requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: required. example: 'John Doe' nullable: false phone_number: type: string description: required. example: '601 020 304' nullable: false amount: type: string description: required. example: '15000' nullable: false payment_operator: type: integer description: required. example: 1 nullable: false /api/transactionsall: post: summary: 'Lister les transactions en fonction de celui qui demande (student/teacher/admin)' operationId: listerLesTransactionsEnFonctionDeCeluiQuiDemandestudentteacheradmin description: '' parameters: [] responses: 200: description: '' content: text/plain: schema: type: string example: "{\n \"success\": true,\n \"statusCode\": 200,\n \"data\": [\n {\n \"id\": 20,\n \"identifier\": \"791cbfc16f28db2ce0ec5a3f0d5d2bd4\",\n \"duration\": \"1\",\n \"amount\": 0,\n \"student\":{...},\n \"teacher\":{...},\n \"plan\":{...},\n \"total_cost\": 0,\n \"total_duration\": 0,\n \"created_at\": \"2024-05-02T15:23:01.000000Z\",\n \"updated_at\": \"2024-05-02T15:23:10.000000Z\"\n }\n ]\n }" tags: - Transactions requestBody: required: false content: application/json: schema: type: object properties: pageItems: type: integer description: required. example: 1 nullable: true student_id: type: integer description: 'The id of an existing record in the students table.' example: 14 nullable: true teacher_id: type: integer description: 'The id of an existing record in the teachers table.' example: 8 nullable: true service_id: type: integer description: 'The id of an existing record in the services table.' example: 3 nullable: true plan_id: type: integer description: 'The id of an existing record in the plans table.' example: 8 nullable: true filter_value: type: string description: '' example: inventore nullable: true '/api/transactions/{id}': get: summary: "Afficher les détails d'une transaction" operationId: afficherLesDtailsDuneTransaction description: '' parameters: [] responses: 200: description: '' content: text/plain: schema: type: string example: "{\n \"success\": true,\n \"statusCode\": 200,\n \"data\": {\n \"id\": 20,\n \"identifier\": \"791cbfc16f28db2ce0ec5a3f0d5d2bd4\",\n \"duration\": \"1\",\n \"amount\": 0,\n \"student\":{...},\n \"teacher\":{...},\n \"plan\":{...},\n \"total_cost\": 0,\n \"total_duration\": 0,\n \"created_at\": \"2024-05-02T15:23:01.000000Z\",\n \"updated_at\": \"2024-05-02T15:23:10.000000Z\"\n }\n }" tags: - Transactions parameters: - in: path name: id description: 'Optional parameter. required.' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 20 /api/skilsall: post: summary: 'Lister les domaines de compétence' operationId: listerLesDomainesDeComptence description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: statusCode: 200 success: true data: [] meta: current_page: 1 last_page: 1 total_results: 0 properties: statusCode: type: integer example: 200 success: type: boolean example: true data: type: array example: [] meta: type: object properties: current_page: type: integer example: 1 last_page: type: integer example: 1 total_results: type: integer example: 0 tags: - 'User Profile' requestBody: required: false content: application/json: schema: type: object properties: filter_value: type: string description: '' example: ut nullable: true /api/user: get: summary: "Récupérer les infos de l'utilsiateur authentifié" operationId: rcuprerLesInfosDeLutilsiateurAuthentifi description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: success: true statusCode: 200 data: id: 9 name: 'Ngeryi Andy' email: ngeryiandy05@gmail.comm solde: 819425 level_study: null subjects_interest: Management phone_number: null photo: 'https://waklass.com/uploads/profiles/image_1704679696862.jpg' address: null city: null country: null about_me: 'Love reading and understanding business concepts' status: active created_at: '2024-01-27T06:57:32.000000Z' updated_at: '2024-02-01T22:23:58.000000Z' properties: success: type: boolean example: true statusCode: type: integer example: 200 data: type: object properties: id: type: integer example: 9 name: type: string example: 'Ngeryi Andy' email: type: string example: ngeryiandy05@gmail.comm solde: type: integer example: 819425 level_study: type: string example: null subjects_interest: type: string example: Management phone_number: type: string example: null photo: type: string example: 'https://waklass.com/uploads/profiles/image_1704679696862.jpg' address: type: string example: null city: type: string example: null country: type: string example: null about_me: type: string example: 'Love reading and understanding business concepts' status: type: string example: active created_at: type: string example: '2024-01-27T06:57:32.000000Z' updated_at: type: string example: '2024-02-01T22:23:58.000000Z' tags: - 'User Profile' /api/profile: post: summary: "Mise à jour du profil de l'utilisateur authentifié" operationId: miseJourDuProfilDeLutilisateurAuthentifi description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: success: false message: 'Accès non autorisé, veuillez vous authentifier' statusCode: 401 properties: data: type: object properties: success: type: boolean example: false message: type: string example: 'Accès non autorisé, veuillez vous authentifier' statusCode: type: integer example: 401 tags: - 'User Profile' requestBody: required: true content: multipart/form-data: schema: type: object properties: name: type: string description: '' example: veniam nullable: false phone: type: string description: '' example: distinctio nullable: true country: type: string description: '' example: nam nullable: true city: type: string description: '' example: aut nullable: true photo: type: string format: binary description: 'Must be an image. Must not be greater than 2048 kilobytes.' nullable: true address: type: string description: '' example: eum nullable: true about_me: type: string description: 'Must not be greater than 200 characters.' example: htv nullable: true domains: type: array description: '' example: - 3 items: type: integer experience: type: integer description: 'Must be at least 0.' example: 26 nullable: true plan: type: integer description: 'The id of an existing record in the plans table.' example: 14 nullable: true availability: type: string description: 'Must not be greater than 200 characters.' example: eaqpebvfot nullable: true bio: type: string description: '' example: aut nullable: true level_study: type: string description: '' example: quo nullable: true subjects_interest: type: string description: '' example: sit nullable: true required: - name - domains /api/update-password: put: summary: 'Mettre à jour son mot de passe' operationId: mettreJourSonMotDePasse description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: success: false message: 'Accès non autorisé, veuillez vous authentifier' statusCode: 401 properties: data: type: object properties: success: type: boolean example: false message: type: string example: 'Accès non autorisé, veuillez vous authentifier' statusCode: type: integer example: 401 tags: - 'User Profile' requestBody: required: true content: application/json: schema: type: object properties: old_password: type: string description: '' example: deleniti nullable: false password: type: string description: 'Must be at least 8 characters.' example: 'e:UeK-?$eC!' nullable: false required: - old_password - password /api/update-device-key: post: summary: "Enregistrer le device_key d'un appareil mobile pour notifications" operationId: enregistrerLeDeviceKeyDunAppareilMobilePourNotifications description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: data: success: false message: 'Accès non autorisé, veuillez vous authentifier' statusCode: 401 properties: data: type: object properties: success: type: boolean example: false message: type: string example: 'Accès non autorisé, veuillez vous authentifier' statusCode: type: integer example: 401 tags: - 'User Profile' requestBody: required: false content: application/json: schema: type: object properties: device_key: type: string description: required. example: bd38f262-e205-4c17-934f-e0d2a7a17078 nullable: false tags: - name: Admin description: '' - name: 'Appels audio/vidéo' description: '' - name: Authentication description: '' - name: Chat-Messagerie description: '' - name: CountryStateCity description: '' - name: Favoris description: '' - name: Notifications description: '' - name: 'Payment Operators' description: '' - name: Plans description: '' - name: 'Stats Account' description: '' - name: Students description: '' - name: 'Support Technique' description: '' - name: Teachers description: '' - name: Transactions description: '' - name: 'User Profile' description: '' components: securitySchemes: default: type: http scheme: bearer description: 'You can retrieve your token by visiting your dashboard and clicking Generate API token.' security: - default: []