# Traer un curso online Endpoint: GET /learning/courses/{course_id} Version: 1.0.0 Security: ApiKeyAuth ## Path parameters: - `course_id` (integer, required) Example: 11779 ## Response 200 fields (application/json): - `status` (string, required) Example: "OK" - `data` (object, required) - `data.id` (integer, required) Example: 11939 - `data.business_id` (integer, required) Example: 265 - `data.type` (string, required) Tipo de curso. Example: "online" - `data.product_id` (integer, required) Example: 11939 - `data.code` (any) - `data.status` (string, required) Estado del curso (por ejemplo published, draft). Example: "published" - `data.language` (string, required) Example: "es" - `data.name` (string, required) Example: "Curso desde Mobile" - `data.creation_date` (string, required) Example: "2020-09-23 18:35:16" - `data.description` (any) - `data.slug` (string, required) Example: "curso-desde-mobile" - `data.release_date` (any) - `data.categories` (any) - `data.image` (any) - `data.images` (array, required) Example: [] - `data.images.file_name` (string, required) Example: "WGwJyW_615605ac1da50.jpg" - `data.images.source` (string, required) Example: "http://cdn.example.com/develop/business/265/products/WGwJyW_615605ac1da50.jpg" - `data.images.order` (integer, required) Example: 1 - `data.total_rating` (integer, required) - `data.total_reviews` (integer, required) - `data.access_type` (string, required) Tipo de acceso (free / paid). Example: "free" - `data.completion_certificate` (boolean, required) - `data.forum_enabled` (boolean, required) - `data.total_enrollments` (integer, required) Example: 5 - `data.requeriments` (array) Requisitos del curso. - `data.target_students` (array) - `data.learning_goals` (array) - `data.forum_category_id` (integer, required) - `data.promotional_video` (array) - `data.sequential_progress` (boolean, required) - `data.instructors` (array, required) En el ejemplo viene vacío; se deja genérico. Example: [] - `data.modules` (array, required) - `data.modules.lessons` (array, required) - `data.modules.lessons.url` (string, required) Example: "/curso/introduccion-a-huerta-organica/lesson/258" - `data.modules.lessons.content_type` (string, required) Tipo de contenido (video, pdf, audio, multimedia, etc.) Example: "video" - `data.modules.lessons.content_duration` (string, required) Duración (en segundos) como string según API. Example: "124" - `data.modules.lessons.free_access` (boolean, required) - `data.modules.lessons.downloadable` (boolean, required) - `data.modules.lessons.promotional_description` (any) - `data.discussions` (array, required) - `data.discussions.title` (string, required) Example: "Muy buen tema" - `data.discussions.content` (string, required) - `data.discussions.modification_date` (string, required) Example: "2022-10-07 18:37:56" - `data.discussions.total_replies` (integer, required) - `data.discussions.public` (boolean, required) Example: true - `data.discussions.answers_public` (boolean, required) Example: true - `data.discussions.member` (object, required) - `data.discussions.member.last_name` (string, required) Example: "Smith" - `data.discussions.member.avatar_filename` (any, required) Example: "https://cdn.example.com/develop/business/265/customers/265_avatar_615478fbbd029.png" - `data.subscriptions_billing_plans` (array, required) En el ejemplo viene vacío; se deja genérico. Example: [] - `data.certificate` (any) ## Response 400 fields (application/json): - `status` (string, required) Example: "ERROR" - `message` (string, required) Example: "Descripción del error" - `errors` (array, required) - `errors.code` (integer, required) Example: 4000 - `errors.extra_data` (array) Datos extra para debug/validación (puede venir vacío). ## Response 401 fields (application/json): - `status` (string, required) Example: "ERROR" - `message` (string, required) Example: "Descripción del error" - `errors` (array, required) - `errors.code` (integer, required) Example: 4000 - `errors.extra_data` (array) Datos extra para debug/validación (puede venir vacío).