List Courses
GET
‎https://<domain>/<api prefix>/<version>/education-platform/available/course/
This API endpoint will return a list of available and subscribed courses.
Query Parameters
{ 'name': <course title>, 'category': <category>, 'price': <price> }
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {
"courses": [
{
"id": <id>,
"slug": "<slug>",
"title": "<cource_title>",
"thumbnail":"<image>",
"short_description": "<short_description>",
"long_description": "<long_description>",
"detail_url": "<detail_url>",
"authors": [
{
"name": "<author_name>"
}
],
"duration": "<duration>",
"progress": <progress>,
"skills": [
"<skills>"
],
"price": <price>,
"course_type": "<course_type>",
"total_reviews": "<reviews_count>"
},
],
"filterParams": {
"category": [
{
"pk": <id>,
"name": "<name>",
"slug": "<slug>"
},
],
"price": [
{
"label": <label>,
"value": <value>
},
],
"sortOptions": [
{
"label": "<label>",
"value": "<value>"
},
]
}
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/available/course/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/available/course/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
List Subscribed Courses
GET
‎https://<domain>/<api prefix>/<version>/education-platform/dashboard/my-courses/
This API endpoint will return a list of subscribed courses.
string - Bearer access-token
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {
"courses": [
{
"id": <id>,
"slug": "<slug>",
"title": "<cource_title>",
"thumbnail":"<image>",
"short_description": "<short_description>",
"long_description": "<long_description>",
"detail_url": "<detail_url>",
"authors": [
{
"name": "<author_name>"
}
],
"duration": "<duration>",
"progress": <progress>,
"skills": [
"<skills>"
],
"price": <price>,
"course_type": "<course_type>",
"total_reviews": "<reviews_count>"
},
]
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/dashboard/my-courses/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/dashboard/my-courses/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access-token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
List Internal Courses
GET
‎https://<domain>/<api prefix>/<version>/education-platform/dashboard/internal-courses/
This API endpoint will return a list of internal courses
string - Bearer access-token
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {
"courses": [
{
"id": <id>,
"slug": "<slug>",
"title": "<cource_title>",
"thumbnail":"<image>",
"short_description": "<short_description>",
"long_description": "<long_description>",
"detail_url": "<detail_url>",
"authors": [
{
"name": "<author_name>"
}
],
"duration": "<duration>",
"progress": <progress>,
"skills": [
"<skills>"
],
"price": <price>,
"course_type": "<course_type>",
"total_reviews": "<reviews_count>"
},
]
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/dashboard/internal-courses/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access-token>'
},
formData: {}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/dashboard/internal-courses/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Subscribe Course
POST
‎https://<domain>/<api prefix>/<version>/education-platform/subscribe/free-course/
This API endpoint will subscribe to a free course.
Request Body
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/subscribe/free-course/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
'course_slug': '<course_slug>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/subscribe/free-course/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('course_slug' => '<course_slug>'),
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
Unsubscribe Course
POST
‎https://<domain>/<api prefix>/<version>/education-platform/unsubscribe/course/
This API endpoint will unsubscribe to a course.
Request Body
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/unsubscribe/course/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
'course_slug': '<course_slug>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/unsubscribe/course/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('course_slug' => '<course_slug>'),
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
This field is required and it may not be blank.
Invalid course slug.
Course Detailed View
GET
‎https://<domain>/<api prefix>/<version>/education-platform/course/detailed-view/
This API endpoint will return a detailed view of the course.
Path Parameters
If requesting for details of subscribed course, Must add subscribed params as True.
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {
if the course is not subscribed
"course_slug": "<course_slug>",
"author": "<author>",
subscriber_count": <subscriber_count>,
"course_content": {
"id": <id>,
"language": "<language>",
"title": "<title>",
"short_description": "<short_description>",
"long_description": "<long_description>",
"is_set": <is_set>
},
"course_type": "<course_type>",
"prerequisite": [
"<badg_name>"
],
"total_modules": <total_modules>,
"modules": [
{
"name": "<module_name>",
"total_chapters": <total_chapters>,
"chapters": [
{
"name": "<chapter_name>"
"is_preview": <is_preview>,
"resource_url": "<resource_url>",
"vimeo_id": "<vimeo_id>"
},
....
]
},
....
],
"duration": "<duration>",
"subcribed": <subcribed>,
"eligible": <eligible>,
"eligibility": {
"ranks": [<eligible_rank_names>],
"groups": [<eligible_groups_names>]
},
"currency": "<currency>",
"first_preview": {
"id": <id>,
"number": <chapter_number>,
"resource_url": "<resource_url>",
"name": "<name>",
"description": "<description>",
"long_description": "<long_description>",
"duration": "<duration>",
"is_preview": <is_preview>,
"slug": "<slug>",
"module": <module_number>
},
if the course is subscribed
"course_id": <course_id>,
"title": "<title>",
"duration": "<duration>",
"subscriber_count": <subscriber_count>,
"badge_list": [
"<badge_list>"
],
"course_slug": "<course_slug>",
"author": "<author>",
"progress": <progress>,
"last_visited": {
"id": <id>,
"number": <chapter_number>,
"resource_url": "<resource_url>",
"name": "<name>",
"description": "<description>",
"long_description": "<long_description>",
"duration": "<duration>",
"is_preview": <is_preview>,
"slug": "<slug>",
"module": <module_number>
},
"modules": [
{
"module": <module_number>,
"name": "<name>",
"description": "<description>",
"total_chapters": <total_chapters>,
"chapters": [
{
"number": <chapter_number>,
"slug": "<slug>",
"name": "<name>",
"description": "<description>",
"long_description": "<long_description>",
"duration": "<duration>",
"is_preview": <is_preview>,
"resource_url": "<resource_url>",
"vimeo_id": "<vimeo_id>",
"module_number": <module_number>
},
]
},
...
],
common data
"review_data": [
{
"id": <id>,
"object_pk": "<object_pk>",
"comment": "<comment>",
"rating": <rating>,
"user__first_name": "<user__first_name>",
"user__last_name": "<user__last_name>"
}
],
"ratings_data": {
"rating_average": <ratings_data>,
"rating_average_num": <rating_average_num>,
"rating_total": <rating_total>,
"review_total": <review_total>
},
"already_reviewed": <already_reviewed>,
"already_reviewed_data": {
"id": <id>,
"object_pk": "<object_pk>",
"comment": "<comment>",
"rating": <rating>,
"user__first_name": "<user__first_name>",
"user__last_name": "<user__last_name>"
}
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/course/detailed-view/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/course/detailed-view/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
This course is not pusblished, Permission denied.
This field is required and it may not be blank.
Invalid slug.
Previous and Next Chapters
GET
‎https://<domain>/<api prefix>/<version>/education-platform/chapter/next-previous/
This API endpoint will return next and previous chapter details of selected chapter
Query Parameters
HTTP/1.1 200 OK
Content-Type: application/json
{
"status_code": 200,
"errors": {},
"data": {
"next_chapter": {
"id": <id>,
"number": <chapter_number>,
"resource_url": "<resource_url>",
"name": "<name>",
"description": "<description>",
"long_description": "<long_description>",
"duration": "<duration>",
"is_preview": <is_preview>,
"slug": "<slug>",
"module": <module_number>
},
"previous_chapter": {
"id": <id>,
"number": <chapter_number>,
"resource_url": "<resource_url>",
"name": "<name>",
"description": "<description>",
"long_description": "<long_description>",
"duration": "<duration>",
"is_preview": <is_preview>,
"slug": "<slug>",
"module": <module_number>
}
}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/chapter/next-previous/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/chapter/next-previous/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
Status Code
Error Type
Field
Description
This field is required and it may not be blank.
Invalid slug.
You are not subscribed this course.
Module and chapter number is required.
Update Course Progress
POST
‎https://<domain>/<api prefix>/<version>/education-platform/course/progress/
This API endpoint will update course progress.
Request Body
HTTP/1.1 200 OK
Content-Type: application/json
Body:
{
"status_code": 200,
"errors": {},
"data": {}
}
Sample Code
Node
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/course/progress/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>',
},
formData: {
'course_slug': '<course_slug>',
'chapter_slug': '<chapter_slug>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/course/progress/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('course_slug' => '<course_slug>','chapter_slug' => '<chapter_slug>'),
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
Status Code
Error Type
Field
Description
This field is required and it may not be blank.
Invalid course slug.
Course Review
To add a review for subscribed course use the same endpoint for product review, use course_id as a bundle in params.
Get Certificate
GET
‎https://<domain>/<api prefix>/<version>/education-platform/get/certificate/
This API endpoint is used to get a certificate of a completed subscribed course.
Query Parameters
Sample Code
Node
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://<domain>/<api prefix>/<version>/education-platform/get/certificate/',
'headers': {
'apikey': '<apikey>',
'Authorization': 'Bearer <access token>'
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<domain>/<api prefix>/<version>/education-platform/get/certificate/',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'apikey: <apikey>',
'Authorization: Bearer <access token>'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Error Responses
Status Code
Error Type
Field
Description
This field is required and it may not be blank.
Invalid course slug.
Course is not completed yet.